隐藏 algorithm2e 算法末尾的水平线

隐藏 algorithm2e 算法末尾的水平线

我正在使用 algorithm2e 包将一些算法包含到我的文档中。一些算法并排显示,我对底部水平线的外观不满意。我最好想以某种方式完全删除这条线,但我似乎在 algorithm2e 手册中找不到任何这样的选项。

任何帮助将不胜感激!

以下是其样例:

在此处输入图片描述

还有一个生成图片的最小工作示例:

\documentclass[12pt, a4paper]{article}
\usepackage[ruled,vlined]{algorithm2e}
\begin{document}
  \begin{figure}[htp]
  \begin{minipage}[t]{8cm}
    \vspace{0pt}  
    \begin{algorithm}[H]
            \DontPrintSemicolon
            \KwData{$S, C$}
            \KwResult{$X$}
            \Begin{
                    $X \leftarrow \emptyset$\;
                    \While{$C \neq \emptyset$}{
                            $A \leftarrow$ arbitrary element in $C$\;
                            $a \leftarrow$ arbitrary element in $a$\;
                            $X \leftarrow X \cup \{a\}$\;
                            $C \leftarrow C \setminus \{A \in C\ |\ A \cap X \neq \emptyset\}$\;
                    }
                    \Return{$X$}\;
            }
            \caption{Alg-1}
    \end{algorithm}
  \end{minipage}
  \begin{minipage}[t]{8cm}
        \vspace{0pt}
        \begin{algorithm}[H]
            \DontPrintSemicolon
            \KwData{$S, C$}                  
            \KwResult{$X$}                  
            \Begin{
                    $X \leftarrow \emptyset$\;
                     \While{$C \neq \emptyset$}{
                            $A \leftarrow$ arbitrary element in $C$\;
                            $X \leftarrow X \cup A$ \;
                            $C \leftarrow C \setminus \{A \in C\ |\ A \cap X \neq \emptyset\}$\;
                      }
                      \Return{$X$}\;
            }                  
            \caption{Alg-2}
        \end{algorithm}
  \end{minipage}
  \end{figure}
\end{document}

答案1

我没有直接看到这个选项,所以必须深入研究algorithms2e。幸运的是,我几天前已经为另一个答案做过这件事了,所以我仍然记得它是如何工作的:-)

\documentclass[12pt, a4paper, titlepage]{article}

\usepackage{geometry} % more generous margins

\usepackage[ruled,vlined]{algorithm2e}
\makeatletter
\renewcommand*{\@algocf@post@ruled}{}
\makeatother

\begin{document}

  \begin{figure}[htp]
  \begin{minipage}[t]{.48\linewidth}
    \vspace{0pt}  
    \begin{algorithm}[H]
            \DontPrintSemicolon
            \KwData{$S, C$}
            \KwResult{$X$}
            \Begin{
                    $X \leftarrow \emptyset$\;
                    \While{$C \neq \emptyset$}{
                            $A \leftarrow$ arbitrary element in $C$\;
                            $a \leftarrow$ arbitrary element in $a$\;
                            $X \leftarrow X \cup \{a\}$\;
                            $C \leftarrow C \setminus \{A \in C\ |\ A \cap X \neq \emptyset\}$\;
                    }
                    \Return{$X$}\;
            }
            \caption{Alg-1}
    \end{algorithm}
  \end{minipage}\hfill
  \begin{minipage}[t]{.48\linewidth}
        \vspace{0pt}
        \begin{algorithm}[H]
            \DontPrintSemicolon
            \KwData{$S, C$}                  
            \KwResult{$X$}                  
            \Begin{
                    $X \leftarrow \emptyset$\;
                     \While{$C \neq \emptyset$}{
                            $A \leftarrow$ arbitrary element in $C$\;
                            $X \leftarrow X \cup A$ \;
                            $C \leftarrow C \setminus \{A \in C\ |\ A \cap X \neq \emptyset\}$\;
                      }
                      \Return{$X$}\;
            }                  
            \caption{Alg-2}
        \end{algorithm}
  \end{minipage}
  \end{figure}

\end{document}

在此处输入图片描述

我擅自更改了minipage设置。使用硬编码长度通常很危险:最好使用倍数\linewidth和一些可伸缩空间。

相关内容