Algoritmepakketten in Scissor LaTeX
De algoritmepakketten werken deels in Scissor LaTeX: de omgeving algorithm werkt met een genummerd bijschrift en \label; de commando's in hoofdletters van algorithmic (\STATE, \FOR) worden alleen in congresopmaak gelezen; algpseudocode (\State, \For) en algorithm2e (\KwIn, \For{}{}) worden niet ondersteund, dus zet de stappen in plaats daarvan in een blok verbatim.
Wat de pakketten doen
Pseudocode in LaTeX vraagt meestal om twee pakketten. algorithm geeft een genummerde omgeving met een bijschrift, "Algorithm 1: ...", die zweeft zoals een figuur. Een tweede pakket schrijft de stappen: algorithmic (commando's in hoofdletters, \STATE, \IF, \ENDIF), algpseudocode uit de bundel algorithmicx (gemengde hoofd- en kleine letters, \State, \If, \EndIf), of algorithm2e, dat een eigen omgeving algorithm meebrengt en commando's zoals \KwIn en \For{condition}{body}.
Wat hier werkt
| Pakket | Functie | In Scissor LaTeX |
|---|---|---|
| algorithm | \begin{algorithm}, \caption, \label, \ref | Werkt: "Algorithm N", bijschrift eronder, zweeft niet. |
| algorithm | Plaatsing [H], [t], [h] | Weggelaten: het algoritme blijft staan waar je het schrijft. |
| algorithm | \listofalgorithms | Niet ondersteund: overgeslagen met een melding. |
| algorithmic | \STATE, \IF, \FOR, \WHILE, \RETURN ... | Deels: gelezen in documenten met congresopmaak, zonder regelnummers. Elders zijn ze onbekend. |
| algpseudocode | \State, \If, \For, \Function, \Return ... | Niet ondersteund: de commandonamen worden overgeslagen en de stappen lopen samen op één regel. |
| algorithm2e | \KwIn, \KwOut, \For{..}{..}, \eIf, \; | Niet ondersteund: overgeslagen met een melding; de stappen lopen samen. |
Binnen algorithm wordt de inhoud gecentreerd, zoals in een figuur. Een blok verbatim wordt als geheel gecentreerd, met de regels links uitgelijnd en ingesprongen zoals getypt, en is daarmee hier de betrouwbaarste manier om stappen te tonen.
Voorbeelden
Stappen in verbatim, met een nummer en een verwijzing:
algorithm met stappen in verbatim
\begin{algorithm}
\caption{Find the largest value}
\label{alg:max}
\begin{verbatim}
best := xs[1]
for i := 2 to n:
if xs[i] > best:
best := xs[i]
return best
\end{verbatim}
\end{algorithm}
Algorithm~\ref{alg:max} looks at each value once.Commando's van algorithm2e worden overgeslagen, dus de regels lopen samen. Het tabblad Problemen toont de commando's die het niet kende:
algorithm2e wordt niet ondersteund
\begin{algorithm}
\caption{Sum of a list}
\KwIn{numbers $a_1, \dots, a_n$}
$s \gets 0$\;
\For{$i \gets 1$ \KwTo $n$}{$s \gets s + a_i$\;}
\Return{$s$}\;
\end{algorithm}Tabblad Problemen: Skipped 4 unknown commands: \KwIn, \For, \KwTo, \Return
De pagina Algoritmen en pseudocode toont algorithmic in congresopmaak en algpseudocode naast elkaar.
Compatibiliteit
- Van een TeX-installatie naar hier: algoritmen houden hun nummer en bijschrift. Stappen die met algpseudocode of algorithm2e zijn geschreven, lopen samen; herschrijf ze in
verbatim, of met algorithmic in congresopmaak. - Van hier naar een TeX-installatie:
algorithmmet stappen inverbatimcompileert overal en ziet er hetzelfde uit, behalve dat het algoritme naar de bovenkant van een pagina kan zweven.
De handleidingen staan op CTAN: algorithms (algorithm en algorithmic), algorithmicx (algpseudocode) en algorithm2e.
Zie ook Algoritmen, listings en Congresopmaak.
Vragen en antwoorden
Welk algoritmepakket gebruik ik in Scissor LaTeX?
Gebruik algorithm voor het nummer en het bijschrift, en schrijf de stappen in een blok verbatim. Dat werkt hier in elk document en in elke TeX-installatie.
Waarom worden de regels van mijn algoritme samengevoegd?
De stappen gebruiken commando's van algpseudocode of algorithm2e, die Scissor LaTeX niet leest. Hun namen worden overgeslagen, dus de tekst van alle stappen komt op één regel terecht.
Elk voorbeeld op deze pagina wordt door Scissor LaTeX gezet wanneer de site wordt gebouwd. Laatst bijgewerkt op 2026-11-07.