\newcommand 导致非法计量单位(插入 pt)

\newcommand 导致非法计量单位(插入 pt)

我正在定义宽度和高度的宏,以供我的文档中的几个图使用,如下所示:

\newcommand{\tikzwidth}{.4\columnwidth}
\newcommand{\tikzheight}{.8\tikzwidth}

我认为pdflatex只是用 替换整个命令序列\tikzheight,结果是.8.4\columnwidth

有没有办法在再次“缩小”之前告诉它pdflatex进行处理?\tikzwidth

答案1

如果使用长度或尺寸寄存器,那么您可以使用实数作为因子:

\newdimen\tikzwidth
\setlength{\tikzwidth}{.4\columnwidth}
\newdimen\tikzheight
\setlength{\tikzheight}{.8\tikzwidth}

\dimexpr或者可以使用e-TeX :

\newcommand*{\tikzheight}{.8\dimexpr\tikzwidth\relax}

相关内容