建立可變數量的空格的命令

建立可變數量的空格的命令

基本上我的問題是我想將命令的參數視為數字(並對其執行算術運算),但我只能將其視為字串。特別是,我希望我的命令根據參數插入可變數量的空格。我試過這個

\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

相關內容