Kurzer Abschnittsname im Inhaltsverzeichnis

Kurzer Abschnittsname im Inhaltsverzeichnis

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}

Bildbeschreibung hier eingeben

Entsprechendhttps://tex.stackexchange.com/a/200141/36296das sollte theoretisch funktionieren, oder verstehe ich die Antwort falsch?

Antwort1

Momentan,beamerfügt die Inhaltsverzeichnis- und Navigationseinträge ein, die dem obligatorischen Abschnittsbefehl entsprechen. Sie müssen jede Abschnittseinheit separat patchen, um dies zu „beheben“:

Bildbeschreibung hier eingeben

\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 #2in die .tocund .navZusatzdateien schreiben. Das Obige \patchcmd{<cmd>}{<search>}{<replace>}{<success>}{<failure>}tauscht beim Schreiben in die Zusatzdateien die obligatorische gegen die optionale aus.

verwandte Informationen