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 浮动位置说明符。