如何在 algorithm2e 标题中使用 algorithm2e 函数宏?

如何在 algorithm2e 标题中使用 algorithm2e 函数宏?

Algorithm2e 允许您定义函数,\SetKwFunction{Fn}{Function}然后您可以使用该函数在文档中的任何位置(而不仅仅是在环境中algorithm)引用该函数,例如\Fn(它将Function以正确的字体输出所有内容)。但是,这在标题中不起作用。例如,以下文档:

\documentclass{article}
\usepackage{algorithm2e}
\SetKwFunction{Fn}{Function}
\begin{document}
\begin{algorithm}
  \caption{\Fn, my function}
  \KwRet{0}\;
\end{algorithm}
\end{document}

死于

Argument of \@caption has an extra }.
<inserted text> 
                \par 
l.6   \caption{\Fn, my function}

有人知道发生了什么事,以及如何解决吗?

答案1

宏必须受到保护以便可以在内部使用caption

\caption{\protect\Fn my function}

有关为什么需要这样做的更多信息,请查看以下问题:

脆弱命令和坚固命令之间有什么区别?

相关内容