赞
踩
转自 http://blog.sina.com.cn/s/blog_6c8556dd0100xdp1.html
标签: 杂谈 | 分类: Matlab/Mathematica/Latex |
\usepackage{algorithm}
\usepackage{algorithmic}
\usepackage{multirow}
\renewcommand{\algorithmicrequire}{\textbf{Initialization:}}
\renewcommand{\algorithmicensure}{\textbf{Iteration:}}
\renewcommand{\algorithmiclastcon}{\textbf{Output:}}
%%正文代码
\begin{algorithm}[htb]
\caption{ ABC }
\label{alg:SA}
\begin{algorithmic}[1]
\REQUIRE ~~\\
\ENSURE ~~\\
\WHILE
\STATE $J\leftarrow J+1$;
\IF {$R_{temp}>0$}
\STATE $S_J\leftarrow S_{J-1}\cup \{s_J\}$;
\ELSE
\STATE $J\leftarrow J-1$; Break;
\ENDIF
\ENDWHILE
\lastcon ~~\\
\end{algorithmic}
\end{algorithm}
%%%宏包\usepackage{algorithmic}
%%%原宏包只有require和ensure两个\item,要改成三个(加入OUTPUT)的话,
%%%在algorithmic.sty中找到
% ALGORITHMIC
\newcommand{\algorithmicrequire}{\textbf{Require:}}
\newcommand{\algorithmicensure}{\textbf{Ensure:}}
%%%再下面加入一句:\newcommand{\algorithmiclastcon}{\textbf{Lastcon:}}
%%%再找到
%%%在后面加入一句
%%%保存ALGORITHMIC.sty,在正文中就可以加入\LASTCON 了~!
另附百度找来的algorithmic.sty 的其他一些命令的使用:
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]$}
\ENDFOR
∘ 例子2,forall 格式
\FORALL {forall 循环条件} \label{alg:code:tag:1}
\ENDFOR
• while 循环的使用例子
\WHILE {while循环条件}
\ENDWHILE
• if
\IF {if条件描述}
\ENDIF
• if ... else ...
\IF {if条件描述}
\ELSE
\ENDIF
• if ... else if ...
\IF {if条件描述}
\ELSIF {elseif条件描述一}
\ELSIF {elseif条件描述二}
\ELSE
\ENDIF
• repeat until ,这里的条件描述,描述的是退出条件,也就是在条件满足时,循环退出
\REPEAT
\UNTIL {条件描述}
• ininite loops,无限循环,循环体中应该是具备退出条件的
\LOOP
\ENDLOOP
• 变量打印
\PRINT 打印内容描述
• 算法部分循环使用总结
∘ \IF {"condition"}
∘ \IF
∘ \IF
∘ \FOR {"condition"}
∘ \FORALL {"condition"}
∘ \WHILE {"condition"}
∘ \REPEAT "text"
∘ \LOOP "text"
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。