ampersand 命令是否可以与 newcommand 作为别名而没有问题?

ampersand 命令是否可以与 newcommand 作为别名而没有问题?

为了便于在 XML 中编写 LaTeX 片段(其中<>&为保留字符),预文本规范允许在数学元素中使用\lt\gt和,在 LaTeX 构建中\amp实现为\newcommand{\lt}{<}、、\newcommand{\gt}{>}\newcommand{\amp}{&}

我的天真问题是,是否\newcommand{\amp}{&}足以完美复制源中实际的行为&。这在实践中似乎有效,但我(也许不必要地)担心存在一些模糊的极端情况。

答案1

尤其是在鼓励结构良好的标记的前置文档中,定义可能足够安全,但\amp确实会丢失一些神奇的对齐属性&。使用的定义\let会更接近,尽管如果您比较下面的结果,如果您取消注释标记的行,您可能会决定无论如何都更喜欢\amp使用。&

\documentclass{article}

\newcommand\amp{&}
\let\ampb&



\begin{document}

\begin{tabular}{cc}  
% aaa \iffalse & b\fi & c \\ % unrecoverable mess of errors
ccc & ddd
\end{tabular}

\begin{tabular}{cc}  
aaa \iffalse\amp b\fi & c \\ % no error
ccc & ddd
\end{tabular}


\begin{tabular}{cc}  
% aaa \iffalse\ampb b\fi & c \\ % unrecoverable mess of errors
ccc & ddd
\end{tabular}
\end{document}

相关内容