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