
비머용 프레임 테이블을 해킹했는데 이해할 수 없는 이상한 상황이 발생했습니다.
\documentclass{beamer}
\makeatletter
\newcommand\listofframes{\@starttoc{lbf}}
\makeatother
\setbeamertemplate{background}{
\addcontentsline{lbf}{section}{\protect\insertframetitle}
}
\begin{document}
\begin{frame}[allowframebreaks]{Title1}
Some text1
\end{frame}
\begin{frame}[allowframebreaks]{Title2}
Some text2
\end{frame}
\setbeamertemplate{background}{}
\begin{frame}[allowframebreaks]{List}
\listofframes
\end{frame}
\end{document}
목록의 두 항목은 "List 1"과 "List 1"이지만 "Title 1"과 "Title 2"여야 합니다.
제거하면 \protect
이상한 오류 메시지가 나타납니다.
! Argument of \XC@col@rlet has an extra }.
<inserted text>
\par
l.15 \end{frame}
I've run across a `}' that doesn't seem to match anything.
For example, `\def\a#1{...}' and `\a}' would produce
this error. If you simply proceed now, the `\par' that
I've just inserted will cause me to report a runaway
argument that might be the root of the problem. But if
your `}' was spurious, just type `2' and it will go away.
무엇여기서 문제가 발생하고 있나요?
참고 1:이 최소한의 문제 사례는 상당히 많은 세부 사항에 결정적으로 의존하는 것처럼 보입니다. 예를 들어, allowframebreaks
처음 두 슬라이드에서 을 제거하면 모든 것이 정상입니다(도 제거한 경우 \protect
- 그대로 두면 잘못된 항목이 표시됩니다).
노트 2:모든 연속 슬라이드에서는 이 템플릿만 호출되므로 배경 템플릿을 사용합니다. 프레임 제목으로 이동하는 것은 옵션이 아닙니다.