LaTeX Extra > LaTeX Pakete > Adigraph


adigraph Paket

Das adigraph Paket (Version v1.7.1 Dezember 2018) ermöglicht es gerichtete und ungerichtete Graphen zu zeichnen.[1] Dabei können die Kanten und die Knoten beschriftet werden. Auch ist es möglich die Farbe und die Art der Verbindungen zwischen den Knoten zu verändern.

Paket einbinden

Das adigraph Paket wird mit \usepackage{adigraph} eingebunden. Das Paket verfügt zur Zeit über keine Optionen.

Befehle

Mit den Befehlen \NewAdigraph{Name}{Knoten/Kanten} und \RenewAdigraph{Name}{(neue) Knoten / (neue) Kanten} können Knoten und Kanten erstellt beziehungsweise kann ein bestehender Graph verändert werden.

Knoten und Kanten setzen

Zu Beginn wird der Name des Graphen festgelegt. Über diesen Namen lässt sich der Graph dann an der gewünschten Stelle im Dokument einfügen. Es ist dabei auch möglich, den Graphen mehrfach und an unterschiedlichen Stellen im Dokument zu verwenden. Die Knoten werden mit einem Namen / Label und den Koordinaten an denen sie stehen sollen versehen.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}

\Nikolaus{}
\end{document}
5 Knoten eines Graphen die noch nicht miteinander verbunden sind mit LaTeX gesetzt.

Mit dem Befehl \RenewAdigraph{Name}{(neue) Konten / (neue) Kanten} kann ein bereits definiert Graph verändert werden. Sodass in dem Fall, dass ein Graph verändert werden soll, zum Beispiel durch Hinzufügen und / oder Entfernen einzelner Knoten oder dem Hinzufügen oder Entfernen von Kanten, es nicht notwendig ist den Graph neu zu erstellen, sondern es ist ausreichend den bisherigen zu verändern.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}
%...
\RenewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{
A,B; B,C;
C,A; A,D;
D,E; E,C;
C,D; D,B;
}
\Nikolaus{}
\end{document}
Das Haus des Nikolaus als gerichteter Graph mit LaTeX gezeichnet.
Um anstelle der Pfeile Kanten zu erhalten wird die Option [-] des \RenewAdigraph{Name}{...}[Option] Befehls verwendet.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}
%...
\RenewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{
A,B; B,C;
C,A; A,D;
D,E; E,C;
C,D; D,B;
}[-]
\Nikolaus{}
\end{document}
Das Haus des Nikolaus als ungerichteter Graph mit LaTeX gezeichnet.
Sowohl die Knoten wie auch die Kanten können in einer anderen Farbe dargestellt werden. Die Kanten zudem mit einer Gewichtung versehen werden.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}


\RenewAdigraph{Nikolaus}{
A,blue:0,0;
B,green:2,0;
C,red:2,2;
D:0,2;
E:1,3.4}{
A,B:1;
B,C:2;
C,A:3::near start;
A,D:4;
D,E:5;
E,C:6;
C,D:7;
D,B:8::near end;
}[-]

\Nikolaus{} bzw.
\Nikolaus{A,B,C,A,D,E,C,D;}
\end{document}
Zwei Varianten eines ungerichteten Graphens mit verschiedenfarbigen Knoten und Kanten in LaTeX gezeichnet.
Beim zweiten Graph wurde die Verbindung des Knoten B zum Knoten D nicht in dem Befehl \Nikolaus{A,B,C,A,D,E,C,D;} aufgenommen und daher ist diese Verbindung nach wie vor schwarz.

Die Verbindung von allen anderen Knoten zu einem bestimmten Knoten lässt sich über den Kleene Stern Operator realisieren.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}


\RenewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{
E,*,blue;
*,A,red;
}

\Nikolaus{} 
\end{document}
Ein gerichteter Graph in dem der Kleene Stern Operator verwendet wird.

Das Paket biete eine breite Palette an Möglichkeiten bezüglich des Designs und der Gestaltung der Graphen. Das abschließende Beispiel bietet einen kurzen Ausblick was machbar ist.
\documentclass[margin=1cm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{adigraph}
\begin{document}

\NewAdigraph{Nikolaus}{
A:0,0;
B:2,0;
C:2,2;
D:0,2;
E:1,3.4}{}

\RenewAdigraph{Nikolaus}
{
5:0,0;
6:4,0;
4:4,4;
3:0,4;
1:2,6;
2:8,4;
0:8,0;
}{
5,5:1;
6,5:2;
5,3:3;
3,6:6;
3,4:1;
3,1:7;
1,3:99:0; 
% die 99 
% ist nur drin damit 
% die Null erscheint 
1,2:2;
4,1:2;
4,2:1;
2,0:1;
0,6:3;
6,4:5;
6,2:3;
}
\Nikolaus{}{5,3;}


\end{document}
Beispiel für einen komplizierten Graphen.

Literatur

[1]
Adigraph, v1.7.1, Luca Cappelletti, December 2018, Online:https://ctan.org/pkg/adigraph