[Tex/LaTex] hyphen in function name using algorithm2e package

algorithm2e

I'm trying to put a hyphen into a function name using the algorithm2e package, though it doesn't seem to like it.

Minimal example:

\begin{algorithm}
\SetKwFunction{NOHYPHEN}{NOHYPHEN}
\NOHYPHEN{foo,bar}\;
\end{algorithm}

works fine.

\begin{algorithm}
\SetKwFunction{WITH-HYPHEN}{WITH-HYPHEN}
\WITH-HYPHEN{foo,bar}\;
\end{algorithm}

breaks.

Any suggestions?

Best Answer

\SetKwFunction defines a TeX command named as its first argument. Since TeX command name can only contain alphabets by default, you should use:

\begin{algorithm}
\SetKwFunction{WITHHYPHEN}{WITH-HYPHEN}
\WITHHYPHEN{foo,bar}\;
\end{algorithm}
Related Question