先来看伪代码的样子
一、设置成中文
如果不设置是这样的:
\floatname{algorithm}{算法}
\renewcommand{\algorithmicrequire}{\textbf{输入:}}
\renewcommand{\algorithmicensure}{\textbf{输出:}}
二、导包
\usepackage{algorithm}
\usepackage{algorithmic}
三、案例
\begin{algorithm}
\caption{Calculate $y = x^n$}
\label{alg:alg1}
\begin{algorithmic}
% 输入
\REQUIRE $n \geq 0 \vee x \neq 0$
% 输出
\ENSURE $y = x^n$
% 初始化
\STATE $y \leftarrow 1$
% 逻辑
\IF{$n < 0$}
\STATE $X \leftarrow 1 / x$
\STATE $N \leftarrow -n$
\ELSE
\STATE $X \leftarrow x$
\STATE $N \leftarrow n$
\ENDIF
\WHILE{$N \neq 0$}
\IF{$N$ is even}
\STATE $X \leftarrow X \times X$
\STATE $N \leftarrow N / 2$
\ELSIF{$N$ is odd}
\STATE $y \leftarrow y \times X$
\STATE $N \leftarrow N - 1$
\ENDIF
\ENDWHILE
\end{algorithmic}
\end{algorithm}
四、编号
需要序号的话在\begin{algorithmic}后加上[1]
五、备注
我用的版本是2018,貌似参数如REQUIRE写成小写会报错
六、参考文献
需要注意的点
中文版算法必须要注意字符编码的兼容性,本文所述方法用用texstudio编写,仅涵盖常用if else for while等指令。
如果编译后中文出现乱码,请在设置中将设置-构建-默认编译器选为XeLaTeX,
如果选择PDFLaTeX中文会乱码。
pdfLaTeX 对中文支持不是很好,只用 pdaLaTeX 的话需要引入 CJKutf8 包,并且用 \begin{CJK*}{UTF8}{gbsn} 和 \end{CJK*} 包住所有的中文。
https://www.jianshu.com/p/496588979ad2
一般来说textlive会自带ctex这个包的:
https://blog.csdn.net/m0_66201040/article/details/124868545
不得不说,latex算法框架还是有很多可以操作的空间的:
https://blog.csdn.net/weixin_43872709/article/details/121748873
https://www.freesion.com/article/1660877632/
中文算法与英文算法的伪代码流程是一样的,只是一些设置不一样:
https://blog.csdn.net/weixin_41352742/article/details/121263264
但需要注意,包的使用,模板的使用,都是有一些要求的,你也可以不使用任何模板:
https://blog.csdn.net/com_stu_zhang/article/details/7741950