在计算机科学当中,论文当中经常需要排版算法。相信大家在读论文中也看见了很多排版精美的算法。本文就通过示例来简要介绍一下 algorithms 束的用法。该束主要提供了两个宏包,包含两种进行算法排版的环境,algorithm 和 algorithmic 。
这两个宏包是被设计成同时一起使用的,但也可以根据用户的特殊需要分开使用。其中 algorithm 宏包主要是为算法提供一个浮动体环境,也就是说,在 LaTeX 中算法和图像,表一样,都是浮动体。algorithmic 宏包主要是用来完成算法的描述功能,该宏包提供了我们描述算法常用的几种结构命令,如条件结构、循环结构等。下面我们就通过示例来对 algorithm 的使用进行讲解。
Algorithmic 环境
Algorithmic 宏包,为描述算法提供了程序设计中的所有常用结构的表示,如:判断 (IF) ,循环 (WHILE, FOR, LOOP), 输入(REQUIRE) ,输出(ENSURE)等。在这里需要注意的是,所有 algorithmic 提供的命令都是全大写。下面,我们通过一个简单程序的算法,来将所有的算法描述都用上。通过求从1到n的整数和的算法实例来说明 algorithmic 语法。
以上就是一个算法的示例了其生成文档效果如图所示
这里用的 REQUIRE 命令和 ENSURE 命令和我们日常用的有不同,我们还可以使用重定义命令,将输出变味我们常见的 Input 和 Output 形式,下面是命令:
Algorithm 环境
Algorithm 环境主要作用是将代码段变成浮动体,浮动体一方面能防止代码超出页面范围,另外一方面也方面最后生成和图表目录相似的算法列表目录。也能通过标记,方便在文章其它地方引用。还是以上面的例子为例
该断代码生成文档如下图