Zum Inhalt springen

Algorithmen und Pseudocode

Setzen Sie den Pseudocode in eine algorithm-Umgebung mit \caption, um „Algorithm 1“ zu erhalten. Darin liest Scissor LaTeX die großgeschriebenen Befehle von algorithmic (\STATE, \FOR) nur in Konferenzlayouts; schreiben Sie die Schritte in anderen Dokumenten daher in einen verbatim-Block.

Die Umgebung algorithm

Das Paket algorithm stellt eine nummerierte Umgebung für Pseudocode bereit, ähnlich wie eine Abbildung: Ein \caption gibt ihr eine Nummer („Algorithm 1“), und mit einem \label nach der Beschriftung können Sie per \ref auf sie verweisen. In Scissor LaTeX bleibt der Algorithmus dort, wo Sie ihn schreiben, und seine Beschriftung wird darunter gesetzt.

Was hineingehört, hängt vom Paket ab, das Sie für die Schritte verwenden, und genau dort unterscheidet sich die Unterstützung:

PaketBefehleIn Scissor LaTeX
algorithmUmgebung algorithm, \caption, \labelFunktioniert: nummeriert als „Algorithm N“, Beschriftung darunter.
algorithmic\STATE, \IF, \FOR, \WHILE, \RETURN ... (großgeschrieben)Teilweise: wird nur in Dokumenten mit Konferenzlayout gelesen; anderswo sind es unbekannte Befehle.
algpseudocode (algorithmicx)\State, \If, \For, \EndFor, \Return ...Nicht unterstützt: wird mit einer Meldung übersprungen, und die Schritte laufen in einer Zeile zusammen.
algorithm2e\KwIn, \For{..}{..}, \eIf ...Nicht unterstützt: wird mit einer Meldung übersprungen.

Pseudocode, der überall funktioniert

Am zuverlässigsten zeigen Sie Pseudocode in jedem Scissor-LaTeX-Dokument mit einem verbatim-Block innerhalb von algorithm. Nummer und Beschriftung bleiben erhalten, und die Zeilen behalten ihre Einrückung.

Ein Algorithmus mit Schritten in verbatim

LaTeXPräambel: \usepackage{algorithm}Im Editor öffnen (öffnet in einem neuen Tab)
\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.
Gesetzt von Scissor LaTeX: Ein Algorithmus mit Schritten in verbatim

Für Pseudocode mit Formeln funktioniert ein lstlisting genauso. Oder Sie schreiben die Schritte als gewöhnlichen Text außerhalb der algorithm-Umgebung, als nummerierte Liste.

Schritte als nummerierte Liste, mit Mathematik

\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}
Gesetzt von Scissor LaTeX: Schritte als nummerierte Liste, mit Mathematik

algorithmic in Konferenzlayouts

Die Layouts im Stil bekannter Konferenzen (arXiv, IEEE, NeurIPS, ICML und die übrigen) lesen die großgeschriebenen Befehle des Pakets algorithmic: Schlüsselwörter wie for, do, end for und return werden fett gesetzt, und jeder Befehl beginnt eine neue Zeile. Zeilennummern werden nicht gezeichnet, und die Zeilen sind zentriert. Der Tab Probleme nennt das verwendete Layout.

algorithmic in einem Dokument im arXiv-Stil

\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}
Gesetzt von Scissor LaTeX: algorithmic in einem Dokument im arXiv-Stil

Tab „Probleme“: 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 wird nicht unterstützt

algpseudocode, das in neueren Artikeln am häufigsten verwendete Paket, nutzt Befehle in gemischter Schreibweise wie \State und \EndFor. Scissor LaTeX kennt sie nicht: Ihre Namen werden übersprungen, Formeln und Wörter bleiben erhalten, und alles läuft in einer Zeile zusammen. Der Tab Probleme listet die übersprungenen Befehle auf.

algpseudocode: Die Schritte laufen zusammen

LaTeXPräambel: \usepackage{algorithm,algpseudocode}Im Editor öffnen (öffnet in einem neuen Tab)
\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}

Tab „Probleme“: Skipped 4 unknown commands: \State, \For, \EndFor, \Return

Wenn das Dokument sowohl hier als auch in einer TeX-Installation funktionieren soll, schreiben Sie die Schritte wie oben gezeigt in verbatim; das lässt sich überall kompilieren.

Unterschiede zu einer TeX-Installation

Die Paketseite ist algorithm, algorithmic und algpseudocode. Die Handbücher finden Sie auf CTAN: algorithms, algorithmicx und algorithm2e.

Siehe auch Algorithmus-Pakete, Code-Listings und Konferenzlayouts.

Fragen und Antworten

Wie schreibe ich einen Algorithmus in LaTeX?

Verwenden Sie die Umgebung algorithm mit einem \caption und schreiben Sie die Schritte hinein. In Scissor LaTeX funktionieren die Schritte am besten in einem verbatim-Block oder mit den \STATE-Befehlen von algorithmic in einem Konferenzlayout.

Warum laufen meine \State-Zeilen zusammen?

\State stammt aus algpseudocode, das Scissor LaTeX nicht unterstützt. Die Befehlsnamen werden übersprungen, sodass die Schritte zu einer Zeile verschmelzen. Verwenden Sie stattdessen verbatim für die Schritte.

Kann ich mit der Nummer auf einen Algorithmus verweisen?

Ja. Setzen Sie \label{alg:name} nach das \caption und schreiben Sie Algorithm~\ref{alg:name}.

Jedes Beispiel auf dieser Seite wird beim Erstellen der Website von Scissor LaTeX gesetzt. Zuletzt aktualisiert am 2026-11-07.