我正在使用 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
和一些可伸缩空间。