Есть ли способ выровнять по центру часть уравнения в латексе? - PullRequest
0 голосов
/ 27 сентября 2019

Я пишу шаги для решения уравнения, и для ясности я хотел бы выровнять и отцентрировать часть, разрешенную во второй строке, с частью, которая была разрешена в первой строке.Есть ли способ добиться этого?

Например, возьмите эту простую строку

||-3 - 4 - 2| - 5|

, которая разрешит с первым шагом

||-9| - 5|

Я бы хотелсделать так:

||-3 - 4 - 2| - 5|
|     |-9|    - 5|
|       9     - 5|

Это выполнимо?

1 Ответ

3 голосов
/ 27 сентября 2019

Вы можете использовать eqparbox s \eqmakebox[<tag>][<align>]{<stuff>}, чтобы установить <stuff> в самом широком поле из всех возможных <tag> s.Кроме того, вы можете настроить <align> в поле по мере необходимости (по умолчанию c entre, но есть также l eft и r ight).Я адаптировал \eqmakebox в \eqmathbox для работы в математическом режиме:

enter image description here

\documentclass{article}

\usepackage{amsmath,eqparbox,xparse}

% 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

\newcommand{\abs}[1]{\lvert #1 \rvert}

\begin{document}

\begin{align*}
  & \abs{\eqmathbox[eqn1]{\underbrace{\abs{-3 - 4 - 2}}} - 5} \\
  & \abs{  \eqmathbox[eqn1]{\underbrace{\abs{-9}}}       - 5} \\
  & \abs{         \eqmathbox[eqn1]{9}                    - 5}
\end{align*}

\end{document}

\underbrace, возможно, нет необходимости, ноэто добавлено для ясности с точки зрения сокращения.

Выше также можно достичь внутри array:

enter image description here

\documentclass{article}

\usepackage{amsmath}
\newcommand{\abs}[1]{\lvert #1 \rvert}

\begin{document}

\[
  \begin{array}{ c @{} c @{} c }
    \lvert & \underbrace{\abs{-3 - 4 - 2}} & {} - 5 \rvert \\
    \lvert &    \underbrace{\abs{-9}}      & {} - 5 \rvert \\
    \lvert &             9                 & {} - 5 \rvert
  \end{array}
\]

\end{document}

По умолчанию (вертикальный) интервал немного меньше.

...