tikzcd 环境中什么时候允许出现空行?

tikzcd 环境中什么时候允许出现空行?

在裸环境中留一行空白tikzcd(如下所示)会产生“缺少插入 $”错误。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{tikzcd}
A

B
\end{tikzcd}
\end{document}

但是当我将tikzcd环境包装在center环境中时(如下所示),没有编译错误。

\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\begin{center}
\begin{tikzcd}
A

B
\end{tikzcd}
\end{center}
\end{document}

这是怎么回事?

答案1

为大卫的评论添加一些细节。

环境center和其他类似的“显示”环境\trivlist在内部使用该构造。(我使用 David Carlisle 的术语使用 \trivlist 和 \list 定义环境)。

所以\center定义为:

\trivlist \centering \item \relax

\trivlist而在(实际上)的定义中,对\@trivlist的重新定义为\par

\if@newlist \advance \par@deathcycles \@ne \ifnum \par@deathcycles >\@m
  \@noitemerr {\@@par }\fi \else {\@@par }\fi 

这实际上意味着\par(或空白行)\par在环境中的行为不像常规那样center,因此不会产生在tikzcd环境内部时看到的错误center

相关内容