出于某种原因,即使我启用,\DontPrintSemicolon
注释行上仍然有分号。这是在 Algorithm2e 版本 3.9 中。
\documentclass[12pt]{article}
\usepackage[lined,boxed]{algorithm2e}% using version 3.9
\usepackage{amsmath}
\newcommand*{\DontPrintSemicolon}[0]{\dontprintsemicolon}%remove for 5.0
%define defaults for algorithm2e
\let \oriAlgorithm=\algorithm
\renewcommand{\algorithm}[2]{
\oriAlgorithm % Begin document
\SetLine
\DontPrintSemicolon
\SetKwComment{Comment}{}{}
\Titleofalgo{ #1 }
\caption{ #2 }
}
\newcommand*{\Set}[2]{ #1 $\gets$ #2 }
\newcommand*{\SetC}[3]{ #1 $\gets$ #2 \Comment*[r]{#3} }
\begin{document}
\begin{algorithm}{test}{test to show semicolons existence}
\SetC{$f$}{$true$}{Some comment}\;
\Set{$f$}{$\lnot f$}\;
\Return{$f$}\;
\end{algorithm}
\end{document}
答案1
5.0 文档指出已修复此问题,
命令宏(SetKwIf 等)的侧边文本(文本放入 () 中)存在错误,即使在 \DontPrintSemicolon 之后也总是设置 ';'