Ecuaciones individuales en múltiples columnas con numeración individual.

Ecuaciones individuales en múltiples columnas con numeración individual.

Tengo varias ecuaciones cortas y quiero mostrarlas en dos columnas. Esencialmente:

A = B (1) || C = D (2)

mi = F (3) || GRAMO = H (4)

Primero probé el flalignentorno (preferiría esto antes que align, pero no es necesario) pero no pude numerar las ecuaciones como quiero. El alignentorno trata cada fila como una ecuación.

Ejemplo:

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsmath}

\begin{document}
\begin{flalign}
A = & B & C = & D \\
E = & F & G = & H
\end{flalign}
\end{document}

Otro enfoque fue un multicolumnentorno simple, con un salto de columna forzado:

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsmath}
\usepackage{multicol}

\begin{document}
\begin{multicols}{2}
\begin{align}
A = & B \\
E = & F
\end{align}
\columnbreak
\begin{align}
C = & D \\
G = & H
\end{align}
\end{multicols}

\end{document}

Sin embargo, existen múltiples problemas:

  1. Las ecuaciones parecen estar fuera de lugar verticalmente.
  2. La numeración es vertical y no horizontal (esto sería aceptable para mí)

Le agradecería cualquier ayuda en esto.

Respuesta1

Creo que sólo deberías numerar las ecuaciones si tienes la intención de hacer referencia a ellas más adelante, así que, de acuerdo con esta filosofía, ¿por qué no definir una macro que inserte el número de la ecuación y también cree la etiqueta?

\newcommand\Label[1]{&\refstepcounter{equation}(\theequation)\ltx@label{#1}&}

Esto primero incrementa el equationcontador, lo imprime y luego hay algunos trucos para crear la etiqueta (los entornos amsmath imprimen mensajes de error cuando aparecen varias etiquetas en una línea y debemos evitar esto). Debido a @esto es necesario envolverlo por dentro \makeatletter...\makeatother.

Posiblemente imprudentemente, he incluido &'s dentro de la macro y, por lo tanto, asumí implícitamente que \Labelsiempre se usará dentro de algo como un align*entorno; tenga en cuenta que *no desea que el entorno proporcione etiquetas adicionales. Por otro lado, requirió un poco de esfuerzo extra para evitar align*dar un error (ya que align*suprime los números de ecuación), por lo que esta macro no funcionará fuera de un entorno de alineación ams.

El uso de esta macro proporciona:

ingrese la descripción de la imagen aquí

Aquí está el código completo:

\documentclass{article}
\usepackage{mathtools}
\usepackage{amsmath}
\makeatletter
\newcommand\Label[1]{&\refstepcounter{equation}(\theequation)\ltx@label{#1}&}
\makeatother
\begin{document}
\begin{align*}
  A &= B \Label{one}& C &= D \Label{two}\\
  E &= F \Label{three}& G &= H \Label{four}
\end{align*}
See equations \ref{one}, \ref{two}, \ref{three} and \ref{four}.
\end{document}

Como dije anteriormente, probablemente no sea prudente colocar los dos &dentro de la \Labelmacro, ya que oculta parte de la estructura en el align*entorno, lo que eventualmente podría confundir a alguien.

Por cierto, esto funciona igualmente bien con flalign*los entornos.

Respuesta2

No puedo agregar un comentario a la respuesta, por lo que lo agrego como respuesta a cualquier otra persona que tenga un problema similar al \Labelusar solo la primera letra.

Agregué una variable ficticia \tmpLabelusando primitivo \defpara que pueda expandirse adecuadamente en el interior \ltx@label.

\makeatletter
\newcommand{\allignLabel}[1]{&\refstepcounter{equation}(\theequation)\def\tmplab{#1}\ltx@label\tmplab&}
\makeatother

Estoy seguro de que hay una solución más elegante para esto, así que comente o edite esta respuesta con una solución adecuada.

información relacionada