TeX/relax
外观
< TeX
\relax
唐纳德·克努特将其描述为告诉 TeX "什么也不做"。乍一看,这似乎是一个毫无意义的控制序列。然而,一些控制序列会作用于其后的标记,而 \relax 会告诉 TeX 停止接受此控制序列的新标记。有时需要这样做来解决其他情况下可能出现歧义的表达式。
以下代码看起来没什么问题,但是...
\begin{tabular}{ll} Number & Text \\ [a] & lorem ipsum \\ [b] & lorem ipsum \\ \end{tabular}
... TeX 会抛出一个错误 "! Missing number, treated as zero. <to be read again> a"。TeX 只是忽略了行尾,并将标记 "\\[a]" 读取为 \\[length]。为了阻止 TeX 读取这些东西,只需告诉它 \relax
\begin{tabular}{ll} Number & Text \\ \relax [a] & lorem ipsum \\ \relax [b] & lorem ipsum \\ \end{tabular}
这样 TeX(以及你)就能保持冷静。