由于美赛和校赛两次数模需要用到伪代码算法的展示,笔者又不想每次通过word的表格去展示伪代码,奈何蒟蒻也不会LaTex,于是想着就用本篇博客来记录LaTex书写伪代码算法的模板以供后续直接在模板的基础上修改。话不多说,直接开搞!

LaTex在线编辑器

https://cn.overleaf.com/

LaTex伪代码书写模板

(具体见下方代码以及代码注释)

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
\def\SetClass{article}
\documentclass{\SetClass}
% algorithm2e生成伪代码的包:ruled(三线表样式)、linesnumbered(显示行号)
\usepackage[ruled,linesnumbered]{algorithm2e}
% xeCJK中文显示包(记得overleaf网页版在左上角Menu中Compiler改为‘XeLaTex’)
\usepackage{xeCJK}
\begin{document}
\begin{algorithm}[H]
% 显示end
\SetAlgoLined
% 更改算法编号
\renewcommand{\thealgocf}{3-1}
% 更改算法名字
\caption{ Algorithm-name }
% 输入输出
\KwIn{ 输入数据 }
\KwOut{ 输出数据 }
% 放一些数据初始化
Data-Initialization\;
% \tcp:注释
\tcp{while语句}
% \while{条件}{循环体}
\While{ word is not the end of the list }{
% \;行末添加分号并自动换行
print(word) \;
% \eIf{条件}{肯定语句}{否定语句}
\eIf{ conditions }{
go to next section\;
current section becomes this one\;
}{
go back to the beginning of current section\;
}
% \If{条件}{肯定语句}
\If{ word is equal to "app" }{
print("app is in this list!")\;
}
}
% \For{条件}{循环语句}
\For{ conditions }{
satisfy conditions behaviours\;
}
% 返回值按照算法自行修改
return Summary\;
\end{algorithm}
\end{document}