Re: Latex Listings package probleme mit ## und $#
"Uwe Koloska" (via tex-d-l Mailing List) <[email protected]> Sat, 26 Jul 2025 16:39:31 +0200
| Newsgroups | gmane.comp.tex.german |
|---|---|
| Message-ID | <[email protected]> |
Hallo Peter,
Am 25.07.25 um 22:19 schrieb “Peter Seitz” (via tex-d-l Mailing List):
> ich habe einen Codeschnipsel, welcher die Zeichenfolgen ## und $#
> enthält. Den wirde ich gerne mit listings-Paket einbinden
Der Fehler hat nix mit diesen Zeichenfolgen zu tun und das hättest du
auch gemerkt, wenn du versucht hättest ein echtes minimales Beispiel zu
bauen!
> Ich habe Probleme, den code zu setzen. Da das # bzw. $ hier Probleme
> macht. Leider bin ich mit der Doku zu Listings nicht weitergekommen.
> Ist kein Perl code, aber Perl verwendet ## und $# als Kommentar, daher
> die Sprachwahl Perl. Ürsprünglich ist es sowas wie eine resource-datei
> (.r), welche comnpiliert wird.
>
> Als Fehlermeldugn kommt
>
> Overfull \hbox (2.33275pt too wide) in paragraph at lines 29--30
> [][][][][][][][][][][][][][][][][][][][][]
> []
Das ist keine Fehlermeldung!
> Dort steht aber in Zeile 29/30 folgender Text:
> ## The following strings determine which headers should
> ## be displayed in the message reader's "tidy" mode.
>
>
> Ich kann die Datei nicht zuende übersetzen.
Aber nicht mit einem Fehler. Es kommt überhaupt keine Fehlermeldung,
sondern nur eine Eingabeaufforderung und das ist eine wichtige Information.
> Hier das Minimalbeispiel:
>
> --8<---if--you--cut--here--you--will--probably--destroy--your--monitor--
> % !TeX encoding = latin1
> %
> \documentclass[a4paper,11pt]{article}
>
> \usepackage[latin1]{inputenc} % Latin1 Zeichensatzkodierung verwenden
> \usepackage[T1]{fontenc} % T1-Fontencoding verwenden
> \usepackage[top=24mm,bottom=25mm,%
> % left=20mm,right=22mm,%
> headheight=10mm]{geometry} % Seitenlayout
> \usepackage{listings} % Programmcode einbetten
>
> \errorcontextlines=15
> \begin{document}
> \lstset{language=Perl}
>
> \noindent
> Hier der Programmcode:
>
> %\iffalse
> \begin{quote}
> \begin{lstlisting}[language={Perl}]
> ## The following strings determine which headers should
> ## be displayed in the message reader's "tidy" mode.
>
> typedef header_strings 35
>
> {
> integer $# The number of strings declared
> repeat
> string 20 $# The header to MATCH (invariant)
> string 20 $# What PMail should DISPLAY (may be translated)
> };
>
> header_strings reader_headers
> \end{lstlistings}
> \end{quote}
> \end{document}
> --8<---if--you--cut--here--you--will--probably--destroy--your--monitor--
Das ist *kein* Minimalbeispiel!
> Wer kann mich hier auf den richtigen Weg führen?
Ich!
Versuche mal ein wirkliches Minimalbeispiel zu erstellen, also
nacheinander alles rausschmeißen, was nicht zum Fehler beiträgt. Am Ende
lande ich da bei
|\documentclass{article} \usepackage{listings} \begin{document}
\begin{lstlisting} \end{lstlistings} \end{document} |
Und sogar das führt zu dem eigentlichen Fehler (ohne die verwirrenden
Warnungen):
|❯ pdflatex tex-d-l_listings.tex This is pdfTeX, Version
3.141592653-2.6-1.40.27 (TeX Live 2026/dev/Arch Linux) (preloaded
format=pdflatex) restricted \write18 enabled. entering extended mode
(./tex-d-l_listings.tex ... (./tex-d-l_listings.aux)
(/usr/share/texmf-dist/tex/latex/base/omscmr.fd)) * |
Und spätestens hier fällt doch der eigentliche Fehler auf, oder nicht?
Ich hatte zuerst gedacht, dass wirklich ein Problem mit dem Quelltext
den Parser durcheinanderbringt und deshalb |\lstinputlisting{}| versucht
(was problemlos funktioniert hat), mir dann aber deinen Originalcode
nochmal angeschaut …
Es gibt also gar kein Problem mit dem listings-Paket, zeigt aber wieder
sehr deutlich, wie wichtig es ist, ein echtes Minimalbeispiel zu erstellen!
Merke:
*Wenn du etwas entfernen kannst und der Fehler immer noch auftritt,
hast du kein Minimalbeispiel!*
Viele Grüße und ein schönes Wochenende
Uwe
​
--
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