如何使 algorithm2e 中的符号 \\ 变得微小?

如何使 algorithm2e 中的符号 \\ 变得微小?

我想在 algorithm2e 中写一个小注释。我输入了

\tcp*[l]{ {\tiny Here is my comment.} }

我的问题是注释前面的符号//太大了。我试图把它弄小,但做不到。我输入了

\SetKwComment{tcp}{ {\tiny \\} }{}

但我得到了错误! LaTeX Error: Something's wrong--perhaps a missing \item.

我怎样才能使符号变\\小?

作为替代解决方案,我使用数字符号#代替\\键入

\SetKwComment{tcp}{ {\tiny \#} }{}

并且成功了!

答案1

来自修订版 2.40algorithm2e,它提供了\SetKwComment{<cmd>}{<before>}{<after>}创建命令<cmd>、设置一些内容<before>和一些<after>注释的功能。您可以使用上面的方法重新定义现有宏的功能。以下是\tcp最初的定义方式:

\SetKwComment{tcp}{// }{}%

相反,可以使用

\SetKwComment{tcp}{\tiny // }{}%

如果你还想设置整个评论\tiny,你必须添加

\SetCommentSty{tiny}

这是一个完整的例子,取自algorithm2e文档

在此处输入图片描述

\documentclass{article}

\usepackage{algorithm2e}

\SetKwComment{tcp}{\tiny // }{}%
\SetCommentSty{tiny}

\begin{document}

\IncMargin{1em}
\begin{algorithm}
  \SetKwData{Left}{left}\SetKwData{This}{this}\SetKwData{Up}{up}
  \SetKwFunction{Union}{Union}\SetKwFunction{FindCompress}{FindCompress}
  \SetKwInOut{Input}{input}\SetKwInOut{Output}{output}
  \Input{A bitmap $Im$ of size $w\times l$}
  \Output{A partition of the bitmap}
  \BlankLine
  \emph{special treatment of the first line}\;
  \For{$i\leftarrow 2$ \KwTo $l$}{
    \emph{special treatment of the first element of line $i$}\;
    \For{$j\leftarrow 2$ \KwTo $w$}{\label{forins}
      \Left$\leftarrow$ \FindCompress{$Im[i,j-1]$}\;
      \Up$\leftarrow$ \FindCompress{$Im[i-1,]$}\;
      \This$\leftarrow$ \FindCompress{$Im[i,j]$}\;
      \If(\tcp*[h]{O(\Left,\This)==1}){\Left compatible with \This}{\label{lt}
        \lIf{\Left $<$ \This}{\Union{\Left,\This}}
        \lElse{\Union{\This,\Left}}
      }
      \If(\tcp*[f]{O(\Up,\This)==1}){\Up compatible with \This}{\label{ut}
        \lIf{\Up $<$ \This}{\Union{\Up,\This}}
          \tcp{\This is put under \Up to keep tree as flat as possible}\label{cmt}
        \lElse{\Union{\This,\Up}}\tcp*[h]{\This linked to \Up}\label{lelse}
      }
    }
    \lForEach{element $e$ of the line $i$}{\FindCompress{p}}
    }
  \caption{disjoint decomposition}\label{algo_disjdecomp}
\end{algorithm}
\DecMargin{1em}

\end{document}

答案2

您需要提供\\字符串,而不是\\,否则它将被解释为\newline指令,从而导致有关Missing item

\documentclass{article}
\usepackage[lined,boxed,commentsnumbered]{algorithm2e}

\SetKwComment{tcp}{\tiny \string\\}{}
\begin{document}
\begin{algorithm}
\tcp*[l]{ {\tiny Here is my comment.} }
\end{algorithm}
\end{document}

在此处输入图片描述

相关内容