对齐乳胶方程

时间:2018-12-11 14:28:13

标签: latex

我是乳胶的初学者。我有以下乳胶代码。代码工作正常,但我希望每个方程式的所有等式运算符都应对齐。怎么办?

\begin{enumerate}
\item[Commutative] $a+b = b+a$
\item[Associative] $a+(b+c)=(a+b)+c$
\item[Distributive] $a(b+c)=ab+ac$
\end{enumerate}

2 个答案:

答案 0 :(得分:2)

我不确定在enumerate环境中是否可行。一个简单的替代方法是使用tabular环境。在下面的示例中,等式的左侧和右侧分别包含在两个单独的列中,并且在它们之间出现了=

\documentclass[12pt]{article}

\begin{document}
\begin{tabular}{l r@{$=$}l}
    Commutative & $a+b$ & $b+a$ \\
    Associative & $a+(b+c)$ & $(a+b)+c$ \\
    Distributive & $a(b+c)$ & $ab+ac$ \\
\end{tabular}
\end{document}

enter image description here

答案 1 :(得分:1)

使用\eqmakebox[<tag>][<align>](来自eqparbox),您可以将同一<tag>下的所有元素放置在最大宽度的框中,并根据需要单独放置<align> 。下面,我有\eqmakebox[LHS][r]以确保所有标记为LHS的元素都是r对齐的。结果是围绕=对齐。

enter image description here

\documentclass{article}

\usepackage{eqparbox}

\begin{document}

\begin{enumerate}
  \item[Commutative]  $      a + b = b + a      $
  \item[Associative]  $a + (b + c) = (a + b) + c$
  \item[Distributive] $   a(b + c) = ab + ac    $
\end{enumerate}

\begin{enumerate}
  \item[Commutative]  $      \eqmakebox[LHS][r]{$a + b$} = b + a      $
  \item[Associative]  $\eqmakebox[LHS][r]{$a + (b + c)$} = (a + b) + c$
  \item[Distributive] $   \eqmakebox[LHS][r]{$a(b + c)$} = ab + ac    $
\end{enumerate}

\end{document}

或者,您可以自己测量最宽的元素:

\newlength{\widestelement}
\settowidth{\widestelement}{$a + (b + c)$}

然后使用

\begin{enumerate}
  \item[Commutative]  $      \makebox[\widestelement][r]{$a + b$} = b + a      $
  \item[Associative]  $\makebox[\widestelement][r]{$a + (b + c)$} = (a + b) + c$
  \item[Distributive] $   \makebox[\widestelement][r]{$a(b + c)$} = ab + ac    $
\end{enumerate}