Gleichungsnummer für jede Zeile einer Matrixgleichung

Gleichungsnummer für jede Zeile einer Matrixgleichung

Ist es möglich, jeder Zeile einer Matrixgleichung eine Gleichungsnummer zuzuordnen?

Bildbeschreibung hier eingeben

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

Ausgabe

\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 \displaystyleZahlenmatrix 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}

Bildbeschreibung hier eingeben

Antwort3

So können Sie die manuelle Manipulation des Zählers vermeiden. Ich erstelle zwei \vboxes. Das erste ist ein Array leerer Untergleichungen und das zweite ist die gewünschte Matrix in einer einfachen \[...\]Konstruktion. Dann staple ich die beiden \vboxes ü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 \aligngapMakros).

Man könnte, falls gewünscht, meine TABstacks durch {bmatrix}es ersetzen und es würde immer noch funktionieren, obwohl die Definition \aligngapin 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}

Bildbeschreibung hier eingeben

Antwort4

Unten ist eine mögliche schnelle und einfache Alternative, wenn man AMS- \tags 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}

Bildbeschreibung hier eingeben

verwandte Informationen