算法中垂直线不出现

算法中垂直线不出现

我正在使用\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/算法

相关内容