Ich habe in meinem Dokument unheimlich viele png, TiKz und Habt ihr Ideen? Mit |
Die Frage wurde aus folgenden Grund "Duplikat einer anderen Frage" geschlossen saputello 03 Mär '17, 13:07
Bei aufwändigen Plots erhielt ich diese Fehlermeldung auch. Ich habe dann mit LuaTeX übersetzt, wo solche komplexen Plots dann problemlos durchgelaufen sind, LuaTeX' Speicherverwaltung ist da besser. Wenn es keinen ausschlaggebenden Grund gibt, dass Du nur pdfLaTeX verwenden kannst, wäre das eine Lösung. Wenn es jedoch bei pdfLaTeX bleiben muss, kannst Du LuaTeX rein für die Plots einsetzen und die ausgelagerten Plots in Dein Dokument einbinden. Ist nicht sehr komfortabel, für die Plots ein separates Dokument zu pflegen, doch es wäre zumindest eine Lösung. beantwortet 08 Sep '14, 11:57 stefan ♦♦ |
Ok, danke für den Tipp. Jetzt läuft LuaTeX seit 5 min durch. Also offenbar doch eher ein Fehler im Syntax. Ich Poste mal den Code der Zeichnung und hab die Daten verlinkt: profile_xgradient. Open in writeLaTeX
\begin{tikzpicture} \begin{groupplot}[ group style={ group name=my plots, group size=1 by 5, xlabels at=edge bottom, %nur untere Achsenbeschriftung xticklabels at=edge bottom, %nur untere Achsenticks vertical sep=0pt, %Platz zwischen den Diagrammen }, ymin = -30, %Minimum y-Achse ymax = 30, %Maximum y-Achse %ytick = {0.001,0.01,0.1,1}, %Anzahl Zahlen y-Achse xmin = 3, xmax = 8, xlabel={Position [\SI{}{\micro\meter}]}, width=\textwidth, height=0.2\textheight, %ymode=log, no markers, % keine Punkte %legend pos = north west, %Legende oben links %legend style={draw=none},%Legende ohne Rahmen ] \nextgroupplot \addplot [color=black, smooth] table [y index=1, smooth] {profile_xgradient.csv}; \coordinate (left top) at (rel axis cs:0,1); \addlegendentry{\scriptsize{1}}; \nextgroupplot \addplot[color=green, smooth] table [y index=2, smooth] {profile_xgradient.csv}; \addlegendentry{\scriptsize{2}}; \nextgroupplot \addplot[color=blue, smooth] table [y index=3, smooth] {profile_xgradient.csv}; \addlegendentry{\scriptsize{3}}; \nextgroupplot \addplot[color=red!50!blue, smooth] table [y index=4, smooth] {profile_xgradient.csv}; \addlegendentry{\scriptsize{4}}; \nextgroupplot \addplot[color=black!50!green, smooth] table [y index=5, smooth] {profile_xgradient.csv}; \addlegendentry{\scriptsize{5}}; \coordinate (left bot) at (rel axis cs:0,0); \end{groupplot} \path (left top-|current bounding box.west)-- node[anchor=south,rotate=90] {Gradientenwinkel [\SI{}{\degree}]} (left bot-|current bounding box.west); \end{tikzpicture} beantwortet 08 Sep '14, 12:20 lorbj Ach so, schaut euch auch mal bitte das inputfile an. Der Zeilentrenner ist "\r" "\n", vielleicht kommt TeX auch damit nicht klar.
(08 Sep '14, 12:22)
lorbj
1
@lorbj Ich habe die Daten auf TeXwelt hochgeladen. (Diese externe File-Hosting-Seite öffnet unerwünschte Popup-Fenster mit unangenehmer Werbung.) Nochwas: bitte editiere die Frage zum Aktualisieren und Ergänzen von Informationen, statt eine Antwort zu posten (welche die Frage ja nicht beantwortet). Antworten sind hier (nach Stimmen) sortierte Lösungen, für optimale Archiv-Funktion. Ungewohnt, doch innovativ gegenüber Diskussionsforen und sehr effizient zur Nachnutzung der Lösungen.
(08 Sep '14, 12:38)
stefan ♦♦
Enschuldige, nachdem ich das hier geschrieben habe, habe ich den Hinweis gelesen. Wie kann man Dateien hier direkt hochladen?
(08 Sep '14, 12:42)
lorbj
@lorbj Uploaden kann man nur Grafiken, und Texte (tex, log o.a.) als Codeblock. Hab ich bisher nicht ausgedehnt, weil fremde Spammer hier einfallen könnten oder jemand urheberrechtlich geschützte Sachen uploaden könnte, es ist auch ganz selten nötig. Probleme lassen sich fast immer kurz darstellen, mit mehr oder weniger Mühe. Hier ist ein Fehler offenbar eine fehlende öffnende geschweifte Klammer in letzten groupplot.
(08 Sep '14, 13:21)
stefan ♦♦
Oh, entschuldige, die Klammer ist da. Die ist mit beim Entfernen der Pfadangabe wohl abhanden gekommen. Es wäre auch zu schön gewesen... ;-)
(08 Sep '14, 13:37)
lorbj
@lorbj Der Codeausschnitt läuft bei mir auch mit pdfLaTeX fehlerfrei durch. Für mich ist es daher kein Syntaxproblem. Ich habe noch siunitx und die groupplots library geladen, damit es lauffähig wird. In diesem Sinne wäre es schon gut, Minimalbeispiele zu posten, eher jeder Leser, der testen will, erstmal fehlendes herausfinden und einbauen muss. Vllt. update zu einem Minimalbeispiel, das den Fehler auch produziert, das kannst Du in die Frage oben rein-editieren, die Nicht-Antwort hier kann dann weg.
(08 Sep '14, 13:57)
stefan ♦♦
Ich versteh schon, dass du gerne ein Minimalbeispiel hättest. Das Problem ist ja aber genau, dass es einzeln kompiliert durchläuft, auch bei mir. Nur sobald ich ein weiteres Kapitel einkommentiere kommt der Fehler (das andere Kapitel läuft dabei alleine auch und wenn ich die Grafik auskommentiere läuft es auch). Ich kann den Fehler in einem Minibeispiel nicht reproduzieren. Ist es realistisch, dass LateX mit so einem kleinen Dokument mit mit 50 Seiten ein Problem hat!? Und Lualatex beleibt einfach am Anfang ohne Rückmeldung hängen.
(08 Sep '14, 14:16)
lorbj
Mit pdfLaTeX hatte ich schon mit einem einzigen Plot (mit vielen Punkten) Speicher-Probleme, das ist also realistisch. LuaTeX half da. Das Hängenbleiben mit LuaTeX kann eine andere Ursache haben. Vllt. grenze das als ein Minimalbeispiel ein und poste als separate Frage, um diesen Teil abzuklären.
(08 Sep '14, 14:26)
stefan ♦♦
Ich denke da hast du Recht. Nur noch eine Nachfrage: Kann man LaTeX Code 1:1 nach Lua übernehmen? Ich bin mit meiner Arbeit nämlich fast durch und es wäre Irrsinn, wenn man das ganze Dokument nochmal an LuaTeX anpassen müsste. Da wäre die Variante mit dem auslagern der Plots nämlich einfacher.
(08 Sep '14, 14:35)
lorbj
@lorbj Du brauchst nicht mal Lua. LuaTeX ist nur die neue Engine darunter. LaTeX-Dokumente funktionieren oft sofort mit LuaLaTeX ohne jegliche Änderung, wenn utf8-Eingabecodierung verwendet wird, bei LuaTeX ist das Standard (nicht applemac oder latin1 z.B.) - die inputenc-Zeile solltest Du dann weglassen. Ansonsten poste evtl, eine separate Frage, was beim Umstieg von pdfLaTeX auf LuaLaTeX zu beachten ist, da können Tipps zusammenkommen. Wäre generell hilfreich und informativ.
(08 Sep '14, 15:15)
stefan ♦♦
Ergebnis 5 von 10
show 5 more comments
|
Nach einiger Sucherei habe ich beschlossen doch nochmal der external-libary eine Chance zu geben, was jetzt auch funktioniert. Folgende drei Zeilen haben das Problem beseitigt: Open in writeLaTeX
\usepgfplotslibrary{external} \tikzexternalize \tikzsetexternalprefix{external_figs/} Wenn ich alles richtig verstanden habe, werden dabei in einem ersten Lauf alle Bilder in das Verzeichnis external_figs compiliert. Außerdem wir vorher eine Prüfsumme berechnet, mit der sichergestellt wird, dass nur veränderte Dateien neu Compiliert werden. Alles in allem ganz brauchbar. Vielen Dank nochmal Stefan, aber ich wollte nicht meine ganze Präambel auseinandernehmen, ich denke, dass hätte ein riesiges Chaos gegeben. beantwortet 08 Sep '14, 16:54 lorbj |
Wie die Fehlermeldung sagt, wurde main memory überschritten. Input stack size ist bei TeX etwas ganz anderes und hat damit nichts zu tun! Ich habe deshalb den Titel der Frage angepasst.