如何在对齐环境中获取“聚集类型”方程式?
\documentclass[12pt, a4paper]{article}
\usepackage{amsmath}
\usepackage{showframe}
\begin{document}\setlength{\parindent}{0pt}
V1:
\begin{align}
a &= b + b + b\\
\begin{gathered}
\pi \approx 3.1415926535
\end{gathered} \\
&= c \\
&= d
\end{align}
V2:
\begin{gather}
a = b + b + b \\
\pi \approx 3.1415926535 \\
\hphantom{a} = c + c \hphantom{, + b }\\
\hphantom{a} = d \hphantom{, + b + b }
\end{gather}
\end{document}
答案1
align
对于具有一个对齐点的简单情况,您可以使用\Cen
我在其他答案中提出的宏的变体。
\documentclass[12pt, a4paper]{article}
\usepackage{amsmath}
\usepackage{showframe}
\makeatletter
\newcommand{\Cen}[1]{%
\ifmeasuring@
\else
\dimen0=\ifcase1\maxcolumn@widths\fi
\dimen2=\ifcase2\maxcolumn@widths\fi
\makebox[0pt][r]{\makebox[\dimexpr(\width+\dimen0-\dimen2)/2][l]{$\displaystyle#1$}}%
\fi
}
\makeatother
\begin{document}
\begin{align}
a &= b + b + b\\
\Cen{\pi \approx 3.1415926535} \\
&= c \\
&= d
\end{align}
\end{document}
第一次传递时,内部材料\Cen
被忽略。第二次传递时,我们知道了列的宽度,并且可以进行一些代数运算;材料位于零宽度框中(否则宽度的计算将受到影响),框内的宽度等于“材料宽度加上第一列的宽度减去第二列的宽度,然后除以二”,多余的材料突出到右侧。
您还可以使用
\documentclass[12pt, a4paper]{article}
\usepackage{amsmath}
\usepackage{showframe}
\newcommand{\Cen}[1]{%
\multispan{2}\hfill\makebox[0pt]{$\displaystyle#1$}\hfill\ignorespaces
}
\begin{document}
\begin{align}
a &= b + b + b\\
\Cen{\pi \approx 3.1415926535} \\
&= c \\
&= d
\end{align}
\end{document}