算法中的步骤编号

算法中的步骤编号

是否有一个算法包可以让人实现书中算法的风格Korte 和 Vygen 的组合优化? 我特别感兴趣的是用圆圈数字来编号步骤。

答案1

这是原始算法的观点:

Edmond 分支算法

除了复制算法(包括标题和内容)之外,由于您对编号特别感兴趣,以下内容使用PGF/TikZalgorithmicx。此外,我使用了以下两个答案来获得所需的结果:

\documentclass{article}
\usepackage{algpseudocode}
\usepackage{tikz}
% https://tex.stackexchange.com/questions/7032/good-way-to-make-textcircled-numbers/7045#7045
\newcommand*\circled[1]{\tikz[baseline=(char.base)]{%
            \node[shape=circle,draw,inner sep=1pt] (char) {#1};}}
\begin{document}

% https://tex.stackexchange.com/questions/25019/how-to-place-a-program-and-a-text-side-by-side/25026#25026
\algrenewcommand{\alglinenumber}[1]{\scriptsize\circled{#1}}% circled line numbers
\begin{algorithmic}[1]% Taken from the algorithmicx package documentation
  \Procedure{Euclid}{$a,b$}
  \State $r\gets a\bmod b$
  \While{$r\not=0$}
    \State $a\gets b$
    \State $b\gets r$
    \State $r\gets a\bmod b$
  \EndWhile\label{euclidendwhile}
  \State \textbf{return} $b$
  \EndProcedure
\end{algorithmic}

\end{document}

欧几里得算法

相关内容