删除 algorithm2e 中的“end”

删除 algorithm2e 中的“end”

当我写作时

\If{condition}
    {
        \textbf{return true}\;
    }

输出如下在此处输入图片描述

然而,我不想结尾行。如果可能的话,我想要这样的:

如果 状况 然后 返回 true;

是否可以?

答案1

这完全涵盖在algorithm2e 文档(部分10.4 if-then-else 宏),由 ( ine\lIf的缩写)提供:lIf

在此处输入图片描述

\documentclass{article}
\usepackage{algorithm2e}
\newcommand{\True}{\textbf{true}}
\begin{document}
\begin{algorithm}[H]
  \SetAlgoLined
  \KwData{this text}
  \KwResult{how to write algorithm with \LaTeX2e }
  initialization\;
  \While{not at end of this document}{
    read current\;
    \eIf{understand}{
      go to next section\;
      current section becomes this one\;
    }{
      go back to the beginning of current section\;
    }
    \lIf{condition}{\Return{} \True}
  }
  \caption{How to write algorithms}
\end{algorithm}

\end{document}

答案2

为此,您应该noend在声明包时添加选项:

\usepackage[noend]{algorithm2e}

答案3

改用\uIf{condition}

\uIf{condition}
    {
        \textbf{return true}\;
    }

来自官方alorithm2e 文档(章节:if-then-else 宏):

\uIf{condition}{then block without end}

给出以下输出:

若则无尽

相关内容