
Ich bin neu bei TikZ (und LaTeX) und versuche, ein Diagramm mit Knoten zu erstellen.
Ich habe das Handbuch gelesen und mit derselben Methode wie im Bild ein Diagramm erstellt. Ich möchte jetzt meine Kanten beschriften, aber wenn ich versuche, sie wie im Handbuch zu beschriften, funktioniert es nicht.
Mein Code ist unten. Bitte helfen Sie!!
\begin{tikzpicture}
[node/.style = {circle,draw}]
\node[node] (B) {B};
\node[node] (A) [below of=B, xshift = -20mm] {A}
edge [-] {1} (B); % would like to label this edge "1"
\node[node] (C) [below of=B] {C}
edge [-] {1} (A); % would like to label this edge "1"
\node[node] (D) [below of=C] {D}
edge [-] {1} (A); % would like to label this edge "1"
\node[node] (E) [below of=B, xshift = 20mm] {E}
edge [-] {1} (B) % would like to label this edge "1"
edge [-] {1} (C) % would like to label this edge "1"
edge [-] {1} (D); % would like to label this edge "1"
\end{tikzpicture}
Antwort1
Eine Möglichkeit besteht darin, die Bibliothek zu verwenden quotes
. (Wenn Sie das babel
Paket verwenden, müssen Sie auch die Bibliothek laden babel
.)
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{quotes}
\begin{document}
\begin{tikzpicture}[node/.style = {circle,draw}]
\node[node] (B) {B};
\node[node] (A) [below of=B, xshift = -20mm] {A}
edge [-,"1"] (B); % would like to label this edge "1"
\node[node] (C) [below of=B] {C}
edge [-,"1"] (A); % would like to label this edge "1"
\node[node] (D) [below of=C] {D}
edge [-,"1"] (A); % would like to label this edge "1"
\node[node] (E) [below of=B, xshift = 20mm] {E}
edge [-,"1"] (B) % would like to label this edge "1"
edge [-,"1"] (C) % would like to label this edge "1"
edge [-,"1"] (D); % would like to label this edge "1"
\end{tikzpicture}
\end{document}
Antwort2
Bei Verwendung der TikZ-Bibliotheken automata
, positioning
und quotes
werden Knoten und Pfade separat gezeichnet. Zur Positionierung der Knoten wird die in der positioning
Bibliothek festgelegte Syntax verwendet:
\documentclass[tikz,border=3mm]{standalone}
\usetikzlibrary{automata,
positioning,
quotes}
\begin{document}
\begin{tikzpicture}[
node distance = 15mm, on grid,
every state/.style={semithick, minimum size=1em, inner sep=2pt},
every edge/.append style = {-},
every edge quotes/.append style = {auto, font=\footnotesize, inner sep=2pt}
]
\begin{scope}[nodes={state}]
\node (C) {C};
\node (A) [ left=of C] {A};
\node (B) [above=of C] {B};
\node (E) [right=of C] {E};
\node (D) [below=of C] {D};
\end{scope}
%
\path (A) edge ["1"] (B)
(B) edge ["1"] (E)
(E) edge ["1"] (D)
(D) edge ["1"] (A)
%
(A) edge ["1"] (C)
(C) edge ["1"] (E);
\end{tikzpicture}
\end{document}