我现在正在写我的简历,我的空间不够了。我希望在整个CV模板中更改字体,但我希望按比例更改。例如,有些标题是12pt,副标题是11pt。我希望能够将它们更改为0.9 * 12 pt, 0.9 * 11 pt,也就是相应地缩放它们。我想更改
fontsize{12pt}{1em}
fontsize{(0.9 * 12)pt}{1em}
,其中fontsize是来自anyfontsize包的命令。
但是我最终得到了奇怪的结果和许多日志/错误。有没有一种方法可以确保'*'会产生一个数字,就像在"regular"编程语言吗?
我尝试过的其他事情包括:
newcommand{myfont}[2]{fontsize{0.9*#1pt}{0.9*#2}em}
myfont{12}{1}
但是它不像我期望的那样工作。我还尝试添加括号()并创建新命令newcommand{mymultiply}[2]{#1*#2}
是否有一种优雅而整洁的方法来做到这一点?有"常规"吗?在LaTeX中进行实际计算的方法,还是我应该避免这种方法?提前感谢!
三种可能的方法:
-
我会避免使用硬编码字体大小。如果你使用像
smaller
或larger
这样的字体命令,你可以简单地使用像10pt
或12pt
这样的documentclass选项改变整体大小,文档中的所有字体都会缩放,包括部分等。 -
如果您将基本字体大小存储在长度中,则可以使用
dimexpr
进行计算 -
如果出于某种原因不想创建新的长度,可以使用expl3命令进行计算
documentclass[
%10pt
12pt
]{article}
usepackage{anyfontsize}
ExplSyntaxOn
cs_new_eq:NN fpeval fp_eval:n
ExplSyntaxOff
begin{document}
section{section}
section
newlength{foo}
setlength{foo}{12pt}
fontsize{dimexpr.9foorelax}{dimexpr1.08foo relax}selectfont
test
fontsize{dimexprfpeval{.9*12}ptrelax}{dimexprfpeval{.9*1.2*12}ptrelax}selectfont
test
end{document}