Hallo,

ich hatte in einer anderen Frage zusätzliche Informationen zu subsections in den \tableofcontens einfügen wollen. Dafür hat saputello eine sehr gute Lösung gefunden.

Nun würde ich diese Zusatzinfo auch gerne zusätzlich (bzw. anstatt im TOC) im Header anfügen. Ich verwende AnnArbor.

Meine Idee war, in der Kopfzeile hinter \insertsubsectionhead einfach den von saputello definierten Befehl \additionalinfoof{\thesection.\thesubsection} einzufügen. Leider funktioniert dies nicht. Hat jemand eine Idee, wie ich die Zusatzinfo in die Kopfzeile, hinter den Namen der subsection bekomme?

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{refcount}% Wenn man die auskommentierte Zeile mit \getrefnumber verwenden will.

\usetheme{AnnArbor}

\makeatletter
\newcommand*{\additionalinfoof}[1]{%
  \expandafter\ifx\csname additionalinfo@#1\endcsname\relax\else
    \expandafter\ifx\csname additionalinfo@#1\endcsname\@empty\else
      : \@nameuse{additionalinfo@#1}%
  \fi\fi
}
\newcommand*{\additionalinfo}[2][\thesection.\thesubsection]{%
  \@namedef{additionalinfo@#1}{#2}%
}
\makeatother

\usepackage{xpatch}
\makeatletter
\xpatchcmd\beamer@subsectionintoc{#3}{#3\additionalinfoof{#1.#2}}{}{\FailED}
\makeatother

\setbeamertemplate{headline}% Definition aus beamerouterthemeinfolines.sty geändert
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,right]{section in head/foot}%
    \usebeamerfont{section in head/foot}\insertsectionhead\hspace*{2ex}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,left]{subsection in head/foot}%
    \usebeamerfont{subsection in head/foot}\hspace*{2ex}\insertsubsectionhead\additionalinfoof{\thesection.\thesubsection}
  \end{beamercolorbox}}%
  \vskip0pt%
}

\begin{document}

\section{Thema A}

\begin{frame}
  \frametitle{Gesamtübersicht zum Thema A}
  \tableofcontents
\end{frame}

\subsection{Unterthema 1}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 1}
  \additionalinfo{siehe Buch S. 8 und Paper XYZ}
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\subsection{Unterthema 2}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 2}
  \additionalinfo{siehe Buch S. 95ff}
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\end{document}

gefragt 01 Sep '15, 14:28

tom75's gravatar image

tom75
2.2k187884
Akzeptiert-Rate: 57%

bearbeitet 06 Feb '16, 20:48


Man muss das additionalinfo-Feld global definieren, also

Open in Online-Editor
\newcommand*{\additionalinfo}[2][\thesection.\thesubsection]{%
  \global\@namedef{additionalinfo@#1}{#2}%
}

Dann funktioniert es ohne weiteres zutun.

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{refcount}% Wenn man die auskommentierte Zeile mit \getrefnumber verwenden will.

\usetheme{AnnArbor}

\makeatletter
\newcommand*{\additionalinfoof}[1]{%
  \expandafter\ifx\csname additionalinfo@#1\endcsname\relax\else
    \expandafter\ifx\csname additionalinfo@#1\endcsname\@empty\else
      : \@nameuse{additionalinfo@#1}%
  \fi\fi
}
\newcommand*{\additionalinfo}[2][\thesection.\thesubsection]{%
  \global\@namedef{additionalinfo@#1}{#2}%
}
\makeatother

\usepackage{xpatch}
\makeatletter
\xpatchcmd\beamer@subsectionintoc{#3}{#3\additionalinfoof{#1.#2}}{}{\FailED}
\makeatother

\setbeamertemplate{headline}% Definition aus beamerouterthemeinfolines.sty geändert
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,right]{section in head/foot}%
    \usebeamerfont{section in head/foot}\insertsectionhead\hspace*{2ex}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,left]{subsection in head/foot}%
    \usebeamerfont{subsection in head/foot}\hspace*{2ex}\insertsubsectionhead\additionalinfoof{\thesection.\thesubsection}
  \end{beamercolorbox}}%
  \vskip0pt%
}

\begin{document}

\section{Thema A}

\begin{frame}
  \frametitle{Gesamtübersicht zum Thema A}
  \tableofcontents
\end{frame}

\subsection{Unterthema 1}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 1}
  \additionalinfo{siehe Buch S. 8 und Paper XYZ}
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\subsection{Unterthema 2}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 2}
  \additionalinfo{siehe Buch S. 95ff}
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\end{document}

alt text

Permanenter link

beantwortet 09 Jul '16, 11:53

Henri's gravatar image

Henri
15.7k133943
Akzeptiert-Rate: 46%

@Henri Vielen Dank für die Lösung!

(13 Sep '16, 12:27) tom75
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×138
×13

gestellte Frage: 01 Sep '15, 14:28

Frage wurde gesehen: 8,090 Mal

zuletzt geändert: 13 Sep '16, 12:27