Latex 写算法伪代码

LaTeX 中算法有关宏包和命令的使用

• 宏包
首先,需要使用以下宏包,

usepackage{algorithm}

usepackage{algorithmic}


• 输入、输出和返回值
此外如果算法有标准的输入和输出,以及返回值,可以使用相应的输入、输出、返回值命令,输入、输出、返回值命令依次分别为:

% 该命令为输入参数说明的命令,至于命令的 "~~",具体作用也不清楚,参考的链接中是这样给的,

REQUIRE ~~ \

% 以下命令为输出参数说明的命令

ENSURE ~~ \

% 使用返回值格式命令

RETURN


• 命令重命名
当然,如果不喜欢宏包中默认的命令,则可以使用以下latex命令将原有的默认命令进行重命名,
enewcommand{algorithmrequire}{ extbf{Input:}}
enewcommand{algorithmensure}{ extbf{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 = Tigcup $_{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


原文地址:https://www.cnblogs.com/52ml/p/3823802.html