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 Hauptalgorithmicx
PaketCode -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.
\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}