LaTeX的算法 | 伪代码排版

2021-05-21 14:36:05 浏览数 (1)

Preface

写论文时要陈述自己提出来的算法,遂学。

方法1(deprecated)

引入宏包:

代码语言:javascript复制
usepackage{algorithm}
usepackage{algorithmic}

重新定义样式:

代码语言:javascript复制
renewcommand{algorithmicrequire}{textbf{Input:}} 
renewcommand{algorithmicensure}{textbf{Output:}}

下面是一些简单的使用:

代码语言:javascript复制
begin{algorithm}[H]
    caption{algorithm 1}
    begin{algorithmic}[1] % 此处的[1]控制一下算法中的每句前面都有标号 
        REQUIRE input
        ENSURE output 
        STATE {Step A}
        STATE {Step B}
        FOR {$ i = 1 $; $ i < n $; $ i    $ }
            STATE {Step C}
        ENDFOR
        WHILE {$ |E_n| leq L_1 $}
            STATE {Step D}
        ENDWHILE
        FORALL {...}
            STATE {Step E}
        ENDFOR
        IF {condition}
            STATE {Step F}
        ENDIF
    end{algorithmic} 
end{algorithm}

效果图:

方法二:algorithm2e

引入宏包:

代码语言:javascript复制
usepackage[ruled]{algorithm2e}

常见用法:

代码语言:javascript复制
begin{algorithm}[t]
    caption{Algorithm Test}
    label{algorithm:test}
    LinesNumbered
    KwIn {input}
    KwOut {output}
    For{i = 1 to n}{   
        eIf{condition} {
            Step A tcp*{comment inline}
            tcp{new line comment}
        } {
            i   ;
        }
    }
    While{condition}{
        do something
    }
    Step B ;
    Step C ;
    Step D ;
end{algorithm}

效果图:

如果引用宏包时附带其他参数,如:

代码语言:javascript复制
usepackage[ruled,vlined]{algorithm2e}

效果:

更详细的用法详见文档:

  • https://ctan.org/pkg/algorithm2e
  • https://mirrors.hit.edu.cn/CTAN/macros/latex/contrib/algorithm2e/doc/algorithm2e.pdf

本文作者:博主: gyrojeff    文章标题:LaTeX的算法 | 伪代码排版

本文地址:https://cloud.tencent.com/developer/article/1827328

版权说明:若无注明,本文皆为“gyro永不抽风!”原创,转载请保留文章出处。

许可协议:署名-非商业性使用-相同方式共享 4.0 国际 (CC BY-NC-SA 4.0) 转载请保留原文链接及作者!

我的博客即将同步至腾讯云 社区,邀请大家一同入驻

0 人点赞