listings in Scissor LaTeX
Das Paket listings funktioniert in Scissor LaTeX teilweise: lstlisting behält den Code genau wie getippt und färbt ihn ein, wenn Sie language= an der Umgebung angeben, und \lstinline funktioniert; \lstset, Zeilennummern, Rahmen, Beschriftungen und Marken werden ignoriert, und \lstinputlisting wird übersprungen.
Was das Paket macht
listings setzt Quellcode. Die Umgebung lstlisting behält Zeilenumbrüche und Leerzeichen bei, und mit language=Python (oder C, Java, SQL ...) setzt sie Schlüsselwörter, Kommentare und Zeichenketten in unterschiedlichen Stilen. Optionen ergänzen Zeilennummern, Rahmen, Beschriftungen und Farben, entweder pro Listing oder mit \lstset für das ganze Dokument. \lstinline ist die Form für den Fließtext, und \lstinputlisting liest Code aus einer Datei.
Was hier funktioniert
| Funktion | In Scissor LaTeX | Hinweise |
|---|---|---|
\begin{lstlisting} ... \end{lstlisting} | Funktioniert | Dicktengleich, genau wie getippt. |
[language=Python] an der Umgebung | Funktioniert | Syntaxfarben aus einem festen Schema. |
[language={[Sharp]C}] und andere Dialekte | Funktioniert | Der Dialekt in eckigen Klammern wird zusammen mit dem Namen gelesen. |
\lstinline|code|, \lstinline{code} | Funktioniert | Dicktengleich, ohne Farben. |
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolor | Entfällt | Ohne Meldung ignoriert. |
caption=, label= | Entfällt | Es wird keine Beschriftung ausgegeben, und ein \ref auf die Marke zeigt „??“. |
\lstset{...}, \lstdefinestyle, style= | Entfällt | Ignoriert, auch ein dort gesetztes language=. |
\lstinputlisting{file} | Nicht unterstützt | Mit einer Meldung übersprungen. |
\lstlistoflistings, \lstnewenvironment | Nicht unterstützt | Mit einer Meldung übersprungen. |
Bei Sprachnamen spielt Groß- und Kleinschreibung keine Rolle. Farben gibt es für gängige Sprachen wie Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML und TeX. Ein Name, der nicht erkannt wird, etwa Fortran, ergibt einfachen dicktengleichen Code ohne Meldung.
Beispiele
Geben Sie die Sprache an jedem Listing an:
lstlisting mit language=Python
\begin{lstlisting}[language=Python]
def mean(values):
# average of a list of numbers
return sum(values) / len(values)
print(mean([40, 44, 48]))
\end{lstlisting}Eine mit \lstset gesetzte Sprache wird nicht verwendet, deshalb hat dieses Listing keine Farben. Layoutoptionen wie numbers und frame werden ebenfalls ignoriert:
\lstset wird ignoriert
\documentclass{article}
\usepackage{listings}
\lstset{language=SQL, numbers=left, frame=single}
\begin{document}
\begin{lstlisting}
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\begin{lstlisting}[language=SQL]
SELECT name FROM staff WHERE id = 44;
\end{lstlisting}
\end{document}Code im Fließtext mit \lstinline akzeptiert wie \verb jedes Begrenzungszeichen:
\lstinline in einem Satz
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.Ein beschriftetes Listing in einer Abbildung
\begin{figure}[h]
\begin{lstlisting}[language=Python]
print(sum(range(44)))
\end{lstlisting}
\caption{Adding the numbers below 44}
\label{lst:sum}
\end{figure}
The code in Listing~\ref{lst:sum} prints 946.Kompatibilität
- Von einer TeX-Installation hierher: Der Code jedes
lstlistingwird angezeigt. Verschieben Sielanguage=aus\lstsetan jedes einzelne Listing, um Farben zu bekommen, und fügen Sie Code aus Dateien von\lstinputlistingdirekt ins Dokument ein. - Von hier in eine TeX-Installation: Dokumente lassen sich dort unverändert übersetzen, und Ihre Optionen wirken dann.
Das vollständige Handbuch steht auf CTAN: ctan.org/pkg/listings. Siehe auch Code-Listings in LaTeX und minted.
Fragen und Antworten
Warum sind meine Listings nicht eingefärbt?
Wahrscheinlich ist die Sprache mit \lstset gesetzt, was hier ignoriert wird. Schreiben Sie [language=Python] (oder Ihre Sprache) nach \begin{lstlisting}.
Kann ich Zeilennummern anzeigen?
Noch nicht. numbers=left wird akzeptiert und ignoriert.
Jedes Beispiel auf dieser Seite wird beim Erstellen der Website von Scissor LaTeX gesetzt. Zuletzt aktualisiert am 2026-11-07.