简短的
我听说这algorithmicx
是最好的算法包。但是,在我的工作中我一直在使用algorithm2e
。从这里的几个例子可以看出,在两者之间进行转换有点困难。
特别是,我注意到\SetKwInOut
命令在 中不存在algorithmicx
。例如:
平均能量损失
\documentclass{book}
%for original algorithm
\usepackage{amsmath}
\usepackage[linesnumbered,ruled]{algorithm2e}
%\usepackage{algorithm,algpseudocode}
\usepackage{lipsum}
\begin{document}
%Original table to try and replicate
\lipsum[1-1]
\begin{algorithm}[H]
\SetKwInOut{Input}{Input}
\SetKwInOut{Output}{Output}
\SetKwInOut{Define}{Define}
\underline{Initialise:} Conditions for algorithm\;
\Define {Definition of algorithm}
\Input{Input of Algorithm}
\Output{Output of algorithm}
\underline{Sequence In Full:}
{
\hspace{5pt} \textbf{Start}:
}
{
\hspace{17pt} Step 1 \;
}
{
\bgroup\leftskip 15pt \hspace{1pt} \lipsum[1-1] \; \par\egroup
}
{
\hspace{17pt} Step 2 \;
}
{
\bgroup\leftskip 15pt \hspace{1pt} \lipsum[1-1] \; \par\egroup
}
{
\hspace{17pt} Step 3 \;
}
{
\hspace {5pt} \textbf{End}
}
\caption{Name of algorithm}\label{alg:Name}
\end{algorithm}
\end{document}
目标
有什么方法可以将上述内容复制到 中algorithmicx
。(正如您所看到的,我之所以要转换它,是因为我已经读过这algorithmicx
是唯一允许您将算法分离到多个页面上的包)。提前谢谢您?
答案1
是的,algorithmicx
有类似的东西:\SetKwInOut
它被称为:\Require
并且\Ensure
在algopseudocode
布局中algorithmicx
(你必须使用 \usepcakage{algopseudocode}`)。
然后您可以使用以下方法根据需要重命名它:
\algrenewcommand\algorithmicrequire{\textbf{Input:}}
\algrenewcommand\algorithmicensure{\textbf{Output:}}
正如这里建议的:将算法的输入和输出左对齐