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