
Ist es möglich, jeder Zeile einer Matrixgleichung eine Gleichungsnummer zuzuordnen?
Wie könnte ich Gleichungsbeschriftungen im Stil von Untergleichungsnummern haben, eine für jede Zeile der Matrixgleichung? Hier hätte ich gerne Gleichungsnummern wie z. B. (3.1a), (3.1b), (3.1c) (ich meine keine Zeilen-/Spaltenbeschriftungen wie in einer Matrix mit Rahmen).
Danke!
Antwort1
Hmm! nicht wirklich unterstützte LaTeX-Syntax, aber
\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}
Antwort2
Durch Zufall habe ich einen einfachen und unkomplizierten Weg entdeckt. Wenn man eine große Spalte in der aktuellen Matrix hat, sollte man ein entsprechendes Phantom in der Nummerierungsmatrix setzen. Man könnte auch eine \displaystyle
Zahlenmatrix in die Gleichung einfügen, wenn das wirklich nötig ist.
\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}
Antwort3
So können Sie die manuelle Manipulation des Zählers vermeiden. Ich erstelle zwei \vbox
es. Das erste ist ein Array leerer Untergleichungen und das zweite ist die gewünschte Matrix in einer einfachen \[...\]
Konstruktion. Dann staple ich die beiden \vbox
es übereinander. Voilà!
Ich habe es sogar so eingerichtet, dass sich die Anpassung des vertikalen Basisliniensprungs der Matrix (da ich TABstacks verwendet habe) automatisch in der vertikalen Trennung der Gleichungsnummerierung widerspiegelt (durch die Verwendung des \aligngap
Makros).
Man könnte, falls gewünscht, meine TABstacks durch {bmatrix}
es ersetzen und es würde immer noch funktionieren, obwohl die Definition \aligngap
in diesem Fall etwas angepasst werden müsste.
\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}
Antwort4
Unten ist eine mögliche schnelle und einfache Alternative, wenn man AMS- \tag
s braucht. Der Nachteil ist, dass es zunächst einige manuelle Höheneinstellungen erfordert matrix
. Diese Lösung würde ohne die Lösung von David nicht existieren. Danke, David! Ich brauchte das auch.
\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}