Latex之使用algorithm2e包来写算法

algorithm2e是latex上用来写算法的包。
目前还有很多,比如algorithmc等。两者的语法不同。

使用时要先导入包:

\usepackage[ruled,linesnumbered]{algorithm2e}

下面贴出一个示例:

\begin{algorithm}[t]
	\caption{Event Detection}
	\label{algo:event}
	\LinesNumbered
	\KwIn{FFT Bins $B_{1}, B_{2}, B_{3}, ..., B_{n}$}
	\KwOut{Event start point $S$, end point $E$}
	\For{i=1:n}{	
		\eIf{max($B_{i}$) : max($B_{(i+4)}$)$>$-80}{
			$S$=i; \tcp*{Start Point}
		\For{j=S:n}{
			\eIf{max($B_{j}$) : max($B_{(j+4)}$)$<$-100}{
				$E$=j; \tcp*{End Point}
				Return [$S,E$];
			}{j++;}
		}
	}{
	i++;}
}
\end{algorithm}

得到的结果如下:
在这里插入图片描述
下载与详细的使用请参考手册

几个注意的点:

  1. 在algorithm2e中,\If, \Else, \ElseIf都是会以endif结尾的,而\uIf, \lIf, \uElse, \lElse, \uElseIf, \lElseIf都是不带endif的。u和l的区别是,u是块级元素,而l是行内元素。
    比如在上面的示例中,带else的if是\elf,如果只使用\Else会使else后也多出一个end来。
  2. \tcc是/* */注释, \tcp是//注释. 在if句使用注释时, \If(注释){条件}
  3. 使用algorithm2e就不可以再使用\usepackage{algorithm}和\usepackage{algorithmic}.

其他注意事项,这里有一个参考:https://blog.csdn.net/jlu_leven/article/details/8948997

  • 9
    点赞
  • 31
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值