为了便于在 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}