网上找了几篇将Latex伪代码写法的文章,但是关于函数名的写法都不太清楚,由于很多算法需要递归实现,写函数名又是必不可少的,自己去翻阅了algorithm2e
的文档,总结如下。
首先是定义函数格式:
使用SetKwProg
命令来定义函数格式:
\SetKwProg{命令名}{命令显示的名称}{开始符号}{结束符合}
还需要使用SetKwFunction
命令来自定义一个函数命令:
\SetKwFunction{FOO}{int Foo}
如下是写类似C语言和Python语言格式的伪代码的方法:
\documentclass{ctexart}
\usepackage[boxed,linesnumbered]{algorithm2e}
\begin{document}
\begin{algorithm}[H]
\SetKwFunction{FOO}{Foo}%定义一个函数
\SetKwProg{Fn}{}{\\ \{}{\}}% %定义C语言样式的函数格式
\Fn{int \FOO{ int a}}{ %C语言的类型注释写法
return a+2\;
}
\end{algorithm}
\begin{algorithm}[H]
\SetKwFunction{FOO}{Foo}%定义一个函数
\SetKwProg{Fn}{def}{\string :}{}% %定义python样式的函数格式
\Fn{\FOO{ a : int} $\to$ int}{ %Python的类型注释写法
return a+2
}
\end{algorithm}
\end{document}
渲染效果如下: