我正在尝试使用 algorithm2e 包在算法标题上方/下方添加一些间距。请考虑以下示例:
\documentclass[a4paper]{article}
\usepackage{blindtext}
\usepackage[linesnumbered,boxed]{algorithm2e}
\SetKwInput{KwInput}{Input}
\SetKwInput{KwOutput}{Output}
\begin{document}
\begin{algorithm}[H]
\SetAlgoLined
\KwInput{Parameters...}
\KwOutput{$\emptyset$}
\If{Condition}
{
Do something \;
}
\caption{Algoritm test...}
\end{algorithm}
\blindtext{}
\begin{figure}[!h]
\caption{Figure test...}
\end{figure}
\blindtext{}
\end{document}
您可以看到,标题被挤在包含算法的框下方。框与标题之间没有空间,标题与以下文本之间的空间也不够。我想在标题上方和下方添加相同大小的空间,但我还没有想出如何做到这一点:算法包似乎有一个可行的解决方案(请参阅算法包忽略标题包),但我不知道如何将其\captionsetup
应用于 algorithm2e 标题。对此有什么想法吗?
答案1
要使用该命令,\captionsetup
您必须加载该caption
包...
不管怎样,没有它也可以做到这一点。
首先,标题和其余文本之间的间距为空,因为您使用位置说明符阻止algorithm
浮动。而是使用,这意味着“将其放置在此处”,但保留浮动对象(与s 和s相同)。H
h
algorithm
h
figure
table
algorithm
然后您可以通过命令来调整正文和标题之间的间距\SetAlCapSkip
。
换句话说,用以下代码代替
\begin{algorithm}[H]
和
\begin{algorithm}[h]
并插入
\SetAlCapSkip{1em}
在序言中(1em
根据您的需要进行调整)应该是您想要的。
完成 MWE
\documentclass[a4paper]{article}
\usepackage{blindtext}
\usepackage[linesnumbered,boxed]{algorithm2e}
\SetAlCapSkip{1em}
\SetKwInput{KwInput}{Input}
\SetKwInput{KwOutput}{Output}
\begin{document}
\begin{algorithm}[h]
\SetAlgoLined
\KwInput{Parameters...}
\KwOutput{$\emptyset$}
\If{Condition}
{
Do something \;
}
\caption{Algoritm test...}
\end{algorithm}
\blindtext{}
\begin{figure}[!h]
\caption{Figure test...}
\end{figure}
\blindtext{}
\end{document}
输出