aligned
如果你编译下面的内容,你会发现和 的方程式之间存在轻微的水平错位align
。有办法避免这种情况吗?
\documentclass[fleqn]{book}
\usepackage{amsmath}
\begin{document}
text
\begin{equation}
\begin{aligned}
&A\\
&B
\end{aligned}
\end{equation}
text
\begin{align}
&A\\
&B
\end{align}
text
\end{document}
答案1
这很奇怪,但可以修复。aligned
。amsmath
包裹由命令控制\start@aligned
。在amsmath.sty
,该命令的开头类似于:
\newcommand{\start@aligned}[2]{%
\RIfM@\else
\nonmatherr@{\begin{\@currenvir}}%
\fi
\savecolumn@ % Assumption: called inside a group
\null\,%
...
问题是使用which在后面\null\,
添加了一个(虚假的)\thinspace
\null
,从而导致错位。使用etoolbox
包裹修复\patchcmd
/修补此问题。尝试
...
\usepackage{etoolbox}
\makeatletter
\patchcmd{\start@aligned}{\null\,}{\null}{}{}%
\makeatother
...
在加载后的序言中amsmath
: