Hallo liebe LaTeX-Freunde,

ich benutze Matrixeinträgen unterschiedlicher Größe. Das führt jedoch leider dazu, dass die einzelnen Zeilen/Spalten der Matrix unterschiedliche Höhe/Breite haben, je nachdem welche Höhe/Breite das größte Element der jeweiligen Zeile/Spalte hat. Gibt es eine Möglichkeit diesen Wert im vorhinein zu definieren? Oder dafür zu sorgen, dass die Breite und Höhe sich am größten Element der gesamten Matrix orientiert? Evt. so, dass Breite = Höhe erfüllt ist.

Ich arbeite mit dem gauss Paket. Da ich nicht weiß ob das einen Einfluss hat, hier mein Beispiel dazu:

Open in Online-Editor
\documentclass[preview]{standalone}
\usepackage{mathdots}
\usepackage{gauss}

\begin{document}
    \begin{align*}
    & \begin{gmatrix}[p]
    0       & 0     & \cdots    &       0   & x     & 0     &\cdots &       & (k-2)x+1 \\
    1       & 0     &           & \vdots    & 0     &       &       &       & -1 \\
    0       & 1     & \ddots    &           &       &       &       &       & \vdots  \\
    0       & 0     & \ddots    &           &       &       &       &       &  \\
            &       &           &   1       & 0     &       &       &       & \vdots \\
    \vdots  &       &           &           & 0     &   1   &\ddots &   0   &    \\
            &       &           &           &       &       &\ddots &   0   & -1  \\
    0       & 0     &   \cdots  &           & 0     &\cdots &   0   & 1     & -1
    \rowops
    \add[-1]{1}{0}
    \add[-1]{1}{2}
    \add[-1]{1}{3}
    \add[-1]{1}{7}      
    \end{gmatrix}
    \end{align*}
\end{document}

alt text

gefragt 27 Apr '15, 17:16

Ross's gravatar image

Ross
37511522
Akzeptiert-Rate: 100%

bearbeitet 27 Apr '15, 17:16


Ich würde das ebenfalls mit einer TikZ Matrix machen. Für die einzelnen Nodes gebe ich dabei eine ausreichend große text height und text depth sowie minimum width an. Für die Breite der Nodes verwende ich aber absichtlich eine geringere Breite als die des breitesten Elements - sonst würde die Matrix breiter als die zur Verfügung stehende Textbreite, zumal ja die Pfeile auch noch gezeichnet werden sollen.

Open in Online-Editor
\documentclass[border=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes,
  nodes={%draw,
  minimum width=2em,
  text height=\ht\strutbox,
  text depth=\dp\strutbox
  },
  left delimiter={(},right delimiter={)},
  row sep=.5ex,column sep=.5ex]
  {
    0      & 0 & \cdots & 0      & x & 0     &\cdots &   & (k-2)x+1 \\
    1      & 0 &        & \vdots & 0 &       &       &   & -1       \\
    0      & 1 & \ddots &        &   &       &       &   & \vdots   \\
    0      & 0 & \ddots &        &   &       &       &   &          \\
           &   &        & 1      & 0 &       &       &   & \vdots   \\
    \vdots &   &        &        & 0 & 1     &\ddots & 0 &          \\
           &   &        &        &   &       &\ddots & 0 & -1       \\
    0      & 0 & \cdots &        & 0 &\cdots &   0   & 1 & -1       \\
  };
% Pfeile:
\foreach[count=\i from 0] \t/\s/\e in {
    -1/2/1,
    -1/2/3,
    -1/2/4,
    -1/2/8%
  }\draw[-stealth]([xshift={3ex+\i*6ex}]m-\s-1-|m.east)
    --+(1.5ex,0)node[right,node font=\scriptsize]{$\t$}
    |-node[right,node font=\scriptsize]{$+$}([xshift=3ex]m-\e-1-|m.east);
\end{tikzpicture}
\end{document}

Ergebnis:

alt text

Permanenter link

beantwortet 28 Apr '15, 13:54

esdd's gravatar image

esdd
15.9k164055
Akzeptiert-Rate: 63%

Mit der TikZ-Matrix:

alt text

Open in Online-Editor
\documentclass[border=5pt, varwidth]{standalone}

\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{matrix}

\begin{document}
\begin{tikzpicture}
\matrix (m) [matrix of math nodes, 
left delimiter={(},right delimiter={)},
row sep=2pt,column sep=3.7pt]
{
    0       & 0     & \cdots    &       0   & x     & 0     &\cdots &       & (k-2)x+1 \\
    1       & 0     &           & \vdots    & 0     &       &       &       & -1 \\
    0       & 1     & \ddots    &           &       &       &       &       & \vdots  \\
    0       & 0     & \ddots    &           &       &       &       &       &  \\
            &       &           &   1       & 0     &       &       &       & \vdots \\
    \vdots  &       &           &           & 0     &   1   &\ddots &   0   &    \\
            &       &           &           &       &       &\ddots &   0   & -1  \\
    0       & 0     &   \cdots  &           & 0     &\cdots &   0   & 1     & -1 \\
};
\end{tikzpicture}

\end{document}
Permanenter link

beantwortet 27 Apr '15, 18:19

cis's gravatar image

cis
9.5k23259468
Akzeptiert-Rate: 29%

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:

×56
×11
×3
×2

gestellte Frage: 27 Apr '15, 17:16

Frage wurde gesehen: 6,857 Mal

zuletzt geändert: 28 Apr '15, 13:54