Seite 1 von 1

Frage zu einer Fehlermeldung bei tikzpicture

Verfasst: Di 24. Jul 2018, 19:31
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

Verfasst: Di 24. Jul 2018, 20:08
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}

Verfasst: Di 24. Jul 2018, 20:26
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}

Verfasst: Mi 25. Jul 2018, 09:48
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!