algorithm2e 中的 do-while 循环

algorithm2e 中的 do-while 循环

我在用

\usepackage[norelsize, linesnumbered, ruled, lined, boxed, commentsnumbered]{algorithm2e}

\RestyleAlgo{boxruled}

似乎algorithm2e具有默认的 repeat-until 结构。但我想使用 do-while 结构作为当 u 不为 v 时执行某操作

repeat-until 结构与 do-while 结构不同。

我的搜索结果伪代码中的 do-while 循环. 但答案是algorithmicx

如何在 `algorithm2e 中做到这一点?

答案1

您可以使用与生成 repeat-until 结构相同的技术来创建 do-while 结构。它们都属于algorithm2e调用“重复宏”:

\SetKwRepeat{Do}{do}{while}

以上内容现在允许您使用

\Do{<end condition>}{<stuff>}

这是一个展示其使用/输出的最小示例:

在此处输入图片描述

\documentclass{article}
\usepackage[linesnumbered, ruled]{algorithm2e}
\SetKwRepeat{Do}{do}{while}%
\begin{document}

\begin{algorithm}[H]
  \KwData{this text}
  \KwResult{how to write algorithm with \LaTeX2e }
  initialization\;
  \While{not at end of this document}{
    read current\;
    \Repeat{this end condition}{
      do these things\;
    }
    \eIf{understand}{
      go to next section\;
      current section becomes this one\;
    }{
      go back to the beginning of current section\;
    }
    \Do{this end condition}{
      do these things\;
    }
  }
  \caption{How to write algorithms}
\end{algorithm}

\end{document}

相关内容