
¿Es posible dar un número de ecuación a cada fila de una ecuación matricial?
¿Cómo podría tener etiquetas de ecuaciones similares a los números de subecuación, una para cada fila de la ecuación matricial? Aquí, me gustaría números de ecuación como, por ejemplo, (3.1a), (3.1b), (3.1c) (no me refiero a etiquetas de fila/columna como en una matriz con bordes).
¡Gracias!
Respuesta1
¡Mmm! Realmente no es compatible con la sintaxis de LaTeX, pero
\documentclass{article}
\usepackage{amsmath}
\newsavebox\labelbox
\begin{document}
\savebox\labelbox{$\begin{matrix}
\refstepcounter{equation}(\theequation)\label{aa}\\
\refstepcounter{equation}(\theequation)\label{bb}\\
\refstepcounter{equation}(\theequation)\label{cc}
\end{matrix}$}
\[
\begin{bmatrix}
H & J^T & -Z^{\frac12} \\
J & -\delta I & \\
-Z^{\frac12} & & -X
\end{bmatrix}
\begin{bmatrix}
r \\ s \\ t
\end{bmatrix}
=
\lambda
\begin{bmatrix}
H & & \\
& U & \\
& & W
\end{bmatrix}
\begin{bmatrix}
r \\ s \\ t
\end{bmatrix}
\eqno
\usebox{\labelbox}
\]
[\ref{aa}]
[\ref{bb}]
[\ref{cc}]
\end{document}
Respuesta2
Por accidente descubrí una forma sencilla y directa. Si uno tiene una columna grande en la matriz real, debe establecer un fantasma correspondiente en la matriz de numeración. También se podría agregar a \displaystyle
en la matriz numérica de la ecuación si realmente es necesario.
\documentclass{article}
\usepackage{amsmath}
\makeatletter
\newcommand{\ltxlabel}{\ltx@label}
\makeatother
\begin{document}
\begin{align}\refstepcounter{equation}
\begin{bmatrix}
H & J^T & -Z^{\frac12} \\
J & -\delta I & \\
-Z^{\frac12} & & -X
\end{bmatrix}
\begin{bmatrix}
r \\ s \\ t
\end{bmatrix}
=
\lambda
\begin{bmatrix}
H & & \\
& U & \\
& & W
\end{bmatrix}
\begin{bmatrix}
r \\ s \\ t
\end{bmatrix}
\tag*{$\begin{matrix}
\text{(\theequation a)}\\
\text{(\theequation b)}\\
\text{(\theequation c)}
\end{matrix}$}
\ltxlabel{eq:matrix}
\end{align}
The first row (\ref{eq:matrix}a) is the most important row of the matrix.
\end{document}
Respuesta3
A continuación se muestra una forma de evitar manualmente la necesidad de manipular el contador. Creo dos \vbox
es. La primera es una serie de subecuaciones en blanco y la segunda es la matriz deseada en una \[...\]
construcción simple. Luego apilo los dos \vbox
es uno encima del otro. ¡Voilá!
Incluso lo configuré para que el ajuste del salto de línea de base vertical de la matriz (ya que usé TABstacks) se refleje automáticamente en la separación vertical de la numeración de ecuaciones (mediante el uso de la \aligngap
macro).
Si se desea, uno podría reemplazar mis TABstacks con {bmatrix}
es y aún funcionaría, aunque la definición de \aligngap
en ese caso necesitaría algunos ajustes.
\documentclass{article}
\usepackage{amsmath,tabstackengine,lipsum}
\newsavebox\boxA
\def\aligngap{\dimexpr\Lstackgap-15pt\relax}
\begin{document}
\lipsum[1]
{\setstackgap{L}{14pt}% SELECTABLE MATRIX ROW BASELINESKIP
\setbox0=\vbox{\begin{subequations}%
\begin{align}\label{eq:A}\\[\aligngap]\label{eq:B} \\[\aligngap]\label{eq:C}\end{align}%
\end{subequations}}
\savebox\boxA{\vbox{\[
\setstacktabbedgap{5pt}
\bracketMatrixstack{
H & J^T & -Z^{\frac12} \\
J & -\delta I & \\
-Z^{\frac12} & & -X}
\bracketVectorstack{r \\ s \\ t}
=
\lambda
\bracketMatrixstack{
H & & \\
& U & \\
& & W}
\bracketVectorstack{r \\ s \\ t}
\]}}
\noindent\stackengine{3.5pt}{\box0}{\usebox{\boxA}}{O}{c}{F}{F}{L}}
In equations \ref{eq:A}, \ref{eq:B}, and \ref{eq:C},
\lipsum[2]
\end{document}
Respuesta4
A continuación hay una posible alternativa rápida y sucia si se necesita AMS- \tag
s. El inconveniente es que requiere algún ajuste de altura manual en el primero matrix
. Esta solución no existiría sin la solución de David. ¡Gracias David! Yo también necesitaba esto.
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\par\noindent\begin{minipage}[c][][c]{0.9\textwidth}
\begin{align*}
\begin{matrix}
1\cdot x_1&+&2\cdot x_2&+&3\cdot x_3&=&4\\[3pt]
5\cdot x_1&+&6\cdot x_2&+&7\cdot x_3&=&8\\[3pt]
9\cdot x_1&+&10\cdot x_2&+&11\cdot x_4&=&12
\end{matrix}
\end{align*}
\end{minipage}\begin{minipage}[c][][c]{0.1\textwidth}
\begin{align}\refstepcounter{equation}
\tag{\theequation a}\label{eq:1a}\\[0pt]
\tag{\theequation b}\label{eq:1b}\\[0pt]
\tag{\theequation c}\label{eq:1c}
\end{align}
\end{minipage}
\end{document}