有人能通过一个例子向我展示如何在 algorithm2e 环境中生成“end if”、“end for”和“end while”吗?您好,谢谢您的回答,我尝试上传我想在 algorithm2e 环境中编写的算法,我也尝试执行其中的一部分,但您能帮我让它无错误并完成吗?谢谢
\documentclass[11pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage[ruled, noline]{algorithm2e}
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\SetKw{KwBy}{by}
\SetAlgoLined
\DontPrintSemicolon
$k\gets 0$
$M_a\gets 0$
$M_b\gets 0$
\lWhile{something}{
\For{$p \in \{a,b\}$}{
\lIf{something}{
$M_p \gets M_p +1$
something
\Else
\If{M_p=M}{
something
\EndIf
\Else{something}
}
}
}
$k\gets k + 1$
\If{$M_a = M$ and $M_b = M$}{
$M_a \gets 0$
$M_b \gets 0$
}
}
\end{algorithm}
答案1
noend
从参数中删除algorithm2e
。noend
明确告诉包不要呈现结束语句。
这是您的 MWE:
\documentclass[11pt]{article}
\usepackage[margin=3cm]{geometry}
\usepackage[ruled, noline]{algorithm2e} % <-- HERE
\usepackage{algpseudocode}
\begin{document}
\begin{algorithm}
\caption{Your algorithm}
$i\gets 10$\;
\eIf{$i\geq 5$}
{
$i\gets i-1$\;
}{
\If{$i\leq 3$}
{
$i\gets i+2$\;
}
}
\end{algorithm}
\end{document}