我想对使用该algorithm2e
包的伪代码/算法和列表使用类似的样式。因此我需要在算法上方和下方添加一行,但不要在标题上方添加一行。到目前为止还没有找到任何解决方案。
调整了行号样式、标题等几项配置,但是还是无法去掉上面的一行:
\setlength{\algoheightrule}{0.4pt}
\renewcommand\AlCapFnt{\normalfont}
\SetAlgoCaptionLayout{centerline}
\SetNlSty{ttfamily}{}{}
\SetAlgoNlRelativeSize{-3}
多谢!
梅威瑟:
\documentclass[a4paper, 11pt]{book}
\usepackage[ruled]{algorithm2e}
\begin{document}
\begin{algorithm}
\KwData{this text}
\KwResult{how to write algorithm with \LaTeX}
\caption{How to write algorithms}
\end{algorithm}
\end{document}
答案1
您可以使用样式设置算法plainruled
- 两个单一规则,一个在算法上方,一个在算法下方 - 并调整算法标题的设置方式;默认值为under
,因此我们将其更改为above
(不是top
):
\documentclass{article}
\usepackage[
plainruled,
linesnumbered,
noline
]{algorithm2e}
\setlength{\algoheightrule}{0.4pt}
\renewcommand\AlCapFnt{\normalfont}
\SetAlgoCaptionLayout{centerline}
\DontPrintSemicolon
\makeatletter
% Add adjustments to plainruled format
\def\@algocf@capt@plainruled{above}
\renewcommand{\algocf@caption@plainruled}{%
\vskip\AlCapSkip%
\box\algocf@capbox%
\vskip 5\algoheightrule}%
\makeatother
\begin{document}
\begin{algorithm}
\KwData{This text}
\KwResult{How to write algorithm with \LaTeX}
\caption{How to write algorithms}
\end{algorithm}
\end{document}
其中包括进行微小的调整,在标题和算法的顶部规则之间添加一个空格。