# Can't use underscore in algorithm2e caption?

I have a LaTeX document using the algorithm2e package. It used to work before I upgraded to texlive (it's the Debian version 2012.20120516-1 -- some snapshot from 2012, if I understand correctly).

The problem is that now it seems that I can't use underscores in captions of algorithms, functions, and so on...

\documentclass{article}

\usepackage{algorithm2e}

\begin{document}

\begin{procedure}
This is A''
\caption{method\_A}
\end{procedure}

\end{document}


When I try to process the above document with pdflatex, I see this error:

Runaway argument?
method\_A@\endcsname ##1{\FuncSty {\algocf@captname method\_A@(}\ArgSty \ETC.
! Paragraph ended before \algocf@captname was complete.
\par
l.11

?


What does this error mean, and is there anything I can do to fix it?

-

## migrated from stackoverflow.comJun 6 '12 at 18:31

This question came from our site for professional and enthusiast programmers.

The procedure environment supplied by algorithm2e has a strict requirement in terms of its caption. From the algorithm2e documentation:

...the syntax of the \caption command is restricted as follow: you MUST put a name followed by 2 braces like this “Name()”. You can put arguments inside the braces and text after. If no argument is given, the braces will be removed in the title.

As such, you're required to use something like:

\documentclass{article}
\usepackage{algorithm2e}% http://ctan.org/pkg/algorithm2e
\begin{document}

\begin{procedure}
This is A''
\caption{proc(method\_A)}
\end{procedure}

\end{document}

-
Thanks! It is a bit strange (particularly because C function names may have underscores -- and usually do), but I can rework the document to not use those. –  Jay Jun 6 '12 at 18:56
@Jay: Sure. Of course, a completely different question would be to change the caption to meet your needs. Using procedure or function forces a certain requirement and also output. Asking follow-up questions like this are more than welcome! Please use the "Ask Question" link for your new question; there you can link to this question to provide the background. –  Werner Jun 6 '12 at 18:58