是否可以在算法(不是 algorithm2e)包中绘制垂直线?

是否可以在算法(不是 algorithm2e)包中绘制垂直线?

我的问题是,是否可以在算法包中绘制垂直线。我看到过以下问题:

伪代码的垂直线

但我不想使用 algorithm2e,因为它会改变算法的格式。可以使用 algorithm 包来处理这个问题吗?

答案1

欢迎使用 TeX-SE!使用tikztikzmark您当然可以添加行。我不知道这是否是产生此类输出的最有效方法,即是否有一个包可以开箱即用地完成所有这些工作。

\documentclass[two column,conference]{IEEEtran}
\usepackage{tikz}
\usetikzlibrary{tikzmark}
\usepackage{algorithm}
\begin{document}
\begin{algorithm}
    \caption{HD}
    \label{array-sum}
    1: Initialization of parameters \\
    2: Randomly generate population using Eq. 28\\
    \tikzmarknode{3}{3}: \textbf{for} u=1:k \\
    \tikzmarknode{4}{4}: \textbf{for} s=1:i$_{c}$\\
    5:  Randomly generated X$_{s}^{u}$ in da\\
    \tikzmarknode{6}{6}: \textbf{end for} \\
    \tikzmarknode{7}{7}: \textbf{end for}\\
    8: End of initialization step\\
    9: \textbf{While} Maximum number of iteration reached \textbf{do}\\
    10:  Construction and assessment of new candidate\\
    11: \textbf{if} ($rand (0,1)\leq$ cpu)\\
    12: Choose random no \\
    13: \textbf {if} ($rand (0,1 ) \leq$ cpu) \\
    14:  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    15: \textbf{end if} \\
    16: \textbf{else} \\
    17: Evaluate fitness function a: F(a) using Eq. 17\\
    27: End of the construction and assessment step\\
    28: Construction and assessment of new candidate: a   \\
    29: if (F(y) has best value than the worst member \\
    30: Replace DA member with new candidate: a\\
    31: else\\
    32: Discard x\\
    33: \textbf{endif}\\
    34: End of update\\
    35: Until a preset termination criterion is met\\
    36: end \textbf{while}\\
\end{algorithm}
\begin{tikzpicture}[overlay,remember picture]
 \draw[blue,thick] (3.west) -- ++ (-4pt,0pt) |- (7);
 \draw[red,thick] (4.west) -- ++ (-2pt,0pt) |- (6);
\end{tikzpicture}
\end{document}

在此处输入图片描述

相关内容