将多个方程中的一个方程居中对齐?

将多个方程中的一个方程居中对齐?

我有以下align环境:

\documentclass[12pt]{memoir}
\usepackage{amsmath}
\begin{document}
Here we see
\begin{align}
\text{cat} &= \text{dog}\\
\text{dog} &= cute
\intertext{and if we remove}
\text{dog}\\
\intertext{we get}
\text{cat} &= cute
\end{align}
\end{document}

这将产生:

不对齐的等式

&如何让方程 3 居中,同时保持其他所有内容对齐?我可以通过在实际方程中放入一个来接近居中,但它仍然不是完全居中的。

答案1

gathered环境。更好地利用mathtools代替amsmath(这是一个加载并修复了其中两个错误的扩展amsmath)。操作方法如下:

\documentclass[12pt]{article}
\usepackage{mathtools}
\usepackage[showframe]{geometry} 

\begin{document}

\begin{align}
\text{catxxxxxxxxxxxxxxxxxxxx} &= \text{dog}\\
\text{dog} &= \text{cute}\\
\intertext{and if we remove}
\begin{gathered}
\text{and if we remove dog}
\end{gathered} \\
\intertext{we get}
\text{cat} &= \text{cute}
\end{align}

\end{document} 

输出

答案2

在此处输入图片描述

\documentclass[12pt]{memoir}
\usepackage{amsmath}
\begin{document}
Here we see
\begin{align}
\text{cat} &= \text{dog}\\
\text{dog} &= cute
\intertext{and if we remove
\begin{equation}dog\end{equation}
we get\vspace{-\baselineskip}}\\
\text{cat} &= cute
\end{align}

\end{document}

答案3

在这种情况下,使用似乎是安全的\multispan

\documentclass[12pt]{memoir}
\usepackage{amsmath}

\newcommand{\equationinalign}[1]{%
  \multispan{2}%
  \hfill$\displaystyle{#1}$\hfill
  \ignorespaces
}

\begin{document}
\noindent
\hspace*{\fill}\smash{\vrule depth 10cm width 0.1pt}\hspace*{\fill}

Here we see
\begin{align}
\text{cat} &= \text{dog}\\
\text{dog} &= \text{cute}\\
\intertext{and if we remove}
\equationinalign{\text{dog}}
\intertext{we get}
\text{cat} &= \text{cute}
\end{align}

\end{document}

在此处输入图片描述

相关内容