命令参数和 latex 参数之间的算术运算

命令参数和 latex 参数之间的算术运算

我正在定义一个新命令,将两个图像并排放置,并希望在两个图像之间添加一个水平空间,该空间对应于剩余空白空间的三分之一。命令定义如下:

\newcommand{\twofig}[4]{%
\begin{center}\includegraphics[width=#2\columnwidth]{#1.png}%
\hspace{(1-#2-#4)/3 \columnwidth }%
\includegraphics[width=#4\columnwidth]{#3.png}%
\end{center} }

我不知道该用什么来解决此操作。我试过\dimexpr但总是出错。这不是正确的解决方案吗?我什么时候应该使用?\dimexpr什么时候\numexpr?etex 手册对我来说也没什么帮助。

答案1

正如 cfr 所说,不需要计算,但如果#2\columnwidth有效则#2必须是一个因子,但\numexpr需要一个整数并且\dimexpr需要一个长度,因此都无法计算(1-#2-#4)

\makebox[\textwidth]{%
\hfill
\includegraphics{...}%
\hfill
\includegraphics{...}%
\hfill}

应该做你想做的事。

一般来说你可以

\makebox[\textwidth]{%
\hspace{\stretch{1}%
\includegraphics{...}%
\hspace{\stretch{2}%
\includegraphics{...}%
\hspace{\stretch{3}%
 }

它将按照 1:2:3 的比例拉伸胶水,上面的例子当然相当于让每个参数\stretch都是1

相关内容