将文本环绕在伪代码周围

将文本环绕在伪代码周围

我使用algorithm/algorithmic包编写了一些伪代码。框的宽度横跨整个页面,我想知道是否有任何方法可以限制它(因为实际代码不超过页面的中间)。实际上,我想将文本环绕在伪代码周围。

附言:我尝试了wrapfig打包,但遇到了一些问题。如果有人能验证这种方法是否有效,那也会很有帮助。

有任何想法吗 ?

答案1

您可以将其放在algorithm迷你页面的内部,并将其放在包装图的内部,它应该会像魔法一样起作用。

\documentclass{article}
\usepackage{algorithmic}
\usepackage{algorithm}
\usepackage{wrapfig}
\usepackage{lipsum}
\begin{document}
  \lipsum[1]
  \begin{wrapfigure}{L}{0.5\textwidth}
    \begin{minipage}{0.5\textwidth}
      \begin{algorithm}[H]
        \caption{assignment algorithm}
        \begin{algorithmic}
          \STATE i $\leftarrow$ j
        \end{algorithmic}
      \end{algorithm}
    \end{minipage}
  \end{wrapfigure}
  \lipsum
\end{document}

结果如下:

包裹算法

您可能需要调整 上的对齐修饰符,minipage以使垂直对齐效果更好一些。或者,您可以使用lineheight的可选项wrapfigure

答案2

algorithm2e您可以使用包和而不使用来实现相同的结果minipage

\documentclass{article}
\usepackage{wrapfig}
\usepackage{lipsum}
\usepackage[ruled]{algorithm2e}
\begin{document}
  \lipsum[1]
  \begin{wrapfigure}[6]{L}{0.5\textwidth} %<-- Wrapfigure covers 6 lines
      \begin{algorithm}[H]                %<-- Remove float environment
        \SetCustomAlgoRuledWidth{0.45\textwidth}  %<-- For aesthetics  
        \caption{assignment algorithm}
           i $\leftarrow$ j
      \end{algorithm}
  \end{wrapfigure}
  \lipsum
\end{document}

使用 algorithm2e 包装伪

相关内容