将命令参数乘以因子

将命令参数乘以因子

我正在尝试使用它calc来执行用户定义命令的参数的基本乘法,如下所示:

\def\Verdana#1{
 \normalfont
 \fontsize{#1}{#1 * \real{1.2}}
 \VerdanaFont
 \selectfont}

但它不能正常工作。不确定长度是否被四舍五入为整数,或者乘法calc是否不能对命令参数进行运算。

编辑1:我尝试将 1.2 改为 12,但输出结果相同。因此,这并不是舍入问题。看起来更像是calc不喜欢乘以参数值。

编辑2:临时解决方案:

 \def\Palatino#1{
   \newlength{\tmpLength}
   \setlength{\tmpLength}{#1 * \real{1.2}}
   \normalfont\fontsize{#1}{\tmpLength}\PalatinoFont\selectfont}

不回答,以防有人可以解释为什么需要长度。

答案1

目前还不清楚你想要实现什么,但你可以做到

\documentclass{article}
\usepackage{fontspec,xfp}
\usepackage{lipsum}

\newfontfamily{\PalatinoFont}{TeX Gyre Pagella}

\newcommand{\Palatino}[1]{%
  \normalfont
  \fontsize{#1}{\fpeval{1.2*(#1)}}%
  \PalatinoFont
}

\begin{document}

\Palatino{15}\lipsum[2]

\Palatino{5}\lipsum[3]

\end{document}

相关内容