格式化算法以在文档中占据一席之地

格式化算法以在文档中占据一席之地

我在乳胶文档中有两个算法,使用一列的类文档。第一个算法几乎占了一页,第二个算法在下一页。有没有办法格式化它以在文档中占据一些位置。也许把这两个算法放在同一页上(我不知道这是否可行)。

我使用\usepackage{algorithm}\usepackage{algpseudocode}。这是两种算法的示例(实际上它们比这更长,这只是一个例子)。

\begin{algorithm}
\caption{My First Algorithm (param)}
\label{algo1}
\begin{algorithmic}[1]
\State $A = A + param$
\State $\alpha = 34$
\State etc ...
\end{algorithmic}
\end{algorithm}

\begin{algorithm}
\caption{My Second Algorithm (A)}
\label{algo1}
\begin{algorithmic}[1]
\State $C = C + A$
\State $\alpha = \beta$
\State etc ...
\end{algorithmic}
\end{algorithm}

答案1

这是对如何将算法和图形并列在一起?

这是一个最小的例子,展示了如何并排配对算法:

在此处输入图片描述

\documentclass{llncs}% http://www.springer.com/computer/lncs/lncs+authors?SGWID=0-40209-0-0-0
\usepackage[margin=1in]{geometry}% http://ctan.org/pkg/geometry
\usepackage{lipsum}% http://ctan.org/pkg/lipsum
\usepackage{algorithm}% http://ctan.org/pkg/algorithm
\usepackage{algpseudocode}% http://ctan.org/pkg/algorithmicx
\usepackage[compatibility=false]{caption}% http://ctan.org/pkg/caption
\begin{document}
\lipsum[1]

\medskip

\noindent\begin{minipage}{.5\textwidth}
\captionof{algorithm}{Euclid’s algorithm}\label{algo1}
\begin{algorithmic}[1]
  \Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
    \State $r\gets a\bmod b$
    \While{$r\not=0$}\Comment{We have the answer if r is 0}
      \State $a\gets b$
      \State $b\gets r$
      \State $r\gets a\bmod b$
    \EndWhile
    \State \textbf{return} $b$\Comment{The gcd is b}
  \EndProcedure
\end{algorithmic}
\end{minipage}%
\begin{minipage}{.5\textwidth}
\captionof{algorithm}{Euclid’s algorithm}\label{algo2}
\begin{algorithmic}[1]
  \Procedure{Euclid}{$a,b$}\Comment{The g.c.d. of a and b}
    \State $r\gets a\bmod b$
    \While{$r\not=0$}\Comment{We have the answer if r is 0}
      \State $a\gets b$
      \State $b\gets r$
      \State $r\gets a\bmod b$
    \EndWhile
    \State \textbf{return} $b$\Comment{The gcd is b}
  \EndProcedure
\end{algorithmic}
\end{minipage}

\medskip

On the left is Algorithm~\ref{algo1}. On the right is Algorithm~\ref{algo2}.

\lipsum[2]

\end{document}

这种方法背后的想法是让两个minipages 横跨整个\linewidthminipage然后这些 s 容纳非浮动algorithmic环境以及非浮动\captionof标题。如果需要,您可以包裹全部的minipage在浮动环境中加倍algorithm

指某东西的用途geometry只是为了获得一些股票房地产(在你的例子中可能不需要),而lipsum提供了一些虚拟文本,乱码风格。

caption提供了在浮动之外添加标题的方法\captionof。但是,它需要compatibility=false选项才能工作,因为llncs已经重新定义\caption-被检测到captionalgorithm仍然是需要的,因为它提供了algorithm计数器和“算法列表”功能。

相关内容