LaTeX伪代码写法总结

LaTeX伪代码写法总结1.伪代码所用包一般会接触到的包有algorithm、algorithmic、algorithmicx、algorithm2e这四种包。algorithm一般用于给伪代码提供一个浮动体环境,防止其换页或其他因素导致的内容中断,从而跨页显示。algorithmic则用于编辑伪代码的内容,一些for、while、if等语句通过该包中的命令进行编写。algorithmicx则可以看作algorithmic的升级版,参考资料…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全家桶1年46,售后保障稳定

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}

Jetbrains全家桶1年46,售后保障稳定

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语句可以多重嵌套

效果展现:

LaTeX伪代码写法总结

\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行显示一次行号。

标题与标号更改

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

LaTeX伪代码写法总结

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

\setcounter{algorithm}{1}

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

LaTeX伪代码写法总结

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

\floatname{algorithm}{自定义名}

 

5. 参考资料

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

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

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/234152.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 求矩阵的逆的三种方法

    求矩阵的逆的三种方法我们知道求矩阵的逆具有非常重要的意义,本文分享给大家如何针对3阶以内的方阵,求出逆矩阵的3种手算方法:待定系数法、伴随矩阵法、初等变换法(只介绍初等行变换)待定系数法求逆矩阵 1 首先,我们来看如何使用待定系数法,求矩阵的逆。 举例: 矩阵A= 12 -1-3 2 假设所求的逆矩阵为 ab cd 则 3 从而可以得出方程组 a+2c=1 b+2d=0 -a-3c=0 -b-3d=1

    2022年8月21日
    7
  • APP——List「建议收藏」

    [‘王者荣耀’,’QQ’,’作业帮-学习辅导’,’绝地求生:刺激战场’,’爱奇艺’,’快手’,’腾讯视频’,’微信’,’抖音短视频’,’全民K歌’,’手机淘宝’,’迷你世界’,’QQ音乐’,’优酷’,’WiFi万能钥匙’,’酷狗音乐’,’荒野行动’,’互动作业’,’穿越火线:荒岛特训-60V60′,’QQ飞车手游’,’拼多多’,’绝地求生全军出击’,’…

    2022年4月9日
    37
  • csdn社区内容创作规范_内容不符合规范

    csdn社区内容创作规范_内容不符合规范良好的社区环境,需各位创作者与CSDN共同维护建立!

    2026年1月20日
    4
  • journalctl命令「建议收藏」

    journalctl命令「建议收藏」journalctl命令journalctl命令是Systemd日志系统的一个命令,主要用途是用来查看通过Systemd日志系统记录的日志,在Systemd出现之前,Linux系统及各应用的日志都是分别管理的,Systemd取代了initd之后便开始统一管理了所有Unit的启动日志,可以只用一个journalctl命令,查看所有内核和应用的日志。语法journalctl[OPTIONS…][MATCHES…]参数–no-full,–full,-l:当字段匹配可用列时将其省

    2022年5月10日
    91
  • 随着数据科学家的崛起,谁的地位将发生动摇_算法是谁发明的

    随着数据科学家的崛起,谁的地位将发生动摇_算法是谁发明的作者简介Introduction杨滔,桃树科技(TaoData)创始人,专注于下一代人工智能产品的研发、应用与商业化。拥有超过十年机器学习研究与应用经验。奥克兰大学机器学习博士,悉尼科技大学博士后。曾任阿里巴巴集团数据科学家,建立淘宝网数据科学团队,首创聚划算爆款模型。曾任F团首席科学家,建立F团数据化运营体系。往期回顾如何成为一名卓越的数据科学家——开篇七剑如何成为一名卓越的数据科学家——七剑

    2022年9月30日
    4
  • JAVA 实现简单的学生成绩管理系统

    JAVA 实现简单的学生成绩管理系统一、实验目的1.掌握java的类与对象的基本概念;2.掌握简单的信息管理系统的设计与实现。二、实验环境实验建议在安装了以下软件的计算机上完成:1.Windowsxp/win7/win8/win10操作系统2.JDK1.6以上版本3.Eclipse或NetBeansIDE或EditPlus或其它开发工具三、实验内容与要求(一)问题描述要求采用java…

    2022年7月13日
    18

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号