LaTex算法代码排版-algorithm2e

LaTex算法代码排版-algorithm2e

    • 1.使用如下宏包
    • 2.示例代码
    • 3.生成效果
    • 4.参考链接

1.使用如下宏包

\usepackage[ruled]{algorithm2e} %带竖线
%\usepackage[ruled,vlined]{algorithm2e} %带竖线和折线
%\usepackage[linesnumbered,boxed]{algorithm2e} %方框格式

2.示例代码

\begin{algorithm}
%\SetAlgoLined
%\SetAlgoNoLine %去掉竖线
\SetKwData{Left}{left}\SetKwData{This}{this}\SetKwData{Up}{up} \SetKwFunction{Union}{Union}\SetKwFunction{FindCompress}{FindCompress} \SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
	
	\Input{A bitmap $Im$ of size $w\times l$}
	\Output{A partition of the bitmap}
	 \BlankLine
	
	 \emph{special treatment of the first line}\;
	 \For{$i\leftarrow 2$ \KwTo $l$}{
	 	\emph{special treatment of the first element of line $i$}\;
	 	\For{$j\leftarrow 2$ \KwTo $w$}{\label{forins} \Left$\leftarrow$\FindCompress{$Im[i,j-1]$}\;
	 	\Up$\leftarrow$ \FindCompress{$Im[i-1,]$}\;
	 	\This$\leftarrow$ \FindCompress{$Im[i,j]$}\;
	 	\If(\tcp*[h]{O(\Left,\This)==1})
	 		{\Left compatible with \This}{\label{lt}
	 			\lIf{\Left $<$ \This}{\Union{\Left,\This}}
	 			 \lElse{\Union{\This,\Left}} }
 	    \If(\tcp*[f]{O(\Up,\This)==1}){\Up compatible with
 			 	 \This}{\label{ut}
 			 	 \lIf{\Up $<$ \This}{\Union{\Up,\This}}
 			 	 \tcp{\This is put under \Up to keep tree as flat as possible}\label{cmt} \lElse{\Union{\This,\Up}}\tcp*[h]{\This linked to \Up}\label{lelse}
 		 	  }
 	 	   }
 		 \lForEach{element $e$ of the line $i$}{\FindCompress{p}}
 	 }
 	 	  \caption{disjoint decomposition}
 	 	  \label{algo_disjdecomp}
\end{algorithm}

3.生成效果

3.1. \usepackage[ruled]{algorithm2e}
LaTex算法代码排版-algorithm2e_第1张图片

3.2.\usepackage[ruled,vlined]{algorithm2e}
LaTex算法代码排版-algorithm2e_第2张图片
3.3.\usepackage[linesnumbered,boxed]{algorithm2e}
LaTex算法代码排版-algorithm2e_第3张图片
3.4. \SetAlgoNoLine
LaTex算法代码排版-algorithm2e_第4张图片

4.参考链接

  1. LaTeX 写作: 算法代码排版 --latex2e范例总结
  2. LaTeX技巧630:用LaTeX寫algorithm
  3. LaTeX/Algorithms-WIKIBOOKS

你可能感兴趣的:(Latex,算法)