Codevoorbeelden in LaTeX
Zet de code in een verbatim-, lstlisting- of minted-omgeving, of gebruik \verb|...| in de tekst; Scissor LaTeX zet hem in een lettertype met vaste breedte, precies zoals getypt, en kleurt de syntax als je de taal noemt.
verbatim
Binnen verbatim wordt niets geïnterpreteerd: backslashes, accolades, $ en % worden afgedrukt zoals ze zijn, en regeleinden en spaties blijven behouden. Het is de eenvoudigste manier om code of terminaluitvoer te tonen.
Een verbatim-blok
\begin{verbatim}
for i in range(44):
print(i) # $ and \textbf stay as typed
\end{verbatim}Code in de tekst: \verb
\verb toont een kort stukje code binnen een zin. Het teken direct na \verb is het scheidingsteken; kies er een dat niet in de code voorkomt, zoals | of +.
Code in de tekst met \verb en \texttt
Call \verb|total(xs)| to add the list, or type \verb+x_1 = 44+.
For plain words in a monospaced font, \texttt{main.tex} is enough.\texttt{...} verandert alleen het lettertype: speciale tekens zoals _ en % moeten daar nog steeds worden geëscapet, terwijl \verb ze neemt zoals ze zijn.
listings: lstlisting met een taal
Het pakket listings geeft je lstlisting. Met language=... krijgt de code syntaxkleuren.
lstlisting met language=Python
\begin{lstlisting}[language=Python]
def total(xs):
"""Add up the numbers in xs."""
return sum(xs)
print(total([40, 4])) # 44
\end{lstlisting}\lstinline|code| is de vorm voor in de tekst, net als \verb.
minted
minted neemt de taal als argument. In een TeX-installatie heeft het Python en de optie -shell-escape nodig; in Scissor LaTeX werkt het zonder beide.
minted met een taal
\begin{minted}{rust}
fn main() {
let answer = 40 + 4;
println!("{}", answer);
}
\end{minted}
Inline: \mintinline{rust}{let x = 44;}Wat wordt gelezen
| Commando | In Scissor LaTeX | Opmerkingen |
|---|---|---|
verbatim, verbatim* | Werkt | |
\verb, \verb* | Werkt | |
lstlisting | Gedeeltelijk | language= wordt gelezen; elke andere optie (numbers, caption, frame, basicstyle, firstline ...) wordt genegeerd. |
\lstinline | Werkt | Geen syntaxkleuren in de tekst. |
\lstset{...} | Weggelaten | Een taal die hier wordt ingesteld, wordt niet gebruikt; geef language= bij elk codeblok op. |
minted | Gedeeltelijk | De taal wordt gelezen; opties zoals linenos en frame worden genegeerd. |
\mintinline{lang}{code} | Werkt | Geen syntaxkleuren in de tekst. |
Verbatim, BVerbatim (fancyvrb) | Gedeeltelijk | Getoond als verbatim; opties worden genegeerd. |
\lstinputlisting{file}, \inputminted{lang}{file} | Niet ondersteund | Overgeslagen met een melding; plak de code in het document. |
\lstnewenvironment, \newminted | Niet ondersteund |
Syntaxkleuren zijn beschikbaar voor gangbare talen, waaronder Python, C, C++, Java, JavaScript, TypeScript, Rust, Go, Ruby, R, Julia, MATLAB, SQL, Bash, HTML, CSS, JSON, YAML, TeX en LaTeX. Taalnamen zijn niet hoofdlettergevoelig, dus Python en python zijn hetzelfde. Een naam die niet wordt herkend, geeft gewone code met vaste breedte.
Code uit een bestand
\lstinputlisting en \inputminted lezen in een TeX-installatie code uit een ander bestand. Scissor LaTeX slaat ze over en meldt dat in het tabblad Problemen:
\lstinputlisting wordt overgeslagen
The script below is not shown:
\lstinputlisting[language=Python]{scripts/total.py}
Paste the code into an lstlisting environment instead.Tabblad Problemen: 1 included file is not part of this conversion
Wat anders is dan in een TeX-installatie
Zie listings en minted voor de pakketpagina's. De volledige handleidingen staan op CTAN: listings, minted en fancyvrb.
Vragen en antwoorden
Hoe voeg ik een codeblok toe in LaTeX?
Zet de code tussen \begin{verbatim} ... \end{verbatim}, of in lstlisting met [language=Python] voor syntaxkleuren.
Werkt minted zonder shell escape?
In Scissor LaTeX wel: minted-omgevingen worden gekleurd zonder Python of -shell-escape. In een TeX-installatie heeft minted die allebei nog steeds nodig.
Waarom ontbreken de regelnummers van mijn codeblok?
Scissor LaTeX negeert numbers=left en de andere opmaakopties van listings. Alleen de taal wordt gelezen.
Elk voorbeeld op deze pagina wordt door Scissor LaTeX gezet wanneer de site wordt gebouwd. Laatst bijgewerkt op 2026-11-07.