我有以下示例
\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}
但是我不希望 if 和 else 放在两条单独的行中,而只放在一行中。
有人能帮我吗?提前谢谢
答案1
定义\lIfElse{<condition>}{<true>}{<false>}
为插入<false>
子句作为的一部分<true>
:
\documentclass{article}
\usepackage{algorithm2e}
\newcommand{\lIfElse}[3]{\lIf{#1}{#2 \textbf{else}~#3}}
\begin{document}
\begin{algorithm}
\lIfElse{$a$}{True}{False}
\lIfElse{$b$}{\Return True}{\Return False}
\end{algorithm}
\end{document}
答案2
最简单的方法可能是手动完成:
\documentclass{report}
\usepackage{algorithm2e}
\usepackage[left=1cm]{geometry}
\begin{document}
\begin{algorithm}
\lIf{$\max_{\mathcal{AV}} > \theta_5$}
{
\Return the tracklet with $\max_{\mathcal{AV}}$. ; \textbf{else return} no speaker.
}
\end{algorithm}
\end{document}
结果:
请注意,我把页面弄得稍微宽一些(左边距减少到 1 厘米),否则文本无法放在一行上。
如果你想模仿别的和返回那么你可以做类似的事情\textbf{else\enspace return}
。