LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von Permutation » Sa 15. Jan 2022, 18:47

Es scheint wohl an der Zeile
\tikzexternalize[shell escape=-enable-write18]
zu liegen. Mit dieser Zeile läuft es nicht, ohne diese läuft es bei mir auch durch, sogar mit Links.

Ich hatte diese hinzugefügt, da in der Doku steht:
/tikz/external/shell escape={hcommand-line argi} (no default, initially -shell-escape)
Contains the command line option for latex which enables the \write18 feature. For TEX-Live, this is
-shell-escape. For MiKTEX, you should use \tikzexternalize[shell escape=-enable-write18].
Hier mein Lauf mit der problematischen Zeile:
Test.zip
(12.19 KiB) 150-mal heruntergeladen

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von u_fischer » Sa 15. Jan 2022, 17:58

> Leider bekomme ich es bei mir nicht zum Laufen. Ich bekomme immer diese Meldung:

Kann ich auch nicht nachvollziehen. Schau mal in die Test-figure0.log ob sie irgendeinen Hinweis auf einen Fehler gibt.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von Permutation » Sa 15. Jan 2022, 13:11

Vielen Dank für Deine Hinweise. Ich werde mir die Seiten durchlesen.

Ich habe das Projekt übernommen und kämpfe grade mit den Altlasten und muss mich an vielen Stellen auch noch einarbeiten.

Leider bekomme ich es bei mir nicht zum Laufen. Ich bekomme immer diese Meldung:
LaTeX Info: Redefining \ref on input line 60.
LaTeX Info: Redefining \pageref on input line 60.
LaTeX Info: Redefining \nameref on input line 60.
(./Test.out) (./Test.out)
\@outlinefile=\write4

\openout4 = Test.out

\openout3 = Test.auxlock

===== 'mode=convert with system call': Invoking 'lualatex -enable-write18 -halt
-on-error -interaction=batchmode -jobname "Test-figure0" "\def\tikzexternalreal
job{Test}\input{Test}"' ========

\openout3 = Test.auxlock

! Package tikz Error: Sorry, the system call 'lualatex -enable-write18 -halt-on
-error -interaction=batchmode -jobname "Test-figure0" "\def\tikzexternalrealjob
{Test}\input{Test}"' did NOT result in a usable output file 'Test-figure0' (exp
ected one of .pdf:.jpg:.jpeg:.png:). Please verify that you have enabled system
calls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also na
med 'write 18' or something like that. Or maybe the command simply failed? Erro
r messages can be found in 'Test-figure0.log'. If you continue now, I'll try to
typeset the picture.
Wenn ich "external" in
\usetikzlibrary{fit,calc,external}
entferne, läuft er normal durch.

Also in den PDFs die ich einbinde sind keine Links. Die Links werden über die PDFs geleget, die eingebunden werden. Habe schon was gelesen das einige Dinge nicht gehen wenn man externalisiert. Dachte aber gewisse "Links" würden gehen.

EDIT:
Wenn ich den hyperlink im node entferne läuft er auch mit "external" durch. D.h. ich kann dieses Feature erstmal nicht benutzen. Aber nochmals vielen Dank für die Hilfe und Hinweise. Werde versuchen diese so gut wie möglich umzusetzen.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von KOMA » Sa 15. Jan 2022, 10:49

Kann ich nicht ganz nachvollziehen. Bei mir funktioniert das Beispiel unter einem aktuellen TeX Live. Nach zwei LaTeX-Läufen ist der Ergebnis:
test_20220115_104353.png
test_20220115_104353.png (8.83 KiB) 3574 mal betrachtet
Das optionale Arguments für \tikzexternalize ist übrigens überflüssig, da sowohl TeX Live als auch MiKTeX sowohl --shell-escape als auch --enable-write18 als Option verstehen (und AFAIK auch beide mit einem statt zwei -).

Oder meinst du die Links? Links in externalisierte Abbildungen können logischer Weise nicht funktionieren. Dabei werden ja externe PDFs eingebunden und (derzeit) können beim Einbinden von PDFs Links normalerweise nicht erhalten werden. (Mit Umwegen und zusätzlichem Aufwand ist es tatsächlich möglich und Ulrike arbeitet daran, die Situation zu verbessern, was AFAIK mit LuaLaTeX bereits recht gut funktioniert). Man kann aber problemlos Links vor die Abbildungen setzen.

Übrigens \noindent ist im Wirkbereich von \centering natürlich überflüssig bis unsinnig.

BTW: Ich empfehle die Seite https://sf.net/p/koma-script/wiki-de/HowTo_AvoidSpaces/ einmal genau durchzulesen. Es empfiehlt sich diese übrigens auch bei Verwendung von TikZ zu beachten. Zwar tut das Paket sein bestes, um unerwünschte Leerzeichen in bestimmten Situationen automatisch zu /vermeiden, aber das hat seine Grenzen und es ist besser, sich insgesamt eine konsequente Vermeidung derselben anzugewöhnen.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von Permutation » Fr 14. Jan 2022, 20:20

So jetzt habe ich es geschafft ein Beispiel zu bauen ohne "Daten"

Hier der Aufruf
lualatex.exe" --enable-write18 --halt-on-error --interaction=nonstopmode Test.tex
\documentclass[a4paper,oneside,10pt]{report}

\usepackage{here}
\usepackage{graphicx}
\usepackage{float}
\usepackage{tikz}


% Mit dieser Einstellung läuft es
%\usetikzlibrary{fit,calc}
% -----
% Mit dieser nicht
\usetikzlibrary{fit,calc,external}
\tikzexternalize[shell escape=-enable-write18]
%-------


\tikzset{
    hyperlink node/.style={
        alias=sourcenode,
        append after command={
            let \p1=(sourcenode.north west),
                \p2=(sourcenode.south east),
                \n1={\x2-\x1},
                \n2={\y1-\y2} in
				node[inner sep=0pt, outer sep=0pt, anchor=north west, at=(\p1)] {\hyperlink{#1}{\makebox(\n1,\n2){}}}
        }
    }
}


\newcommand{\imagewithlinks}[5]{
\begin{figure}[H]%
\centering%
\noindent\begin{tikzpicture}%
  \node[anchor = south west,inner sep=0,outer sep=0] at (0, 0) (image) {\includegraphics[width=#2,height=#3]{#1}};%
  \begin{scope}[x={(image.south east)},y={(image.north west)}]{#5}\end{scope}%
\end{tikzpicture}%
\caption{#4}%
\end{figure}%
}

\usepackage[%
	pdfpagemode = UseOutlines,
	colorlinks = True,
	linkcolor = blue,
	filecolor = blue,
	urlcolor = blue,
	citecolor = black,
	plainpages = False,
	hypertexnames = False,
	pdfpagelabels = True,
    pdfnewwindow = True,
	hyperindex = True]{hyperref}

\begin{document}


\imagewithlinks{auto0.pdf}{285.71pt}{82.86pt}{main}{%
\node[inner sep=0pt, outer sep=0pt, fit={(0.003521127, 0.9878049) (0.2852113, 0.01219512)}, hyperlink node=Link1] {};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.6549296, 0.5609756) (0.7605634, 0.4390244)}, hyperlink node=Link2] {};%
}

\newpage

\hypertarget{Link1}{Link1}

\newpage

\hypertarget{Link2}{Link2}

\end{document}
Dieses Bild braucht man auch noch
auto0.pdf
(5.49 KiB) 156-mal heruntergeladen
.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von Permutation » Fr 14. Jan 2022, 17:37

Sorry, kann ich verstehen.

Ich versuche ein lauffähiges Beispiel zu bauen. Konnte jetzt auf die schnelle nur aus dem aktuellen Lauf Code kopieren. Ich versuche ein Beispiel zu bauen ohne Kundendaten.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von KOMA (als gast) » Fr 14. Jan 2022, 16:49

Sorry, aber mit Codeschnipsel beschäftige ich mich nicht, weil ich damit Probleme nicht zuverlässig nachvollziehen kann.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von Permutation » Fr 14. Jan 2022, 14:51

Vielen Dank für den Hinweis, aber leider scheint das nicht zu wirklich zu funktionieren:

Der Aufruf:
"lualatex.exe" --enable-write18 --halt-on-error --interaction=nonstopmode XXX.tex
\RequirePackage{tikz}
\usetikzlibrary{fit,calc,external}
\tikzexternalize[shell escape=-enable-write18]
\tikzset{
    hyperlink node/.style={
        alias=sourcenode,
        append after command={
            let \p1=(sourcenode.north west),
                \p2=(sourcenode.south east),
                \n1={\x2-\x1},
                \n2={\y1-\y2} in
				node[inner sep=0pt, outer sep=0pt, anchor=north west, at=(\p1)] {\hyperlink{#1}{\makebox(\n1,\n2){}}}
        }
    }
}
\tikzset{
    tooltip node/.style={
        alias=sourcenode,
        append after command={
            let \p1=(sourcenode.north west),
                \p2=(sourcenode.south east),
                \n1={\x2-\x1},
                \n2={\y1-\y2} in
				node[inner sep=0pt, outer sep=0pt, anchor=north west, at=(\p1)] {\pdftooltip{\makebox(\n1,\n2){}}{\lablname Description:\labldescription }}
        }
    }
}

...

\newsavebox{\imageBox}
\newcommand{\imagewithlinks}[3]{%
\sbox{\imageBox}{%
\noindent\begin{tikzpicture}%
  \node[anchor = south west,inner sep=0,outer sep=0] at (0, 0) (image) {\includegraphics{#1}};%
  \begin{scope}[x={(image.south east)},y={(image.north west)}]{#3}\end{scope}%
\end{tikzpicture}%
}%
\begin{figure}[H]%
\centering%
\ifdim\the\wd\imageBox>\textwidth%	
	\resizebox{\textwidth}{!}{\usebox{\imageBox}}%
\else%
    \ifdim\the\ht\imageBox>\textheight%
        \resizebox{!}{\textheight}{\usebox{\imageBox}}%
    \else%
        \usebox{\imageBox}%
    \fi%
\fi%
\caption{#2}%
\end{figure}%
}


\imagewithlinks{XXX/auto1.pdf}{main}{%
\node[inner sep=0pt, outer sep=0pt, fit={(0.427829560585885, 0.958356940509914) (0.614247669773635, 0.799716713881019)}, hyperlink node=HierPathLbl2] {\XXX};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.427829560585885, 0.760056657223795) (0.614247669773635, 0.6014164305949)}, hyperlink node=HierPathLbl3] {\XXX};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.427829560585885, 0.561756373937676) (0.614247669773635, 0.403116147308781)}, hyperlink node=HierPathLbl4] {\XXX};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.427829560585885, 0.363456090651557) (0.614247669773635, 0.204815864022662)}, hyperlink node=HierPathLbl5] {\XXX};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.427829560585885, 0.165155807365439) (0.614247669773635, 0.006515580736544)}, hyperlink node=HierPathLbl6] {\XXX};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.0596537949400799, 0.829461756373937) (0.0876165113182423, 0.809631728045325)}, hyperlink node=XXX] {\XXX};%
\node[inner sep=0pt, outer sep=0pt, fit={(0.0177097203728362, 0.958356940509914) (0.129560585885486, 0.898866855524079)}, hyperlink node=XXX] {\XXX};%
}
Das ist die aux Datei:
XXX.aux.log
(844.8 KiB) 149-mal heruntergeladen
Und hier das Log vom Lauf:
XXX.log
(56.93 KiB) 149-mal heruntergeladen

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von KOMA (als gast) » Fr 14. Jan 2022, 09:13

Permutation hat geschrieben:
Fr 14. Jan 2022, 09:05
Es werden in den TeX-Dateien auch sehr viele tikz-Koordinaten benutzt, da fast über jedem Bild etwas gezeichnet wird. Da es viele Bilder sind und oft auch viele "Zeichnung" in einem Bild, kann es gut sein, dass dies der Grund für den hohen Verbrauch ist. Und soweit ich es gesehen habe, kann man sie auch nicht "aufräumen".
Wenn tatsächlich viele TikZ-Abbildungen das Problem sind, kann man das mit Hilfe der Externalization Library durchaus aufräumen. Bei mehreren LaTeX-Läufen kann das im Endeffekt sogar eine Menge Zeit sparen. Siehe Kapitel 52 der TikZ-Anleitung.

Re: LuaLatex ! Fehler TeX capacity exceeded, sorry [number of strings=478531].

von Permutation » Fr 14. Jan 2022, 09:05

Vielen vielen Dank für Deine Hilfe. Das hat super geklappt.

Jetzt hätte ich noch ein Frage dazu. Könnte man auch selbst die Datei erzeugen? D.h. könnte das Programm, das die TeX Dateien schreibt auch einfach diese Datei generieren? Der Endanwender sollte dies wenn möglich nämlich nicht machen sollen.

Es werden in den TeX-Dateien auch sehr viele tikz-Koordinaten benutzt, da fast über jedem Bild etwas gezeichnet wird. Da es viele Bilder sind und oft auch viele "Zeichnung" in einem Bild, kann es gut sein, dass dies der Grund für den hohen Verbrauch ist. Und soweit ich es gesehen habe, kann man sie auch nicht "aufräumen".

Nach oben