Frage zu einer Fehlermeldung bei tikzpicture

Formelsatz für Mathematik, Naturwissenschaften und Technik


Cookie

Frage zu einer Fehlermeldung bei tikzpicture

Beitrag von Cookie »

Hallo liebes Forum,

ich bin Schreiben meiner Bachelorarbeit und muss ein Template verwenden, das ich nicht verstehe. Ich bin mir auch nicht sicher, ob ich das hier hochladen darf, darum also erst mal nur das Problem, evtl hat das ja schon einmal jemand gehabt.

Es geht um folgenden Automaten:
\begin{tikzpicture}[->,>=stealth ’,semithick,node distance =2cm]
\node[state ,initial]      (A)                 {1};
\node[state]               (B) [right of=A]    {2};
\node[state]               (C) [right of=B]    {3};
\node[state ,accepting]    (D) [right of=C]    {4};
\path (A) edge      [below]        node {a} (B)
%      (B) edge      [below]        node {b,c} (C)
      (C) edge      [below]        node {b,c} (D)
%      (D) edge      [below]        node {d} (D);      
\end{tikzpicture}


wenn ich nun die dringend benötigten Zeilen/Pfade nicht auskommentiere über % erhalte ich von pdflatex folgende Fehlermeldung:

! Missing \endcsname inserted.
<to be read again>
\T1\textquoteright
l.43 ... (D) edge [below] node {d} (D)
;
! Extra \endcsname.
\pgf@arrow@fullname ...me pgf@ar@par@#1\endcsname

l.43 ... (D) edge [below] node {d} (D)
;
(That makes 100 errors; please try again.)


damit bricht er ab und es wird keine PDF erstellt. Wenn die Zeilen jedoch auskommentiert sind, so wie oben, dann funktioniert es. Es scheint so als könne ich nur zwei Pfade anlegen.

Danke für alle Tipps im Voraus!
Cookie

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Du hättest daraus wenigstens ein kleines - bis auf die Fehler lauffähiges - Beispiel erstellen können. So ist es mal wieder Rätselraten. Vermutlich ist es nur die falsche Angabe für die Pfeilspitze (Leerzeichen entfernt und letztes Zeichen getauscht). Das folgende läuft jedenfalls, wenn auch edge von Node D nach Node D zumindest in meinem Beispiel keinen Sinn macht und ein erwartet seltsames Ergebnis liefert:
\documentclass[margin=5pt]{standalone}
\usepackage[T1]{fontenc}
\usepackage{tikz}
\usetikzlibrary{arrows}
\tikzset{
  state/.style={},
  initial/.style={},
  accepting/.style={}
}
\begin{document}
\begin{tikzpicture}[->,>=stealth',semithick,node distance =2cm] 
\node[state ,initial]      (A)                 {1}; 
\node[state]               (B) [right of=A]    {2}; 
\node[state]               (C) [right of=B]    {3}; 
\node[state ,accepting]    (D) [right of=C]    {4}; 
\path
      (A) edge [below] node{a} (B) 
      (B) edge [below] node {b,c} (C) 
      (C) edge [below] node {b,c} (D) 
      (D) edge [below] node {d} (D)
;
\end{tikzpicture}
\end{document}

Bartman
Forum-Meister
Forum-Meister
Beiträge: 2456
Registriert: Do 16. Jul 2009, 21:41
Wohnort: Hessische Provinz

Beitrag von Bartman »

Gemäß der verwendeten Stile nutzt Du vermutlich die Bibliothek automata. Deine letzte Zeile nach \path sieht nach einer Schleife aus.
\documentclass[tikz, border=5pt]{standalone}
\usetikzlibrary{automata, arrows.meta}

\begin{document}
\begin{tikzpicture}[>/.tip=Stealth, semithick, node distance=2cm, auto=right] 
\node [state, initial]   (A)              {1}; 
\node [state]            (B) [right of=A] {2}; 
\node [state]            (C) [right of=B] {3}; 
\node [state, accepting] (D) [right of=C] {4}; 
\path [->]
   (A) edge              node {a}   (B) 
   (B) edge              node {b,c} (C) 
   (C) edge              node {b,c} (D) 
   (D) edge [loop below] node {d}   ()
;
\end{tikzpicture}
\end{document}

Cookie

Beitrag von Cookie »

Danke, das funktioniert - wie sich herausstellt ist offenbar das Hochkomma schuld - warum nur bei mehr als zwei Pfaden - davon habe ich keine Ahnung

>=stealth statt >=stealth ' wie es in diesem Beispiel hier lautet: https://hauke-stieler.de/public/tikz-fo ... chines.pdf

Danke für die schnelle Hilfe!

Antworten