未定義の制御シーケンス。\BState ->\State \algbackskip \BState

未定義の制御シーケンス。\BState ->\State \algbackskip \BState

レポートの疑似コードを作成中にエラーが発生しました。以下は LaTeX のコードです。「未定義の制御シーケンス\BState-> \State \algbackskip \BState」というメッセージが表示されます。この件について、どうか助けてください。

\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}

答え1

\@algbackskipこの問題の原因となっているのは、 ( の一部を構成)の不足部分です\BState

メインalgorithmicxパッケージコード -algorithmicx.sty- の定義が含まれています\@algbackskipが、コメントアウトされています:

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

これは間違いである可能性があり、修正する必要があるというのが私の推測です。

ここに画像の説明を入力してください

\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}

関連情報