以字符串形式传递长度而不是测量值

以字符串形式传递长度而不是测量值

我想以字符串的形式传递长度测量值,即

\setlength{string}

或者

\setlength{'string'}

代替

\setlength{2.5cm}

我似乎记得在 LaTeX 的某个地方看到过类似的东西,但找不到了。感谢您的意见!

答案1

LaTeX 内核提供

\settowidth
\settoheight
\settodepth

你可能想要第一个:

\newlength{\somelength}

\settowidth{\somelength}{some text}

请注意,最好在之后将长度设置为与文本相关的宽度\begin{document}。因此,如果您需要\somelength在序言中进行宏定义,则应执行

\newcommand{\foo}{...depending on \somelenght...}

\AtBeginDocument{\settowidth{\somelength}{some text}}

相关内容