Naar de inhoud

Algoritmen en pseudocode

Zet de pseudocode in een algorithm-omgeving met een \caption om "Algorithm 1" te krijgen; daarbinnen leest Scissor LaTeX de commando's in hoofdletters van algorithmic (\STATE, \FOR) alleen in congresopmaken, dus zet de stappen in andere documenten in een verbatim-blok.

De algorithm-omgeving

Het pakket algorithm biedt een genummerde omgeving voor pseudocode, net als een figuur: een \caption geeft er een nummer aan ("Algorithm 1"), en met een \label na het bijschrift kun je ernaar verwijzen met \ref. In Scissor LaTeX blijft het algoritme staan waar je het schrijft en wordt het bijschrift eronder gezet.

Wat erin komt, hangt af van het pakket dat je voor de stappen gebruikt, en daar verschilt de ondersteuning:

PakketCommando'sIn Scissor LaTeX
algorithmomgeving algorithm, \caption, \labelWerkt: genummerd als "Algorithm N", bijschrift eronder.
algorithmic\STATE, \IF, \FOR, \WHILE, \RETURN ... (hoofdletters)Gedeeltelijk: alleen gelezen in documenten met een congresopmaak; elders zijn het onbekende commando's.
algpseudocode (algorithmicx)\State, \If, \For, \EndFor, \Return ...Niet ondersteund: overgeslagen met een melding, en de stappen lopen in één regel door elkaar.
algorithm2e\KwIn, \For{..}{..}, \eIf ...Niet ondersteund: overgeslagen met een melding.

Pseudocode die overal werkt

De betrouwbaarste manier om pseudocode in elk Scissor LaTeX-document te tonen, is een verbatim-blok binnen algorithm. Je houdt het nummer en het bijschrift, en de regels behouden hun inspringing.

Een algoritme met stappen in verbatim

LaTeXPreambule: \usepackage{algorithm}Openen in de editor (opent in een nieuw tabblad)
\begin{algorithm}
\caption{Sum of a list}
\label{alg:sum}
\begin{verbatim}
s := 0
for each a in xs:
    s := s + a
return s
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:sum} adds the numbers of a list.
Gezet door Scissor LaTeX: Een algoritme met stappen in verbatim

Voor pseudocode met formules werkt een lstlisting op dezelfde manier, of je schrijft de stappen als gewone tekst buiten de algorithm-omgeving, als genummerde lijst.

Stappen als genummerde lijst, met wiskunde

\textbf{Input:} numbers $a_1, \dots, a_n$.
\begin{enumerate}
  \item Set $s \gets 0$.
  \item For $i = 1, \dots, n$: set $s \gets s + a_i$.
  \item Return $s$.
\end{enumerate}
Gezet door Scissor LaTeX: Stappen als genummerde lijst, met wiskunde

algorithmic in congresopmaken

De opmaken die op congresformaten lijken (arXiv, IEEE, NeurIPS, ICML en de andere) lezen de commando's in hoofdletters van het pakket algorithmic: sleutelwoorden zoals for, do, end for en return worden vet gezet, en elk commando begint een nieuwe regel. Regelnummers worden niet getekend, en de regels worden gecentreerd. Het tabblad Problemen noemt de gebruikte opmaak.

algorithmic in een document in arXiv-stijl

\documentclass{article}
\usepackage{arxiv}
\usepackage{algorithm,algorithmic}
\begin{document}
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}
\STATE $s \gets 0$
\FOR{$i = 1$ to $n$}
  \STATE $s \gets s + a_i$
\ENDFOR
\RETURN $s$
\end{algorithmic}
\end{algorithm}
\end{document}
Gezet door Scissor LaTeX: algorithmic in een document in arXiv-stijl

Tabblad Problemen: Layout in the style of the arXiv preprint style (final mode). Not official. To compile elsewhere, add arxiv.sty from github.com/kourgeorge/arxiv-style.

algpseudocode wordt niet ondersteund

algpseudocode, het meest gebruikte pakket in recente papers, gebruikt commando's met gemengde hoofd- en kleine letters zoals \State en \EndFor. Scissor LaTeX kent ze niet: hun namen worden overgeslagen, de formules en woorden blijven staan, en alles loopt in één regel door elkaar. Het tabblad Problemen toont de overgeslagen commando's.

algpseudocode: de stappen lopen door elkaar

LaTeXPreambule: \usepackage{algorithm,algpseudocode}Openen in de editor (opent in een nieuw tabblad)
\begin{algorithm}
\caption{Sum of a list}
\begin{algorithmic}[1]
\State $s \gets 0$
\For{$i = 1$ to $n$}
  \State $s \gets s + a_i$
\EndFor
\State \Return $s$
\end{algorithmic}
\end{algorithm}

Tabblad Problemen: Skipped 4 unknown commands: \State, \For, \EndFor, \Return

Als het document zowel hier als in een TeX-installatie moet werken, schrijf de stappen dan in verbatim zoals hierboven getoond; dat compileert overal.

Wat anders is dan in een TeX-installatie

De pakketpagina is algorithm, algorithmic en algpseudocode. De handleidingen staan op CTAN: algorithms, algorithmicx en algorithm2e.

Zie ook algoritmepakketten, Codevoorbeelden en Congresopmaken.

Vragen en antwoorden

Hoe schrijf ik een algoritme in LaTeX?

Gebruik de algorithm-omgeving met een \caption en zet de stappen erin. In Scissor LaTeX werken de stappen het best in een verbatim-blok, of met de \STATE-commando's van algorithmic in een congresopmaak.

Waarom lopen mijn \State-regels door elkaar?

\State komt uit algpseudocode, dat Scissor LaTeX niet ondersteunt. De commandonamen worden overgeslagen, dus de stappen worden samengevoegd tot één regel. Gebruik in plaats daarvan verbatim voor de stappen.

Kan ik met een nummer naar een algoritme verwijzen?

Ja. Zet \label{alg:name} na de \caption en schrijf Algorithm~\ref{alg:name}.

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