\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}
我想补充两点细节:
- 添加要求标签。我尝试使用添加它
\Require
,但不起作用。我是否还需要另一个包?类似的东西:
- 更改数轴的样式,类似于这些:
我很感激任何帮助/信息。谢谢!
答案1
不要混合使用以下算法包algorithm2e
和algorithmicx
(提供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}