Hallo liebe LaTeX-Freunde, ich möchte die einzelnen Schritte vom Gauß Algorithmus visualisieren. Das funktioniert wunderbar mit dem Open in Online-Editor
\documentclass[preview]{standalone} \usepackage{gauss} \begin{document} \begin{align*} \begin{gmatrix}[p] 1 & \mathsf{x} & \mathsf{x} & \cdots & \mathsf{x} \\ \mathsf{x} & 1 & \mathsf{x} & & \vdots\\ \mathsf{x} & \mathsf{x} & \ddots & \ddots & \\ \vdots & & \ddots & & \mathsf{x} \\ \mathsf{x} & \cdots& & \mathsf{x} & 1 \rowops \add[-1]{0}{1} \add[-1]{0}{2} $\ddots$ \add[-1]{0}{4} \end{gmatrix} \end{align*} \end{document} Hier sollten nun die diagonalen Punkte zwischen den Pfeilen in etwa zwischen dem 2. und dem 3. Edit: Dank der Antwort von sapotello ist obiges Problem gelöst. Bei der Anwendung der Lösung auf die Spaltenoperationen stoße ich nun jedoch auf das Problem, dass die diagonalen Punkte sich nicht richtig in vertikaler Richtung positionieren lassen. Mein Minimalbsp. hierzu: Open in Online-Editor
\documentclass[preview]{standalone} \usepackage{mathdots} \usepackage{gauss} \newcommand*{\dmultlabel}[2]{% \begingroup \renewcommand*\colmultlabel[1]{##1}% \mult{#1}{#2}% \endgroup } \begin{document} \begin{align*} \begin{gmatrix}[p] 1 & \mathsf{x} & \mathsf{x} & \cdots & \mathsf{x} \\ \mathsf{x} & 1 & \mathsf{x} & & \vdots\\ \mathsf{x} & \mathsf{x} & \ddots & \ddots & \\ \vdots & & \ddots & & \mathsf{x} \\ \mathsf{x} & \cdots& & \mathsf{x} & 1 \colops \add[-1]{0}{1} \add[-1]{0}{2} \dmultlabel{3}{\vspace{5em}\iddots} \add[-1]{0}{4} \end{gmatrix} \end{align*} \end{document} gefragt 25 Apr '15, 17:21 Ross |
Ganz auf die Schnelle, könnte man das mit etwas Trickserei beispielsweise durch umdefinieren des Labels für Open in Online-Editor
\documentclass[preview]{standalone} \usepackage{gauss} \newcommand*{\dmultlabel}[2]{% \begingroup \renewcommand*\rowmultlabel[1]{##1}% \mult{#1}{#2}% \endgroup } \begin{document} \begin{align*} \begin{gmatrix}[p] 1 & \mathsf{x} & \mathsf{x} & \cdots & \mathsf{x} \\ \mathsf{x} & 1 & \mathsf{x} & & \vdots\\ \mathsf{x} & \mathsf{x} & \ddots & \ddots & \\ \vdots & & \ddots & & \mathsf{x} \\ \mathsf{x} & \cdots& & \mathsf{x} & 1 \rowops \add[-1]{0}{1} \add[-1]{0}{2} \dmultlabel{3}{\hspace{5em}\ddots}% oder \dmultlabel{3}{\hspace{5em}\ddots\enskip} \add[-1]{0}{4} \end{gmatrix} \end{align*} \end{document} bzw. Das zweite Bild zeigt dabei die auskommentierte Alternative. Zugegeben dabei ist nicht gerade schön, dass man letztlich die horizontale Positionierung der Punkte von Hand machen mussen und auch die vertikale Positionierung einfach darüber erledigt, dass man die Zeile in der Mitte zwischen den beiden Endzeilen von Etwas schöner wird es, wenn der Abstand ein zusätzliches Argument wird. Hier gleich mit einer Variante für die Spaltenmarkierungen: Open in Online-Editor
\documentclass[preview]{standalone} \usepackage{mathdots} \usepackage{gauss} \newcommand*{\dcmultlabel}[3]{% \begingroup \renewcommand*\colmultlabel[1]{##1\rule[-#2\normalbaselineskip]{0pt}{#2\normalbaselineskip}}% \mult{#1}{#3}% \endgroup } \newcommand*{\drmultlabel}[3]{% \begingroup \renewcommand*\rowmultlabel[1]{\hspace{#2em}##1}% \mult{#1}{#3}% \endgroup } \begin{document} \begin{align*} \begin{gmatrix}[p] 1 & \mathsf{x} & \mathsf{x} & \cdots & \mathsf{x} \\ \mathsf{x} & 1 & \mathsf{x} & & \vdots\\ \mathsf{x} & \mathsf{x} & \ddots & \ddots & \\ \vdots & & \ddots & & \mathsf{x} \\ \mathsf{x} & \cdots& & \mathsf{x} & 1 \rowops \add[-1]{0}{1} \add[-1]{0}{2} \drmultlabel{3}{5}{\ddots} \add[-1]{0}{4} \colops \add[-1]{0}{1} \add[-1]{0}{2} \dcmultlabel{3}{3}{\iddots} \add[-1]{0}{4} \end{gmatrix} \end{align*} \end{document} beantwortet 25 Apr '15, 18:05 saputello Danke für deine schnelle Lösung! Wäre noch schön, wenn man das Ganze etwas Platz sparender gestalten könnte, sprich die Pfeile rechts etwas näher an die Matrix rücken und evt. etwas im Horizontalen verkürzen aber das sind wohl nur noch Feinheiten.
(26 Apr '15, 13:15)
Ross
Funktioniert leider bei den Reihenoperationen so nicht. Zumindest nicht mit
(26 Apr '15, 13:48)
Ross
@Ross: Näher geht, indem man den Abstand geringer wählt. Platz brauchen die Pfeile aber immer. Reihenoperationen finde ich in der Frage nicht. Ich weiß auch nicht, was Du da konkret ausprobiert hast. Wenn Du wissen willst, wie man das für Reihenoperationen machen kann, dann frag es! BTW: Wenn das Ganze zunehmen komplex wird, würde ich mit mal
(26 Apr '15, 14:12)
saputello
|
Normalerweise hätte ich sogar einen Feature-Request dafür vorgeschlagen. Allerdings konnte ich keine E-Mail-Adresse des Autors finden. Außerdem scheint die letzte Paketversion von 2003 zu sein und die am Anfang der Paketdatei vermerkten Todo-Einträge bisher nicht umgesetzt zu sein. Falls Du aber eine E-Mail-Adresse des Autors findest, soll Dich das keinesfalls abhalten.