Seite 1 von 2
TeX capacity exceeded, sorry [main memory size=3000000]
Verfasst: Mo 7. Nov 2016, 17:50
von MenschMax
Hallo,
da das hier ein neues Problem ist: neues Thema.
Habe eine Datei mit ganz vielen Daten die ich mittels tikz einbinden möchte. Dabei erhalte ich leider stets die Fehlermeldung:
TeX capacity exceeded, sorry [main memory size=3000000]
Im Internet habe ich leider keine aktuellen Beiträge zu diesem Thema gefunden. Gibt es hier aktuelle Lösungen zu?
Hier:
http://tex.stackexchange.com/questions/ ... y-overload
wird darauf verwiesen, über
\usepgfplotslibrary{external}
\tikzexternalize
das ganze extern zu erzeugen.
Ist das die beste Lösung?
Grüße und Danke
Max
Verfasst: Mo 7. Nov 2016, 18:24
von Gast
Die beste Lösung ist die Verwendung von lualatex. Das fordert benötigten Speicher dynamisch vom OS an, während pdflatex mit Arrays arbeitet, deren Größe normalerweise bei der Formaterzeugung festgelegt werden oder über zusätzliche Parameter beim Aufruf. Näheres dazu ist in Abschnitt 6 der [d]pgfplots[/d]-Anleitung zu finden.
Wobei: In der Regel kann man ohnehin nur eine begrenzte Anzahl an Daten unterscheidbar darstellen. Ich habe schon gesehen, dass Leute mehr Datenpunkte darstellen wollten als entsprechend der Druckauflösung auf einzelne Punkte verteilbar waren. Manchmal ist es also schlicht sinnvoll, die Datenmenge entsprechend zu reduzieren.
Verfasst: Mo 7. Nov 2016, 19:33
von Gast
Verfasst: Mo 7. Nov 2016, 19:52
von MenschMax
Hallo Gast, Danke für deine Hilfe!
Hab das mal hier probiert:
\documentclass[a4paper,12pt,twoside]{report}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage[utf8]{luainputenc}
\usepackage{pgfplots, pgfplotstable}
\pgfplotsset{compat=1.10}
\usepackage{tikz}
\usepackage{csvsimple}
\usepackage{float}
\begin{document}
Test
\begin{figure}[H]
\begin{center}
\begin{tikzpicture}
\begin{semilogyaxis}[
legend style={at={(0,0.95)},xshift=0.2cm,anchor=north west,nodes=right} ,
legend entries ={Fall a, Fall b,ohne Sonne},
width=\linewidth, % Scale the plot to \linewidth
grid=major,
grid style={dashed,gray!30},
xlabel=Anzahl Iterationen,
ylabel=Residuum,
xmin=0, xmax=5000,
ymin=270, ymax=330,
x tick label style={rotate=45,anchor=east},
xtick={0,1000,2000,...,10000},
]
\addplot table[x=Iterationen, y=Outlet_FaRi, no marks] {Grob.txt};
\end{semilogyaxis}
\end{tikzpicture}
\caption{My first autogenerated plot.}
\end{center}
\end{figure}
\end{document}
Anschließend TeXnicCenter 2.02 mit LuaLatex -- > PDF drüber laufen lassen. Läuft ohne Fehler und Warnungen durch -- > jedoch kein PDF wird erzeugt.
In den Anleitungen steht lediglich, dass inputenc nicht verwendet werden darf?
Was mach ich hier falsch?
PS: Daten kürzen macht bei mir wenig Sinn da die Daten stehts schwanken und dass dann eine Art Glättung bewirken würde.
Grüße und Danke
Verfasst: Mo 7. Nov 2016, 19:56
von Gast
Du machst falsch, dass du dir nicht angeschaut hast, was bei lualatex anders ist. Wie xelatex ist das nämlich eine Engine, die utf8 als native Codierung hat. Man verwendet weder inputenc noch fontenc:
Wie steige ich auf Xe/LuaLaTeX um?
Am besten besorgst du dir eine LaTeX-Einführung, in der auch XeLaTeX und LuaLaTeX behandelt werden.
Verfasst: Mo 7. Nov 2016, 20:00
von Gast
Und wenn du schob dabei bist, schau dir auch noch »
! LaTeX Error: Unknown float option H« an.
Verfasst: Di 8. Nov 2016, 11:02
von Bartman
Mein Vorschlag:
\RequirePackage{luatex85}% <- eingefügt
\documentclass[border=5pt]{standalone}
\usepackage{fontspec}
\usepackage[ngerman]{babel}
\usepackage{pgfplots}
\pgfplotsset{
compat=1.14,
/pgf/number format/.cd,
use comma,
1000 sep=\thinspace, % Änderung des Tausendertrennzeichens
min exponent for 1000 sep=4 % nicht bei vierstelligen Zahlen
}
\begin{document}
\begin{tikzpicture}
\begin{axis}[
scaled ticks=false,%<- eingefügt
legend style={at={(0,0.95)},xshift=0.2cm,anchor=north west,nodes=right},
legend entries ={Fall a, Fall b,ohne Sonne},
width=\linewidth, % Scale the plot to \linewidth
grid=major,
no markers,%<- eingefügt
grid style={dashed,gray!30},
xlabel=Anzahl Iterationen,
ylabel=Residuum,
xmin=0, xmax=5000,
ymin=270, ymax=330,
xtick={0,1000,...,5000}
]
\addplot table[x=Iterationen, y=Outlet_FaLe] {Daten.txt};
%\addplot table[x=Iterationen, y=Outlet_FaRi] {Daten.txt};
%\addplot table[x=Iterationen, y=Outlet_Fond_FeRi] {Daten.txt};
%\addplot table[x=Iterationen, y=Outlet_Fond_FeLe] {Daten.txt};
%\addplot table[x=Iterationen, y=Outlet_Fond_central] {Daten.txt};
%\addplot table[x=Iterationen, y=Outlet_FaCeLe] {Daten.txt};
%\addplot table[x=Iterationen, y=Outlet_FaCeRi] {Daten.txt};
\end{axis}
\end{tikzpicture}
\end{document}
In meinem Beispiel wird das Paket
luatex85 vor der Dokumentklasse geladen, weil ich sonst auf meinem aktuellen MiKTeX-System eine
Fehlermeldung erhalte.

Verfasst: Di 8. Nov 2016, 11:54
von MenschMax
Das klappt ganz gut für manche Plots, aber für manche bekomme ich genau das gleiche abgehackte Diagramm wie du Bartman. Dabei ist das Diagramm in Excel viel kontinuierlicher. Wieso interpoliert hier Latex nicht schön?
Verfasst: Di 8. Nov 2016, 12:07
von MenschMax
Oh man ich glaub mir bleibt keine Alternative als dieses LuaLatex.
Boar ich hasse Latex sooooooooooo

Verfasst: Di 8. Nov 2016, 12:20
von MenschMax
So hab mich wieder beruhigt.
Selbst für das vorgeschlagene Beispiel auf der Verlinkung
http://texwelt.de/wissen/fragen/15780/w ... ualatex-um passiert nichts:
\documentclass{article}
\usepackage[ngerman]{babel}
\usepackage{libertine}
\usepackage{mwe}
\begin{document}
\Blinddocument
\end{document}
Woran kann das liegen? Muss ich etwas an den Ausgabeprofilen umstellen?