创建可变数量空格的命令

创建可变数量空格的命令

基本上,我的问题是我想将命令的参数视为数字(并对其执行算术运算),但我只能将其视为字符串。具体来说,我希望我的命令根据参数插入可变数量的空格。我试过这个

\newcommand{\spc}[1]{\-\hspace{.5 * #1 cm}} 

这当然是行不通的,而且

\newcommand{\spc}[1]{ \foreach \x in {0, \dots, #1} {\hspace{.5 cm}}}

这也不起作用。该怎么办?

答案1

我刚刚将您的改为*\dimexpr通过这样做,#1 cm被评估为长度,并且然后乘以.5

\documentclass{article}
\newcommand{\spc}[1]{\-\hspace{.5 \dimexpr#1 cm}} 
\begin{document}
Testing\spc{1}Testing

Testing\spc{2}Testing

Testing\spc{5}Testing
\end{document}

在此处输入图片描述

答案2

TeX 语法允许<number>\dimen执行类似乘法的操作。你可以尝试:

\newdimen\spcdimen \spcdimen=.5cm
\def\spc#1{\hskip #1\spcdimen \relax}

Testing\spc{1}Testing

Testing\spc{2}Testing

Testing\spc{5}Testing

\bye

相关内容