简短的

简短的

简短的

我听说这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并且\Ensurealgopseudocode布局中algorithmicx(你必须使用 \usepcakage{algopseudocode}`)。

然后您可以使用以下方法根据需要重命名它:

\algrenewcommand\algorithmicrequire{\textbf{Input:}}
\algrenewcommand\algorithmicensure{\textbf{Output:}}

正如这里建议的:将算法的输入和输出左对齐

相关内容