Plain Tex 定义\quad
如下:
\def\quad{\hskip1em\relax}
为什么会有\relax
? 它通常用作无法扩展的标记,在宏扩展完成后充当“不执行任何操作”的操作。 但这种用法似乎是多余的,因为它遵循命令,即\hskip
。
宏定义\enskip
在\qquad
纯文本,以及在 Latex 中ltspace.dtx
。
这个问题毫无意义,但我想其原因还是值得了解的。
答案1
因此 \quad 在组合 \hskip 的参数时不会吃掉以下文本:
\documentclass{article}
\begin{document}
\def\quad{\hskip1em\relax}
\quad plus 1em text
\def\quad{\hskip1em}
\quad plus 1em text
\end{document}