我想algorithmic
用水平线将环境中的两个部分分开,例如:
-------------
Algorithm 1: MyAlgorithm
-------------
Part 1:
Do some stuff
-------------
Part 2:
Other stuff
\hline
导致错误。到目前为止,我的代码如下所示:
\begin{algorithm}
\caption{Caption}
\begin{algorithmic}
\STATE algorithm here
%I'd like to do \hline here!
\STATE part 2 here
\end{algorithmic}
\end{algorithm}
答案1
此命令\hline
仅在表格内有效。要绘制一条沿整个宽度的线,可以使用命令\hrulefill
。
\STATE
源于algorithms
捆而更先进和最新的algorithmicx
包裹定义\State
。
\documentclass{article}
\usepackage{algpseudocode}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}
\caption{Caption}
\begin{algorithmic}
\State algorithm here
\\\hrulefill
\State part 2 here
\end{algorithmic}
\end{algorithm}
\end{document}
结果是:
如果您想要特殊的线条格式,您也可以使用其他工具来绘制线条。这是最简单的解决方案。
答案2
这是与 Marco 的答案略有不同的方法(使用\hrulefill
- 领导者)。以下 MWE 定义在两行代码之间垂直居中\algrule[<thickness>]
设置\hrule
宽度\textwidth
和高度<thickness>
(默认值为):.4pt
\documentclass{article}
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\usepackage{algorithm}% http://ctan.org/pkg/algorithms
\makeatletter
\newcommand{\algrule}[1][.2pt]{\par\vskip.5\baselineskip\hrule height #1\par\vskip.5\baselineskip}
\makeatother
\begin{document}
\begin{algorithm}
\caption{Caption}
\begin{algorithmic}[1]
\State First part of algorithm here
\algrule
\State Second part of algorithm here
\algrule[5pt]
\State Third part of algorithm here
\end{algorithmic}
\end{algorithm}
\end{document}