我正在使用\documentclass[5p]{elsarticle}
和包\usepackage{algorithmic} \usepackage[ruled, vlined, longend, linesnumbered]{algorithm2e}
没有错误,但在循环和 if 条件中没有得到垂直线。以下是示例:
\documentclass[5p]{elsarticle}
\usepackage{algorithmic}
\usepackage[ruled, vlined, longend, linesnumbered]{algorithm2e}
\begin{document}
\section{Intro}
Text here
\begin{algorithm}
\caption{title of algo}
\label{alg:algo1}
\begin{quote}
{\bf Input:} Input 1, Input 3
{\bf Output:} Output here
\begin{algorithmic} `[`1`]`
\STATE Initialize variable
\FORALL{1st for loop }
\FORALL{2st for loop }
\FORALL{3rd for loop}
\IF {1st IF condition}
\STATE statements
\ELSIF{elseif condition}
\STATE statements
\ENDIF
\STATE statements
\IF {if condition}
\STATE statement
\ENDIF
\ENDFOR
\ENDFOR
\ENDFOR
\STATE Update the list
\end{algorithmic}
\end{quote}
\end{algorithm}
\end{document}
先谢谢您的帮助!
输出文件如下图所示:
答案1
块的开始和结束之间的垂直线是algorithm2e
包的一个功能。您使用了包algorithmic
中的环境和语法algorithmic
,因此您不能指望这些线会出现,因为包algorithmic
没有这样的功能。
我认为您不应该加载这两个包 - 这两个包都定义了环境algorithm
,并且我找不到任何证据表明这两个包是兼容的(关于您如何尝试混合它们)。
因为您想要垂直线,所以我的建议是使用该包删除\usepackage{algorithmic}
并重写您的算法。algorithm2e
在 Wikibooks 上可以找到用于编写算法的不同软件包的良好比较:LaTeX/算法。