在 IEEEAccess 模板中编写算法时,Latex“algorithm2e”出现错误

在 IEEEAccess 模板中编写算法时,Latex“algorithm2e”出现错误

我正在尝试在 overleaf 中编译一个 tex 文件,我正在使用 IEEEAccess 模板编写手稿。当我编译 latex 时,给定的算法脚本会抛出错误。我也显示了带有环境的初始页面。环境:

\documentclass{ieeeaccess}
\usepackage{cite}
\usepackage[ruled,lined,linesnumbered]{algorithm2e}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage{graphicx}
\usepackage{textcomp}
\usepackage{csquotes}
\usepackage{color}
\newcommand{\cb}{\textcolor{blue}}
\newcommand{\cred}{\textcolor{red}}
\newcommand{\cg}{\textcolor{green}}
\usepackage{amsthm}
\newtheorem{lem}{Lemma}
\newtheorem{definition}{Definition}

该算法的脚本。

\begin{algorithm}[h!]
\SetAlgoLined
    \SetKwInOut{Input}{Input}
    \SetKwInOut{Output}{Output}
    
    \Input{$G =\left \langle N,E,W \right \rangle:$ graph network, $B\left(G_{i}\right):$ Set of boundary nodes, $E_{b}:$ Set of boundary edges}
    \Output{$G_{emb}:$ Embedded Graph Network}
    %initialize $Dist_{mat}\left(k,v\right) \leftarrow \emptyset$\;
    \protect Step-1: Compute the shortest path from each boundary node to another boundary node\\
    \ForEach{boundary node $n^{b}_{i} \in B\left(G_{i}\right)$}{
        \emph{SPList} $\left(B_{spf}\right) \leftarrow YenAlgorithm.runSP\left(G, srcVertex, destVertex\right)$
    
    }
    \KwRet{$\emph{SPList} \left(B_{sp}\right)$}
    \protect Step-2: Create an Embedded network by unifying the shortest-path list\\
    $G_{emb} \leftarrow \emptyset$ \tcp*{Create a new empty graph}
    \ForEach{$e_{ij} \in E_{b}$}{
        $G_{emb} \leftarrow \emph{addEdge}\left(e_{ij}\right)$
    }
    \ForEach{\emph{shortest-path} $\left(B_{sp}\right) \in \emph{SPList} \left(B_{sp}\right)$}{
        \If{$e_{ij} \in E_{b}$}{
            \If{$n^{b}_{i}.partitionId = n^{b}_{j}.partitionId$}{
                $G_{emb} \leftarrow \emph{addEdge}\left(e_{ij}\right)$}}
    }
    \KwRet{$G_{emb}$}
 \caption{Embedded Graph Construction}
    \label{alg:embGraph}
\end{algorithm}

但是文件可以编译,算法会在行号前面添加负 2。[![算法的输出][1]][1]

错误为: \relsize 的参数有一个额外的 }。 \relsize 的参数有一个额外的 }。 \relsize 的参数有一个额外的 }。 参数失控?@algocf@endoption 的参数有一个额外的 }。

错误出现在以下几行:[![Overleaf Script][2]][2]

我该如何解决这个问题?如果我删除算法部分,tex 文件就可以完全编译正常。[1]:https://i.stack.imgur.com/vE5Gl.png [2]:https://i.stack.imgur.com/GYlyv.png

答案1

解决方法:在latex文件中添加这3行代码即可。

\RequirePackage{letltxmacro}
\LetLtxMacro{\LaTeXtextbf}{\textbf}
\LetLtxMacro{\textbf}{\LaTeXtextbf}

\documentclass{ieeeaccess}

一旦我添加了这些行并编译它们,算法就会恢复正常并显示正确的行号。

相关内容