LaTeX 中算法有关宏包和命令的使用 • 宏包 首先,需要使用以下宏包, \usepackage{algorithm} \usepackage{algorithmic} • 输入、输出和返回值 此外如果算法有标准的输入和输出,以及返回值,可以使用相应的输入、输出、返回值命令,输入、输出、返回值命令依次分别为: % 该命令为输入参数说明的命令,至于命令的 "~~",具体作用也不清楚,参考的链接中是这样给的, \REQUIRE ~~ \\ % 以下命令为输出参数说明的命令 \ENSURE ~~ \\ % 使用返回值格式命令 \RETURN • 命令重命名 当然,如果不喜欢宏包中默认的命令,则可以使用以下latex命令将原有的默认命令进行重命名, \renewcommand{\algorithmrequire}{\textbf{Input:}} \renewcommand{\algorithmensure}{\textbf{Output:}} 按照以上两句代码重定义后,就可以用 "Input:" 和 "Output:" 来分别表示输入和输出了。 • for 循环的使用例子 ∘ 例子, for 格式 \FOR {each $i \in [1,9]$} \STATE initialize a tree $T_{i}$ with only a leaf (the root); \\ \STATE $T = T\bigcup $_{i};$ \\ \ENDFOR ∘ 例子2,forall 格式 \FORALL {forall 循环条件} \label{alg:code:tag:1} \STATE forall 循环体算法伪代码行一 \label{alg:code:tag:2} \STATE forall 循环体算法伪代码行二 \label{alg:code:tag:3} \ENDFOR • while 循环的使用例子 \WHILE {while循环条件} \STATE while循环体算法伪代码行一 \STATE while 循环体算法伪代码行二 \ENDWHILE • if \IF {if条件描述} \STATE if代码描述一 \STATE if代码描述二 \ENDIF • if ... else ... \IF {if条件描述} \STATE if伪代码描述一 \STATE if伪代码描述二 \ELSE \STATE else伪代码描述一 \STATE else伪代码描述二 \ENDIF • if ... else if ... \IF {if条件描述} \STATE if伪代码描述 \ELSIF {elseif条件描述一} \STATE elseif伪代码描述一 \ELSIF {elseif条件描述二} \STATE elseif伪代码描述二 \ELSE \STATE else伪代码描述 \ENDIF • repeat until ,这里的条件描述,描述的是退出条件,也就是在条件满足时,循环退出 \REPEAT \STATE 伪代码描述 \UNTIL {条件描述} • ininite loops,无限循环,循环体中应该是具备退出条件的 \LOOP \STATE 伪代码描述 \ENDLOOP • 变量打印 \PRINT 打印内容描述 • 算法部分循环使用总结 ∘ \IF {"condition"} "text" \ENDIF ∘ \IF {"condition"} "text" \ELSE "text" \ENDIF ∘ \IF {"condition"} "text" \ELSIF "text" \ELSIF "text" \ELSE "text" \ENDIF ∘ \FOR {"condition"} "text" \ENDFOR ∘ \FORALL {"condition"} "text" \ENDFOR ∘ \WHILE {"condition"} "text" \ENDWHILE ∘ \REPEAT "text" \UNTIL {"condition"} ∘ \LOOP "text" \ENDLOOP