我在為報告創建偽代碼時遇到錯誤。以下是我在 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}