%% --------------------------------------------------------------- %% Copyright (C) 2005-2011 Hendri Adriaens and Christopher Ellison %% --------------------------------------------------------------- %% %% Version 1.4g prepared by Herbert Voss %% Additional work for the documentation by Patrice Mégret %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 %% of this license or (at your option) any later version. %% The latest version of this license is in %% http://www.latex-project.org/lppl.txt %% and version 1.3 or later is part of all distributions of LaTeX %% version 2003/12/01 or later. %% %% This work has the LPPL maintenance status "unmaintained". %% \documentclass[a4paper,ngerman]{ltxdoc} \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage[ngerman]{babel} \usepackage{url} \usepackage{fourier} \usepackage{xcolor} \usepackage{enumitem} \usepackage{graphicx} \usepackage{pst-text} \usepackage{listings} \usepackage{array} \usepackage{xkeyval} \usepackage[section]{placeins} \addtolength\textheight{2cm} \addtolength\topmargin{-1cm} \lstnewenvironment{command}{% \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},% xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{} \lstnewenvironment{example}[1][]{% \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,% backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,% xrightmargin=\fboxsep,gobble=1,% language=[LaTeX]TeX,keywordstyle=\color{blue},% moretexcs=[1]{color,ProvidesPackage},% moretexcs=[2]{onslide,pause,pdsetup,maketitle,tableofcontents},% texcsstyle=[2]\color{red}% }\lstset{#1}}{} \def\mktitledecor{% \rput[tl]{90}(-5.5,-26.51){% \psline[linewidth=1pt](0,1.5)(\paperheight,1.5)% \rput[lB](.075\paperheight,.5){\pscharpath[linecolor=blue!50,% fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]% {\Huge\bfseries\sffamily powerdot}% }% \rput[rB](.925\paperheight,.5){\pscharpath[linecolor=blue!50,% fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]% {\Huge\bfseries Documentation}% }% \psline[linewidth=1pt](0,0)(\paperheight,0)% }% } \makeatletter \def\option#1{% \XKV@for@n{#1}\pd@tempa{% \fcolorbox{black}{red!20}{\texttt\pd@tempa}\quad }% \vspace*{.2cm}% } \def\tableofcontents{\@starttoc{toc}} \renewenvironment{theglossary}{% \section*{Versiongeschichte}% Mehr Informationen über bug fixes, typeset the source code Documentation (finden Sie in Abschnitt~\ref{sec:source}).\par\medskip \GlossaryParms \let\item\@idxitem \ignorespaces }{}% \def\DescribeMacros{\leavevmode\@bsphack \begingroup\MakePrivateLetters\Describe@Macros} \def\Describe@Macros#1{\endgroup\strut \marginpar{\raggedleft \def\@tempa{#1}\count@\z@ \XKV@for@o\@tempa\@tempa{% \ifnum\count@>\z@\\\fi\advance\count@\@ne \MacroFont\expandafter\string\@tempa \expandafter\SpecialUsageIndex\expandafter{\@tempa}% }}% \@esphack\ignorespaces } \def\DescribeOption#1{\leavevmode\@bsphack \marginpar{\raggedleft\PrintDescribeOption{#1}}% \SpecialOptionIndex{#1}\@esphack\ignorespaces} \def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ } \def\SpecialOptionIndex#1{\@bsphack \index{#1\actualchar{\protect\ttfamily#1} (option)\encapchar usage}\@esphack} \def\DescribeOptions#1{\leavevmode\@bsphack \marginpar{\raggedleft\strut\emph{options}% \@for\@tempa:=#1\do{% \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa }}\@esphack\ignorespaces} \def\SpecialEnvIndex#1{\@bsphack \index{#1\actualchar{\protect\ttfamily#1} (environment)\encapchar usage}\@esphack} \def\changes@#1#2#3{% \protected@edef\@tempa{% \noexpand\glossary{\textbf{#1}\hfill\emph{(#2)}% \levelchar \ifx\saved@macroname\@empty \space\actualchar\generalname \else \expandafter\@gobble\saved@macroname \actualchar\string\verb\quotechar*% \verbatimchar\saved@macroname\verbatimchar \fi :\levelchar #3}% }% \@tempa\endgroup\@esphack } \makeatother \def\PrintChangesX{% \begingroup \let\efill\relax \PrintChanges \endgroup } \def\PrintIndexX{% \begingroup \setcounter{IndexColumns}{2} \setlength{\columnsep}{18pt}% \setlength{\columnseprule}{.4pt}% \PrintIndex \endgroup } \def\larg#1{{\ttfamily\char`\<}\meta{#1}{\ttfamily\char`\>}} \def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} \def\LyXarrow{\leavevmode\,$\triangleright$\,\allowbreak} \let\pf\textsf \def\equals{=} \setcounter{tocdepth}{2} \newcolumntype{d}{c|l} \newcolumntype{e}{c|c|c|c} \newcolumntype{f}{l|p{8cm}} \RecordChanges \CodelineIndex \newcounter{FAQ} \def\question{% \stepcounter{FAQ}% \parskip4pt plus 2pt minus 1pt \itemsep4pt plus 2pt minus 1pt \parsep4pt plus 2pt minus 1pt \item[\textbf{Q\arabic{FAQ}}]% } \def\answer{% \parskip0pt \itemsep0pt \parsep0pt \item[\textbf{A\arabic{FAQ}}]% } \def\styleexample#1{% \IfFileExists{powerdot-styleexample-#1.001}{% \IfFileExists{powerdot-styleexample-#1.002}{% \hspace*{\stretch{1}}% \fbox{\includegraphics[scale=.16,angle=-90,clip]% {powerdot-styleexample-#1.001}}% \hspace*{\stretch{2}}% \fbox{\includegraphics[scale=.16,angle=-90,clip]% {powerdot-styleexample-#1.002}}% \hspace*{\stretch{1}}\par }{\textbf{No example files found for style \pf{#1}.}}% }{\textbf{No example files found for style \pf{#1}.}}% } \def\fileversion{v1.4g} \def\filedate{2011/04/25} \changes{v1.0}{2005/09/04}{Initial release} \changes{v1.1}{2005/09/19}{Fixed some small bugs} \changes{v1.1}{2005/09/19}{Added \texttt{tocsecindent} and \texttt{tocslideindent} options} \changes{v1.1}{2005/09/19}{Added \pf{elcolors}, \pf{aggie}, \pf{husky} and \pf{sailor} styles} \changes{v1.1}{2005/09/19}{Changed \texttt{size\protect\equals 10} to \texttt{size\protect\equals 10pt}} \changes{v1.1}{2005/09/19}{Added \LyX\ layout, description and example} \changes{v1.1}{2005/09/19}{Added graphical examples of styles to documentation} \changes{v1.1}{2005/09/19}{Improved section title handling} \changes{v1.1}{2005/09/19}{\texttt{blackslide} options adds hyperlink to slide and section titles} \changes{v1.1}{2005/09/19}{Extended FAQ} \changes{v1.1}{2005/09/19}{Improved \pf{tycja}, \pf{ciment} and \pf{fyma} styles} \changes{v1.2}{2005/10/09}{Added \pf{upen} and \pf{bframe} styles} \changes{v1.2}{2005/10/09}{Solved some small bugs} \changes{v1.2}{2005/10/09}{Simplified coding of most styles} \changes{v1.2}{2005/10/09}{Speeded up compilations} \changes{v1.3}{2005/12/06}{Solved some small bugs} \changes{v1.3}{2005/12/06}{Improved \texttt{figure} and \texttt{table} handling} \changes{v1.3}{2005/12/06}{Added \pf{horatio}, \pf{paintings}, \pf{klope}, \pf{jefka} and \pf{pazik} styles} \changes{v1.3}{2005/12/06}{Added palettes feature} \changes{v1.3}{2005/12/06}{Added random dots feature} \changes{v1.3}{2005/12/06}{Added optional argument to \cs{maketitle}} \changes{v1.3}{2005/12/06}{Added clock feature} \changes{v1.3}{2005/12/06}{Updated all styles} \changes{v1.3}{2005/12/06}{Added palettes to \pf{default}, \pf{fyma} and \pf{sailor} styles} \changes{v1.3}{2005/12/06}{Revised docs} \changes{v1.3}{2005/12/06}{Updated \LyX\ example and information} \changes{v1.3}{2005/12/06}{Cleaned up options} \changes{v1.3}{2005/12/06}{Added possibility to create horizontal table of contents} \changes{v1.3}{2005/12/06}{Added logo feature} \changes{v1.3}{2005/12/06}{Added examples and example file} \changes{v1.3}{2005/12/06}{Added two slide processing methods to do verbatim on slides easily} \changes{v1.4 }{2005/12/10}{Moved \texttt{lf} and \texttt{rf} keys from \texttt{global} to \texttt{glslide} family} \changes{v1.4 }{2005/12/10}{Added \texttt{cf} option} \changes{v1.4 }{2005/12/10}{Updated styles} \changes{v1.4 }{2005/12/10}{Solved some small bugs} \changes{v1.4 }{2005/12/10}{Moved footers out of slide box in handout mode} \changes{v1.4 }{2008/08/24}{Added \texttt{clockformat} and \texttt{clockrefresh} keys to \texttt{global} family} \changes{v1.4 }{2008/08/24}{\texttt{blackslide} replaced by the more general \texttt{pauseslide}} \changes{v1.4 }{2008/08/24}{\texttt{pauseslide} does not get randomdots anymore} \changes{v1.4 }{2008/08/24}{Renames \texttt{nopagebreaks} option to \texttt{nohandoutpagebreaks}} \changes{v1.4 }{2008/08/24}{Added option for no frames in handout mode} \changes{v1.4a}{2010/10/07}{fixed bug with geometry 5.x (hv)} \changes{v1.4b}{2010/11/16}{fixed bug with centered footnote (hv)} \changes{v1.4c}{2010/11/16}{fixed bug with missing macros for centered footer (hv)} \changes{v1.4d}{2010/12/03}{fixed misleading comment header of powerdot.cls (hv)} \changes{v1.4e}{2010/12/18}{fixed bugs with enumitem (hv)} \changes{v1.4f}{2011/04/01}{added paper size smartboard (hv)} \changes{v1.4g}{2011/04/25}{load enumitem version 2.2 and younger (hv)} \begin{document} %\let\Section\section\def\section*#1{\Section*{#1}\addcontentsline{toc}{section}{#1}} \title{\vspace*{-2cm}\mktitledecor Die \pf{powerdot}-Dokumentation \thanks{Diese Dokumentklasse kann heruntergeladen werden werden von den CTAN Spiegelservern: \texttt{/macros/latex/contrib/powerdot}. Sehen Sie in \texttt{powerdot.tex}, wenn Sie Installationsinformationen für das Einfügen von \pf{powerdot} in ihre \LaTeX -Distribution und zur Lizenz dieser Dokumentklasse benötigen.\newline Diese Dokumentation wurde angepasst von Herbert Vo\ss.}} \author{Hendri Adriaens\and Christopher Ellison\footnote{Die Übersetzung in die deutsche Sprache wurde von Lennart Petersen, Christiane Matthieu, Christoph K"ohler, Julia Babigian und Christine R"omer (Institut für Germanistische Sprachwissenschaft der Friedrich-Schiller-Universität Jena) 2009 vorgenommen, Die 2.\,"Ubersetzungsversion erstellte im November 2011 Christine Römer.} } \date{\fileversion\ (\filedate)} \maketitle \begin{abstract}\noindent \pf{Powerdot} ist eine Präsentationsklasse für \LaTeX , welche die schnelle und einfache Entwicklung von professionellen Präsentationen erlaubt. Sie enthält viele Möglichkeiten, die Präsentation zu verbessern und den Vortragenden zu unterstützten, beispielsweise automatische Overlays, das Einfügen persönlicher Anmerkungen und einen Handout-Modus. DVI, PS und PDF sind mögliche Ausgabeformate, um die Präsentation anzuzeigen. Ein leistungsstarkes Template-System erlaubt das einfache Entwickeln neuer Stile. Eine \LyX -Layoutdatei ist enthalten. \end{abstract} \begin{multicols}{2} [\section*{Inhalt} \setlength{\columnseprule}{.4pt} \setlength{\columnsep}{18pt}] \begin{small} \tableofcontents \end{small} \end{multicols} \newpage \section{Einführung}\label{sec:intro} Mithilfe dieser Klasse ist es möglich, professionell aussehende Folien herzustellen. Die Klasse wurde so entworfen, dass die Entwicklung von Präsentationen möglichst einfach gehalten ist, sodass man sich auf den eigentlichen Inhalt der Präsentation konzentrieren kann, anstatt sich mit technischen Details befassen zu müssen. Nichtsdestoweniger sind grundlegende \LaTeX\ -Kenntnisse für die Nutzung von Powerdot notwendig. Diese Klasse baut auf die \pf{prosper}-Klasse \cite{prosper} und das \pf{HA-prosper}-Paket \cite{HA-prosper} auf und erweitert diese. Das \pf{HA-prosper}-Paket war anfangs dafür gedacht, \pf{prosper} zu erweitern und einige Fehler und Probleme dieser Klasse zu korrigieren. Beim Voranschreiten der Entwicklung des \pf{HA-prosper}-Paketes bemerkte man, dass nicht alle Probleme auf diese Weise gelöst werden konnten. Diese Entdeckung war der Beginn eines neuen Projektes, aus dem eine neue Klasse hervorgehen sollte, welche die sonst nötige Kombination von \pf{prosper} und \pf{HA-prosper} ersetzen konnte. Die \pf{Powerdot}-Klasse ist das Ergebnis dieses Projektes. Der verbleibende Abschnitt dieses Kapitels sei nun einem Blick auf die Struktur einer \pf{Powerdot}präsentation und einem Überblick über die gesamte Dokumentation gewidmet. Der Aufbau einer Präsentation ist stets derselbe. Er ist im folgenden Beispiel nachvollziehbar. \begin{example} \documentclass[]{powerdot} \pdsetup{} \begin{document} \begin{slide}{a slide} Contents of the slide. \end{slide} \section{first section} \begin{slide}[]{another slide} Contents of the slide. \end{slide} \begin{note}{personal note} The note. \end{note} \end{document} \end{example} Einige dieser Elemente definieren die Struktur des Dokuments. Zuvorderst sind einige Optionen zum |\documentclass|-Befehl möglich, welche die Art der Ausgabe des Dokuments betreffen, beispielsweise das Papierformat. Diese Optionen werden in Abschnitt~\ref{sec:classopts} besprochen. Ferner gibt es Spezifikationsoptionen, die einige globale Elemente der Präsentation wie zum Beispiel Fußnoten kontrollieren. Sie werden in Abschnitt~\ref{sec:pdsetup} behandelt. Sind diese Entscheidungen getroffen, können die slide-Umgebung zum Erstellen von Folien (siehe Abschnitt~\ref{sec:slides}) und die note-Umgebung zum Erstellen von Anmerkungen, die mit den Folien angezeigt werden (siehe Abschnitt~\ref{sec:notes}), genutzt werden. Overlays ermöglichen, Inhalte nacheinander anzuzeigen, was in Abschnitt~\ref{sec:overlays} beschrieben wird. Der |\section|-Befehl dient der Strukturierung der Präsentation. Dieses wird in Abschnitt~\ref{sec:structure} dargestellt. Abschnitt~\ref{sec:styles} zeigt eine Übersicht über die Stile, die in dieser Klasse enthalten sind und deren Charakteristiken. Abschnitt~\ref{sec:compiling} behandelt die Möglichkeiten der Ausgabe und beinhaltet damit wichtige Informationen bezüglich der für \pf{Powerdot} benötigten Pakete. Abschnitt~\ref{sec:writestyle} ist am interessantesten für jene, die ihren eigenen Stil für \pf{powerdot} entwickeln oder einen bestehenden modifizieren wollen. Abschnitt~\ref{sec:lyx} erklärt, wie \LyX\ \cite{LyXWeb} genutzt werden kann, um \pf{Powerdot}präsentationen zu erstellen. Das Ende der Dokumentation schließlich (Abschnitt~\ref{sec:questions}) wurde einem Kapitel über Fragen wie "`Wo kann ich Beispiele finden?"' gewidmet und enthält ferner die Informationen, wohin man sich wenden kann, wenn die eigenen Fragen zu \pf{Powerdot} noch nicht gelöst sein sollten. \section{Das Erstellen einer Präsentation}\label{sec:setup} Dieser Abschnitt beschreibt die möglichen Optionen zur Kontrolle der Ausgabe der Präsentationen und dem Erscheinungsbild eben jener. \subsection{\texttt{documentclass}-Optionen}\label{sec:classopts} Begonnen wird mit den Optionen, die in den |\documentclass|-Befehl mittels einer durch Kommata separierten Liste eingefügt werden. Für jede Möglichkeit wird der Standardwert\footnote{Das ist der Wert, der als Standard genutzt wird, wenn nichts anderes explizit gewählt wird.} in der Beschreibung erwähnt. Das ist der Wert, der genutzt wird, wenn entschieden wurde, einer Option keinen Wert zu geben oder die Option gar nicht zu verwenden. \DescribeOption{mode} Diese Optionen bestimmen die Art der Ausgabe, die produziert werden soll. Der Standardwert ist |present|. \begin{description} \item\option{mode=present}\\ Dieser Modus wird dazu genutzt, die eigentliche Präsentation zu erstellen. Er aktiviert Overlays und Übergangseffekte. Auf Overlays wird in Abschnitt~\ref{sec:overlays} näher eingegangen. \item\option{mode=print}\\ Dieser Modus kann verwendet werden, um die Folien inklusive ihrer visuellen Aufmachung, aber ohne Overlays oder Übergangseffekte auszudrucken. \item\option{mode=handout}\\ Dieser Modus erstellt in Schwarzweiß einen Überblick über die Folien, der genutzt werden kann, um persönliche Notizen darauf zu verzeichnen, die Präsentation an Studenten auszugeben, sie als eigenen Leitfaden einzusetzen, etc. \begin{description} \item\DescribeOption{nohandoutpagebreaks}\option{nohandoutpagebreaks}\\ Standardmäßig gibt der \texttt{handout}-Modus Dokumente mit zwei Folien pro Seite aus. Wenn mehr Folien pro Seite platziert werden sollen, füge man diese Option in den |\documentclass|-Befehl ein und \pf{powerdot} wird es \LaTeX\ überlassen zu entscheiden, wann der Seitenumbruch stattfinden soll, meistens also, wenn eine Seite gefüllt ist. \item\DescribeOption{nohandoutframes}\option{nohandoutframes}\\ Im \texttt{handout}-Modus ist jede Folie standardmäßig in einem Rahmen. Diese Option stellt diese Rahmen aus. \end{description} \end{description} \DescribeOption{paper} Die Option \texttt{paper} hat drei mögliche Werte. Der Standardwert ist |screen|. \begin{description} \item\option{paper=screen}\\ Dies ist ein Spezialformat mit optimalem Bildschirmverhältnis (4/3). Die entsprechenden Seitenlängen sind 8.25 Inch zu 11 Inch (ungefähr 21cm zu 28cm). Dieses Papierformat ist für den \texttt{print}- oder \texttt{handout}-Modus nicht vorhanden. In diesen Modi wird \pf{powerdot} automatisch zur Größe DIN A4 wechseln und eine Warnung diesbezüglich in die Logdatei der Präsentation schreiben. \item\option{paper=a4paper}\\ Das Format DIN A4 wird für die Präsentation oder das Handout genutzt. \item\option{paper=letterpaper}\\ Das amerikanische \texttt{letter}-Papierformat wird genutzt. \item\option{paper=smartboard}\\ "`smartboard size"' (Großbild) wird genutzt. (\verb|papersize={900pt,1440pt}|). \end{description} Einige wichtige Informationen zum Papierformat, zum Kompilieren und dem Betrachten von Präsentationen finden sich im Abschnitt~\ref{sec:compiling}. \DescribeOption{orient} Die Option \texttt{orient} kontrolliert die Ausrichtung der Präsentation. Der Standardwert ist |landscape| (Querformat). \begin{description} \item\option{orient=landscape}\\ Die Präsentation erhält das Querformat. Dieser Wert ist im \texttt{handout}-Modus nicht verfügbar. Sollte er dennoch gewählt werden, wird ihn \pf{powerdot} zum Hochformat verändern und einen entsprechend warnenden Vermerk in die Logdatei schreiben. \item\option{orient=portrait}\\ Dies erstellt Folien im Hochformat. Es ist zu beachten, dass nicht alle Stile diese Ausrichtung unterstützen. In Abschnitt~\ref{sec:styles} sind diesbezüglich entsprechende Informationen für jeden Stil zu finden. \end{description} \DescribeOption{display} Die Option \texttt{display} beeinflusst die Produktion von Folien und Anmerkungen. Der Standardwert ist |slides|. \begin{description} \item\option{display=slides}\\ Dies wird nur die Folien in der Präsentation anzeigen. \item\option{display=slidesnotes}\\ Dies wird sowohl die Folien als auch die Anmerkungen in der Präsentation anzeigen. Mehr Informationen bezüglich der Anmerkungen enthält Abschnitt~\ref{sec:notes}. \item\option{display=notes}\\ Dies wird nur die Anmerkungen anzeigen. \end{description} Hier nun noch einige weitere Optionen, welche die Ausgabe beeinflussen. \begin{description} \item\DescribeOption{size}\option{size}\\ Dies ist die Schriftgröße von normalem Text in Punkten (points). Mögliche Werte sind 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt und 20pt. Der Standardwert ist 11pt.\footnote{Es sollte beachtet werden, dass von 10pt, 11pt und 12pt abweichende Schriftgrößen keine Standardvarianten sind und man für diese das \pf{extsizes}-Paket \cite{extsizes}, welches diese Größen beinhaltet, installieren muss.} \item\DescribeOption{style}\option{style}\\ Dies definiert den Stil, der für die Präsentation geladen werden soll. Standardmäßig wird der \pf{default}-Stil geladen. Mögliche Varianten sind im Abschnitt~\ref{sec:styles} zu finden. \item\DescribeOption{fleqn}\option{fleqn}\\ Diese Option setzt die Gleichungen linksbündig. Eben so, wie es die gleichnamige Option in der \texttt{article}-Klasse ebenfalls setzt. \item\DescribeOption{leqno}\option{leqno}\\ Nimmt Gleichungsnummern rechts. Die gleichen wie bei der article-Klasse. \item\DescribeOption{nopsheader}\option{nopsheader}\\ Standardmäßig schreibt \pf{powerdot} einen Postscriptbefehl in die PS-Datei, um sicherzugehen, dass die nachfolgenden Bearbeitungsprogramme, wie \texttt{ps2pdf}, wissen, welches Papierformat sie nutzen sollen, auch wenn keine explizite Spezifikation dazu in der Kommandozeile steht. Dazu ist Abschnitt~\ref{sec:compiling} zu beachten. Wenn Probleme mit den nachfolgenden Bearbeitungsprogrammen oder dem Ausdrucken auftreten, oder wenn man selbst das Papierformat in den nachfolgenden Bearbeitungsstufen definieren möchte, nutzt man diese Option. \item\DescribeOption{hlentries}\option{hlentries}\\ Dies hebt Einträge des Inhaltsverzeichnisses hervor, wenn der Eintrag mit der aktuellen Folie übereinstimmt. Der Standardwert ist \texttt{true}. Man beachte dazu auch Abschnitt~\ref{sec:structure}. Wenn keine solchen Hervorhebungen gewünscht werden (beispielsweise im \texttt{print}-Modus), nutzt man |hlentries=false|. \item\DescribeOption{hlsections}\option{hlsections}\\ Dies hebt die Abschnitte (sections) des Inhaltsverzeichnisses hervor, wenn diese mit den Abschnitten der laufenden Präsentation übereinstimmen. Der Standardwert ist \texttt{false}. Dazu ist ebenfalls Abschnitt~\ref{sec:structure} zu beachten. Eine Spezifikation dieser Option wendet die Hervorhebung der Abschnitte an. Dies kann hilfreich sein, wenn man einen Stil nutzt, der ein geteiltes Inhaltsverzeichnis enthält. \item\DescribeOption{pauseslide}\option{pauseslide}\\ Diese Option fügt eine leere Folie (normalerweise eine schwarze) auf der ersten Seite der Präsentation ein und wird ferner automatisch zur zweiten Seite wechseln, wenn die Präsentation in einem PDF-Viewer wie dem Acrobat Reader geöffnet wird. Ferner fügt diese Option einen Verweis bei jeder Folien- oder Abschnittsüberschrift ein, der zurück auf die leere Folie führt. Klickt man dann dagegen irgendwo auf die Pause-Folie, kommt man zurück zu jener Folie, auf der man sich zuvor befand. Diese Option kann dazu genutzt werden, bei einer Präsentation temporär zu pausieren, wenn man beispielsweise einen Beweis an der Tafel anführen möchte. Sie können auch eine andere Farbe als schwarz wählen, beispielsweise |pauseslide=white|. \item\DescribeOptions{clock}\option{clock}\\ Dies zeigt eine kleine Digitaluhr auf den Folien, die dafür genutzt werden kann, die Zeit während des Vortrages im Auge zu behalten. \end{description} Hier ist ein Beispiel für einen |\documentclass|-Befehl. \begin{example} \documentclass[ size=12pt, paper=screen, mode=present, display=slidesnotes, style=tycja, nohandoutpagebreaks, pauseslide, fleqn ]{powerdot} \end{example} Dieses Beispiel definiert eine Präsentation im \pf{tycja}-Stil, mit schwarzer Folie, einer Schriftgröße von 12 Punkten und linksbündigen Gleichungen. \begin{example} \documentclass[ size=12pt, paper=letterpaper, mode=handout, display=slidesnotes, style=tycja, nohandoutpagebreaks, pauseslide, fleqn ]{powerdot} \end{example} Mit dem Wechsel der |paper|- und |mode|-Optionen wird nun ein Handout mit mehr als zwei Folien pro Seite, ganz so, wie es die |nohandoutpagebreaks|-option definiert, ausgegeben. \subsection{Aufbau-Optionen}\label{sec:pdsetup} \DescribeMacro{\pdsetup} Es gibt einige Zusatzoptionen, die dabei helfen, eine Präsentation den eigenen Wünschen anzupassen. Diese Optionen sind allerdings nicht im |\documentclass|-Befehl enthalten, was technisch begründet ist.\footnote{Der interessierte Leser wende sich dazu an den Abschnitt bezüglich des \pf{xkvltxp}-Paketes in der \pf{xkeyval}-Dokumentation \cite{xkeyval}.} Wir unterscheiden zwei Arten von Optionen. Jene Optionen, die nur global, also die gesamte Präsentation betreffen, mittels des |\pdsetup|-Befehls definiert werden können und jene Optionen, die sowohl global (mittels |\pdsetup|) als auch lokal (mittels Folienumgebungen, mehr dazu in Abschnitt~\ref{sec:slides}) nutzbar sind. \subsubsection{Globale Optionen}\label{sec:gopts} Dieser Abschnitt beschreibt Optionen, die einzig global in der Präambel der Präsentation mittels des |\pdsetup|-Befehls genutzt werden können. \begin{description} \item\DescribeOption{palette}\option{palette}\\ Dies definiert die nutzbare Farbpalette. Eine Farbpalette ist eine Sammlung von Farben, die von einem Stil bereitgestellt wird. Abschnitt~\ref{sec:styles} erläutert genau, welche Stile welche Farbpaletten enthalten. \item\DescribeOption{theslide}\option{theslide}\\ Diese Option legt fest, wie die Foliennummern auf der Folie gesetzt werden. Der Standardwert ist |\arabic}\{slide\}~/~\pageref*{lastslide}|, was in einer Form wie |5/22| dargestellt wird. Man beachte, dass der Befehlszeilenabschnitt |\{arabic{slide}| die Nummer der gerade angezeigten Folie und der Befehlszeilenabschnitt |\pageref*{lastslide}| die Nummer der letzten Folie anzeigt.\footnote{Es wird \cs{pageref} mit Stern verwendet, was mittels \pf{hyperref} mit \pf{hyperref} definiert wird und so wird kein Verweis auf die Seite, auf die sich bezogen wird, erstellt.} \item\DescribeOption{thenote}\option{thenote}\\ Dies ist gleich dem |theslide|-Befehl, bezieht sich allerdings auf die Foliennummern der Anmerkungen. Der Standardwert ist\\ |note~\arabic{note}~of~slide~\arabic{slide}| und |\arabic{note}|, wobei hier die Nummer der aktuellen Anmerkung auf der aktuellen Folie gezeigt wird. Dies könnte beispielsweise so aussehen: |note 2 of slide 7|. \item\DescribeOption{counters}\option{counters}\\ Die |counters|-Option listet Zähler auf, die möglicherweise bei Overlays geschützt werden sollen; da Material von Overlays (sehen Sie dazu Kapitel~\ref{sec:overlays}) mehrfach verarbeitet wird, also auch \LaTeX-Zähler wie \texttt{equation}. Deshalb ist es möglich, dass zu hohe Zählungen entstehen. Um zu vermeiden, dass die Zähler bei verschiedenen Overlays unterschiedliche Nummern anzeigen, nutzt man diese Option. Die |equation|-, |table|-, |figure|-, |footnote|- und |mpfootnote|-Zähler sind bereits geschützt. Wenn man weitere Zähler benutzt, beispielsweise für Theoreme, sollte man diese mittels dieser Option auflisten. Zum Beispiel: \begin{example} counters={theorem,lemma} \end{example} \item\DescribeOption{list}\option{list}\\ Diese Option enthält eine ganze Liste von Optionen, die dem \pf{enumitem}-Paket angepasst sind, welches das Layout jener Listen, die mithilfe der |enumerate| und |itemize|-Umgebungen erzeugt werden, definiert. Ein Beispiel: \begin{example} list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} \end{example} Man beachte für mehr Informationen bezüglich des Layouts von Listen das \pf{enumitem}-Paket \cite{enumitem}. \item\DescribeOptions{enumerate,itemize}\option{enumerate,itemize}\\ So wie die |list|-Option, aber nur |enumerate|- und |itemize|-Umgebungen kontrollierend. \item\DescribeOption{clockformat}\option{clockformat}\\ Diese Option spezifiziert das Format der Uhr. Das Format wird mit der Acrobat-|util.printd|-Funktion gesetzt.\footnote{Eine komplette Liste der möglichen Formate findet man in \textit{Acrobat JavaScript Scripting Reference}\cite{javascript}.} Der Standardwert ist |HH:MM:ss|, der zeigt eine "`00-23 hour, 00-59 minute, 00-59 second clock"'. Ein Beispiel: \begin{example} clockformat=h:MM tt \end{example} Die obigen Einstellungen zeigen an der Uhr 1-12 Stunden, 00-59 Minuten, am/pm-Uhrzeit. Dies heißt, die Uhr könnte |5:53 Uhr pm| (p.m. "`nach dem Mittag") anzeigen. \item\DescribeOption{clockrefresh}\option{clockrefresh}\\ Diese Option aktualisiert die Uhr über eine Zahl, die angibt, wie oft in Millisekunden aktualisiert werden soll. Das Standardverhalten aktualisiert die Uhr jede Sekunde. Der Defaultwert ist 1000. Beachten Sie, wenn das |clockformat| ohne Sekundeneinstellung ist, dann macht es keinen Sinn, die Uhr jede Sekunde zu aktualisieren. Ein entsprechendes Beispiel: \begin{example} clockrefresh=60000 \end{example} Dies bedeutet, dass die Uhr jede Minute aktualisiert wird. \end{description} \subsubsection{Globale und lokale Optionen}\label{sec:glopts} Dieser Abschnitt beschreibt Optionen, die sowohl global mittels des |\pdsetup|-Befehls als auch lokal mittels Folienumgebungen (mehr dazu in Abschnitt~\ref{sec:slides}) definiert werden können. \begin{description} \item\DescribeOptions{lf,cf,rf}\option{lf,cf,rf}\\ Diese bestimmen den Inhalt der Fußzeile nach links, mittig oder rechts, die leer voreingestellt ist. \item\DescribeOption{trans}\option{trans}\\ Diese Option definiert, dass der Standardübergangseffekt für die Präsentation genutzt wird. Diese Übergangseffekte werden erst nach der Kompilierung der Präsentation ins PDF-Format angezeigt. Man beachte dazu auch Abschnitt~\ref{sec:compiling}. Die folgenden Übergangseffekte werden unterstützt: |Split|, |Blinds|, |Box|, |Wipe|, |Dissolve|, |Glitter| und |Replace|. Wenn mit einem PDF-Viewer gearbeitet wird, der PDF 1.5 anzeigen kann, sind ebenfalls |Fly|, |Push|, |Cover|, |Uncover| oder |Fade| nutzbar. Es ist wichtig zu beachten, dass die meisten PDF-Viewer technisch empfindlich sind, beispielsweise wird |box| nicht funktionieren. Der Standardeffekt ist |Replace|, welcher einzig eine Folie durch die nächste ersetzt, wenn sie angesehen werden. Man beachte, dass manche PDF-Viewer (wie der Acrobat Reader 5 oder höher) die Übergangseffekte nur im Vollbildmodus anzeigen. Wenn ein bisher nicht aufgeführter Übergangseffekt (beispielsweise ein Wischeffekt mit einer speziellen Bewegungsrichtung) genutzt werden soll, ist das durchaus möglich. \pf{powerdot} wird eine Warnung in die Logdatei schreiben, dass der ausgewählte Effekt möglicherweise nicht vom PDF-Viewer angezeigt werden wird. Hier ein Beispiel, das funktioniert: \begin{example} trans=Wipe /Di 0 \end{example} Der Acrobat Reader zeigt diesen Wischeffekt von links nach rechts, statt, wie es der Standard ist, von oben nach unten. Für weitere Informationen sei das PDF-Referenzhandbuch empfohlen. \item\DescribeOption{method}\option{method}\\ Diese Option kann dann genutzt werden, wenn die Präsentation spezielles Material enthält, das nicht in der "`üblichen Art"' von \LaTeX\ behandelt werden soll. Verbatim-Material kann beispielhaft angeführt werden. Mögliche Werte sind |direct| und |file|. Diese Optionen werden genauer im Abschnitt~\ref{sec:verbatim} erklärt. \item\DescribeOptions{logohook,logopos,logocmd}\option{logohook,logopos,logocmd}\\ Wenn |logopos| spezifiziert wurde, wird ein Logo vom |logocmd|-Wert definiert und auf jede Folie gesetzt. Die Position des Logos kann in relativen Werten abhängig von der Breite und Höhe der Folien gesetzt werden. |{0,0}| ist die untere linke Ecke des Papiers und |{\slidewidth,\slideheight}| ist die obere rechte Ecke. Für die Positionierung des Logos wird der |\rput|-Befehl von \pf{pstricks} \cite{PSTricksWeb,PSTricks} genutzt. Dieser Befehl erlaubt es ebenfalls, einen genauen Punkt als Logoposition zu definieren. Dieser Punkt kann mithilfe der |logohook|-Option eingetragen werden und die Werte |tl|, |t|, |tr|, |r|, |Br|, |br|, |b|, |bl|, |Bl|, |l|, |B| und |c| sind möglich. Weitere Informationen bezüglich des |\rput|-Befehls enthält die \pf{pstricks}-Dokumentation. Hier ist ein Beispiel, in dem die Blume des \pf{default}-Stiles in den \pf{husky}-Stil integriert wird. \begin{example} \documentclass[style=husky]{powerdot} \pdsetup{ logohook=t, logopos={.088\slidewidth,.99\slideheight}, logocmd={\includegraphics[height=.08\slideheight]{powerdot-default.ps}} } \begin{document} ... \end{document} \end{example} Der Standardwert von |logohook| ist |tl|. \end{description} Eine besondere Eigenschaft von \pf{powerdot}, mit deren Hilfe Präsentationen ein wenig Leben eingehaucht werden kann, ist die Nutzung von Zufallspunkten. Diese Punkte werden irgendwo auf den Folien gesetzt und nutzen die Farben der ausgewählten Farbpalette. Auch Overlays werden dieselben Punkte aufweisen. Diese Eigenschaft basiert auf |random.tex| \cite{random}. Verschiedenste Optionen sind möglich, um das Erscheinen der Zufallspunkte zu kontrollieren. \begin{description} \item\DescribeOption{randomdots}\option{randomdots}\\ Standardmäßig sind die Zufallspunkte ausgeschaltet. Sie werden dann generiert, wenn diese Option mit dem Wert |true| versehen wird, während der Wert |false| sie wiederum ausschaltet. Wenn kein expliziter Wert zu dieser Option gesetzt ist, wird |true| angenommen. \item\DescribeOptions{dmindots,dmaxdots}\option{dmindots,dmaxdots}\\ Die Anzahl der Punkte pro Folie ist ebenfalls zufällig. Diese Optionen legen die minimale und maximale Anzahl Punkte pro Folie fest. Die Standardwerte sind |5| bzw. |40|. \item\DescribeOptions{dminsize,dmaxsize}\option{dminsize,dmaxsize}\\ Dies ist der minimale und maximale Radius der Punkte. Standardwerte sind |5pt| bzw. |40pt|. \item\DescribeOptions{dminwidth,dmaxwidth,dminheight,dmaxheight} \option{dminwidth,dmaxwidth,dminheight,dmaxheight}\\ Diese Optionen bestimmen das Areal auf der Folie, in dem die Zufallspunkte erscheinen sollen. Der Standardwert dieser Option definiert, dass die Punkte überall auf der Folie erscheinen können, aber das ist variabel, beispielsweise so, dass die Punkte nur noch im Textfeld vorkommen. Die Standardwerte sind |0pt|, |\slidewidth|, |0pt|, |\slideheight|. Hier ein Beispiel, das Punkte in einem kleineren Rechteck auf der Folie erlaubt. \begin{example} \pdsetup{ dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth, dminheight=.2\slideheight,dmaxheight=.8\slideheight } \end{example} \item\DescribeOption{dbright}\option{dbright}\\ Diese Option dient der Helligkeitseinstellung der Punkte. Der Wert sollte eine Zahl zwischen -100 und 100 sein. Wenn die Zahl negativ ist, wird die Farbe zu Schwarz abgedunkelt, wobei -100 Schwarz ergibt. Ist die Zahl dagegen positiv, wird die Farbe zu Weiß aufgehellt, wobei wiederum 100 Weiß ergibt. Ist der Folienhintergrund hell, nutzt man eher einen positiven Wert der Option |bright|, ist er dagegen dunkel, sollte man sich wohl für einen negativen Wert entscheiden. Der Standardwert ist |60|, was eine Mischung aus 40\% der Originalfarbe und 60\% Weiß ergibt. \item\DescribeOption{dprop}\option{dprop}\\ Mithilfe dieser Option können zusätzliche Parameter zum |\psdot|-Befehl hinzugefügt werden, welcher die Zufallspunkte erstellt. Beispielsweise der Stil oder die Linienstärke der Punkte sind so veränderbar. Für weitere Informationen bezüglich des \slash{psdot}-Befehls sei auf die \pf{pstricks}-Dokumentation \cite{PSTricksWeb,PSTricks} verwiesen. \pf{powerdot} enthält zwei zusätzliche Stile, die für Zufallspunkte eingesetzt werden können. Diese sind |ocircle| (offener Kreis) und |osquare| (offenes Quadrat). \end{description} Hier sind zwei Beispiele für den Gebrauch von Zufallspunkten. \begin{example} \pdsetup{ randomdots,dminwidth=.2\slidewidth } \end{example} Dieses Beispiel beinhaltet Zufallspunkte, verhindert aber, dass die linken 20\% der Folie von ihnen genutzt wird. \begin{example} \pdsetup{ randomdots,dprop={dotstyle=ocircle,linewidth=.5pt}, dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5 } \end{example} Dieses Beispiel setzt höchstens fünf große Kreise auf die Folie. Diese Kreise sind zu groß, um vollständig auf der Folie angezeigt werden zu können, weswegen man nur Teile von ihnen als Kurven sehen wird. \subsubsection{\cs{pdsetup}-Beispiel} Hier ein Beispiel für einen |pdsetup|-Befehl, mit dem man eine Präsentation beginnen könnte. \begin{example} \pdsetup{ lf=My first presentation, rf=For some conference, trans=Wipe, theslide=\arabic{slide}, randomdots,dmaxdots=80 } \end{example} Dies setzt die linke und rechte Fußzeile und initialisiert den |Wipe|-Übergangseffekt. Ferner beinhaltet die Foliennummerierung nicht die Nummer der letzten Folie, sondern einzig jene der aktuellen. Und schließlich werden die Folien mit bis zu 80 Zufallspunkten bedeckt sein. Hier ist eine kurze Anmerkung bezüglich des Erscheinens von Fußzeilen nötig. Die Foliennummer (definiert von der |theslide|-Option) wird in einer Fußzeile angezeigt werden. Die meisten Stile setzen sie in die rechte Fußzeile. Wenn Fußzeile und Foliennummer nicht leer sind, wird |~--~| zwischen sie eingefügt werden, um sie voneinander abzutrennen. Einige Stile modifizieren womöglich diese Standardvorgehensweise. \section{Das Erstellen von Folien}\label{sec:slides} \subsection{Die Titelfolie}\label{sec:titleslide} \DescribeMacro{\title} \DescribeMacro{\author} \DescribeMacro{\and} \DescribeMacro{\date} \DescribeMacro{\maketitle} Die Titelfolie wird mittels des |\maketitle|-Befehls erstellt. \begin{command} `\cs{maketitle}\oarg{options}' \end{command} Dieser Befehl nutzt dieselben Werte wie das \LaTeX -Standarddokument. Das optionale Argument <\texttt{options}> kann jede Option des Abschnittes~\ref{sec:glopts} enthalten. Das Einfügen einer solchen Option in den |\maketitle|-Befehl betrifft nur die Titelfolie und keine andere. Man beachte das untere Beispiel. \begin{example} \documentclass{powerdot} \title{Title} \author{You \and me} \date{October 7, 2010} \begin{document} \maketitle ... \end{document} \end{example} Die |author|-, |title|- und |date|-Angaben definieren den beim Erstellen der Titelfolie zu nutzenden Text. Die Gestaltung der Titelseite wird durch den ausgesuchten Stil bestimmt. Man beachte den Gebrauch des |\and|-Befehls, um mehrere Autoren aufzuführen. Weitere Informationen bezüglich der Befehle wie |\title| und |\author| sind im \LaTeX -Handbuch \cite{companion} enthalten. . \subsection{Andere Folien}\label{sec:otherslides} \DescribeEnv{slide} Das Herzstück jeder Präsentation sind die Folien. Bei \pf{Powerdot} wird der Inhalt jeder Folie innerhalb einer |slide|-Umgebung definiert. \begin{command} `\cs{begin}\texttt{\{slide\}}\oarg{options}\marg{slide title}' `\meta{body}' `\cs{end}\texttt{\{slide\}}' \end{command} Im Abschnitt~\ref{sec:overlays} werden wir sehen, wie man die Folien etwas lebendiger gestalten kann. Bleiben wir jetzt aber erst einmal bei einem simplen Beispiel. \begin{example} \begin{slide}{First slide} Hello World. \end{slide} \end{example} Die Folienumgebung hat ein notwendiges Argument, nämlich den Folientitel. Sobald eine Folie erstellt wird, wird der Folientitel dafür genutzt, einen Eintrag ins Inhaltsverzeichnis und in die Lesezeichenliste einzufügen. Das Inhaltsverzeichnis ist eine Liste der Folien- und Abschnitttitel der Präsentation, die auf jeder Folie erscheint. Die aufgeführten Titel des Inhaltsverzeichnisses sind mit deren Folien und Abschnitten verlinkt (sofern die Präsentation ins PDF-Format kompiliert wurde) und bieten somit eine praktische Hilfe, um innerhalb der Präsentation rasch zwischen benötigten Folien zu wechseln. Die Lesezeichenliste erscheint erst, wenn die Kompilierung ins PDF-Format abgeschlossen ist. Sie dient ebenfalls als eine Art Inhaltsverzeichnis, erscheint allerdings auf \textit{keiner} der Folien, sondern in einem zusätzlichen Fenster im PDF-Viewer. Im obigen Beispiel werden die Einträge im Inhaltsverzeichnis wie in der Lesezeichenliste beide als |First slide| geführt. Die \meta{options} für die |slide|-Umgebung können jene Optionen enthalten, die im Abschnitt~\ref{sec:glopts} aufgeführt werden. Zusätzlich können folgende Optionen benutzt werden. \begin{description} \item\DescribeOption{toc}\option{toc}\\ Wenn definiert, wird dieser Wert für den Eintrag ins Inhaltsverzeichnis genutzt; ansonsten wird dazu der Folientitel herangezogen. Wenn |toc=| definiert ist, wird kein Eintrag erstellt. \item\DescribeOption{bm}\option{bm}\\ Falls definiert, wird dieser Wert für den Eintrag in die Lesezeichenliste genutzt; ansonsten wird dazu der Folientitel herangezogen. Wenn |bm=| definiert ist, wird kein Eintrag erstellt. \end{description} Diese optionalen Argumente sind besonders nützlich, wenn der Folientitel sehr lang ist oder wenn er \LaTeX\ -Befehle enthält, die in den Lesezeichen nicht korrekt angezeigt werden würden.\footnote{Der Prozess, der die Lesezeichen setzt, nutzt \cs{pdfstringdef} vom \pf{hyperref}-Paket und kann mit akzentuierten Zeichen wie \cs{"i}.} Beim Erstellen der Einträge sollte darauf geachtet werden, spezielle Zeichen wie `|,|' und `|=|' zwischen den geschweiften Klammern `|{|' and `|}|' zu verstecken. Werfen wir einen Blick auf das Beispiel, das diese optionalen Argumente nutzt. \begin{example} \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$} My slide contents. \end{slide} \end{example} In diesem Beispiel wird der Folientitel als {\color{red}\LaTeX, $i^2=-1$} erscheinen. Dieser Text wird nicht korrekt als Lesezeichen angezeigt werden. Es wurde also ein Versuch unternommen, dieses zu korrigieren, aber oftmals ergibt dies nicht denselben Text. Der genannte Titel würde als Lesezeichen folgendermaßen angezeigt werden: |redLaTeX, i2=-1|. Auf der anderen Seite wird der manuell erstellte Lesezeicheneintrag so angezeigt: |LaTeX, i*i=-1|. Man beachte, dass kein Eintrag im Inhaltsverzeichnis vorgenommen werden wird, da der Wert |toc=|. Zusätzlich zur |slide|-Umgebung kann jeder individuelle Stil seine eigenen Umgebungen definieren. Viele Stile haben eine |wideslide|-Umgebung. Dahinter steht die Idee, dass gewisser Inhalt aus Platzgründen schlecht oder überhaupt nicht mit dem Inhaltsverzeichnis zusammen auf einer Folie realisiert werden kann. In diesem Fall ist es von Vorteil, eine Folie zu nutzen, die das Inhaltsverzeichnis nicht aufführt. Die |wideslide|-Umgebung enthält diese Funktion und bietet so mehr Platz für den eigentlichen Folieninhalt. Abschnitt~\ref{sec:styles} enthält mehr Informationen bezüglich der unterschiedlichen Umgebungen der einzelnen Stile. \section{Overlays}\label{sec:overlays} Oft möchte man nicht, dass alle Informationen auf einer Folie gleichzeitig erscheinen, sondern vielmehr, dass eine nach der anderen auftaucht. Bei \pf{powerdot} wird das mittels Overlays realisiert. Jede einzelne Folie kann viele Overlays enthalten, wobei die Overlays eines nach dem anderen ausgegeben werden. \subsection{Der \cs{pause}-Befehl}\label{sec:pause} \DescribeMacro{\pause} Der|\pause|-Befehl ist die einfachste Möglichkeit, Informationen aufeinanderfolgend auszugeben. \begin{command} `\cs{pause}\oarg{number}' \end{command} Hier ein simples Beispiel: \begin{example} \begin{slide}{Simple overlay} power\pause dot \end{slide} \end{example} Der Informationstext auf einer Folie wird nur bis zum Befehl |\pause| ausgegeben, es erscheint also nichts anderes auf der Folie als dieses bestimmte Stück Text, solange nicht ein Klick mit der Maus erfolgt oder eine Taste gedrückt wird. Erst dann wird der weitere Inhalt der Folie ausgegeben, entweder bis diese keine weiteren Informationen mehr enthält oder bis zum nächsten |\pause|-Befehl innerhalb derselben Folie. In diesem Beispiel erscheint |power| mit dem ersten und |powerdot| mit dem zweiten Overlay. Der |\pause|-Befehl wird oft innerhalb von |itemize|- und |enumerate|-Umgebungen gebraucht, zum Beispiel: \begin{example} \begin{slide}{Multiple pauses} power\pause dot \pause \begin{itemize} \item Let me pause\ldots \pause \item \ldots while I talk \pause and chew bubble gum. \pause \item Perhaps you'll be persuaded. \item Perhaps not. \end{itemize} \end{slide} \end{example} Indem |\pause| vor der |itemize|-Umgebung verwendet wurde, erscheint kein Stichpunkt vor dem dritten Overlay. Danach wird ein Stichpunkt nach dem anderen ausgegeben, wobei jeder sein eigenes Overlay hat. Mehr Informationen bezüglich der Verwendung von Listen folgen im nächsten Abschnitt. Ein optionales Argument (in eckigen Klammern) des |\pause|-Befehls spezifiziert die Nummer der Overlays, die als Pause fungieren. Ein Verwendungsbeispiel ist: \begin{example} \begin{slide}{Pause longer} \begin{itemize} \item A \pause \item B \pause[2] \item C \end{itemize} \end{slide} \end{example} Bei diesem Beispiel erscheint Stichpunkt |C| mit dem vierten Overlay. Die Nützlichkeit dieser Möglichkeit wird im nächsten Abschnitt deutlicher, entsprechend werden wir dann noch mal ein ähnliches Beispiel betrachten. \subsection{Listenumgebungen}\label{sec:lists} Die Listenumgebungen |itemize| und |enumerate| werden bei \pf{powerdot} in besonderer Weise behandelt. Sie haben ein optionales Argument, das im \pf{enumitem}-Paket enthalten ist (siehe \cite{enumitem}). \pf{powerdot} liefert eine extra Verschlüsselung für dieses optionale Argument. In den folgenden Beispielen wird die |itemize|-Umgebung zur Auflistung der einzelnen Punkte verwendet, mit der |enumerate|-Umgebung funktioniert es aber genauso. Hier ein Beispiel für den üblichen Gebrauch der |itemize|-Umgebung: \begin{example} \begin{slide}{Basic itemize} \begin{itemize} \item A \pause \item B \pause \item C \end{itemize} \end{slide} \end{example} Die Ausgabe erfolgt, indem einfach mit jedem Overlay ein Stichpunkt nach dem anderen erscheint. \DescribeOption{type} Angenommen, wir wollten, dass alle Stichpunkte einer Folie zeitgleich auftauchen, dabei aber nur einer davon zum entsprechenden Zeitpunkt `aktiv' sein soll. Das wird realisiert mittels der |type|-Option für die |itemize|-Umgebung. Der vorgegebene Wert ist |0|. \begin{example} \begin{slide}{Type 1 itemize} \begin{itemize}[type=1] \item A \pause \item B \pause \item C \end{itemize} \end{slide} \end{example} Jetzt wird jeder Stichpunkt in der \emph{inaktiven Farbe}\index{inaktive Farbgebung} (die durch den verwendeten \pf{powerdot}-Stil festgelegt ist) ausgegeben. Mit dem Overlay, mit dem ein Stichpunkt normalerweise erst erscheinen würde, bekommt dieser seine eigentliche Farbe und wird darüber aktiv. Das Standardverhalten ist mit |type=0| gegeben. Es ist immer noch möglich, optionale Argumente in \pf{enumitem} über das zweite optionale Argument zu geben. \begin{example} \begin{slide}{Type 1 itemize} \begin{enumerate}[type=1][label=\romani*)] \item A \pause \item B \pause \item C \end{enumerate} \end{slide} \end{example} Achten Sie darauf, dass dies immer das zweite optionale Argument ist! Es ist möglich, das erste leer zu lassen, dies ist nur für \pf{powerdot} gültig.. Listen können auch ineinander gestapelt sein, um so kompliziertere Strukturen zu schaffen. Wenn eine Liste eingebettet ist in eine andere, enthält sie die |type|-Option der `Mutter'-Liste. Das kann aber aufgehoben werden, indem |type|-Option beim optionalen Argument der eingebetteten Liste genauer definiert wird. Unser Beispiel zeigt nur ein mögliches, mittels gestapelter Listen produziertes Konstrukt, es können jedoch auch Konstrukte anderer Art und auf andere Weise gestaltet werden. \begin{example} \begin{slide}{Nested lists} \begin{itemize} \item A\pause \begin{itemize}[type=1] \item B\pause \end{itemize} \item C \end{itemize} \end{slide} \end{example} Hier werden |A| und |B| mit dem ersten Overlay ausgegeben, aber |B| ist inaktiv. Erst mit dem zweiten Overlay wird |B| aktiv, mit Overlay 3 wird |C| sichtbar. \subsection{Der \cs{item}-Befehl} \DescribeMacro{\item} Der |\item|-Befehl hat bei \pf{powerdot} noch ein extra Argument (\emph{optional}), das eine flexiblere Produktion von Overlays erlaubt als der |\pause|-Befehl. \begin{command} `\cs{item}\oarg{label}\larg{overlays}' \end{command} Mit diesem optionalen Argument kann man spezifizieren, mit welchem Overlay ein bestimmter Stichpunkt ausgegeben wird. Diese Spezifikation ist eine durch ein Komma separierte Liste, wo jeder Stichpunkt die in Tabelle \ref{tab:item} angegebenen Notationen nutzen kann. \begin{table}[htb]\centering \begin{tabular}{d} Syntax&Bedeutung\\\hline \texttt{x}&Nur Overlay \texttt{x}\\ \texttt{-x}&Alle Overlays bis zu und eingeschlossen \texttt{x}\\ \texttt{x-}&Alle Overlays von \texttt{x}, eingeschlossen \texttt{x}\\ \texttt{x-y}&Alle Overlays von \texttt{x} zu \texttt{y}, eingeschlossen \texttt{x} und \texttt{y}\\ \end{tabular} \caption{\cs{item} und \cs{onslide}-Notation}\label{tab:item} \end{table} Das \meta{label}-Argument ist für das optionale Argument des |\item|-Befehls in \LaTeX. Das \LaTeX -Handbuch \cite{companion} enthält noch mehr Informationen bezüglich dieses Arguments. Hier ein Beispiel: \begin{example} \begin{slide}{Active itemize} \begin{itemize}[type=1] \item<1> A \item<2> B \item<3> C \end{itemize} \end{slide} \end{example} Wie oben besprochen, sollte |A| nur bei der Überblendung 1, |B| nur bei Overlay 2 und |C| nur bei Overlay 3 aktiv sein, im inaktiven Status sollten die jeweiligen Stichpunkte wegen |type=1| in der inaktiven Farbe erscheinen. Wenn die |type=0|-Option definiert ist und wenn jedem Stichpunkt eine Überblendungsoption gegeben wurde, erscheint jeder Stichpunkt nur, wenn er aktiv ist. Ist er inaktiv, wird er nicht auf der Folie angezeigt. Weitere Beispiele, die die Syntax für \meta{overlays} demonstrieren, werden im nächsten Abschnitt diskutiert. \subsection{The \cs{onslide}-Befehl}\label{sec:onslide} \DescribeMacro{\onslide} Overlays können auch unter Verwendung des |\onslide|-Befehls geschaffen werden. \begin{command} `\cs{onslide}\marg{overlays}\marg{text}' \end{command} Der Befehl benötigt eine \meta{overlays}-Spezifizierung als erstes Argument und den \meta{text}, der auf der Folie erscheinen soll, als zweites Argument. Die \meta{overlays}, auf denen der Text erscheinen wird, werden genauer definiert als eine durch ein Komma separierte Aufzählung mit der in Tabelle \ref{tab:item} dargestellten Syntax. Wir beginnen mit einem einfachen Beispiel: \begin{example} \begin{slide}{Simple onslide} \onslide{1,2}{power}\onslide{2}{dot} \end{slide} \end{example} Wir haben eingerichtet, dass |power| mit den Overlays 1 und 2 erscheint, |dot| nur mit Overlay 2. Wie bereits vermutet wird bei diesem Beispiel das Gleiche ausgegeben wie bei dem ersten |\pause|-Beispiel. Trotzdem ist es ein klarer Fall, dass ihre Syntax komplizierter ist. Diese Slight "`Komplikation"' gestattet auch mehr Flexibilität. \DescribeMacro{\onslide+} Betrachten wir das gleiche Beispiel mit den folgenden Modifikationen: \begin{example} \begin{slide}{Simple onslide+} \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\ \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot} \end{slide} \end{example} Der |\onslide+|-Befehl gibt seinen Inhalt in völlig anderer Art und Weise aus. Jetzt erscheint |dot| mit jedem Overlay, allerdings wird es außer bei Overlay 2 \textit{nur} in seiner inaktiven Farbe\index{inaktive Farbgebung} ausgegeben. Das ist vergleichbar mit dem \texttt{type=1}-Verhalten für die Listen (siehe Abschnitt~\ref{sec:lists}). Wenn wir dieses Beispiel ausführen, werden wir zudem feststellen, dass der\\ |\onslide|-Befehl zunächst Material verbirgt, und doch die richtige Menge an Platz dafür reserviert. Bei Overlay 2 erscheinen die |dot|s alle übereinander. Der nächste Befehl reserviert keinen Platz. \DescribeMacro{\onslide*} Statt bestimmtes Material zu verbergen und Platz dafür zu reservieren (|\onslide|) oder \meta{text} außer beim entsprechenden Overlay (\meta{overlays})in der inaktiven Farbe auszugeben (|\onslide+|), gibt dieser Befehl das Material einfach ohne jede weitere Formatierung aus. Betrachten wir folgendes Beispiel, um den Unterschied zu verstehen: \begin{example} \begin{slide}{Simple onslide*} \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\ \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot}\\ \texttt{onslide*}: \onslide*{1}{power}\onslide*{2}{dot} \end{slide} \end{example} Wir sind bereits vertraut mit der Ausgabe der ersten zwei Zeilen. Die dritte Zeile gibt |power| mit Overlay 1 und |dot| mit Overlay 2 aus, allerdings ist bei Overlay 2 kein Platz für |power| reserviert. Stattdessen wird |dot| an der gleichen Position des Cursors beginnen, bei der |power| mit dem ersten Overlay ausgegeben wurde, und es ist auch nicht in einer Linie unter den anderen |dot|s angeordnet. Abschließend betrachten wir ein Syntax-Beispiel, das sowohl mit |\item| als auch mit |\onslide| möglich ist. Noch mal zur Erinnerung: Diese Befehle benötigen eine durch ein Komma separierte Aufzählung für die genauere Definition des \meta{overlay}-Arguments. Dabei kann jedes Element die in \mbox{Tabelle~\ref{tab:item}} beschriebene Syntax nutzen. Die verschiedenen Varianten sind in folgendem Beispiel demonstriert: \begin{example} \begin{slide}{Lists} \onslide{10}{on overlay 10 only}\par \onslide{-5}{on every overlay before and including overlay 5}\par \onslide{5-}{on every overlay after and including overlay 5}\par \onslide{2-5}{on overlays 2 through 5, inclusive}\par \onslide{-3,5-7,9-}{on every overlay except overlays 4 and 8} \end{slide} \end{example} \subsection{Relative Overlays} Manchmal ist es sehr lästig, im Auge zu behalten, wann ein Stichpunkt auftauchen beziehungsweise aktiv werden soll, zum Beispiel, wenn man möchte, dass ein bestimmter Text auf dem entsprechenden Overlay \textit{nach} einem speziellen Stichpunkt erscheinen soll. Abhilfe dafür leisten relative Overlays, die allerdings nicht außerhalb von |\item|-Listenumgebungen verwendet werden sollten. Betrachten wir ein einfaches, einleuchtendes Beispiel: \begin{example} \begin{slide}{Relative overlays} \begin{itemize} \item A \pause \item B \onslide{+1}{(visible 1 overlay after B)}\pause \item C \onslide{+2-}{(appears 2 overlays after C, visible until the end)} \pause \item D \onslide{+1-6}{(appears 1 overlay after D, visible until overlay 6)} \pause \item E \pause \item F \pause \item G \onslide{+1-+3}{(appears 1 overlay after G for 3 overlays)}\pause \item H \pause \item I \pause \item J \pause \item K \End{itemize} \end{slide} \end{example} Wie zu sehen ist, wird auch hier der |\onslide|-Befehl genutzt, die einzige Veränderung der Syntax ist die Auflistung der Overlays. Dadurch kann ein `|+|'-Zeichen in der Liste genauer definiert werden. In der simpelsten Verwendung wird durch den |\onslide{+1}|-Befehl der entsprechende Text ein Overlay nach demjenigen ausgegeben, auf dem er \textit{eigentlich} erschienen wäre. Nach wie vor kann die in Tabelle \ref{tab:item} dargestellte Syntax verwendet werden, demonstriert im oben stehenden Beispiel. |\onslide{+1-6}| bewirkt ebenfalls, dass der entsprechende Text ein Overlay nach demjenigen ausgegeben wird, auf dem er eigentlich erschienen wäre, und dass schon ausgegebene Textpassagen bis Overlay 7 gezeigt bleiben. In der letzten Demonstration des oben stehenden Beispiels wird gezeigt, wie man den Text einer ganzen Reihe von relativen Overlays erscheinen lassen kann. \section{Präsentationsstrukturen}\label{sec:structure} \subsection{Kapitel herstellen}\label{sec:section} \DescribeMacro{\section} Dieser Abschnitt beschreibt den |\section|-Befehl, der die Möglichkeit eröffnet, eine Präsentation zu strukturieren. \begin{command} `\cs{section}\oarg{options}\marg{section title}' \end{command} Dieser Befehl produziert eine Folie mit dem Abschnittstitel \meta{section title} und nutzt außerdem den eingesetzten Text für die Repräsentation des entsprechenden Abschnitts in einem Inhaltsverzeichnis und der Lesezeichenliste. Es gibt Möglichkeiten \meta{options}, um die Ausgabe zu kontrollieren. \DescribeOption{tocsection} Diese Option kontrolliert die Repräsentation eines Abschnittes im Inhaltsverzeichnis. Der vorgegebene Wert ist |true|. \begin{description} \item\option{tocsection=true}\\ So wird ein Abschnitt im Inhaltsverzeichnis geschaffen. Das bedeutet, dass alle nun folgenden Folien unter diesem Gliederungspunkt erscheinen, bis ein neuer eingefügt wird. \item\option{tocsection=false}\\ Auf diese Art und Weise wird kein Abschnitt im Inhaltsverzeichnis geschaffen, somit wird dieser als normale Folie eingeordnet und aufgeführt. \item\option{tocsection=hidden}\\ So wird ein Abschnitt im Inhaltsverzeichnis hergestellt, aber er ist nur sichtbar, wenn man eine Folie ansieht, die zu diesem Abschnitt gehört. Diese Funktion könnte verwendet werden, um einen zu diskutierenden Abschnitt an die Präsentation anzuhängen, der aber nur dann gebraucht und entsprechend gezeigt wird, wenn noch genügend Zeit für diese Diskussion ist. \end{description} \DescribeOption{slide} Diese Option bestimmt, ob der |\section|-Befehl eine Folie schafft. Der vorgegebene Wert ist |true|. \begin{description} \item\option{slide=true}\\ Eine Folie wird erzeugt. \item\option{slide=false}\\ Es wird keine Folie hergestellt. Wenn auch |tocsection| |false| hat, bewirkt der |\section|-Befehl gar nichts. Wenn ein Inhaltsverzeichnisabschnitt hergestellt wird (|tocsection=| |true| oder |hidden|), der Abschnitt aber selbst keine eigene Folie hat, verweist seine Verknüpfung auf die erste Folie unter diesem Abschnitt. \end{description} \DescribeOption{template} Diese Option kann verwendet werden, um eine Abschnittsfolie mit einer anderen Schablone zu erstellen. Im Defaultfall wird eine normale |slide|-Umgebung genutzt, um eine Abschnittsfolie herzustellen, aber wenn ein Stil andere Schablonen bietet, die für einen bestimmten Zweck genutzt werden könnten (zum Beispiel die |wideslide|-Umgebung), dann ermöglicht diese Option die Nutzung der entsprechenden Schablone. Abschnitt ~\ref{sec:styles} gibt einen Überblick über die verschiedenen Stile und deren verfügbaren Schablonen. Letztendlich können alle für normale Folien verfügbare Optionen auch für Folien verwendet werden, die mit dem |\section|-Befehl erstellt worden sind (siehe Abschnitt ~\ref{sec:slides}). Wenn ein Abschnitt mit der |tocsection|-Option erstellt wird, entfernen |toc=| oder |bm=| das einleitende Inhaltsverzeichnis oder das entsprechende Lesezeichen nicht. \subsection{Das Erstellen einer Übersicht}\label{sec:tableofcontents} \DescribeMacro{\tableofcontents} Dieser Befehl erstellt eine Übersicht (Gliederung) für Präsentationen und kann nur für Folien genutzt werden. \begin{command} `\cs{tableofcontents}\oarg{options}' \end{command} Es gibt diverse Befehle \meta{options}, um die Ausgabe dieses Befehls zu kontrollieren. \DescribeOption{type} Diese Option bestimmt, ob gewisses Material (abhängig von der Eingabe für die |content|-Option weiter unten) versteckt oder in der inaktiven Farbe\index{inaktive Farbgebung} ausgegeben wird. Der vorgegebene Wert ist |0|. Sie ist vergleichbar mit der \texttt{type}-Option für Listenumgebungen (Abschnitt~\ref{sec:lists}). \begin{description} \item\option{type=0}\\ Wenn Material nicht dem gefragten Typ (bei der |content|-Option spezifiziert) entspricht, wird es verborgen. \item\option{type=1}\\ Wie |type=0|, nur dass das Material nicht versteckt, sondern in der inaktiven Farbe ausgegeben wird. \end{description} \DescribeOption{content} Die |content|-Option kontrolliert, welche Elemente in den Überblick aufgenommen werden. Der vorgegebene Wert ist |all|. Die unten stehende Beschreibung setzt die |type=0| voraus, es ist aber kein Problem, den alternativen Text für |type=1| daraus zu folgern. \begin{description} \item\option{content=all}\\ So wird der vollständige Überblick einer Präsentation ausgeben, einschließlich aller Abschnitte und der Folien, die nicht in Abschnitten versteckt sind (siehe Abschnitt~\ref{sec:section}). \item\option{content=sections}\\ So werden nur die Abschnitte in der Präsentation ausgegeben. \item\option{content=currentsection}\\ So wird nur der aktuelle Abschnitt ausgegeben. \item\option{content=future}\\ So wird der gesamte Inhalt, beginnend bei der aktuellen Folie, ausgegeben. \item\option{content=futuresections}\\ So werden alle Abschnitte, beginnend beim aktuellen Abschnitt, ausgegeben. \end{description} Diesen Abschnitt beendet ein kleines Beispiel, das demonstriert, wie man eine Präsentation entwickelt, die einen allgemeinen Überblick der Abschnitte in der Präsentation enthält, eine grundsätzliche Idee des Inhalts und für jeden Abschnitt eine detaillierte Übersicht über seine einzelnen Folien liefert. \begin{example} \begin{slide}[toc=,bm=]{Overview} \tableofcontents[content=sections] \end{slide} \section{First section} \begin{slide}[toc=,bm=]{Overview of the first section} \tableofcontents[content=currentsection,type=1] \end{slide} \begin{slide}{Some slide} \end{slide} \section{Second section} ... \end{example} \section{Sonstiges} \subsection{Anmerkungen}\label{sec:notes} \DescribeEnv{note} Die |note|-Umgebung kann verwendet werden, um persönliche Anmerkungen in den eigentlichen Folientext einzugliedern. Die Ausgabe der Anmerkungen kann mittels der |display|-Option kontrolliert werden (siehe Abschnitt~\ref{sec:classopts}). Hier ist ein Beispiel: \begin{example} \begin{slide}{Chewing gum} ... \end{slide} \begin{note}{Reminder for chewing gum} Don't forget to mention that chewing gum is sticky. \end{note} \end{example} \subsection{Leere Folien}\label{sec:emptyslides} \DescribeEnv{emptyslide} Die |emptyslide|Umgebung stellt eine völlig leere Folie her. Die Textbox auf der Folie könnte für spezielle Dinge verwendet werden, wie zum Beispiel die Ausgabe von Fotos. Diese Funktion erlaubt also auch das Erstellen und Wiedergeben einer Diashow. Zum Beispiel: \begin{example} \begin{emptyslide}{} \centering \vspace{\stretch{1}} \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps} \vspace{\stretch{1}} \end{emptyslide} \end{example} Der |\includegraphics|-Befehl wird durch das \pf{graphicx}-Paket \cite{graphics} definiert. Der \\ |\stretch|-Befehl wird verwendet, um das Bild vertikal zu zentrieren. Beide Befehle sind in Ihrem Lieblings-\LaTeX -Handbuch beschrieben, zum Beispiel \cite{companion}. Man kann zudem die Längen |\slideheight| und |\slidewidth| nutzen, um das Bild maßstabsgetreu der Folie anzupassen. \subsection{Die Bibliographiefolie}\label{sec:bib} \DescribeEnv{thebibliography} \pf{powerdot} benennt die standardisierte \pf{article}-|thebibliography|--Umgebung um, damit die Erstellung einer Abschnittsüberschrift und fortlaufender Kopfzeilen unterdrückt wird. Alle anderen Bestandteile wurden beibehalten. Jeweils eines der folgenden Beispiele können Sie verwenden (abhängig davon, ob Sie BiB\TeX\ nutzen oder nicht): \\ \begin{minipage}[t]{.49\linewidth} \begin{example} \begin{slide}{Slide} \cite{someone} \end{slide} \begin{slide}{References} \begin{thebibliography}{1} \bibitem{someone} Article of someone. \end{thebibliography} \end{slide} \end{example} \end{minipage}\hfill \begin{minipage}[t]{.49\linewidth} \begin{example} \begin{slide}{Slide} \cite{someone} \end{slide} \begin{slide}{References} \bibliographystyle{plain} \bibliography{YourBib} \end{slide} \end{example} \end{minipage} Für den Fall längerer Bibliographien, die auf mehrere Folien verteilt werden sollen, empfiehlt sich die Verwendung der Pakete \pf{natbib} und \pf{bibentry} \cite{natbib}. Das erlaubt Folgendes: \begin{example} \begin{slide}{References (1)} \bibliographystyle{plain} \nobibliography{YourBib} \bibentry{someone1} \bibentry{someone2} \end{slide} \begin{slide}{References (2)} \bibentry{someone3} \end{slide} \end{example} Werfen Sie einen Blick in Ihr Lieblings-\LaTeX -Handbuch für weitere Informationen zum Zitieren und zu Bibliographien. \subsection{Wortwörtliche Wiedergabe auf Folien}\label{sec:verbatim}\DescribeOption{verbatim} \pf{powerdot} hat drei verschiedene Methoden, Folien aufzubereiten, von denen zwei hauptsächlich entwickelt wurden, um das Einbeziehen wortwörtlichen Inhalts\footnote{Und anderer Inhalt, der bei der Verarbeitung \texttt{catcode}-Veränderungen benötigt wird.} auf Folien einfacher zu gestalten. Diese Methoden können beim |method|-Schlüssel abgerufen werden, der in Folienumgebungen und dem |\pdsetup|-verfügbar ist (siehe Abschnitt~\ref{sec:glopts}). \begin{description} \item\option{method=normal}\\ Dies ist die vorgegebene Methode der Aufbereitung von Folien. Sie ist schnell und erlaubt die Verwendung von Overlays, nicht aber die wortwörtliche Wiedergabe.\footnote{Außer wenn es in einer Box außerhalb der Folie gesichert wurde.} \item\option{method=direct}\\ Diese Methode ist auch schnell, aber sie erlaubt nicht die Verwendung von Overlays. Overlays werden unauffällig außer Gefecht gesetzt. Allerdings ermöglicht diese Methode wortwörtlichen Inhalt auf Folien. \item\option{method=file}\\ Diese Methode nutzt einen provisorischen Ordner, um den Folienkörper zu exportieren und wieder einzulesen. Damit erlaubt sie die Verwendung von Overlays und wortwörtlichen Inhalt, aber sie ist mitunter langsamer, wenn viele Folien mit dieser Methode aufbereitet werden, da das Ordnersystem dann intensiv genutzt ist. \end{description} Hier ist ein Beispiel, dass die Nutzung aller drei Folienaufbereitungsmethoden demonstriert: \begin{example} \documentclass{powerdot} \usepackage{listings} \lstnewenvironment{code}{ \lstset{frame=single,escapeinside=`', backgroundcolor=\color{yellow!20}, basicstyle=\footnotesize\ttfamily} }{} \begin{document} \begin{slide}{Slide 1} Normal \pause content. \end{slide} \begin{slide}[method=direct]{Slide 2} Steps 1 and 2: \begin{code} compute a;`\pause' compute b; \end{code} \end{slide} \begin{slide}[method=file]{Slide 3} Steps 1 and 2: \begin{code} compute a;`\pause' compute b; \end{code} \end{slide} \end{document} \end{example} Die erste Folie zeigt das Standardverhalten für normalen Inhalt, sie produziert zwei Overlays. Trotz der Verwendung des |\pause|-Befehls erstellt die zweite Folie keine Overlays. Dieser Befehl wurde untauglich gemacht mit der Wahl für die |direct|Methode, um wortwörtlichen Inhalt aufzubereiten. Die dritte Folie hat das gleiche Aussehen wie die zweite, aber jetzt werden zwei Overlays produziert, weil die Methode, die einen provisorischen Ordner nutzt, verwendet wurde. |\pause| wurde hier innerhalb der Auflistung gebraucht, der Befehl kann aber genauso außerhalb von Listenumgebungen benutzt werden. \subsection{Der \cs{twocolumn}-Befehl}\label{sec:twocolumn} \DescribeMacro{\twocolumn} Das |\twocolumn|-Makro erlaubt, den Inhalt auf zwei Spalten aufzuteilen. \begin{command} `\cs{twocolumn}\oarg{options}\marg{left}\marg{right}' \end{command} Es wird links \meta{left} und rechts \meta{right}, also in zwei Spalten gesetzt. Die Abmessungen dieser Spalten können mit Optionen \meta{options} kontrolliert werden. Hier die verfügbaren Optionen: \begin{description} \item\DescribeOption{lineheight}\option{lineheight}\\ Wenn |lineheight| spezifiziert wird, erscheint durch |\psline| eine Linie von bestimmter Höhe zwischen den Spalten. Beispiel: |lineheight=6cm|. \item\DescribeOption{lineprop}\option{lineprop}\\ Mit jeder \pf{pstricks}-Angabe können die Linienproportionen näher bestimmt werden. Beispiel: \begin{example} lineprop={linestyle=dotted,linewidth=3pt} \end{example} \item\DescribeOptions{lfrheight,lfrprop}\option{lfrheight,lfrprop}\\ Ersteres schafft einen Rahmen von bestimmter Höhe um die linke Spalte, Zweiteres ist wie |lineprop|, aber für den linken Rahmen. \item\DescribeOptions{rfrheight,rfrprop}\option{rfrheight,rfrprop}\\ Genau wie |lfrheight| und |lfrprop|, allerdings für den rechten Rahmen. \item\DescribeOptions{lcolwidth,rcolwidth}\option{lcolwidth,rcolwidth}\\ Die Breite von linker und rechter Spalte. Beide sind vorgegeben mit |0.47\linewidth|. \item\DescribeOption{frsep}\option{frsep}\\ Platz zwischen Text und Rahmen, vorgegeben mit |1.5mm|. \item\DescribeOption{colsep}\option{colsep}\\ Platz zwischen den beiden Spalten, vorgegeben mit |0.06\linewidth|. \item\DescribeOption{topsep}\option{topsep}\\ Der extra Platz (zusätzlich zu |\baselineskip|) zwischen dem Text über den Spalten und dem Text in den Spalten, vorgegebener Wert: |0cm|. \item\DescribeOption{bottomsep}\option{bottomsep}\\ Der extra Platz zwischen dem Text in den Spalten und dem Text darunter, vorgegebener Wert: |0cm|. \item\DescribeOption{indent}\option{indent}\\ Horizontaler Zeileneinzug links zur linken Spalte, vorgegebener Wert: |0cm|. \end{description} Die oben beschriebenen Abmessungen sind in Abbildung \ref{fig:twocolumndim} graphisch dargestellt. \begin{footnotesize} \begin{figure}[htb] \centering \begin{pspicture}(0,.5)(13,10.5) \psline(0,0.5)(0,10) \rput[tl](.05,9.95){Top} \psframe[dimen=middle](1,9)(7,2) \psline{C-C}(8.5,9)(11,9) \psline{C-C}(8.5,2)(8.5,9) \psline{C-C}(8.5,2)(11,2) \qdisk(1.7,8.3){.1cm} \psset{linestyle=dashed} \psline{C-C}(1.7,8.3)(6.3,8.3) \psline{C-C}(1.7,8.3)(1.7,3) \psline{C-C}(6.3,5)(6.3,8.3) \psline{C-C}(11,9)(12,9) \psline{C-C}(11,2)(12,2) \psline{C-C}(11,7)(12,7) \psline{C-C}(9.2,8.3)(12,8.3) \psline{C-C}(9.2,8.3)(9.2,3) \rput[tl](1.75,8.25){Left column text} \rput[tl](9.25,8.25){Right column text} \rput[tl](.05,1){Bottom} \psset{linestyle=dotted,dotsep=2pt} \psline(0,8.3)(1.7,8.3) \psline(0,9.6)(1,9.6) \psline(0,2)(1,2) \psline(0,1.1)(1,1.1) \psset{linestyle=solid} \psline{<->}(.2,8.33)(.2,9.57) \psline{<->}(4,8.33)(4,8.97) \psline{<->}(1.73,7)(6.27,7) \psline{<->}(1.03,6.5)(1.67,6.5) \psline{<->}(0.03,5.5)(1.67,5.5) \psline{<->}(6.33,7.4)(9.17,7.4) \psline{<->}(8.53,6.5)(9.17,6.5) \psline{<->}(6.33,6.5)(6.97,6.5) \psline{<->}(10.7,8.33)(10.7,8.97) \psline{<->}(7.3,8.97)(7.3,2.03) \psline{<->}(.2,1.13)(.2,1.97) \psline{->}(1.7,9.3)(1.7,8.45) \psline{<-}(9.23,7)(11,7) \cput(4,6.6){\small 1} \cput(11.1,6.6){\small 2} \cput(8,7){\small 3} \cput(7.7,3){\small 4} \cput(4.4,8.65){\small 5} \cput(1.35,6.1){\small 5} \cput(8.85,6.1){\small 5} \cput(11.1,8.65){\small 5} \cput(6.65,6.1){\small 5} \cput(0.6,8.95){\small 6} \cput(0.6,5.1){\small 7} \cput(0.6,1.55){\small 8} \cput(1.7,9.6){\small 9} \end{pspicture} \begin{tabular}{c p{4cm}cl} \multicolumn{4}{c}{Bedeutung der Labels}\\\hline 1&|lcolwidth|&5&|frsep|\\ 2&|rcolwidth|&6&|topsep|\\ 3&|colsep|&7&|indent|\\ 4&|lfrheight|, |rfrheight|,&8&|bottomsep|\\ &|lineheight|&9&Referenzpunkt \end{tabular} \caption{Zwei-Kolumnen-Dimensionen}\label{fig:twocolumndim} \end{figure} \end{footnotesize} Es ist wichtig zu bemerken ist, dass das |\twocolumn|-Makro die aktuelle Cursor-Position als Bezugspunkt für die erste Zeile des Textes der linken Spalte nutzt (siehe auch Figur \ref{fig:twocolumndim}). Das heißt, dass der optionale Rahmen bis zum Text der vorausgehenden Zeile ausgedehnt werden kann. Man kann in diesem Fall beispielsweise |topsep=0.3cm| angeben, um extra Platz zwischen diesen beiden Textzeilen zu schaffen. Der vorgegebene |topsep|-Wert basiert darauf, dass sich kein Text unmittelbar über den Spalten befindet. In diesem Fall lokalisiert man am besten den Ort der ersten Textzeile der linken Spalte am gleichen Punkt, bei dem ein gewisser Text nicht durch den |\twocolumn|-Befehl auf anderen Folien erstellt wird. Die |topsep=0cm|-Einstellung bewirkt genau das. Durch die Kombination von |topsep| und |indent| lässt sich dieses Verhalten und die Position der ersten Textzeile der linken Spalte beliebig ändern. Das |\twocolumn|-Makro errechnet die Größe der Konstruktion, um den Text darunter korrekt zu positionieren. Die Berechnung ist fertig, wenn für |lfrheight|, \\ |rfrheight|, |lineheight| (falls genauer bestimmt) das Maximum festgesetzt wird. So werden die rechte und linke Spalte stimmig ausgegeben. Wenn weder Rahmen noch Linien eingefügt werden, setzt |bottomsep| den horizontalen Platz zwischen der untersten Textzeile der Spalten und dem Text unter den Spalten (zusätzlich zu |\baselineskip|). Hier ein Beispiel: \begin{example} \begin{slide}{Two columns} Here are two columns. \twocolumn[ lfrprop={linestyle=dotted,linewidth=3pt}, lfrheight=4cm,rfrheight=5cm,lineheight=3cm,topsep=0.3cm ]{left}{right} Those were two columns. \end{slide} \end{example} Hier könnte die Verwendung der \pf{xkeyval}-Befehle |\savevalue| und |\usevalue| \index{savevalue=\verb!*+\savevalue+|usage} \index{usevalue=\verb!*+\usevalue+|usage} nützlich sein, zum Beispiel wenn man die Eigenschaften des linken Rahmens für den rechten kopieren will. So vermeidet man nicht nur eine überflüssige zweite Typisierung, sondern auch Fehler zu machen, die in unterschiedlich großen Rahmen resultieren würden. Betrachten wir das unten stehende Beispiel: \begin{example} \twocolumn[ \savevalue{lfrheight}=3cm, \savevalue{lfrprop}={ linestyle=dotted,framearc=.2,linewidth=3pt}, rfrheight=\usevalue{lfrheight}, rfrprop=\usevalue{lfrprop} ]{left}{right} \end{example} Ziehen Sie die \pf{xkeyval}-Dokumentation \cite{xkeyval} zu Rate, um mehr über die |\savevalue|- und |\usevalue|-Befehle zu erfahren. \section{Zur Verfügung stehende Stile}\label{sec:styles} \pf{powerdot} enthält eine Zahl von Stilen, welche im nachfolgenden Überblick aufgeführt sind. Die Charakteristik jedes Stils ist kurz beschrieben und von einem Beispiel einer Titelfolie und einer normalen Folie begleitet. Stile, die auf der |wideslide|-Umgebung beruhen, haben ein Inhaltsverzeichnis auf dem linken Rand im Querformat (landscape) und am unteren Rand im Hochformat (portrait) der Folien. Das Hochformat wird unterstützt, sofern es nicht anders angelegt wird. \begin{description} \item\pf{default}\\ Dieser Standard-Stil bietet sechs verschiedene Layouts. Jedes wird von einer Blume in der linken, oberen Ecke dekoriert. Das \texttt{blaue} Layout des default-Stils hat als Hauptfarben hellblau, blau und weiß, wie im Beispiel unterhalb. Andere verfügbare Layouts sind \texttt{red}, \texttt{green}, \texttt{yellow}, \texttt{brown} and \texttt{purple}.\\ \styleexample{default} \newpage \item\pf{simple}\\ Dies ist ein einfacher Stil in schwarz und weiß. Er könnte für Folien nützlich sein, die ausgedruckt werden sollen.\\ \styleexample{simple} \item\pf{tycja}\\ Dieser Stil zeigt sich in gelben und dunkelblauen Schattierungen. Im Querformat ist das Inhaltsverzeichnis auf der rechten Seite und im Hochformat am unteren Rand der Folien.\\ \styleexample{tycja} \item\pf{ikeda}\\ In diesem Stil zeigen sich die Folien in dunklen Schattierungen von Rot und Blau und dazu in heller Textfarbe. Zudem wird ein schmuckvolles Muster auf der Folie verwendet.\\ \styleexample{ikeda} \item\pf{fyma}\\ Dieser Stil wurde von Laurent Jaques für \pf{prosper} entworfen und darauf basierend, entwickelte er eine Version für \pf{HA-prosper} mit zusätzlichen Eigenschaften. Mit freundlicher Genehmigung wurde der Stil von Shun'ichi J. Amano konvertiert, um ihn auch für \pf{powerdot} verfügbar zu machen. Das Layout \texttt{blue} hat ein elegantes Design mit einem Verlauf aus hellblau und weiß als Hintergrund (siehe Beispiel). Weitere Layouts sind \texttt{green}, \texttt{gray}, \texttt{brown} und \texttt{orange}. Außerdem gibt es spezielle Schablonen für Bereiche auf Folien und breite Folien.\\ \styleexample{fyma} \item\pf{ciment}\\ Entworfen von Mathieu Goutelle für \pf{prosper} und \pf{HA-prosper} ist auch dieser Stil dank freundlicher Genehmigung umgewandelt worden und somit für \pf{powerdot} verfügbar. Der Stil hat einen mit hellgrauen Linien, horizontal schraffierten Hintergrund. Inhaltsverzeichnis und Überschriften sind mit einem dunklen Rot hervor gehoben.\\ \styleexample{ciment} \item\pf{elcolors}\\ Dieser Stil benutzt helle Farbnuancen der Grundfarben rot, blau und gelb.\\ \styleexample{elcolors} \item\pf{aggie}\\ Jack Stalnaker entwarf diesen Stil für \pf{HA-prosper}und hat ihn dann für \pf{powerdot} konvertiert. Verwendet wird dunkles Rot und ein helles Braun.\\ \styleexample{aggie} \newpage \item\pf{husky}\\ Auch dieser Stil stammt von Jack Stalnaker und zeigt eine markante rote Schrift vor einem sonnenartigen, hellgrauen Hintergrund.\\ \styleexample{husky} \item\pf{sailor}\\ Dieser Stil wurde von Mael Hill\'ereau beigetragen und bietet fünf verschiedene Layouts: \texttt{Sea} (the default), \texttt{River}, \texttt{Wine}, \texttt{Chocolate} und \texttt{Cocktail}. Abgebildet ist ein Beispiel des Layouts \texttt{Sea}.\\ \styleexample{sailor} \item\pf{upen}\\ Ein tiefes Blau als Hintergrund und gelber Text zeichnen diesen Stil aus. Er stammt von Piskala Upendran.\\ \styleexample{upen} \item\pf{bframe}\\ Der \pf{bframe} Stil ist ebenfalls von Piskala Upendran und hat blaue, abgerundete Boxen in welche der weiße Text eingefügt wird.\\ \styleexample{bframe} \newpage \item\pf{horatio}\\ Der Stil \pf{horatio} wurde von Michael Lundholm beigesteuert und ist eher zurückhaltend, in blauer und weißer Farbgebung.\\ \styleexample{horatio} \item\pf{paintings}\\ Dies ist ein einfacherer Stil ohne Inhaltsverzeichnis. Er wurde von Thomas Koepsell entworfen und ermöglicht 10 verschiedene Layouts. Die dabei jeweils verwendeten Farben lehnen sich an berühmte Gemälde an.\footnote{Der Stil benutzt einen Farbton, \texttt{pdcolor7}, welcher nicht in den Layouts verwendet wird, aber dennoch wie die anderen Farben von entsprechenden Gemälden stammt. Der Farbton kann beispielsweise benutzt werden, um einen Text hervor zu heben.} Welche Gemälde als Vorlage dienten, kann man in der Stildatei, der den Stil definierenden Datei nachlesen. Die zum Stil verfügbaren Layouts lauten: \texttt{Syndics} (Standard-Layout), \texttt{Skater}, \texttt{GoldenGate}, \texttt{Lamentation}, \texttt{HolyWood}, \texttt{Europa}, \texttt{Moitessier}, \texttt{MayThird}, \texttt{PearlEarring} und \texttt{Charon}. Hier ist ein Beispiel in \texttt{Syndics}.\\ \styleexample{paintings} \item\pf{klope}\\ Der Stil \pf{klope} führt ein horizontales Inhaltsverzeichnis aus, das nur die als \texttt{section} deklarierten Gliederungspunkte auflistet. Folgende Layouts stehen zur Verfügung: \texttt{Spring}, \texttt{PastelFlower}, \texttt{BlueWater} und \texttt{BlackWhite}. Das Layout \texttt{Spring}, welches hier als Beispiel dient, entspricht dem Standard-Layout.\\ \styleexample{klope} \newpage \item\pf{jefka}\\ Dieser Stil bietet vier Layouts: \texttt{brown} (Standard), \texttt{seagreen}, \texttt{blue} und \texttt{white}. Die Beispielfolien entsprechen dem Layout \texttt{brown}.\\ \styleexample{jefka} \item\pf{pazik}\\ Dieser Stil ist in zwei Layouts verwendbar: \texttt{brown} und auch \texttt{red}, wie in der Beispielabbildung.\\ \styleexample{pazik} \end{description} \section{Kompilieren der Präsentation}\label{sec:compiling} \subsection{Abhängigkeiten}\label{sec:dependencies} In der Tabelle \ref{tab:dependencies} ist eine Liste von Dateipaketen aufgeführt, die \pf{powerdot} verwendet, um spezifische Aufgaben auszuführen. Abhängigkeiten der jeweiligen Pakete sind in dieser Tabelle jedoch nicht mit aufgeführt. In der Tabelle meint `required' (erforderlich), dass das verwendete Paket \emph{mindestens} so aktuell sein sollte, wie die gelistete Version und `tested' (getestet) meint, dass \pf{powerdot} mit dieser Paketversion getestet wurde, aber es auch mit älteren oder neueren als der gelisteten Version funktionieren könnte. Tritt bei der Programmumwandlung ein Fehler auf, empfiehlt es sich, zur Behebung als erstes die Anforderungen an die benötigten Paketversionen zu prüfen. Um zu erfahren, welche Version eines Pakets aktuell verwendet wird, hilft es den Befehl |\listfiles| in die erste Zeile des \LaTeX Quelltextes zu setzen, die |.log| Datei zu öffnen und die Dateiliste zu lesen (siehe \LaTeX -Handbuch für mehr Informationen). Nötige Paket-Updates zur Aktualisierung sind bei CTAN \cite{CTAN} erhältlich. \begin{table}[htb] \centering \begin{tabular}{e} Package/file & Version & Date & Required/tested\\\hline \pf{xkeyval} \cite{xkeyval} & 2.5c & 2005/07/10 & required\\ \texttt{pstricks.sty} \cite{PSTricksWeb,PSTricks} & 0.2l & 2004/05/12 & required\\ \pf{xcolor} \cite{xcolor} & 1.11 & 2004/05/09 & required\\ \pf{enumitem} \cite{enumitem} & 1.0 & 2004/07/19 & required\\ \pf{article} class & 1.4f & 2004/02/16 & tested\\ \pf{geometry} \cite{geometry} & 5.x & 2010/10/07 & tested\\ \pf{hyperref} \cite{hyperref} & 6.74m & 2003/11/30 & tested\\ \pf{graphicx} \cite{graphics} & 1.0f & 1999/02/16 & tested\\ \pf{verbatim} & 1.5q & 2003/08/22 & tested \end{tabular} \caption{Abhängigkeiten}\label{tab:dependencies} \end{table} \subsection{Erzeugen und Ansehen der Output-Datei}\label{sec:creation} Um die Präsentation zu kompilieren, muss die Datei mit \LaTeX\ laufen. Die DVI, die produziert wird, kann mit dem DVI-Viewer YAP\footnote{Mit Ausnahme der Verwendung von \pf{pstricks-add}, welches das DVI-Koordinatensystem verfälscht.} von MiK\TeX\ angezeigt werden. Leider werden von xdvi und kdvi (kile) nicht alle PostScript-Besonderheiten unterstützt. Daher werden diese die Präsentation inkorrekt anzeigen. Falls der verwendete DVI-Viewer dies jedoch dennoch unterstützt, sollte sicher gestellt werden, dass die DVI-Anzeigeeinstellungen den Einstellungen der Präsentation angepasst sind. Im Falle der Verwendung von |screen|-Format sollte in den DVI-Anzeigeeinstellungen das \texttt{letter}- bzw. Dokumentformat gewählt werden. Falls der DVI-Viewer Benutzereinstellungen für das Seitenformat zulässt, ist die Einstellung von 21 mal 28 cm zu verwenden. Es sei darauf hingewiesen, dass bestimmte Projekte, die mit PostScript- oder PDF-Programmen erstellt wurden, mit dem DVI-Viewer nicht kompatibel sind. Beispielsweise werden im Gegensatz zur PostScript-Ausgabe nicht alle Elemente angezeigt (wie bei |\pause|, siehe Kapitel~\ref{sec:overlays}) oder es gibt fehlende Verlinkungen im Inhaltsverzeichnis. Wenn man ein PostScript-Dokument erzeugen möchte, startet man die DVI mit dvips \emph{ohne eine Einstellung bezüglich des Formats oder der Seitengröße}. \pf{powerdot} wird dann die nötige Information in der DVI-Datei ergänzen, dvips und ps2pdf (ghostscript) hilft, ein angemessenes Dokument zu erzeugen. Sollte dies aus bestimmten Gründen nicht funktionieren oder man möchte das Seitenformat selbst spezifizieren, sollte man die Option |nopsheader| verwenden, welche im Abschnitt ~\ref{sec:setup} beschrieben wird. Das PostScript-Dokument könnte schließlich dazu dienen, mit Unterstützung des |psnup|-Hilfsprogramms mehrere Folien auf eine Seite zu bringen. Um eine PDF-Datei für eine Präsentation zu erstellen, kompiliert man die mit dvips erstellte PS-Datei mit ps2pdf zum PDF-Dokument. Auch hier \emph{muss keine Angabe für Format oder Seitengröße angegeben werden}. Treten dabei Probleme auf, ist wieder die Option |nopsheader| hilfreich, um selber Formateinstellungen vornehmen zu können. \section{Einen eigenen Folienstil erstellen}\label{sec:writestyle} \subsection{Generelle Informationen} Es ist nicht schwierig, \pf{powerdot}-Stilvorlagen zu bearbeiten oder selbst zu erstellen. Wenn man einen Stil modifizieren oder einen neuen entwerfen will, muss man zunächst die Datei im \TeX -Baum finden, die als Basis verwendet werden soll. Diese Stildatei ist mit |powerdot-.sty| zu benennen\footnote{Die \LaTeX\ Public Project License fordert die Umbenennung von modifizierten Dateien. Siehe auch \url{http://www.latex-project.org/lppl}.}, auch um Namenskonflikte zu umgehen. Der neu benannte Stil muss dann in dem lokalen \TeX -System ergänzt werden, um ihn verwenden zu können (für mehr Informationen siehe die \LaTeX -Distribution). Nachdem dies beachtet wurde, kann der neue Stil entworfen werden. Dazu ist es äußerst hilfreich, die Stildateien zu studieren (bspw. |powerdot-default.sty|) und den Rest dieses Kapitels zu lesen, er bietet gute Beispiele zum Text. Ein Stil hat verschiedene Komponenten, welche nun beschrieben werden sollen. \newpage \begin{description} \item\textbf{Identifikation und Pakete}\\ So identifiziert das Paket im Protokoll der Präsentation und lädt alle benötigten Pakete. Der Standardstil \pf{default} beinhaltet so etwas wie: \begin{example} \NeedsTeXFormat{LaTeX2e}[1995/12/01] \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)] \RequirePackage{pifont} \end{example} Mehr Informationen über diese Befehle findet man im \LaTeX -Handbuch \cite{companion}. \item\textbf{Layouts oder Farbwahl}\\ Dieser Abschnitt enthält die Definition der Layouts der Paletten oder Farben, die in einem Stil verwendet werden. \pf{powerdot} verwendet \pf{xcolor} (über \pf{pstricks}). Daher eignet sich für mehr Informationen zu Farben die \pf{xcolor}-Dokumentation. Genauere Ausführungen über Layouts finden Sie zudem im Kapitel~\ref{sec:defpals}. \item\textbf{Definition von Templates}\\ Hiermit beschäftigen sich die Kapitel~\ref{sec:deftemps} bis~\ref{sec:defbg}. \item\textbf{Benutzereinstellungen}\\ Alles was Teil des Stils sein soll, kann hier eingeschlossen sein. Der \pf{default}-Stil beinhaltet beispielsweise die Definition für die Symbole in Listen, wie |itemize|, sowie einige Bereitstellungen für Listen generell (umgesetzt mit |\pdsetup|, siehe Kapitel~\ref{sec:pdsetup}). In diesem Teil der *.sty-Datei können also Benutzereinstellungen vorgenommen werden, wie in Kapitel~\ref{sec:specialtemps} weiter beschrieben wird. \item\textbf{Bereitstellung der Schriftart}\\ Dies setzt das Schriftdesign fest, welches durch Laden von Paketen umgesetzt werden kann, wie beispielsweise \pf{helvet}. \end{description} \subsection{Paletten definieren}\label{sec:defpals} Die ausdrückliche Definition von Mustervorlagen wird in Kapitel~\ref{sec:deftemps} thematisiert. Hier sei zunächst nur verdeutlicht, dass die Vorlage die Schablone für den Stil einer Folie ist und somit ihr formales Design ausmacht. Paletten hingegen sind Farbgruppen, in denen ein Stil ausgeführt werden kann. Eine Palette ändert demnach nicht das gesamte Design eines Musters. \DescribeMacro{\pddefinepalettes} Der folgende Befehl dient der Definition von Paletten für einen eigenen Stil. \begin{command} `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots' \end{command} Dieses Makro (ein Programmcodeteil) funktioniert mit \emph{jeder} geraden Zahl obligatorischer Argumente von mindestens zwei. Für jeden Namen \meta{name} eines Layouts ist eine Gruppe von Befehlen \meta{commands} zur Definition möglich. Diese Befehle können die Farben mit Namen wie |pdcolor1|, |pdcolor2|, etcetera definieren. Diese Farben können beim Entwerfen eines Musters verwendet werden (sehen Sie Kapitel~\ref{sec:deftemps}). |pdcolor1| entspricht dabei der Textfarbe. Der Benutzer kann auf diese Paletten mit dem |palette|-Schlüssel im |\pdsetup|-Befehl zugreifen (sehen Sie Kapitel~\ref{sec:pdsetup}). Wenn der Nutzer keine Palette spezifiziert, wird die erste definierte Palette beim Kompilieren genutzt. Hier nun ein Beispiel zur Definition von zwei Paletten. \begin{example} \pddefinepalettes{reds}{ \definecolor{pdcolor1}{rgb}{1,0,0} \definecolor{pdcolor2}{rgb}{1,.1,0} \definecolor{pdcolor3}{rgb}{1,.2,0} }{greens}{ \definecolor{pdcolor1}{rgb}{0,1,0} \definecolor{pdcolor2}{rgb}{.1,1,0} \definecolor{pdcolor3}{rgb}{.2,1,0} } \end{example} In diesem Beispiel dient die |red|-Palette die Standardfarbgebung für den Stil. Mehr Informationen über |\definecolor| konsultieren Sie die Dokumentation zum \pf{xcolor}-Paket \cite{xcolor}. Die Verwendung der Farbennamen |pdcolor2|, |pdcolor3| etcetera ist nicht zwingend nötig. Diese Farben sind jedoch definiert. \pf{powerdot} verwendet \texttt{random dots} (zufällige Punkte) (sehen Sie Kapitel~\ref{sec:glopts}). Die Flexibilität ermöglicht weitere Festlegungen für Vorlagen von Folien und deren Farbpaletten. Ein Beispiel, wie die Möglichkeiten weiter auszuschöpfen sind, bietet ein Einblick in den Stil \pf{klope}. \subsection{Definition von Vorlagen}\label{sec:deftemps} Wir beginnen mit einer Definition von Vorlage (Tamplate). Die Vorlage umfasst eine Gruppe von Festlegungen für Elemente der Folie als auch Festlegungen des Benutzers, welche den visuellen Charakter der Präsentation bestimmen. Ein Stil kann mehrere Formelemente enthalten. \begin{command} `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}' \end{command} \DescribeMacro{\pddefinetemplate} Dies definiert die Umgebung \meta{name}, welche eine Vorlage, bestimmt durch die Charakteristika \meta{basis}, \meta{options} und \meta{commands}. Diese Elemente werden in den nächsten Kapiteln genauer erläutert. Sollen verschiedene Vorlagen erstellt werden, die sich nur gering voneinander unterscheiden, lohnt es, eine \meta{basis}-Schablone zu definieren, von welcher aus die anderen Varianten erstellt werden. Alle \meta{options} und \meta{commands} für die neue Vorlage \meta{name} werden der bestehenden Liste von \meta{options} und \meta{commands} der \meta{basis}-Schablone angefügt. Die Vorlage sollte mit \emph{einem passenden Namen} benannt, die Neubenennung bestehender Schablonen oder Umgebungen jedoch vermieden werden. \pf{powerdot} definiert |pauseslide|, |note| und |emptyslide| intern, wobei eine Verwendung dieser Namen in der Regel vermieden werden sollte. Außerdem besteht jeder Designstil aus den Vorlagen |slide| und |titleslide|. Die |titleslide|-Umgebung wird im Standardfall dazu verwendet, die Titelfolie zu erzeugen, während |slide| (standardmäßig) für Unterkapitel verwendet wird. Titel und Unterkapitel benutzen die \meta{options} auf besondere Weise, was detaillierter in Kapitel~\ref{sec:specialtemps} erläutert ist. \subsection{Überwachung des Setup} \DescribeOption{ifsetup} Nachfolgend sind die \meta{options} (Schlüssel bzw. Parameter) beschrieben. Sie können mit dem Key |ifsetup| überprüfen, wie die verschiedenen Setups angewendet werden. Jeder verwendete Key, der vor der ersten |ifsetup|-Deklaration in \meta{options} auftritt, wird bei jedem möglichen Setup befolgt. Die dem Key zugewiesenen Parameter werden umgesetzt. Wird der |ifsetup|-Key jedoch einmal verwendet, erfolgt die Anwendung der untergeordneten Keys \emph{nur} auf das deklarierte Setup im |ifsetup|-Key. Die Parameter untergeordneter Keys werden demnach nur für das zugewiesene Setup beachtet. Dabei kann der |ifsetup|-Key mehrere Male verwendet werden. Mit möglichen Setups sind die zulässigen Werte für die Optionen gemeint, wie passende Werte für die Parameter |mode|, |paper|, |orient| und |display|, beschrieben in dem Kapitel~\ref{sec:classopts}. Wenn ein Wert (oder Werte!) für einen dieser vier Keys nicht in einer |ifsetup|-Zuweisung spezifiziert ist, werden alle untergeordneten Key-Deklarationen zu einem beliebigen Layout diesen Typs angewendet. Man betrachte folgenden Quelltext als Beispiel. \begin{example}[numbers=left,numberstyle=\tiny\ttfamily, escapeinside=`',numbersep=1em,xleftmargin=1em] ... textpos={.2\slidewidth,.3\slideheight}, ifsetup={portrait,screen}, textpos={.3\slidewidth,.2\slideheight} ... ifsetup=landscape, ... ifsetup, ... \end{example} Angenommen, im Beispiel wäre keine |ifsetup|-Deklaration vor der ersten |textpos|-Deklaration, würde der Befehl |textpos| auf jedes mögliche Setup angewendet werden. Für das \texttt{screen}-Format in Hochformat (portrait) jedoch, wird die nächste |textpos|-Deklaration befolgt. Das heißt, alle Befehle, die bis zum nächsten |ifsetup| (das alle Papiersorten spezifiziert und die \texttt{landscape}-Orientierung) ausgeführt werden, werden für das \texttt{portrait-screen}-Layout umgesetzt. Alle Keys nach der nächsten |ifsetup|-Deklaration gelten für Querformate (landscape orientation), wobei \emph{paper, mode und display} nicht spezifiziert sind. Wenn man nach einer Spezifikation von Keys zu den Optionen zurück möchte, die auf alle Setups angewendet werden, deklariert man |ifsetup| als empty, ohne weitere Parameter, so wie im Beispiel. Alle nachfolgenden Deklarationen werden nun wieder für jedes mögliche Setup befolgt. Der folgende Befehl ist eine unabhängige Anwendung des zuvor beschriebenen Mechanismus. Er erlaubt die Kontrolle des Setups außerhalb des Arguments \meta{options} des |\pddefinetemplate|-Befehls. \begin{command} `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}' \end{command} \DescribeMacro{\pdifsetup} Dieser Makro entscheidet \meta{true}, wenn die Programmeinrichtung des Benutzers, sein Setup, mit dem verlangten \meta{desired}-Setup übereinstimmt. In allen anderen Fällen gilt \meta{false}. Wurde beispielsweise landscape (Querformat) gewählt, dann gilt \begin{example} \pdifsetup{landscape}{yes}{no} \end{example} |yes|. Wurde jedoch statt dessen portrait (Hochformat) gewählt, würde |no| gelten. Dieser Makro kann genutzt werden um die Setupanforderungen zu überprüfen und um zum Beispiel einen Fehler zu generieren, wenn eine bestimmte Programmeinrichtung vom Stil nicht unterstützt wird. \pf{powerdot} bietet eine vorverfasste Fehler-Nachricht, welche in den ersten Zeilen des Quelltextes ihrer Stildatei verwendet werden kann. \begin{command} `\cs{pd@noportrait}' \end{command} \DescribeMacro{\pd@noportrait} Dieses Makro generiert einen Fehler, wenn der Benutzer Hochformat abfragt. An dieser Stelle sei darauf hingewiesen, dass ein eventueller Handout-Modus nur in Hochformat möglich ist. Dieses Makro berücksichtigt dies jedoch und generiert bei Abfrage eines Handouts keinen Fehler. \subsection{Hauptkomponenten}\label{sec:maincomps} Die \meta{options} kontrollieren verschiedene Key-Komponenten einer Folie. Jede Komponente hat verschiedene Einzelteile mit jeweiligen Eigenschaften. Ein Key, der für das \meta{options}-Argument verwendet werden kann, ist die Bezeichnung der Komponente. Zum Beispiel benannt nach ihrer Eigenschaft, die kontrolliert werden soll. Die Komponenten |title|, |text|, |toc|, |stoc| und |ntoc| haben die Einzelteile bzw. Eigenschaften |hook|, |pos|, |width| und |font|. Zudem hat die Komponente |text| die Eigenschaft |height|. Die Komponenten |lf|, |cf| und |rf| haben |hook|, |pos|, |temp| und |font|. Daher sind |titlefont|, |tocpos| und |lftemp| Beispiele mit verschiedenen Keys. Diese Komponenten und ihre Einzelteile sollen nun erläutert werden. Nun ein Überblick über die Komponenten, die vom \meta{options}-Argument im Template |\pddefinetemplate| kontrolliert werden. \begin{description} \item\DescribeOption{title-}\option{title-}\\ Betrifft den Titel der Folie. \item\DescribeOption{text-}\option{text-}\\ Betrifft die Box für den Haupttext auf der Folie. \item\DescribeOption{toc-}\option{toc-}\\ Betrifft das vollständige Inhaltsverzeichnis einschließlich der Unterkapitel und Folien. \item\DescribeOption{stoc-}\option{stoc-}\\ Dieses Inhaltsverzeichnis umfasst nur die Unterkapitel "`sections"' (sehen Sie auch |ntoc|). \item\DescribeOption{ntoc-}\option{ntoc-}\\ Dies ist ein Inhaltsverzeichnis, welches nur die Einträge des aktuellen Kapitels anzeigt. Zusammen mit |stoc| kann es als ein gesplittetes Inhaltsverzeichnis verwendet werden. Beispielsweise mit Überblick über die Kapitel im einen und mit den Unterpunkten des jeweiligen Kapitels im anderen Verzeichnis. In einer einzelnen Folienvorlage ist |toc|, man würde üblicherweise ein Inhaltsverzeichnis haben, eine Kombination von |stoc| und |ntoc| oder überhaupt kein Inhaltsverzeichnis. \item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\ Betrifft die linke, mittlere und rechte Fußzeile. \end{description} Beachten Sie, dass alle Positionierungen von Komponenten intern über |\rput| von \pf{pstricks} eingebracht werden \cite{PSTricksWeb,PSTricks}. In der \pf{pstricks}-Dokumentation finden Sie weitere Informationen zu diesem Befehl. Zudem sollte zur Kenntnis genommen werden, dass alle Komponenten (außer |lf|, |cf| und |rf|) ihren Inhalt in eine |minipage|-Umgebung setzen. Nun werden alle Einzelteile bzw. Eigenschaften der zuvor genannten Komponenten mit ihrer Bedeutung aufgeführt. Es ist daran zu denken, dass Keys aus der Kombination einer Komponente und einer Eigenschaft bestehen. \begin{description} \item\DescribeOption{-hook}\option{-hook}\\ Diese Option definiert den |\rput|-Anker, welcher bei der Positionierung eines Item verwendet wird. Dieser kann sein: |tl|, |t|, |tr|, |r|, |Br|, |br|, |b|, |bl|, |Bl|, |l|, |B| und |c|. Die \pf{pstricks}-Dokumentation bietet hierzu weitere Informationen. \item\DescribeOption{-pos}\option{-pos}\\ Dies definiert die Position des |hook| der Seite. Die linke, untere Ecke des "`Papiers"' entspricht dem Punkt |{0,0}| und die rechte, obere Ecke dem Punkt |{\slidewidth,\slideheight}|. Soll die Box für den Haupttext 20\% vom linken Rand und 30\% vom oberen Rand entfernt sein, ergibt sich folgender Key: \begin{example} textpos={.2\slidewidth,.7\slideheight} \end{example} Wenn die Position einer Komponente nicht spezifiziert wurde, wird die Komponente nicht auf der Folie platziert. Dies ermöglicht es, Folien zu entwerfen, die in einem nüchtern Stil ohne Fußnoten oder Inhaltsverzeichnis gehalten sind. \item\DescribeOption{-width}\option{-width}\\ Bezieht sich auf die Breite der Komponente. Alle Komponenten, die \pf{powerdot} positioniert, werden in eine |minipage|-Umgebung gesetzt. Die Eigenschaft |width| bestimmt die Breite der |minipage|. Beispielsweise: \begin{example} textwidth=.7\slidewidth \end{example} Für |lf|, |cf| and |rf|-Komponenten gibt es diese Eigenschaft nicht. \item\DescribeOption{-height}\option{-height}\\ Diese Option ist nur für die Komponente |text| verfügbar. Oder anders: Für diese Eigenschaft gibt es nur eine Verwendung, nämlich den Key |textheight|. Damit kann die Höhe der |minipage| spezifiziert werden, welche als Haupttextfenster dient. Diese Höhe dient jedoch nur für die vertikale Angleichung von Material auf der Folie, wie beispielsweise Fußzeilen; nicht aber für die Länge oder den automatischen Folienumsprung durch \pf{powerdot} bei vollen Textfenstern. Der vorbestimmte Wert ist |\slideheight|. \item\DescribeOption{-font}\option{-font}\\ Dies wird im Quelltext kurz vor den betroffenen Text gesetzt, dessen Schriftsatz definiert werden soll. Mit dem Befehl können so Abweichungen des Textes in Schriftart und Farbe vorgenommen werden. Dies kann als Schriftsatzdeklaration umgesetzt werden, wie |\large\bfseries|, aber auch mit anderen Inhalten wie |\color{red}| oder |\raggedright|. \item\DescribeOption{-temp}\option{-temp}\\ Diese Eigenschaft ist nur für die Fußzeilen (|lf|, |cf| und |rf|) verfügbar und kann verwendet werden, um deren Schablone in der Vorlage zu ändern. Beispielsweise kann Inhalt durch den Benutzer hinzugefügt werden. Die Standarddeklaration bei \pf{powerdot} ist folgende: \begin{example} rftemp=\pd@@rf\ifx\pd@@rf\@empty \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide \end{example} |\pd@@rf| wird hier den Inhalt des rechten Fußfeldes umfassen, definiert durch den Benutzer mit dem |\pdsetup|-Befehl. Ähnlich beinhaltet |\pd@@lf| den Inhalt des linken Fußfeldes. Der obige Befehl kontrolliert, ob das rechte Fußfeld und |\theslide| Inhalte haben, nicht leer sind. Wenn dem so ist, wird | -- | eingesetzt, um sie zu unterscheiden. \item\DescribeOption{-orient}\option{-orient}\\ Diese Eigenschaft ist nur für die Komponenten |toc|, |stoc| und |ntoc| verfügbar. Es stehen die Alternativen |h| oder |v| zur Auswahl, um die horizontale oder vertikale Ausrichtung des Inhaltsverzeichnisses zu bestimmen. Die Voreinstellung entspricht |v|. Bezüglich dem Anlegen des Inhaltsverzeichnisses liefert Kapitel~\ref{sec:slidetoc} weitere Informationen. \end{description} \subsection{Das Folieninhaltsverzeichnis}\label{sec:slidetoc} Das kleine Inhaltsverzeichnis auf den Folien kann durch vier Makros und mehrere Optionen gesteuert werden. \DescribeMacro{\pd@tocslide} \DescribeMacro{\pd@tocsection} Diese Makros nehmen ein Argument an. Beim Erstellen des Inhaltsverzeichnisses durchläuft \pf{powerdot} den Inhalt zunächst |\pd@tocslide| oder |\pd@tocsection|, je nach dem welcher Eingabetyp gerade erstellt wird. Sie können beispielsweise \begin{example} \def\pd@tocslide#1{$\bullet$\ #1} \def\pd@tocsection#1{#1} \end{example} eingeben, wodurch alle normalen Eingaben (nicht die Abschnitte) mit einem "`Bullet"' präfigiert werden. Diese beiden Makros sind standardmäßig so definiert, dass sie sich genau auf ihre jeweiligen Argumente übertragen. \DescribeMacro{\pd@tocdisplay} \DescribeMacro{\pd@tochighlight} Diese zwei Makros nehmen ebenfalls ein Argument. Nachdem die Eingabe mit dem Befehl |\pd@tocslide| oder |\pd@tocsection| bearbeitet wurde, setzt \pf{powerdot} das Erstellen der Eingabe mit dem Durchlaufen von |\pd@tocdisplay| fort, wenn die Eingabe nur angezeigt werden muss oder von |\pd@tochighlight|, wenn die Eingabe hervorgehoben werden muss. Diese Makros sind überwiegend beteiligt und betreuen das Erstellen des Inhalts in angemessener Schriftart und Farbe in einer |minipage|. Des Weiteren setzt |\pd@tochighlight| eine Box um die Einheit. Beachten Sie, dass beispielsweise beide, zum einem die Eingabe des gesonderten Inhaltsverzeichnis, genauso wie das Inhaltsverzeichnis als Ganzes in einer |minipage|-Umgebung von diesen Makros gesetzt sind, in dem Fall, dass das Inhaltsverzeichnis vertikal angelegt ist. Die |-width|-Bestandteile determinieren dann die Breite des Inhaltsverzeichnisses und zusammen mit |tocsecindent| und |tocslideindent| (siehe unten) die Breite der individuellen Eingaben. Wenn es horizontal ist, sind nur die gesonderten Eingaben und nicht das Inhaltsverzeichnis an sich in der |minipage|. Die |-width|-Bestandteile determinieren nur die Breite der individuellen Eingaben (zusammen mit |tocsecindent| und |tocslideindent|). Mehrere Aspekte des Prozesses des Anlegens des Inhaltsverzeichnisses können durch Schlüssel gesteuert werden, die im Befehl |\pddefinetemplate| abrufbar sind, die dann unten beschrieben werden. Falls diese Schlüssel nicht genug Spielraum bereitstellen, um tun zu können, was Sie möchten, müssen Sie vielleicht einen Blick auf die zwei Makros in der Quelle werfen und sich entscheiden diese in ihrem Stil neu zu schreiben, bis sie zu ihren Bedürfnissen passen. Ein Beispiel finden Sie im \pf{fyma}-Stil. \begin{description} \item\DescribeOption{tocfrsep}\option{tocfrsep}\\ Diese Länge ist der Abstand zwischen der Box, die den Inhalt umgibt, der in der |minipage| erzeugt wurde wurde und der hervorgehobenen Rahmenbox, erzeugt durch |\pd@tochighlight|. Voreingestellt ist: |0.5mm|. \item\DescribeOption{tocsecsep}\option{tocsecsep}\\ Dieser Abstand ist vor einem Abschnitt eingefügt (ausgenommen, es ist das erste Element in dem Inhaltsverzeichnis). Voreingestellt ist: |2ex|. Beachten Sie, dass wenn die Orientierung des Inhaltsverzeichnisses auf vertikal gesetzt ist, die Länge eine vertikale Auslassung erzeugt, anderenfalls erzeugt es eine horizontale Auslassung. \item\DescribeOption{tocslidesep}\option{tocslidesep}\\ Der Abstand ist vor anderen Eingaben eingefügt (ausgenommen es ist das erste Element in dem Inhaltsverzeichnis). Voreingestellt ist: |0ex|. Wie bei |tocsecsep| ist der Effekt der Länge abhängig von der Ausrichtung des Inhaltsverzeichnisses. \item\DescribeOption{tocsecindent}\option{tocsecindent}\\ Ein horizontales Leerfeld links von der Abschnitteingabe. Voreingestellt ist: |0pt|. \item\DescribeOption{tocslideindent}\option{tocslideindent}\\ Ein horizontales Leerfeld links von der Folieneingabe. Die horizontale Auslassung wird nicht links von der Folieneingabe eingefügt, die vor dem ersten Abschnitt erscheint. Voreingestellt ist: |0pt|. \item\DescribeOption{tocsecm}\option{tocsecm}\\ Dies wird vor dem Schriftsetzen eines Abschnitts eingefügt. Es kann zum Markieren eines Abschnitts verwendet werden, zum Beispiel mit einer Linie im \pf{default}-Stil. Voreingestellt ist: empty. \item\DescribeOption{toctcolor}\option{toctcolor}\\ Dies ist die Schriftfarbe, benutzt für nicht hervorgehobene Elemente im Inhaltsverzeichnis. Voreingestellt ist: |black|. \item\DescribeOption{tochltcolor}\option{tochltcolor}\\ Dies ist die Schriftfarbe, benutzbar für hervorgehobene Elemente im Inhaltsverzeichnis. Voreingestellt ist: |white|. \item\DescribeOption{tochlcolor}\option{tochlcolor}\\ Die ist die Farbe, die für den Rahmen hinter den hervorgehobenen Elementen benutzt wird. Voreingestellt ist: |black|. \end{description} \subsection{Sonstige Optionen}\label{sec:miscoptions} Es gibt einige Optionen, die aus den Rahmen der vorherigen Abschnitte fallen. Diese werden im Folgenden besprochen. \begin{description} \item\DescribeOption{iacolor}\option{iacolor}\\ Die Option |iacolor| können Sie benutzen, um die Farbe, die für inaktive Symbole genutzt wird, zu spezifizieren. Sie wird beispielsweise von |\onslide|, |\pause| (siehe Abschnitt~\ref{sec:overlays}) und |\tableofcontents| (siehe Abschnitt~\ref{sec:tableofcontents}) benutzt. Wenn \pf{xcolor} von \pf{powerdot} verwendet wird, können Sie hierbei spezielle Darstellungsarten wählen, wie \begin{example} iacolor=black!20 \end{example} Der voreingestellte Wert für diesen Schlüssel ist |lightgray|. \end{description} Die folgenden Optionen steuern die Digitaluhr (siehe Abschnitt~\ref{sec:classopts}). Die Uhr ist ein gestaltbares Textfeld mit einem dynamischen Inhalt, was durch Javaskript über \pf{hyperref} Textfelder gesteuert wird. Einige Optionen für die Uhr arbeiten ähnlich wie andere, wie zum Beispiel beim Titelbaustein, aber es gibt ebenfalls spezielle Optionen. \begin{description} \item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\ Diese arbeiten auf die gleiche Weise wie die |-hook|- und |-pos|-Bestandteile, die in Abschnitt~\ref{sec:maincomps} diskutiert wurden. Der voreingestellte Wert der |clockhook| ist |tr|. \item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\ Diese steuern die Breite und die Höhe des Textfeldes, das die Uhr beinhaltet. Die voreingestellten Werte kommen von \pf{hyperref} und haben ein Maß von |3cm| beziehungsweise von |\baselineskip|. \item\DescribeOption{clockcharsize}\option{clockcharsize}\\ Die Größe der Ziffern auf der Uhr. Voreingestellt ist |14pt|. \item\DescribeOption{clockalign}\option{clockalign}\\ Die Ausrichtung der Uhr im Textfeld. |0| bedeutet links ausgerichtet, |1| ist zentriert und |2| ist rechts ausgerichtet. Voreingestellt ist |2|. \item\DescribeOption{clockcolor}\option{clockcolor}\\ Dies legt die Schriftfarbe der Uhr fest. Der Wert muss eine bestimmte Farbe sein. Der voreingestellte Wert ist |black|. \end{description} \subsection{Voreingestellte Templates} Nachfolgenden werden die voreingestellten Einstellungen der Schlüssel beschrieben. Diese können benutzt werden, wenn Sie keinen anderen Input für diese Schlüssel in eine bestimmte Schablone liefern. Wenn die voreingestellten Werte Ihre Bedürfnisse erfüllen, brauchen Sie diese nicht noch einmal in ihrem eigenen Stil spezifizieren. \begin{example} titlehook=Bl,titlepos=,titlewidth=\slidewidth, titlefont=\raggedright,texthook=tl,textpos=, textwidth=\slidewidth,textfont=\raggedright, textheight=\slideheight, tochook=tl,tocpos=,tocwidth=.2\slidewidth, tocfont=\tiny\raggedright, stochook=tl,stocpos=,stocwidth=.2\slidewidth, stocfont=\tiny\raggedright, ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth, ntocfont=\tiny\raggedright, tocorient=v,stocorient=v,ntocorient=v, tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex, tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white, tocsecindent=0pt,tocslideindent=0pt, lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf, cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf, rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide, iacolor=lightgray, clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip, clockcharsize=14pt,clockalign=2,clockcolor=black \end{example} \subsection{Der Hintergrund}\label{sec:defbg} Nur ein Argument des Makros |\pddefinetemplate| ist noch unbesprochen. Dies ist das Befehls-\meta{commands}-Argument. Dieses Argument kann jeden Code einbinden, den Sie ausführen möchten, \textit{nachdem} die Optionen gesetzt wurden und \textit{bevor} die Folienbausteine wie der Folientitel, Haupttext und Fußbereiche erstellt wurden. Dieses Argument ist konstruiert, um Deklarationen einzubinden, die den Hintergrund einer Folie erstellen und zum Beispiel \pf{pstricks} benutzen. Aber es kann auch andere Befehle enthalten, die Sie zum Erstellen Ihrer Schablone brauchen. Es ist wichtig festzuhalten, dass diese Befehle nicht unbedingt \TeX -Material kreieren, das Ihre Konstruktion der Folie zerstören könnte. Falls Sie das Wort "`Hallo"' in der unteren linke Ecke der Folie platzieren möchten, schreiben Sie nicht "`Hallo"', legen Sie aber die Breite, Höhe und Tiefe gleich der Null, zum Beispiel mit der Benutzung von \pf{pstricks}' |\rput|. \begin{example} \rput[bl](0,0){Hello} \end{example} \subsection{Titelfolie, Titel und Abschnitte}\label{sec:specialtemps} Wie zuvor erwähnt, muss der Stil, an dem Sie schreiben, definiert werden und damit zuletzt auch die Schablonen |slide| und |titleslide|. Letztere behandelt einige der Schlüssel in einer speziellen Weise. Die Titelfolie (erzeugt durch |\maketitle|) setzt den Titel mit den Autor/en und das Datum in die Haupttextbox. Dies bedeutet, dass Sie eine Position für die Haupttextbox (|textpos|) liefern müssen. Die Haupttextschriftgröße (zusammen mit den Erklärungen in dem |textfont| Schlüssel) wird für Autor/en und Datum benutzt. Die Erklärung wird |titlefont| für den Titel der Präsentation gebraucht. Dadurch formen Titel und Autor/en einen zusammenhängenden Block und es wird sichergestellt, dass lange Titel Autor/en nach unten verschieben, anstatt ihn/sie zu überschreiben \DescribeMacro{\pd@slidetitle} Das Makro |\pd@slidetitle| wird verwendet, um den Folientitel auf die Folien zu setzen. Dieses Makro ist zum Beispiel mit |\pd@tocslide| vergleichbar. Es nimmt ein Argument an, das den Folientitel mit der richtigen Schriftart und Formation hat. Standardmäßig passt dieses Makro den Inhalt für das Schriftsetzen an, aber Sie können dieses Makro umdefinieren und somit seinen früheren Input erstellen, um die Schrift zu setzen. Ein Beispiel ist der \pf{fyma} Stil, der den Titel unterstreicht, nachdem er in eine |minipage|gesetzt wurde und die den Mehrfachlinientitel unterstützt. \DescribeMacros{\pd@title,\pd@sectiontitle} Diese Makros haben Ähnlichkeit zu |\pd@slidetitle| und setzen den Titel auf die Titelfolie bzw. den Titel auf die Abschnittsfolien. Standardmäßig bestehen diese ebenso aus ihrem Argument (was der Titel der Präsentation oder der Titel eines Abschnitts ist). Aber dies kann auch umdefiniert werden, um so den früheren Input zu erstellen und so die Schrift zu setzen, wie bei |\pd@slidetitle|. \DescribeOptions{sectemp,widesectemp} Der Befehl |\section| benutzt (standardmäßig) die |slide|-Umgebung und setzt den Abschnittstitel in die Titelbox mit der Schriftart |titlefont|. Wenn Sie zum Beispiel diesen Standard ändern möchten und die |slide|-Umgebung, die |sectionslide|-Umgebung oder eine beliebige eigens erstellte Abschnittschablone auch für die Abschnitte nutzen möchten, ändern Sie die voreingestellte Schablone in Ihrem Stil mit \begin{example} \setkeys[pd]{section}{sectemp=sectionslide} \end{example} Dies bedeutet, dass bei der Forderung des Benutzers nach |template=slide| in dem Befehl |\section| die |sectionslide|-Umgebung stillschweigend benutzt wird. Um Überraschungen zu vermeiden, sollte |sectionslide| vorzugsweise auf der |slide|-Umgebung basieren. Eine ähnliche Option ist verfügbar in dem Fall, dass der Benutzer\\ |template=wideslide| fordert. Beispielsweise diese: \begin{example} \setkeys[pd]{section}{widesectemp=sectionwideslide} \end{example} Jedes Mal wenn der Benutzer ein |wideslide| anfordert, gebraucht für |\section|, wird stattdessen die |sectionwideslide|-Umgebung benutzt. Bei anderen Inputs für den |template|-Schlüssel erfolgt keine spezielle Bearbeitung. Beachten Sie, dass diese Schlüssel in der |section| Schlüsselfamilie verfügbar sind und dass Sie diese nicht für den Befehl |\pddefinetemplate| verwenden können. \subsection{Das Testen des Stils}\label{sec:styletest} \pf{powerdot} hat eine Testdatei, die die meisten Stile testet. Die Testdatei kann angefertigt werden, indem \LaTeX\ mit |powerdot.dtx| durchläuft. Diese generiert |powerdot-styletest.tex|, was Ihnen hilft die Eingaben zu kontrollieren. Wenden Sie sich an uns, wenn Sie Ihren Stil \pf{powerdot} beisteuern möchten. Siehe ebenfalls Abschnitt~\ref{sec:questions}. \section{Die Benutzung von \LyX\ für Präsentationen}\label{sec:lyx} \LyX\ \cite{LyXWeb} ist ein WYSIWYM (What You See Is What You Mean) Dokumentprozessor, basierend auf \LaTeX. Es unterstützt \LaTeX -Standardklassen, braucht aber spezielle Dateien, genannt Layout-Dateien, um nicht standardisierte Klassen, wie \pf{powerdot}, zu unterstützen. Um \LyX\ für \pf{powerdot}-Präsentationen zu verwenden, kopieren Sie die Layout-Datei \texttt{powerdot.layout} in das \LyX -Layout-Datenverzeichnis. Diese Datei finden Sie in Ihrem \LaTeX -Installationsverzeichnis (bei Linuxsystemen) unter dem Pfad \url{texmf/doc/latex/powerdot}. Falls Sie ihn hier nicht finden, können Sie ihn auch von CTAN herunterladen \url{CTAN:/macros/latex/contrib/powerdot}. Sobald dies getan ist, rekonfigurieren Sie \LyX\ (\texttt{Edit\LyXarrow Reconfigure} und und starten Sie \LyX\ danach neu). Jetzt können Sie die \pf{powerdot}-Dokumentenklasse wie eine beliebige andere unterstützte Klasse benutzen. Wählen Sie \texttt{powerdot presentation} als Dokumentklasse aus. Für mehr Informationen schauen Sie in die \LyX -Dokumentation, die unter dem |Help|-Menü abrufbar ist. \subsection{Wie das Layout benutzt wird} Das \pf{powerdot}-\LyX -Layout bietet einige Umgebungen\footnote{Nicht mit den \LaTeX -Umgebungen verwechseln.}, die in \LyX\ verwendet werden können. Manche dieser Umgebungen (beispielsweise \texttt{Title} oder \texttt{Itemize}) sind normal nutzbar, seit sie ebenfalls in Standarddokumentenklassen wie \pf{article} existieren. Mehr Informationen über die Standardumgebungen sind in der \LyX -Dokumentation zu finden. Dieser Abschnitt will Ihnen erklären, wie die speziellen \pf{powerdot}-Umgebungen |Slide|, |WideSlide|, |EmptySlide| und |Note| zu benutzen sind. Diese Umgebungen entsprechen den \pf{powerdot}-Umgebungen |slide|, |emptyslide|, |wideslide| und |note|. Begonnen wird mit einem einfachen Beispiel. Der folgende \LaTeX -Code \begin{example} \begin{slide}{Slide title} Slide content. \end{slide} \end{example} ist bei der Benutzung der folgenden \LyX -Umgebungen erhältlich. Die rechte Spalte repräsentiert den Text, eingegeben in das \LyX -Fenster und die linke Spalte repräsentiert die Umgebung, angewandt auf diesen Text. \begin{example} Slide Slide title Standard Slide content. EndSlide \end{example} Einige Anmerkungen, bezogen auf dieses Beispiel. \begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt] \item Sie können dieses Umgebungsmenü (unter dem Menübalken, oberere linke Ecke) verwenden, um die Umgebung zu wechseln, angewandt auf den Text. \item Der Folientitel sollte in die Zeile der |Slide|-Umgebung geschrieben werden. \item |EndSlide| beendet die Folie und lässt die Linie unbeschrieben. \end{itemize} In dem \LyX -Fenster wird die |Slide|-Umgebung (der Folientitel) in magenta ausgegeben, der |WideSlide|-Stil in grün, der |EmptySlide|-Stil in cyan und der |Note|-Stil in rot und daher sind diese leicht identifizierbar. Hier ist ein anderes Beispiel. \begin{example} \begin{slide}{First slide title} The first slide. \end{slide} \begin{note}{First note title} The first note, concerning slide 1. \end{note} \begin{slide}{Second slide title} The second slide. \end{slide} \end{example} Das lässt sich mit \LyX\ folgendermaßen erstellen. \begin{example} Slide First slide title Standard The first slide. Note First note title Standard The first note, concerning slide 1. Slide Second slide title Standard The second slide. EndSlide \end{example} Dieses Beispiel demonstriert, dass es oft genügt, den |EndSlide|-Stil nach der letzten Folie oder Notiz einzufügen. Nur wenn Sie bestimmtes Material nicht als Teil einer Folie wollen, müssen Sie die vorausgehende Folie manuell mit dem |EndSlide|-Stil beenden. Beispiel: \begin{example} Slide First slide title Standard The first slide. EndSlide [ERT box with some material] Slide Second slide title ... \end{example} Optionen können für Folienumgebungen mit der Benutzung von \texttt{Insert\LyXarrow Short title} vor dem Folientitel übermittelt werden. Das folgende Beispiel gebraucht die direkte |direct| Methode (siehe Abschnitt~\ref{sec:verbatim}) im Kurztitel-Argument (begrenzt durch einen eckigen Bereich), um eine |lstlisting|-Umgebung (definiert vom dem \pf{listings} Packet) binnen des Folieninhalts zu erstellen. \begin{example} Slide [method=direct]Example of LaTeX source code Standard Here's the \HelloWorld command: [ERT box: \lstset{language=[LaTeX]TeX} \begin{lstlisting} \newcommand{\HelloWorld}{Hello World!} \end{lstlisting} ] EndSlide \end{example} Beachten Sie, dass Sie nicht verpflichtet sind, eine |verbatim|-Umgebung zu nutzen, um |\HelloWord| in das \LyX -Fenster zu schreiben, weil \LyX\ direkt einen wörtlichen Standard unterstützt.\footnote{\LyX\ übersetzt spezielle Zeichen in ihren dazugehörigen \LaTeX -Befehl. Zum Beispiel das \texttt{backslash}-Zeichen wird in \cs{textbackslash{}} übersetzt. Resultierend ist die Schriftart nicht die gleiche wie in der wahren wortgetreuen Übersetzung und Sie könnten dies durch den \texttt{Layout\LyXarrow Character}-Dialog ändern.}. Folglich ist die Benutzung der Methoden der Folienaufbereitung |direct| und |file| nicht notwendig, wenn Sie einen wörtlichen Standard gebrauchen, aber es ist notwendig, wenn Sie fortgeschrittene Dinge tun möchten, wie im obigen Beispiel. \subsection{Unterstützung der Syntax} Dieser Abschnitt listet Optionen, Befehle und Umgebungen auf, die durch das \LyX -Interface direkt unterstützt werden, ohne eine ERT-Box zu benutzen (\TeX -mode). Alle Optionsklassen (siehe Abschnitt~\ref{sec:classopts}) werden durch den \texttt{Layout\LyXarrow Document}-Dialog unterstützt (|Layout|-Tafel). Optionen für den Befehl |\pdsetup| (siehe Abschnitt~\ref{sec:setup}) sollten in dem Präambel-|Preamble|-Teilabschnitt des \texttt{Layout\LyXarrow Document}-Dialogs spezifiziert werden. Die Tabelle \ref{tab:lyxcommands} listet die \pf{powerdot}-Befehle auf, die die von \LyX\ unterstützt werden. \begin{table}[htb] \centering \begin{tabular}{f} Befehl & Methode in \LyX\\\hline \cs{title} & Benutzt \texttt{Title}-Umgebung.\\ \cs{author} & Benutzt \texttt{Author}-Umgebung.\\ \cs{date} & Benutzt \texttt{Date}-Umgebung.\\ \cs{maketitle} & Direkt von \LyX\ ausgeführt.\\ \cs{section} & Benutzt die \texttt{Section}-Umgebung. Optionen für diesen Befehl (siehe Abschnitt~\ref{sec:section}) können durch \texttt{Insert\LyXarrow Short title} vor dem Abschnittstitel spezifiziert werden.\\ \cs{tableofcontents} & \mbox{Benutzt \texttt{Insert\LyXarrow Lists \& TOC\LyXarrow Table of contents}.} und braucht eine ERT-Box, wenn ein optionales Argument benutzt werden soll. Siehe unten. \end{tabular} \caption{Unterstützte \pf{powerdot}-Befehle von \LyX}\label{tab:lyxcommands} \end{table} Die Tabelle \ref{tab:lyxenvs} listet die \pf{powerdot}Umgebungen auf, die zusätzlich zu den vorher diskutierten |slide|-, |wideslide|-, |note|- und |emptyslide|-Umgebungen auch von \LyX unterstützt werden. \begin{table}[htb] \centering \begin{tabular}{f} Umgebung & Methode von \LyX\\\hline \texttt{itemize} & Benutzt \texttt{Itemize}- und \texttt{ItemizeType1}-Umgebungen. Letzteres wird eine Liste mit |type=1| (sehen Sie Abschnitt~\ref{sec:lists}) erstellen.\\ \texttt{enumerate} & \mbox{Benutzt \texttt{Enumerate}- und \texttt{EnumerateType1}-Um}geb\-ungen.\\ \texttt{thebibliography} & Benutzt \texttt{Bibliography}-Umgebung. \end{tabular} \caption{Unterstützte \pf{powerdot}-Umgebungen von \LyX}\label{tab:lyxenvs} \end{table} Tabelle \ref{tab:lyxERT} listet Befehle auf, die nur bei Benutzung der ERT-Box (durch \texttt{Insert\LyXarrow TeX}) durchgeführt werden können. \begin{table}[ht] \centering \begin{tabular}{f} Befehl & Methode bei \LyX\\\hline \cs{and} & innerhalb der \texttt{Author}-Umgebung.\\ \cs{pause} & \\ \cs{item} & Eine ERT-Box ist nur erforderlich für das optionale Argument, nicht obligatorisch für Overlay-Spezifikationen.\\ \cs{onslide} & Und die Versionen \cs{onslide+} und \cs{onslide*}.\\ \cs{twocolumn} & \\ \cs{tableofcontents} & Nur bei der Benutzung eines optionalen Arguments. \end{tabular} \caption{\pf{powerdot}-Befehle, die eine ERT-Box in \LyX\ benötigen} \label{tab:lyxERT} \end{table} Beachten Sie, dass Sie die Ablage gebrauchen dürfen, um häufige Befehle, wie |\pause|. Schließlich listet die Tabelle Finally \ref{tab:lyxadd} zusätzliche Befehle und Umgebungen auf, die vom Layout unterstützt werden. \begin{table}[htb] \centering \begin{tabular}{f} Umg./Befehl & Methode bei \LyX\\\hline \texttt{quote} & Benutzt \texttt{quote}-Umgebung.\\ \texttt{quotation} & Benutzt \texttt{quotation}-Umgebung.\\ \texttt{verse} & Benutzt \texttt{verse}-Umgebung environment.\\ \cs{caption} & Benutzt \texttt{caption}-Umgebung innerhalb einer Standardpufferumgebung. \end{tabular} \caption{Zusätzliche Umgebungen für \LyX}\label{tab:lyxadd} \end{table} \subsection{Programmübersetzung mit \LyX} Zuerst stellen Sie sicher, dass Sie auch den Abschnitt~\ref{sec:compiling} gelesen haben. Dann, um ein einwandfreies PostScript-Dokument oder eine PDF-Datei zu bekommen, müssen Sie Ihre \LyX -Dokumentbestandteile, abhängig davon welches Papier und welche Ausrichtung Sie bevorzugen, anpassen und auswählen. Wenn das \LyX\ geöffnet ist, gehen Sie zu \texttt{Layout\LyXarrow Document}-Dialog. In dem \texttt{Layout}-Ausschnitt setzen Sie die |nopsheader|-, |orient|- und |paper|-Schlüssel als Klassenoptionen (siehe Abschnitt~\ref{sec:classopts} mit einer Beschreibung). Gehen Sie dann zum \texttt{Paper}-Ausschnitt und wählen Sie die dementsprechende Papiergröße und Ausrichtung (Sie können die |letter|-Papiergröße auswählen, wenn Sie |paper=screen| in der Klassenoption setzen). Schließlich gehen Sie zum |View|- (oder \texttt{File\LyXarrow Export})-Menü und wählen Sie Ihren Output (PostScript oder PDF). \subsection{Erweiterung des Layouts} Wenn Sie einen individuell gefertigten Stil (siehe Abschnitt~\ref{sec:writestyle}), welcher individuelle Schablonen definiert, erstellt haben, müssen Sie die Layout-Datei\footnote{Die LPPL schreibt vor, eine Datei umzubennen, wenn Sie diese modifizieren, um Verwechselungen zu vermeiden.} erweitern, sodass diese Schablonen ebenfalls von \LyX\ unterstützt werden. Die Erklärung unten unterstellt, dass Sie eine Schablone (genannt |sunnyslide|) definiert haben. Um diese neue Schablone mit \LyX\ zu unterstützen, müssen Sie den folgenden Befehl benutzen. \begin{command} `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}' \end{command} \DescribeMacro{\pddefinelyxtemplate} Dies wird die Befehlssequenz \meta{cs} derart definieren, dass Sie eine Folie mit der Schablone \meta{template} erzeugen können (die mit der Benutzung von |\pddefinetemplate| definiert wurde). Diese neue Befehlssequenz kann wie folgt in der Layout-Datei gebraucht werden. \begin{example} # SunnySlide environment definition Style SunnySlide CopyStyle Slide LatexName lyxend\lyxsunnyslide Font Color Yellow EndFont Preamble \pddefinelyxtemplate\lyxsunnyslide{sunnyslide} EndPreamble End \end{example} Beachten Sie, dass das |LateXName|-Feld mit |lyxend| beginnen muss. Die Definition der \LyX -Schablone wurde zwischen |Preamble| und |EndPreamble| eingefügt, was gewährleistet, dass die neue \LyX -Umgebung in jeder Präsentation funktionieren wird. Nachdem die Layout-Datei identifiziert wurde, vergessen Sie nicht \LyX\ wieder zu starten. Für mehr Informationen über das Erstellen einer \LyX -Umgebung schauen Sie in die Dokumentation für \LyX\ im Hilfe-|Help|Menü. \section{Fragen}\label{sec:questions} \subsection{Häufig gestellte Fragen}\label{sec:FAQ} Dieser Abschnitt ist häufig gestellten Fragen gewidmet. Lesen Sie ihn aufmerksam, Ihre Probleme könnten in diesem Abschnitt gelöst werden. \begin{itemize}[leftmargin=0pt] \question Hat \pf{powerdot} Beispieldateien? Wo kann ich diese finden? \answer \pf{powerdot} kommt mit einigen Beispiele, die sich in ihrem Pfad bei der \LaTeX -Installation befinden. Genauer: \url{texmf/doc/latex/powerdot}. Wenn Sie diese hier nicht finden können, laden Sie sie von CTAN herunter: \url{CTAN:/macros/latex/contrib/powerdot} \cite{CTAN}. \question Ich bekomme Fehler oder unerwartete Outputs, wenn die simpelste Programmübersetzung läuft! \answer Haben Sie Abschnitt~\ref{sec:compiling} gelesen? \question Ich habe einen Tippfehler in den Foliencode gemacht, ließ die Datei durchlaufen, berichtigte den Tippfehler und ließ die Datei erneut durchlaufen. Aber nun bekam ich einen Fehler, der sich nicht entfernen ließ. \answer Entfernen Sie die |.bm|- und |.toc|-Dateien und versuchen Sie es erneut. \question |\pause| funktioniert nicht in der |align|-Umgebung\footnote{Es gibt einige andere Umgebungen, die ähnlich funktionieren wie \texttt{align}. Ein weiteres Beispiel ist die \texttt{split}-Umgebung, aber dies (oft in dem \pf{amsmath}-Paket) kann die gleichen Probleme mit \cs{pause} verursachen.} \answer |align| unternimmt einige komplizierte Dinge, die es unmöglichen machen, |\pause| zu verwenden. Benutzen Sie stattdessen |\onslide|, siehe Abschnitt~\ref{sec:onslide}. \question Meine \pf{pstricks}-Knoten treten auf allen Overlays auf. Außerdem: \texttt{color} scheint nicht mit |\onslide| zu funktionieren. \answer Einige PostScript-Tricks wie \texttt{nodes} und \texttt{color} funktionieren nicht mit |\onslide|. Benutzen Sie stattdessen |\onslide*| Betrachten Sie das folgende Beispiel. \begin{example} \documentclass{powerdot} \usepackage{pst-node} \begin{document} \begin{slide}{Color} \onslide*{2}{\cnode(0,-5pt){2pt}{A}} This is {\onslide*{2-}{\color{red}} red} text. \onslide*{2}{\cnode(0,-5pt){2pt}{B}} \onslide{2}{\ncline{A}{B}} \end{slide} \end{document} \end{example} \question Muss ich Stil-Dateien editieren, um diese ein wenig zu verändern? \answer Nein, Sie müssen keine Stildateien editieren. Sie können jeden Teil eines bestimmten Stils verändern, indem Sie die Befehle |\pddefinetemplate| und |\pddefinepalettes| verwenden. Hier ist ein Beispiel, das den rechten Fuß aus dem \pf{default}-Stil entfernt, den linken Fuß in das Zentrum verschiebt und eine andere Farbskala hinzufügt. \begin{example} \documentclass{powerdot} \pddefinetemplate[slide]{slide}{ lfpos=,rfpos=,cftemp=\theslide }{} \pddefinepalettes{mypalette}{ \definecolor{pdcolor1}{rgb}{.27,.31,.44} \definecolor{pdcolor2}{rgb}{.85,.85,.92} \definecolor{pdcolor3}{rgb}{.8,.75,.98} } \pdsetup{palette=mypalette} \begin{document} \begin{slide}{Title} \end{slide} \end{document} \end{example} Betrachten Sie den Abschnitt~\ref{sec:writestyle} für mehr Informationen über diese beiden Befehle. \question Kann ich bei diesem Projekt mitarbeiten? \answer Sicher. Wenn Sie einen Fehler\footnote{Stellen Sie sicher, dass Sie bestätigen können, dass der Fehler wirklich von \pf{powerdot} verursacht wird und nicht von einem anderen Paket, das Sie benutzen.} oder Tippfehler finden, senden Sie uns eine Nachricht über die Verteilerliste (siehe Abschnitt~\ref{sec:mailinglist}). Wenn Sie einen eigenen Stil erstellt haben, der sich von den existierenden Stilen unterscheidet und Sie diesen in \pf{powerdot} aufgenommen sehen wollen, informieren Sie uns bitte durch eine private E-Mail und wir werden Ihren Beitrag prüfen. Beachten Sie, dass aufgenommene Beiträge unter das allgemeine \pf{powerdot} Lizenz und Urheberrecht fallen. Aber Ihr Name wird in die Dokumentation aufgenommen, wenn Sie einen Beitrag leisten. Dies wird getan, um zu garantieren, dass die Dateien angepasst werden, falls Wartungsarbeiten nötig sind. \end{itemize} Wenn Ihre Fragen an diesem Punkt nicht beantwortet wurden, gehen Sie zum nächsten Abschnitt, um zu Lesen, wo Sie mehr Antworten finden. \subsection{Mailingliste}\label{sec:mailinglist} \pf{powerdot} hat eine Mailing-Liste bei \url{freelists.org} und hat die Website hier: \begin{center} \url{http://www.freelists.org/list/powerdot} \end{center} Da gibt es einen Link zur Archivliste (`List Archive'). Bitte durchsuchen Sie das Archiv, bevor Sie ihre Frage stellen. Ihr Problem wurde vielleicht schon in der Vergangenheit gelöst. Wenn dies nicht der Fall ist, benutzen Sie die Box auf der Seite, um Ihre E-Mail-Adresse einzufügen; wählen Sie die Aktion `Subscribe' und klicken Sie auf `Go!'. Folgen Sie dann den Anweisungen, die Sie per E-Mail erreicht haben. An diesem bestimmten Zeitpunkt können Sie sich zum ersten Mal mit einem autorisierten Code, der Ihnen per E-Mail zugesandt wurde, einloggen. Nachdem Sie sich eingeloggt haben, können Sie sich ein eigenes Passwort für zukünftige Arbeitssitzungen unter dem Button `Hauptmenü' erstellen. Die anderen Button versorgen Sie mit inigen Informationen und Optionen für Ihren Account. Wenn Sie alles eingestellt haben, können Sie der Liste schreiben, indem Sie eine E-Mail an folgende Adresse senden: \begin{center} \url{powerdot [at] freelists [dot] org} \end{center} Wenn Sie der Liste schreiben, behalten Sie die folgenden Kernpunkte im Hinterkopf. \begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt] \item Wir sind Freiwillige! \item Beziehen Sie Ihre Fragen auf \pf{powerdot}. \item Liefern Sie ein \emph{minimales} Beispiel, was Ihr Problem deutlich macht. \item Senden Sie an die Liste keine großen Dateien. \end{enumerate} Wir hoffen, dass Sie Gefallen an diesem Service finden. \section{Quelltextdokumentation}\label{sec:source} Für den Fall, dass Sie die Paketdateien von der Quelle aus erneuen möchten oder Sie einen Blick auf die Quelltextbeschreibung werfen möchten, suchen Sie nach |powerdot.dtx| und darin nach |\OnlyDescription| und entfernen Sie dies und führen sie nachfolgende Befehle aus (bei der aktuellen Version ist es nicht möglich, die |powerdot.dtx| auf diesem Weg zu modifizieren bzw. eine neue .sty Datei zu erzeugen. C.R.): \begin{example} latex powerdot.tex latex powerdot.tex bibtex powerdot makeindex -s gglo.ist -o powerdot.gls powerdot.glo makeindex -s gind.ist -o powerdot.ind powerdot.idx latex powerdot.tex latex powerdot.tex \end{example} \section{Implementierung}\label{sec:imple} \subsection{Allgemeiner Aufbau} Dieses Kapitel erklärt die allgemeine Vorstellung zu dieser Klasse, wie die Seitenabmessungen gewählt sind und wie Folien erstellt werden. Begonnen wird mit dem Referat. Diese Klasse benutzt die gleiche Idee wie die Pakete \pf{prosper} und \pf{HA-prosper}, nämlich, dass wir einen Hintergrund mit \pf{pstricks} erzeugen und zur Textpositionierung |\rput| und einige |minipage|-Umgebungen verwenden. Dies ist einfacher, als eine eigene Ausgaberoutine zu schreiben, die das ganze Material verarbeiten kann, sie bricht aber die Seiten nicht um, wenn wir es nicht wollen. Wenn wir die Beschreibung dieser Klasse beginnen, untersuchen wir zuerst, wie wir mit \texttt{landscape}-Folien und Papierformaten umgehen. \texttt{landscape}-Folien erzeugen, kann man mit \pf{geometry}. Das Papierformat war ein größeres Problem. Da \LaTeX\ nicht so große Schriftschnitte hat, wie wir sie für Präsentationen brauchen, mussten wir die üblichen Schriften irgendwie skalieren. Dies könnte durch die Verwendung ungewöhnlicher Papierformate geschehen (wie in \pf{beamer} geschehen) und daraus weitergeben an ps2pdf zum Ausschneiden des gesamten redundanten Materials. Dies führt aber nicht zur Erzeugung von benutzbaren DVI- oder PS-Dateien. Stattdessen entschieden wir uns, die DVI-Vergrößerung zu nutzen. Die gesamte Folie ist um den Faktor 2 vergrößert und nur das obere linke Quadrat des Papiers wird verwendet (dies kann man jedoch nicht aufgrund der Vergrößerung bemerken). Als wir beschlossen hatten, das gesamte Material in |minipage|s mit |\rput| zu platzieren, benötigten wir die Seite nicht mehr und es war einfacher, \pf{geometry} zu nehmen, um die Seitenränder zu entfernen. Insgesamt so, dass die linke untere Ecke |(0,0)| wurde und die obere rechte Eke |(\slidewidth,\slideheight)|. Eine zusätzliche Bemerkung ist zu dem Papiertyp notwendig. Wir fanden, dass die meisten Konfigurationen von dvips mit dem |A4size|-Code bei den A4-Formaten zu finden sind. Dieser Code schreibt nicht explizit einen PostScript-Papier-Befehl in das PS-Dokument und deshalb wissen Programme, die diese PS nehmen (wie ps2pdf), nicht, welches Papierformat zu nehmen ist und kommen auf den Standard zurück, in den meisten Fällen auf das \texttt{letter}-Format. Dies ist natürlich etwas, was wir nicht wollen und daher schreibt \pf{powerdot} selbst diese Befehle in die PS, um eine einwandfreie Verarbeitung der PS zu garantieren. Nun, nachdem wir entschieden haben, wie die richtige DVI-, PS- und PDF-Ausgabe zu erstellen ist, bestand die nächste Aufgabe darin, eine einfache Schnittstelle für die Overlays zu schaffen. Um zu vermeiden, die Overlays zu zählen, so wie es mit \pf{prosper} nötig ist , implementierten wir ein System, das zuerst die gesamten Körper in einer Umgebung eines Makros sammelt, die zu verschiedenen Zeitpunkten wiederverwendet werden kann. Während der Ausführung des Körpers erhalten die Overlay-Befehle, wie |\onslide|, eine Aufzeichnung der größten Zahl, die sie finden, und das ist die Zahl der zu produzierenden Overlays. Bekommend den Körper der Umgebung, wird das Material bis zu nächsten Auftreten von |\end| gesammelt. Wenn die Kontrollsequenz das richtige Argument hat (nämlich die Anfangsfolie), dann stoppen wir das Scannen und beginnen mit der Folienverarbeitung. Bei normalen Verlauf werden Sie nichts bemerken, aber mit versteckten Spezialtricks, wie |\end{slide}|, in einem Makro wird der Prozess auf der Suche nach |\end{slide}| scheitern, der \texttt{input stream} wird nicht erweitert. Oft kann ein \texttt{work around} gefunden werden. Werfen Sie beispielsweise einen Blick darauf, wie |\section| eine Folie erzeugt. Die nächste Aufgabe bestand darin, einen einfachen Weg zu entwickeln, Vorlagen zu erstellen. Die Klasse basiert auf der Idee, einen Hintergrund für die gesamte Materialverteilung zu haben; das Vorlagensystem folgt dieser Idee. Ein Argument kann verwendet werden, um den Hintergrund zu erzeugen, das andere Argument kontrolliert via Schlüssel und Optionen verschiedene Eigenschaften des Materials, das platziert werden soll. Durch das Hinzufügen eines Schlüssels |ifsetup| konnte die volle Kontrolle über die Gestaltung der Vorlage in allen möglichen Einrichtungen, die der Benutzer auswählt, gewonnen werden. Die abschließende Aufgabe für die Klasse war es, sie in allen `Details' auszufüllen. Alle Mechanismen waren vorhanden, aber manchmal sollten sie nicht aktiv sein. Beispielsweise sollten Overlays nicht im Handout-Modus erstellt werden. Andere Dinge, die zur Klasse hinzugefügt wurden, schützten die Zähler der Overlays, fassten das Layout der Foliennummer, von Fußnoten und der Bibliografieumgebung, leeren Folien, etcetera an. Wir hoffen, dass dieser Abschnitt etwas erklärt hat, was Sie beim Lesen des nächsten Abschnitts mit den Codes sehen werden und warum wir dies und auf diese Weise getan haben. (Codes sind in dieser Version der Dokumentation nicht mehr enthalten, siehe dafür die \pf{powerdot}-Stildatei. C.R.) \bibliographystyle{plain} \bibliography{powerdot} \section*{Danksagungen} Die Autoren danken Mael Hill\'ereau für das Beisteuern der \LyX -Layoutdatei und deren Beschreibung. Ferner all jenen, die Stile für \pf{Powerdot} bereitstellten (Abschnitt~\ref{sec:styles}) und darüberhinaus allen, die an diesem Paket in der einen oder anderen Weise beteiligt waren.\\[1em] \hspace*{\stretch{1}} \begin{minipage}{.9\linewidth} Ramon van den Akker, Pavel \v C\'i\v zek, Darren Dale, Hans Marius Eikseth, Morten H\o gholm, Andr\'as Horv\'ath, Laurent Jacques, Akira Kakuto, Uwe Kern, Kyanh, Theo Stewart, Don P. Story and Herbert Vo\ss. \end{minipage} \hspace*{\stretch{1}}\\[1em] Wir hoffen, dass wir niemanden vergessen haben. \PrintChangesX\PrintIndexX \end{document}