
1:, 2:,..을 인쇄하는 대신 각 줄의 시작 부분에 Step 1:, Step 2:,..를 인쇄하고 싶습니다. 내 코드는 다음과 같습니다.
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{My algorithm}
\begin{algorithmic}[1]
\State foo
\State bar
\end{algorithmic}
\end{algorithm}
\end{document}
나는 보았다이것질문, 해결책이 나에게 효과가 없었습니다.
ALC@lno 명령이 정의되지 않았습니다.
나는 algpseudocode 패키지를 사용하고 있고 솔루션은 알고리즘 패키지를 사용하고 있기 때문이라고 생각합니다. 또한 줄 번호를 "1단계", "2단계" 등으로 바꾸려고 합니다. 하지만 그 해결책은 줄 번호를 고정 기호로 바꾸는 것입니다.
답변1
\ALG@step
숫자를 인쇄하기 전에 텍스트를 추가하도록 내부 매크로를 다시 정의할 수 있습니다 . 아래 정의는 algoritmicx
소스(에서 사용됨 algpseudocode
)에서 다음 단어로 복사되었습니다.단계추가되었습니다. 매크로에는 정의 주위에 넣어야 @
하는 문자가 포함되어 있기 때문입니다.\makeatletter
\makeatother
\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\makeatletter
\def\ALG@step%
{%
\addtocounter{ALG@line}{1}%
\addtocounter{ALG@rem}{1}%
\ifthenelse{\equal{\arabic{ALG@rem}}{\ALG@numberfreq}}%
{\setcounter{ALG@rem}{0}\alglinenumber{Step \arabic{ALG@line}}}%
{}%
}%
\makeatother
\begin{document}
\begin{algorithm}
\caption{My algorithm}
\begin{algorithmic}[1]
\State foo
\State bar
\end{algorithmic}
\end{algorithm}
\end{document}
결과: