Algorithm2e 캡션 내에서 Algorithm2e 함수 매크로를 어떻게 사용할 수 있습니까?

Algorithm2e 캡션 내에서 Algorithm2e 함수 매크로를 어떻게 사용할 수 있습니까?

\SetKwFunction{Fn}{Function}Algorithm2e를 사용하면 예 를 들어 문서의 어느 곳에서든(환경뿐만 아니라 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}

이것이 필요한 이유에 대한 자세한 내용은 다음 질문을 참조하십시오.

Fragile 명령과 Robust 명령의 차이점은 무엇입니까?

관련 정보