我正在尝试显示一系列方程式,这些方程式明显居中,因此无需从 align 环境中获得任何对齐。我以为gather
可以完成这项工作,但是当我尝试使用时mathcal
,我收到错误:
! LaTeX Error: \mathcal allowed only in math mode.
使用 align 可以正常工作。我做错了什么?
要重现的最少代码:
\documentclass[12pt]{article}
\usepackage{a4}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{align*}
p(f) &= \mathcal{N}\left(f; 0, K\right)
\end{align*}
\begin{gather}
p(f) &= \mathcal{N}\left(f; 0, K\right)
\end{gather}
\end{document}
答案1
由于多种原因,AMS 环境中的一些错误捕获很尴尬;这就是一个例子。错误实际上并不在\mathcal
;事实上,如果你删除它,第一个错误消息是
! Missing $ inserted.
如果你还删除\left
and \right
(它本来就不应该存在),错误将变成
! Extra alignment tab has been changed to \cr.
嗯, 有点问题&
。这才是真正的问题:该gather
环境没有对齐点,因此&
不能在其中使用。
以下是一个例子:
\documentclass[12pt,a4paper]{article}
\usepackage{graphicx}
\usepackage{amsmath}
\usepackage{amssymb}
\begin{document}
\begin{align*}
p(f) &= \mathcal{N}(f; 0, K) \\
q(f) &= \mathcal{N}(f; K, 0) + 3
\end{align*}
\begin{gather}
p(f) = \mathcal{N}(f; 0, K) \\
q(f) = \mathcal{N}(f; K, 0) + 3
\end{gather}
\end{document}
请注意,我删除了\left
此处仅造成损害的 。我还删除了对过时和弃用的包\right
的调用。a4
当只有一个公式时,不要使用align
或gather
代替equation
(或):它们用于多行显示。equation*