Mit Algorithm2e können Sie Funktionen definieren, mit \SetKwFunction{Fn}{Function}
denen Sie dann überall im Dokument (nicht nur in einer algorithm
Umgebung) referenzieren können, indem Sie z. B. verwenden \Fn
(wodurch Function
alles schön in der richtigen Schriftart ausgegeben wird). Dies funktioniert jedoch nicht innerhalb von Bildunterschriften. Zum Beispiel das folgende Dokument:
\documentclass{article}
\usepackage{algorithm2e}
\SetKwFunction{Fn}{Function}
\begin{document}
\begin{algorithm}
\caption{\Fn, my function}
\KwRet{0}\;
\end{algorithm}
\end{document}
stirbt mit
Argument of \@caption has an extra }.
<inserted text>
\par
l.6 \caption{\Fn, my function}
Weiß jemand, was los ist und wie man es behebt?
Antwort1
Das Makro muss geschützt werden, damit es darin verwendet werden kann caption
:
\caption{\protect\Fn my function}
Weitere Informationen dazu, warum dies erforderlich ist, finden Sie in dieser Frage:
Was ist der Unterschied zwischen fragilen und robusten Befehlen?