算法:在一行中写出 if-then-return 或 else-return?

算法:在一行中写出 if-then-return 或 else-return?

我可以使用包轻松生成以下算法语句algorithm2e。从图中可以看出,return即使语句很短,语句(也适用于其他语句)也会放在新行中。我该如何在一行中写入if-then-return或?else-return

在此处输入图片描述

PS 生成上述代码如下:

... ...
\uIf{$\max_{\mathcal{AV}} > \theta_5$}
{
    \Return the tracklet with $\max_{\mathcal{AV}}$.
}
\Else
{
    \Return no speaker.
}   
... ...

答案1

您可以使用\lIf而不是\uIf\lElse而不是\Else

平均能量损失

\documentclass{report}
\usepackage{algorithm2e}

\begin{document}

\begin{algorithm}
\lIf{$\max_{\mathcal{AV}} > \theta_5$}
{
    \Return the tracklet with $\max_{\mathcal{AV}}$.
}
\lElse
{
    \Return no speaker.
}  
\end{algorithm}

\end{document} 

输出

在此处输入图片描述


编辑

如果你不想在每行末尾打印分号,只需发出命令

\DontPrintSemicolon

平均能量损失

\documentclass{report}
\usepackage{algorithm2e}

\begin{document}

\begin{algorithm}
\DontPrintSemicolon
\lIf{$\max_{\mathcal{AV}} > \theta_5$}
{
    \Return the tracklet with $\max_{\mathcal{AV}}$.
}
\lElse
{
    \Return no speaker.
}
\end{algorithm}

\end{document} 

输出

在此处输入图片描述

相关内容