PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Beamer: Liste aller Folientitel ausgeben



Worldedit
12-09-2011, 07:14
Hallo zusammen!

Ich arbeite gerade an einer Präsentation und möchte mir zur Übersicht eine Liste aller Folientitel ausgeben lassen. Am besten wäre ein erweitertes Inhaltsverzeichnis, das auch die einzelnen Folien auflistet. Ist sowas möglich? Ich möchte das ganze natürlich nicht in der Präsentation vorführen, also wäre die Formatierung nebensächlich.

mfg Worldedit

Worldedit
07-10-2011, 09:51
Keiner ne Idee?

LuPi
07-10-2011, 17:55
Keine fertige Lösung, nur ein Ansatz:

Du kannst das entsprechende beamer-Makro für den Titel modifizieren, sodass
gleichzeitig in eine - von Dir zu eröffnende - Datei der jeweilige Titel geschrieben
wird. Am Ende die Datei wieder schließen und Du hast Deine Liste in ASCII-Form.

Klingt nicht nur einfach, solllte es letztlich auch sein (von einigen Feinheiten abgesehen).
Sollte sich bis Montag niemand hier erbarmt haben (oder eine bessere Lösung
zeigen), kannst Du noch einmal auf mich zurückkommen.

mechanicus
07-10-2011, 17:56
Hi,

ich glaube mit mangelnder Idee hat das nichts zu tun. Die Ideen sind da, aber wer baut sich schon ein Minimalbeispiel zum testen.

Marco

Worldedit
20-10-2011, 07:52
Am Minimalbeispiel solls nicht scheitern. Leider hab ich zu wenig Ahnung um LuPis Idee selbst auszuprobieren. Hatte eigendich gedacht dass Beamer sowas schon kann und ichs nur nicht finde.

LuPi
20-10-2011, 08:26
Naja, so ganz minimal war's noch nicht.;)

Ein erster, sicherlich verbesserungsfähiger Ansatz sieht so aus:


\documentclass{beamer}

\usepackage[ngerman]{babel}
\usepackage[UTF8]{inputenc}
\usepackage[TS1,T1]{fontenc}

\title{Minimalbeispiel für Folientitel}

\author{worldedit}


\AtBeginDocument{%
\newwrite\outfile
\immediate\openout\outfile=\jobname.listoftitles
\typeout{>>> Titelsammlung.sty >>> \jobname.listoftitles für Schreiben öffnen}
}

\AtEndDocument{%
\immediate\closeout\outfile
}

\newcommand{\Frametitle}[1]{%
\frametitle{#1}
\begingroup%
% \edefß{\stringß}% oder Schleife ueber alle 8-bit-Zeichen
% \edef\ss{\string ß}% Ergänzung von Bernd Raichle (TeX-D-L, 22. 11. 2004)
\immediate\write\outfile{#1}%
\endgroup%
}


\begin{document}

\begin{frame}
%\maketitle
Titelseite
\end{frame}

\begin{frame}
\Frametitle{Inhaltsverzeichnis} \tableofcontents
\end{frame}


\section{Section 1}
\begin{frame}
\Frametitle{Folie 1} Ein bischen Text.
\end{frame}

\begin{frame}
\Frametitle{Folie 2} Ein bischen Text.
\end{frame}

\subsection{Subsection}

\begin{frame}
\Frametitle{Folie 3} Ein bischen Text.
\end{frame}

\section{Section 2}

\begin{frame}
\Frametitle{Folie 4} Ein bischen Text.
\end{frame}

\begin{frame}
\Frametitle{Folie 5} Ein bischen Text.
\end{frame}

\begin{frame}
\Frametitle{Folie 6} Ein bischen Text.
\end{frame}

\end{document}


Die auskommentierten Zeilen sind gegebenenfalls erforderlich um Umlaute
korrekt zu behandeln. Du kannst auch \frametitle retten, in dem die
Originaldefinition zwischengelagert wird. Das kann ich aber gerade nicht
aus Handgelenk schütteln. Einer der regulars wird Dir aber sicherlich noch
weiterhelfen können.

Worldedit
20-10-2011, 14:02
Danke, das sieht gut aus. Habe noch ein \newline in die Ausgabe eingefügt, dann kann ichs mir direkt wieder reinladen. Werde das mal in meine Präsentation einfügen und schauen obs klappt.

tral
21-10-2011, 11:12
Hallo,

ich glaube, das ließe sich recht einfach mit dem Paket extract realisieren...

Christian.

Worldedit
24-10-2011, 08:56
Habe noch folgendes eingefügt um das ganze Übersichtlicher zu machen:


\AtBeginSection[]{
\immediate\write\outfile{\noexpand\secname\noexpan d\\}
}


Hier funktionieren auch meine Umlaute und das ß. Bei den Folientiteln leider nicht. Ich füge sie mit \"a bzw \ss ein. Der auskommentierte code hilft da leider nicht.

Worldedit
24-10-2011, 11:00
Habs herausgefunden. So sieht die funktionierende Version aus. Danke LuPi!



\AtBeginDocument{%
\newwrite\outfile
\immediate\openout\outfile=\jobname.listoftitles.t ex
\typeout{>>> Titelsammlung.sty >>> \jobname.listoftitles.tex für Schreiben öffnen}
}
\newcommand{\Frametitle}[1]{%
\frametitle{#1}
\begingroup%
\edef\ss{\string \ss{}} %Ergänzung von Bernd Raichle (TeX-D-L, 22. 11. 2004)
\edef\"{\string \"}
\immediate\write\outfile{\noexpand\hspace{2cm}$\no expand\square$#1\noexpand\\}%
\endgroup%
}
\AtBeginSection[]{%
\immediate\write\outfile{\secname\noexpand\\}
}
\AtBeginSubsection[]{
\immediate\write\outfile{\noexpand\hspace{1cm}\sub secname\noexpand\\}
}

\begin{frame}%Dieser frame steht ganz am Ende, da sonst die Liste nicht fertig ist.
\Frametitle{\"Ubersicht}
\immediate\closeout\outfile
\tiny
\input{\jobname.listoftitles}
\end{frame}