Enumerar la alineación de ecuaciones

Enumerar la alineación de ecuaciones

ingrese la descripción de la imagen aquí

Lo único que se me ocurre es usar intertexty colocar contadores manualmente. ¿Es esta realmente la única manera?

Respuesta1

Puedes usar \intertext:

\documentclass{article}
\usepackage{mathtools}

\begin{document}

\begin{enumerate}\mathtoolsset{above-intertext-sep=-\belowdisplayshortskip}
\item How can I align the equations
\begin{align*}
    a &= 2. \\
\intertext{
  \item Which appear in various items of \texttt{enumerate}?
}
  b &= a + 123.
\end{align*}
\end{enumerate}

\end{document}

ingrese la descripción de la imagen aquí

Respuesta2

Puedes usar eqparbox.

\documentclass{article}
\usepackage{amsmath}
\usepackage{eqparbox}
\begin{document}
\begin{enumerate}
 \item How can I align the equation
 \begin{align*}
  \eqmakebox[L][r]{$a$}&=\eqmakebox[R][l]{$2$}
 \end{align*}
 \item with the equation
 \begin{align*}
  \eqmakebox[L][r]{$b$}&=\eqmakebox[R][l]{$a+123$}
 \end{align*} 
 \item With \verb|eqparbox|.
\end{enumerate}
You can make it more structured by defining macros for that.
\newcommand{\LHS}[2][pft]{\eqmakebox[L#1][r]{$\displaystyle #2$}}
\newcommand{\RHS}[2][pft]{\eqmakebox[R][l]{$\displaystyle #2$}}
\begin{enumerate}
 \item Now you can align the equation
 \begin{align*}
  \LHS{a}&=\RHS{2}
 \end{align*}
 \item with the equation
 \begin{align*}
  \LHS{b+7c}&=\RHS{a+123}
 \end{align*} 
 \item using the macros \verb|\LHS| and \verb|\RHS|.
\end{enumerate}
The optional argument is an identifier. For each new set of mutually aligned
equations you need a distinct identifier. That is, all the left--hand sides and
all the right--hand sides with the same identifier have the same widths,
respectively.
\end{document}

ingrese la descripción de la imagen aquí

APÉNDICE: Este es un anexo aLa buena (!) solución de egreg. Si considera cargar enumitem(además de mathtools), puede hacer las cosas más fáciles de usar diciendo

\setlist[enumerate]{before=\mathtoolsset{above-intertext-sep=-\belowdisplayshortskip}}

De esa manera, no tendrá que agregar esto a cada enumerateentorno manualmente.

\documentclass{article}
\usepackage{mathtools}
\usepackage{enumitem}
\setlist[enumerate]{before=\mathtoolsset{above-intertext-sep=-\belowdisplayshortskip}}
\begin{document}

\begin{enumerate}
\item How can I align the equations
\begin{align*}
    a &= 2 \;,\\
\intertext{
  \item which appear in various items of \texttt{enumerate},
}
  b &= a + 123\;,\\
\intertext{
  \item and without adding something by hand whenever I use \texttt{enumerate}?
}
  b &= c + d+\frac{7\pi}{2}\;.
\end{align*}
\end{enumerate}

\begin{align}
a &= 2 \;.\\
\intertext{We're back to normal.}
 b &= a + 123\;.
\end{align}
\end{document}

ingrese la descripción de la imagen aquí

Respuesta3

Debes tener acceso a los elementos más amplios en el lado izquierdo y derecho de cada ecuación y usar una combinación de \phantoms y over lapping. En su configuración, aes más ancho que by a + 123es más ancho que 2., entonces

ingrese la descripción de la imagen aquí

\documentclass{article}

\usepackage{mathtools}

\begin{document}

\begin{enumerate}
  \item
  How can I align the equations
  \[
    a = \mathrlap{2.}\phantom{a + 123}% Widest RHS is "a + 123"
  \]

  \item
  Which appear in various items of \verb|enumerate|?
  \[
    \phantom{a}\mathllap{b} = a + 123 % Widest LHS is "a"
  \]
\end{enumerate}

\end{document}

El proceso anterior se simplifica medianteeqparbox(verla otra respuesta) capturando el ancho del elemento más ancho usando el sistema LaTeX \labela \reftravés de \eqmakebox[<tag>][<align>]{<stuff>}.

información relacionada