如果您构建以下代码,则第一个方程式不会居中,除非您至少删除最后一个字母(x
),而第二个方程式(较长)则居中。注意:第一个方程式以\,
(或\;
等)开头。如果您使用\documentclass{book}
或,则\documentclass{article}
一切正常。(例如,如果您有一个以\,
(\def\xxx{\,...}
)开头的宏,则会出现问题:\begin{equation} \xxx
等)
\documentclass{svmono} % svmono 2006/09/01 v4.16
%
\begin{document}
%
\begin{equation} % first eq.
\,abcdefghilmnopqstuvwxyz abcdefghilmnopqstuvwxyz abx
\end{equation}
%
\begin{equation} % second eq.
abcdefghilmnopqstuvwxyz abcdefghilmnopqstuvwxyz abcdefghi
\end{equation}
%
\end{document}
答案1
等式开始时的胶水就是罪魁祸首。
首先使用纯 TeX 的最小示例,因为问题与 LaTeX 无关:
\nopagenumbers
\hsize=333pt
$$
\,abcdefghilmnopqstuvwxyz abcdefghilmnopqstuvwxyz abx
\eqno (0.1)
$$
$$
abcdefghilmnopqstuvwxyz abcdefghilmnopqstuvwxyz abcdefghi
\eqno (0.2)
$$
\bye
来自“The TeXbook”的“第 19 章显示方程”中显示方程算法的相关部分:
TeX 检查公式、方程编号以及公式和方程编号之间的分隔空间(四边形)是否适合可用宽度。两个方程都是这种情况。
TeX 尝试将公式居中没有考虑到公式编号。这两种情况都会失败,因为公式太长了。公式编号和公式对于 TeX 来说太“近”,也就是说,它们之间的间距小于公式编号的宽度。换句话说,对于文本宽度居中的公式,公式和四倍的公式编号必须放在一行中。
然后方程在剩余空间中正常居中。这是第二个方程的情况。
但是,如果公式以粘连符开头(
\,
是这样的粘连符),则 TeX 会假定用户会注意间距,并将公式尽可能地远离公式编号。如果公式编号向右移动,则公式会向左移动。
如果要让 TeX 自动居中,请用其他内容开始方程,例如空子公式({}
)或空框(\null
):
\nopagenumbers
\hsize=333pt
$$
{}\,abcdefghilmnopqstuvwxyz abcdefghilmnopqstuvwxyz abx
\eqno (0.1)
$$
$$
abcdefghilmnopqstuvwxyz abcdefghilmnopqstuvwxyz abcdefghi
\eqno (0.2)
$$
\bye
当然,首先移除起始粘连会更容易。然后居中(无论是关于文本宽度还是剩余空间)也会更准确。