LaTeX算法排版 笔记

时间:2022-08-16 18:17:39

方式一 

  • 需要包含的

    \usepackage[noend]{algpseudocode}
    \usepackage{algorithmicx,algorithm}
  • 源码

    \begin{algorithm}[t]
    \caption{algorithm caption} %算法的名字
    \hspace*{0.02in} {\bf Input:} %算法的输入, \hspace*{0.02in}用来控制位置,同时利用 \\ 进行换行
    input parameters A, B, C\\
    \hspace*{0.02in} {\bf Output:} %算法的结果输出
    output result
    \begin{algorithmic}[1]
    \State some description % \State 后写一般语句
    \For{condition} % For 语句,需要和EndFor对应
      \State ...
      \If{condition} % If 语句,需要和EndIf对应
        \State ...
      \Else
        \State ...
      \EndIf
    \EndFor
    \While{condition} % While语句,需要和EndWhile对应
      \State ...
    \EndWhile
    \State \Return result
    \end{algorithmic}
    \end{algorithm}

注意

  1. 关键字的大小写问题,否则会出现 Undefined control sequence.
  2. 控制流要前后对应。如果有 While,但没有 EndWhile,否则会出现 Some blocks are not closed。

方式二  

  • 需要包含的

    \usepackage[ruled]{algorithm2e}
  • 源码

    \begin{algorithm}[H]
        \caption{algorithm caption}%算法名字
        \LinesNumbered %要求显示行号
        \KwIn{input parameters A, B, C}%输入参数
        \KwOut{output result}%输出
        some description\; %\;用于换行
        \For{condition}{
            only if\;
            \If{condition}{
                1\;
            }
        }
        \While{not at end of this document}{
            if and else\;
            \eIf{condition}{
                1\;
            }{
                2\;
            }
        }
        \ForEach{condition}{
            \If{condition}{
                1\;
            }
        }
    \end{algorithm}

方式三  

  • 需要包含的

    \usepackage[ruled,vlined]{algorithm2e}
  • 源码

    \begin{algorithm}[H]
        \caption{algorithm caption}%算法名字
        \LinesNumbered %要求显示行号
        \KwIn{input parameters A, B, C}%输入参数
        \KwOut{output result}%输出
        some description\; %\;用于换行
        \For{condition}{
            only if\;
            \If{condition}{
                1\;
            }
        }
        \While{not at end of this document}{
            if and else\;
            \eIf{condition}{
                1\;
            }{
                2\;
            }
        }
        \ForEach{condition}{
            \If{condition}{
                1\;
            }
        }
    \end{algorithm}

更多关于表格的信息,参考: