算法不显示结束循环语句

算法不显示结束循环语句

我正在使用algorithm包来编写算法。我使用以下代码来生成循环

\begin{algorithm}
\caption{My algorithm}\label{alg:myalgo}
\begin{algorithmic}[1]
\Procedure{Algo1}{}
\For{\texttt{<condition>}}
        \State \texttt{<my stuff>}
      \EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}

此代码在编译时给出输出

在此处输入图片描述

此输出的问题是它没有显示end for以下line 3内容例子。

有人能告诉我上面的代码有什么问题吗?

答案1

没有“end for”的唯一原因是您noend在加载时使用了该选项algpseudocode

事实上,以下 MWE

\documentclass{article}
\usepackage{algorithm}
\usepackage[noend]{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{My algorithm}\label{alg:myalgo}
\begin{algorithmic}[1]
\Procedure{Algo1}{}
\For{\texttt{<condition>}}
        \State \texttt{<my stuff>}
      \EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}
\end{document} 

给出

在此处输入图片描述

如果你更换

\usepackage[noend]{algpseudocode}

\usepackage{algpseudocode}

你获得

在此处输入图片描述

答案2

类似这样。需要algpseudocode包。

在此处输入图片描述

代码

\documentclass{article}
\usepackage{algorithm}
\usepackage{algpseudocode}
\begin{document}

\begin{algorithm}
\caption{My algorithm}\label{alg:myalgo}
\begin{algorithmic}[1]
\Procedure{Algo1}{}
\For{\texttt{<condition>}}
        \State \texttt{<my stuff>}
      \EndFor
\EndProcedure
\end{algorithmic}
\end{algorithm}

\end{document}

相关内容