По сути, моя проблема в том, что я хочу обрабатывать аргумент команды как число (и выполнять арифметические операции с ним), но я могу заставить его обрабатываться только как строка. В частности, я хочу, чтобы моя команда вставляла переменное количество пробелов в зависимости от аргумента. Я пробовал это
\newcommand{\spc}[1]{\-\hspace{.5 * #1 cm}}
что, конечно, не работает, но также
\newcommand{\spc}[1]{ \foreach \x in {0, \dots, #1} {\hspace{.5 cm}}}
который тоже не работает. Что делать?
решение1
решение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