Undefined control sequence. 解决

转自:https://www.cnblogs.com/coolqiyu/p/5580290.html

方式一

需要包含的

\usepackage[noend]{algpseudocode}

\usepackage{algorithmicx,algorithm}

源码

\begin{algorithm}[t]
\caption{algorithm caption} %算法的名字
\hspace*{0.02in} {\bf Input:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行
input parameters A, B, C\\
\hspace*{0.02in} {\bf Output:} %算法的结果输出
output result
\begin{algorithmic}[1]
\State some description % \State 后写一般语句
\For{condition} % For 语句,需要和EndFor对应
\State ...
\If{condition} % If 语句,需要和EndIf对应
\State ...
\Else
\State ...
\EndIf
\EndFor
\While{condition} % While语句,需要和EndWhile对应
\State ...
\EndWhile
\State \Return result
\end{algorithmic}
\end{algorithm}

  结果截图

 注意

1. 关键字的大小写问题,否则会出现 Undefined control sequence.

2. 控制流要前后对应。如果有 While,但没有 EndWhile,否则会出现 Some blocks are not closed。

方式二

需要包含的

\usepackage[ruled]{algorithm2e}

源码

\begin{algorithm}[H]
\caption{algorithm caption}%算法名字
\LinesNumbered %要求显示行号
\KwIn{input parameters A, B, C}%输入参数
\KwOut{output result}%输出
some description\; %\;用于换行
\For{condition}{
only if\;
\If{condition}{
1\;
}
}
\While{not at end of this document}{
if and else\;
\eIf{condition}{
1\;
}{
2\;
}
}
\ForEach{condition}{
\If{condition}{
1\;
}
}
\end{algorithm}

结果截图

方式三

需要包含的

\usepackage[ruled,vlined]{algorithm2e}

源码

同方式二

结果截图


版权声明:本文为YeziTong原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。