首页 > 解决方案 > 有没有办法在乳胶中将方程的一部分居中对齐?

问题描述

我正在编写求解方程的步骤,为了清楚起见,我想将第二行解析的部分与第一行解析的部分对齐并居中。有没有办法做到这一点?

例如,采取这条简单的线

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

这将通过第一步解决

||-9| - 5|

我想这样渲染:

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

可行吗?

标签: latexamsmath

解决方案


您可以使用eqparbox's在所有类似 s 中\eqmakebox[<tag>][<align>]{<stuff>}设置<stuff>尽可能宽的框<tag>。此外,您可以根据需要调整盒子的<align>ment(默认为centre,但也有left 和right)。我已经适应\eqmakebox\eqmathbox数学模式下工作:

在此处输入图像描述

\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

在此处输入图像描述

\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}

默认情况下,(垂直)间距稍微更紧。


推荐阅读