我知道 的目的是成为/中的\crcr
一种“备份\cr
” ,因为它只在不会导致连续出现两个时添加一个。尽管如此,它似乎还是进入了序言,在那里它看起来只是 的稍长版本。例如, 的普通 Tex 定义:\halign
\valign
\cr
\halign
\cr
\matrix
*\show\matrix
> \matrix=macro:
#1->\null \,\vcenter {%
\normalbaselines \m@th \ialign {%
\hfil $##$\hfil &&\quad \hfil $##$\hfil \crcr
\mathstrut \crcr
\noalign {\kern -\baselineskip }%
#1\crcr
\mathstrut \crcr
\noalign {\kern -\baselineskip }%
}%
}\,.
(我添加了一些格式)。我不明白为什么序言会以\crcr
when结尾\cr
,效果也一样好,是仅有的TeXbook 提到的选项,在这种情况下, when\crcr
似乎不能起到备份的作用。现在,\cr
第三 \crcr
在这里确实有这个特殊的功能,但在非常简单的对齐中
\halign{#\crcr x}
尽管如此,你还是会得到“缺失\cr
插入”的错误。我在其他地方见过这个习语,所以我假设它一些但我不知道原因是什么。
答案1
对于使用 的一个解释\crcr
可能是,它让 的重新定义\cr
留给用户去决定。
@TH. 的回答就是一个例子如何使用 \valign?他重新定义\cr
了
\def\cr{\crcr\noalign{\hfil}}
这样就可以在列之间添加胶水\valign
。我认为这非常聪明。