我无法删除 end if et end for,即使使用命令 noend

我无法删除 end if et end for,即使使用命令 noend

我在我的乳胶中使用伪代码,这是我正在做的一个例子:

\documentclass{book}
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage[noend]{algpseudocode}
\begin{document}

\begin{algorithm}
\caption{A}
\begin{algorithmic} 
\IF{ A}
\STATE \Return B
\ENDIF
\end{algorithmic}
\end{algorithm}

\end{document}

我在这里读到,使用 \usepackage[noend]{algpseudocode} 会从我的算法的最终结果中删除 End if 和 End for,但它们仍然出现在我的 pdf 中(实际上,我没有看到有和没有包 \usepackage[noend]{algpseudocode} 有什么区别)。我该如何摆脱它?

答案1

任何一个使用algorithmic 或者 algpseudocode

由于您似乎更喜欢前者,不要将语法与后者混合,因此,不要使用\RETURN\Return而是使用\STATE,请参见下面的代码。

并使用该noend选项。

\documentclass{book}
\usepackage{algorithm}
\usepackage[noend]{algorithmic}

\begin{document}

\begin{algorithm}
\caption{A}
\begin{algorithmic}
\IF{A}{\RETURN B}
\ENDIF
\end{algorithmic}
\end{algorithm}

\end{document}

在此处输入图片描述

或者,algpseudocode使用

\documentclass{book}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}

\begin{document}

\begin{algorithm}
\caption{A}
\begin{algorithmic} 
\If{A}
\State \Return B
\EndIf
\end{algorithmic}
\end{algorithm}

\end{document}

在此处输入图片描述

相关内容