![dimexpr:与宏中的常数实因子相乘](https://linux22.com/image/272976/dimexpr%EF%BC%9A%E4%B8%8E%E5%AE%8F%E4%B8%AD%E7%9A%84%E5%B8%B8%E6%95%B0%E5%AE%9E%E5%9B%A0%E5%AD%90%E7%9B%B8%E4%B9%98.png)
我想使用 将宏中的常数与分母相乘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 相乘?确实提到了这个限制。)