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

&#8203;

-- 
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