Ich hab folgende Grundstruktur einer beamer Präsentation vorgegeben:

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

\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}
  \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}
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\subsection{Unterthema 3}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 3}
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\end{document}

In den Übersichtsseiten zu den einzelnen Unterthemen 1,2 und 3 ist im Inhaltsverzeichnis jeweils das aktuelle Unterthema sichtbar, die anderen sind schattiert.

Nun soll zusätzlich hinter dem aktuellen Unterthema in der \tableofcontents weitere Information eingefügt werden, z.B. so:

Unterthema 1 [ausgegraut]

Unterthema 2 : siehe Buch S. 95ff

Unterthema 3 [ausgegraut]

Der Text, hier z.B. hinter Unterthema 2, soll änderbar sein. Ich dachte an ein Makro in der Art \additionalinfo, dass ich vor \tableofcontents schreibe und die jeweilige Information übergebe oder sie Sache leer lasse, wenn ich nichts zusätzliches brauche.

Ich weiß nicht, ob und wie man sowas realisieren kann, ich stell es mir mit obigem Codebeispiel in etwa so vor: (Achtung, ist nicht übersetzbar!)

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

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

\subsection{Unterthema 3}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 3}
  \additionalinfo{} % hier gibt es z.B. nichts weiter hinzuzufügen
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\end{document}

Lässt sich sowas machen?

gefragt 05 Mär '15, 11:46

tom75's gravatar image

tom75
1.9k1545
Akzeptiert: 83%

bearbeitet 05 Mär '15, 11:47


Lässt sich schon machen. Halbautomatisch ginge es beispielsweise so:

Open in Online-Editor
\documentclass[12pt]{beamer}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}

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

\begin{document}

\section{Thema A}

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

\subsection{Unterthema 1\currentadditionalinfo}
\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\currentadditionalinfo}
\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}

\subsection{Unterthema 3\currentadditionalinfo}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 3}
  \additionalinfo{} % hier gibt es z.B. nichts weiter hinzuzufügen
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\end{document}

Zugegeben, man muss dazu auch die \subsection-Befehle ändern. Dafür muss man hier weder \beamer@subsectionintoc noch \tableofcontents (oder dessen Unterbefehle) patchen.

Will man unbedingt eine Lösung ohne Änderung der \subsection-Befehle, dann beispielsweise so:

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.

\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

\begin{document}

\section{Thema A}

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

\subsection{Unterthema 1}\label{ut1}
\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}

\subsection{Unterthema 3}
\begin{frame}
  \frametitle{Übersicht zu Unterthema 3}
  \additionalinfo{} % hier gibt es z.B. nichts weiter hinzuzufügen (kann man auch einfach weglassen)
  %\additionalinfo[1.2]{Blumenkohl}% für andere als das aktuelle Unterthema
  %\additionalinfo[\thesection.\getrefnumber{ut1}]{Hui!}% oder mit mehr Automatismus
  \tableofcontents[subsectionstyle=show/shaded]
\end{frame}
\begin{frame}
  \frametitle{Inhalt1}
  Inhalt1
\end{frame}
\begin{frame}
  \frametitle{Inhalt2}
  Inhalt2
\end{frame}

\end{document}

Bei der Lösung habe ich außerdem \additionalinfo mit einem optionalen Argument versehen, so dass man ggf. auch andere Einträge als den des aktuellen Unterverzeichnisses mit Zusatzinfos versehen kann.

Permanenter link

beantwortet 07 Mär '15, 07:46

saputello's gravatar image

saputello
18.4k22352

bearbeitet 08 Mär '15, 07:23

Das sieht gut aus, danke! Mir ist nur die Sache mit dem zusätlichen optionalen Argument nicht klar, wie man das verwendet.

(08 Mär '15, 04:08) tom75
1

@tom75: Ganz einfach wie in den auskommentierten Zeilen.

(08 Mär '15, 07:03) saputello

Ah ok, das gefällt mir sehr!

(08 Mär '15, 07:09) tom75

Achso: Die \additionalinfo-Definition mit dem optionalen Argument könnte man natürlich auch bei der ersten Lösung verwenden. Die hatte ich nur absichtlich möglichst einfach gehalten.

\@namedef und \@nameuse sind natürlich in der LaTeX-Kern-Dokumentation (source2e.pdf) zu finden.

(08 Mär '15, 07:21) saputello
Deine Antwort auf die Frage (nicht auf andere Antworten)
Knebel-Vorschau

Folge dieser Frage

Per E-Mail:

Wenn Du Dich anmeldest, kannst Du Updates hier abonnieren

Per RSS:

Antworten

Antworten und Kommentare

Aktuelle Buch-Infos

LaTeX Cookbook

LaTeX Beginners Guide

Limitierter Rabatt ebook
50% Coupon code tDRet6Y

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üge einfach zwei Leerzeichen an die Stelle ein, an der die neue Zeile sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Zugeordnete Themen:

×94
×6

Frage gestellt: 05 Mär '15, 11:46

Frage wurde angeschaut: 3,245 Mal

Zuletzt aktualisiert: 08 Mär '15, 07:26