我尝试在独立程序中使用 align 和 equation,但即使在最基本的示例中也会出现编译器错误。例如,
\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
\begin{align}
a = 1 \\
b=2
\end{align}
\end{document}
给予
1 a.tex|10 error| Missing \endgroup inserted.
2 a.tex|10 error| Missing } inserted.
3 a.tex|10 warning| Overfull \hbox (23.61913pt too wide) detected at line 10
4 a.tex|10 error| LaTeX Error: \begin{document} ended by \end{align}.
5 a.tex|10 error| Missing $ inserted.
6 a.tex|10 error| Display math should end with $$.
7 a.tex|10 error| Extra \endgroup.
8 a.tex|12 error| Too many }'s.
与 align*、equation、aligned 的结果类似。只要我将 documentclass 从 standalone 更改为 article,它就会起作用。我确信我在这里犯了一个愚蠢的错误。我的平台是 Debian,使用 TexLive 完整包(最新版)。
编辑:如果我将对齐块移到文档块之外,则不会出现任何错误(但当然,pdf 是空的)
答案1
我认为你误用了该standalone
软件包,甚至可能滥用了它。根据该standalone
软件包的用户指南,该软件包的主要(唯一?)目的是生成包含良好的对象(通常但不完全是图片),这些对象可以保存为合适文件格式的外部文件,以便随后粘贴到其他文档(例如 Word 和 PowerPoint 文件)中。它不是设计用于通过或环境standalone
生成显示的单行或多行方程式。虽然它是equation
align
可能的通过设置文档类选项来生成一些输出varwidth
,这远非最佳。
如果您希望创建显示的单行或多行方程式,则可能应该使用aligned
内联数学模式的环境。例如,
\documentclass{standalone}
\usepackage{amsmath}
\begin{document}
$\begin{aligned}
a &= 1 \\
b &= 2
\end{aligned}$
\end{document}
编译良好。