我想在 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}