Re: Endlosschleife

Marei Peischl <[email protected]>
Newsgroups gmane.comp.tex.german
Message-ID <[email protected]>
Hallo Dirk,

ich hab jetzt ne Weile überlegt, ob ich antworten will. Eigentlich ist 
die Codestruktur so, dass ich nicht wirklich Lust hatte, aber ich weiß, 
dass es oft viel Hilft sowas mal schrittweise zu zerlegen, dann ist es 
vermutlich beim nächsten Mal für dich einfacher.

On 2/6/24 19:22, Dirk Hünniger (via tex-d-l Mailing List) wrote:
> Hallo,
>
> das folgenden Minimalbeispiel führt bei lualatex zu einer ziemlich 
> endlosen Schleife:
>
> lualatex --interaction=nonstopmode main.tex
>
> wenn ich versuche irgendetwas zu kürzen tritt der Fehler nicht mehr auf.

Dass es endlos durchläuft ist für das Debugging egal, außer man läuft im 
nonstopmode, was man zum Debuggen eh nicht tun sollte. Also lass das 
beim nächsten mal einfach weg.


Reihenfolge von 1 und 2 ist egal, aber es wären eigentlich zwei Beispiele:


1: myshaded durch die Standard framed-Umgebung ersetzen:

> \documentclass{book}
> \usepackage{framed}
> \usepackage{graphicx}
>
> \newcommand{\LaTeXShadedColorBoxTemplate}[2]{
> {\linewidth}#1\begin{framed}
> #2
> \end{framed}
> }
>
> \begin{document}
> \LaTeXShadedColorBoxTemplate{}{%
>     \includegraphics{example-image}%
> }
> \end{document}

Dann hättest du den gleichen Fehler, wie der erste Fehler im Dokument.

Man kann übrigens den Kompilierungsprozess jederzeit abbrechen und sich 
dann die erste Fehlermeldung angucken. Dann ist egal, ob das theoretisch 
endlos weiterliefe. Gerade zum debuggen ist es aber eigentlich 
sinnvoller nicht im nonstopmode zu laufen, dann wird ja automatisch beim 
ersten Fehler abgebrochen …

Der erste Fehler ist ein:

 > Missing number, treated as zero.

Das bedeutet grob gesgt, entweder ist irgendwo kein Zahlenwert, wo einer 
erwartet wird oder eine Länge wird einfach so im Fließtext verwendet:

I der Definition oben ist da ein {\linewidth} das irgendwie keine 
Aufgabe hat.

Wenn man das entfernt. Läuft das durch:

> \newcommand{\LaTeXShadedColorBoxTemplate}[2]{%
> #1\begin{framed}%
> #2
> \end{framed}%
> }


2. Die myshaded Umgebung einzeln testen.

> \documentclass{book}%scrbook geht natürlich auch ist hier egal
> \usepackage{framed}
>
> \newenvironment{myshaded}{
>   \def\FrameCommand{ \hskip-2pt \fboxsep=\FrameSep \colorbox{shadecolor}}%
>   \MakeFramed {\advance\hsize-\width \FrameRestore}}
>  {\endMakeFramed}
>
> \begin{document}
> \begin{myshaded}
> content...
> \end{myshaded}
> \end{document}

Das gibt erstmal die Meldung, dass \colorbox nicht existiert und danach, 
dass shadecolor nicht definiert ist (in deinem Gesamtbeispiel eben die 
andere Farbe).

Farbpaket laden + Farbe definieren sollte helfen.


Ich hoffe das ist so etwas klarer.


Kleine Ergänzung zum Schluss: Wenn du ein bild brauchst, benutze gerne 
example-image das ist bei den TeX Distributionen dabei, und du musst 
kein Testbild mitschicken.

Die Pakete keystroke und scrlayer-scrpage benutzt du im Beispiel nicht, 
um es richti minimal zu machen, könnte man die auch weglassen.

Ah und zu guter letzt: Die Treiber-Angabe bei graphicx kannst du dir 
mittlerweile im Regelfall einfach weglassen.

Grüße

Marei


>
> Viele Grüße Dirk
>

-- 
FAQ: http://texfragen.de/
Durchsuchbares Archiv: https://www.listserv.dfn.de/sympa/arc/tex-d-l 
Unsubscribe/Verwaltung: https://www.listserv.dfn.de/sympa/info/tex-d-l
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.