algorithm2e キャプション内で algorithm2e 関数マクロを使用するにはどうすればよいですか?

algorithm2e キャプション内で algorithm2e 関数マクロを使用するにはどうすればよいですか?

Algorithm2e では、関数を定義して、たとえば(適切なフォントですべて適切にタイプセットされて出力されます)を使用して\SetKwFunction{Fn}{Function}、ドキュメント内の任意の場所 (環境内だけでなく) で参照することができます。ただし、これはキャプション内では機能しません。たとえば、次のドキュメント:algorithm\FnFunction

\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}

これがなぜ必要なのかの詳細については、次の質問をご覧ください。

Fragile コマンドと Robust コマンドの違いは何ですか?

関連情報