“从 Beamer 标题导航到章节/小节”解决方案中的错误消息

“从 Beamer 标题导航到章节/小节”解决方案中的错误消息

作为新用户,我无法对原始问题/解决方案添加评论。

我参考的解决方案从 Beamer 标题导航至章节/小节作者为约瑟夫·赖特 (Joseph Wright)。

如果我把他的补丁和类似的东西一起使用

\section{\texorpdfstring{$\operatorname{e}$-Funktion}{e-Funktion}}

我收到一条错误消息

\@gobble 的参数有一个额外的}。 ...{$\operatorname{e}$-Funktion}{e-Funktion}}

即使没有补丁,一切似乎都正常。

梅威瑟:

\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\beamer@section}
  {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
  {\edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
  {}{}
\patchcmd{\beamer@subsection}
  {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
  {\edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
  {}{}
\makeatother
\usetheme{AnnArbor} 
\begin{document}
\section{\texorpdfstring{$\operatorname{e}$-Funktion}{e-Funktion}}
\begin{frame}{$\operatorname{e}$-Funktion}
  $\operatorname{e}$-Funktion
\end{frame}
\subsection{Subsection 1}
\begin{frame}{Subsection 1}
  Subsection 1 Frame 1
\end{frame}
\begin{frame}{Subsection 1}
  Subsection 1 Frame 2
\end{frame}
\end{document}

答案1

可以找到问题的解决方案在 texwelt,使用\protected@edef而不是\edef

\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usetheme{AnnArbor}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\beamer@section}
  {\def\insertsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
  {\protected@edef\insertsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
  {}{}
\patchcmd{\beamer@subsection}
  {\def\insertsubsectionhead{\hyperlink{Navigation\the\c@page}{#1}}}
  {\protected@edef\insertsubsectionhead{\noexpand\hyperlink{Navigation\the\c@page}{#1}}}
  {}{}
\makeatother

\begin{document}

\section{\texorpdfstring{$\operatorname{e}$-Funktion}{e-Funktion}}
\subsection{Unterthema 1}
\begin{frame}
  Frame 1
\end{frame}
\begin{frame}
  Frame 2
\end{frame}
\begin{frame}
  Frame 3
\end{frame}
\begin{frame}
  Frame 4
\end{frame}
\end{document}

相关内容