我正在尝试在 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}
一旦我添加了这些行并编译它们,算法就会恢复正常并显示正确的行号。