정의되지 않은 제어 시퀀스.\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}

관련 정보