Sie sind hier

to-much-pops mit LaTeX 2020-10-01 PL3, tcolorbox, listings

Frohes neues Jahr 2021!

Seite dem Update heute Morgen zu LaTeX 2020-10-01 PL3 beschwert sich das folgende Beispiel

\documentclass{scrartcl}
 
\usepackage[listings]{tcolorbox}
 
\lstset{%
  escapeinside = {(*@}{@*)},
}
 
\newtcblisting{mylisting}{}
 
\begin{document}
 
\begin{mylisting}
(*@1@*)
\end{mylisting}
 
\begin{mylisting}
(*@2@*)
\end{mylisting}
 
\begin{mylisting}
(*@3@*)
\end{mylisting}
 
\begin{mylisting}
(*@4@*)
\end{mylisting}
 
\begin{mylisting}
(*@5@*)
\end{mylisting}
 
\begin{mylisting}
(*@6@*)
\end{mylisting}
 
\begin{mylisting}
(*@7@*)
\end{mylisting}
 
\end{document}

wie folgt

Package scrlfile-hook Warning: More file names popped from stack than put to.
(scrlfile-hook)                This should never happen. However, it could
(scrlfile-hook)                happen if scrlfile-hook is loaded by another
(scrlfile-hook)                package or class. In this case some packages or
(scrlfile-hook)                classes are not recognised correctly.
 
(./scrlfile-escaped-listings-tcolorbox.listing)
\openout4 = `scrlfile-escaped-listings-tcolorbox.listing'.
 
 
(./scrlfile-escaped-listings-tcolorbox.listing)
 
! LaTeX3 Error: Message 'to-much-pops' for module 'scrlfile-hook' already
(LaTeX3)        defined.
 
For immediate help type H <return>.
 ...                                              
 
l.39 \end{mylisting}
 
? 
 
Package scrlfile-hook Warning: More file names popped from stack than put to.
(scrlfile-hook)                This should never happen. However, it could
(scrlfile-hook)                happen if scrlfile-hook is loaded by another
(scrlfile-hook)                package or class. In this case some packages or
(scrlfile-hook)                classes are not recognised correctly.

Da die Warnung im Beispiel zweimal ausgegeben wird, gibt es beim zweiten Mal sogar einen Fehler. Anbei die vollständige .log-Datei.

Soweit ich das sehen kann, müsste das Problem mit dem Update auf Patch level 3 von LaTeX 2020-10-01 zusammenhängen. Das ist zumindest die für dieses Beispiel einzige relevante Änderung der Pakete seit mein ursprüngliches Dokument kompilierte.

Daher nun die Frage: Warum treten die Warnungen auf und wie kann ich sie wieder loswerden?

PS: Da ich das Beispiel nicht ganz entfriemelt bekommen habe, poste ich lieber hier im "Anwender braucht Hilfe"-Bereich als bei den Fehlermeldungen. Verschieben kann man das Thema ja notfalls immer noch.

forum: 
Bild von Markus Kohm

Mit LaTeX 2020-10-01 patch level 2 oder mit LaTeX2e pre-release-0 (develop 2020-12-10 branch) passiert das noch nicht. Mein letztes Update ist zugeben vom letzten Jahr. Ich müsste da erst einmal ein Update machen und dann auf Spurensuche gehen, um herauszufinden, wer da wieder was geändert hat, so dass das jetzt passiert. Mit tcolorbox ist ja auch ein recht komplexes Paket beteiligt, das einen Rattenschwanz an anderen Paketen nach sich zieht. Da auf Spurensuche zu gehen, wird aufwändig. Da gleichzeitig meine Motivation am Boden liegt und ich eigentlich auch mal ein paar freie Tage mit der Familie genießen wollte, kann ich keine schnelle Lösung versprechen. Du kannst ja probieren, ob als Workaround eine der Versions-Einstellungen von Paket latexrelease funktioniert.

Bild von Markus Kohm

Die LaTeX3-Fehlermeldung ist übrigens in der Tat ein Fehler in scrlfile-hook.sty. Da wird die Meldung nicht einmalig global, sondern bei jedem auftretenden Fehler erneut definiert. In gewisser Weise war der Bug hier von Vorteil, weil dadurch das Problem verm. schneller gefunden wurde. Auf der anderen Seite war er auch von Nachteil, weil es ja vielleicht gar kein echtes Problem ist.

Vielen Dank für die schnelle Antwort. Ich werde sehen, ob ich das Problem wenigstens noch etwas eingegrenzt bekomme. Auf meinem Hauptarbeitsrechner habe ich nur MikTeX und dort ist das problematische Update noch nicht eingegangen, daher kommt die Suche mit den virtuellen Maschinen etwas schleppender voran.

Das Einzige was ich bis jetzt herausfinden konnte, scheint darauf hinzuweisen, dass der Hook file/after unter bestimmten Umständen mehrere Male ausgeführt wird und das Poppen der Dateiliste dann eben zu Fehlern führt.

Ich hab die Frage mit einem zusätzlichen KOMA-Script-losen MWE bei TeX.SX gestellt: https://tex.stackexchange.com/q/577191/35864

Bild von Markus Kohm

und Ulrike und Phelype für die gelungene Analyse.

Trotzdem hat mir das ganze endgültig vor Augen geführt, dass es höchste Zeit für eine Veränderung ist.

Bild von Markus Kohm

Da sowohl der Teil des Bugs, der in der Verantwortung von KOMA-Script liegt (Fehlermeldung), in der aktuellen Prerelease beseitigt ist, als auch der Bug in LaTeX selbst in der nächsten Veröffentlichung von LaTeX beseitigt sein dürfte, habe ich das Problem als erledigt eingeordnet und werde die nicht mehr benötigte log-Datei löschen.

Comments for "to-much-pops mit LaTeX 2020-10-01 PL3, tcolorbox, listings" abonnieren