注释与 \If 算法中的同一行引入了垂直空格

注释与 \If 算法中的同一行引入了垂直空格

我正在使用该algorithm2e包编写伪代码算法。我想\tcp在与语句相同的行上添加带有 ,的注释。我设法通过将命令放在 , 后面的括号中\If来实现这一点,但它在 If 和下一行之间引入了一个垂直空格。\tcp\If

\usepackage[titlenumbered,ruled,noend,algo2e]{algorithm2e}
\usepackage{algorithm}

\begin{document}
    \begin{algorithm}[t]
        \If(\tcp*[l]{comment}){$k = K$}{do stuff}
        \If{$k \neq K$}{do other stuff}
    \end{algorithm}
\end{document}

结果是:

在此处输入图片描述

有人知道如何解决这个问题吗?

答案1

您应该使用[h]规范\tcp*,如下所述这里见第32页。

\documentclass{article}
\usepackage[titlenumbered,ruled,noend,algo2e]{algorithm2e}
\usepackage{algorithm}

\begin{document}
    \begin{algorithm}[t]
        \If(\tcp*[h]{comment}){$k = K$}{do stuff}
        \If{$k \neq K$}{do other stuff}
    \end{algorithm}
\end{document}

在此处输入图片描述

相关内容