居中對齊

居中對齊

我想將一些方程式與等號對齊,所以我寫了這樣的:

\begin{align}
            -3z &=-9\\ 
              z &= 3\\
        -3y-3*3 &= 3\\ 
              y &=-4\\
  2x+8*(-4)+4*3 &= 2\\ 
              x &=11
\end{align}

然而,由於一個方程式比其他方程式長得多,所有方程式都出現在頁面的右側:

在此輸入影像描述

如何使等號出現在中間,同時仍將所有方程式與它們對齊?

答案1

一個簡單的方法是複製最寬入口(左側或右側)位於另一側,可容納一些重疊:

在此輸入影像描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\begin{document}
\lipsum[2]
\begin{align*}
            -3z &= -9 \\
              z &=  3 \\
        -3y-3*3 &=  3 \\
              y &= -4 \\
  2x+8*(-4)+4*3 &=  2 \\
              x &= 11
\end{align*}
\lipsum[2]
\begin{align*}
            -3z &= -9 \\
              z &=  3 \\
        -3y-3*3 &=  3 \\
              y &= -4 \\
  2x+8*(-4)+4*3 &=  \rlap{2}\phantom{2x+8*(-4)+4*3} \\
              x &= 11
\end{align*}
\lipsum[2]
\end{document}

或者,如果您不關心方程式進行編號,則可以使用以下結構:

在此輸入影像描述

\documentclass{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\usepackage{array}% http://ctan.org/pkg/array
\newsavebox{\mymathbox}
\newcolumntype{R}{>{\begin{lrbox}{\mymathbox}$}r<{$\end{lrbox}\llap{\usebox{\mymathbox}}}}%
\newcolumntype{L}{>{\begin{lrbox}{\mymathbox}$}l<{$\end{lrbox}\rlap{\usebox{\mymathbox}}}}%
\begin{document}
\lipsum[2]
\begin{align*}
            -3z &= -9 \\
              z &=  3 \\
        -3y-3*3 &=  3 \\
              y &= -4 \\
  2x+8*(-4)+4*3 &=  2 \\
              x &= 11
\end{align*}
\lipsum[2]
\[
  \renewcommand{\arraystretch}{1.2}
  \begin{array}{R@{{}={}}L}
            -3z & -9 \\
              z &  3 \\
        -3y-3*3 &  3 \\
              y & -4 \\
  2x+8*(-4)+4*3 &  2 \\
              x & 11
\end{array} \]
\lipsum[2]
\end{document}

這會以 analign*的形式建構 an array,並將內容放在等號兩側的零寬度框中。因此,方程式似乎以 為中心=

請注意\rlap\llap使用\makebox,它以文字模式插入其內容。因此,透過和列類型$的自動構造切換回數學模式。LR

答案2

我遇到了類似的問題,但我也想放置我的最終(更長)方程在盒子裡。對於我使用的對齊框\盒裝來自數學工具。使用上面@Werner解決方案中的概念,我找到了一個解決方案中心,圍繞“=”對齊,盒裝方程,即將方程式的每一邊放置另一邊的文字為\幻影文字.這樣,方程式就可以變得對稱,而無需使用 \rlap 來弄亂盒子。

我知道這並不完全是原始帖子所要求的,但我認為這將是一個非常有用的補充,因為沒有很多帖子可以討論中心對齊的概念。

另外,作為額外的內容,我還提供了一個簡單的方法增加 \Aboxed 填充,我在網路上找不到任何地方。這個想法是使用一個 0 寬度規則進行 y 填充,使用兩個 0 高度規則進行 x 填充。偏移量應放置在字體大小的負一半處,在我的例子中是 12pt/2=-6pt。

至於 y 填充,出現 20pt 是因為我想要上面 4pt,下面想要 pt。這給了我 4pt+4pt+12pt = 20pt,其中 12pt 是字體大小。

這是我的 MWE:

\documentclass[12pt]{article}
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{amsmath}% http://ctan.org/pkg/amsmath
\usepackage{mathtools}                          % for Aboxed, to box in alignat environment

\begin{document}
\lipsum[2]
\begin{align*}
            -3z &= -9 \\
              z &=  3 \\
        -3y-3*3 &=  3 \\
              y &= -4 \\
  2x+8*(-4)+4*3 &=  2 \\
              x &= 11
\end{align*}
\lipsum[2]

\begin{align}
            -3z &= -9\nonumber \\
              z &=  3\nonumber \\
        -3y-3*3 &=  3\nonumber \\
              y &= -4\nonumber \\
\phantom{2\implies} \Aboxed{\rule[-6pt]{4pt}{0pt}2x+8*(-4)+4*3 &=\rule[-6pt]{0pt}{20pt}2\rule[-6pt]{4pt}{0pt}}\phantom{2x+8*(-4)+4*3 \implies}
\end{align}

\end{document}

這是我想要達到的結果:

在此輸入影像描述

相關內容