dimexpr:与宏中的常数实因子相乘

dimexpr:与宏中的常数实因子相乘

我想使用 将宏中的常数与分母相乘dimexpr。使用实数时,小数点和小数位排版在结果后面,结果是与所用常数的底值相乘。

\documentclass{report}
\begin{document}
  \def\const{1.9}
  \noindent
  \the\dimexpr \linewidth*\const\relax \newline
  \the\dimexpr \linewidth*\numexpr\const\relax\relax \newline
  \the\linewidth
\end{document}

第二次乘法是尝试使用这里,将宏包装在子表达式中

答案1

\dimexpr不允许任意计算:你需要以正确的形式进行计算。特别是,如果你想将一个维度乘以一个小数,那么你需要使用以下形式

<multiple><dimension>

因此你的例子将适用于

\the\dimexpr\const\linewidth\relax

而格式

\the\dimexpr\linewidth*\const\relax

\const仅当为整数时才可使用。

(链接的答案与 dimexpr 相乘?确实提到了这个限制。)

相关内容