我有以下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}