latex 算法,算法包 algorithm

时间:2021-06-23 06:08:40

发现 latex 还有专门排版 算法伪代码的工具包,实在太强大了。查了查一些资料,总结出以下用法:


发现 algorithm2e 工具包比较好用,调用时:

\usepackage[ruled,linesnumbered]{algorithm2e}

中括号中的 ruled 是让标题显示在上面,否则算法的标题则在下面。 linesnumbered  让算法中显示行号。还可以添加 boxed, 让算法排版时好像插入在一个盒子里。


书写代码时也有一些专门的命令:

\;    在行末添加分号,并自动换行

\caption{}       插入标题          

\KwData {输入信息}      排版为        Data:输入信息
\Kwln {输入信息}           排版为         In: 输入信息

\KwOut {输出信息}        排版为:    Out: 输出信息
\KwResult {输出信息}   排版为:    Result: 输出信息

\For {条件日循环语句}       排版为     for 条件do 循环语句endo

\If {条件日肯定语句}           排版为     if 条件then 肯定语句end

\While {条件日循环语句}   排版为    while 条件do 循环语句end


举例:

\begin{algorithm}
\caption{Simulation-optimization heuristic}\label{algorithm}
\KwData{current period $t$, initial inventory $I_{t-1}$, initial capital $B_{t-1}$, demand samples}
\KwResult{Optimal order quantity $Q^{\ast}_{t}$}
$r\leftarrow t$\;
$\Delta B^{\ast}\leftarrow -\infty$\;
\While{$\Delta B\leq \Delta B^{\ast}$ and $r\leq T$}{$Q\leftarrow\arg\max_{Q\geq 0}\Delta B^{Q}_{t,r}(I_{t-1},B_{t-1})$\;
$\Delta B\leftarrow \Delta B^{Q}_{t,r}(I_{t-1},B_{t-1})/(r-t+1)$\;
\If{$\Delta B\geq \Delta B^{\ast}$}{$Q^{\ast}\leftarrow Q$\;
$\Delta B^{\ast}\leftarrow \Delta B$\;}
$r\leftarrow r+1$\;}
\end{algorithm}


显示效果:

latex 算法,算法包 algorithm