Elsevier 的 ifacconf.cls 环境中的算法

Elsevier 的 ifacconf.cls 环境中的算法

ifaccong.cls 位于此处https://www.ifac-control.org/events/resolveuid/b0e4734736878819db179d76290a8f78。如何在 ifacconf 文档类中执行算法?使用 algorithm2e 包会导致问题“/usr/local/texlive/2020/texmf-dist/tex/latex/algorithm2e/algorithm2e.sty,第 2746 行 LaTeX 错误:命令 \algorithm 已定义”

但省略它不允许我使用 \State \While 等

    \documentclass{ifacconf}

\usepackage{lineno}
\modulolinenumbers[5]
\usepackage{graphicx} 
\usepackage[font=small,labelfont=bf]{caption}
\usepackage{subcaption}

\usepackage{natbib}
\usepackage{algorithm}% <=================http://ctan.org/pkg/algorithms
\usepackage{algpseudocode}% <========== http://ctan.org/pkg/algorithmicx
\usepackage{hyperref} % <===============================================
%\usepackage[ruled,vlined]{algorithm2e}

\begin{document}

\begin{algorithm}[H]
\SetAlgoLined
\KwResult{Write here the result }
 initialization\;
 \While{While condition}{
  instructions\;
  \eIf{condition}{
   instructions1\;
   instructions2\;
   }{
   instructions3\;
  }
 }
 \caption{How to write algorithms}
\end{algorithm}



\end{document}

答案1

您正在使用的语法来自algorithm2e不提供\State。所以,放弃

\usepackage{algorithm}
\usepackage{algpseudocode}

然后使用

\usepackage[ruled,vlined,algo2e]{algorithm2e}

algorithm2e与在环境内而不是环境中设置算法一起algorithm

在此处输入图片描述

\documentclass{ifacconf}

\usepackage{natbib}
\usepackage[ruled,vlined,algo2e]{algorithm2e}

\begin{document}

\begin{algorithm2e}
  \SetAlgoLined
  \KwResult{Write here the result }
  initialization\;
  \While{While condition}{
    instructions\;
    \eIf{condition}{
      instructions1\;
      instructions2\;
    }{
      instructions3\;
    }
  }
  \caption{How to write algorithms}
\end{algorithm2e}

\end{document}

[H]还请注意,由于您在双列文档中工作,因此我删除了ere 浮动位置说明符。

相关内容