中央揃え

中央揃え

いくつかの方程式を等号に揃えたいので、次のように書きました。

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

ただし、1 つの方程式が他の方程式よりもはるかに長いため、すべての方程式がページの右側に表示されます。

ここに画像の説明を入力してください

すべての方程式を等号に合わせて配置しながら、等号を中央に表示するにはどうすればよいですか?

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

これによりalign*、 が の形式で作成されarray、等号の両側のコンテンツがゼロ幅のボックス内に配置されます。その結果、方程式は に基づいて中央揃えになります=

および は を使用し、その内容をテキスト モードで挿入することに注意してください\rlap\llapしたがって、および列タイプの自動構築で\makeboxは、 を介して数式モードに戻ります。$LR

答え2

私も同様の問題に直面しましたが、最終的な(長い)方程式を配置したいと思いました。箱の中に。整列したボックスの場合は\ボックス化mathtoolsから。上記の@Wernerのソリューションの概念を使用して、私は中央揃え、'=' を中心に配置、ボックスで囲まれた数式、つまり、方程式の両辺に、もう一方の辺のテキストを次のように配置する。\ファントムテキスト。こうすることで、ボックスを乱す \rlap を使用せずに、数式を対称にすることができます。

これは元の投稿で求められていたものとまったく同じではないことは承知していますが、中央揃えの概念について議論している投稿があまりないため、非常に役立つ追加機能になると思います。

また、追加で簡単な方法として、\Aboxedパディングを増やすですが、オンラインではどこにも見つけられませんでした。アイデアとしては、y パディングに 0 幅ルールを 1 つ、x パディングに 0 高さルールを 2 つ使用することです。オフセットはフォント サイズのマイナス半分に配置する必要があります。私の場合は、12pt/2=-6pt です。

y パディングについては、上に 4pt、下に pt が必要なため、20pt が発生しました。つまり、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}

そして、私が達成したかった結果は次のとおりです。

ここに画像の説明を入力してください

関連情報