我很惊讶最近一个问题的Latex代码没有引起任何错误,甚至在进一步调查时更加惊讶,Crowley's explanation似乎是真的。我对\begin{equation} ... \end{equation}
代码的直觉显然已经消失了,真正发生了什么?
考虑这个略微适应的代码:
\begin{equation}
1: e^{i\pi}+1=0
$$ 2: B\"ob $$
3: e=mc^2
\end{equation}
这似乎证明了克劳利对这种代码的解释,即“该代码对LaTeX说的是开始方程式,结束它,再次开始,排列tangens的定义并结束方程式”是对的:第1行和第3行只能在数学模式下排版,第2行只能在文本模式下排版。
Latex不应该看到\end{equation}
结束了\begin{equation}
未启动的显示数学吗?
答案 0 :(得分:2)
可能是因为环境math
和displaymath
。
我刚试过那些代码
\[\alpha$$
- 正常运作
\begin{displaymath}\alpha$$
- 错误(\begin{displaymath} ended by \end{document}
)*
\displaymath\alpha$$
- 正常运作
\displaymath\alpha\displaymath
- 错误(Bad math environment delimiter
)
\displaymath\alpha\enddisplaymath
- 工作正常。
Symetric选项产生相同的结果,所以我认为LaTeX命令定义
\newcommand{\[}{\displaymath}
\newcommand{\]}{\enddisplaymath }
\newenvironment{displaymath}{\displaymath}{enddisplaymath}
和TeX类似
"if(displaymath)
{$$ := \displaymath}
else
{$$ := \displaymath}"
也许我错了,但这对我来说似乎是合乎逻辑的。