关于algorithm包
一般算法可能都需要两个包,algorithm 和 algorithmic,所以命令里面当然需要以下:
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{multirow} %multirow for format of table
\usepackage{amsmath}
\usepackage{xcolor}
今天我在运行winedt的时候,总是报错,原因就是命令用的不是大写。比如,
\Require 就不被认可,要改成\REQUIRE 才行。
\State 也不行,要改成 \STATE。
关于声明的使用
有时候我们可能想在算法框内书写很多没有定义的声明,如Input,Output,Procedure 1, Thread 1等等。
重新定义require和ensure命令
对应的关键字(此处将默认的Require/Ensure自定义为Input/Output)
\renewcommand{\algorithmicrequire}{\textbf{Input:}}
\renewcommand{\algorithmicensure}{\textbf{Output:}}
使用\renewcommand{\algorithmicrequire}{ \textbf{Input:}}
可以强行将Require声明转换为Input:声明,但是如何在一个算法里同时使用Require,Ensure,Input,Output,Procedure 1, Thread 1呢?答案就是,在一个算法里多次使用\renewcommand{\algorithmicrequire}{ \textbf{Input:}}命令即可!
详情见latex中如何使用algorithm包等
今日血的教训
到此完毕。不想再愤怒,还得继续安心敲代码。