如何“恢复”对齐

如何“恢复”对齐

最小示例:

\documentclass{report}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
    A \hspace{12.5pt} & \hspace{12.5pt} && A \\[10pt]
    B \\[10pt]
    C \hspace{12.5pt} & \hspace{12.5pt} && C \\[10pt]
    D \hspace{12.5pt} & \hspace{12.5pt} && D
\end{alignat*}

\begin{alignat*}{2}
    A \hspace{12.5pt} & \hspace{12.5pt} && A \\
\end{alignat*}
\begin{equation*}
    B 
\end{equation*}
\begin{alignat*}{2}
    C \hspace{12.5pt} & \hspace{12.5pt} && C \\[10pt]
    D \hspace{12.5pt} & \hspace{12.5pt} && D
\end{alignat*}

\end{document}

我希望 B 位于中央并且各行之间的垂直空间相等。

编辑。

我原来的问题不够精确。我不希望对齐列之间的水平间距发生变化。实际上,条目会相当宽。请参阅新示例。

\documentclass{report}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
    A \hspace{12.5pt} & \hspace{12.5pt} && A \\[10pt]
    MMMMMMMMMMMMMM \\[10pt]
    C \hspace{12.5pt} & \hspace{12.5pt} && C \\[10pt]
    D \hspace{12.5pt} & \hspace{12.5pt} && D
\end{alignat*}

\begin{alignat*}{2}
    A \hspace{12.5pt} & \hspace{12.5pt} && A \\
\end{alignat*}
\begin{equation*}
    MMMMMMMMMMMMMM 
\end{equation*}
\begin{alignat*}{2}
    C \hspace{12.5pt} & \hspace{12.5pt} && C \\[10pt]
    D \hspace{12.5pt} & \hspace{12.5pt} && D
\end{alignat*}

\end{document}

它看起来应该是这样的:

        A    A
    MMMMMMMMMMMMMM
        C    C
        D    D

答案1

您可以使用gather一些盒子测量值(由\eqmathbox通过eqparbox):

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,eqparbox}

% https://tex.stackexchange.com/a/34412/5764
\makeatletter
\NewDocumentCommand{\eqmathbox}{o O{c} m}{%
  \IfValueTF{#1}
    {\def\eqmathbox@##1##2{\eqmakebox[#1][#2]{$##1##2$}}}
    {\def\eqmathbox@##1##2{\eqmakebox{$##1##2$}}}
  \mathpalette\eqmathbox@{#3}
}
\makeatother

\begin{document}

\begin{alignat*}{2}
         A \hspace{12.5pt} & \hspace{12.5pt} && AA      \\[10pt]
                                  BBB                   \\[10pt]
      CCCC \hspace{12.5pt} & \hspace{12.5pt} && CCCCC   \\[10pt]
    DDDDDD \hspace{12.5pt} & \hspace{12.5pt} && DDDDDDD
\end{alignat*}

\begin{alignat*}{2}
         A \hspace{12.5pt} & \hspace{12.5pt} && AA      \\
\end{alignat*}
\begin{equation*}
                                  BBB 
\end{equation*}
\begin{alignat*}{2}
      CCCC \hspace{12.5pt} & \hspace{12.5pt} && CCCCC   \\[10pt]
    DDDDDD \hspace{12.5pt} & \hspace{12.5pt} && DDDDDDD
\end{alignat*}

\begin{gather*}
        \eqmathbox[LHS][r]{A} \hspace{25pt} \eqmathbox[RHS][l]{AA}      \\[10pt]
                                  BBB                                   \\[10pt]
     \eqmathbox[LHS][r]{CCCC} \hspace{25pt} \eqmathbox[RHS][l]{CCCCC}   \\[10pt]
  \eqmathbox[LHS][r]{DDDDDDD} \hspace{25pt} \eqmathbox[RHS][l]{DDDDDDD}
\end{gather*}

\end{document}

测量eft和ides 并将其存储在最大宽度的盒子中(所有光对齐),并将ight和ides 放入另一个最大宽度的盒子中(所有Left对齐)。HSrRHSl


您还可以使用array

在此处输入图片描述

\[
  \renewcommand{\arraystretch}{2}% https://tex.stackexchange.com/q/31672/5764
  \begin{array}{ r @{\hspace{25pt}} l }
         A & AA               \\
      \multicolumn{2}{c}{BBB} \\
      CCCC & CCCCC            \\
    DDDDDD & DDDDDDD
  \end{array}
\]

答案2

您可以放置​​方程式\intertext来暂停和恢复对齐。

\documentclass{report}
\usepackage{amsmath}

\begin{document}

\begin{alignat*}{2}
    A \hspace{12.5pt} & \hspace{12.5pt} && A \\
\intertext{\[ MMMMMMMMMMMMMM \]}
    C \hspace{12.5pt} & \hspace{12.5pt} && C \\[10pt]
    D \hspace{12.5pt} & \hspace{12.5pt} && D
\end{alignat*}

\end{document}

PDFLaTeX 示例

相关内容