Naar de inhoud

listings in Scissor LaTeX

Het pakket listings werkt deels in Scissor LaTeX: lstlisting houdt de code precies zoals getypt en kleurt haar als je language= op de omgeving opgeeft, en \lstinline werkt; \lstset, regelnummers, kaders, bijschriften en labels worden genegeerd, en \lstinputlisting wordt overgeslagen.

Wat het pakket doet

listings zet broncode. De omgeving lstlisting behoudt regelafbrekingen en spaties, en met language=Python (of C, Java, SQL ...) zet ze sleutelwoorden, commentaar en strings in verschillende stijlen. Opties voegen regelnummers, kaders, bijschriften en kleuren toe, per listing of voor het hele document met \lstset. \lstinline is de vorm voor in de regel, en \lstinputlisting leest code uit een bestand.

Wat hier werkt

FunctieIn Scissor LaTeXOpmerkingen
\begin{lstlisting} ... \end{lstlisting}WerktMonospace, precies zoals getypt.
[language=Python] op de omgevingWerktSyntaxiskleuren uit een vast schema.
[language={[Sharp]C}] en andere dialectenWerktHet dialect tussen vierkante haken wordt samen met de naam gelezen.
\lstinline|code|, \lstinline{code}WerktMonospace, zonder kleuren.
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolorWeggelatenGenegeerd zonder melding.
caption=, label=WeggelatenEr wordt geen bijschrift afgedrukt, en een \ref naar het label toont "??".
\lstset{...}, \lstdefinestyle, style=WeggelatenGenegeerd, ook een language= die daar is ingesteld.
\lstinputlisting{file}Niet ondersteundOvergeslagen met een melding.
\lstlistoflistings, \lstnewenvironmentNiet ondersteundOvergeslagen met een melding.

Taalnamen zijn niet hoofdlettergevoelig. Kleuren zijn beschikbaar voor gangbare talen zoals Python, C, C++, C#, Java, JavaScript, Rust, Go, R, MATLAB, SQL, Bash, HTML en TeX. Een naam die niet wordt herkend, zoals Fortran, geeft gewone monospace-code zonder melding.

Voorbeelden

Geef de taal op bij elke listing:

lstlisting met language=Python

LaTeXPreambule: \usepackage{listings}Openen in de editor (opent in een nieuw tabblad)
\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}
Gezet door Scissor LaTeX: lstlisting met language=Python

Een taal die met \lstset is ingesteld, wordt niet gebruikt, dus deze listing heeft geen kleuren. Opmaakopties zoals numbers en frame worden ook genegeerd:

\lstset wordt genegeerd

\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 in de regel met \lstinline accepteert elk scheidingsteken, zoals \verb:

\lstinline in een zin

LaTeXPreambule: \usepackage{listings}Openen in de editor (opent in een nieuw tabblad)
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.
Gezet door Scissor LaTeX: \lstinline in een zin

Een listing met bijschrift in een figuur

LaTeXPreambule: \usepackage{listings}Openen in de editor (opent in een nieuw tabblad)
\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.
Gezet door Scissor LaTeX: Een listing met bijschrift in een figuur

Compatibiliteit

  • Van een TeX-installatie naar hier: de code van elke lstlisting wordt getoond. Verplaats language= van \lstset naar elke listing om kleuren te krijgen, en plak code uit bestanden van \lstinputlisting in het document.
  • Van hier naar een TeX-installatie: documenten compileren daar ongewijzigd, en je opties worden dan toegepast.

De volledige handleiding staat op CTAN: ctan.org/pkg/listings. Zie ook Codelistings in LaTeX en minted.

Vragen en antwoorden

Waarom hebben mijn listings geen kleuren?

De taal is waarschijnlijk ingesteld met \lstset, dat hier wordt genegeerd. Schrijf [language=Python] (of je eigen taal) na \begin{lstlisting}.

Kan ik regelnummers tonen?

Nog niet. numbers=left wordt geaccepteerd en genegeerd.

Elk voorbeeld op deze pagina wordt door Scissor LaTeX gezet wanneer de site wordt gebouwd. Laatst bijgewerkt op 2026-11-07.