Wie zeichne ich ein Diagramm in LaTeX?

74

Lassen Sie mich zunächst sagen, dass ich LyX verwende, obwohl ich kein Problem mit ERT habe.

Zweitens, was ist der einfachste Weg, um ein einfaches Diagramm wie dieses in Latex zu zeichnen? Alt-Text

Ich habe einige Dokumente mit Grafiken gesehen und einige Beispiele, aber ich konnte nicht herausfinden, wie man einfach eine einfache Grafik zeichnet - welche Pakete brauche ich usw.?

Amir Rachum
quelle

Antworten:

105

TikZ kann das.

Eine kurze Demo:

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}
  [scale=.8,auto=left,every node/.style={circle,fill=blue!20}]
  \node (n6) at (1,10) {6};
  \node (n4) at (4,8)  {4};
  \node (n5) at (8,9)  {5};
  \node (n1) at (11,8) {1};
  \node (n2) at (9,6)  {2};
  \node (n3) at (5,5)  {3};

  \foreach \from/\to in {n6/n4,n4/n5,n5/n1,n1/n2,n2/n5,n2/n3,n3/n4}
    \draw (\from) -- (\to);

\end{tikzpicture}

\end{document}

produziert:

Geben Sie hier die Bildbeschreibung ein

Weitere Beispiele unter http://www.texample.net/tikz/examples/tag/graphs/

Weitere Informationen zu TikZ: http://sourceforge.net/projects/pgf/, wo ich denke, dass auch eine Installationsanleitung vorhanden sein wird.

Bart Kiers
quelle
2
Insbesondere kann das tkz-berge-Paket besonders nützlich sein.
Alex R
@ Alex, toller Link! (obwohl es am Ende des More examplesLinks ist, den ich bereits gepostet habe :))
Bart Kiers
1
Zurück zu dieser Frage: Müssen die Koordinaten angegeben werden? Kann es irgendwie mit sich selbst umgehen?
Amir Rachum
Wie kann ich auch gerichtete Kanten mit Notationen hinzufügen?
Amir Rachum
1
@Amir Rachum, die Beispielseite in meiner ursprünglichen Antwort zeigt eine Grafik mit Kanten (siehe "Beispiel: Ein Petri-Netz für Hagen"). Ob es möglich ist, ein automatisches Layout zu erstellen , wie es Graphviz tut, weiß ich nicht.
Bart Kiers
3

Abgesehen von dem (ausgezeichneten) Vorschlag, TikZ zu verwenden, könnten Sie Gastex verwenden . Ich habe dies verwendet, bevor TikZ verfügbar war, und es hat auch seinen Job gemacht.

Pieter
quelle
2

Vielleicht verwenden Sie Tikz .

unutbu
quelle
Wie können Sie mir helfen, dieses Paket zu installieren?
Amir Rachum
@Amir Gehen Sie zur Download-Seite von sourceforge, um das Paket zu erhalten, und lesen Sie dann die Anweisungen - sie sind ziemlich einfach.
zdav
3
@Amir: Wie Sie das Paket installieren, hängt von Ihrem Betriebssystem ab. Unter Ubuntu tikzwird durch das pgfPaket bereitgestellt. Alles was man dort tun muss ist sudo apt-get install pgf.
Unutbu
2
In Windows musste ich nichts tun. Sobald ich das \ usepackage {tikz} in meiner Präambel hatte, erledigte miktex den Rest. Gleiches gilt für Mac. Es musste nichts getan werden, ich musste nur das Paket anrufen.
Vivi
2

Ich habe graphviz ( https://www.graphviz.org/gallery ) zusammen mit LaTeX mit dem Befehl dot verwendet, um Diagramme in PDF zu generieren und diese einzuschließen includegraphics.

Wenn graphviz das produziert, was Sie anstreben, ist dies möglicherweise der beste Weg, um Folgendes zu integrieren: dot2tex: https://ctan.org/pkg/dot2tex?lang=de

Ville Laitila
quelle
1
dot2tex ist gut und das dot2texi LaTeX-Paket ist sehr gut. Sie können Ihr Diagramm inline in Ihrer .tex-Datei im Punktformat definieren und dann mit TikZ kommentieren (siehe das schöne Beispiel am Ende von fauskes.net/code/dot2tex/documentation/… ).
Mark
0

Nach meiner Erfahrung verwende ich immer nur ein externes Programm, um das Diagramm (Mathematica, Gnuplot, Matlab usw.) zu generieren und das Diagramm als PDF- oder EPS-Datei zu exportieren. Dann füge ich es mit in das Dokument ein includegraphics.

zdav
quelle