我正在使用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}