Ich habe Matrizen, in die ich vertikale Linien einzeichnen möchte. Jedoch sollen sie gestrichelt sein. Zum Beispiel möchte ich hier die rechte Spalte durch eine gestrichelte Linie abtrennen:

Open in writeLaTeX
\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  \begin{pmatrix}
     1 & 0 & 0 & x \\
     0 & 1 & 0 & y \\
     0 & 0 & 1 & z
  \end{pmatrix}
\]
\end{document}

Ich habe gehört, dass es mit dem Paket arydshln geht. Ich erinnere mich, dass ich damit mal früher Probleme hatte, und wollte gleich Alternativen probieren. Geht auch TikZ (was ich sowieso verwende), oder was anderes? Eine Referenzlösung mit arydshln ist natürlich auch willkommen. Es ist auch ok, falls ich statt einer amsmath-Matrix-Umgebung array verwenden muss.

gefragt 23 Jun '14, 00:26

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%


Bei Sachen wie gestrichelten Linien usw. besser gleich TiKZ, sonst könnte auch amsmath reichen.

€dit: Andererseits könnte es auch mit dem Paket arydshln gehen.

alt text

Open in writeLaTeX
\documentclass[varwidth, margin=2.5pt]{standalone}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{matrix}
\usepackage{amsmath, amssymb}
  \usepackage{arydshln}

\usepackage{hologo}

\usepackage{xcolor}
\pagecolor{yellow!50}
%===========
\begin{document}
%===========

\verb+TikZ+ \\ \\
\begin{tikzpicture}[>=latex]
\matrix (m) [matrix of math nodes,
left delimiter=(,right delimiter=),
  inner ysep=0pt, column sep=0.5em, row sep = 0.55em,
  nodes={inner sep=0.3em,text width=0.75em,align=center}
  ]
{
     1 & 0 & 0 & x \\
     0 & 1 & 0 & y \\
     0 & 0 & 1 & z \\
};

\draw[] (m-1-4.north west) -- (m-3-4.south west);
\draw[red, dashed, font=\tiny] (m-2-1.south) -- (m-2-3.south) node[midway, below]{hier gestrichelt}; %
\end{tikzpicture} \\

\hologo{AmS} \\ \\
$
\left(
 \begin{matrix}
  a_1 & b_1\\
  a_2 & b_2 \\
  a_3 & b_3
 \end{matrix}
 \left|  
  \begin{matrix}
   c_1\\
   c_2 \\
   c_3
  \end{matrix}
 \right)
\right.
$ \\ \\

\verb+arydshln+ \\ \\
$\left(
\begin{array}{lc:c}
a_1&b_1&c_1\\
a_2&b_2&c_2\\
a_3&b_3&c_3\\
\end{array}
\right)$

%===========
\end{document}
%===========
Permanenter link

beantwortet 23 Jun '14, 02:14

cis's gravatar image

cis
9.5k93459491
Akzeptiert-Rate: 29%

bearbeitet 23 Jun '14, 03:03

Ergänzend zur sehr guten Antwort von cis hier eine Lösung, wo man die originalen Matrizen von amsmath weiterhin verwenden kann, und überlagernd die Linie hineinzeichnet. Ich habe die Linie als Makro definiert, im Code ruft man dann nur \tikzmark und das Linienkommando auf. Hat man mehrere Matrizen, kann man ja verschiedene Namen für die nodes festlegen.

Open in writeLaTeX
\documentclass{article}
\usepackage{amsmath}
\usepackage{tikz}
\usetikzlibrary{tikzmark,calc}
\newcommand*{\verticalline}[2]{%
  \begin{tikzpicture}[remember picture, overlay]
    \draw [densely dashed] ($(pic cs:#1) + (1ex,1.8ex)$)
      -- ($(pic cs:#2) + (1ex,-0.3ex)$);
  \end{tikzpicture}
}
\begin{document}
\[
  \begin{pmatrix}
     1 & 0 & 0 \tikzmark{oben} & x \\
     0 & 1 & 0 & y \\
     0 & 0 & 1 \tikzmark{unten} & z
  \end{pmatrix}
\]
\verticalline{oben}{unten}
\end{document}

Matrix mit Linie

Permanenter link

beantwortet 23 Jun '14, 13:47

Student's gravatar image

Student
5807779104
Akzeptiert-Rate: 82%

bearbeitet 23 Jun '14, 13:49

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
×117
×30
×2
×1

gestellte Frage: 23 Jun '14, 00:26

Frage wurde gesehen: 18,394 Mal

zuletzt geändert: 23 Jun '14, 13:49