将算法的标题向上移动

将算法的标题向上移动

我有以下代码:

\documentclass{scrbook}


\usepackage[linesnumbered,ruled]{algorithm2e}

\begin{document}

 AAAA

 BBBB

 \begin{algorithm}
 \vspace*{-1cm}
 \caption{My Caption\ldots}
 My Code
 \end{algorithm}

\end{document} 

它不会将带有标题“我的标题”的“我的代码”部分向上移动 - 但它适用于图形环境 - 有什么建议可以如何为算法做到这一点?

注意:我知道一种在 \begin{algorithm} 上方指定 \vpsace* 的方法,但如果它周围有文本,那么它将不起作用 - 它会弄乱文本,并且不会移动算法。

答案1

您正在谈论必须保留的算法。

因此你有两种可能性。

  1. 用作H浮动说明符。这样,algorithm环境周围的所有间距都将被删除。

    \documentclass{scrbook}
    
    \usepackage[linesnumbered,ruled]{algorithm2e}
    
    \begin{document}
    
     AAAA
    
     BBBB
    
     \begin{algorithm}[H]
     \caption{My Caption\ldots}
     My Code
     \end{algorithm}
    
     CCCC
    
    \end{document} 
    

    在此处输入图片描述

  2. 用作h浮点说明符并在本地重新定义长度\intextsep(使用时表示浮点数和文本之间的距离h)。

    \documentclass{scrbook}
    
    \usepackage[linesnumbered,ruled]{algorithm2e}
    
    \begin{document}
    
     AAAA
    
     BBBB
    
    {\setlength{\intextsep}{0pt}
     \begin{algorithm}[h]
     \caption{My Caption\ldots}
     My Code
     \end{algorithm}
    }
    
     CCCC
    
    \end{document} 
    

    在此处输入图片描述

相关内容