在 align 中如何退出对齐?

在 align 中如何退出对齐?

如何在对齐环境中获取“聚集类型”方程式?

\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}

V2 是我想要的样子,但我显然不想手动对齐方程式。 渲染的 MWE

答案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}

相关内容