Undefinierte Steuersequenz.\BState ->\State \algbackskip \BState

Undefinierte Steuersequenz.\BState ->\State \algbackskip \BState

Beim Erstellen eines Pseudocodes für meinen Bericht ist der Fehler aufgetreten. Nachfolgend sehen Sie meinen Code in LaTeX. Er gibt die Meldung „undefinierte Steuersequenz \BState-> \State \algbackskip \BState“ aus. Bitte helfen Sie mir dabei.

\documentclass{article}
\usepackage{amsmath}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}[H]
  \begin{algorithmic}[1]
    \BState \emph{\textbf{Key(s)}}:
  \end{algorithmic}
\end{algorithm}
\end{document}

Antwort1

Der Teil, der dieses Problem verursacht, ist ein unterdefiniertes \@algbackskip(das Teil von ist \BState).

Die HauptalgorithmicxPaketCode -algorithmicx.sty– enthält eine Definition für \@algbackskip, die jedoch auskommentiert wurde:

%\def\algbackskip{\hskip-\ALG@thistlm}

Ich vermute, dass es sich hierbei um einen Fehler handeln könnte und dieser korrigiert werden sollte.

Bildbeschreibung hier eingeben

\documentclass{article}
\usepackage[noend]{algpseudocode}

\makeatletter
% Reinsert missing \algbackskip
\def\algbackskip{\hskip-\ALG@thistlm}
\makeatother

\begin{document}

\begin{algorithmic}[1]
  \State something
  \If{this}
    \State do this
    \BState do that
  \EndIf
  \BState now this
\end{algorithmic}

\end{document}

verwandte Informationen