关于算法包

关于算法包

\usepackage[ruled, lined, linesnumbered, commentsnumbered, longend]{algorithm2e}我正在使用和制作算法图\usepackage{algpseudocode}

\documentclass{article}

\usepackage[ruled, lined, linesnumbered, commentsnumbered, longend]{algorithm2e}
\usepackage{xcolor}
\usepackage{algpseudocode}

\begin{document}
\begin{algorithm}
    \KwResult{Best solution found for distribution}
    Population  initialization

    \For{population size}{
        execute phases\Comment{Mutation and crossover}
        
        \If{elitism}{ 
            $population[0] = fittest$ \Comment{Next evolution}
         }
    }
    \KwRet{$fittest$}
    \caption{Genetic algorithm}\label{alg:genetic}
\end{algorithm}
\end{document}

在此处输入图片描述

我想补充两点细节:

  1. 添加要求标签。我尝试使用添加它\Require,但不起作用。我是否还需要另一个包?类似的东西:

在此处输入图片描述

  1. 更改数轴的样式,类似于这些:

在此处输入图片描述

我很感激任何帮助/信息。谢谢!

答案1

不要混合使用以下算法包algorithm2ealgorithmicx(提供algpseudocode)。您应该坚持使用其中一种。就您的情况而言,似乎algorithm2e提供了您感兴趣的功能,因此请以此为基础进行构建。

最小示例提供了\KwRequire一个新的\Comment,以及适当的行号格式。

在此处输入图片描述

\documentclass{article}

\usepackage[ruled,lined,linesnumbered]{algorithm2e}
\DontPrintSemicolon

% Set algorithm keyword formatting
\newcommand{\Var}{\textup}
\newcommand{\Comment}{\tcc*[r]}
\SetKwComment{tcc}{$\triangleright$~}{}
\SetCommentSty{normalfont}
\SetKwInput{KwRequire}{Require}
% Set algorithm line numbers
\SetNlSty{}{}{:}

\begin{document}

\begin{algorithm}
  \KwRequire{Some data input}
  \KwResult{Best solution found for distribution}
  Population initialization\;
  \For{population size}{%
    execute phases \Comment{Mutation and crossover}
    \If{elitism}{%
      $\Var{population[0]} = \Var{fittest}$ \Comment{Next evolution}
    }
  }
  \KwRet{$\Var{fittest}$}
  \caption{Genetic algorithm}
\end{algorithm}

\end{document}

相关内容