1. 伪代码所用包

一般会接触到的包有algorithm、algorithmic、algorithmicx、algorithm2e这四种包。

algorithm用于给伪代码提供一个浮动体环境,防止其换页或其他因素导致的内容中断,从而跨页显示。

algorithmic用于编辑伪代码的内容,一些for、while、if等语句通过该包中的命令进行编写。

algorithmicx可以看作algorithmic的升级版,提供了一些自定义命令

algorithm2e则是独立于algorithmic和algorithmicx的另一套伪代码环境,两套环境语法、排版上均不相同,本篇博文聚焦于algorithmicx环境中所用的一些简单命令,旨在简单快速上手LaTeX伪代码。

阅读此博文前,请先熟悉LaTeX基本语法,可参考本人博文:https://blog.csdn.net/Zerg_Wang/article/details/104120617

2. 环境构筑

algorithmic环境

\begin{algorithm}后面跟着的“H”是指定伪代码浮动体的位置,语法规则与普通浮动体一致。

\documentclass{article}
\usepackage{algorithm}
\usepackage{algorithmic}\begin{document}
\begin{algorithm}[H]\caption{title}%标题\label{alg1}%标签\begin{algorithmic}%这里是伪代码内容\end{algorithmic}
\end{algorithm}
\end{document}

algorithmicx环境

若要使用algorithmicx的语法环境,调用包的时候将algorithmic包替换为一个叫algpseudocode的包即可(该包会自动调用algorithmicx包),其他地方与algorithmic的环境一致。

3. 语法规则

这里介绍较为常用的algorithmicx的语法命令(algorithmic命令与algorithmicx类似,区别是:前者的命令全为大写,后者仅首字母大写)

\State <text>

用于一般内容显示,当然不用该命令直接打内容也可以,但\State会为内容自动且正确地缩进,无论外面嵌套了多少个if或是循环。

\Return <text>

返回语句,一般配合\State使用:\State \Return <text>

\Comment {<text>}

注释内容,一般跟在\State命令正常内容之后,注释的内容在排版时是右对齐的。

条件判断语句

\If{<condition>} <text> \EndIf

\If{<condition>} <text> \Else <text> \EndIf

\If{<condition>} <text> \ElsIf{<condition>}  <text> \Else <text> \EndIf

其中\ElsIf语句可以多重嵌套

效果展现:

\If{$a>b$} \State $max = a$
\ElsIf{$a<b$}\State $max = b$
\Else \State same
\EndIf

循环语句

\For{<condition>} <text> \EndFor

\ForAll{<condition>} <text> \EndFor

\While{<condition>} <text> \EndWhile

\Repeat <text> \Until{<condition>}

\Loop <text> \EndLoop

输入输出语句

\Require <text>

\Ensure <text>

当然,如果想改成“Input”“Output”形式,或者“输入”“输出”这种形式,可以在导言区重新定义该命令:

\renewcommand{\algorithmicrequire}{\textbf{自定义输入}}
\renewcommand{\algorithmicensure}{\textbf{自定义输出}}

函数体

\Function{<name>}{<params>} <text> \EndFunction

特殊字符

以下字符仅用于algorithmic环境中

\TRUE \FALSE \AND \OR \XOR \NOT

4. 其他

显示行号

\begin{algorithmic}[1]

“1”表示每行均显示行号,如果填“2”,意思是每2行显示一次行号。

标题与标号更改

如果不作额外更改,标题一行会显示为:

如果有多个伪代码,标号为2或者其他数字,则可以在编辑标题内容的语句(环境区)前加:

\setcounter{algorithm}{1}

命令中的数字为1,显示的数字则为1+1=2,以次类推。

如果连标题中的“Algorithm”也要更改为其他内容,可在导言区自定义标签:

\floatname{algorithm}{自定义名}

5. 参考资料

https://zhuanlan.zhihu.com/p/145195565

http://hustsxh.is-programmer.com/posts/38801.html

LaTeX伪代码写法总结相关推荐

  1. Latex 伪代码、三线表与多线表

    Latex 伪代码.三线表与多线表 伪代码 先导入宏包 \usepackage{algorithm} \usepackage{algpseudocode} \usepackage{amsmath} \ ...

  2. 取消latex伪代码的行号

    取消latex伪代码的行号: 将\begin{algorithmic}[1] 改成\begin{algorithmic}[0]

  3. latex 伪代码 elseif怎么写

    %if  elseif else                 \If  {"condition"}     "text"                  ...

  4. latex 伪代码_Latex-算法伪代码

    lalex算法伪代码请用相应的宏包! latex算法伪代码请用相应的宏包! 一般来说论文中算法的伪代码生成是比较简单,所以我只给出两种方法 algorithm 宏包 usepackage{algori ...

  5. LaTeX 各种写法

    函数.符号及特殊字符 声调 语法 效果 语法 效果 语法 效果 \bar{x} \acute{\eta} \check{\alpha} \grave{\eta} \breve{a} \ddot{y} ...

  6. latex 伪代码 algorithm2e方式

    一.怎么用: [paper]latex使用algorithm工具包实现伪代码排版_妈妈咪咦的博客-CSDN博客_algorithm包 latex 二.Latex 中伪代码编译通过,但是在pdf文档中不 ...

  7. Office之word中插入Latex伪代码

    latex一直是一个高冷的排版工具,写出的伪代码可读性强,样式美观. 但有时我们必须要使用word,那么怎么在word里插入Latex的伪代码呢? 下载Aurora.Aurora是一个很好用的公式和伪 ...

  8. WPS插入LaTeX伪代码

    更新: 原文已经搬运至网站:https://www.link2sea.com/archives/305,后续也将在该网站进行更新. 查看博主更多文章请前往:https://www.link2sea.c ...

  9. latex 伪代码简单教程

    首先,在latex 导入需要用到的包 % OCT 26 新添加包 用於流程圖算法 \usepackage{algorithm} \usepackage{algorithmic} \usepackage ...

  10. latex伪代码添加注释_Latex中文期刊投稿使用:以《系统工程学报》为例

    注释1:本文总体上关于文字排版软件latex的入门使用,顺便记录一下自己不算糟糕的科研生活,再顺便自己下此用到的时候方便查看. 注释2:文采太差,小时候写日记我爸就说我记流水账,现在仍然学不会花哨的叙 ...

最新文章

  1. 浅谈 Kubernetes 中的服务发现
  2. python中str和int区别_python中eval与int的区别浅析
  3. java基础入门数据类型,JAVA基础教程:JAVA的基本数据类型及介绍
  4. Scale Match:国科大提出小目标检测的尺度匹配方法,用于预训练数据集处理
  5. rda冗余分析步骤_FEMS Microbiol Ecol |微生物生态学中的多变量分析
  6. saas,pass介绍
  7. 前端真题面试必备面试题及答案
  8. taptap需要相机权限_TapTap双击背部App-实现安卓11双击手机背面截屏拍照等新功能-软极客...
  9. IDEA 里 VersionController 中的 log 中的不同颜色含义
  10. 完美屏蔽中国移动,四川手机报发的信息。
  11. 《Multiobjective Evolutionary Algorithms:A Comparative Case Study and the Strength Pareto Approach》
  12. 永久免费的数据库防火墙(堡垒机)
  13. zblog php mip,ZBlogPhp模版-极简百度MIP自适应主题
  14. 小程序如何隐藏滚动条
  15. 整除理论与线性丢番图方程相关
  16. Window 10 电源高性能模式设置
  17. vim常用插件安装及使用
  18. 【公众号】高级配色“马卡龙调色板”必须码住!
  19. 思科ASA防火墙:控制防火墙不让访问指定网站
  20. 【吊打面试官系列】APP测试常见面试题解析

热门文章

  1. 换协议、改代码,Elastic要逼开发者二选一?
  2. java怎么求素数_如何用Java求素数?
  3. linux中安装apk软件,Linux下安装软件的几种方式
  4. 前端页面调试、抓包工具——spy-debugger
  5. 四款优秀的源代码扫描工具简介
  6. 计算机操作系统(汤小丹第4版)
  7. 关于Android 11(R)适配指南
  8. MySQL数据库入门学习(多图预警+新手向~)
  9. robocopy 备份_windows下使用RoboCopy命令进行文件夹增量备份
  10. Android SDK的下载与安装