Hallo Leute,

ich habe das Problem, dass ich mit TikZ /pgfplots eine Grafik erstellt habe und die auch kompiliert wird. Wenn ich die in mein Dokument einbinde, erhalte ich die Fehlermeldung "! TeX capacity exceeded, sorry [input stack size=5000].". Hier mein Minimalbeispiel, für das ich mich schon jetzt mal entschuldigen möchte, da es ja keinen Fehler produziert.

Da isses:

Open in writeLaTeX
\documentclass{article}
\usepackage{filecontents}
\usepackage{tikz}
\usepackage{pgfplots}
\pgfplotsset{compat=1.10}
\usetikzlibrary{calc, intersections,decorations.pathmorphing,decorations.markings,pgfplots.groupplots, quotes,angles}
\usepackage{tikzscale}
\usepackage{textcomp}

\begin{filecontents}{Bild.tikz}
\begin{tikzpicture}
\begin{axis}[
   ylabel = {\small{$y$}},
   xlabel = {\small{$x$}},
   ylabel style={rotate=-90},
   smooth,
   xmin = 0,
   xmax = 10,
   ymin = 0,   
   ymax = 10,
   legend style={draw=none},
   legend pos = south east,
    xtick=\empty,
    ytick=\empty,
    axis lines=left,
]

\draw[->] (axis cs: 2,9) -- (axis cs: 2,8);
\draw[->] (axis cs: 2.2,9) -- (axis cs: 2.2,8);
\draw[->] (axis cs: 2.4,9) -- (axis cs: 2.4,8);

\addplot[black, domain=0:7, samples=25, smooth, name path = parabel_oben]{0.1*x^2+4};
\addlegendentry{\scriptsize {$y = f(y,0)$}};
\addplot[red, domain=0:7, samples=25, smooth, name path = parabel_unten]{0.06*x^2+2};
\addlegendentry{\scriptsize {$y = f(y,t)$}};
\addplot[name path = normale_a, dotted, white ]{-(10/4)*x+(9.4)};
\addplot[name path = begrenzung_unten, dotted, white]{0.6*x+1.5};
\addplot[name path = begrenzung_oben, dotted, white]{0.4*x+5.5};
\addplot[name path = normale_b, dotted, white ]{-(10/7)*x+(10.225)};

\path [name intersections={of = normale_a and begrenzung_oben}];
\coordinate (A)  at (intersection-1);
\path [name intersections={of = normale_a and begrenzung_unten}];
\coordinate (B)  at (intersection-1);
\path [name intersections={of = normale_b and begrenzung_oben}];
\coordinate (C)  at (intersection-1);
\path [name intersections={of = normale_b and begrenzung_unten}];
\coordinate (D)  at (intersection-1);
\draw[dotted] (A) -- (B);
\draw[dotted] (C) -- (D);

\path[name path = vertikale_a] (axis cs: 2,0) -- (axis cs: 2,10);
\path[name path = vertikale_b] (axis cs: 3.5,0) -- (axis cs: 3.5,10);

\path [name intersections={of = vertikale_a and begrenzung_oben}];
\coordinate (A)  at (intersection-1);
\path [name intersections={of = vertikale_a and parabel_oben}];
\coordinate (B)  at (intersection-1);
\path [name intersections={of = vertikale_b and begrenzung_oben}];
\coordinate (C)  at (intersection-1);
\path [name intersections={of = vertikale_b and parabel_oben}];
\coordinate (D)  at (intersection-1);

\draw (A) -- (B);
\draw (C) -- (D);

\path [name intersections={of = vertikale_a and parabel_oben}];
\coordinate (A)  at (intersection-1);
\path [name intersections={of = vertikale_a and parabel_unten}];
\coordinate (B)  at (intersection-1);
\path [name intersections={of = vertikale_b and parabel_oben}];
\coordinate (C)  at (intersection-1);
\path [name intersections={of = vertikale_b and parabel_unten}];
\coordinate (D)  at (intersection-1);

\draw[dashed] (A) -- (B);
\draw[dashed] (C) -- (D);

\path [name intersections={of = vertikale_a and normale_a}];
\coordinate (A) at (intersection-1);
\node[anchor = south east] at ($(A)-(1,1)$) {\scriptsize{$A(x,y)$}};
\path [name intersections={of = vertikale_b and normale_b}];
\node[anchor = north west] at ($(intersection-1)+(1,2.5)$) {\scriptsize{$B(x+\delta x,y+\delta y)$}};

\path [name intersections={of = normale_a and begrenzung_oben}];
\coordinate (A)  at (intersection-1);
\path [name intersections={of = vertikale_a and begrenzung_oben}];
\coordinate (B)  at (intersection-1);
\path [name intersections={of = vertikale_a and normale_a}];
\coordinate (C)  at (intersection-1);

\path (B) -- (C) -- (A)  pic[draw, "\scriptsize{$\phi$}", angle radius=2cm, angle eccentricity=1.1, <->, ] {angle = B--C--A};

\path [name intersections={of = normale_b and begrenzung_oben}];
\node (A)  at (intersection-1){};
\path [name intersections={of = vertikale_b and begrenzung_oben}];
\node (B)  at (intersection-1){};
\path [name intersections={of = vertikale_b and normale_b}];
\node (C)  at (intersection-1){};

\path (B) -- (C) -- (A) pic["\scriptsize{$\phi+\delta\phi$}", draw=black, <->, angle eccentricity=1.2, angle radius=1.7cm] {angle=B--C--A};

\end{axis}
\end{tikzpicture}
\end{filecontents}

\begin{document}
\includegraphics[width=\textwidth]{Bild.tikz}
\end{document}

Den Übeltäter hab ich auch schon ausfindig gemacht, es sind die Winkelbeschriftungen:

Open in writeLaTeX
\path (B) -- (C) -- (A)  pic[draw, "\scriptsize{$\phi$}", angle radius=2cm, angle eccentricity=1.1, <->, ] {angle = B--C--A};

und:

Open in writeLaTeX
\path (B) -- (C) -- (A) pic["\scriptsize{$\phi+\delta\phi$}", draw=black, <->, angle eccentricity=1.2, angle radius=1.7cm] {angle=B--C--A};

Wenn ich die auskommentiere, dann läuft es durch.

Hat jemand ne Idee?

Danke schonmal!

gefragt 23 Jul '14, 14:28

lorbj's gravatar image

lorbj
1392713
Akzeptiert-Rate: 33%

Da alles tut - was ist jetzt nochmal das Problem?

(23 Jul '14, 14:35) cis

Na hab ich ja geschrieben. Die Meldung kommt erst, wenn ich das in mein Hauptdokument einbinde.

(23 Jul '14, 14:38) lorbj

Und Hauptdokument meint die letzten 3 Zeilen? Also bei mir läuft das ohne Weiteres durch.

(23 Jul '14, 14:39) cis

Nein. Ich hab mich missverständlich ausgedrückt. Sorry. Also, ich schreib ne Doktorarbeit und da sind ne Menge Zeichnungen drin. Und wenn ich das Bild oben noch dazu packe, bekomm ich die Fehler. Das Beispiel läuft durch, aber ich kann ja schlecht meine Arbeit posten.

(23 Jul '14, 14:44) lorbj

Evtl. versteh ichs nicht, wenn ich jedenfalls in Deinem MWE - den Dokumentrahmen auskommentiere (filecontents drinnlasse) und unter Test.tex abspeichere, tut auch \include{Test} problemlos - schätze der Fehler liegt in Weiterem. Ohne das zu kennen, wird es vermutlich schwer.

(23 Jul '14, 14:55) cis

Ja. Siehe unten. ;-)

(23 Jul '14, 14:59) lorbj
Ergebnis 5 von 6 show 1 more comments

Das MWE zeigt zwar keinen Fehler, aber anhand der Beschreibung würde ich darauf tippen, dass du in deinem Dokument entweder babel oder polyglossia mit einer deutschen Spracheinstellung lädst. Dadurch kommt es zu Schwierigkeiten mit der quotes Syntax.

Füge

Open in writeLaTeX
\usetikzlibrary{babel}

vor dem Laden dem Sprachpaketes ein. Siehe auch [TIKZ] Quotes-Library nicht verwendbar mit Polyglossia und Babel

Permanenter link

beantwortet 23 Jul '14, 14:47

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

Tatsächlich. Das war es. BTW, kann man in

path (B) -- (C) -- (A) pic[draw, "scriptsize{$phi$}", angle radius=2cm, angle eccentricity=1.1, <->, ] {angle = B--C--A};

den in einer Einheit abgenben, nix verrutscht? Die Bögen vom Winkel hauen beim skalieren nämlich ab.

Und: wie kann man in Kommentaren Code einfügen?

(23 Jul '14, 14:58) lorbj

Das Codeeinfügen ist zum Beispiel hier erklärt.

Skalieren: Das liegt vermutlich an der Art des Skalierens durch das Paket tikzscale. Wird das Bild direkt eingebunden und mit \begin{tikzpicture}[scale=...] skaliert, dann verrutschen die Winkel nicht, wenn ich den pic die Option transform shape gebe.

(23 Jul '14, 15:50) esdd

Ja, das denke ich auch. Allerdings ist das Paket tikzscale wirklich toll, weil man Aspektvervältnisse setzen kann, ohne das die Schriften verzerrt werden. Ich dachte, sowas wie "axis cs" (hab übrigens immer noch nicht gefunden, wie man Code in Kommentaren einfügt) gibt es auch für Abstände, nicht nur für Koordinaten.

(23 Jul '14, 16:12) lorbj

Hast du auf den Link in meinem Kommentar oben geklickt? Da hat @Clemens das mit den Backticks doch gut erklärt? Du kannst auch noch hier (das ist wieder ein Link) schauen.

(23 Jul '14, 16:53) esdd

tikzscale skaliert normal die Abstände. pics sind aber speziell und ein wenig ähnlich zu nodes die nicht so einfach mit skaliert werden genauso wie die Schrift ohne transform shape nicht mitskaliert wird. Siehe dazu auch Wie kann ich eine TikZ Grafik vergößern oder verkleinern?

(23 Jul '14, 16:53) esdd

Ok. Das heißt dann sozusagen: Eine einfache Möglichkeit zur Lösung des Skalierungsproblemes wie zum Beispiel die Verwendung von relativen (Achsen)koordinaten geht nicht.

Test

Geht.

(24 Jul '14, 09:53) lorbj
Ergebnis 5 von 6 show 1 more comments
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×730
×298

gestellte Frage: 23 Jul '14, 14:28

Frage wurde gesehen: 8,128 Mal

zuletzt geändert: 24 Jul '14, 09:55