Beamer Custom ToC не работает так, как ожидалось

Beamer Custom ToC не работает так, как ожидалось

Я взломал таблицу кадров для проектора и получил странную ситуацию, которую не понимаю.

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

Две записи в списке — «Список 1» и «Список 1», тогда как должны быть «Заголовок 1» и «Заголовок 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:Я использую шаблон фона, поскольку только он вызывается на всех слайдах продолжения; переход к заголовку кадра невозможен.

Связанный контент