Latex伪代码中函数的写法

网上找了几篇将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}

渲染效果如下:
在这里插入图片描述