Wie zeigt man einen kurzen Abschnittsnamen im Inhaltsverzeichnis an?
\documentclass{beamer}
\begin{document}
\begin{frame}
\tableofcontents
\end{frame}
\section[short title]{long title}
\frame{}
\end{document}
Entsprechendhttps://tex.stackexchange.com/a/200141/36296das sollte theoretisch funktionieren, oder verstehe ich die Antwort falsch?
Antwort1
Momentan,beamer
fügt die Inhaltsverzeichnis- und Navigationseinträge ein, die dem obligatorischen Abschnittsbefehl entsprechen. Sie müssen jede Abschnittseinheit separat patchen, um dies zu „beheben“:
\documentclass{beamer}
\usepackage{etoolbox}
\makeatletter
% Insert [short title] for \section in ToC
\patchcmd{\beamer@section}{{#2}{\the\c@page}}{{#1}{\the\c@page}}{}{}
% Insert [short title] for \section in Navigation
\patchcmd{\beamer@section}{{\the\c@section}{\secname}}{{\the\c@section}{#1}}{}{}
% Insert [short title] for \subsection in ToC
\patchcmd{\beamer@subsection}{{#2}{\the\c@page}}{{#1}{\the\c@page}}{}{}
% Insert [short title] for \subsection in Navigation
\patchcmd{\beamer@subsection}{{\the\c@subsection}{#2}}{{\the\c@subsection}{#1}}{}{}
\makeatother
\begin{document}
\begin{frame}
\tableofcontents
\end{frame}
\section[short section]{long section}
\subsection[short subsection]{long subsection}
\frame{}
\end{document}
\beamer@section[#1]{#2}
und \beamer@subsection[#1]{#2}
verhalten sich sehr ähnlich wie die regulären \section[#1]{#2}
und \subsection[#1]{#2}
, wenn sie #2
in die .toc
und .nav
Zusatzdateien schreiben. Das Obige \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}
tauscht beim Schreiben in die Zusatzdateien die obligatorische gegen die optionale aus.