Ich habe drei zusammengehörige Matrizen, die ich aneinander ausrichten möchte. Zusätzlich müssen an die große Matrix noch zwei geschweifte Klammern mit Beschriftung. Am Ende soll es ungefähr so aussehen:

alt text

Hier ist als Ausgangspunkt noch der Code für die drei Matrizen:

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{amsmath}
\begin{document}
$\begin{matrix}
    &\text{u}_\text{I}&\text{v}_\text{I}&\text{u}_\text{II}&\text{v}_\text{II}&\text{u}_\text{III}&\text{v}_\text{III}\\[5pt]
    \text{u}_{1}&1&0&0&0&0&0\\
    \text{v}_{1}&0&1&0&0&0&0\\
    \text{u}_{2}&0&0&1&0&0&0\\
    \text{v}_{2}&0&0&0&1&0&0\\[.5\normalbaselineskip]
    \text{u}_{1}&0&0&0&0&1&0\\
    \text{v}_{1}&0&0&0&0&0&1\\
    \text{u}_{2}&0&0&1&0&0&0\\
    \text{v}_{2}&0&0&0&1&0&0
\end{matrix}$
\hfill
$\text{\underline{I}}_{1}=
  \begin{bmatrix}
    1&0&0&0&0&0\\
    0&1&0&0&0&0\\
    0&0&1&0&0&0\\
    0&0&0&1&0&0
  \end{bmatrix}$

\hfill
$\text{\underline{I}}_{2}=
  \begin{bmatrix}
    0&0&0&0&1&0\\
    0&0&0&0&0&1\\
    0&0&1&0&0&0\\
    0&0&0&1&0&0
  \end{bmatrix}$
\end{document}

Wie kann ich aber die große Matrix beschriften, die geschweiften Klammern einfügen und die kleinen Matrizen daneben postionieren?

gefragt 05 Jan '14, 16:12

welle's gravatar image

welle
106222631
Akzeptiert-Rate: 0%

bearbeitet 10 Jan '14, 02:06

stefan's gravatar image

stefan ♦♦
18.3k163148


Hier eine Lösung, die auf dem Ausgangscode basiert und ohne TikZ auskommt. Stattdessen bleibe ich bei array-Features und verwende zusätzlich die Pakete bigdelim und multirow. bigdelim stellt Befehle \ldelim und \rdelim zur Verfügung, mit denen man große Klammern über mehrere Zeilen setzen kann plus zusätzlichen Text daneben. multirow lade ich nur, weil es von bigdelim benötigt wird.

Die Syntax ist:

Open in writeLaTeX
\ldelim\{{Zeilenzahl}{Breite}[Text links daneben]
\rdelim\}{Zeilenzahl}{Breite}[Text rechts daneben]

wobei statt den geschweiften Klammern \{ und \} auch andere Klammern (Delimiter) gehen, wie (, ), \[ und \] und sogar der Punkt . für keine Klammer. Das nutze ich für die Ausrichtung rechts aus.

Die rechten beiden Matrizen habe ich mal als Makros definiert, damit man die Übersicht behält.

Zusätzlich verwende ich die amsmath Matrix-Erweiterung, um optional Spaltenformatierung in Matrizen festlegen zu können. Hier nämlich \begin{matrix}[rc|*6{c}l] für die zusätzlichen Spalten für die Beschriftung links und die Matrizen rechts sowie für die Trennlinie.

Open in writeLaTeX
\documentclass{scrartcl}
\usepackage{amsmath}
\usepackage{bigdelim}
\usepackage{multirow}
\makeatletter
\renewcommand*{\env@matrix}[1][*\c@MaxMatrixCols c]{%
  \hskip -\arraycolsep
  \let\@ifnextchar\new@ifnextchar
  \array{#1}}
\makeatother
\newcommand*{\matrixA}{\text{\underline{I}}_{1}=
  \begin{bmatrix}
    1&0&0&0&0&0\\
    0&1&0&0&0&0\\
    0&0&1&0&0&0\\
    0&0&0&1&0&0
  \end{bmatrix}}
\newcommand*{\matrixB}{\text{\underline{I}}_{2}=
  \begin{bmatrix}
    0&0&0&0&1&0\\
    0&0&0&0&0&1\\
    0&0&1&0&0&0\\
    0&0&0&1&0&0
  \end{bmatrix}}
\begin{document}
$\begin{matrix}[rc|*6{c}l]
    & &\text{u}_\text{I}&\text{v}_\text{I}&\text{u}_\text{II}&
      \text{v}_\text{II}&\text{u}_\text{III}&\text{v}_\text{III}&\\
    \cline{2-8}
    \ldelim\{{4}{2.5em}[El.1] & \text{u}_{1}&1&0&0&0&0&0&
      \rdelim.{4}{4em}[$\Rightarrow\matrixA$] \\
    & \text{v}_{1}&0&1&0&0&0&0&\\
    & \text{u}_{2}&0&0&1&0&0&0&\\
    & \text{v}_{2}&0&0&0&1&0&0&\\[.5\normalbaselineskip]
    \ldelim\{{4}{2.5em}[El.2] & \text{u}_{1}&0&0&0&0&1&0 &
      \rdelim.{4}{4em}[$\Rightarrow\matrixB$] \\
    & \text{v}_{1}&0&0&0&0&0&1&\\
    & \text{u}_{2}&0&0&1&0&0&0&\\
    & \text{v}_{2}&0&0&0&1&0&0&
\end{matrix}$
\end{document}

Matrizen mit Ausrichtung und Beschriftung

Permanenter link

beantwortet 06 Jan '14, 12:28

stefan's gravatar image

stefan ♦♦
18.3k163148
Akzeptiert-Rate: 50%

bearbeitet 10 Jan '14, 11:44

Für das Ausrichten der drei Matrizen und für das Einfügen der Klammern kann man tikz nutzen. Auf den ersten Blick erscheint es mir am einfachsten die große Matrix ebenfalls mit tikz zu erstellen:

\documentclass{scrartcl}
\usepackage{amsmath}

\usepackage{tikz}
\usetikzlibrary{matrix,fit}
\tikzset{%
  % Stil für linke geschweifte Klammern mit Beschriftung:
  mleftdelimiter/.style={inner ysep=0pt, inner xsep=1ex,left delimiter=\{,label={[label distance=3mm]left:#1}}
}

\begin{document}
\begin{center}
  \begin{tikzpicture}
    \matrix(tab)[matrix of math nodes]{
        &[5pt]\text{u}_\text{I}&\text{v}_\text{I}&\text{u}_\text{II}&\text{v}_\text{II}&\text{u}_\text{III}&\text{v}_\text{III}\\[5pt]
        \text{u}_{1}&1&0&0&0&0&0\\
        \text{v}_{1}&0&1&0&0&0&0\\
        \text{u}_{2}&0&0&1&0&0&0\\
        \text{v}_{2}&0&0&0&1&0&0\\[.5\normalbaselineskip]
        \text{u}_{1}&0&0&0&0&1&0\\
        \text{v}_{1}&0&0&0&0&0&1\\
        \text{u}_{2}&0&0&1&0&0&0\\
        \text{v}_{2}&0&0&0&1&0&0\\
    };
  \draw([yshift=-2pt]tab.west|-tab-1-2.south)--([yshift=-2pt]tab-1-2.south-|tab.east);
  \draw([xshift=-2pt]tab.north-|tab-1-2.west)--([xshift=-2pt]tab-1-2.west|-tab.south);
  \path (tab-3-7.south east)--(tab-4-7.north east)node[midway,right]{%
    $\Rightarrow\ \text{\underline{I}}_{1}=
      \begin{bmatrix}
        1&0&0&0&0&0\\
        0&1&0&0&0&0\\
        0&0&1&0&0&0\\
        0&0&0&1&0&0
      \end{bmatrix}$};
  \path (tab-7-7.south east)--(tab-8-7.north east)node[midway,right]{%
    $\Rightarrow\ \text{\underline{I}}_{2}=
      \begin{bmatrix}
        0&0&0&0&1&0\\
        0&0&0&0&0&1\\
        0&0&1&0&0&0\\
        0&0&0&1&0&0
      \end{bmatrix}$};
  \node[mleftdelimiter={$\text{EL}_{1}$},fit = (tab-2-1) (tab-5-1)]{};
  \node[mleftdelimiter={$\text{EL}_{2}$},fit = (tab-6-1) (tab-9-1)]{};
  \end{tikzpicture}
\end{center}
\end{document}

alt text

Vermutlich kann man das Gleiche aber auch mit einer Tabelle oder einem array erreichen.

Permanenter link

beantwortet 05 Jan '14, 18:16

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×69
×58
×50
×38

gestellte Frage: 05 Jan '14, 16:12

Frage wurde gesehen: 17,201 Mal

zuletzt geändert: 10 Jan '14, 11:44