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
| Functie | In Scissor LaTeX | Opmerkingen |
|---|---|---|
\begin{lstlisting} ... \end{lstlisting} | Werkt | Monospace, precies zoals getypt. |
[language=Python] op de omgeving | Werkt | Syntaxiskleuren uit een vast schema. |
[language={[Sharp]C}] en andere dialecten | Werkt | Het dialect tussen vierkante haken wordt samen met de naam gelezen. |
\lstinline|code|, \lstinline{code} | Werkt | Monospace, zonder kleuren. |
numbers=left, frame=single, basicstyle, keywordstyle, backgroundcolor | Weggelaten | Genegeerd zonder melding. |
caption=, label= | Weggelaten | Er wordt geen bijschrift afgedrukt, en een \ref naar het label toont "??". |
\lstset{...}, \lstdefinestyle, style= | Weggelaten | Genegeerd, ook een language= die daar is ingesteld. |
\lstinputlisting{file} | Niet ondersteund | Overgeslagen met een melding. |
\lstlistoflistings, \lstnewenvironment | Niet ondersteund | Overgeslagen 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
\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}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
The loop \lstinline|for i in range(44):| runs 44 times, and
\lstinline{total += i} adds up the numbers.Een listing met bijschrift in een figuur
\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.Compatibiliteit
- Van een TeX-installatie naar hier: de code van elke
lstlistingwordt getoond. Verplaatslanguage=van\lstsetnaar elke listing om kleuren te krijgen, en plak code uit bestanden van\lstinputlistingin 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.