diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/powerdot/docs')
19 files changed, 9201 insertions, 0 deletions
diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/RunDoc b/Master/texmf-dist/doc/latex/powerdot/docs/RunDoc new file mode 100755 index 00000000000..b0a0ec257aa --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/RunDoc @@ -0,0 +1,29 @@ +#!/bin/bash +# To generate style examples, do +# (after extracting powerdot-styleexample.tex): +# Do this for all available styles (replace `default' by any +# other style name) to generate .001 and .002 files which +# will be included by the documentation. + +latex powerdot.tex +./RunExamples +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 +dvips powerdot.dvi +ps2pdf powerdot.ps +latex powerdotDE.tex +latex powerdotDE.tex + +rm *.aux *.log *.i?? *.g?? *.toc *.dvi *.blg *.ps *.bm *.bbl +rm powerdot-styleexample-* + + +# If you also want to generate the source code documentation, +# remove \OnlyDescription from the preamble of powerdot.dtx +# prior to compiling the source. +# diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/RunExamples b/Master/texmf-dist/doc/latex/powerdot/docs/RunExamples new file mode 100755 index 00000000000..d386d757264 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/RunExamples @@ -0,0 +1,81 @@ +#!/bin/bash +# To generate style examples, do +# (after extracting powerdot-styleexample.tex): +# Do this for all available styles (replace `default' by any +# other style name) to generate .001 and .002 files which +# will be included by the documentation. + + latex "\def\style{default}\input{powerdot-styleexample}" + latex "\def\style{default}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-default.ps +# + latex "\def\style{ciment}\input{powerdot-styleexample}" + latex "\def\style{ciment}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-ciment.ps +# + latex "\def\style{aggie}\input{powerdot-styleexample}" + latex "\def\style{aggie}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-aggie.ps +# + latex "\def\style{bframe}\input{powerdot-styleexample}" + latex "\def\style{bframe}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-bframe.ps +# + latex "\def\style{elcolors}\input{powerdot-styleexample}" + latex "\def\style{elcolors}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-elcolors.ps +# + latex "\def\style{fyma}\input{powerdot-styleexample}" + latex "\def\style{fyma}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-fyma.ps +# + latex "\def\style{horatio}\input{powerdot-styleexample}" + latex "\def\style{horatio}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-horatio.ps +# + latex "\def\style{husky}\input{powerdot-styleexample}" + latex "\def\style{husky}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-husky.ps +# + latex "\def\style{ikeda}\input{powerdot-styleexample}" + latex "\def\style{ikeda}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-ikeda.ps +# + latex "\def\style{jefka}\input{powerdot-styleexample}" + latex "\def\style{jefka}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-jefka.ps +# + latex "\def\style{klope}\input{powerdot-styleexample}" + latex "\def\style{klope}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-klope.ps +# + latex "\def\style{paintings}\input{powerdot-styleexample}" + latex "\def\style{paintings}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-paintings.ps +# + latex "\def\style{pazik}\input{powerdot-styleexample}" + latex "\def\style{pazik}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-pazik.ps +# + latex "\def\style{sailor}\input{powerdot-styleexample}" + latex "\def\style{sailor}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-sailor.ps +# + latex "\def\style{simple}\input{powerdot-styleexample}" + latex "\def\style{simple}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-simple.ps +# + latex "\def\style{tycja}\input{powerdot-styleexample}" + latex "\def\style{tycja}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-tycja.ps +# + latex "\def\style{upen}\input{powerdot-styleexample}" + latex "\def\style{upen}\input{powerdot-styleexample}" + dvips -i powerdot-styleexample -o powerdot-styleexample-upen.ps + +rm *.aux *.log *.i?? *.g?? *.toc *.dvi *.blg *.bm *.bbl + +# If you also want to generate the source code documentation, +# remove \OnlyDescription from the preamble of powerdot.dtx +# prior to compiling the source. +# diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/RunSlideDoc b/Master/texmf-dist/doc/latex/powerdot/docs/RunSlideDoc new file mode 100755 index 00000000000..c7bfd8db135 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/RunSlideDoc @@ -0,0 +1,25 @@ +#!/bin/bash +# To generate style examples, do +# (after extracting powerdot-styleexample.tex): +# Do this for all available styles (replace `default' by any +# other style name) to generate .001 and .002 files which +# will be included by the documentation. + +latex powerdotSlide.tex +latex powerdotSlide.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 +dvips powerdotSlide.dvi +ps2pdf powerdotSlide.ps + +rm *.aux *.log *.i?? *.g?? *.toc *.dvi *.blg *.ps *.bm *.bbl +rm powerdot-styleexample-* + + +# If you also want to generate the source code documentation, +# remove \OnlyDescription from the preamble of powerdot.dtx +# prior to compiling the source. +# diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/manifest.txt b/Master/texmf-dist/doc/latex/powerdot/docs/manifest.txt new file mode 100644 index 00000000000..1e08f6602c0 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/manifest.txt @@ -0,0 +1,71 @@ +powerdot manifest +================= + + +This work consists of the file: + + powerdot.cls + powerdot-styletest.tex + powerdot-styleexample.tex + powerdot-example1.tex + powerdot-example2.tex + powerdot-example3.tex + powerdot-default.sty + powerdot-tycja.sty + powerdot-ikeda.sty + powerdot-fyma.sty + powerdot-simple.sty + powerdot-ciment.sty + powerdot-elcolors.sty + powerdot-aggie.sty + powerdot-husky.sty + powerdot-sailor.sty + powerdot-upen.sty + powerdot-bframe.sty + powerdot-horatio.sty + powerdot-paintings.sty + powerdot-klope.sty + powerdot-jefka.sty + powerdot-pazik.sty + + + +The following overview shows which files constitute the +powerdot bundle and must be distributed as a whole. It +also shows the supposed location of these files in a +TDS-compliant TeX-tree: + +CTAN:/macros/latex/contrib/powerdot/distrib: official location + | + |- README : should not be installed + |- docs + | |- lyx : /doc/latex/powerdot + | | |- powerdot.layout : /doc/latex/powerdot/lyx + | | |- powerdot-example.lyx : /doc/latex/powerdot/lyx + | | `- powerdot-example.tex : /doc/latex/powerdot/lyx + | | + | |- manifest.txt : /doc/latex/powerdot + | |- powerdot.pdf : /doc/latex/powerdot + | |- powerdot-example1.tex : /doc/latex/powerdot + | |- powerdot-example2.tex : /doc/latex/powerdot + | `- powerdot-example3.tex : /doc/latex/powerdot + | + |- powerdot.cls : /tex/latex/powerdot + |- powerdot-default.ps : /tex/latex/powerdot + |- powerdot-default.sty : /tex/latex/powerdot + |- powerdot-ikeda.sty : /tex/latex/powerdot + |- powerdot-tycja.sty : /tex/latex/powerdot + |- powerdot-fyma.sty : /tex/latex/powerdot + |- powerdot-simple.sty : /tex/latex/powerdot + |- powerdot-ciment.sty : /tex/latex/powerdot + |- powerdot-elcolors.sty : /tex/latex/powerdot + |- powerdot-aggie.sty : /tex/latex/powerdot + |- powerdot-husky.sty : /tex/latex/powerdot + |- powerdot-sailor.sty : /tex/latex/powerdot + |- powerdot-upen.sty : /tex/latex/powerdot + |- powerdot-bframe.sty : /tex/latex/powerdot + |- powerdot-horatio.sty : /tex/latex/powerdot + |- powerdot-paintings.sty : /tex/latex/powerdot + |- powerdot-klope.sty : /tex/latex/powerdot + |- powerdot-jefka.sty : /tex/latex/powerdot + `- powerdot-pazik.sty : /tex/latex/powerdot diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example1.pdf b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example1.pdf Binary files differnew file mode 100644 index 00000000000..2049764d1ea --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example1.pdf diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example1.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example1.tex new file mode 100644 index 00000000000..40c97bcc5e6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example1.tex @@ -0,0 +1,66 @@ +%% +%% This is file `powerdot-example1.tex', +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2010 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- +%% +%% 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. +%% +\documentclass{powerdot} + +\title{powerdot example 1} +\author{Hendri Adriaens \and Christopher Ellison} + +\begin{document} + +\maketitle + +\begin{slide}{Slide 1} + \begin{itemize} + \item This is the first slide\pause + \item There is nothing special about it. + \end{itemize} +\end{slide} + +\section{First section} + +\begin{slide}{Slide 2} + \begin{itemize} + \item<1-> Here + \begin{itemize} + \item<2-> we + \begin{itemize} + \item<3-> demonstrate + \begin{itemize} + \item<4-> the itemize environment + \end{itemize} + \end{itemize} + \end{itemize} + \end{itemize} +\end{slide} + +\begin{slide}{Slide 3} + \begin{enumerate}[type=1] + \item<1> Here + \begin{enumerate} + \item<2> we + \begin{enumerate} + \item<3> demonstrate + \begin{enumerate} + \item<4> the enumerate environment + \end{enumerate} + \end{enumerate} + \end{enumerate} + \end{enumerate} +\end{slide} + +\end{document} +\endinput +%% +%% End of file `powerdot-example1.tex'. diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example2.pdf b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example2.pdf Binary files differnew file mode 100644 index 00000000000..a3b1fd5ab6c --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example2.pdf diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example2.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example2.tex new file mode 100644 index 00000000000..8d8403be397 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example2.tex @@ -0,0 +1,97 @@ +%% +%% This is file `powerdot-example2.tex', +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2010 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- +%% +%% 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. +%% +\documentclass[ + size=12pt, + style=ikeda, + paper=screen, +%% Try me! +%% orient=portrait, +%% mode=handout, +%% display=slidesnotes, + blackslide, + nopagebreaks, + fleqn +]{powerdot} + +\title{powerdot example 2} +\author{Hendri Adriaens\and Christopher Ellison} + +\pdsetup{ + lf=Example 2, + cf=\today, + rf=for powerdot, + trans=Wipe, + theslide=slide~\arabic{slide}, + list={itemsep=6pt} +} + +\begin{document} + +\maketitle + +\begin{slide}{Slide 1} + \begin{itemize} + \item This is a bigger example\pause + \item demonstrating more of the possibilities of powerdot. + \end{itemize} +\end{slide} + +\section{This section has a slide} + +\begin{slide}{Slide 2} + Here is the binomium formula.\pause + \begin{equation}\label{binomium} + (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k + \end{equation}\pause + We will prove formula (\ref{binomium}) on the blackboard.\\ + Click the title of this slide to switch to the black slide. +\end{slide} + +\begin{note}{Note to slide 2} + Here we could type the proof that + we want to copy to the blackboard. +\end{note} + +\begin{slide}{Slide 3} + \begin{itemize}[type=1] + \item This happens\dots\pause + \item when you change\dots\pause + \item the type of itemize. + \end{itemize} +\end{slide} + +\section[template=wideslide,tocsection=hidden]{A hidden wide section} + +\begin{slide}{Slide 4} + \begin{itemize} + \item We only treat this material\dots\pause + \begin{itemize} + \item if we have some time left.\pause + \item But don't hesitate\dots\pause + \end{itemize} + \item to read it yourself. + \end{itemize} +\end{slide} + +\begin{wideslide}{Slide 5} + This wide slide can contain more material + as it is wider and does not have a table + of contents. +\end{wideslide} + +\end{document} +\endinput +%% +%% End of file `powerdot-example2.tex'. diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example3.pdf b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example3.pdf Binary files differnew file mode 100644 index 00000000000..ecf49830cd6 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example3.pdf diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example3.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example3.tex new file mode 100644 index 00000000000..fed59471afd --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-example3.tex @@ -0,0 +1,175 @@ +%% +%% This is file `powerdot-example3.tex', + +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2010 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- +%% +%% 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. +%% +\documentclass[style=klope,%clock, + hlsections]{powerdot} + +\usepackage{amsmath} +\usepackage{pst-node} +\usepackage{listings} + +\lstnewenvironment{example}[1][]{% + \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,% + frame=single,backgroundcolor=\color{yellow!20},% + xleftmargin=\fboxsep,xrightmargin=\fboxsep%,gobble=1 + }\lstset{#1}}{} +\lstnewenvironment{examplesmall}[1][]{% + \lstset{basicstyle=\tiny\ttfamily,columns=flexible,% + frame=single,backgroundcolor=\color{yellow!20},% + xleftmargin=\fboxsep,xrightmargin=\fboxsep%,gobble=2 + }\lstset{#1}}{} + +\title{powerdot example 3 --- verbatim and random dots} +\author{Hendri Adriaens\and Christopher Ellison} + +\pdsetup{ + lf=Example 3, + cf=\today, + rf=for powerdot, + palette=Spring, + randomdots, + dprop={dotstyle=ocircle,linewidth=.25pt}, + dmindots=5,dmaxdots=5, + dminsize=600pt,dmaxsize=700pt, + dbright=50, + logohook=c, + logopos={.505\slidewidth,.08\slideheight}, + logocmd={\includegraphics[scale=.05]{powerdot-default.ps}} +} + +\begin{document} + +\maketitle + +\begin{slide}{Overview} + \begin{enumerate}[type=1] + \item This file demonstrates \pause + \begin{itemize} + \item some uses of \texttt{verbatim} \pause + \end{itemize} + \item and \pause + \begin{itemize} + \item some uses of randomdots + \end{itemize} + \end{enumerate} +\end{slide} + +\section{section} + +\begin{slide}[palette=PastelFlower,method=direct, + dprop={dotstyle=*}, + dminsize=5pt,dmaxsize=10pt, + dmindots=5,dmaxdots=10]{Name that quote} + G\"odel, Escher, Bach: an Eternal Golden Braid \pause + + \verb|G\"odel, Escher, Bach: an Eternal Golden Braid| \pause + + \begin{quote} + The two of you may find it amusing to listen + to such totally meaningless cacophony, but I assure you it is not at + all pleasant for a sensitive composer to be subjected to such + excruciating, empty dissonances and meaningless rhythms. Achilles, + I thought you had a good feeling for music. Could it be that your + previous pieces had merit merely by coincidence? + \end{quote} +\end{slide} + +\begin{slide}[palette=BlueWater, + dprop={dotstyle=osquare,linewidth=.2pt}, + dminsize=4pt,dmaxsize=10pt, + dmindots=5,dmaxdots=10]{Itemize} + \begin{itemize} + \item<1> here + \item<2> we + \item<3> go + \end{itemize} +\end{slide} + +\begin{slide}[toc=What day is it?,bm=What day is it?,method=direct, + dprop={dotstyle=*},dminsize=4pt,dmaxsize=20pt, + dmindots=30,dmaxdots=30]{What day is it?\hfill A test} +\begin{example} + <?php + if ($day == "monday") + { + $callInSick = true; + } + else + { + $callInSick = false; + } + ?> +\end{example} +\end{slide} + +\section[slide=false]{The \texttt{direct} and \texttt{file} methods} + +\begin{slide}[method=direct,randomdots=false]{Quadratic} + With \verb|method=direct|, there are no overlays.\pause + + But you can still use display verbatim text. + + \[ + x \pause = \pause \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \pause + \] + + Attempting \pause a \pause pause\ldots\pause + + \verb|Plot[3x,{x,0,10}]| +\end{slide} + +\begin{slide}[method=file,randomdots=false]{Quadratic} + With \verb|method=file|, \pause you can display verbatim text and have overlays.\pause + + \[ + x \pause = \pause \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \pause + \] + + Attempting \pause a \pause pause\ldots\pause + + \verb|Plot[3x,{x,0,10}]| +\end{slide} + +\section[slide=false]{Nodes} + +\begin{slide}[method=file,randomdots=false]{Taylor} +\begin{lstlisting}[escapechar=|,mathescape] + e^x |\pause| = 1 + |\pause|x + |\pause|x^2/2! + |\color{red}{\ldots}| |\pause| + e^x |\pause| = 1 + |\pause|x + |\pause|$\rnode{A}{\frac{x^2}{2!}}$ + |\color{red}{\ldots}| +\end{lstlisting} +\pause\vspace{.1in} +Notice, \rnode{B}{this} fraction is in \verb|mathmode|. +\onslide*{11-}{\ncarc[linecolor=blue,arcangle=-5]{->}{B}{A}}\pause \vspace{.1in} + +The above (as its own slide) was coded as follows: +\begin{examplesmall}[escapechar=@] + \begin{slide}[method=file]{Taylor} + \begin{lstlisting}[escapechar=|,mathescape] + e^x |\pause| = 1 + |\pause|x + |\pause|x^2/2! + |\color{red}{\ldots}| |\pause| + e^x |\pause| = 1 + |\pause|x + |\pause|$\rnode{A}{\frac{x^2}{2!}}$ + |\color{red}{\ldots}| + \end{lstlisting} + + \pause\vspace{.1in} + + Notice, \rnode{B}{this} fraction is in \verb|mathmode|. + \onslide*{11-}{\ncarc[linecolor=blue,arcangle=-5]{->}{B}{A}}\pause \vspace{.1in} + @\char`\\@end{slide} +\end{examplesmall} +\end{slide} + +\end{document} +\endinput +%% +%% End of file `powerdot-example3.tex'. diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-styleexample.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-styleexample.tex new file mode 100644 index 00000000000..4b83a312fa9 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-styleexample.tex @@ -0,0 +1,50 @@ +%% +%% This is file `powerdot-styleexample.tex', +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2010 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- +%% +%% 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[paper=letterpaper,style=\style]{powerdot} +\title{Example of the \style\ style} +\author{Hendri Adriaens \and Christopher Ellison} +\pddefinetemplate[slide]{slide}{tocpos}{} +\pdsetup{lf=left footer,rf=right footer} +\begin{document} +\maketitle +\begin{slide}{Example slide} + Here is the binomium formula. + \begin{equation}\label{binomium} + (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k + \end{equation} + We will prove formula (\ref{binomium}) on the blackboard.\\ + \begin{itemize} + \item Here + \begin{itemize} + \item is + \begin{itemize} + \item a + \begin{itemize} + \item list + \end{itemize} + \item with + \end{itemize} + \item seven + \end{itemize} + \item items. + \end{itemize} +\end{slide} +\end{document} +\endinput +%% +%% End of file `powerdot-styleexample.tex'. diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-styletest.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-styletest.tex new file mode 100644 index 00000000000..8473c415572 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot-styletest.tex @@ -0,0 +1,134 @@ +%% +%% This is file `powerdot-styletest.tex', +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2010 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- +%% +%% 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". +%% +%% For testing, enter your style below. +%% Switch on only one paper/orient option at a time. +\documentclass[ + style=your style, + paper=screen, +%% paper=a4paper, +%% paper=letterpaper, + orient=landscape, +%% orient=portrait, + size=11pt, +%% hlsections, + clock +]{powerdot} + +\pdsetup{ + lf=left footer, + cf=center footer, + rf=right footer, + randomdots,dprop={dotstyle=ocircle} +} + +%% For testing text height. +\makeatletter +\def\textheightrule{% + \raisebox\baselineskip{\rule{1cm}\pd@@textheight}% +} +\makeatother + +\title{This is a test file to test new styles with -- +this title is very long on purpose.\thanks{Adjust textheight +to position this footnote.}} +\author{Hendri Adriaens \and Christopher Ellison} +\date{August 16, 2005} + +\begin{document} + +\maketitle + +\begin{slide}{Test normal slide} + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus + elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur + dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer + id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque + habitant morbi tristique senectus et netus et malesuada fames ac + turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem. + + Notice the color of the equation number! + \begin{equation} + (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k + \end{equation} +\end{slide} + +\begin{slide}{Test itemize} + Some text.\pause + \begin{itemize} + \item level 1\pause + \begin{itemize} + \item level 2\pause + \begin{itemize} + \item level 3\pause + \begin{itemize} + \item level 4 + \end{itemize} + \end{itemize} + \end{itemize} + \end{itemize} + Some text.\footnote{Adjust textheight + to position this footnote.} +\end{slide} + +\section{Normal section} + +\begin{slide}{Test enumerate and inactive color} + Some text.\pause + \begin{enumerate}[type=1] + \item level 1\pause + \begin{enumerate} + \item level 2\pause + \begin{enumerate} + \item level 3\pause + \begin{enumerate} + \item level 4 + \end{enumerate} + \end{enumerate} + \end{enumerate} + \end{enumerate} + Some text. +\end{slide} + +\begin{slide}{The rule has height \texttt{textheight}} + \textheightrule +\end{slide} + +\section[template=wideslide]{Wide slide section} + +\begin{wideslide}{Test wideslide} + Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus + elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur + dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer + id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque + habitant morbi tristique senectus et netus et malesuada fames ac + turpis egestas. Mauris ut leo. Cras viverra metus rhoncus + sem.\footnote{Adjust textheight to position this footnote.} + + Notice the color of the equation number! + \begin{equation} + (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k + \end{equation} +\end{wideslide} + +\begin{wideslide}{The rule has height \texttt{textheight}} + \textheightrule +\end{wideslide} + +\end{document} +\endinput +%% +%% End of file `powerdot-styletest.tex'. diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.bib b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.bib new file mode 100644 index 00000000000..c32474f8672 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.bib @@ -0,0 +1,142 @@ +%% +%% This is file `powerdot.bib', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% powerdot.dtx (with options: `bib') +%% +%% --------------------------------------------------------------- +%% Copyright (C) 2005-2010 Hendri Adriaens and Christopher Ellison +%% --------------------------------------------------------------- +%% +%% Version 1.4a prepared by Herbert Voss +%% +%% 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 "maintained". +%% +%% This Current Maintainer of this work is Hendri Adriaens. +%% +%% This work consists of all files listed in manifest.txt. +%% +@book{companion, + author = {Frank Mittelbach and Michel Goossens}, + title = {The {\LaTeX} Companion}, + edition = 2, + note = {With Johannes Braams, David Carlisle, and Chris Rowley}, + series = {Tools and Techniques for Computer Typesetting}, + publisher = {Addison-Wesley}, + address = {Boston, Massachusetts}, + year = 2004, + pagenums = {1120}, + bibliography = {yes}, + index = {yes}, + isbn = {0-201-36299-6} +} + +@MISC{PSTricks, + author = {{Timothy Van} {Zandt et al.}}, + title = {\pf{PSTricks} package, v1.07, 2005/05/06}, + howpublished = {\url{CTAN:/graphics/pstricks}} +} + +@MISC{PSTricksWeb, + author = {Herbert Vo\ss}, + title = {\pf{PSTricks} website}, + howpublished = {\url{http://tug.org/pstricks/}} +} + +@MISC{xkeyval, + author = {Hendri Adriaens}, + title = {\pf{xkeyval} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/xkeyval}} +} + +@MISC{extsizes, + author = {James Kilfiger and Wolfgang May}, + title = {\pf{extsizes} bundle}, + howpublished = {\url{CTAN:/macros/latex/contrib/extsizes}} +} + +@MISC{prosper, + author = {Fr\'ed\'eric Goualard and Peter M\o ller Neergaard}, + title = {\pf{prosper} class}, + howpublished = {\url{CTAN:/macros/latex/contrib/prosper}} +} + +@MISC{HA-prosper, + author = {Hendri Adriaens}, + title = {\pf{HA-prosper} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/HA-prosper}} +} + +@MISC{enumitem, + author = {Javier Bezos}, + title = {\pf{enumitem} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/enumitem}} +} + +@MISC{hyperref, + author = {Sebastian Rahtz and Heiko Overdiek}, + title = {\pf{hyperref} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/hyperref}} +} + +@MISC{natbib, + author = {Patrick W. Daly}, + title = {\pf{natbib} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/natbib}} +} + +@MISC{geometry, + author = {Hideo Umeki}, + title = {\pf{geometry} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/geometry}} +} + +@MISC{xcolor, + author = {Uwe Kern}, + title = {\pf{xcolor} package}, + howpublished = {\url{CTAN:/macros/latex/contrib/xcolor}} +} + +@MISC{graphics, + author = {David Carlisle}, + title = {\pf{graphics} bundle}, + howpublished = {\url{CTAN:/macros/latex/required/graphics}} +} + +@MISC{random, + author = {Donald Arseneau}, + title = {\texttt{random.tex}}, + howpublished = {\url{CTAN:/macros/generic/misc}} +} + +@MISC{CTAN, + author = {CTAN crew}, + title = {{The Comprehensive TeX Archive Network}}, + howpublished = {\url{http://www.ctan.org}} +} + +@MISC{LyXWeb, + author = {{\LyX\ crew}}, + title = {{\LyX\ website}}, + howpublished = {\url{http://www.lyx.org}} +} + +@MISC{javascript, + author = {Adobe Solutions Network}, + title = {{Acrobat JavaScript Scripting Reference}}, + howpublished = {\url{http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/javascript/AcroJS.pdf}} +} + +\endinput +%% +%% End of file `powerdot.bib'. diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.pdf b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.pdf Binary files differnew file mode 100644 index 00000000000..e56bc583192 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.pdf diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.tex new file mode 100644 index 00000000000..e0e38b9fdbc --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdot.tex @@ -0,0 +1,2807 @@ +%% --------------------------------------------------------------- +%% 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]{ltxdoc} + +\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*{Version history}% + For more information on bug fixes, typeset the source code + documentation (see section~\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 The \pf{powerdot} class +\thanks{This class can be downloaded from the CTAN mirrors: +\texttt{/macros/latex/contrib/powerdot}. See \texttt{powerdot.tex} for +information on installing \pf{powerdot} into your \LaTeX\ +distribution and for the license of this class.\newline +This documentation prepared by Herbert Vo\ss}} +\author{Hendri Adriaens\and Christopher Ellison} +\date{\fileversion\ (\filedate)} +\maketitle + +\begin{abstract}\noindent +\pf{powerdot} is a presentation class for \LaTeX\ that allows for +the quick and easy development of professional presentations. It +comes with many tools that enhance presentations and aid the +presenter. Examples are automatic overlays, personal notes and a +handout mode. To view a presentation, DVI, PS or PDF output can be +used. A powerful template system is available to easily develop new +styles. A \LyX\ layout file is provided. +\end{abstract} + +\begin{multicols}{2} +[\section*{Contents} +\setlength{\columnseprule}{.4pt} +\setlength{\columnsep}{18pt}] +\tableofcontents +\end{multicols} + +\newpage +\section{Introduction}\label{sec:intro} +This class gives you the possibility to easily create professionally +looking slides. The class is designed to make the development of +presentations as simple as possible so that you can concentrate on +the actual content instead of keeping yourself busy with technical +details. Of course, some knowledge of \LaTeX\ is still required +though. + +This class builds on and extends the \pf{prosper} class +\cite{prosper} and the \pf{HA-prosper} package \cite{HA-prosper}. +The \pf{HA-prosper} package was initially intended to extend +\pf{prosper} and correct some bugs and problems of that class. As +developments on that package progressed, it was found that +unfortunately, not all of the problems could be overcome with the +package. That discovery was the start of a new project set up to +make a new class to replace the \pf{prosper} plus \pf{HA-prosper} +combination. You're currently reading the result of that project. + +The remainder of this section will be devoted to giving a feel of +what the \pf{powerdot} presentation source looks like and giving an +overview of this documentation. + +The document structure of a presentation is always the same. You can +find it in the example below. + +\begin{example} + \documentclass[<class options>]{powerdot} + \pdsetup{<presentation options>} + \begin{document} + \begin{slide}{a slide} + Contents of the slide. + \end{slide} + \section{first section} + \begin{slide}[<slide options>]{another slide} + Contents of the slide. + \end{slide} + \begin{note}{personal note} + The note. + \end{note} + \end{document} +\end{example} + +There are several elements that define the document structure. First +of all, the class accepts some class options that control the output +of the class, for instance, paper type and style. These class +options will be discussed in section~\ref{sec:classopts}. Then there +are presentation specific options which control some of the elements +of the presentation globally, for instance, the footers. These will +be discussed in section~\ref{sec:pdsetup}. + +Once the setup has been decided on, you can use the slide +environment to produce slides (see section~\ref{sec:slides}) and the +note environment to produce notes that go with the slides (see +section~\ref{sec:notes}). You can use overlays to display material +in steps. This is described in section~\ref{sec:overlays}. The +|\section| command provides a way to structure your presentation. +This is discussed in section~\ref{sec:structure}. +Section~\ref{sec:styles} will show an overview of the styles that +come with this class and the characteristics of each style. +Section~\ref{sec:compiling} will tell you more about how to produce +output. This section contains important information on required +packages. + +Section~\ref{sec:writestyle} is mostly interesting for people that +want to develop their own style for this class or want to modify an +existing style. Section~\ref{sec:lyx} explains how \LyX\ +\cite{LyXWeb} can be used to create \pf{powerdot} presentations. +This documentation concludes with a section devoted to questions +(section~\ref{sec:questions}), like `Where can I find examples?'. It +also tells you where to turn to in case your questions are still not +solved. + +\section{Setting up the presentation}\label{sec:setup} +This section will describe all options that are available to control +the output of the presentation and the looks of it. + +\subsection{Document class options}\label{sec:classopts} We will +start with the class options that are typed in the |\documentclass| +command as a comma-separated list. For each option, the preset +value\footnote{The value that will be used when you don't use the +option.} will be mentioned in the description. This is the value +that will be used if you decide to not give a value to the option or +not use the option at all. + +\DescribeOption{mode} +This options controls the kind of output that we want to produce. +The preset value is |present|. +\begin{description} +\item\option{mode=present}\\ +This mode is used when you want to create the actual presentation. It +will enable overlays and transition effects. You can read more about +overlays in section~\ref{sec:overlays}. +\item\option{mode=print}\\ +This mode can be used when printing the slides including their visual +markup, but without any overlay or transition effects. +\item\option{mode=handout}\\ +This mode will produce a black and white overview of your slides that +can be used to make personal notes on, for distribution to students, +a personal guide during your talk, etcetera. +\begin{description} +\item\DescribeOption{nohandoutpagebreaks}\option{nohandoutpagebreaks}\\ +By default, the handout mode produces a document with two slides per +page. If you want to fit more slides on a page, specify this option +in the |\documentclass| command and \pf{powerdot} will let \LaTeX\ +decide on the places to insert a page break, namely when a page is +full. +\item\DescribeOption{nohandoutframes}\option{nohandoutframes}\\ +In handout mode, each slide is contained in a frame by default. This option turns the frames off. +\end{description} +\end{description} + +\DescribeOption{paper} This option has three possible values. The +preset value is |screen|. +\begin{description} +\item\option{paper=screen}\\ +This is a special format with screen optimized ratio (4/3). The +actual page dimensions will be 8.25 inch by 11 inch. This paper format +is not available for print or handout mode. In these modes, \pf{powerdot} +will switch to a4 paper and put a warning that it did this in the +log file of your presentation. +\item\option{paper=a4paper}\\ +A4 paper will be used for the presentation or handout. +\item\option{paper=letterpaper}\\ +Letter size paper will be used. +\item\option{paper=smartboard}\\ +smartboard size will be used (\verb|papersize={900pt,1440pt}|). +\end{description} +Some important information with respect to paper size, compiling and +viewing presentations is available in section~\ref{sec:compiling}. + +\DescribeOption{orient} This controls the orientation of the +presentation. The preset value is |landscape|. +\begin{description} +\item\option{orient=landscape}\\ +The presentation will be in landscape format. This value is not +available in handout mode. In that mode, \pf{powerdot} will switch +to portrait orientation and will warn you about this in the log +file. +\item\option{orient=portrait}\\ This produces slides in portrait +format. Notice that not all styles support portrait orientation. Please +refer to section~\ref{sec:styles} for information about which styles +do support the portrait orientation. +\end{description} + +\DescribeOption{display} This controls the production of slides and +notes. The preset value is |slides|. +\begin{description} +\item\option{display=slides}\\ +This will only typeset the slides in your presentation. +\item\option{display=slidesnotes}\\ +This will typeset both the slides and the notes in your +presentation. See also section~\ref{sec:notes} for more information +about notes. +\item\option{display=notes}\\ +This will typeset the notes only. +\end{description} + +Here are some more options to control the output. +\begin{description} +\item\DescribeOption{size}\option{size}\\ +This is the size of the normal text font in points. Possible values +are 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt and 20pt and the preset +value is 11pt.\footnote{Note that sizes other than 10pt, 11pt and +12pt are non-standard and it is assumed that you have the +\pf{extsizes} bundle \cite{extsizes} installed, which provides these +sizes.} +\item\DescribeOption{style}\option{style}\\ +This controls the style to be loaded for the presentation. By +default, the \pf{default} style will be loaded. For more styles, see +section~\ref{sec:styles}. +\item\DescribeOption{fleqn}\option{fleqn}\\ +This option makes equations flushed left. It does the same as the +equally named option for the article class. +\item\DescribeOption{leqno}\option{leqno}\\ +Put equation numbers at the left. Also the same as in the article +class. +\item\DescribeOption{nopsheader}\option{nopsheader}\\ +By default, \pf{powerdot} will write a postscript command to the ps +file to make sure that post processors like ps2pdf know which paper +to use without the need to specify it on the command line. See also +section~\ref{sec:compiling}. If you experience problems with post +processing or printing or you want to specify the paper size in the +post processing steps yourself, use this option. +\item\DescribeOption{hlentries}\option{hlentries}\\ +This highlights table of contents entries when the entry matches +with the current slide and its preset value is |true|. See also +section~\ref{sec:structure}. If you don't want highlighting of table +of contents entries (for instance in print mode), use +|hlentries=false|. +\item\DescribeOption{hlsections}\option{hlsections}\\ +This highlights table of contents sections when the section matches +with the current section in the presentation and is preset to |false|. +See also section~\ref{sec:structure}. Specifying this +option turns highlighting of sections on. This could be useful when +you are using a style that implements a split table of contents. +\item\DescribeOption{pauseslide}\option{pauseslide}\\ +This option inserts an empty slide (black by default) in the presentation on page 1 and +will automatically advance to page 2 when opening the presentation +in a PDF viewer like Acrobat (Reader). The option also inserts a +link behind every slide or section title that brings you to the +pause slide when clicked. When you click anywhere in the pause +slide, you will go back to the originating slide. This option can be +used to temporarily pause a presentation, for instance, to do a +proof on the black board. You can use a different color than black +by specifying it after the option, for instance, |pauseslide=white|. +\item\DescribeOptions{clock}\option{clock}\\ +This displays a small digital clock on slides which you can use to +check the time left for your presentation. +\end{description} + +Here is an example of a |\documentclass| command. +\begin{example} + \documentclass[ + size=12pt, + paper=screen, + mode=present, + display=slidesnotes, + style=tycja, + nohandoutpagebreaks, + pauseslide, + fleqn + ]{powerdot} +\end{example} +This example sets up a presentation in \pf{tycja} style, with a black +slide, normal size 12 points and flushed left equations. +\begin{example} + \documentclass[ + size=12pt, + paper=letterpaper, + mode=handout, + display=slidesnotes, + style=tycja, + nohandoutpagebreaks, + pauseslide, + fleqn + ]{powerdot} +\end{example} +Changing the |paper| and |mode| options, now produces a handout with +possibly more than two slides per page due to the |nohandoutpagebreaks| +option. + +\subsection{Setup options}\label{sec:pdsetup} +\DescribeMacro{\pdsetup} +There are several extra options that can help customizing your +presentation. These options are not available via the +|\documentclass| command. This has a technical reason.\footnote{The +interested reader is referred to the section about the \pf{xkvltxp} +package in the \pf{xkeyval} package documentation \cite{xkeyval}.} +We distinguish two types of options. Options that can only be set +globally (acting for the entire presentation) using the |\pdsetup| +command and options that can be accessed both globally (via +|\pdsetup|) and locally (via slide environments, see section~\ref{sec:slides}). + +\subsubsection{Global options}\label{sec:gopts} +This section describes options that can only be used globally in the +preamble of your presentation via the |\pdsetup| command. +\begin{description} +\item\DescribeOption{palette}\option{palette}\\ +This specifies the palette to be used. A palette is a set of colors +defined by a style. To find out which palettes are defined by each +style, see section~\ref{sec:styles}. +\item\DescribeOption{theslide}\option{theslide}\\ +This option controls how the slide number appears on the slide. This +is preset to the value |\arabic{slide}~/~\pageref*{lastslide}|, +which could appear like |5/22|. Notice that the |\arabic{slide}| +typesets the number of the current slide and that +|\pageref*{lastslide}| typesets the number of the last +slide.\footnote{We use the starred version of \cs{pageref} which is +defined by \pf{hyperref} and does not create a link to the page that +it is referring to.} +\item\DescribeOption{thenote}\option{thenote}\\ +This is similar to the |theslide| option, but typesets the slide +numbers of notes. The preset value is +|note~\arabic{note}~of~slide~\arabic{slide}| and |\arabic{note}| +here typesets the number of the current note that goes with the +current slide. This could appear like |note 2 of slide 7|. +\item\DescribeOption{counters}\option{counters}\\ +The |counters| option lists counters that you might want to protect +on overlays. As material on overlays (see +section~\ref{sec:overlays}) is processed multiple times, also +\LaTeX\ counters, like the |equation| counter, might be increased +too often. To avoid that your equations get different numbers on +every overlay, use this option. The |equation|, |table|, |figure|, +|footnote| and |mpfootnote| counters are already protected for you. +If you use extra counters, for instance for theorems, list them in +this option. Example: +\begin{example} + counters={theorem,lemma} +\end{example} +\item\DescribeOption{list}\option{list}\\ +This option takes a list of options that will be passed on to the +\pf{enumitem} package that controls the layout of lists created by +the |enumerate| and |itemize| environments. Example: +\begin{example} + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +\end{example} +See for more information on controlling the layout of lists the +\pf{enumitem} package \cite{enumitem}. +\item\DescribeOptions{enumerate,itemize}\option{enumerate,itemize}\\ +As the |list| option, but only control |enumerate| and |itemize| +environments respectively. +\item\DescribeOption{clockformat}\option{clockformat}\\ +This option specifies the format of the clock. The format is set using +Acrobat's |util.printd| function.\footnote{For a complete listing of +allowable formats, consult the \textit{Acrobat JavaScript Scripting +Reference}\cite{javascript}.} The default value is |HH:MM:ss|, which +shows a 00-23 hour, 00-59 minute, 00-59 second clock. Example: +\begin{example} +clockformat=h:MM tt +\end{example} +The above setting will display a 1-12 hour, 00-59 minute, am/pm clock. +That is, the clock might show |5:53 pm|. +\item\DescribeOption{clockrefresh}\option{clockrefresh}\\ +This option should be a number which specifies how often +the clock is refreshed in milliseconds. The default behavior is to refresh +the clock every second. Thus, the default value is 1000. Notice, if the +|clockformat| is such that seconds are not shown, then it makes no sense +to update that clock every second. A corresponding example: +\begin{example} +clockrefresh=60000 +\end{example} +The interpretation of this is that the clock will be updated every minute. +\end{description} + +\subsubsection{Global and local options}\label{sec:glopts} +This section describes options that can be used both globally via +|\pdsetup| and locally via slide environments (see section~\ref{sec:slides}). +\begin{description} +\item\DescribeOptions{lf,cf,rf}\option{lf,cf,rf}\\ +This determines the content of the left, center and right footers. +These are preset to empty. +\item\DescribeOption{trans}\option{trans}\\ +This option sets the default transition effect to be used in the +presentation. These transition effects only work after compiling the +presentation to PDF format. See also section~\ref{sec:compiling}. +The following transition effects are supported: |Split|, |Blinds|, +|Box|, |Wipe|, |Dissolve|, |Glitter| and |Replace|. When you are using +a viewer that understands PDF 1.5, you can also use |Fly|, |Push|, +|Cover|, |Uncover| or |Fade|. It is important to notice that most +viewers are case sensitive, so, for instance, |box| will not work. + +The preset effect is |Replace| which just replaces one slide with +another when browsing the slides. Note that some PDF viewers (like +Acrobat Reader 5 and higher) only produce the transition effect in +full screen mode. If you want to use a custom transition effect that +is not listed in the list above (for instance, a wipe effect with a +custom wipe direction), then that is possible. However, +\pf{powerdot} will put a warning in your log file that the effect +that you have chosen, might not work in the PDF viewer. Here is an +example that does work. +\begin{example} + trans=Wipe /Di 0 +\end{example} +In Acrobat (Reader), this wipes from left to right instead of the +default top to bottom. For more information, see a PDF Reference +Manual. +\item\DescribeOption{method}\option{method}\\ +This option can be used when a slide contains special material that +does not get treated in the `usual' way by \LaTeX. Verbatim material +is an example of this. Possible values are |normal| (the preset value), +|direct| and |file|. We will come back to this option in detail in +section~\ref{sec:verbatim}. +\item\DescribeOptions{logohook,logopos,logocmd}\option{logohook,logopos,logocmd}\\ +If |logopos| is specified, a logo defined by the value of the +|logocmd| option will be put on slides. The position can be +specified relative to the width and height of the slide. |{0,0}| is +the lower left corner of the paper and |{\slidewidth,\slideheight}| +is the upper right corner. For positioning the logo, the |\rput| +command of \pf{pstricks} \cite{PSTricksWeb,PSTricks} is used. This +command also allows to specify the point of the logo that should be +positioned there. This point can be entered via the |logohook| +option and can take the values |tl|, |t|, |tr|, |r|, |Br|, |br|, +|b|, |bl|, |Bl|, |l|, |B| and |c|. For more information about +|\rput|, consult the \pf{pstricks} documentation. Here is an example +that integrates the flower of the \pf{default} style into the +\pf{husky} style. +\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} +The preset value for |logohook| is |tl|. +\end{description} + +A special feature of \pf{powerdot}, which can be used to make +presentations come alive, is the use of random dots. These dots will +be placed anywhere on your slides and use the colors defined by the +palette that you use. Overlays will carry the same dots. This +feature uses |random.tex| \cite{random}. Several options are +available to control the appearance of the random dots. +\begin{description} +\item\DescribeOption{randomdots}\option{randomdots}\\ +By default, random dots are turned off. If this option is set to +|true|, random dots will be generated. |false| will turn off the +feature. When no value is submitted to the option, |true| will be +used. +\item\DescribeOptions{dmindots,dmaxdots}\option{dmindots,dmaxdots}\\ +The number of dots per slide is also random. These options set the +minimum and maximum dots per slide. Preset values are |5| and |40|, +respectively. +\item\DescribeOptions{dminsize,dmaxsize}\option{dminsize,dmaxsize}\\ +The minimum and maximum radius of the dots. Preset values are |5pt| +and |40pt|, respectively. +\item\DescribeOptions{dminwidth,dmaxwidth,dminheight,dmaxheight} +\option{dminwidth,dmaxwidth,dminheight,dmaxheight}\\ +These options determine the area on the slide that can be used for +the random dots. These values are preset such that dots go anywhere +on the slide, but you might want to adjust these such that, for +instance, dots can only appear in the text area. The preset values +are |0pt|, |\slidewidth|, |0pt|, |\slideheight|. + +Here is an example that allows dots in a smaller rectangle on the +slide. +\begin{example} + \pdsetup{ + dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth, + dminheight=.2\slideheight,dmaxheight=.8\slideheight + } +\end{example} +\item\DescribeOption{dbright}\option{dbright}\\ +This option can be used to adjust the brightness of the dots. The +number should be an integer between -100 and 100. If the number is +negative, the color will be adjusted towards black, with -100 giving +black. If the number is positive, the color will be adjusted towards +white, with 100 giving white. With a light background, you may want +to choose |bright| to be positive. With a dark background, you may +want to set it negative. The preset value is |60|, meaning a mixture +of 40\% of the original color and 60\% white. +\item\DescribeOption{dprop}\option{dprop}\\ +This option is used for passing extra parameters to the |\psdot| +command, which creates the random dots. You could, for instance, +change the style of the dots or the line width. See for more +information about |\psdot| the \pf{pstricks} documentation +\cite{PSTricksWeb,PSTricks}. \pf{powerdot} defines two extra dot +styles that can be used for the random dots. These styles are +|ocircle| (open circle) and |osquare| (open square). +\end{description} + +Here are two examples for the use of random dots. +\begin{example} + \pdsetup{ + randomdots,dminwidth=.2\slidewidth + } +\end{example} +This turns on random dots and doesn't use the left 20\% of the slide +for placing random dots. +\begin{example} + \pdsetup{ + randomdots,dprop={dotstyle=ocircle,linewidth=.5pt}, + dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5 + } +\end{example} +This example puts at most 5 big circles on slides. These circles do +not fit on the slides and you will only see parts of them in the +shape of curves. + +\subsubsection{\cs{pdsetup} example} +Here is an example of a |\pdsetup| command that one could use to set up +the presentation. +\begin{example} + \pdsetup{ + lf=My first presentation, + rf=For some conference, + trans=Wipe, + theslide=\arabic{slide}, + randomdots,dmaxdots=80 + } +\end{example} +This sets the left and right footers and will initialize the +transition effect to |Wipe|. Further, slide numbers will not include +the number of the last slide, but only the number of the current +slide. Finally, slides will be covered with at most 80 random dots. + +A small note is necessary with respect to the appearance of footers. +The slide number (controlled by the |theslide| option) will be added +to a footer. Most styles add it too the right footer. If both the +footer and the slide number are non empty, |~--~| will be inserted +in between them to separate them. Styles might modify this default +behavior however. + +\section{Making slides}\label{sec:slides} +\subsection{The title slide}\label{sec:titleslide} +\DescribeMacro{\title} +\DescribeMacro{\author} +\DescribeMacro{\and} +\DescribeMacro{\date} +\DescribeMacro{\maketitle} +The title slide is created by the |\maketitle| command. +\begin{command} + `\cs{maketitle}\oarg{options}' +\end{command} +Its use is the same as in the standard \LaTeX\ document classes. The +optional argument \meta{options} can contain any option from +section~\ref{sec:glopts}. Specifying such an option in the +|\maketitle| command will only have an effect on the title slide and +not on other slides. See an example below. +\begin{example} + \documentclass{powerdot} + \title{Title} + \author{You \and me} + \date{October 7, 2010} + \begin{document} + \maketitle + ... + \end{document} +\end{example} +The |author|, |title| and |date| declarations provide the text to be +used when making a title page. The design of the title page is +specific to the style in use. Notice the use of |\and| for +separating multiple authors. See a \LaTeX\ manual \cite{companion} +for more information on commands such as |\title| and |\author|. + +\subsection{Other slides}\label{sec:otherslides} +\DescribeEnv{slide} The centerpiece of every presentation is the +slide. In \pf{powerdot}, the content of each slide is placed in a +|slide| environment. +\begin{command} + `\cs{begin}\texttt{\{slide\}}\oarg{options}\marg{slide title}' + `\meta{body}' + `\cs{end}\texttt{\{slide\}}' +\end{command} + +In section~\ref{sec:overlays} we'll see how to give some life to the +slides, but for now, let's look at a simple example. +\begin{example} + \begin{slide}{First slide} + Hello World. + \end{slide} +\end{example} +The slide environment has one required argument, namely the slide +title. When a slide is created, the slide title is used to create an +entry in the table of contents and in the list of bookmarks. The +table of contents is a listing of the slides and section titles in +the presentation that appears on each slide. + +The table of contents is clickable (when the presentation is +compiled into PDF) and serves as a nice way to jump from location to +location within the presentation. The bookmark list is only present +when compilation is taken all the way to the PDF file format. It +also serves as a table of contents, but this list does not appear on +\textit{any} of the slides, but in a separate window in a PDF +viewer. In the example above, the entries in both table contents and +the list of bookmarks would be titled |First slide|. + +The \meta{options} for the |slide| environment can contain any +option listed in section~\ref{sec:glopts}. Additionally, the +following options can be used. +\begin{description} +\item\DescribeOption{toc}\option{toc}\\ +When specified, the value is used for the entry in the table of +contents; otherwise, the slide title is used. If |toc=| is +specified, then no entry is created. +\item\DescribeOption{bm}\option{bm}\\ +When specified, the value is used for the bookmark entry; otherwise, +the slide title is used. If |bm=| is specified, then no entry is +created. +\end{description} + +These optional arguments are especially useful when the title of a +slide is extremely long or when the title contains \LaTeX\ commands +that do not render correctly in the bookmarks.\footnote{The +bookmarking procedure uses \cs{pdfstringdef} from the \pf{hyperref} +package, and it can process accented characters such as \cs{"i}.} +When specifying entries, be sure to hide special characters `|,|' +and `|=|' between curly brackets `|{|' and `|}|'. Let's look at an +example that uses these optional arguments. +\begin{example} + \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$} + My slide contents. + \end{slide} +\end{example} + +In this example, the slide title will appear as {\color{red}\LaTeX, +$i^2=-1$}. This text will not render correctly in a bookmark entry. +An attempt is made to correct this, but often, the correction does +not produce an equivalent text. This particular title would be +rendered in the bookmark list as |redLaTeX, i2=-1|. On the other +hand, the manually specified bookmark entry is rendered as: +|LaTeX, i*i=-1|. Notice, no entry is created in the table of contents, +because of the use of |toc=|. + +In addition to the |slide| environment, each individual style can +define its own environments. Many styles have a |wideslide| +environment. The idea is that one might have information that does +not fit nicely on a slide with a table of contents listed, as this +consumes some space. In such cases, it is preferable to use a slide +that does not list the table of contents. The |wideslide| +environment provides this functionality and has more space for the +actual slide content. See section~\ref{sec:styles} for information +on the various environments provided by the styles. + +\section{Overlays}\label{sec:overlays} +It is often the case that you don't want all the information on the +slide to appear at once. Rather, the information should appear one +item at a time. In \pf{powerdot}, this is achieved with overlays. +Each slide can be comprised of many overlays, and the overlays are +displayed one at a time. + +\subsection{The \cs{pause} command}\label{sec:pause} +\DescribeMacro{\pause} The easiest way to display information +sequentially is to use the |\pause| command. +\begin{command} + `\cs{pause}\oarg{number}' +\end{command} +Below is a simple example: +\begin{example} + \begin{slide}{Simple overlay} + power\pause dot + \end{slide} +\end{example} +The slide's information is displayed and continues until the +|\pause| command is encountered. No further output within the same +slide is displayed until the click of the mouse or the touch of the +keyboard. Then, the content will continue to display until all the +information is displayed or until another |\pause| command is +encountered. In this example, |power| is displayed on the first +overlay, and |powerdot| is the displayed on the second overlay. The +|\pause| command is often used within the |itemize| and |enumerate| +environments. For example, +\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} +Since |\pause| was used before the |itemize| environment, no item +will appear until the third overlay. Then, each item will be +displayed one at a time, each on their own overlay. More information +on using lists will follow in the next section. + +The optional argument of the |\pause| command specifies the number +of overlays to pause. An example usage is: +\begin{example} + \begin{slide}{Pause longer} + \begin{itemize} + \item A \pause + \item B \pause[2] + \item C + \end{itemize} + \end{slide} +\end{example} +In the example above, item |C| will appear on the fourth overlay. +The usefulness of this option will become more apparent in the next +section; so we will revisit a similar example at that time. + +\subsection{List environments}\label{sec:lists} +The list environments, |itemize| and |enumerate|, have special +treatments in \pf{powerdot}. They have an optional argument that +will be taken care off by the \pf{enumitem} package (see +\cite{enumitem}). \pf{powerdot} supplies an extra key for this +optional argument. In the examples that follow, features will be +described using the |itemize| environment but they also apply to the +|enumerate| environment. + +Here is the typical usage of the |itemize| environment: +\begin{example} + \begin{slide}{Basic itemize} + \begin{itemize} + \item A \pause + \item B \pause + \item C + \end{itemize} + \end{slide} +\end{example} +The display is simple, each item appears one at a time with each +overlay. + +\DescribeOption{type} +Suppose we wanted every item to show, but we only wanted one item to +appear `active' at once. This can be accomplished via the |type| +option for the |itemize| environment. The preset value is |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} +Now, every item will be displayed in the \emph{inactive +color}\index{inactive color|usage} (which is defined by the style +that you use), and the item's font color will become the active one +on the overlay that it would normally appear on. The default +behavior is given by |type=0|. It is still possible to pass +optional arguments to \pf{enumitem} via the second optional argument: + +\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} +Take care, that this must always be the second optional argument! +It is possible to leave the first one empty, which is valid only for \pf{powerdot}. + + +Lists can also be nested to create complicated structures. When a +list is nested, it inherits the setting of the |type| option from +the `parent' list, but that can be overruled by specifying the +|type| option in the optional argument of the nested list. We +present here one example, but many more can be created by nesting +lists of different types in different ways. +\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} +This displays |A| and |B| on the first overlay, but |B| is inactive. +On overlay 2, |B| will become active and on overlay 3, |C| will +become visible. + +\subsection{The \cs{item} command} +\DescribeMacro{\item} +The |\item| command has an extra \emph{optional} argument in +\pf{powerdot} which allows for creating overlays in a more flexible +way then |\pause| provides. +\begin{command} + `\cs{item}\oarg{label}\larg{overlays}' +\end{command} +This optional argument should contain an overlay specification +stating on which overlays you want the item to appear. This +specification is a comma separated list where each item can used the +notation as in table \ref{tab:item}. +\begin{table}[htb]\centering +\begin{tabular}{d} +Syntax&Meaning\\\hline +\texttt{x}&Only overlay \texttt{x}\\ +\texttt{-x}&All overlays up to and including \texttt{x}\\ +\texttt{x-}&All overlays from \texttt{x}, including \texttt{x}\\ +\texttt{x-y}&All overlays from \texttt{x} to \texttt{y}, +including \texttt{x} and \texttt{y}\\ +\end{tabular} +\caption{\cs{item} and \cs{onslide} notation}\label{tab:item} +\end{table} +The \meta{label} argument is the standard optional argument for +|\item| in \LaTeX. A \LaTeX\ manual \cite{companion} can tell you +more about this argument. + +Here is an example. +\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} +Here we have said that |A| should only be active on overlay 1, |B| +should only be active on overlay 2, and |C| should only be active on +overlay 3. Again, when the item is not active, it appears in the +inactive color because of |type=1|. + +If |type=0| is specified and if each item is given an overlay +option, then each item will appear only when it is active. When the +item is not active, then it will not show on the slide at all. More +examples demonstrating the syntax for \meta{overlays} will be +discussed in the next section. + +\subsection{The \cs{onslide} command}\label{sec:onslide} +\DescribeMacro{\onslide} Overlays can also be achieved using the +|\onslide| command. +\begin{command} + `\cs{onslide}\marg{overlays}\marg{text}' +\end{command} +This command takes an \meta{overlays} specification as first +argument and the \meta{text} to apply it to as second argument. The +\meta{overlays} on which the text will appear are specified as a +comma separated list with syntax as in table \ref{tab:item}. We +start off with a simple example. +\begin{example} + \begin{slide}{Simple onslide} + \onslide{1,2}{power}\onslide{2}{dot} + \end{slide} +\end{example} +We have instructed |power| to appear on overlays one and two, and +|dot| to appear only on overlay two. As you might guess, this +example has the same output as our first |\pause| example. Yet, it +is clearly the case that our syntax is more complicated. However, +this slight ``complication'' also allows for much more flexibility. + +\DescribeMacro{\onslide+}Consider the above example with the +following modifications: +\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} +The |\onslide+| command displays its content in a different manner +altogether. Now, |dot| appears on every overlay, but it is in +inactive color\index{inactive color|usage} and matches the normal +font color \textit{only} on overlay two. This is comparable to the +|type=1| behavior for lists (see section~\ref{sec:lists}). + +When executing this example, we will also notice that the |\onslide| +command does hide material, but still reserves the right amount of +space for it: on overlay 2, the |dot|s appear right above each +other. The next command does not reserve space. + +\DescribeMacro{\onslide*} Instead of hiding and reserving space +(|\onslide|) or putting \meta{text} in the inactive color +(|\onslide+|) when the overlay doesn't match \meta{overlays}, this +command just eats the material altogether. To understand the +differences, consider the following example: +\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} +The output of the first two lines, we are already familiar with. The +third line displays |power| on overlay 1 and |dot| on overlay 2, but +no space for |power| is reserved on overlay 2. Hence |dot| will +start on the cursor position that |power| started on overlay 1 and +it is not aligned below the other two |dots|. + +We finish with an example of the syntax that is possible with +|\item| and |\onslide|. Remember that these commands take a comma +separated list for the \meta{overlays} specification and that each +element can used the syntax as explained in table \ref{tab:item}. +The various variations are demonstrated in the example below. +\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} +Sometimes it is a pain to keep track of when an item should appear +or become active. You might, for example, just care that some text +appears on the overlay \textit{after} some other item. This +functionality is provided through the use of relative overlays which +should not be used outside list environments that use |\item|. Let's +consider a simple, illuminating example. +\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} +As you can see, we still use |\onslide|. The only change is with the +syntax of the list of overlays. Now, we can specify a `|+|' symbol +in the list. In its simplest usage, |\onslide{+1}| will make text +display one overlay after the overlay it would \textit{normally} +appear on. You can still use the syntax in table \ref{tab:item}. +These are demonstrated in the above example. Notice, +|\onslide{+1-6}| means that the text will appear one overlay after +the overlay it would normally appear on and that the text should +remain shown until overlay seven. To make text appear for a range of +relative overlays, see the final demonstration in the above example. + +\section{Presentation structure}\label{sec:structure} +\subsection{Making sections}\label{sec:section} +\DescribeMacro{\section} +This section describes the |\section| command which provides a way +to structure a presentation. +\begin{command} + `\cs{section}\oarg{options}\marg{section title}' +\end{command} +This command will produce a slide with \meta{section title} on it +and will also use this text to create sections in the table of +contents and in the bookmarks list. There are several \meta{options} +to control its output. + +\DescribeOption{tocsection} This option controls the creation of a +section in the table of contents. The preset value is |true|. +\begin{description} +\item\option{tocsection=true}\\ +This does create a section in the table of contents. This means that +all following slides, until the next section, will be nested under +this section. +\item\option{tocsection=false}\\ +This does not create a section in the table of contents and hence +the section will be listed as an ordinary slide. +\item\option{tocsection=hidden}\\ +This does create a section in the table of contents, but this is +only visible when you view a slide that is part of this section. +This could be used to append a section to the presentation which you +can discuss if there is some extra time. +\end{description} + +\DescribeOption{slide} This option controls whether the |\section| +command creates a slide. The preset value is |true|. +\begin{description} +\item\option{slide=true}\\ +A slide is created. +\item\option{slide=false}\\ +No slide will be created. If also |tocsection| is |false|, the +|\section| command doesn't do anything. If it does create a table of +contents section (|tocsection=| |true| or |hidden|), its link will +point to the first slide in the section as the section itself +doesn't have a slide. +\end{description} + +\DescribeOption{template} This option can be used to make the +section slide with another template. By default, a normal |slide| +environment is used to create the section slide, but if a style +offers other templates that could be used for this purpose (for +instance, the |wideslide| environment), then you can use this option +to select that template. See section~\ref{sec:styles} for an +overview of the available templates with every style. + +Finally, all options available to normal slides are available to +slides created by |\section| as well (see section~\ref{sec:slides}). +However, when the section does make a |tocsection|, |toc=| or |bm=| +won't remove the table of contents entry or the bookmark +respectively. + +\subsection{Making an overview}\label{sec:tableofcontents} +\DescribeMacro{\tableofcontents} +This command creates an overview of your presentation and can only +be used on a slide. +\begin{command} + `\cs{tableofcontents}\oarg{options}' +\end{command} +There are several \meta{options} to control the output of this +command. + +\DescribeOption{type} +This option controls whether certain material (depending on the +input in the |content| option below) will be hidden or displayed in +the inactive color\index{inactive color|usage}. The preset value is +|0|. Compare with the |type| option for list environments +(section~\ref{sec:lists}). + +\begin{description} +\item\option{type=0}\\ +When material is not of the requested type as specified in the +|content| option, it will be hidden. +\item\option{type=1}\\ +As |type=0|, but instead of hiding material, it will be typeset in +the inactive color. +\end{description} + +\DescribeOption{content} +The |content| option controls which elements will be included in the +overview. The preset value is |all|. The description below assumes +that |type=0| was chosen, but the alternative text for |type=1| can +easily be deduced. + +\begin{description} +\item\option{content=all}\\ +This will display a full overview of your presentation including all +sections and slides, except the slides in hidden sections (see +section~\ref{sec:section}). +\item\option{content=sections}\\ +This displays only the sections in the presentation. +\item\option{content=currentsection}\\ +This displays the current section only. +\item\option{content=future}\\ +This displays all content starting from the current slide. +\item\option{content=futuresections}\\ +This displays all sections, starting from the current section. +\end{description} + +We finish this section with a small example that will demonstrate +how you can make a presentation that contains an overall overview of +sections in the presentation, giving a general idea of the content, +and per section a detailed overview of the slides in that section. +\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{Miscellaneous} +\subsection{Notes}\label{sec:notes} +\DescribeEnv{note} +The |note| environment can be used to make personal notes that +accompany a slide. You can control displaying notes using the +|display| option (see section~\ref{sec:classopts}). Here is an +example. +\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{Empty slides}\label{sec:emptyslides} +\DescribeEnv{emptyslide} +The |emptyslide| environment creates a totally empty slide. The text +box on the slide can be used for special things like displaying +photos. This allows for creating a dia show. Example: +\begin{example} + \begin{emptyslide}{} + \centering + \vspace{\stretch{1}} + \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps} + \vspace{\stretch{1}} + \end{emptyslide} +\end{example} +The |\includegraphics| command is defined by the \pf{graphicx} +package \cite{graphics}. The |\stretch| command is used to +vertically center the picture. Both commands are described in your +favorite \LaTeX\ manual, for instance \cite{companion}. Note that +you can use the lengths |\slideheight| and |\slidewidth| to scale +pictures to fit nicely on the slide. + +\subsection{Bibliography slide}\label{sec:bib} +\DescribeEnv{thebibliography} +\pf{powerdot} redefines the standard \pf{article} +|thebibliography| environment to suppress the creation of a section +heading and running headers. All other properties are maintained. +You can do either of the next two (depending whether you are +using BiB\TeX\ or not):\\ +\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} + +In case you have a big reference list that you want to spread over +multiple slides, have a look at the packages \pf{natbib} and +\pf{bibentry} \cite{natbib}. Using both packages allows you to do: +\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} +Have a look at your favorite \LaTeX\ manual for more information +about citations and bibliographies. + +\subsection{Verbatim on slides}\label{sec:verbatim}\DescribeOption{verbatim} +\pf{powerdot} has three different methods of processing slides, from +which two have mainly been developed to make the inclusion of +verbatim content\footnote{And other content that needs catcode +changes when processing.} on slides easier. These methods can be +accessed by the |method| key which is available in slide +environments and the |\pdsetup| command (see +section~\ref{sec:glopts}). +\begin{description} +\item\option{method=normal}\\ +This is the preset method for processing slides. It is fast and +allows for overlays, but it does not allow for +verbatim.\footnote{Except when it has been saved in a box outside +the slide.} +\item\option{method=direct}\\ +This method is also fast, but does not allow for overlays. Overlays +will silently be disabled. However, it does allow for verbatim +content on slides. +\item\option{method=file}\\ +This method uses a temporary file to export the slide body to and +read it back in. This method does allow for verbatim content and +overlays, but could be slow when many slides use this method because +the filesystem is used. +\end{description} + +Below is an example demonstrating the use of all three different +methods of slide processing. +\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} +The first slide shows the default behavior for normal content. It +produces two overlays. The second slide does not produce overlays, +despite the use of the |\pause| command. This command has been +disabled by choosing the |direct| method to process the verbatim +content. The third slide has the same body as the second slide, but +now does create two overlays, because the method using a temporary +file has been chosen. Notice that we used |\pause| inside the listing, +but that it can also be used outside the listing. + +\subsection{The \cs{twocolumn} command}\label{sec:twocolumn} +\DescribeMacro{\twocolumn} +The |\twocolumn| macro allows to split content into two columns. +\begin{command} + `\cs{twocolumn}\oarg{options}\marg{left}\marg{right}' +\end{command} +This typesets \meta{left} and \meta{right} in two columns. The +dimensions of those columns can be controlled by \meta{options}. +Below are the available options. +\begin{description} +\item\DescribeOption{lineheight}\option{lineheight}\\ +If |lineheight| is specified, a line of the specified height will be +created using |\psline| in between the two columns. Example: +|lineheight=6cm|. +\item\DescribeOption{lineprop}\option{lineprop}\\ +Any \pf{pstricks} declaration to specify the line properties. Example: +\begin{example} + lineprop={linestyle=dotted,linewidth=3pt} +\end{example} +\item\DescribeOptions{lfrheight,lfrprop}\option{lfrheight,lfrprop}\\ +The first creates a frame of the specified height around the left +column. The second is as |lineprop|, but for the left frame. +\item\DescribeOptions{rfrheight,rfrprop}\option{rfrheight,rfrprop}\\ +As |lfrheight| and |lfrprop|, but for the right frame. +\item\DescribeOptions{lcolwidth,rcolwidth}\option{lcolwidth,rcolwidth}\\ +Width of the left and right columns. Both are preset to: |0.47\linewidth|. +\item\DescribeOption{frsep}\option{frsep}\\ +Space between text and the frames. Preset: |1.5mm|. +\item\DescribeOption{colsep}\option{colsep}\\ +Space between the two columns. Preset: |0.06\linewidth|. +\item\DescribeOption{topsep}\option{topsep}\\ +The extra space (additional to |\baselineskip|) between text above +the columns and the text within the columns. Preset: |0cm|. +\item\DescribeOption{bottomsep}\option{bottomsep}\\ +Idem for the bottom of the columns. Preset: |0cm|. +\item\DescribeOption{indent}\option{indent}\\ +Horizontal indent left to the left column. Preset: |0cm|. +\end{description} +The dimensions described above are represented graphically in +figure \ref{fig:twocolumndim}. +\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}{Meaning of the labels}\\\hline +1&|lcolwidth|&5&|frsep|\\ +2&|rcolwidth|&6&|topsep|\\ +3&|colsep|&7&|indent|\\ +4&|lfrheight|, |rfrheight|,&8&|bottomsep|\\ +&|lineheight|&9&Reference point +\end{tabular} +\caption{Two-column dimensions.}\label{fig:twocolumndim} +\end{figure} +Important to notice is that the |\twocolumn| macro uses the current +cursor position as the reference point to position the first line of +text of the left column (see also figure \ref{fig:twocolumndim}). This +means that optional frames can extend to the text on the previous +line. Use for instance |topsep=0.3cm| in that case to add extra +space between the two lines of text. The preset value of |topsep| +is based on the situation that there is no text on top of the two +columns. In that case, it is best to locate the first line of text +of the left column at the same spot as text that is not created by +|\twocolumn| on other slides. The setting |topsep=0cm| does exactly +this. However, with a combination of |topsep| and |indent| you can +change this behavior and position the first line of text of the left +column anywhere you want. + +The |\twocolumn| macro computes the height of the construction to +position text below the construction correctly. The computation is +done by taking the maximum height of |lfrheight|, |rfrheight|, +|lineheight| (if specified) and the left and right column content. +Hence when frames nor a line is requested, |bottomsep| is the +vertical space between the lowest line of text in the columns and +the text below the columns (additional to |\baselineskip|). Here is +an example. +\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} +Note that the use of the \pf{xkeyval} commands |\savevalue| and +|\usevalue| \index{savevalue=\verb!*+\savevalue+|usage} +\index{usevalue=\verb!*+\usevalue+|usage} could be handy here, for +instance for copying the properties of the left frame to the right +frame. This avoids typing them twice and avoids making errors +resulting in different frames. See an example below. +\begin{example} + \twocolumn[ + \savevalue{lfrheight}=3cm, + \savevalue{lfrprop}={ + linestyle=dotted,framearc=.2,linewidth=3pt}, + rfrheight=\usevalue{lfrheight}, + rfrprop=\usevalue{lfrprop} + ]{left}{right} +\end{example} +See the \pf{xkeyval} documentation \cite{xkeyval} for more +information about |\savevalue| and |\usevalue|. + +\section{Available styles}\label{sec:styles} +\pf{powerdot} comes with a number of styles which are listed in the +overview below. The characteristics of each style are described +shortly and a sample of a title slide and a normal slide is provided +for each style. Styles support the |wideslide| environment, have a +table of contents on the left part of the paper in landscape +orientation and on the bottom part in portrait orientation and +support portrait orientation unless states otherwise. +\begin{description} +\item\pf{default}\\ +This style provides six different palettes. A flower in the top left +corner decorates the slides for all palettes. The default palette is +\texttt{blue} which has as main colors light blue and white. You can +see an example of that palette below. Other available palettes are +\texttt{red}, \texttt{green}, \texttt{yellow}, \texttt{brown} and +\texttt{purple}.\\ +\styleexample{default} +\item\pf{simple}\\ +This is a simple style in black and white. This style could be +useful if you want to print your slides.\\ +\styleexample{simple} +\item\pf{tycja}\\ +This style is set in shades of yellow and dark blue. The table of +contents on slides is on the right side of the paper in landscape +orientation and on the bottom part in portrait.\\ +\styleexample{tycja} +\item\pf{ikeda}\\ +This style uses dark shades of red and blue and a light text color. +It has nice patterns on the slide for decoration.\\ +\styleexample{ikeda} +\item\pf{fyma}\\ +This style was originally created by Laurent Jacques for +\pf{prosper}. Based on that style, he created a version for +\pf{HA-prosper} with extended features. With his kind permission, +this style has been converted by Shun'ichi J. Amano for +\pf{powerdot}. The style has an elegant design with a light blue and +white gradient background in the default \texttt{blue} palette. +Other available palettes are \texttt{green}, \texttt{gray}, +\texttt{brown} and \texttt{orange}. It has special templates for +sections on slides and sections on wide slides. Below is a sample of +the blue palette.\\ +\styleexample{fyma} +\item\pf{ciment}\\ +This style was originally created by Mathieu Goutelle for +\pf{prosper} and \pf{HA-prosper}. With his kind permission, this style +has been converted for \pf{powerdot}. The style has a background +that is hatched with light gray horizontal lines. Titles and table +of contents highlighting are done with dark red.\\ +\styleexample{ciment} +\item\pf{elcolors}\\ +This is a style using light shades of the elementary colors red, +blue and yellow.\\ +\styleexample{elcolors} +\item\pf{aggie}\\ +This style was created by Jack Stalnaker for \pf{HA-prosper} and he +has converted this style for \pf{powerdot}. The style uses dark red +and light brown colors.\\ +\styleexample{aggie} +\item\pf{husky}\\ +This style is created by Jack Stalnaker and has a background of +light gray sun beams combined with dark red highlights.\\ +\styleexample{husky} +\item\pf{sailor}\\ +This style is contributed by Mael Hill\'ereau and supplies five +different palettes: \texttt{Sea} (the default), \texttt{River}, +\texttt{Wine}, \texttt{Chocolate} and \texttt{Cocktail}. Below is a +sample of the palette \texttt{Sea}.\\ +\styleexample{sailor} +\item\pf{upen}\\ +This style has a nice dark blue background and text in yellow. It is +contributed by Piskala Upendran.\\ +\styleexample{upen} +\item\pf{bframe}\\ +The \pf{bframe} style has blue frames on the slide in which text is +positioned. The style is contributed by Piskala Upendran.\\ +\styleexample{bframe} +\item\pf{horatio}\\ +The \pf{horatio} style has been contributed by Michael Lundholm and +is a more conservative blue style.\\ +\styleexample{horatio} +\item\pf{paintings}\\ +This is a simple style without a table of contents on slides. It has +been contributed by Thomas Koepsell and provides 10 different +palettes. The colors used in the palettes are drawn from famous +paintings.\footnote{The style defines a color \texttt{pdcolor7} +which is not used in the style but comes from the same painting and +complements the other colors. It can be used, for example, to +highlight text against the main background color.} If you are +interested, open the style file to read which paintings have been +used. The available palettes are: \texttt{Syndics} (the default), +\texttt{Skater}, \texttt{GoldenGate}, \texttt{Lamentation}, +\texttt{HolyWood}, \texttt{Europa}, \texttt{Moitessier}, +\texttt{MayThird}, \texttt{PearlEarring} and \texttt{Charon} (all +case sensitive). Below is a sample of the \texttt{Syndics} +palette.\\ +\styleexample{paintings} +\item\pf{klope}\\ +The \pf{klope} style implements a horizontal table of contents that +only lists the sections. The style is available in the following +palettes: \texttt{Spring}, \texttt{PastelFlower}, \texttt{BlueWater} +and \texttt{BlackWhite}. The \texttt{Spring} palette is the default +and you can see a sample of that below.\\ +\styleexample{klope} +\item\pf{jefka}\\ +The \pf{jefka} style comes with four palettes: \texttt{brown} (the +default), \texttt{seagreen}, \texttt{blue} and \texttt{white}. Below +you see a sample of the \texttt{brown} palette.\\ +\styleexample{jefka} +\item\pf{pazik}\\ +This style is available in two palettes: \texttt{red} and +\texttt{brown}. Below is a sample of the default \texttt{red} +palette.\\ +\styleexample{pazik} +\end{description} + +\section{Compiling your presentation}\label{sec:compiling} +\subsection{Dependencies}\label{sec:dependencies} +In table \ref{tab:dependencies} is a list of packages that +\pf{powerdot} uses to perform specific tasks. Dependencies of +packages in this table are not listed. In the table, `required' +means that you should have a version \emph{at least} as new as +listed and `tested' means that \pf{powerdot} was tested with this +version, but that it could equally well work with an older or newer +version than the one listed in the table. So, when trying to solve +an error, first concentrate on solving version issues for the +`required' packages. To find out which version of a package you are +currently using, put |\listfiles| on the first line of your +document, run it with \LaTeX, open the |.log| file and read the file +list (see a \LaTeX\ manual for more information). If you need to +update a package, you can get it from CTAN \cite{CTAN}. +\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{Dependencies}\label{tab:dependencies} +\end{table} + +\subsection{Creating and viewing output}\label{sec:creation} +To compile your presentation, run it with \LaTeX. The DVI that is +produced this way can be viewed with MiK\TeX's DVI viewer +YAP.\footnote{Unless you are using \pf{pstricks-add} which distorts +the coordinate system in DVI.} Unfortunately, xdvi and kdvi (kile) +do not support all PostScript specials and hence these will display +the presentation incorrectly. If your DVI viewer does support +this, make sure that your DVI display settings match that of the +presentation. In case you are using the |screen| paper, you should +set the DVI display setting to using the letter paper format. If +your DVI viewer allows for custom paper formats, use 8.25 inch by 11 +inch. + +Note that certain things that are produced with PostScript or PDF +techniques will not work in a DVI viewer. Examples are hiding of +material via postscript layers (as is done, for instance, by +|\pause|, see section~\ref{sec:overlays}) and hyperlinks, for +instance in the table of contents. + +If you want to produce a postscript document, run dvips over the DVI +\emph{without any particular command line options related to +orientation or paper size}. \pf{powerdot} will write information to +the DVI file that helps dvips and ps2pdf (ghostscript) to create a +proper document. If you have some reason that this does not work for +you and you want to specify the paper and orientation yourself, you +should use the |nopsheader| option that is described in +section~\ref{sec:setup}. The PostScript document could, for +instance, be used to put multiple slides on a page using the |psnup| +utility. + +To create a PDF document for your presentation, run ps2pdf over the +PS file created with dvips. Also here, you can \emph{leave out any +command line arguments related to paper size or orientation}. If +this is problematic for you somehow, use the |nopsheader| option as +before and specify the paper and orientation at each intermediate +step yourself. + +\section{Creating your own style}\label{sec:writestyle} +\subsection{General information} +Writing or customizing \pf{powerdot} styles is simple. If you want +to modify a style or build a new one, locate the style that you want +to use as basis in your \TeX\ tree (styles are named as +|powerdot-<style_name>.sty|), copy that and rename it as to avoid +license\footnote{The \LaTeX\ Public Project License requires +renaming files when modifying them, see +\url{http://www.latex-project.org/lppl}.} or naming conflicts. You +might want to install the new style in your local \TeX\ tree to be +able to access it from any place on your hard drive. See your +\LaTeX\ distribution for more information. + +Once that has been taken care of, we can start creating the style. +We strongly recommend to study a style file (for example, +|powerdot-default.sty|) while reading the remainder of this section +as it provides good examples for the content of this section. + +A style has several components. We describe these components below. +\begin{description} +\item\textbf{Identification and packages}\\ +This identifies the package in the log of a presentation and loads +all required packages. The \pf{default} style contains something like: +\begin{example} + \NeedsTeXFormat{LaTeX2e}[1995/12/01] + \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)] + \RequirePackage{pifont} +\end{example} +See for more information about these commands a \LaTeX\ manual, for +instance \cite{companion}. +\item\textbf{Palette or color definitions}\\ +This section contains the definitions of palettes or colors that you +want to use in the style. \pf{powerdot} uses \pf{xcolor} (via +\pf{pstricks}). Hence, for more information about colors, see the +\pf{xcolor} documentation. We will discuss palettes in more detail +in section~\ref{sec:defpals}. +\item\textbf{Template definitions}\\ +We will come back to this in sections~\ref{sec:deftemps} +to~\ref{sec:defbg}. +\item\textbf{Custom declarations}\\ +These can include anything that you want to be part of the style. +The \pf{default} style, for instance, includes definitions for the labels +in list environments like |itemize| and some initializations for +lists in general (done with |\pdsetup|, see +section~\ref{sec:pdsetup}). This part could also include some +customizations as described in section~\ref{sec:specialtemps}. +\item\textbf{Font initializations}\\ +This initializes font definitions (which can be done by +loading a package like \pf{helvet}). +\end{description} + +\subsection{Defining palettes}\label{sec:defpals} +We will be defining templates formally in +section~\ref{sec:deftemps}. For now, it's enough to have the general +idea that a template controls the design of a slide. Palettes are +sets of colors that color a template or design. A palette does not +change the overall design of a template. + +\DescribeMacro{\pddefinepalettes} +The following command can be used to define palettes for your style. +\begin{command} + `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots' +\end{command} +This macro takes \emph{any} even number of mandatory arguments with +a minimum of two. For every \meta{name}, a set of \meta{commands} +can be given which define the palette with name \meta{name}. These +commands can define colors with names |pdcolor1|, |pdcolor2|, +etcetera. These colors can be used when designing the template (see +section~\ref{sec:deftemps}). |pdcolor1| will always be used as text +color. + +The user can access these palettes via the |palette| key for the +|\pdsetup| command (see section~\ref{sec:pdsetup}). If the user does +not specify a palette, the first palette defined when compiling the +presentation, will be used. Here is an example for defining 2 +palettes. +\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 this example, the |reds| palette is the default one. For more +information about |\definecolor|, see the documentation of the +\pf{xcolor} package \cite{xcolor}. + +Notice that it is not necessary to use the names |pdcolor2|, +|pdcolor3| etcetera as color names. But if these colors are defined, +\pf{powerdot} will use them, for instance, in the random dots +feature (see section~\ref{sec:glopts}). The flexibility adds extra +possibilities in setting up templates and palettes. See for an +example of its use, the \pf{klope} style. + +\subsection{Defining templates}\label{sec:deftemps} +We start off with a definition of what a template is. A template is +a collection of settings for slide components together with custom +definitions, which controls the visual appearance of a slide. A +style can contain multiple templates. + +\begin{command} + `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}' +\end{command} +\DescribeMacro{\pddefinetemplate} +This defines the environment \meta{name} to produce a slide with +characteristics determined by \meta{basis}, \meta{options} and +\meta{commands}. We will discuss these elements in more detail +in the coming sections. + +If you want to create several templates that differ only slightly +from each other, define a \meta{basis} template, and then use it to +define other templates. All \meta{options} and \meta{commands} for +the new template \meta{name} will be appended to the existing list +of \meta{options} and \meta{commands} from the \meta{basis} +template. + +Make sure you choose a \emph{proper} name for the template, and +avoid redefining existing templates or environments. \pf{powerdot} +defines |pauseslide|, |note| and |emptyslide| internally, so you +shouldn't use these names unless you know what you're doing. +Furthermore, each style needs to define at least the templates +|slide| and |titleslide|. The |titleslide| environment will be used +to create the title slide and |slide| will (by default) also be used +to create section slides. Titles and sections are a bit special in +the way they use the \meta{options} and will be discussed in more +detail in section~\ref{sec:specialtemps}. + +\subsection{Controlling setup} +\DescribeOption{ifsetup} +The \meta{options} (keys) are described in the following sections. +You can control how these options apply to the various setups by +using the |ifsetup| key. Any key appearing before the first +|ifsetup| declaration in \meta{options} will apply to every possible +setup. Once the |ifsetup| key is used, then all subsequent key +declarations will apply \textit{only} to the setups declared in the +|ifsetup| key. The |ifsetup| key can be used multiple times. + +By possible setups, we mean the allowed values of the |mode|, +|paper|, |orient|, and |display| keys that are described in +section~\ref{sec:classopts}. If a value (or values!) for any of +these four keys is not specified in a |ifsetup| declaration, then +all subsequent key declarations will apply to any layout of that +type. Consider the following as an example. +\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} +Assuming there was no |ifsetup| declaration before the first +|textpos| declaration, this first |textpos| will apply to every +possible setup. However, for the screen format in portrait +orientation, the next |textpos| declaration will be used. In fact, +all declarations that appear until we switch to the next |ifsetup| +(which specifies all paper sorts and only landscape orientation) +will be used in the portrait screen layout. All keys after the next +|ifsetup| declaration will be used in landscape orientation, +\emph{with any paper, mode and display}. If, after declaring some +specializations, you want to switch back to settings that apply to +all possible setups, set |ifsetup| to empty as is done in the +example. All subsequent declarations will then again be applied +under any setup. + +The following command is a stand-alone implementation of the +mechanism described above. It allows you to control the setup +outside the \meta{options} argument of the |\pddefinetemplate| +command. +\begin{command} + `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}' +\end{command} +\DescribeMacro{\pdifsetup} +This macro executes \meta{true} when the setup that the user chose +matches with the \meta{desired} setup, \meta{false} in all other cases. +For instance, if the user has chosen landscape, then +\begin{example} + \pdifsetup{landscape}{yes}{no} +\end{example} +will typeset |yes|. If the user would have chosen portrait instead, +then |no| would have been typeset. + +This macro can be used to check setup requests from the user and, +for instance, generate an error if a certain setup is not supported +by your style. \pf{powerdot} provides one predefined error message +which can be used in one of the first lines of your style. +\begin{command} + `\cs{pd@noportrait}' +\end{command} +\DescribeMacro{\pd@noportrait} +This macro generates an error when the user requests portrait +orientation. Notice that the handout mode only works in portrait +orientation. This macro takes that into account and doesn't generate +an error in the case that the user requested a handout. + +\subsection{Main components}\label{sec:maincomps} +The \meta{options} control several key components of a slide. Every +component has several properties. A key that can be used in the +\meta{options} argument is the name of the component postfixed by +its property that you want to control. + +The components |title|, |text|, |toc|, |stoc| and |ntoc| have +properties |hook|, |pos|, |width| and |font|. Additionally, the +|text| component has a |height| property. The components |lf|, |cf| and +|rf| have properties |hook|, |pos|, |temp| and |font|. Hence, +examples of valid keys are |titlefont|, |tocpos| and |lftemp|. All +components and properties will be discussed below. + +Here is an overview of the components that can be controlled from +the \meta{options} argument in |\pddefinetemplate|. +\begin{description} +\item\DescribeOption{title-}\option{title-}\\ +The slide title. +\item\DescribeOption{text-}\option{text-}\\ +The main text box on the slide. +\item\DescribeOption{toc-}\option{toc-}\\ +The (full) table of contents on a slide containing sections and +slides. +\item\DescribeOption{stoc-}\option{stoc-}\\ +This is a table of contents containing only the sections. See also +|ntoc| below. +\item\DescribeOption{ntoc-}\option{ntoc-}\\ +This is a table of contents containing only the entries for the +active section. Together with |stoc|, this can be used to create a +split table of contents. In a particular template, one would usually +have a |toc|, a combination of |stoc| and |ntoc| or no table of +contents at all. +\item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\ +The left, center and right footers. +\end{description} + +Notice that all positioning of components described above will be +done with |\rput| from \pf{pstricks} \cite{PSTricksWeb,PSTricks} +internally. See the \pf{pstricks} documentation for more information +about this command. It should also be noted that all components +(except |lf|, |cf| and |rf|) put their content in a |minipage| +environment. + +Now we list all properties of the components listed above and +describe what they mean. Remember that keys are formed by combining +a component name and a property. + +\begin{description} +\item\DescribeOption{-hook}\option{-hook}\\ +This option defines the |\rput| hook that will be used when +positioning the item. This can be |tl|, |t|, |tr|, |r|, |Br|, |br|, +|b|, |bl|, |Bl|, |l|, |B| and |c|. See the \pf{pstricks} +documentation for more information. +\item\DescribeOption{-pos}\option{-pos}\\ +This defines the position of the |hook| on the paper. The lower left +corner of the paper is given by the point |{0,0}| and the upper right +corner by the point |{\slidewidth,\slideheight}|. So if you want to +position the main text box at 20\% from the left edge and 30\% from +the top edge of the paper, you have to do the following. +\begin{example} + textpos={.2\slidewidth,.7\slideheight} +\end{example} +If the position of any component has not been specified, this +component will not be placed on the slide. This gives an opportunity +to design slides without footers or table of contents, for instance. +\item\DescribeOption{-width}\option{-width}\\ +The width of the component. All component positioned by +\pf{powerdot} will be put in a surrounding |minipage| environment. +The |width| property determines the width of the |minipage|. Example: +\begin{example} + textwidth=.7\slidewidth +\end{example} +This property does not exist for the |lf|, |cf| and |rf| components. +\item\DescribeOption{-height}\option{-height}\\ +This option is only available for the |text| component. In other +words, for this property, there is only one key, namely +|textheight|. This can be used to specify the height of the +|minipage| used for the main text. This does not imply that users +are restricted to this length or that \pf{powerdot} does automatic +slide breaking. This height is only used for vertical alignments of +material, for instance by footnotes. The preset value is +|\slideheight|. +\item\DescribeOption{-font}\option{-font}\\ +This will be inserted just before the text that is about to be +typeset. This can be used to declare deviations from the main text +font and color. It can be a font declaration, like +|\large\bfseries|, but can also contain other things like +|\color{red}| or |\raggedright|. +\item\DescribeOption{-temp}\option{-temp}\\ +This property is only available for the footers (|lf|, |cf| and |rf|) and +can be used to change the template of the footers. This means that +you can, for instance, add content to the footer, besides the +content specified by the user. The default declaration by +\pf{powerdot} is the following. +\begin{example} + rftemp=\pd@@rf\ifx\pd@@rf\@empty + \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide +\end{example} +Here |\pd@@rf| will contain the content of the right footer defined +by the user via the |\pdsetup| command. Similarly, |\pd@@lf| +contains the content of the left footer. The above declaration +checks whether the footer and |\theslide| are both non-empty and if +so, it inserts | -- | to separate both. +\item\DescribeOption{-orient}\option{-orient}\\ +This property is only available for the |toc|, |stoc| and |ntoc| +components. This property can be |h| or |v| and determines the +orientation of the table of contents. The preset is |v|. See +also section~\ref{sec:slidetoc} for more information about the +construction of the table of contents. +\end{description} + +\subsection{Slide toc}\label{sec:slidetoc} +The small table of contents that is placed on slides can be +controlled by four macros and several options. + +\DescribeMacro{\pd@tocslide} +\DescribeMacro{\pd@tocsection} +These macros take one argument. When building the table of contents, +\pf{powerdot} first passes the content through |\pd@tocslide| or +|\pd@tocsection|, depending on the type of entry that it is building +at that moment. You could, for instance, do +\begin{example} + \def\pd@tocslide#1{$\bullet$\ #1} + \def\pd@tocsection#1{#1} +\end{example} +which will prefix all normal entries (not the sections) with a +bullet. By default, these two macros are defined to just pass on +their argument. + +\DescribeMacro{\pd@tocdisplay} +\DescribeMacro{\pd@tochighlight} +These two macros also take one argument. After processing an entry +with the command |\pd@tocslide| or |\pd@tocsection|, \pf{powerdot} +continues building the entry by passing it through |\pd@tocdisplay|, +when the entry needs to be displayed only, or |\pd@tochighlight|, +when the entry needs to be highlighted. These macros are a little +more involved and take care of putting the content in the proper +font and color in a |minipage|. Further, |\pd@tochighlight| also +puts a box around the item. + +Notice, that by default, both the separate table of contents entries +as well as the table of contents as a whole are typeset in +|minipage| environments by these macros, in case the table of +contents is vertical. The |-width| properties then determines the +width of the table of contents and, together with |tocsecindent| and +|tocslideindent| (see below) the width of the individual entries. If +it is horizontal, only the separate entries will be in |minipage|s +and the table of contents itself not and the |-width| properties +determine only the width of the individual entries (together with +|tocsecindent| and |tocslideindent|). + +Several aspects of the process of generating the table of contents +can be controlled via the keys that are available in the +|\pddefinetemplate| command that will be described below. If these +keys do not provide enough handles to do what you want, you might +need to have a look at the two macros in the source and decide to +rewrite them in your style as to fit your needs. An example can be +found in the \pf{fyma} style. + +\begin{description} +\item\DescribeOption{tocfrsep}\option{tocfrsep}\\ +This length is the distance between the box around the content +created by the |minipage| and the highlight frame box created by +|\pd@tochighlight|. Preset: |0.5mm|. +\item\DescribeOption{tocsecsep}\option{tocsecsep}\\ +The distance inserted before a section (unless it is the +first element in the table of contents). Preset: |2ex|. +Notice that if the orientation of the table of contents is set to +vertical, this length creates a vertical skip, otherwise, it creates +a horizontal skip. +\item\DescribeOption{tocslidesep}\option{tocslidesep}\\ +The distance inserted before other entries (unless it is the +first element in the table of contents). Preset: |0ex|. Like +|tocsecsep|, the effect of this length depends on the orientation of +the table of contents. +\item\DescribeOption{tocsecindent}\option{tocsecindent}\\ +The horizontal space left to a section entry. Preset: |0pt|. +\item\DescribeOption{tocslideindent}\option{tocslideindent}\\ +The horizontal space left to a slide entry. The horizontal skip will +not be inserted left to slide entries that appear before the first +section. Preset: |0pt|. +\item\DescribeOption{tocsecm}\option{tocsecm}\\ +This is inserted just before typesetting a section. This can be used +to mark a section, for instance with a line as in the \pf{default} +style. Preset: empty. +\item\DescribeOption{toctcolor}\option{toctcolor}\\ +This is the text color used for non-highlighted elements in the +table of contents. Preset: |black|. +\item\DescribeOption{tochltcolor}\option{tochltcolor}\\ +This is the text color used for highlighted elements in the table of +contents. Preset: |white|. +\item\DescribeOption{tochlcolor}\option{tochlcolor}\\ +This is the color used for the frame behind highlighted elements. +Preset: |black|. +\end{description} + +\subsection{Miscellaneous options}\label{sec:miscoptions} +There are some options that fall outside of the scope of the previous +sections. These will be discussed here. + +\begin{description} +\item\DescribeOption{iacolor}\option{iacolor}\\ +The |iacolor| option can be used to specify the color that is used +for inactive things, produced for instance by |\onslide|, |\pause| +(see section~\ref{sec:overlays}) and |\tableofcontents| (see +section~\ref{sec:tableofcontents}). As \pf{xcolor} is used by +\pf{powerdot}, one can use special notation here, like +\begin{example} + iacolor=black!20 +\end{example} +The preset value for this key is |lightgray|. +\end{description} + +The following options control the digital clock (see +section~\ref{sec:classopts}). The clock is a form text field with +dynamic content, driven by a javascript via \pf{hyperref} text +fields. Some options for the clock work similarly as for, for +instance, the title component, but there are also special options. +\begin{description} +\item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\ +These work in the same way as the |-hook| and |-pos| properties +discussed in section~\ref{sec:maincomps}. The preset value of +|clockhook| is |tr|. +\item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\ +These control the width and height of the text field containing the +clock. Preset values come from \pf{hyperref} and are |3cm| and +|\baselineskip|, respectively. +\item\DescribeOption{clockcharsize}\option{clockcharsize}\\ +The size of characters of the clock. Preset: |14pt|. +\item\DescribeOption{clockalign}\option{clockalign}\\ +The alignment of the clock in the text field. |0| is left-aligned, +|1| is centered and |2| is right aligned. Preset is |2|. +\item\DescribeOption{clockcolor}\option{clockcolor}\\ +This determines the text color of the clock. The value should be a +named color. The preset value is |black|. +\end{description} + +\subsection{Template presets} +Below, we have copied the preset setting for the keys described +above. These will be used if you didn't supply other input for these +keys in a particular template. If the preset value meets your +needs, you don't have to specify it again in your style. +\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{The background}\label{sec:defbg} +This leaves only one argument of the |\pddefinetemplate| macro +undiscussed. This is the \meta{commands} argument. This argument can +contain any code that you want to execute \textit{after} setting the +options and \textit{before} building the slide components like the +slide title, main text, and footers. This argument is designed to +contain declarations that will build the background of a template +using, for instance, \pf{pstricks}, but it can also hold other +commands you might need for building your template. + +Important to notice is that these commands may not create \TeX\ +material as that might destroy the construction of the slide. So, if +you want to place the word `Hello' in the bottom left corner of the +slide, don't type `Hello', but make its width, height and depth +equal to zero, for instance by using \pf{pstricks}' |\rput|. +\begin{example} + \rput[bl](0,0){Hello} +\end{example} + +\subsection{Title slide, titles and sections}\label{sec:specialtemps} +As mentioned before, the style that you write needs to define at +least the templates |slide| and |titleslide|. The latter treats some +of the keys in a special way. Besides, a section slide is also done +in a special way. + +The title slide (made with |\maketitle|) puts the title with +author(s) and date in the main text box. This means that you have to +supply a position for the main text box (|textpos|). It will use the +main text font for the text (together with declarations in the +|textfont| key) for the author(s) and the date. But it will use the +declarations in |titlefont| for the title of the presentation. This +is done so that title and author(s) form a coherent block and to +make sure that long titles can push down the author(s) instead of +overwriting it. + +\DescribeMacro{\pd@slidetitle} +The |\pd@slidetitle| macro is used to typeset the slide title on +slides. This macro is comparable to for instance |\pd@tocslide|. The +macro takes one argument which is the slide title in the right font +and formatting. By default, this macro just passes on the content +for typesetting, but you could redefine this macro so do something +with its input prior to typesetting it. An example is in the +\pf{fyma} style which underlines the title after putting it in a +|minipage| to support multi line titles. + +\DescribeMacros{\pd@title,\pd@sectiontitle} +These macros are similar to |\pd@slidetitle| and typeset the title +on the title slide and the title on section slides respectively. By +default, these also pass there argument (which is the presentation +title or section title), but these can be redefined to do something +with the input prior to typesetting it, just as |\pd@slidetitle|. + +\DescribeOptions{sectemp,widesectemp} +The |\section| command uses (by default) the |slide| environment and +puts the section title in the title box with font |titlefont|. If +you want to change the default use of the |slide| environment for +sections to, for instance, the |sectionslide| environment or any +other especially designed section template, change the section +template preset in your style, using +\begin{example} + \setkeys[pd]{section}{sectemp=sectionslide} +\end{example} +This means that if the user asks for |template=slide| in the +|\section| command, the |sectionslide| environment will be used +silently. To avoid surprises, |sectionslide| should preferably be +based on the |slide| environment. + +A similar option is available in case the user asks for +|template=wideslide|. One could for instance do the following. +\begin{example} + \setkeys[pd]{section}{widesectemp=sectionwideslide} +\end{example} +Whenever the user requests a |wideslide| to be used for a +|\section|, instead, the |sectionwideslide| environment will be +used. Other input to the |template| key by the user does not get a +special treatment. + +Notice that these keys are available in the |section| family of keys +and that you cannot use them in the |\pddefinetemplate| command. + +\subsection{Testing the style}\label{sec:styletest} +\pf{powerdot} has a test file that should test most of the style. +This test file can be produced by running \LaTeX\ over +|powerdot.dtx|. This generates |powerdot-styletest.tex| which will +help you with the testing job. Feel free to contact us when you +would like to contribute your style to \pf{powerdot}. See also +section~\ref{sec:questions}. + +\section{Using \LyX\ for presentations}\label{sec:lyx} +\LyX\ \cite{LyXWeb} is a WYSIWYM (What You See Is What You Mean) +document processor based on \LaTeX. It supports standard \LaTeX\ +classes but needs special files, called layout files, in order to +support non-standard classes such as \pf{powerdot}. + +To start using \LyX\ for \pf{powerdot} presentations, copy the +layout file |powerdot.layout| to the \LyX\ layout directory. You can +find this file in the doc tree of your \LaTeX\ installation: +\url{texmf/doc/latex/powerdot}. If you can't find it there, download +it from \url{CTAN:/macros/latex/contrib/powerdot}. Once that is +done, reconfigure \LyX\ (\texttt{Edit\LyXarrow Reconfigure} and +restart \LyX\ afterwards). Now you can use the \pf{powerdot} +document class as any other supported class. Go to +\texttt{Layout\LyXarrow Document} and select \texttt{powerdot +presentation} as document class. For more information, see the \LyX\ +documentation, which is accessible from the |Help| menu. + +\subsection{How to use the layout} +The \pf{powerdot} \LyX\ layout provides some environments\footnote{Don't +confuse these with \LaTeX\ environments.} which can be used in \LyX. +Some of these environments (for instance |Title| or |Itemize|) are +natural to use since they exist also in the standard document +classes such as \pf{article}. For more information on these standard +environments, see the \LyX\ documentation. + +This section will explain how to use the \pf{powerdot} specific +environments |Slide|, |WideSlide|, |EmptySlide| and |Note|. These +environments correspond to the \pf{powerdot} environments |slide|, +|emptyslide|, |wideslide| and |note|. + +We start with a simple example. The following \LaTeX\ code +\begin{example} + \begin{slide}{Slide title} + Slide content. + \end{slide} +\end{example} +can be obtained using the following \LyX\ environments. The right +column represents the text typed into the \LyX\ window and the left +column represents the environment applied to this text). +\begin{example} + Slide Slide title + Standard Slide content. + EndSlide +\end{example} +Some remarks concerning this example. +\begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt] +\item You can use the environment menu (under the menu bar, top-left +corner) to change the environment applied to text. +\item The slide title should be typed on the line of the |Slide| +environment. +\item |EndSlide| finishes the slide and its line is left blank. +\end{itemize} + +In the \LyX\ window, the |Slide| environment (that is, the slide +title) is displayed in magenta, the |WideSlide| style in green, the +|EmptySlide| style in cyan and the |Note| style in red and hence +these are easily identifiable. + +Here is another example. +\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} +This can be done in \LyX\ in the following way. +\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} +This example demonstrates that it is often sufficient to insert the +|EndSlide| style after the last slide or note only. Only when you +want certain material not to be part of a slide, you need to finish +the preceding slide manually using the |EndSlide| style. Example: +\begin{example} + Slide First slide title + Standard The first slide. + EndSlide + [ERT box with some material] + Slide Second slide title + ... +\end{example} + +Options can be passed to slide environments by using +\texttt{Insert\LyXarrow Short title} in front of the slide title. +The following example uses the |direct| method (see +section~\ref{sec:verbatim}) in the short title argument (delimited by +square brackets) to allow for a |lstlisting| environment (defined by +the \pf{listings} package) within the slide content. +\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} +Note that you are not obliged to use a |verbatim| environment to +type the |\HelloWord| text into the \LyX\ window because \LyX\ +directly supports standard verbatim.\footnote{\LyX\ translates +special characters into their corresponding \LaTeX\ command. For +instance, the backslash character is translated into +\cs{textbackslash{}}. Resulting, the font is not the same as in true +verbatim and you might want to change that via the +\texttt{Layout\LyXarrow Character} dialog.} Consequently, the use of +the slide processing methods |direct| and |file| is not necessary +when you need standard verbatim, but it is necessary when doing more +advanced things, like in the example above. + +\subsection{Support of syntax} +This section lists options, commands and environments that are +supported through the \LyX\ interface directly, without using an ERT +box (\TeX-mode). + +All class options (see section~\ref{sec:classopts}) are supported +via the \texttt{Layout\LyXarrow Document} dialog (|Layout| pane). +Options for the |\pdsetup| command (see section~\ref{sec:setup}) +should be specified in the |Preamble| pane of the +\texttt{Layout\LyXarrow Document} dialog. + +Table \ref{tab:lyxcommands} lists the \pf{powerdot} commands that +are supported in \LyX. +\begin{table}[htb] +\centering +\begin{tabular}{f} +Command & Method in \LyX\\\hline +\cs{title} & Use \texttt{Title} environment.\\ +\cs{author} & Use \texttt{Author} environment.\\ +\cs{date} & Use \texttt{Date} environment.\\ +\cs{maketitle} & Managed directly by \LyX.\\ +\cs{section} & Use the \texttt{Section} environment. Options to this +command (see section~\ref{sec:section}) can be specified using +\texttt{Insert\LyXarrow Short title} in front of the section title.\\ +\cs{tableofcontents} & Use \texttt{Insert\LyXarrow Lists \& +TOC\LyXarrow Table of contents}. You will need an ERT box if you +want to use the optional argument, see below. +\end{tabular} +\caption{Supported \pf{powerdot} commands in \LyX}\label{tab:lyxcommands} +\end{table} +Table \ref{tab:lyxenvs} lists the \pf{powerdot} environments that, +besides the earlier discussed |slide|, |wideslide|, |note| and +|emptyslide| environments, are supported in \LyX. +\begin{table}[htb] +\centering +\begin{tabular}{f} +Environment & Method in \LyX\\\hline +\texttt{itemize} & Use \texttt{Itemize} and \texttt{ItemizeType1} +environments. The latter will create a list with |type=1| (see +section~\ref{sec:lists}).\\ +\texttt{enumerate} & Use \texttt{Enumerate} and +\texttt{EnumerateType1} environments.\\ +\texttt{thebibliography} & Use \texttt{Bibliography} environment. +\end{tabular} +\caption{Supported \pf{powerdot} environments in \LyX}\label{tab:lyxenvs} +\end{table} +Table \ref{tab:lyxERT} lists commands that can only be done by using +an ERT box (via \texttt{Insert\LyXarrow TeX}). +\begin{table}[ht] +\centering +\begin{tabular}{f} +Command & Method in \LyX\\\hline +\cs{and} & Within \texttt{Author} environment.\\ +\cs{pause} & \\ +\cs{item} & An ERT box is only required for the optional argument, +not mandatory for overlays specifications.\\ +\cs{onslide} & And the versions \cs{onslide+} and \cs{onslide*}.\\ +\cs{twocolumn} & \\ +\cs{tableofcontents} & Only when using the optional argument. +\end{tabular} +\caption{\pf{powerdot} commands needing an ERT box in \LyX}\label{tab:lyxERT} +\end{table} +Note that you may use the clipboard in order to repeat often used +commands like |\pause|. Finally, table \ref{tab:lyxadd} lists +additional commands and environments that are supported by the layout. +\begin{table}[htb] +\centering +\begin{tabular}{f} +Env./Command & Method in \LyX\\\hline +\texttt{quote} & Use \texttt{Quote} environment.\\ +\texttt{quotation} & Use \texttt{Quotation} environment.\\ +\texttt{verse} & Use \texttt{Verse} environment.\\ +\cs{caption} & Use \texttt{Caption} environment within standard +float environments. +\end{tabular} +\caption{Additional environments for \LyX}\label{tab:lyxadd} +\end{table} + +\subsection{Compiling with \LyX} +First of all, make sure that you have also read +section~\ref{sec:compiling}. Then, in order to get a proper +PostScript or PDF file, you have to set your \LyX\ document +properties depending on which paper and orientation you want. When +your \LyX\ document is open, go to the \texttt{Layout\LyXarrow +Document} dialog. In the \texttt{Layout} pane, put the |nopsheader|, +|orient| and |paper| keys as class options (see +section~\ref{sec:classopts} for a description). Then, go to the +|Paper| pane and select corresponding paper size and orientation +(you may choose |letter| paper in the case you set |paper=screen| in +the class options). Finally, go to the |View| (or +\texttt{File\LyXarrow Export}) menu and select your output +(PostScript or PDF). + +\subsection{Extending the layout} +If you have created a custom style (see section~\ref{sec:writestyle}) +which defines custom templates, you may want to extend the layout +file\footnote{The LPPL dictates to rename a file if you modify it as +to avoid confusion.} so that these templates are also supported in +\LyX. The explanation below assumes that you have defined a template +called |sunnyslide|. + +To support this new template in \LyX, you have to use the following +command. +\begin{command} + `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}' +\end{command} +\DescribeMacro{\pddefinelyxtemplate} +This will define the control sequence \meta{cs} such that it will +create a slide with template \meta{template} (which has been defined +using |\pddefinetemplate|. This new control sequence can be used in +the layout file as follows. +\begin{example} + # SunnySlide environment definition + Style SunnySlide + CopyStyle Slide + LatexName lyxend\lyxsunnyslide + Font + Color Yellow + EndFont + Preamble + \pddefinelyxtemplate\lyxsunnyslide{sunnyslide} + EndPreamble + End +\end{example} +Note that you must begin the |LatexName| field with |lyxend|. The +definition of the \LyX\ template has been inserted in between +|Preamble| and |EndPreamble| which assures that the new \LyX\ +environment will work in every presentation. After modifying the +layout file, don't forget to restart \LyX. See for more information +about creating \LyX\ environments, the documentation of \LyX\ in the +|Help| menu. + +\section{Questions}\label{sec:questions} +\subsection{Frequently Asked Questions}\label{sec:FAQ} +This section is devoted to Frequently Asked Questions. Please read +it carefully; your problem might be solved by this section. +\begin{itemize}[leftmargin=0pt] +\question +Does \pf{powerdot} have example files? Where can I find them? +\answer +\pf{powerdot} comes with several examples that should be in the doc +tree of your \LaTeX\ installation. More precisely: +\url{texmf/doc/latex/powerdot}. If you can't find them there, +download them from \url{CTAN:/macros/latex/contrib/powerdot} +\cite{CTAN}. +\question I'm getting errors or unexpected output when compiling +the simplest example! +\answer Did you read section~\ref{sec:compiling}? +\question I made a typo in the slide code, ran the file, got an +error, corrected the typo and reran, but now get an error that +doesn't go away. +\answer Remove the |.bm| and |.toc| files and try again. +\question |\pause| does not work in the |align|\footnote{There are +several environments doing similar things as \texttt{align}. Another +example is the \texttt{split} environment, but more (often from the +\pf{amsmath} package) can cause similar trouble for \cs{pause}.} +environment. +\answer |align| does several tricky things, which make it impossible +to use |\pause|. Use |\onslide| instead. See +section~\ref{sec:onslide}. +\question My \pf{pstricks} nodes appear on all overlays. Also: color +doesn't seem to work with |\onslide|. +\answer Some PostScript tricks like nodes and color do not work with +|\onslide|. Use |\onslide*| instead. See an example below. +\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 Do I need to edit style files to change a style a bit? +\answer No, you do not need to edit any style file. You can change +any part of a certain style using the |\pddefinetemplate| and +|\pddefinepalettes| commands. Here is an example that removes the +left and right footers from the \pf{default} style, places the slide +number in the center footer and adds another palette. +\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} +See section~\ref{sec:writestyle} for more information about these +two commands. +\question Can I contribute to this project? +\answer +Certainly. If you find bugs\footnote{Make sure that you confirm that +the bug is really caused by \pf{powerdot} and not by another package +that you use.} or typos, please send a message to the mailinglist +(see section~\ref{sec:mailinglist}). If you have developed your own +style that is distinct from existing styles and would like to see it +included in \pf{powerdot}, please inform us by private e-mail and we +will consider your contribution. Notice that included contributions +will fall under the overall \pf{powerdot} license and copyright +notice, but that your name will be included in the documentation +when you make a contribution. This is done to guarantee that we can +adapt files if maintenance is needed. +\end{itemize} + +If your question has not been answered at this point, advance to the +next section to read where to find more answers. + +\subsection{Mailinglist}\label{sec:mailinglist} +\pf{powerdot} has a mailinglist from \url{freelists.org} and has its +website here: +\begin{center} +\url{http://www.freelists.org/list/powerdot} +\end{center} +There is a link to `List Archive'. Please search this archive before +posting a question. Your problem might already have been solved in +the past. + +If that is not the case, use the box on the page to type your e-mail +address, choose the action `Subscribe' and click `Go!'. Then follow +the instructions that arrive to you by e-mail. At a certain moment, +you can login for the first time using an authorization code sent to +you by e-mail. After logging in, you can create a password for +future sessions using the `Main Menu' button. The other buttons +provide you some info and options for your account. + +When you are all set, you can write to the list by sending an e-mail +to +\begin{center} +\url{powerdot [at] freelists [dot] org} +\end{center} + +When writing to the list, please keep in mind the following very +important issues. +\begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt] +\item We are volunteers! +\item Keep your questions related to \pf{powerdot}. +\item Always supply a \emph{minimal} example demonstrating your +problem. +\item Don't send big files over the list. +\end{enumerate} + +We hope you will enjoy this service. + +\section{Source code documentation}\label{sec:source} +In case you want regenerate the package files from the source or +want to have a look at the source code description, locate +|powerdot.dtx|, search in the file for |\OnlyDescription| and remove +that and do +\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{Implementation}\label{sec:imple} +\subsection{General construction} +This section explains the general idea of the class, how paper +dimensions are chosen and how slides are created. We start with the +paper. + +This class uses the same idea as \pf{prosper} and \pf{HA-prosper}, +namely that we create a background with \pf{pstricks} and position +text on it using |\rput| and some |minipage| environments. This is +easier than writing a dedicated output routine that can handle all +the material, but doesn't break pages when we don't want that. So, +when starting to write the class, we first investigated how to deal +with landscape slides and paper dimensions. + +The job of making landscape slides can be done using \pf{geometry}. +The paper dimension was more of a problem. As \LaTeX\ doesn't have +the huge fonts that we need for presentations, we need to scale the +usual fonts somehow. This could be done by using unusual paper +dimensions (as \pf{beamer} does) and hence relying on ps2pdf to cut +off all the redundant material. But this doesn't produce a usable +DVI or PS file. Instead, it was chosen to use DVI magnification. The +entire slide is magnified by a factor of 2 and only the top left +quarter of the paper is used (but you will never notice that due to +the magnification). As we already decided to place all material in +|minipage|s using |\rput|, we didn't need the page anymore and it +was easiest to use \pf{geometry} to just remove the page margins +altogether so that the bottom left corner would be |(0,0)| and the +top right corner |(\slidewidth,\slideheight)|. + +One extra remark on the paper type is necessary. We found that most +common configurations of dvips use the |A4size| code when A4 +dimensions are found. This code doesn't write an explicit PostScript +paper command in the PS document and hence programs using this PS +(like ps2pdf) don't know what paper to use and revert to the +default, which is letter paper in most cases. This, of course, is +something that we don't want and hence, \pf{powerdot} will write +these commands to the PS itself as to guarantee proper post +processing of the PS. + +Now that we made the decisions on how to create proper DVI, PS and +PDF output, the next task was to create an easy interface to +overlays. To avoid counting the overlays as is necessary with +\pf{prosper}, we implemented a system that first collects the entire +body of an environment in a macro which can be reused multiple +times. During execution of the body, the overlay commands like +|\onslide| will keep a record of the biggest number that they find +and that is the number of overlays to produce. Getting the body of +the environment is done by collecting all material up to the next +|\end| occurrence. If that control sequence has the proper argument +(namely the slide that we started with), then we stop scanning and +start processing the slide. With normal use, you will not notice +this, but when doing special tricks like hiding |\end{slide}| in a +macro, the process will fail as it relies on finding |\end{slide}| +in the input stream without doing expansions. Often a work around +can be found though. Have a look for instance at how |\section| +creates a slide. + +The next task was to provide a simple way to create templates. As +the class is based on the idea of having a background with some +material spread out over it, the template system follows this idea. +One argument can be used to create the background, the other +argument controls, via keys and options, several properties of the +material that should be placed. By adding an |ifsetup| key, full +control could be gained over the design of the template in every +possible setup chosen by the user. + +The final task for the class was to fill in all the `details'. All +the mechanisms were present, but sometimes they should not be +active. For instance, overlays should not be created in handout +mode. Other things to add to the class were counter protection on +overlays, handles to the layout of the slide number, footnotes, a +bibliography environment, empty slides, etcetera. + +We hope that this section has made clear a little bit what you will +be seeing when reading the next section with coding and why we chose +to do it this way. + +\bibliographystyle{plain} +\bibliography{powerdot} + +\section*{Acknowledgements} +The authors are grateful to Mael Hill\'ereau for contributing the +\LyX\ layout file and description. Further, we like to thank all +style contributors (see section~\ref{sec:styles}). Moreover, we wish +to thank everyone who contributed to this package in any other +way.\\[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] +We hope not to have forgotten anyone. + +\PrintChangesX\PrintIndexX + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdotDE.pdf b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotDE.pdf Binary files differnew file mode 100644 index 00000000000..c464ea3779c --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotDE.pdf diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdotDE.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotDE.tex new file mode 100644 index 00000000000..d2e8372dbf7 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotDE.tex @@ -0,0 +1,2889 @@ +\batchmode +\documentclass[10pt,a4paper,ngerman]{article} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} +\usepackage{babel} + +\setlength{\parindent}{0pt} +\setlength{\parskip}{1ex plus 0.2ex minus 0.1ex} + +\usepackage{dcolumn,dtklogos,multicol,fancyvrb,graphicx,url,varioref,latexsym} +\usepackage[table]{xcolor} +\usepackage{pstricks} +\usepackage{makeidx} + +\begin{document} + +\def\slash#1{\textbackslash{\tt #1}} +\def\pf#1{\texttt#1} + + \title{{\bf The} \texttt{powerdot} {\bf class} vl.3 (2005/12/06)} + + \author{Hendri Adriaens and Christopher + Ellison\footnote{"Ubersetzung: Lennart Petersen, Christiane Matthieu, Christoph + K"ohler, Julia Babigian, Christine R"omer (Institut für Germanistische + Sprachwissenschaft der Friedrich-Schiller-Universität Jena), 1.\,"Ubersetzungsversion, + letzte "Anderung 21.\,4. 2009}} + + + +\date{\today} + +\maketitle + +\begin{footnotesize} +\begin{abstract} +\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 Präsentierenden 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} + +\tableofcontents + +\end{footnotesize} + +\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 gleichsam wie einem Überblick über die +gesamte Dokumentation gewidmet. + +Der Aufbau einer Präsentation ist stets derselbe. Er ist im folgenden Beispiel +nachvollziehbar. + +\begin{Verbatim}[frame=single,fontsize=\small] + \documentclass[<class options>]{powerdot} + \pdsetup{<presentation options>} + \begin{document} + \begin{slide}{a slide} + Contents of the slide. + \end{slide} + \section{first section} + \begin{slide}[<slide options>]{another slide} + Contents of the slide. + \end{slide} + \begin{note}{personal note} + The note. + \end{note} + \end{document} +\end{Verbatim} + +Einige dieser Elemente definieren die Struktur des Dokuments. Zuvorderst +sind einige Optionen zum \slash{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 \slash{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{documentclass-Optionen}\label{sec:classopts} + +Begonnen wird mit +den Optionen, die in den \slash{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. + +\marginpar{\textsl{option}\\\texttt{mode}} +Die Optionen \texttt{mode} bestimmen die Art der Ausgabe, die produziert werden soll. +Der Standardwert ist \texttt{present}. +\begin{description} +\item[\fcolorbox{black}{gray!30}{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[\fcolorbox{black}{gray!30}{mode=print}] +Dieser Modus kann verwendet werden, um die Folien inklusive ihrer visuellen +Aufmachung, aber ohne Overlays oder Übergangseffekte auszudrucken. +\item[\fcolorbox{black}{gray!30}{mode=handout}] +Dieser Modus erstellt einen schwarzweißen Überblick über die Folien, der +genutzt werden kann, um persönliche Notizen darauf zu verzeichnen, die +Präsentation an Studenten auszugeben, ihn als eigenen Leitfaden einzusetzen, etc. +\begin{description} +\item[\fcolorbox{black}{gray!30}{nopagebreaks}] +Standardmäßig gibt der handout-Modus Dokumente mit zwei Folien pro Seite aus. +Wenn mehr Folien pro Seite platziert werden sollen, füge man diese Option in den +\slash{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. +\end{description} +\end{description} + +\marginpar{\textsl{option}\\\texttt{paper}} +Die Option \texttt{paper} hat drei mögliche Werte. +Der Standardwert ist \texttt{screen}. +\begin{description} +\item[\fcolorbox{black}{gray!30}{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 +print- oder +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[\fcolorbox{black}{gray!30}{paper=a4paper}] +Das Format DIN A4 wird für die Präsentation oder das Handout genutzt. +\item[\fcolorbox{black}{gray!30}{paper=letterpaper}] +Ein Briefpapierformat wird genutzt. +\end{description} + +Einige wichtige Informationen zum Papierformat, zum Kompilieren und dem Betrachten von +Präsentationen finden sich im Abschnitt~\ref{sec:compiling}. + +\marginpar{\textsl{option}\\\texttt{orient}}Die Option \texttt{orient} kontrolliert die +Ausrichtung der Präsentation. Der +Standardwert ist \texttt{landscape}. + +\begin{description} +\item[\fcolorbox{black}{gray!30}{orient=landscape}] +Die Präsentation erhält das Querformat. Dieser Wert ist im handout-Modus nicht verfügbar. +Sollte er dennoch gewählt werden, wird ihn \pf{Powerdot} zum Hochformat wechseln und einen +entsprechend warnenden Vermerk in die Logdatei schreiben. +\item[\fcolorbox{black}{gray!30}{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} + +\marginpar{\textsl{option}\\\texttt{display}} Die Option \texttt{display} beeinflusst die +Produktion von Folien und Anmerkungen. Der +Standardwert ist \texttt{slides}. + +\begin{description} +\item[\fcolorbox{black}{gray!30}{display=slides}] +Dies wird nur die Folien in der Präsentation anzeigen. +\item[\fcolorbox{black}{gray!30}{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[\fcolorbox{black}{gray!30}{display=notes}] +Dies wird nur die Anmerkungen anzeigen. +\end{description} + +Hier nun noch einige weitere Optionen, welche die Ausgabe beeinflussen. +\begin{description} +\marginpar{\textsl{option}\\\texttt{size}} +\item[\fcolorbox{black}{gray!30}{size}] +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.} + +\marginpar{\textsl{option}\\\texttt{style}} +\item[\fcolorbox{black}{gray!30}{style}] +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. + +\marginpar{\textsl{option}\\\texttt{fleqn}} +\item[\fcolorbox{black}{gray!30}{fleqn}] +setzt die Gleichungen linksbündig. +Eben so, wie es die gleichnamige Option in der +article-Klasse ebenfalls setzt. + +\marginpar{\textsl{option}\\\texttt{display}} +\item[\fcolorbox{black}{gray!30}{display}] +setzt die Gleichungsnummern linksseitig. +Auch hier wieder entsprechend der gleichnamigen +Option in der article-Klasse. + +\marginpar{\textsl{option}\\\texttt{nopsheader}} +\item[\fcolorbox{black}{gray!30}{nopsheader}] +Standardmäßig schreibt \pf{Powerdot} einen +Postscriptbefehl in die PS-Datei, um sicherzugehen, +dass die nachfolgenden Bearbeitungsprogramme wie 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. + +\marginpar{\textsl{option}\\\texttt{hlentries}} +\item[\fcolorbox{black}{gray!30}{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 print-Modus), nutzt man +\texttt{hlentries=false}. + +\marginpar{\textsl{option}\\\texttt{hlsections}} +\item[\fcolorbox{black}{gray!30}{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. + +\marginpar{\textsl{option}\\\texttt{balckslide}} +\item[\fcolorbox{black}{gray!30}{blackslide}] +Diese Option fügt eine schwarze Folie 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 zu jeder Folien- oder Abschnittsüberschrift +ein, der zurück auf die schwarze Folie führt. Klickt man dann dagegen irgendwo +auf die schwarze Folie, kommt man zurück zu jener Folie, auf der man sich +zuvor befand. Diese Option kann dazu genutzt werden, eine Präsentation +temporär zu pausieren, wenn man beispielsweise einen Beweis an der Tafel +anführen möchte. +\marginpar{\textsl{option}\\\texttt{clock}} +\item[\fcolorbox{black}{gray!30}{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 \slash{documentclass} Befehl. +\begin{Verbatim}[frame=single,fontsize=\small] + \documentclass[ + size=12pt, + paper=screen, + mode=present, + display=slidesnotes, + style=tycja, + nopagebreaks, + blackslide, + fleqn + ]{powerdot} +\end{Verbatim} +Dieses Beispiel definiert eine Präsentation im \pf{tycja}-Stil, mit schwarzer +Folie, einer Schriftgröße von 12 Punkten und linksbündigen Gleichungen. +\begin{Verbatim}[frame=single,fontsize=\small] + \documentclass[ + size=12pt, + paper=letterpaper, + mode=handout, + display=slidesnotes, + style=tycja, + nopagebreaks, + blackslide, + fleqn + ]{powerdot} +\end{Verbatim} +Mit dem Wechsel der \texttt{paper}- und \texttt{mode}-Optionen wird nun ein Handout mit mehr +als zwei Folien pro Seite, ganz so, wie es die \texttt{nopagebreaks}-Option definiert, +ausgegeben. + +\subsection{Setup Optionen}\label{sec:pdsetup} +\marginpar{\textsl{option}\\\texttt{$\backslash$pdsetup}} +Es gibt einige Zusatzoptionen, die dabei helfen, eine Präsentation den eigenen +Wünschen anzupassen. Diese Optionen sind allerdings nicht im +\slash{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 betreffend, mittels des \slash{pdsetup} Befehls definiert +werden können, und jene Optionen, die sowohl global (mittels +\slash{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 \slash{pdsetup} Befehls genutzt werden können. +\begin{description} +\marginpar{\textsl{option}\\\texttt{palette}} +\item[\fcolorbox{black}{gray!30}{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. + +\marginpar{\textsl{option}\\\texttt{lf}\\\texttt{rf}} +\item[\fcolorbox{black}{gray!30}{lf} \fcolorbox{black}{gray!30}{rf}] +Dies definiert den Inhalt der linken und der rechten Fußzeile. Sie sind +standardmäßig leer. + +\marginpar{\textsl{option}\\\texttt{theslide}} +\item[\fcolorbox{black}{gray!30}{theslide}] + +Diese Option legt fest, wie die Foliennummern auf der +Folie gesetzt werden. Der Standardwert ist +\slash{arabic}\{slide\}$\sim$/$\sim$\slash{pageref*\{lastslide\}}, +was in der Form +\texttt{5/22} dargestellt wird. Man beachte, dass der +Befehlszeilenabschnitt \slash{arabic\{slide\}} +die Nummer der gerade angezeigten Folie und der Befehlszeilenabschnitt +\slash{pageref*\{lastslide\}} die Nummer der letzten Folie anzeigt.\footnote{Es wird +\slash{pageref} mit Stern verwendet, was mittels \slash{hyperref} +definiert wird und so keinen Verweis auf die Seite, auf die sich bezogen wird, erstellt.} + +\marginpar{\textsl{option}\\\texttt{thenote}} +\item[\fcolorbox{black}{gray!30}{thenote}] +Dies ist gleich dem \texttt{theslide} Befehl, bezieht sich +allerdings auf die +Foliennummern der Anmerkungen. Der Standardwert ist\\ +\texttt{note$\sim$$\backslash$arabic\{note\}}\texttt{$\sim$of$\sim$slide$\sim$$\backslash$arabic\{slide\}}, +wobei hier\\ \slash{arabic\{note\}} die Nummer der aktuellen Anmerkung auf der aktuellen +Folie zeigt. Dies könnte beispielsweise so aussehen: \texttt{note 2 of +slide 7}. (Für eine deutsche Ausgabe wäre folgender Wert möglich:\\ +\texttt{Anmerkung$\sim$}\slash{arabic\{note\}}\texttt{$\sim$auf$\sim$Folie$\sim$}\slash{arabic\{slide\}}, +was folgendermaßen angezeigt werden würde: \texttt{Anmerkung 2 auf Folie 7}.) + +\marginpar{\textsl{option}\\\texttt{counters}} +\item[\fcolorbox{black}{gray!30}{counters}] +Die \texttt{counters} Option listet Zähler auf, die +möglicherweise bei Overlays geschützt +werden sollen. Da Inhalte sowie auch \LaTeX\ -Zähler bei Overlays (Man beachte +Abschnitt~\ref{sec:overlays}) mehrfach bearbeitet werden, wie es beispielsweise +beim \texttt{equation} Zähler der Fall sein kann, 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 \texttt{equation}, +\texttt{table}, \texttt{figure}, +\texttt{footnote} und \texttt{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{Verbatim}[frame=single,fontsize=\small] + counters={theorem,lemma} +\end{Verbatim} + +\marginpar{\textsl{option}\\\texttt{list}} +\item[\fcolorbox{black}{gray!30}{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 +\texttt{enumerate} +und \texttt{itemize} Umgebungen erzeugt werden, definiert. Ein Beispiel: + +\begin{Verbatim}[frame=single,fontsize=\small] + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +\end{Verbatim} + +Man beachte für mehr Informationen bezüglich des Layouts von Listen das +\pf{enumitem}-Paket \cite{enumitem}. + +\marginpar{\textsl{option}\\\texttt{enumerate}\\\texttt{itemize}} +\item[\fcolorbox{black}{gray!30}{enumerate} \quad +\fcolorbox{black}{gray!30}{itemize}] + +Dies ist gleich der \texttt{list} Optionen, kontrolliert allerdings nur die +\texttt{enumerate} bzw. \texttt{itemize} Umgebungen. +\end{description} + +\subsubsection{Globale und lokale Optionen}\label{sec:glopts} +Dieser Abschnitt beschreibt Optionen, die sowohl global mittels des +\texttt{pdsetup} Befehls als auch lokal mittels Folienumgebungen (mehr dazu in +Abschnitt~\ref{sec:slides}) definiert werden können. + +\begin{description} +\marginpar{\textsl{option}\\\texttt{trans}} +\item[\fcolorbox{black}{gray!30}{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: +\texttt{Split}, \texttt{Blinds}, \texttt{Box}, \texttt{Wipe}, +\texttt{Dissolve}, \texttt{Glitter} und \texttt{Replace}. Wenn mit +einem PDF-Viewer gearbeitet wird, der PDF 1.5 anzeigen kann, sind ebenfalls +\texttt{Fly}, +\texttt{Push}, \texttt{Cover}, \texttt{Uncover} oder \texttt{Fade} nutzbar. Es ist wichtig, +zu beachten, dass +die meisten PDF-Viewer technisch empfindlich sind, beispielsweise wird +\texttt{box} nicht funktionieren. + +Der Standardeffekt ist \texttt{Replace}, welcher einzig eine Folie zur nächsten wechseln +wird, wenn sie durchgesehen 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{Verbatim}[frame=single,fontsize=\small] + trans=Wipe /Di 0 +\end{Verbatim} +Der Acrobat Reader zeigt diesen Wischeffekt von rechts nach links, statt, wie +es der Standard ist, von oben nach unten. Für weitere Informationen sei das +PDF-Referenzhandbuch empfohlen. +\marginpar{\textsl{option}\\ + \texttt{method}} + +\item[\fcolorbox{black}{gray!30}{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 +\texttt{normal} (der Standardwert), \texttt{direct} und \texttt{file}. Diese Optionen werden +genauer im Abschnitt~\ref{sec:verbatim} erklärt. +\marginpar{\textsl{option}\\\texttt{logohook}\\\texttt{logopos}\\\texttt{logocmd}} +\item[\fcolorbox{black}{gray!30}{logohook} \quad +\fcolorbox{black}{gray!30}{logops} \quad +\fcolorbox{black}{gray!30}{logocmd}] + +Wenn \texttt{logopos} spezifiziert wurde, wird ein Logo +vom \texttt{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 +\{\slash{slidewidth},\slash{slideheight}\} ist die obere +rechte Ecke. Für die Positionierung des Logos wird der \slash{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 \texttt{logohook}-Option eingetragen werden und die +Werte \texttt{tl}, +\texttt{t}, \texttt{tr}, \texttt{r}, \texttt{Br}, \texttt{br}, +\texttt{b}, \texttt{bl}, \texttt{Bl}, \texttt{l}, \texttt{B} und +\texttt{c} sind möglich. +Weitere Informationen bezüglich des \slash{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{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Der Standardwert von \texttt{logohook} ist \texttt{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 \texttt{random.tex}~\cite{random}. Verschiedenste +Optionen sind möglich, um das Erscheinen der Zufallspunkte zu kontrollieren. + +\begin{description} +\marginpar{\textsl{option}\\\texttt{randomdots}} +\item[\fcolorbox{black}{gray!30}{randomdots}] +Standardmäßig sind die Zufallspunkte ausgeschaltet. Sie +werden dann generiert, +wenn diese Option mit dem Wert \texttt{true} versehen wird, während der +Wert \texttt{false} +sie wiederum ausschaltet. Wenn kein expliziter Wert zu dieser Option gesetzt +ist, wird \texttt{true} angenommen. + +\marginpar{\textsl{option}\\\texttt{dmindots}\\\texttt{dmaxdots}} +\item[\fcolorbox{black}{gray!30}{dmindots} \quad +\fcolorbox{black}{gray!30}{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 +\texttt{5} bzw. \texttt{40}. + +\marginpar{\textsl{option}\\\texttt{dminsize}\\\texttt{dmaxsize}} +\item[\fcolorbox{black}{gray!30}{dminsize} \quad +\fcolorbox{black}{gray!30}{dmaxsize}] +Dies ist der minimale und maximale Radius der Punkte. Standardwerte sind +\texttt{5pt} bzw. \texttt{40pt}. + +\marginpar{\textsl{option}\\\texttt{dminwidth}\\\texttt{dmaxwidth}\\\texttt{dminheight}\\ +\texttt{dmaxheight}} +\item[\fcolorbox{black}{gray!30}{dminwidth} \quad +\fcolorbox{black}{gray!30}{dmaxwidth} \quad +\fcolorbox{black}{gray!30}{dminheight} \quad +\fcolorbox{black}{gray!30}{dmaxheight}] +Diese Option bestimmt 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 \texttt{0pt}, \slash{slidewidth}, \texttt{0pt}, +\slash{slideheight}. + +Hier ein Beispiel, das Punkte in einem kleineren Rechteck auf der Folie erlaubt. +\begin{Verbatim}[frame=single,fontsize=\small] + \pdsetup{ + dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth, + dminheight=.2\slideheight,dmaxheight=.8\slideheight + } +\end{Verbatim} +\marginpar{\textsl{option}\\\texttt{dbright}} +\item[\fcolorbox{black}{gray!30}{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 +\texttt{bright}, ist er dagegen dunkel, sollte man sich wohl für einen negativen Wert +entscheiden. Der Standardwert ist \texttt{60}, was eine Mischung aus 40\ der Originalfarbe +und 60\ Weiß ergibt. + +\marginpar{\textsl{option}\\\texttt{dprop}} +\item[\fcolorbox{black}{gray!30}{dprop}] +Mithilfe dieser Option können zusätzliche Parameter zum +\slash{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 \texttt{ocircle} (offener Kreis) und +\texttt{osquare} (offenes Quadrat). +\end{description} + +Hier sind zwei Beispiele für den Gebrauch von Zufallspunkten. +\begin{Verbatim}[frame=single,fontsize=\small] + \pdsetup{ + randomdots,dminwidth=.2\slidewidth + } +\end{Verbatim} +Dieses Beispiel beinhaltet Zufallspunkte, verhindert aber, dass die linken +20\ der Folie von ihnen genutzt wird. +\begin{Verbatim}[frame=single,fontsize=\small] + \pdsetup{ + randomdots,dprop={dotstyle=ocircle,linewidth=.5pt}, + dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5 + } +\end{Verbatim} +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{Ein \slash{pdsetup} \textbf{Beispiel}} + +Hier ein Beispiel für einen \slash{pdsetup} Befehl, mit dem man eine Präsentation +beginnen könnte. +\begin{Verbatim}[frame=single,fontsize=\small] + \pdsetup{ + lf=My first presentation, + rf=For some conference, + trans=Wipe, + theslide=\arabic{slide}, + randomdots,dmaxdots=80 + } +\end{Verbatim} +Dies setzt die linke und rechte Fußzeile und initialisiert den +\texttt{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 \texttt{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 \texttt{$\sim$--$\sim$} 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} + +\marginpar{\slash{title}\\\slash{author}\\\slash{and}\\\slash{date}\\\slash{maketitle}} +Die Titelfolie wird mittels des \slash{maketitle} Befehls erstellt. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \{maketitle}<options> +\end{Verbatim} +Dieser Befehl nutzt dieselben Werte wie jener des \LaTeX\ -Standarddokuments. +Das optionale Argument <\texttt{options}> kann jede Option des Abschnittes~\ref{sec:glopts} +enthalten. Das Einfügen einer solchen Option in den \slash{maketitle} Befehl betrifft +nur die Titelfolie und keine andere. Man beachte das untere Beispiel. +\begin{Verbatim}[frame=single,fontsize=\small] + \documentclass{powerdot} + \title{Title} + \author{You \and me} + \date{August 21, 2005} + \begin{document} + \maketitle + ... + \end{document} +\end{Verbatim} +Die \texttt{author}, \texttt{title} und \texttt{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 \slash{and} Befehls, um +mehrere Autoren aufzuführen. Weitere Informationen bezüglich der Befehle wie +\slash{title} und \slash{author} sind im \LaTeX\ -Handbuch \cite{companion} enthalten. + +\subsection{Andere Folien}\label{sec:otherslides} + +\marginpar{\texttt{slide}} +Das Herzstück jeder Präsentation sind die Folien. Bei +\pf{Powerdot} wird der Inhalt jeder Folie innerhalb einer \texttt{slide}-Umgebung +definiert. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \begin{slide}[<options>]{<slide title>} + <body> + \end{slide} +\end{Verbatim} + +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{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{First slide} + Hello World. + \end{slide} +\end{Verbatim} +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 +\texttt{First slide} geführt. + +Die <\texttt{options}> für die \texttt{slide}-Umgebung können jene Optionen enthalten, die +im Abschnitt~\ref{sec:glopts} enthalten sind. Zusätzlich können folgende Optionen +benutzt werden. +\begin{description} +\marginpar{\textsl{option}\\\texttt{toc}} +\item[\fcolorbox{black}{gray!30}{toc}] +Wenn definiert, wird dieser Wert für den Eintrag ins Inhaltsverzeichnis genutzt; +ansonsten wird dazu der Folientitel herangezogen. Wenn \texttt{toc=} definiert ist, +wird kein Eintrag erstellt. +\marginpar{\textsl{option}\\\texttt{bm}} +\item[\fcolorbox{black}{gray!30}{bm}] +Falls definiert, wird dieser Wert für den Eintrag in die Lesezeichenliste +genutzt; +ansonsten wird dazu der Folientitel herangezogen. Wenn \texttt{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 \slash{pdfstringdef} vom \pf{hyperref}-Paket und kann mit akzentuierten +Zeichen wie \slash{"i} umgehen.} +Beim Erstellen der Einträge sollte darauf geachtet werden, spezielle Zeichen +wie `,' und `=' zwischen den geschweiften Klammern `\{' und `\}' zu +verstecken. Werfen wir einen Blick auf das Beispiel, das diese optionalen +Argumente nutzt. +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$} + My slide contents. + \end{slide} +\end{Verbatim} + +In diesem Beispiel wird der Folientitel als \textcolor{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: +\texttt{redLaTeX, i2=-1}. +Auf der anderen Seite wird der manuell erstellte Lesezeicheneintrag so angezeigt: +\texttt{LaTeX, i*i=-1}. Man beachte, dass kein Eintrag im Inhaltsverzeichnis vorgenommen +werden wird, da der Wert \texttt{toc=} genutzt wurde. + +Zusätzlich zur \texttt{slide}-Umgebung kann jeder individuelle Stil seine eigenen +Umgebungen definieren. Viele Stile haben eine \texttt{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 \texttt{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 \slash{pause} -Befehl}\label{sec:pause} + +\marginpar{\slash{pause}} +Der Befehl \slash{pause} ist die einfachste Möglichkeit, Informationen aufeinanderfolgend +auszugeben. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \{pause}[<number>] +\end{Verbatim} +Hier ein simples Beispiel: +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Simple overlay} + power\pause dot + \end{slide} +\end{Verbatim} +Der Informationstext auf einer Folie wird nur bis zum Befehl \slash{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 +\slash{pause} Befehl innerhalb derselben Folie. In diesem Beispiel +erscheint \texttt{power} mit dem ersten und \texttt{powerdot} mit dem +zweiten Overlay. Der \slash{pause} Befehl wird oft innerhalb von +\texttt{itemize}- und \texttt{enumerate}-Umgebungen gebraucht, zum Beispiel:\\ +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Indem \slash{pause} vor der \texttt{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 \slash{pause} Befehls spezifiziert die Nummer der +Overlays, die als Pause fungieren. Ein Verwendungsbeispiel ist:\\ +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Pause longer} + \begin{itemize} + \item A \pause + \item B \pause[2] + \item C + \end{itemize} + \end{slide} +\end{Verbatim} +Bei diesem Beispiel erscheint Stichpunkt \texttt{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 \texttt{itemize} und \texttt{enumerate} werden bei \pf{powerdot} in besonderer Weise +behandelt. Sie haben ein optionales Argument, das im \pf{enumitem}-Paket enthalten ist (siehe [4]). +\pf{powerdot} liefert eine extra Verschlüsselung für dieses optionale Argument. In den folgenden +Beispielen wird die \texttt{itemize}-Umgebung zur Auflistung der einzelnen +Punkte verwendet, mit der \texttt{enumerate}-Umgebung funktioniert es aber genauso. + +Hier ein Beispiel für den üblichen Gebrauch der \texttt{itemize}-Umgebung: + +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Basic itemize} + \begin{itemize} + \item A \pause + \item B \pause + \item C + \end{itemize} + \end{slide} +\end{Verbatim} +Die Ausgabe erfolgt, indem einfach mit jedem Overlay ein Stichpunkt nach dem anderen erscheint. + +\marginpar{\textsl{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 \texttt{type}-Option für die \texttt{itemize}-Umgebung. Der +vorgegebene Wert ist \texttt{0}. +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Type 1 itemize} + \begin{itemize}[type=1] + \item A \pause + \item B \pause + \item C + \end{itemize} + \end{slide} +\end{Verbatim} +Jetzt wird jeder Stichpunkt in der \emph{inaktiven Farbe}\index{inaktive Farbe|usage} (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 \texttt{type=0} gegeben. + +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 \texttt{type}-Option-Einstellungen der `Mutter'-Liste. Das +kann +aber aufgehoben werden, indem die \texttt{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 kreiert werden. +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Hier werden \texttt{A} und \texttt{B} mit dem ersten Overlay ausgegeben, +aber \texttt{B} ist inaktiv. Erst mit dem zweiten Overlay wird \texttt{B} +aktiv, mit Overlay 3 wird \texttt{C} sichtbar. + +\subsection{Der \slash{item} -Befehl} + +\marginpar{\slash{item}} + +Dieser Befehl hat bei \pf{powerdot} noch ein extra Argument (\emph{optional}), das eine flexiblere Produktion +von Overlays erlaubt als der \slash{pause} Befehl. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \item[<label>]<<overlays>> +\end{Verbatim} +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}{c|l} +Syntax&Meaning\\\hline +\texttt{x}&Nur Overlay \texttt{x}\\ +\texttt{-x}&Alle Overlays bis zu \texttt{x}, \texttt{x} eingeschlossen\\ +\texttt{x-}&Alle Overlays ab \texttt{x}, \texttt{x} eingeschlossen\\ +\texttt{x-y}&Alle Overlays von \texttt{x} bis \texttt{y}, \texttt{x} und \texttt{y} eingeschlossen\\ +\end{tabular} +\caption{\slash{item} und \slash{onslide}-Notation}\label{tab:item} +\end{table} +Das <label>-Argument ist für das optionale Argument des \slash{item} +Befehls bei \LaTeX\ Standard. Das +\LaTeX\ -Handbuch \cite{companion} enthält noch mehr Informationen bezüglich dieses Arguments. + +Hier ein Beispiel:\\ +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Active itemize} + \begin{itemize}[type=1] + \item<1> A + \item<2> B + \item<3> C + \end{itemize} + \end{slide} +\end{Verbatim} +Wie oben besprochen, sollte \texttt{A} nur bei Overlay 1, \texttt{B} nur bei +Overlay 2 und \texttt{C} nur bei Overlay 3 aktiv sein, im inaktiven Status sollten die jeweiligen +Stichpunkte wegen \texttt{type=1} in der inaktiven Farbe erscheinen. + +Wenn die \texttt{type}-Option aber als \texttt{type=0} definiert und jedem Stichpunkt eine Overlay-Option +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 <overlays> demonstrieren, werden im nächsten Abschnitt +diskutiert. + +\subsection{Der \slash{onslide} -Befehl}\label{sec:onslide} + +\marginpar{\slash{onslide}} +Overlays können auch unter Verwendung des \slash{onslide} Befehls geschaffen werden. + +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \onslide{<overlays>}{<text>} +\end{Verbatim} + +Der Befehl benötigt eine <overlays>-Spezifizierung als erstes Argument und +den <text>, der auf der Folie erscheinen soll, als zweites Argument. Die +<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{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Simple onslide} + \onslide{1,2}{power}\onslide{2}{dot} + \end{slide} +\end{Verbatim} +Wir haben eingerichtet, dass \texttt{power} mit den Overlays 1 und 2 +erscheint, \texttt{dot} nur mit Overlay 2. Wie bereits vermutet wird bei diesem Beispiel das Gleiche +ausgegeben wie bei dem ersten \slash{pause}-Beispiel, einziger Unterschied ist die etwas kompliziertere +Syntax des \slash{onslide} Befehls. Allerdings erlaubt genau das ein bisschen mehr Flexibilität. + +\marginpar{\slash{onslide+}} +Betrachten wir dasselbe Beispiel mit den folgenden Modifikationen: + +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Simple onslide+} + \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\ + \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot} + \end{slide} +\end{Verbatim} +Der \slash{onslide+} Befehl gibt seinen Inhalt in völlig anderer Art und +Weise aus. Jetzt erscheint \texttt{dot} mit jedem Overlay, allerdings wird +es außer bei Overlay 2 \textit{nur} in seiner inaktiven +Farbe\index{inaktiven Farbe|usage} 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 +\slash{onslide} Befehl zunächst Material verbirgt, und doch die richtige Menge an Platz dafür reserviert. Bei +Overlay 2 erscheinen die \texttt{dot}s alle übereinander. Der nächste Befehl reserviert keinen Platz. + +\marginpar{\slash{onslide*}} +Statt bestimmtes Material zu verbergen und Platz dafür zu reservieren +(\slash{onslide}) oder <text> außer beim entsprechenden Overlay (<overlays>) in der inaktiven Farbe +auszugeben (\slash{onslide+}), gibt dieser Befehl das Material einfach ohne jede weitere Formatierung aus. +Betrachten wir folgendes Beispiel, um den Unterschied zu verstehen: + +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Wir sind bereits vertraut mit der Ausgabe der ersten zwei Zeilen. Die +dritte Zeile gibt \texttt{power} mit Overlay 1 und \texttt{dot} mit Overlay 2 aus, allerdings ist bei +Overlay 2 kein Platz für \texttt{power} reserviert. Stattdessen wird +\texttt{dot} an der gleichen Position des Cursors beginnen, bei der +\texttt{power} mit dem ersten Overlay ausgegeben wurde, und es ist auch nicht in einer Linie unter den +anderen \texttt{dot}s angeordnet. + +Abschließend betrachten wir ein Syntax-Beispiel, das sowohl mit +\slash{item} als auch mit \slash{onslide} möglich ist. +Noch mal zur Erinnerung: Diese Befehle benötigen eine durch ein Komma separierte Aufzählung für die genauere +Definierung des <overlays>-Arguments. Dabei kann jedes Element die in Tabelle \ref{tab:item} beschriebene +Syntax nutzen. Die verschiedenen Varianten sind in folgendem Beispiel demonstriert: + +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} + +\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 \slash{item}-Listenumgebungen verwendet werden sollten. Betrachten wir ein +einfaches, einleuchtendes Beispiel: + + \begin{Verbatim}[frame=single,fontsize=\footnotesize] + \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{Verbatim} +Wie zu sehen ist, wird auch hier der \slash{onslide} Befehl genutzt, die einzige Veränderung der Syntax ist +die Auflistung der Overlays. Dadurch kann ein `\texttt{+}'-Zeichen in der Liste genauer definiert werden. In +der simpelsten Verwendung wird durch den \slash{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. \slash{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{Abschnitte herstellen}\label{sec:section} + +\marginpar{\slash{section}} +Dieser Abschnitt beschreibt den \slash{section} Befehl, der die Möglichkeit eröffnet, eine Präsentation zu +strukturieren. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \section[<options>]{<section title>} +\end{Verbatim} +Dieser Befehl produziert eine Folie mit dem <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 +diverse <options> um die Ausgabe zu kontrollieren. + +\marginpar{\textsl{option}\\\texttt{tocsection}} +Diese Option kontrolliert die Repräsentation eines Abschnittes im Inhaltsverzeichnis. Der vorgegebene Wert +ist \texttt{true}. +\begin{description} +\item[\fcolorbox{black}{gray!30}{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[\fcolorbox{black}{gray!30}{tocsection=false}] +Auf diese Art und Weise wird kein Abschnitt im Inhaltsverzeichnis geschaffen, somit wird dieser als normale +Folie eingeordnet und aufgeführt. +\item[\fcolorbox{black}{gray!30}{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} + +\marginpar{\textsl{option}\\\texttt{slide}} + +Diese Option bestimmt, ob der \slash{section} Befehl eine Folie schafft. +Der vorgegebene Wert ist \slash{true}. +\begin{description} +\item[\fcolorbox{black}{gray!30}{slide=true}] + +So wird eine Folie hergestellt. +\item[\fcolorbox{black}{gray!30}{slide=false}] + +So wird keine Folie hergestellt. Wenn auch \texttt{tocsection=false} ist, +bewirkt der \slash{section} Befehl gar nichts. Wenn ein Inhaltsverzeichnisabschnitt hergestellt wird +(\texttt{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} + +\marginpar{\textsl{option}\\\texttt{template}} +Diese Option kann verwendet werden, um eine Abschnittsfolie mit einer anderen Schablone zu erstellen. Bei +default wird eine normale \slash{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 +\texttt{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 \slash{section} Befehl erstellt worden sind (siehe Abschnitt ~\ref{sec:slides}). Wenn ein Abschnitt mit +einer \texttt{tocsection}-Option erstellt wird, entfernen \texttt{toc=} oder +\texttt{bm=} das einleitende Inhaltsverzeichnis oder das entsprechende Lesezeichen nicht. + +\subsection{Das Erstellen einer Übersicht}\label{sec:tableofcontents} + +\marginpar{\slash{tableofcontents}} +Dieser Befehl erstellt eine Übersicht (Gliederung) für Präsentationen und kann nur für Folien genutzt werden. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \tableofcontents[<options>] +\end{Verbatim} +Es gibt diverse <options> um die Ausgabe dieses Befehls zu kontrollieren. + +\marginpar{\textsl{option}\\\texttt{type}} +Diese Option bestimmt, ob gewisses Material (abhängig von der Eingabe für +die \texttt{content}-Option weiter unten) versteckt oder in der inaktiven Farbe\index{inaktiven Farbe|usage} +ausgegeben wird. Der vorgegebene Wert ist \texttt{0}. Sie ist vergleichbar +mit der \texttt{type}-Option für Listenumgebungen (Abschnitt~\ref{sec:lists}). + +\begin{description} +\item[\fcolorbox{black}{gray!30}{type=0}] + +Wenn Material nicht dem gefragten Typ (bei der \texttt{content}-Option spezifiziert) entspricht, wird es +versteckt. +\item[\fcolorbox{black}{gray!30}{type=1}] + +Genau wie \texttt{type=0}, nur dass das Material nicht versteckt, sondern in der inaktiven Farbe ausgegeben +wird. +\end{description} + +\marginpar{\textsl{option}\\\texttt{content}} +Die \texttt{content}-Option kontrolliert, welche Elemente in den Überblick aufgenommen werden. Der +vorgegebene Wert ist \texttt{all}. Die unten stehende Beschreibung setzt +für die \texttt{type}-Option \texttt{type=0} voraus, es ist aber kein Problem, den alternativen Text für +\texttt{type=1} daraus zu folgern. + +\begin{description} +\item[\fcolorbox{black}{gray!30}{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[\fcolorbox{black}{gray!30}{content=sections}] + +So werden nur die Abschnitte in der Präsentation ausgegeben. +\item[\fcolorbox{black}{gray!30}{content=currentsection}] + +So wird nur der aktuelle Abschnitt ausgegeben. +\item[\fcolorbox{black}{gray!30}{content=future}] + +So wird der gesamte Inhalt beginnend bei der aktuellen Folie ausgegeben. +\item[\fcolorbox{black}{gray!30}{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{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} + +\section{Sonstiges} +\subsection{Anmerkungen}\label{sec:notes} + +\marginpar{\texttt{note}} +Die \texttt{note}-Umgebung kann verwendet werden, um persönliche Anmerkungen in den eigentlichen Folientext +einzugliedern. Die Ausgabe der Anmerkungen kann mittels der +\texttt{display}-Option kontrolliert werden (siehe Abschnitt~\ref{sec:classopts}). Hier ist ein Beispiel: + +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} + +\subsection{Leere Folien}\label{sec:emptyslides} + +\marginpar{\texttt{emptyslide}} +Die \texttt{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{Verbatim}[frame=single,fontsize=\small] + \begin{emptyslide}{} + \centering + \vspace{\stretch{1}} + \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps} + \vspace{\stretch{1}} + \end{emptyslide} +\end{Verbatim} +Der \slash{includegraphics} Befehl wird durch das \pf{graphicx}-Paket \cite{graphics} definiert. Der +\slash{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 +\slash{slideheight} und \slash{slidewidth} nutzen, um das Bild maßstabsgetreu der Folie anzupassen. + +\subsection{Die Folie mit der Bibliographie}\label{sec:bib} + +\marginpar{\texttt{thebibliography}} +\pf{powerdot} benennt die standardisierte \pf{article} +\texttt{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{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Slide} + \cite{someone} +\end{slide} +\begin{slide}{References} + \begin{thebibliography}{1} + \bibitem{someone} Article of + someone. + \end{thebibliography} +\end{slide} +\end{Verbatim} +\end{minipage}\hfill +\begin{minipage}[t]{.49\linewidth} +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Slide} + \cite{someone} + \end{slide} + \begin{slide}{References} + \bibliographystyle{plain} + \bibliography{YourBib} + \end{slide} +\end{Verbatim} +\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{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{References (1)} + \bibliographystyle{plain} + \nobibliography{YourBib} + \bibentry{someone1} + \bibentry{someone2} + \end{slide} + \begin{slide}{References (2)} + \bibentry{someone3} + \end{slide} +\end{Verbatim} +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} + +\marginpar{\textsl{option}\\\texttt{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 +catcode-Veränderungen benötigt wird.} auf Folien einfacher zu gestalten. Diese +Methoden können beim \texttt{method} key abgerufen werden, der in +Folienumgebungen und dem \slash{pdsetup} Befehl verfügbar ist (siehe Abschnitt~\ref{sec:glopts}). +\begin{description} +\item[\fcolorbox{black}{gray!30}{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[\fcolorbox{black}{gray!30}{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[\fcolorbox{black}{gray!30}{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{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Die erste Folie zeigt das Standardverhalten für normalen Inhalt, sie produziert zwei Overlays. Trotz der +Verwendung des \slash{pause} Befehls erstellt die zweite Folie keine Overlays. Dieser Befehl wurde +untauglich gemacht mit der Wahl für die \texttt{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. +\slash{pause} wurde hier innerhalb der Auflistung gebraucht, der Befehl kann aber genauso außerhalb von +Listenumgebungen benutzt werden. + +\subsection{Der \slash{twocolumn} Befehl}\label{sec:twocolumn} + +\marginpar{\slash{twocolumn}} +Das \slash{twocolumn}-Makro erlaubt, den Inhalt auf zwei Spalten aufzuteilen. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \twocolumn[<options>]{<left>}{<right>} +\end{Verbatim} +So wird <left> und <right> in zwei Spalten gesetzt. Die Abmessungen dieser +Spalten können mit <options> kontrolliert werden. +Hier die verfügbaren Optionen: + +\begin{description} +\marginpar{\textsl{option}\\\texttt{lineheight}} +\item[\fcolorbox{black}{gray!30}{lineheight}] + +Wenn \texttt{lineheight} spezifiziert wird, erscheint durch \slash{psline} eine Linie von bestimmter Höhe +zwischen den Spalten. Beispiel: \texttt{lineheight=6cm}. + +\marginpar{\textsl{option}\\\texttt{lineprop}} +\item[\fcolorbox{black}{gray!30}{lineprop}] + +Mit jeder \pf{pstricks}-Angabe können die Linienproportionen näher bestimmt werden. Beispiel: + +\begin{Verbatim}[frame=single,fontsize=\small] + lineprop={linestyle=dotted,linewidth=3pt} +\end{Verbatim} + +\marginpar{\textsl{option}\\\texttt{lfrheight\\lfrprop}} +\item[\fcolorbox{black}{gray!30}{lfrheight} \quad \fcolorbox{black}{gray!30}{lfrprop}] + +Ersteres schafft einen Rahmen von bestimmter Höhe um die linke Spalte, +zweiteres ist wie \texttt{lineprop}, aber für den linken Rahmen. + +\marginpar{\textsl{option}\\\texttt{rfrheight\\rfrprop}} +\item[\fcolorbox{black}{gray!30}{rfrheight} \quad +\fcolorbox{black}{gray!30}{rfrprop}] + +Genau wie \texttt{lfrheight} und \texttt{lfrprop}, allerdings für den rechten Rahmen. + +\marginpar{\textsl{option}\\\texttt{lcolwidth\\rcolwidth}} +\item[\fcolorbox{black}{gray!30}{lcolwidth} +\quad \fcolorbox{black}{gray!30}{rcolwidth}] + +Die Weite von linker und rechter Spalte. Beide sind vorgegeben mit +\texttt{0.47}\slash{linewidth}. + +\marginpar{\textsl{option}\\\texttt{frsep}} +\item[\fcolorbox{black}{gray!30}{frsep}] + +Platz zwischen Text und Rahmen, vorgegeben mit \texttt{1,5mm}. + +\marginpar{\textsl{option}\\\texttt{colsep}} +\item[\fcolorbox{black}{gray!30}{colsep}] + +Platz zwischen den beiden Spalten, vorgegeben mit \texttt{0.06}\slash{linewidth}. + +\marginpar{\textsl{option}\\\texttt{topsep}} +\item[\fcolorbox{black}{gray!30}{topsep}] + +Der extra Platz (zusätzlich zu \slash{baselineskip}) zwischen dem Text über den Spalten und dem Text in den +Spalten, vorgegebener Wert: \texttt{0cm}. + +\marginpar{\textsl{option}\\\texttt{bottomsep}} +\item[\fcolorbox{black}{gray!30}{bottomsep}] + +Der extra Platz zwischen dem Text in den Spalten und dem Text darunter, +vorgegebener Wert: \texttt{0cm}. + +\marginpar{\textsl{option}\\\texttt{indent}} +\item[\fcolorbox{black}{gray!30}{indent}] + +Horizontaler Zeileneinzug links zur linken Spalte, vorgegebener Wert: +\texttt{0cm}. +\end{description} +Die oben beschriebenen Abmessungen sind in Figur \ref{fig:twocolumndim} graphisch dargestellt. +\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&\texttt{lcolwidth}&5&\texttt{frsep}\\ +2&\texttt{rcolwidth}&6&\texttt{topsep}\\ +3&\texttt{colsep}&7&\texttt{indent}\\ +4&\texttt{lfrheight}, \texttt{rfrheight},&8&\texttt{bottomsep}\\ +&\texttt{lineheight}&9&Reference point +\end{tabular} +\caption{Two-column dimensions.}\label{fig:twocolumndim} +\end{figure} +Wichtig zu bemerken ist, dass das \slash{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 \texttt{topsep=0,3cm} einfügen, um extra Platz zwischen diesen beiden Textzeilen zu +schaffen. Der vorgegebene \texttt{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 \slash{twocolumn} Befehl auf anderen Folien +erstellt wird. Die \texttt{topsep=0}-Einstellung bewirkt genau das. Durch +die Kombination von \texttt{topsep} und \texttt{indent} lässt sich dieses Verhalten und die Position der +ersten Textzeile der linken Spalte beliebig ändern. + +Das \slash{twocolumn}-Makro errechnet die Größe der Konstruktion, um den Text darunter korrekt zu +positionieren. Die Berechnung ist fertig, wenn für \texttt{lfrheight}, +\texttt{rfrheight}, \texttt{lineheight} (falls genauer bestimmt) das Maximum festgesetzt wird. So werden +rechte und linke Spalte stimmig ausgegeben. Wenn weder Rahmen noch Linien +eingefügt werden, setzt \texttt{bottomsep} den horizontalen Platz zwischen der untersten Textzeile der +Spalten und dem Text unter den Spalten (zusätzlich zu \slash{baselineskip}). Hier ein Beispiel: + +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Hier könnte die Verwendung der \pf{xkeyval}-Befehle \slash{savevalue} und +\slash{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{Verbatim}[frame=single,fontsize=\small] +\twocolumn[ + \savevalue{lfrheight}=3cm, + \savevalue{lfrprop}={ + linestyle=dotted,framearc=.2,linewidth=3pt}, + rfrheight=\usevalue{lfrheight}, + rfrprop=\usevalue{lfrprop} + ]{left}{right} +\end{Verbatim} +Ziehen Sie die \pf{xkeyval}-Dokumentation \cite{xkeyval} zu Rate, um mehr +über die \slash{savevalue} und \slash{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. Styles die auf der \texttt{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 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}.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-default.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-default.002} + +\end{description} + + +\begin{description} +\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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-simple.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-simple.002} + +\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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-tycja.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-tycja.002} + +\item\pf{ikeda}\\ +In diesem Stil zeigen sich die Folien in dunklen Schattierungen von Rot und Blau +sowie dazu heller Textfarbe. Zudem wird ein schmuckvolles Muster auf der Folie +verwendet.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-ikeda.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-ikeda.002} + +\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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-fyma.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-fyma.002} + +\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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-ciment.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-ciment.002} + +\item\pf{elcolors}\\ +Dieser Stil benutzt die Farben der Drei-Farben-Theorie nach Thomas Young, +nämlich Schattierungen in rot, blau und gelb.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-ciment.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-ciment.002} + +\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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-aggie.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-aggie.002} + +\item\pf{husky}\\ +Auch dieser Stil stammt von Jack Stalnaker und zeigt markante Rotschrift vor +einem sonnenartigen, hellgrauen Hintergrund.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-husky.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-husky.002} + +\item\pf{sailor}\\ +Dieser Stil ist 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}.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-sailor.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-sailor.002} + +\item\pf{upen}\\ +Ein tiefes Blau als Hintergrund und gelber Text zeichnen diesen Stil aus. +Er stammt von Piskala Upendran.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-husky.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-husky.002} + +\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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-bframe.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-bframe.002} + +\item\pf{horatio}\\ +Der Stil \pf{horatio} wurde von Michael Lundholm beigesteuert und ist +eher zurückhaltend, in blauer und weißer Farbgebung.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-horatio.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-horatio.002} + +\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 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 style file, +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}.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-paintings.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-paintings.002} + +\item\pf{klope}\\ +Der Stil \pf{klope} führt ein horizontales Inhaltsverzeichnis aus, +das nur die als \texttt{section} deklarierten Gliederungspunkte listet. +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.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-klope.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-klope.002} + +\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}.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-jefka.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-jefka.002} + +\item\pf{pazik}\\ +Dieser Stil ist in zwei Layouts verwendbar: \texttt{brown} oder auch +\texttt{red}, wie in der Beispielabbildung.\\ + +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-pazik.001} +\quad +\includegraphics[angle={-90},width=5cm]{powerdot-styleexample-pazik.002} + +\end{description} + +\section{Kompilieren der Präsentation}\label{sec:compiling} +\subsection{Anforderungen}\label{sec:dependencies} +In Tabelle \ref{tab:Anforderungen} ist eine Liste von Dateipaketen +(packages) die \pf{powerdot} verwendet um spezifische Aufgaben +auszuführen. Bedingungen für die jeweiligen Pakete sind in dieser +Tabelle jedoch nicht mit aufgeführt. Die Bezeichnung `benötigt' +meint, dass das verwendete Paket \emph{mindestens} so aktuell sein sollte, +wie die gelistete Version. Die Bezeichnung `getestet' meint, dass +\pf{powerdot} mit dieser Paketversion getestet wurde, aber es auch mit +älteren 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 \slash{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}{c|c|c|c} +Paket/Datei & Version & Datum & benötigt/getestet\\\hline +\pf{xkeyval} \cite{xkeyval} & 2.5c & 2005/07/10 & benötigt\\ +\texttt{pstricks.sty} \cite{PSTricksWeb,PSTricks} & 0.2l & 2004/05/12 & benötigt\\ +\pf{xcolor} \cite{xcolor} & 1.11 & 2004/05/09 & benötigt\\ +\pf{enumitem} \cite{enumitem} & 1.0 & 2004/07/19 & benötigt\\ +\pf{article} class & 1.4f & 2004/02/16 & tested\\ +\pf{geometry} \cite{geometry} & 3.2 & 2002/07/08 & 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{Anforderungen}\label{tab:Anforderungen} +\end{table} + +\subsection{Erzeugen und Darstellen der Output-Datei}\label{sec:creation} +Der Quelltext der Präsentation wird von \LaTeX kompiliert. Die dabei +erstellte DVI kann mit dem MiK\TeX's DVI Viewer YAP\footnote{Mit Ausnahme +der Verwendung von \pf{pstricks-add}, welches das DVI-Koordinatensystem +verfälscht.} 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 \texttt{screen} sollte in den DVI Anzeigeeinstellungen +das Briefpapier- 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 mir 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 \slash{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, +die 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 +\texttt{nopsheader} +verwenden, welche im Abschnitt ~\ref{sec:setup} beschrieben wird. Das +PostScript-Dokument könnte schließlich dazu dienen, mit Unterstützung des +\texttt{psnup} +Hilfsprogramms mehrfache Folien auf einer Seite zu verwenden. + +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 \texttt{nopsheader} hilfreich, um selber +Formateinstellungen vornehmen zu können. + +\section{Einen eigenen Folien-Stil 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 in \TeX\ finden, die als Basis verwendet +werden soll. Diese Stildateien sind mit \texttt{powerdot-<style\_name>.sty} benannt. +Die zu bearbeitende Datei ist vorher zu kopieren und um zu benennen um die +Lizenz\footnote{Die \LaTeX\ Projekt-Lizenz fordert die Umbenennung von +modifizierten Dateien. Siehe auch \url{http://www.latex-project.org/lppl}.} +und Benennungskonflikte zu umgehen. Der neu benannte Stil muss dann dem +lokalen \TeX\-System ergänzt werden, um ihn verwenden zu können (für mehr +Informationen siehe \LaTeX\ Distribution). + +Nachdem dies beachtet wurde, kann der neue Stil entworfen werden. Dazu ist +es äußerst hilfreich die Stildateien zu studieren (bspw. +\texttt{powerdot-default.sty}), +während man dieses Kapitel liest. So kann man sich ein gutes Beispiel +zum Inhalt des folgenden Textes heran ziehen. + +Ein Stil hat verschiedene Komponenten, welche nun beschrieben werden sollen. +\begin{description} +\item\textbf{Identifikation und Pakete}\\ +Dies identifiziert und lädt alle benötigten Pakete in der Präambel einer +Präsentation. Der Standardstil \pf{default} beinhaltet so etwas wie: +\begin{Verbatim}[frame=single,fontsize=\small] + \NeedsTeXFormat{LaTeX2e}[1995/12/01] + \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style + (HA)] + \RequirePackage{pifont} +\end{Verbatim} +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 oder Farben, die in einem +Stil verwendet werden. \pf{Powerdot} verwendet \pf{xcolor} (über \pf{pstricks}). +Daher eignet sich, für mehr Informationen für Farben, die \pf{xcolor} +Dokumentation. Genauere Ausführungen über Layouts zudem in +Kapitel~\ref{sec:defpals}. +\item\textbf{Definition von Vorlagen (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 \texttt{itemize} sowie einige Bereitstellungen für Listen generell +(umgesetzt mit \slash{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. +\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{Layouts definieren}\label{sec:defpals} +Die ausdrückliche Definition von Vorlagen wird in Kapitel~\ref{sec:deftemps} +thematisiert. Hier sei zunächst nur verdeutlicht, dass die Vorlage (Template) +die Schablone für den Stil einer Folie ist und somit ihr formales Design +ausmacht. Layouts hingegen sind Farbgruppen in denen ein Stil ausgeführt +werden kann. Ein Layout ändert demnach nicht das gesamte Design eines Stils. + +\marginpar{\texttt{$\backslash$pddefinepalettes}} +Der folgende Befehl dient der Definition des Layouts eines eigenen Stils. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \pddefinepalettes{<name>}{<cmds>}... +\end{Verbatim} +Dieser Makro (ein Programmcodeteil) funktioniert mit \emph{jeder} geraden Zahl +obligatorischer Argumente von mindestens zwei. Für jeden <\texttt{name}> eines +Layouts ist eine Gruppe von <\texttt{commands}> zur Definition möglich. Die +<\texttt{commands}> können beispielsweise die Farben \texttt{pdcolor1}, +\texttt{pdcolor2}, usw. +festlegen. Die Festlegung für \texttt{pdcolor1} entspricht dabei der Textfarbe. Die +gefärbten Layouts können dann auf den Stil einer Folie, die Schablone, +angewendet werden (siehe Kapitel~\ref{sec:deftemps}). +Zugriff auf die Layouts ist mit dem Key \texttt{palette} für den Befehl +\slash{pdsetup} +möglich (siehe Kapitel~\ref{sec:pdsetup}). Wird kein Layout spezifiziert, +wird das Design gemäß dem ersten Kompilieren der Präsentation ausfallen. +Hier nun ein Beispiel zur Definition zweier Layouts. +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +In diesem Beispiel dient das Layout \texttt{reds} als Standardfarbgebung für den Stil. +Mehr Informationen über \slash{definecolor} bietet die Dokumentation zum Paket +\pf{xcolor} \cite{xcolor}. + +Die Verwendung der Farbennamen \texttt{pdcolor2}, \texttt{pdcolor3}, usw. ist nicht +zwingend nötig. Diese Farben sind jedoch definiert. \pf{Powerdot} verwendet +sie beispielsweise beim Feature \texttt{randomdots} (siehe Kapitel~\ref{sec:glopts}). +Die Flexibilität ermöglicht weitere Festlegungen für Vorlagen von Folien +und deren Layouts. Ein Beispiel wie die Möglichkeiten weiter auszuschöpfen +sind, bietet ein Einblick in den Stil \pf{klope}. + +\subsection{Definition von Vorlagen (Templates)}\label{sec:deftemps} +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{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \pddefinetemplate[<basis>]{<name>}{<options>}{<commands>} +\end{Verbatim} + +\marginpar{\texttt{$\backslash$pddefinetemplate}} +Dies definiert die Umgebung <\texttt{name}>, welche eine Vorlage, bestimmt durch +die Charakteristika <\texttt{basis}>, <\texttt{options}> und +<\texttt{commands}> erstellt. +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 <\texttt{basis}> Schablone zu definieren, von welcher +aus die anderen Varianten erstellt werden. Alle <\texttt{options}> und +<\texttt{commands}> +für die neue Vorlage <\texttt{name}> werden der bestehenden Liste von +<\texttt{options}> +und <\texttt{commands}> der <\texttt{basis}> Schablone angefügt. + +Die Vorlage sollte mit \emph{einem passenden Namen} benannt, die Neubenennung +bestehender Schablonen oder Umgebungen jedoch vermieden werden. +\texttt{Blackslide}, +\texttt{note} und \texttt{emptyslide} definiert \pf{powerdot} intern, womit eine Verwendung +dieser Namen in der Regel vermieden werden sollte. Außerdem besteht jeder +Designstil aus den Vorlagen \texttt{slide} und \texttt{titleslide}. Die +\texttt{titleslide} Umgebung +wird im Standard dazu verwendet, die Titelfolie zu erzeugen während |slide| +(standardmäßig) für Unterkapitel verwendet wird. Titel und Unterkapitel +verwenden die <\texttt{options}> auf besondere Weise, was detaillierter in +Kapitel~\ref{sec:specialtemps} erläutert ist. + +\subsection{Steuerung des Setup} + +\marginpar{\textsl{option}\\\texttt{ifsetup}} +Nachfolgend sind die <\texttt{options}> (Keys bzw. Parameter) beschrieben. +Mit dem Key \texttt{ifsetup} kann kontrolliert werden, wie die Optionen auf +verschiedene Setups (Programmeinrichtungen) angelegt sind. Jeder verwendete +Key der vor der ersten \texttt{ifsetup} Meldung in <\texttt{options}> auftritt, wird bei +jedem möglichen Setup befolgt. Die dem Key zugewiesenen Parameter werden +umgesetzt. Ist der \texttt{ifsetup} Key jedoch einmal verwendet, erfolgt die Anwendung +der untergeordneten Keys nur auf das deklarierte Setup im \texttt{ifsetup} Key. +Die Parameter untergeordneter Keys werden demnach nur für das zugewiesene +Setup beachtet. Dabei kann der \texttt{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 \texttt{mode}, \texttt{paper}, +\texttt{orient}, und \texttt{display} +(siehe Kapitel~\ref{sec:classopts}). Wenn ein Wert oder Werte für einen +dieser vier Keys nicht in einer \texttt{ifsetup} Zuweisung spezifiziert ist, werden +alle untergeordneten Key-Deklarationen zu einem beliebigen Layout diesen Typs +angewendet. Man betrachte folgenden Quelltext als Beispiel. + +\begin{Verbatim}[frame=single,fontsize=\small,numbers=left] + ... + textpos={.2\slidewidth,.3\slideheight}, + ifsetup={portrait,screen}, + textpos={.3\slidewidth,.2\slideheight} + ... + ifsetup=landscape, + ... + ifsetup, + ... +\end{Verbatim} + +Angenommen im Beispiel wäre keine \texttt{ifsetup} Deklaration vor der ersten +\texttt{textpos} Deklaration, würde der Befehl \texttt{textpos} auf jedes mögliche +Setup +angewendet werden. Für das screen-Format in Hochformat (portrait) jedoch, +wird die nächste \texttt{textpos} Deklaration befolgt. Das heißt alle Befehle die bis +zum nächsten \texttt{ifsetup} (Zeile 6) ausgeführt werden, werden für Hochformat +(portrait) umgesetzt. Alle Keys nach diesem \texttt{ifsetup} gelten für Querformat +(landscape), 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 \texttt{ifsetup} ohne weitere +Parameter (Zeile 8). 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 +<\texttt{options}> des \slash{pddefinetemplate} Befehls. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \pdifsetup{<desired>}{<true>}{<false>} +\end{Verbatim} + +\marginpar{\texttt{$\backslash$pdifsetup}} +Dieser Makro (Programmcodeteil) entscheidet <\texttt{true}> wenn die +Programmeinrichtung des Benutzers, sei Setup, mit dem verlangten +<\texttt{desired}> +Setup überein stimmt. In allen anderen Fällen gilt <\texttt{false}>. Wurde +beispielsweise landscape (Querformat) gewählt, dann gilt bei +\begin{Verbatim}[frame=single,fontsize=\small] + \pdifsetup{landscape}{yes}{no} +\end{Verbatim} +"'yes"'. Wurde jedoch statt dessen portrait (Hochformat) gewählt, würde nein, +bzw. "`no"' gelten. + +Dieser Makro kann genutzt werden um die Setupanforderungen zu überprüfen und +um zum Beispiel ein Error zu generieren, wenn eine bestimmte +Programmeinrichtung vom Stil nicht unterstützt wird. \pf{Powerdot} bietet +eine vorverfasste Error-Nachricht, welche in den ersten Zeilen des +Quelltextes der Stildatei verwendet werden kann. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \pd@noportrait +\end{Verbatim} + +\marginpar{\texttt{$\backslash$pd@noportrait}} +Dieser Makro generiert ein Error wenn der Benutzer Hochformat abfragt. An +dieser Stelle sei darauf hingewiesen, dass ein eventueller Handout-Modus nur +in Hochformat möglich ist. Dieser Makro berücksichtigt dies jedoch und +generiert bei Abfrage eines Handouts kein Error. + +\subsection{Hauptkomponenten}\label{sec:maincomps} + +Die <\texttt{options}> kontrollieren verschiedene Key-Komponenten einer Folie. +Jede Komponente hat verschiedene Einzelteile mit jew. Eigenschaften. Ein Key +der für das <\texttt{options}> Argument verwendet werden kann ist die Bezeichnung +der Komponente. Zum Beispiel benannt nach ihrer Eigenschaft, die kontrolliert +werden soll. + +Die Komponenten\texttt{itle}, \texttt{text}, \texttt{toc}, \texttt{stoc} +und \texttt{ntoc} haben die Einzelteile +bzw. Eigenschaften \texttt{hook}, \texttt{pos}, \texttt{width} und +\texttt{font}. Zudem hat die Komponente +\texttt{text} die Eigenschaft \texttt{height}, die Komponenten \texttt{lf} +und \texttt{rf} die +Eigenschaften \texttt{hook}, \texttt{pos}, \texttt{temp} und \texttt{font}. +Eigenschaften +für gültige +Keys sind daher \texttt{titlefont}, \texttt{tocpos} und \texttt{lftemp}. Diese +Komponenten +und ihre Einzelteile sollen nun erläutert werden. + +Vom <\texttt{options}> Argument in \slash{pddefinetemplate} kontrollierte Komponenten +sind: +\begin{description} +\marginpar{\textsl{option}\\\texttt{title-}} +\item[\fcolorbox{black}{gray!30}{title-}] +Betrifft den Titel der Folie. + +\marginpar{\textsl{option}\\\texttt{text-}} +\item[\fcolorbox{black}{gray!30}{text-}] +Betrifft die Box für den Haupttext auf der Folie. + +\marginpar{\textsl{option}\\\texttt{toc-}} +\item[\fcolorbox{black}{gray!30}{toc-}] + +Betrifft das vollständige Inhaltsverzeichnis +einschließlich der Unterkapitel und Folien. + +\marginpar{\textsl{option}\\\texttt{stoc-}} +\item[\fcolorbox{black}{gray!30}{stoc-}] + +Dieses Inhaltsverzeichnis umfasst nur die +Unterkapitel "`sections"' (siehe auch \texttt{ntoc}). + +\marginpar{\textsl{option}\\\texttt{ntoc-}} +\item[\fcolorbox{black}{gray!30}{ntoc-}] + +Dies ist ein Inhaltsverzeichnis, welches nur +die Einträge des aktuellen +Kapitels anzeigt. Zusammen mit \texttt{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 \texttt{toc} nützlicher, eine +Kombination von \texttt{stoc} und \texttt{ntoc} oder überhaupt kein Inhaltsverzeichnis. + +\marginpar{\textsl{option}\\\texttt{lf-}} +\item[\fcolorbox{black}{gray!30}{lf-}] + +Betrifft die linke Fußnote bzw. Eingabefeld. + +\marginpar{\textsl{option}\\\texttt{rf-}} +\item[\fcolorbox{black}{gray!30}{rf-}] + +Betrifft die rechte Fußnote bzw. Eingabefeld. +\end{description} + +Angemerkt sei, dass alle Komponenten die bisher beschrieben wurden, mit +\slash{rput} von \pf{pstricks} \cite{PSTricksWeb,PSTricks} eingebracht werden. +Die Dokumentation zu \pf{pstricks} gibt mehr Informationen zu diesem Befehl. +Zudem sollte zur Kenntnis genommen werden, dass alle Komponenten (außer +\texttt{lf} und \texttt{rf}) ihren Inhalt in eine \texttt{minipage} Umgebung setzen. + +Nun werden alle Einzelteile bzw. Eigenschaften der zuvor genannten +Komponenten mit ihrer Bedeutung gelistet. Es ist daran zu denken, +dass Keys aus der Kombination einer Komponente und einer Eigenschaft bestehen. + +\begin{description} +\marginpar{\textsl{option}\\\texttt{-hook}} +\item[\fcolorbox{black}{gray!30}{-hook}] + +Diese Option definiert den \slash{rput} Anker, welcher bei der Positionierung +eines Item verwendet wird. Dieser kann sein: \texttt{tl}, \texttt{t}, +\texttt{tr}, \texttt{r}, \texttt{Br}, \texttt{br}, +\texttt{b}, \texttt{bl}, \texttt{Bl}, \texttt{l}, \texttt{B} und \texttt{c}. Die +\pf{pstricks} Dokumentation bietet hier zu weitere Informationen. + +\marginpar{\textsl{option}\\\texttt{-pos}} +\item[\fcolorbox{black}{gray!30}{-pos}] + +Dies definiert die Position des \texttt{hook}. Die linke, untere Ecke des "`Papiers"' +entspricht dem Punkt |{0,0}| und die rechte, obere Ecke dem Punkt +\texttt{\{\slash{slidewidth},\slash{slideheight}\}}. Soll die Box für den Haupttext +20\% vom linken +Rand und 30\% vom oberen Rand entfernt sein, ergibt sich folgender Key: +\begin{Verbatim}[frame=single,fontsize=\small] + textpos={.2\slidewidth,.7\slideheight} +\end{Verbatim} +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. + +\marginpar{\textsl{option}\\\texttt{-width}} +\item[\fcolorbox{black}{gray!30}{-width}] + +Bezieht sich auf die Breite der Komponente. Alle Komponenten, die \pf{powerdot} positioniert, +werden in eine \texttt{minipage} Umgebung gesetzt. Die Eigenschaft +\texttt{width} bestimmt +die Breite des Einsatzfeldes \texttt{minipage}. Zum Beispiel: +\begin{Verbatim}[frame=single,fontsize=\small] + textwidth=.7\slidewidth +\end{Verbatim} +Für \texttt{lf} und \texttt{rf} Komponenten gibt es diese Eigenschaft nicht. + +\marginpar{\textsl{option}\\\texttt{-height}} +\item[\fcolorbox{black}{gray!30}{-height}] + +Diese Option ist nur für die Komponente \texttt{text} verfügbar. Oder anders: Für +diese Eigenschaft gibt es nur eine Verwendung, nämlich den Key +\texttt{textheight}. +Damit kann die Höhe der \texttt{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ßnoten. Nicht +aber für die Länge oder den automatischen Folienumsprung durch \pf{powerdot} +bei vollen Textfenstern. Der vorbestimmte Wert ist \slash{slideheight}. + +\marginpar{\textsl{option}\\\texttt{-font}} +\item[\fcolorbox{black}{gray!30}{-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 \slash{large}slash{\bfseries}, aber auch +mit anderen Inhalten wie \slash{color}\{\texttt{red}\} oder +\slash{raggedright}. + +\marginpar{\textsl{option}\\\texttt{-temp}} +\item[\fcolorbox{black}{gray!30}{-temp}] + +Diese Eigenschaft ist nur für Fußnoten (\texttt{lf} und \texttt{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 Standard-Deklaration +bei \pf{powerdot} ist folgende: +\begin{Verbatim}[frame=single,fontsize=\small] + rftemp=\pd@@rf\ifx\pd@@rf\@empty + \else\ifx\theslide\@empty\else~--~\fi\fi\theslide +\end{Verbatim} +\slash{pd@@rf} wird hier den Inhalt des rechten Eingabefeldes umfassen, definiert +durch den Benutzer, entgegen dem \slash{pdsetup} Befehl. Ähnlich beinhaltet +\slash{pd@@rf} den Inhalt des linken Eingabefeldes. Der obige Befehl kontrolliert +ob das Eingabefeld und \slash{theslide} Inhalte haben. Wenn dem so ist, wird +\texttt{$\sim$--$\sim$} eingesetzt, um sie zu unterscheiden. + +\marginpar{\textsl{option}\\\texttt{-orient}} +\item[\fcolorbox{black}{gray!30}{-orient}] + +Diese Eigenschaft ist nur für die Komponenten \texttt{toc}, \texttt{stoc} +und \texttt{ntoc} +verfügbar. Es stehen die Alternativen \texttt{h} oder \texttt{v} zur Auswahl, um die +horizontale oder vertikale Ausrichtung des Inhaltsverzeichnisses zu +bestimmen. Die Voreinstellung entspricht \texttt{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. + +\marginpar{\texttt{$\backslash$pd@tocslide}} + +\marginpar{\texttt{$\backslash$pd@tocsection}} + +Diese Makros nehmen ein Argument an. Beim Erstellen des Inhaltsverzeichnisses +durchläuft +\pf{powerdot} den Inhalt mittels \slash{pd@tocslide} oder +\slash{pd@tocsection}, je nach dem welcher Eingabetyp gerade erstellt wird. +Sie können beispielsweise +\begin{Verbatim}[frame=single,fontsize=\small] + \def\pd@tocslide#1{$\bullet$\ #1} + \def\pd@tocsection#1{#1} +\end{Verbatim} +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. + +\marginpar{\texttt{$\backslash$pd@tocsisplay}} + +\marginpar{\texttt{$\backslash$pd@tochighlight}} + +Diese zwei Makros nehmen ebenfalls ein Argument. Nachdem die Eingabe mit dem +Befehl \slash{pd@tocslide} oder \slash{pd@tocsection} bearbeitet wurde, setzt +\pf{power\-dot} +das Erstellen der Eingabe mit Durchlaufen von \slash{pd@tocdisplay} fort, +wenn die Eingabe nur angezeigt werden muss oder von \slash{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 \texttt{minipage}. Des Weiteren setzt +\slash{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 +\texttt{minipage} Umgebung von diesen Makros gesetzt sind, in dem Fall, dass das +Inhaltsverzeichnis vertikal angelegt ist. Die \texttt{-width}-Bestandteile +determinieren dann die Breite des Inhaltsverzeichnisses und zusammen mit +\texttt{tocsecindent} und +\texttt{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 \texttt{minipage}. + Die \texttt{-width}-Bestandteile +determinieren nur die Breite der individuellen Eingaben (zusammen mit +\texttt{tocsecindent} und \texttt{tocslideindent}). + +Mehrere Aspekte des Prozesses des Anlegens des Inhaltsverzeichnisses können durch +Schlüssel gesteuert werden, die im Befehl +\slash{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} +\marginpar{\textsl{option}\\ \texttt{tocfrsep}} +\item[\fcolorbox{black}{gray!30}{tocfrsep}] + +Diese Länge ist der Abstand zwischen der Box, die den Inhalt umgibt, die von der +\texttt{minipage} kreiert wurde und der hervorgehobenen Rahmenbox, kreiert durch +\slash{pd@tochighlight}. Voreingestellt: \texttt{0.5mm}. + +\marginpar{\textsl{option}\\\texttt{tocsecsep}} +\item[\fcolorbox{black}{gray!30}{tocsecsep}] + +Dieser Abstand ist vor einem Abschnitt eingefügt (ausgenommen es ist das erste +Element in dem Inhaltsverzeichnis). Voreingestellt: \texttt{2ex}. +Beachten Sie, dass wenn die Orientierung des Inhaltsverzeichnisses auf vertikal +gesetzt ist, die Länge eine vertikale Auslassung kreiert, anderenfalls kreiert es +eine horizontale Auslassung. + +\marginpar{\textsl{option}\\\texttt{tocslidesep}} +\item[\fcolorbox{black}{gray!30}{tocslidesep}] + +Der Abstand ist vor anderen Eingaben eingefügt (ausgenommen es ist das erste Element +in dem Inhaltsverzeichnis). Voreingestellt: \texttt{0ex}. Wie +\texttt{tocsecsep} ist der Effekt der Länge abhängig von der Ausrichtung des +Inhaltsverzeichnisses. + +\marginpar{\textsl{option}\\\texttt{tocsecindent}} +\item[\fcolorbox{black}{gray!30}{tocsecindent}] + +Ein horizontales Leerfeld links von der Abschnitteingabe. Voreingestellt: +\texttt{0pt}. + +\marginpar{\textsl{option}\\\texttt{tocslideindent}} +\item[\fcolorbox{black}{gray!30}{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: \texttt{0pt}. + +\marginpar{\textsl{option}\\\texttt{tocsecm}} +\item[\fcolorbox{black}{gray!30}{tocsecm}] + +Dies wird vor dem Schrift setzen eines Abschnitts eingefügt. Es kann zum Markieren +eines Abschnitts verwendet werden, zum Beispiel mit einer Linie im \pf{default} +Stil. Voreingestellt ist: empty. + +\marginpar{\textsl{option}\\\texttt{toccolor}} +\item[\fcolorbox{black}{gray!30}{toccolor}] + +Dies ist die Schriftfarbe, benutzt für nicht hervorgehobene Elemente +im Inhaltsverzeichnis. Voreingestellt: \texttt{black}. + +\marginpar{\textsl{option}\\\texttt{tochltcolor}} +\item[\fcolorbox{black}{gray!30}{tochltcolor}] + +Dies ist die Schriftfarbe, benutzt für hervorgehobene Elemente im +Inhaltsverzeichnis. Voreingestellt: \texttt{white}. + +\marginpar{\textsl{option}\\\texttt{tochlcolor}} +\item[\fcolorbox{black}{gray!30}{tochlcolor}] + +Die ist die Farbe, benutzt für den Rahmen hinter den hervorgehobenen Elementen. +Voreingestellt: \texttt{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} + +\marginpar{\textsl{option}\\\texttt{iacolor}} +\item[\fcolorbox{black}{gray!30}{iacolor}] + +Die Option \texttt{iacolor} können Sie benutzen, um die Farbe, die für inaktive +Symbole genutzt wird, zu spezifizieren. Sie wird beispielsweise durch +\slash{onslide}, \slash{pause} +(siehe Abschnitt~\ref{sec:overlays}) und \slash{tableofcontents} (siehe +Abschnitt~\ref{sec:tableofcontents}). Wenn \pf{xcolor} von +\pf{powerdot} verwendet wird, können Sie hierbei spezielle Darstellungsarten wählen, +wie +\begin{Verbatim}[frame=single,fontsize=\small] + iacolor=black!20 +\end{Verbatim} +Der voreingestellte Wert für diesen Schlüssel ist \texttt{lightgray}. + +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 arbeiten ähnlich, wie zum Beispiel für den Titelbaustein, aber es +gibt ebenfalls spezielle Optionen. + +\marginpar{\textsl{option}\\\texttt{clockhook//clockpos}} +\item[\fcolorbox{black}{gray!30}{clockhook} \quad +\fcolorbox{black}{gray!30}{clockpos}] + +Diese arbeiten auf die gleiche Weise wie die \texttt{-hook} und +\texttt{-pos} Bestandteile, +die in Abschnitt~\ref{sec:maincomps}diskutiert wurden. Der voreingestellte Wert der +\texttt{clockhook} ist \texttt{tr}. + +\marginpar{\textsl{option}\\\texttt{clockwidth\\clockheight}} +\item[\fcolorbox{black}{gray!30}{clockwidth} \quad +\fcolorbox{black}{gray!30}{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 +\texttt{3cm} beziehungsweise von \slash{baselineskip}. + +\marginpar{\textsl{option}\\\texttt{clockcharsize}} +\item[\fcolorbox{black}{gray!30}{clockcharsize}] + +Die Größe der Ziffern auf der Uhr. Voreingestellt ist \texttt{14pt}. + +\marginpar{\textsl{option}\\\texttt{clockalign}} +\item[\fcolorbox{black}{gray!30}{clockalign}] + +Die Ausrichtung der Uhr im Textfeld. \texttt{0} ist links ausgerichtet, +\texttt{1} ist zentriert und \texttt{2} ist rechts ausgerichtet. Voreingestellt +ist \texttt{2}. + +\marginpar{\textsl{option}\\\texttt{clockcolor}} +\item[\fcolorbox{black}{gray!30}{clockcolor}] + +Dies legt die Schriftfarbe der Uhr fest. Der Wert muss eine bestimmte Farbe sein. +Der voreingestellte Wert ist \texttt{black}. +\end{description} + +\subsection{Voreingestellte Templates} + +Unten 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{Verbatim}[frame=single,fontsize=\small] + 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, + 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{Verbatim} + +\subsection{Der Hintergrund}\label{sec:defbg} + +Nur ein Argument von dem Makro \slash{pddefinetemplate} ist noch unbesprochen. Die ist +das <\textsl{Befehls}> (<\textsl{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ßnoten 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}' \slash{rput}. +\begin{Verbatim}[frame=single,fontsize=\small] + \rput[bl](0,0){Hello} +\end{Verbatim} + +\subsection{Titelfolie, Titel und Abschnitte}\label{sec:specialtemps} + +Wie zuvor erwähnt, muss der Stil, in dem Sie schreiben, definiert werden und damit +zuletzt die Schablonen \texttt{slide} und \texttt{titleslide}. Letzteres behandelt +einige der Schlüssel in einer speziellen Weise. + +Die Titelfolie (erstellt durch \slash{maketitle}) setzt den Titel mit den Autor/en +und das Datum in die Haupttextbox. Dies bedeutet, dass Sie eine Position für die +Haupttextbox (\texttt{textpos})liefern müssen. Die Haupttextschriftgröße (zusammen +mit den Erklärungen in dem +\texttt{textfont} Schlüssel) wird für Autor/en und Datum benutzt. Die Erklärung wird +aber in \texttt{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 zu überschreiben + +\marginpar{\texttt{$\backslash$pd@slidetitle}} +Das Makro \slash{pd@slidetitle} wird verwendet, um den Folientitel auf die Folien zu setzen. +Dieses Makro ist zum Beispiel mit \slash{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 +seinem 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 der den Mehrfachlinientitel unterstützt. + +\marginpar{\texttt{$\backslash$pd@sectiontitle}} +Diese Makros haben Ähnlichkeit zu \... 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 +\slash{pd@slidetitle}. + + +\marginpar{\textsl{option}\\\texttt{sectemp}} + +\marginpar{\textsl{option}\\\texttt{widesectemp}} + +Der Befehl \slash{section} benutzt (standardmäßig) die \texttt{slide} Umgebung und setzt den +Abschnittstitel in die Titelbox mit der Schriftart \texttt{titlefont}. Wenn Sie zum Beispiel +diesen Standard ändern möchten und die \texttt{slide} Umgebung, die +\texttt{sectionslide} Umgebung oder eine beliebige eigens kreierte Abschnittschablone auch für +die Abschnitte nutzen möchten, ändern Sie die voreingestellte Schablone in Ihrem Stil mit +\begin{Verbatim}[frame=single,fontsize=\small] + \setkeys[pd]{section}{sectemp=sectionslide} +\end{Verbatim} +Die bedeutet, dass bei der Forderung des Benutzers nach +\texttt{template=slide} in dem Befehl +\slash{section} die \texttt{sectionslide} Umgebung stillschweigend benutzt wird. Um +Überraschungen zu vermeiden sollte \texttt{sectionslide} vorzugsweise auf +der \texttt{slide} Umgebung basieren. + +Eine ähnliche Option ist verfügbar in dem Fall, dass der Benutzer \\ +\texttt{template=wideslide} fordert. Beispielsweise die Folgende: +\begin{Verbatim}[frame=single,fontsize=\small] + \setkeys[pd]{section}{widesectemp=sectionwideslide} +\end{Verbatim} +Jedes Mal wenn der Benutzer ein \texttt{wideslide} anfordert, gebraucht für +\slash{section}, wird stattdessen die \texttt{sectionwideslide} Umgebung benutzt. Bei +anderen Inputs für den Schablonenschlüssel erfolgt keine spezielle Bearbeitung. + +Beachten Sie, dass diese Schlüssel in den \texttt{section} Gruppenschlüsseln verfügbar sind +und dass Sie diese nicht für den Befehl \slash{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\ über +\texttt{powerdot.dtx} läuft. Diese generiert\\ +\texttt{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 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}$\rhd$\texttt{Reconfigure} 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{Layout}$\rhd$\texttt{Document} und wählen Sie \texttt{powerdot +presentation} als Dokumentenklasse aus. Für mehr Informationen schauen Sie in die \LyX\ +Dokumentation, die unter dem \texttt{Hilfemenü} 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 +\texttt{Slide}, \texttt{WideSlide}, \texttt{EmptySlide} und \texttt{Note} benutzt werden. +Diese Umgebungen entsprechen der \pf{powerdot} Umgebung \texttt{slide}, +\texttt{emptyslide}, \texttt{wideslide} und \texttt{note}. + +Begonnen wird mit einem einfachen Beispiel. Der folgende \LaTeX\ Code +\begin{Verbatim}[frame=single,fontsize=\small] + \begin{slide}{Slide title} + Slide content. + \end{slide} +\end{Verbatim} +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{Verbatim}[frame=single,fontsize=\small] + Slide Slide title + Standard Slide content. + EndSlide +\end{Verbatim} +Einige Anmerkungen, bezogen auf dieses Beispiel. +\begin{itemize} +\item Sie können dieses Umgebungsmenü (unter dem Menübalken, oberere linke Ecke) verwenden, um +die Umgebung angewandt auf diesen Text zu wechseln. +\item Der Folientitel sollte in der Zeile der \texttt{Slide} +Umgebung geschrieben werden. +\item \texttt{EndSlide} beendet die Folie und lässt die Linie unbeschrieben. +\end{itemize} + +In dem \LyX\ Fenster liegt die \texttt{Slide} Umgebung (der Folientitel) in magenta aus, +der \texttt{WideSlide} Stil in grün, der +\texttt{EmptySlide} Stil in cyan und der \texttt{Note} Stil in rot und daher sind diese +leicht identifizierbar. + +Hier ist ein anderes Beispiel. +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +Das lässt sich im \LyX\ folgendermaßen erstellen. +\begin{Verbatim}[frame=single,fontsize=\small] + 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{Verbatim} +Dieses Beispiel demonstriert, dass es oft genügt den +\texttt{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 \texttt{EndSlide} Stil beenden. Beispiel: +\begin{Verbatim}[frame=single,fontsize=\small] + Slide First slide title + Standard The first slide. + EndSlide + [ERT box with some material] + Slide Second slide title + ... +\end{Verbatim} + +Optionen können für Folienumgebungen mit der Benutzung von +\texttt{Insert}$\rhd$\texttt{Short title} vor dem Folientitel übermittelt werden. Das folgende +Beispiel gebraucht die \texttt{direkte} Methode (siehe +Abschnitt~\ref{sec:verbatim}) im Kurztitel-Argument (begrenzt durch einen eckigen Bereich) um +eine \texttt{lstlisting} Umgebung (definiert vom +dem \pf{listings} Packet) binnen des Folieninhalts zu erstellen. +\begin{Verbatim}[frame=single,fontsize=\small] + 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{Verbatim} +Beachten Sie, dass Sie nicht verpflichtet sind eine \texttt{verbatim} Umgebung zu nutzen, +um \slash{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 backslash Zeichen ist in +\slash{textbackslash} übersetzt. Resultierend, ist die Schriftart nicht die gleiche wie in der +wahren wörtgetreuen Übersetzung und Sie könnten dies durch den +\texttt{Layout}$\rhd$\texttt{Character} Dialog ändern.}. Folglich ist die Benutzung der Methoden +der Folienaufbereitung \texttt{direct} und \texttt{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}$\rhd$\texttt{Document} Dialog unterstützt(\texttt{Layout} Ausschnitt). +Optionen für den Befehl \slash{pdsetup}(siehe Abschnitt~\ref{sec:setup}) +sollten in dem Präambel \texttt{Preamble} Ausschnitt des +\texttt{Layout}$\rhd$\texttt{Document} Dialog spezifiziert werden. + +Tabelle drei \ref{tab:lyxcommands} listet die \pf{powerdot} Befehle auf, die +in \LyX unterstützt werden. +\begin{table}[htb] +\centering +\begin{tabular}{l|p{7.5cm}} +Befehl & Methode in \LyX\\\hline +\slash{title} & Benutzt \texttt{Title} Umgebung.\\ +\slash{author} & Benutzt \texttt{Author} Umgebung.\\ +\slash{date} & Benutzt \texttt{Date} Umgebung.\\ +\slash{maketitle} & direkt von \LyX ausgeführt.\\ +\slash{section} & Benutzt die \texttt{Section} Umgebung. Optionen für diesen +Befehl (siehe Abschnitt~\ref{sec:section}) können durch +\texttt{Insert}$\rhd$\texttt{Short title} vor dem Abschnittstitel spezifiziert werden.\\ +\slash{tableofcontents} & Sie benutzen \texttt{Insert}$\rhd$\texttt{Lists \& +TOC}$\rhd$\texttt{Table of contents} und brauchen eine ERT-Box, wenn sie ein optionales Argument +benutzen möchten. Siehe unten. +\end{tabular} + +\caption{Unterstützt \pf{powerdot} Befehle in \LyX}\label{tab:lyxcommands} +\end{table} + +Table \ref{tab:lyxenvs} listet die \pf{powerdot}Umgebungen auf, die neben den vorher diskutierten +\texttt{slide}, \texttt{wideslide}, \texttt{note} und +\texttt{emptyslide} Umgebungen auch in \LyX unterstützt werden. +\begin{table}[htb] +\centering +\begin{tabular}{l|p{8cm}} +Umgebung & Methode in \LyX\\\hline +\texttt{itemize} & Benutzt \texttt{Itemize} und \texttt{ItemizeType1} +Umgebungen. Letzteres wird eine Liste mit \texttt{type=1} kreieren (siehe +Abschnitt~\ref{sec:lists}).\\ +\texttt{enumerate} & Benutzt \texttt{Enumerate} und +\texttt{EnumerateType1} Umgebungen.\\ +\texttt{thebibliography} & Benutzt \texttt{Bibliography} Umgebung. +\end{tabular} +\caption{Unterstützt \pf{powerdot} Umgebungen in \LyX}\label{tab:lyxenvs} +\end{table} +Table \ref{tab:lyxERT} listet Befehle auf, die nur bei Benutzung der ERT-Box(durch +\texttt{Insert}$\unrhd$\texttt{TeX})durchgeführt werden können. +\begin{table}[ht] +\centering +\begin{tabular}{l|p{8cm}} +Befehl & Methode in \LyX\\\hline +\slash{and} & innerhalb der \texttt{Author} Umgebung.\\ +\slash{pause} & \\ +\slash{item} & eine ERT-Box ist nur erforderlich für das optionale Argument, nicht obligatorisch für +Overlay-Spezifikationen.\\ +\slash{onslide} & Und die Versionen \slash{onslide+} und \slash{onslide*}.\\ +\slash{twocolumn} & \\ +\slash{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 +\slash{pause} zu wiederholen. Schließlich listet Tabelle \ref{tab:lyxadd} zusätzliche Befehle und Umgebungen +auf, die vom Layout unterstützt werden. +\begin{table}[htb] +\centering +\begin{tabular}{l|p{8cm}} +Env./Befehl & Methode in \LyX\\\hline +\texttt{quote} & Benutzt \texttt{Quote} Umgebung.\\ +\texttt{quotation} & Benutzt \texttt{Quotation} Umgebung.\\ +\texttt{verse} & Benutzt \texttt{Verse} Umgebung.\\ +\slash{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 +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}$\rhd$\texttt{Document} Dialog. In dem +\texttt{Layout} Ausschnitt setzen Sie die \texttt{nopsheader}, +\texttt{orient} und \texttt{paper} Schlüssel als Klassenoptionen (siehe +Abschnitt~\ref{sec:classopts} für eine Beschreibung). Gehen Sie dann zum +\texttt{Paper} Ausschnitt und wählen Sie die dementsprechende Papiergröße und Ausrichtung (Sie +können \texttt{letter} Papiergröße auswählen, im Fall dass Sie +\texttt{paper=screen} in +der Klassenoption setzen). Schließlich gehen Sie zum \texttt{View} (oder +\texttt{File}$\rhd$\texttt{Export}) Menü und wählen Sie Ihren Output +(PostScript or PDF). + +\subsection{Erweiterung des Layouts} + +Wenn Sie einen individuell gefertigten Stil (siehe Abschnitt~\ref{sec:writestyle}), +welcher individuelle Schablonen definiert, kreiert 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 \texttt{sunnyslide}) definiert haben. + +Um diese neue Schablone in \LyX zu unterstützen, müssen Sie den folgenden Befehl benutzen. +\begin{Verbatim}[frame=single,fontsize=\small,fillcolor=\color{yellow}] + \{pddefinelyxtemplate}<cs>{<template>} +\end{Verbatim} + +\marginpar{\texttt{$\backslash$pddefinelyxtemplate}} + +Dies wird die Befehlssequenz <\textsl{cs}> derart definieren, dass Sie eine Folie mit der Schablone +<\textsl{template}> kreieren (die mit der Benutzung von +\slash{pddefinetemplate} definiert wurde). Diese neue Befehlssequenz kann wie folgt in der Layout-Datei +gebraucht werden. +\begin{Verbatim}[frame=single,fontsize=\small] + # SunnySlide environment definition + Style SunnySlide + CopyStyle Slide + LatexName lyxend\lyxsunnyslide + Font + Color Yellow + EndFont + Preamble + \pddefinelyxtemplate\lyxsunnyslide{sunnyslide} + EndPreamble + End +\end{Verbatim} +Beachten Sie, dass das \texttt{LatexName} Feld mit \texttt{lyxend} beginnen muss. Die Definition +der \LyX\ Schablone wurde zwischen +\texttt{Preamble} und \texttt{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 \texttt{Hilfemenü}. + +\section{Fragen }\label{sec:questions} +\subsection{Häufig gestellte Fragen}\label{sec:FAQ} + +Dieser Abschnitt ist häufig gestellten Fragen gewidmet. Lesen Sie aufmerksam, Ihre Probleme könnten in +diesem Abschnitt gelöst werden. +\begin{description} +\item[\textbf{Frage 1}] +Hat \pf{powerdot} Beispieldateien? Wo kann ich diese finden? +\item[\textbf{Antwort 1}] +\pf{powerdot} hat einige 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}. +\item[\textbf{F 2}] +Ich bekomme Fehler oder unerwartete Outputs, wenn die simpelste Programmübersetzung läuft. +\item[\textbf{A 2}] + Haben Sie Abschnitt~\ref{sec:compiling} gelesen? +\item[\textbf{F 3}] +Ich habe einen Tippfehler in dem 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ß. +\item[\textbf{A 3}] +Entfernen Sie die \texttt{.bm} und \texttt{.toc} Dateien und versuchen Sie es erneut. +\item[\textbf{F 4}] +\slash{pause} funktioniert nicht in der \texttt{align} Umgebung\footnote{Es gibt einige andere Umgebungen, +die ähnlich funktionieren. Ein Beispiel ist die \texttt{split} Umgebung, aber dies (oft in dem +\pf{amsmath} Packet) kann die gleichen Probleme mit \slash{pause} +verursachen.}. +\item[\textbf{A 4}] +\texttt{align} macht einige komplizierte Dinge, die es unmöglichen machen +\slash{pause} zu benutzen. +Benutzen Sie stattdessen \slash{onslide}. Siehe Abschnitt~\ref{sec:onslide}. +\item[\textbf{F 5}] +Meine \pf{pstricks} nodes treten auf allen Overlays auf. Außerdem scheint +\texttt{color} nicht mit \slash{onslide} zu funktionieren. +\item[\textbf{A 5}] +Einige PostScript Tricks , wie nodes und color funktionieren nicht mit +\slash{onslide}. Benutzen Sie stattdessen \slash{onslide*}. Siehe das +folgende Beispiel. + +\begin{Verbatim}[frame=single,fontsize=\small] + \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{Verbatim} +\item[\textbf{F 6}] +Muss ich Stil-Dateien editieren, um diese ein bisschen zu verändern? +\item[\textbf{A 6}] +Nein, Sie müssen keine Stil-Dateien editieren. Sie können jeden Teil eines bestimmten Stils verändern, +indem Sie die Befehle \slash{pddefinetemplate} und +\slash{pddefinepalettes} anwenden. Hier ist ein Beispiel, das die rechte Fußnote aus dem \pf{default} +Stil entfernt, die linke Fußnote in das Zentrum verschiebt und eine andere Farbskala hinzufügt. +\begin{Verbatim}[frame=single,fontsize=\small] + \documentclass{powerdot} + \pddefinetemplate[slide]{slide}{ + lfhook=Bc,lfpos={.5\slidewidth,.04\slideheight}, + rfpos + }{} + \pddefinepalettes{mypalette}{ + \definecolor{pdcolor1}{rgb}{.27,.31,.44} + \definecolor{pdcolor2}{rgb}{.85,.85,.92} + \definecolor{pdcolor3}{rgb}{.8,.75,.98} + } + \pdsetup{ + lf=My presentation, + palette=mypalette + } + \begin{document} + \begin{slide}{Title} + \end{slide} + \end{document} +\end{Verbatim} +Siehe Abschnitt~\ref{sec:writestyle} für mehr Informationen über diese beiden Befehle. +\item[\textbf{F 7}] +Kann ich bei diesem Projekt mitarbeiten? +\item[\textbf{A 7}] +Sicher. Wenn Sie 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, +dass Sie benutzen.} oder Tippfehler finden, senden Sie uns eine Nachricht zu der 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 wir Dateien adaptieren falls Wartungsarbeiten nötig sind. +\end{description} + +Wenn Ihre Fragen an diesem Punkt nicht beantwortet wurden, stoßen Sie zu dem nächsten Abschnitt vor, um +zu Lesen, wo Sie mehr Antworten finden. + +\subsection{Mailing-Liste}\label{sec:mailinglist} + +\pf{powerdot} hat eine Mailing-Liste von \url{freelists.org} und hat die Website hier: +\begin{center} +\url{http://www.freelists.org/list/powerdot} +\end{center} +Da gibt es einen Link zu `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 zu schreiben; 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 Buttons versorgen Sie mit einigen Informationen und Optionen +für Ihren Account. + +Wenn Sie alles eingestellt haben, können Sie der Liste schreiben, indem +Sie eine E-Mail an +\begin{center} +\url{powerdot [at] freelists [dot] org} +\end{center} +senden. + +Wenn Sie der Liste schreiben, behalten Sie die folgenden Kernpunkte im Hinterkopf. +\begin{enumerate} +\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, finden Sie +\texttt{powerdot.dtx}, suchen Sie in der Datei nach \slash{OnlyDescription}, entfernen Sie dies und +führen sie aus: +\begin{Verbatim}[frame=single,fontsize=\small] + latex powerdot.dtx + latex powerdot.dtx + bibtex powerdot + makeindex -s gglo.ist -o powerdot.gls powerdot.glo + makeindex -s gind.ist -o powerdot.ind powerdot.idx + latex powerdot.dtx + latex powerdot.dtx +\end{Verbatim} + + +\section{Literatur} +\begin{thebibliography}{999} +\bibitem{HA-prosper} \textsc{Hendri Adriaens.} + \texttt{HA-prosper} package.\\ \url{CTAN:/macros/latex/contrib/HA-prosper}. +\bibitem{xkeyval} \textsc{Hendri Adriaens.} \texttt{xkeyval} package.\\ +\url{CTAN:/macros/latex/contrib/xkeyval}. +\bibitem{random} \textsc{Donald Arseneau.} \texttt{random.tex}. +\url{CTAN:/macros/generic/misc}. +\bibitem{enumitem} \textsc{Javier Bezos.} \texttt{enumitem} package.\\ +\url{CTAN:/macros/latex/contrib/enumitem}. +\bibitem{graphics} \textsc{David Carlisle.} \texttt{graphics bundle}.\\ +\url{CTAN:/macros/latex/required/graphics}. +\bibitem{LyXWeb} \LyX{} \textsc{crew.} \LyX{} website. \url{http://www.lyx.org}. +\bibitem{CTAN} \textsc{CTAN crew.} The Comprehensive \TeX{} Archive Network.\\ +\url{http://www.ctan.org}. +\bibitem{natbib} \textsc{Patrick W. Daly.} \texttt{natbib} package.\\ +\url{CTAN:/macros/latex/contrib/natbib}. +\bibitem{prosper} \textsc{Fr\'{e}d\'{e}ric Goualard and Peter M\o ller +Neergaard.}\\ \texttt{prosper class}. +\url{CTAN:/macros/latex/contrib/prosper}. +\bibitem{xcolor} \textsc{Uwe Kern.} \texttt{xcolor} package. +\url{CTAN:/macros/latex/contrib/xcolor}. +\bibitem{extsizes} \textsc{James Kilfiger and Wolfgang May.} +\texttt{extsizes bundle}.\\ +\url{CTAN:/macros/latex/ contrib/extsizes}. +\bibitem{companion} \textsc{Frank Mittelbach and Michel Goossens.} The +\LaTeX{} Companion. Tools and +Techniques for Computer Typesetting. Addison-Wesley, Boston, Massachusetts, 2 edition, 2004. +With Johannes Braams, David Carlisle, and Chris Rowley. +\bibitem{hyperref} \textsc{Sebastian Rahtz and Heiko Overdiek.} +\texttt{hyperref} package.\\ +\url{CTAN:/macros/latex/contrib/hyperref}. +\bibitem{geometry} \textsc{Hideo Umeki.} \texttt{geometry} package.\\ +\url{CTAN:/macros/latex/contrib/geometry}. +\bibitem{PSTricksWeb} \textsc{Herbert Vo}{\ss}. \texttt{PSTricks website}. +\url{http://pstricks.tug.org}. +\bibitem{PSTricks} \textsc{Timothy Van Zandt et al.} \texttt{PSTricks} package, v1.07, +2005/05/06. \url{CTAN: /graphics/pstricks}. + +\end{thebibliography} + +\section*{Danksagung} +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. + +\end{document} + diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdotSlide.pdf b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotSlide.pdf Binary files differnew file mode 100644 index 00000000000..a6be633fea8 --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotSlide.pdf diff --git a/Master/texmf-dist/doc/latex/powerdot/docs/powerdotSlide.tex b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotSlide.tex new file mode 100644 index 00000000000..e095b47c20e --- /dev/null +++ b/Master/texmf-dist/doc/latex/powerdot/docs/powerdotSlide.tex @@ -0,0 +1,2635 @@ +%% +%% This documentation is prepared by Herbert Voss +%% +%% 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. +%% +\documentclass{powerdot} +\usepackage{url} +\usepackage{fourier} +\usepackage{graphicx} +\usepackage{listings} +\usepackage{array} +\def\Lcs#1{\texttt{\textbackslash#1}} +\lstnewenvironment{command}{% + \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},% + xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{} +\lstdefinestyle{example}{% + basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,% + backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,% + xrightmargin=\fboxsep,% + language=[LaTeX]TeX,keywordstyle=\color{blue},% + moretexcs=[1]{color,ProvidesPackage},% + moretexcs=[2]{onslide,pause,pdsetup,maketitle,tableofcontents},% + texcsstyle=[2]\color{red}} +\makeatletter +\def\option#1{% + \XKV@for@n{#1}\pd@tempa{% + \fcolorbox{black}{red!20}{\texttt\pd@tempa}\quad + }% + \vspace*{.2cm}% +} +\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}} +\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}.}}% +} +\makeatother + +\def\fileversion{v1.4e} +\def\filedate{2010/12/18} + +\title{The \pf{powerdot} class} +\author{Hendri Adriaens\and Christopher Ellison\and Herbert Vo\ss} +\date{\fileversion\ (\filedate)} + +\begin{document} + +\maketitle + +\begin{slide}{Abstract} +\begin{abstract} +\pf{powerdot} is a presentation class for \LaTeX\ that allows for +the quick and easy development of professional presentations. It +comes with many tools that enhance presentations and aid the +presenter. Examples are automatic overlays, personal notes and a +handout mode. To view a presentation, DVI, PS or PDF output can be +used. A powerful template system is available to easily develop new +styles. A \LyX\ layout file is provided. +\end{abstract} +\end{slide} + +\begin{slide}{Contents} +\tableofcontents +\end{slide} + +\section{Introduction} +\begin{slide}{Introduction}\label{sec:intro} +This class builds on and extends the \pf{prosper} class +\cite{prosper} and the \pf{HA-prosper} package \cite{HA-prosper}. +The \pf{HA-prosper} package was initially intended to extend +\pf{prosper} and correct some bugs and problems of that class. As +developments on that package progressed, it was found that +unfortunately, not all of the problems could be overcome with the +package. That discovery was the start of a new project set up to +make a new class to replace the \pf{prosper} plus \pf{HA-prosper} +combination. You're currently reading the result of that project.\pause + +The remainder of this section will be devoted to giving a feel of +what the \pf{powerdot} presentation source looks like and giving an +overview of this documentation.\pause + +The document structure of a presentation is always the same. You can +find it in the example below. +\end{slide} + + +\begin{slide}[method=direct]{Example} +\begin{lstlisting}[style=example] +\documentclass[<class options>]{powerdot} +\pdsetup{<presentation options>} +\begin{document} + \begin{slide}{a slide} + Contents of the slide. + \end{slide} + \section{first section} + \begin{slide}[<slide options>]{another slide} + Contents of the slide. + \end{slide} + \begin{note}{personal note} + The note. + \end{note} +\end{document} +\end{lstlisting} + +\end{slide} + + +\begin{slide}[method=direct]{} +There are several elements that define the document structure. First +of all, the class accepts some class options that control the output +of the class, for instance, paper type and style. These class +options will be discussed in section~\ref{sec:classopts}. Then there +are presentation specific options which control some of the elements +of the presentation globally, for instance, the footers. These will +be discussed in section~\ref{sec:pdsetup}. +\end{slide} + +\begin{slide}[method=direct]{} +Once the setup has been decided on, you can use the slide +environment to produce slides (see section~\ref{sec:slides}) and the +note environment to produce notes that go with the slides (see +section~\ref{sec:notes}). You can use overlays to display material +in steps. This is described in section~\ref{sec:overlays}. The +\verb=\section= command provides a way to structure your presentation. +This is discussed in section~\ref{sec:structure}. +Section~\ref{sec:styles} will show an overview of the styles that +come with this class and the characteristics of each style. +Section~\ref{sec:compiling} will tell you more about how to produce +output. This section contains important information on required +packages. +\end{slide} + +\begin{slide}[method=direct]{} +Section~\ref{sec:writestyle} is mostly interesting for people that +want to develop their own style for this class or want to modify an +existing style. Section~\ref{sec:lyx} explains how \LyX\ +\cite{LyXWeb} can be used to create \pf{powerdot} presentations. +This documentation concludes with a section devoted to questions +(section~\ref{sec:questions}), like `Where can I find examples?'. It +also tells you where to turn to in case your questions are still not +solved. +\end{slide} + + +\section{Setting up the presentation}\label{sec:setup} +\subsection{Document class options}\label{sec:classopts} +\begin{slide}{Document class options} +This section will describe all options that are available to control +the output of the presentation and the looks of it. \pause + +We will +start with the class options that are typed in the \Lcs{documentclass} +command as a comma-separated list. For each option, the preset +value will be mentioned in the description. This is the value +that will be used if you decide to not give a value to the option or +not use the option at all. The value that will be used when you don't use the +option. +\end{slide} + +\begin{slide}{} +This options controls the kind of output that we want to produce. +The preset value is \texttt{present}.\pause +\begin{description} +\item\option{mode=present} +This mode is used when you want to create the actual presentation. It +will enable overlays and transition effects. You can read more about +overlays in section~\ref{sec:overlays}. +\item\option{mode=print}\\ +This mode can be used when printing the slides including their visual +markup, but without any overlay or transition effects. +\item\option{mode=handout}\\ +This mode will produce a black and white overview of your slides that +can be used to make personal notes on, for distribution to students, +a personal guide during your talk, etcetera. +\end{description} +\end{slide} + +\begin{slide}{} +This options controls the kind of output that we want to produce. +The preset value is \texttt{present}.\pause +\begin{description} +\item\option{nopagebreaks}\\ +By default, the handout mode produces a document with two slides per +page. If you want to fit more slides on a page, specify this option +in the \Lcs{documentclass} command and \pf{powerdot} will let \LaTeX\ +decide on the places to insert a page break, namely when a page is +full. +\end{description} +\end{slide} + + +\begin{slide}{} +\begin{description} +\item\option{paper} This option has three possible values. The +preset value is \texttt{screen}. +\begin{description} +\item\option{paper=screen}\\ +This is a special format with screen optimized ratio (4/3). The +actual page dimensions will be 8.25 inch by 11 inch. This paper format +is not available for print or handout mode. In these modes, \pf{powerdot} +will switch to a4 paper and put a warning that it did this in the +log file of your presentation. +\item\option{paper=a4paper}\\ +A4 paper will be used for the presentation or handout. +\item\option{paper=letterpaper}\\ +Letter size paper will be used. +\end{description} +\end{description} +\end{slide} + +\end{document} + +Some important information with respect to paper size, compiling and +viewing presentations is available in section~\ref{sec:compiling}. + +\DescribeOption{orient} This controls the orientation of the +presentation. The preset value is |landscape|. +\begin{description} +\item\option{orient=landscape}\\ +The presentation will be in landscape format. This value is not +available in handout mode. In that mode, \pf{powerdot} will switch +to portrait orientation and will warn you about this in the log +file. +\item\option{orient=portrait}\\ This produces slides in portrait +format. Notice that not all styles support portrait orientation. Please +refer to section~\ref{sec:styles} for information about which styles +do support the portrait orientation. +\end{description} + +\DescribeOption{display} This controls the production of slides and +notes. The preset value is |slides|. +\begin{description} +\item\option{display=slides}\\ +This will only typeset the slides in your presentation. +\item\option{display=slidesnotes}\\ +This will typeset both the slides and the notes in your +presentation. See also section~\ref{sec:notes} for more information +about notes. +\item\option{display=notes}\\ +This will typeset the notes only. +\end{description} + +Here are some more options to control the output. +\begin{description} +\item\DescribeOption{size}\option{size}\\ +This is the size of the normal text font in points. Possible values +are 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt and 20pt and the preset +value is 11pt.\footnote{Note that sizes other than 10pt, 11pt and +12pt are non-standard and it is assumed that you have the +\pf{extsizes} bundle \cite{extsizes} installed, which provides these +sizes.} +\item\DescribeOption{style}\option{style}\\ +This controls the style to be loaded for the presentation. By +default, the \pf{default} style will be loaded. For more styles, see +section~\ref{sec:styles}. +\item\DescribeOption{fleqn}\option{fleqn}\\ +This option makes equations flushed left. It does the same as the +equally named option for the article class. +\item\DescribeOption{leqno}\option{leqno}\\ +Put equation numbers at the left. Also the same as in the article +class. +\item\DescribeOption{nopsheader}\option{nopsheader}\\ +By default, \pf{powerdot} will write a postscript command to the ps +file to make sure that post processors like ps2pdf know which paper +to use without the need to specify it on the command line. See also +section~\ref{sec:compiling}. If you experience problems with post +processing or printing or you want to specify the paper size in the +post processing steps yourself, use this option. +\item\DescribeOption{hlentries}\option{hlentries}\\ +This highlights table of contents entries when the entry matches +with the current slide and its preset value is |true|. See also +section~\ref{sec:structure}. If you don't want highlighting of table +of contents entries (for instance in print mode), use +|hlentries=false|. +\item\DescribeOption{hlsections}\option{hlsections}\\ +This highlights table of contents sections when the section matches +with the current section in the presentation and is preset to |false|. +See also section~\ref{sec:structure}. Specifying this +option turns highlighting of sections on. This could be useful when +you are using a style that implements a split table of contents. +\item\DescribeOption{blackslide}\option{blackslide}\\ +This option inserts a black slide in the presentation on page 1 and +will automatically advance to page 2 when opening the presentation +in a PDF viewer like Acrobat (Reader). The option also inserts a +link behind every slide or section title that brings you to the +black slide when clicked. When you click anywhere in the black +slide, you will go back to the originating slide. This option can be +used to temporarily pause a presentation, for instance, to do a +proof on the black board. +\item\DescribeOptions{clock}\option{clock}\\ +This displays a small digital clock on slides which you can use to +check the time left for your presentation. +\end{description} + +Here is an example of a \Lcs{documentclass} command. +\begin{example} + \documentclass[ + size=12pt, + paper=screen, + mode=present, + display=slidesnotes, + style=tycja, + nopagebreaks, + blackslide, + fleqn + ]{powerdot} +\end{example} +This example sets up a presentation in \pf{tycja} style, with a black +slide, normal size 12 points and flushed left equations. +\begin{example} + \documentclass[ + size=12pt, + paper=letterpaper, + mode=handout, + display=slidesnotes, + style=tycja, + nopagebreaks, + blackslide, + fleqn + ]{powerdot} +\end{example} +Changing the |paper} and |mode} options, now produces a handout with +possibly more than two slides per page due to the |nopagebreaks| +option. + +\subsection{Setup options}\label{sec:pdsetup} +\DescribeMacro{\pdsetup} +There are several extra options that can help customizing your +presentation. These options are not available via the +|\documentclass} command. This has a technical reason.\footnote{The +interested reader is referred to the section about the \pf{xkvltxp} +package in the \pf{xkeyval} package documentation \cite{xkeyval}.} +We distinguish two types of options. Options that can only be set +globally (acting for the entire presentation) using the \Lcs{pdsetup| +command and options that can be accessed both globally (via +|\pdsetup|) and locally (via slide environments, see section~\ref{sec:slides}). + +\subsubsection{Global options}\label{sec:gopts} +This section describes options that can only be used globally in the +preamble of your presentation via the \Lcs{pdsetup} command. +\begin{description} +\item\DescribeOption{palette}\option{palette}\\ +This specifies the palette to be used. A palette is a set of colors +defined by a style. To find out which palettes are defined by each +style, see section~\ref{sec:styles}. +\item\DescribeOption{theslide}\option{theslide}\\ +This option controls how the slide number appears on the slide. This +is preset to the value \Lcs{arabic{slide}~/~\pageref*{lastslide}|, +which could appear like |5/22|. Notice that the \Lcs{arabic{slide}| +typesets the number of the current slide and that +|\pageref*{lastslide}} typesets the number of the last +slide.\footnote{We use the starred version of \cs{pageref} which is +defined by \pf{hyperref} and does not create a link to the page that +it is referring to.} +\item\DescribeOption{thenote}\option{thenote}\\ +This is similar to the |theslide} option, but typesets the slide +numbers of notes. The preset value is +|note~\arabic{note}~of~slide~\arabic{slide}} and \Lcs{arabic{note}| +here typesets the number of the current note that goes with the +current slide. This could appear like |note 2 of slide 7|. +\item\DescribeOption{counters}\option{counters}\\ +The |counters} option lists counters that you might want to protect +on overlays. As material on overlays (see +section~\ref{sec:overlays}) is processed multiple times, also +\LaTeX\ counters, like the |equation} counter, might be increased +too often. To avoid that your equations get different numbers on +every overlay, use this option. The |equation|, |table|, |figure|, +|footnote} and |mpfootnote} counters are already protected for you. +If you use extra counters, for instance for theorems, list them in +this option. Example: +\begin{example} + counters={theorem,lemma} +\end{example} +\item\DescribeOption{list}\option{list}\\ +This option takes a list of options that will be passed on to the +\pf{enumitem} package that controls the layout of lists created by +the |enumerate} and |itemize} environments. Example: +\begin{example} + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +\end{example} +See for more information on controlling the layout of lists the +\pf{enumitem} package \cite{enumitem}. +\item\DescribeOptions{enumerate,itemize}\option{enumerate,itemize}\\ +As the |list} option, but only control |enumerate} and |itemize| +environments respectively. +\end{description} + +\subsubsection{Global and local options}\label{sec:glopts} +This section describes options that can be used both globally via +|\pdsetup} and locally via slide environments (see section~\ref{sec:slides}). +\begin{description} +\item\DescribeOptions{lf,cf,rf}\option{lf,cf,rf}\\ +This determines the content of the left, center and right footers. +These are preset to empty. +\item\DescribeOption{trans}\option{trans}\\ +This option sets the default transition effect to be used in the +presentation. These transition effects only work after compiling the +presentation to PDF format. See also section~\ref{sec:compiling}. +The following transition effects are supported: |Split|, |Blinds|, +|Box|, |Wipe|, |Dissolve|, |Glitter} and |Replace|. When you are using +a viewer that understands PDF 1.5, you can also use |Fly|, |Push|, +|Cover|, |Uncover} or |Fade|. It is important to notice that most +viewers are case sensitive, so, for instance, |box} will not work. + +The preset effect is |Replace} which just replaces one slide with +another when browsing the slides. Note that some PDF viewers (like +Acrobat Reader 5 and higher) only produce the transition effect in +full screen mode. If you want to use a custom transition effect that +is not listed in the list above (for instance, a wipe effect with a +custom wipe direction), then that is possible. However, +\pf{powerdot} will put a warning in your log file that the effect +that you have chosen, might not work in the PDF viewer. Here is an +example that does work. +\begin{example} + trans=Wipe /Di 0 +\end{example} +In Acrobat (Reader), this wipes from left to right instead of the +default top to bottom. For more information, see a PDF Reference +Manual. +\item\DescribeOption{method}\option{method}\\ +This option can be used when a slide contains special material that +does not get treated in the `usual' way by \LaTeX. Verbatim material +is an example of this. Possible values are |normal} (the preset value), +|direct} and |file|. We will come back to this option in detail in +section~\ref{sec:verbatim}. +\item\DescribeOptions{logohook,logopos,logocmd}\option{logohook,logopos,logocmd}\\ +If |logopos} is specified, a logo defined by the value of the +|logocmd} option will be put on slides. The position can be +specified relative to the width and height of the slide. |{0,0}} is +the lower left corner of the paper and |{\slidewidth,\slideheight}| +is the upper right corner. For positioning the logo, the \Lcs{rput| +command of \pf{pstricks} \cite{PSTricksWeb,PSTricks} is used. This +command also allows to specify the point of the logo that should be +positioned there. This point can be entered via the |logohook| +option and can take the values |tl|, |t|, |tr|, |r|, |Br|, |br|, +|b|, |bl|, |Bl|, |l|, |B} and |c|. For more information about +|\rput|, consult the \pf{pstricks} documentation. Here is an example +that integrates the flower of the \pf{default} style into the +\pf{husky} style. +\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} +The preset value for |logohook} is |tl|. +\end{description} + +A special feature of \pf{powerdot}, which can be used to make +presentations come alive, is the use of random dots. These dots will +be placed anywhere on your slides and use the colors defined by the +palette that you use. Overlays will carry the same dots. This +feature uses |random.tex} \cite{random}. Several options are +available to control the appearance of the random dots. +\begin{description} +\item\DescribeOption{randomdots}\option{randomdots}\\ +By default, random dots are turned off. If this option is set to +|true|, random dots will be generated. |false} will turn off the +feature. When no value is submitted to the option, |true} will be +used. +\item\DescribeOptions{dmindots,dmaxdots}\option{dmindots,dmaxdots}\\ +The number of dots per slide is also random. These options set the +minimum and maximum dots per slide. Preset values are |5} and |40|, +respectively. +\item\DescribeOptions{dminsize,dmaxsize}\option{dminsize,dmaxsize}\\ +The minimum and maximum radius of the dots. Preset values are |5pt| +and |40pt|, respectively. +\item\DescribeOptions{dminwidth,dmaxwidth,dminheight,dmaxheight} +\option{dminwidth,dmaxwidth,dminheight,dmaxheight}\\ +These options determine the area on the slide that can be used for +the random dots. These values are preset such that dots go anywhere +on the slide, but you might want to adjust these such that, for +instance, dots can only appear in the text area. The preset values +are |0pt|, \Lcs{slidewidth|, |0pt|, \Lcs{slideheight|. + +Here is an example that allows dots in a smaller rectangle on the +slide. +\begin{example} + \pdsetup{ + dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth, + dminheight=.2\slideheight,dmaxheight=.8\slideheight + } +\end{example} +\item\DescribeOption{dbright}\option{dbright}\\ +This option can be used to adjust the brightness of the dots. The +number should be an integer between -100 and 100. If the number is +negative, the color will be adjusted towards black, with -100 giving +black. If the number is positive, the color will be adjusted towards +white, with 100 giving white. With a light background, you may want +to choose |bright} to be positive. With a dark background, you may +want to set it negative. The preset value is |60|, meaning a mixture +of 40\ of the original color and 60\ white. +\item\DescribeOption{dprop}\option{dprop}\\ +This option is used for passing extra parameters to the \Lcs{psdot| +command, which creates the random dots. You could, for instance, +change the style of the dots or the line width. See for more +information about \Lcs{psdot} the \pf{pstricks} documentation +\cite{PSTricksWeb,PSTricks}. \pf{powerdot} defines two extra dot +styles that can be used for the random dots. These styles are +|ocircle} (open circle) and |osquare} (open square). +\end{description} + +Here are two examples for the use of random dots. +\begin{example} + \pdsetup{ + randomdots,dminwidth=.2\slidewidth + } +\end{example} +This turns on random dots and doesn't use the left 20\ of the slide +for placing random dots. +\begin{example} + \pdsetup{ + randomdots,dprop={dotstyle=ocircle,linewidth=.5pt}, + dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5 + } +\end{example} +This example puts at most 5 big circles on slides. These circles do +not fit on the slides and you will only see parts of them in the +shape of curves. + +\subsubsection{\cs{pdsetup} example} +Here is an example of a \Lcs{pdsetup} command that one could use to set up +the presentation. +\begin{example} + \pdsetup{ + lf=My first presentation, + rf=For some conference, + trans=Wipe, + theslide=\arabic{slide}, + randomdots,dmaxdots=80 + } +\end{example} +This sets the left and right footers and will initialize the +transition effect to |Wipe|. Further, slide numbers will not include +the number of the last slide, but only the number of the current +slide. Finally, slides will be covered with at most 80 random dots. + +A small note is necessary with respect to the appearance of footers. +The slide number (controlled by the |theslide} option) will be added +to a footer. Most styles add it too the right footer. If both the +footer and the slide number are non empty, |~--~} will be inserted +in between them to separate them. Styles might modify this default +behavior however. + +\section{Making slides}\label{sec:slides} +\subsection{The title slide}\label{sec:titleslide} +\DescribeMacro{\title} +\DescribeMacro{\author} +\DescribeMacro{\and} +\DescribeMacro{\date} +\DescribeMacro{\maketitle} +The title slide is created by the \Lcs{maketitle} command. +\begin{command} + `\cs{maketitle}\oarg{options}' +\end{command} +Its use is the same as in the standard \LaTeX\ document classes. The +optional argument \meta{options} can contain any option from +section~\ref{sec:glopts}. Specifying such an option in the +|\maketitle} command will only have an effect on the title slide and +not on other slides. See an example below. +\begin{example} + \documentclass{powerdot} + \title{Title} + \author{You \and me} + \date{October 7, 2010} + \begin{document} + \maketitle + ... + \end{document} +\end{example} +The |author|, |title} and |date} declarations provide the text to be +used when making a title page. The design of the title page is +specific to the style in use. Notice the use of \Lcs{and} for +separating multiple authors. See a \LaTeX\ manual \cite{companion} +for more information on commands such as \Lcs{title} and \Lcs{author|. + +\subsection{Other slides}\label{sec:otherslides} +\DescribeEnv{slide} The centerpiece of every presentation is the +slide. In \pf{powerdot}, the content of each slide is placed in a +|slide} environment. +\begin{command} + `\cs{begin}\texttt{\{slide\}}\oarg{options}\marg{slide title}' + `\meta{body}' + `\cs{end}\texttt{\{slide\}}' +\end{command} + +In section~\ref{sec:overlays} we'll see how to give some life to the +slides, but for now, let's look at a simple example. +\begin{example} + \begin{slide}{First slide} + Hello World. + \end{slide} +\end{example} +The slide environment has one required argument, namely the slide +title. When a slide is created, the slide title is used to create an +entry in the table of contents and in the list of bookmarks. The +table of contents is a listing of the slides and section titles in +the presentation that appears on each slide. + +The table of contents is clickable (when the presentation is +compiled into PDF) and serves as a nice way to jump from location to +location within the presentation. The bookmark list is only present +when compilation is taken all the way to the PDF file format. It +also serves as a table of contents, but this list does not appear on +\textit{any} of the slides, but in a separate window in a PDF +viewer. In the example above, the entries in both table contents and +the list of bookmarks would be titled |First slide|. + +The \meta{options} for the |slide} environment can contain any +option listed in section~\ref{sec:glopts}. Additionally, the +following options can be used. +\begin{description} +\item\DescribeOption{toc}\option{toc}\\ +When specified, the value is used for the entry in the table of +contents; otherwise, the slide title is used. If |toc=} is +specified, then no entry is created. +\item\DescribeOption{bm}\option{bm}\\ +When specified, the value is used for the bookmark entry; otherwise, +the slide title is used. If |bm=} is specified, then no entry is +created. +\end{description} + +These optional arguments are especially useful when the title of a +slide is extremely long or when the title contains \LaTeX\ commands +that do not render correctly in the bookmarks.\footnote{The +bookmarking procedure uses \cs{pdfstringdef} from the \pf{hyperref} +package, and it can process accented characters such as \cs{"i}.} +When specifying entries, be sure to hide special characters `|,|' +and `|=|' between curly brackets `|{|' and `|}|'. Let's look at an +example that uses these optional arguments. +\begin{example} + \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$} + My slide contents. + \end{slide} +\end{example} + +In this example, the slide title will appear as {\color{red}\LaTeX, +$i^2=-1$}. This text will not render correctly in a bookmark entry. +An attempt is made to correct this, but often, the correction does +not produce an equivalent text. This particular title would be +rendered in the bookmark list as |redLaTeX, i2=-1|. On the other +hand, the manually specified bookmark entry is rendered as: +|LaTeX, i*i=-1|. Notice, no entry is created in the table of contents, +because of the use of |toc=|. + +In addition to the |slide} environment, each individual style can +define its own environments. Many styles have a |wideslide| +environment. The idea is that one might have information that does +not fit nicely on a slide with a table of contents listed, as this +consumes some space. In such cases, it is preferable to use a slide +that does not list the table of contents. The |wideslide| +environment provides this functionality and has more space for the +actual slide content. See section~\ref{sec:styles} for information +on the various environments provided by the styles. + +\section{Overlays}\label{sec:overlays} +It is often the case that you don't want all the information on the +slide to appear at once. Rather, the information should appear one +item at a time. In \pf{powerdot}, this is achieved with overlays. +Each slide can be comprised of many overlays, and the overlays are +displayed one at a time. + +\subsection{The \cs{pause} command}\label{sec:pause} +\DescribeMacro{\pause} The easiest way to display information +sequentially is to use the \Lcs{pause} command. +\begin{command} + `\cs{pause}\oarg{number}' +\end{command} +Below is a simple example: +\begin{example} + \begin{slide}{Simple overlay} + power\pause dot + \end{slide} +\end{example} +The slide's information is displayed and continues until the +|\pause} command is encountered. No further output within the same +slide is displayed until the click of the mouse or the touch of the +keyboard. Then, the content will continue to display until all the +information is displayed or until another \Lcs{pause} command is +encountered. In this example, |power} is displayed on the first +overlay, and |powerdot} is the displayed on the second overlay. The +|\pause} command is often used within the |itemize} and |enumerate| +environments. For example, +\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} +Since \Lcs{pause} was used before the |itemize} environment, no item +will appear until the third overlay. Then, each item will be +displayed one at a time, each on their own overlay. More information +on using lists will follow in the next section. + +The optional argument of the \Lcs{pause} command specifies the number +of overlays to pause. An example usage is: +\begin{example} + \begin{slide}{Pause longer} + \begin{itemize} + \item A \pause + \item B \pause[2] + \item C + \end{itemize} + \end{slide} +\end{example} +In the example above, item |C} will appear on the fourth overlay. +The usefulness of this option will become more apparent in the next +section; so we will revisit a similar example at that time. + +\subsection{List environments}\label{sec:lists} +The list environments, |itemize} and |enumerate|, have special +treatments in \pf{powerdot}. They have an optional argument that +will be taken care off by the \pf{enumitem} package (see +\cite{enumitem}). \pf{powerdot} supplies an extra key for this +optional argument. In the examples that follow, features will be +described using the |itemize} environment but they also apply to the +|enumerate} environment. + +Here is the typical usage of the |itemize} environment: +\begin{example} + \begin{slide}{Basic itemize} + \begin{itemize} + \item A \pause + \item B \pause + \item C + \end{itemize} + \end{slide} +\end{example} +The display is simple, each item appears one at a time with each +overlay. + +\DescribeOption{type} +Suppose we wanted every item to show, but we only wanted one item to +appear `active' at once. This can be accomplished via the |type| +option for the |itemize} environment. The preset value is |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} +Now, every item will be displayed in the \emph{inactive +color}\index{inactive color|usage} (which is defined by the style +that you use), and the item's font color will become the active one +on the overlay that it would normally appear on. The default +behavior is given by |type=0|. + +Lists can also be nested to create complicated structures. When a +list is nested, it inherits the setting of the |type} option from +the `parent' list, but that can be overruled by specifying the +|type} option in the optional argument of the nested list. We +present here one example, but many more can be created by nesting +lists of different types in different ways. +\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} +This displays |A} and |B} on the first overlay, but |B} is inactive. +On overlay 2, |B} will become active and on overlay 3, |C} will +become visible. + +\subsection{The \cs{item} command} +\DescribeMacro{\item} +The \Lcs{item} command has an extra \emph{optional} argument in +\pf{powerdot} which allows for creating overlays in a more flexible +way then \Lcs{pause} provides. +\begin{command} + `\cs{item}\oarg{label}\larg{overlays}' +\end{command} +This optional argument should contain an overlay specification +stating on which overlays you want the item to appear. This +specification is a comma separated list where each item can used the +notation as in table \ref{tab:item}. +\begin{table}[htb]\centering +\begin{tabular}{d} +Syntax&Meaning\\\hline +\texttt{x}&Only overlay \texttt{x}\\ +\texttt{-x}&All overlays up to and including \texttt{x}\\ +\texttt{x-}&All overlays from \texttt{x}, including \texttt{x}\\ +\texttt{x-y}&All overlays from \texttt{x} to \texttt{y}, +including \texttt{x} and \texttt{y}\\ +\end{tabular} +\caption{\cs{item} and \cs{onslide} notation}\label{tab:item} +\end{table} +The \meta{label} argument is the standard optional argument for +|\item} in \LaTeX. A \LaTeX\ manual \cite{companion} can tell you +more about this argument. + +Here is an example. +\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} +Here we have said that |A} should only be active on overlay 1, |B| +should only be active on overlay 2, and |C} should only be active on +overlay 3. Again, when the item is not active, it appears in the +inactive color because of |type=1|. + +If |type=0} is specified and if each item is given an overlay +option, then each item will appear only when it is active. When the +item is not active, then it will not show on the slide at all. More +examples demonstrating the syntax for \meta{overlays} will be +discussed in the next section. + +\subsection{The \cs{onslide} command}\label{sec:onslide} +\DescribeMacro{\onslide} Overlays can also be achieved using the +|\onslide} command. +\begin{command} + `\cs{onslide}\marg{overlays}\marg{text}' +\end{command} +This command takes an \meta{overlays} specification as first +argument and the \meta{text} to apply it to as second argument. The +\meta{overlays} on which the text will appear are specified as a +comma separated list with syntax as in table \ref{tab:item}. We +start off with a simple example. +\begin{example} + \begin{slide}{Simple onslide} + \onslide{1,2}{power}\onslide{2}{dot} + \end{slide} +\end{example} +We have instructed |power} to appear on overlays one and two, and +|dot} to appear only on overlay two. As you might guess, this +example has the same output as our first \Lcs{pause} example. Yet, it +is clearly the case that our syntax is more complicated. However, +this slight ``complication'' also allows for much more flexibility. + +\DescribeMacro{\onslide+}Consider the above example with the +following modifications: +\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} +The \Lcs{onslide+} command displays its content in a different manner +altogether. Now, |dot} appears on every overlay, but it is in +inactive color\index{inactive color|usage} and matches the normal +font color \textit{only} on overlay two. This is comparable to the +|type=1} behavior for lists (see section~\ref{sec:lists}). + +When executing this example, we will also notice that the \Lcs{onslide| +command does hide material, but still reserves the right amount of +space for it: on overlay 2, the |dot|s appear right above each +other. The next command does not reserve space. + +\DescribeMacro{\onslide*} Instead of hiding and reserving space +(|\onslide|) or putting \meta{text} in the inactive color +(|\onslide+|) when the overlay doesn't match \meta{overlays}, this +command just eats the material altogether. To understand the +differences, consider the following example: +\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} +The output of the first two lines, we are already familiar with. The +third line displays |power} on overlay 1 and |dot} on overlay 2, but +no space for |power} is reserved on overlay 2. Hence |dot} will +start on the cursor position that |power} started on overlay 1 and +it is not aligned below the other two |dots|. + +We finish with an example of the syntax that is possible with +|\item} and \Lcs{onslide|. Remember that these commands take a comma +separated list for the \meta{overlays} specification and that each +element can used the syntax as explained in table \ref{tab:item}. +The various variations are demonstrated in the example below. +\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} +Sometimes it is a pain to keep track of when an item should appear +or become active. You might, for example, just care that some text +appears on the overlay \textit{after} some other item. This +functionality is provided through the use of relative overlays which +should not be used outside list environments that use \Lcs{item|. Let's +consider a simple, illuminating example. +\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} +As you can see, we still use \Lcs{onslide|. The only change is with the +syntax of the list of overlays. Now, we can specify a `|+|' symbol +in the list. In its simplest usage, \Lcs{onslide{+1}} will make text +display one overlay after the overlay it would \textit{normally} +appear on. You can still use the syntax in table \ref{tab:item}. +These are demonstrated in the above example. Notice, +|\onslide{+1-6}} means that the text will appear one overlay after +the overlay it would normally appear on and that the text should +remain shown until overlay seven. To make text appear for a range of +relative overlays, see the final demonstration in the above example. + +\section{Presentation structure}\label{sec:structure} +\subsection{Making sections}\label{sec:section} +\DescribeMacro{\section} +This section describes the \Lcs{section} command which provides a way +to structure a presentation. +\begin{command} + `\cs{section}\oarg{options}\marg{section title}' +\end{command} +This command will produce a slide with \meta{section title} on it +and will also use this text to create sections in the table of +contents and in the bookmarks list. There are several \meta{options} +to control its output. + +\DescribeOption{tocsection} This option controls the creation of a +section in the table of contents. The preset value is |true|. +\begin{description} +\item\option{tocsection=true}\\ +This does create a section in the table of contents. This means that +all following slides, until the next section, will be nested under +this section. +\item\option{tocsection=false}\\ +This does not create a section in the table of contents and hence +the section will be listed as an ordinary slide. +\item\option{tocsection=hidden}\\ +This does create a section in the table of contents, but this is +only visible when you view a slide that is part of this section. +This could be used to append a section to the presentation which you +can discuss if there is some extra time. +\end{description} + +\DescribeOption{slide} This option controls whether the \Lcs{section| +command creates a slide. The preset value is |true|. +\begin{description} +\item\option{slide=true}\\ +A slide is created. +\item\option{slide=false}\\ +No slide will be created. If also |tocsection} is |false|, the +|\section} command doesn't do anything. If it does create a table of +contents section (|tocsection=} |true} or |hidden|), its link will +point to the first slide in the section as the section itself +doesn't have a slide. +\end{description} + +\DescribeOption{template} This option can be used to make the +section slide with another template. By default, a normal |slide| +environment is used to create the section slide, but if a style +offers other templates that could be used for this purpose (for +instance, the |wideslide} environment), then you can use this option +to select that template. See section~\ref{sec:styles} for an +overview of the available templates with every style. + +Finally, all options available to normal slides are available to +slides created by \Lcs{section} as well (see section~\ref{sec:slides}). +However, when the section does make a |tocsection|, |toc=} or |bm=| +won't remove the table of contents entry or the bookmark +respectively. + +\subsection{Making an overview}\label{sec:tableofcontents} +\DescribeMacro{\tableofcontents} +This command creates an overview of your presentation and can only +be used on a slide. +\begin{command} + `\cs{tableofcontents}\oarg{options}' +\end{command} +There are several \meta{options} to control the output of this +command. + +\DescribeOption{type} +This option controls whether certain material (depending on the +input in the |content} option below) will be hidden or displayed in +the inactive color\index{inactive color|usage}. The preset value is +|0|. Compare with the |type} option for list environments +(section~\ref{sec:lists}). + +\begin{description} +\item\option{type=0}\\ +When material is not of the requested type as specified in the +|content} option, it will be hidden. +\item\option{type=1}\\ +As |type=0|, but instead of hiding material, it will be typeset in +the inactive color. +\end{description} + +\DescribeOption{content} +The |content} option controls which elements will be included in the +overview. The preset value is |all|. The description below assumes +that |type=0} was chosen, but the alternative text for |type=1} can +easily be deduced. + +\begin{description} +\item\option{content=all}\\ +This will display a full overview of your presentation including all +sections and slides, except the slides in hidden sections (see +section~\ref{sec:section}). +\item\option{content=sections}\\ +This displays only the sections in the presentation. +\item\option{content=currentsection}\\ +This displays the current section only. +\item\option{content=future}\\ +This displays all content starting from the current slide. +\item\option{content=futuresections}\\ +This displays all sections, starting from the current section. +\end{description} + +We finish this section with a small example that will demonstrate +how you can make a presentation that contains an overall overview of +sections in the presentation, giving a general idea of the content, +and per section a detailed overview of the slides in that section. +\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{Miscellaneous} +\subsection{Notes}\label{sec:notes} +\DescribeEnv{note} +The |note} environment can be used to make personal notes that +accompany a slide. You can control displaying notes using the +|display} option (see section~\ref{sec:classopts}). Here is an +example. +\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{Empty slides}\label{sec:emptyslides} +\DescribeEnv{emptyslide} +The |emptyslide} environment creates a totally empty slide. The text +box on the slide can be used for special things like displaying +photos. This allows for creating a dia show. Example: +\begin{example} + \begin{emptyslide}{} + \centering + \vspace{\stretch{1}} + \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps} + \vspace{\stretch{1}} + \end{emptyslide} +\end{example} +The \Lcs{includegraphics} command is defined by the \pf{graphicx} +package \cite{graphics}. The \Lcs{stretch} command is used to +vertically center the picture. Both commands are described in your +favorite \LaTeX\ manual, for instance \cite{companion}. Note that +you can use the lengths \Lcs{slideheight} and \Lcs{slidewidth} to scale +pictures to fit nicely on the slide. + +\subsection{Bibliography slide}\label{sec:bib} +\DescribeEnv{thebibliography} +\pf{powerdot} redefines the standard \pf{article} +|thebibliography} environment to suppress the creation of a section +heading and running headers. All other properties are maintained. +You can do either of the next two (depending whether you are +using BiB\TeX\ or not):\\ +\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} + +In case you have a big reference list that you want to spread over +multiple slides, have a look at the packages \pf{natbib} and +\pf{bibentry} \cite{natbib}. Using both packages allows you to do: +\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} +Have a look at your favorite \LaTeX\ manual for more information +about citations and bibliographies. + +\subsection{Verbatim on slides}\label{sec:verbatim}\DescribeOption{verbatim} +\pf{powerdot} has three different methods of processing slides, from +which two have mainly been developed to make the inclusion of +verbatim content\footnote{And other content that needs catcode +changes when processing.} on slides easier. These methods can be +accessed by the |method} key which is available in slide +environments and the \Lcs{pdsetup} command (see +section~\ref{sec:glopts}). +\begin{description} +\item\option{method=normal}\\ +This is the preset method for processing slides. It is fast and +allows for overlays, but it does not allow for +verbatim.\footnote{Except when it has been saved in a box outside +the slide.} +\item\option{method=direct}\\ +This method is also fast, but does not allow for overlays. Overlays +will silently be disabled. However, it does allow for verbatim +content on slides. +\item\option{method=file}\\ +This method uses a temporary file to export the slide body to and +read it back in. This method does allow for verbatim content and +overlays, but could be slow when many slides use this method because +the filesystem is used. +\end{description} + +Below is an example demonstrating the use of all three different +methods of slide processing. +\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} +The first slide shows the default behavior for normal content. It +produces two overlays. The second slide does not produce overlays, +despite the use of the \Lcs{pause} command. This command has been +disabled by choosing the |direct} method to process the verbatim +content. The third slide has the same body as the second slide, but +now does create two overlays, because the method using a temporary +file has been chosen. Notice that we used \Lcs{pause} inside the listing, +but that it can also be used outside the listing. + +\subsection{The \cs{twocolumn} command}\label{sec:twocolumn} +\DescribeMacro{\twocolumn} +The \Lcs{twocolumn} macro allows to split content into two columns. +\begin{command} + `\cs{twocolumn}\oarg{options}\marg{left}\marg{right}' +\end{command} +This typesets \meta{left} and \meta{right} in two columns. The +dimensions of those columns can be controlled by \meta{options}. +Below are the available options. +\begin{description} +\item\DescribeOption{lineheight}\option{lineheight}\\ +If |lineheight} is specified, a line of the specified height will be +created using \Lcs{psline} in between the two columns. Example: +|lineheight=6cm|. +\item\DescribeOption{lineprop}\option{lineprop}\\ +Any \pf{pstricks} declaration to specify the line properties. Example: +\begin{example} + lineprop={linestyle=dotted,linewidth=3pt} +\end{example} +\item\DescribeOptions{lfrheight,lfrprop}\option{lfrheight,lfrprop}\\ +The first creates a frame of the specified height around the left +column. The second is as |lineprop|, but for the left frame. +\item\DescribeOptions{rfrheight,rfrprop}\option{rfrheight,rfrprop}\\ +As |lfrheight} and |lfrprop|, but for the right frame. +\item\DescribeOptions{lcolwidth,rcolwidth}\option{lcolwidth,rcolwidth}\\ +Width of the left and right columns. Both are preset to: |0.47\linewidth|. +\item\DescribeOption{frsep}\option{frsep}\\ +Space between text and the frames. Preset: |1.5mm|. +\item\DescribeOption{colsep}\option{colsep}\\ +Space between the two columns. Preset: |0.06\linewidth|. +\item\DescribeOption{topsep}\option{topsep}\\ +The extra space (additional to \Lcs{baselineskip|) between text above +the columns and the text within the columns. Preset: |0cm|. +\item\DescribeOption{bottomsep}\option{bottomsep}\\ +Idem for the bottom of the columns. Preset: |0cm|. +\item\DescribeOption{indent}\option{indent}\\ +Horizontal indent left to the left column. Preset: |0cm|. +\end{description} +The dimensions described above are represented graphically in +figure \ref{fig:twocolumndim}. +\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}{Meaning of the labels}\\\hline +1&|lcolwidth|&5&|frsep|\\ +2&|rcolwidth|&6&|topsep|\\ +3&|colsep|&7&|indent|\\ +4&|lfrheight|, |rfrheight|,&8&|bottomsep|\\ +&|lineheight|&9&Reference point +\end{tabular} +\caption{Two-column dimensions.}\label{fig:twocolumndim} +\end{figure} +Important to notice is that the \Lcs{twocolumn} macro uses the current +cursor position as the reference point to position the first line of +text of the left column (see also figure \ref{fig:twocolumndim}). This +means that optional frames can extend to the text on the previous +line. Use for instance |topsep=0.3cm} in that case to add extra +space between the two lines of text. The preset value of |topsep| +is based on the situation that there is no text on top of the two +columns. In that case, it is best to locate the first line of text +of the left column at the same spot as text that is not created by +|\twocolumn} on other slides. The setting |topsep=0cm} does exactly +this. However, with a combination of |topsep} and |indent} you can +change this behavior and position the first line of text of the left +column anywhere you want. + +The \Lcs{twocolumn} macro computes the height of the construction to +position text below the construction correctly. The computation is +done by taking the maximum height of |lfrheight|, |rfrheight|, +|lineheight} (if specified) and the left and right column content. +Hence when frames nor a line is requested, |bottomsep} is the +vertical space between the lowest line of text in the columns and +the text below the columns (additional to \Lcs{baselineskip|). Here is +an example. +\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} +Note that the use of the \pf{xkeyval} commands \Lcs{savevalue} and +|\usevalue} \index{savevalue=\verb!*+\savevalue+|usage} +\index{usevalue=\verb!*+\usevalue+|usage} could be handy here, for +instance for copying the properties of the left frame to the right +frame. This avoids typing them twice and avoids making errors +resulting in different frames. See an example below. +\begin{example} + \twocolumn[ + \savevalue{lfrheight}=3cm, + \savevalue{lfrprop}={ + linestyle=dotted,framearc=.2,linewidth=3pt}, + rfrheight=\usevalue{lfrheight}, + rfrprop=\usevalue{lfrprop} + ]{left}{right} +\end{example} +See the \pf{xkeyval} documentation \cite{xkeyval} for more +information about \Lcs{savevalue} and \Lcs{usevalue|. + +\section{Available styles}\label{sec:styles} +\pf{powerdot} comes with a number of styles which are listed in the +overview below. The characteristics of each style are described +shortly and a sample of a title slide and a normal slide is provided +for each style. Styles support the |wideslide} environment, have a +table of contents on the left part of the paper in landscape +orientation and on the bottom part in portrait orientation and +support portrait orientation unless states otherwise. +\begin{description} +\item\pf{default}\\ +This style provides six different palettes. A flower in the top left +corner decorates the slides for all palettes. The default palette is +\texttt{blue} which has as main colors light blue and white. You can +see an example of that palette below. Other available palettes are +\texttt{red}, \texttt{green}, \texttt{yellow}, \texttt{brown} and +\texttt{purple}.\\ +\styleexample{default} +\item\pf{simple}\\ +This is a simple style in black and white. This style could be +useful if you want to print your slides.\\ +\styleexample{simple} +\item\pf{tycja}\\ +This style is set in shades of yellow and dark blue. The table of +contents on slides is on the right side of the paper in landscape +orientation and on the bottom part in portrait.\\ +\styleexample{tycja} +\item\pf{ikeda}\\ +This style uses dark shades of red and blue and a light text color. +It has nice patterns on the slide for decoration.\\ +\styleexample{ikeda} +\item\pf{fyma}\\ +This style was originally created by Laurent Jacques for +\pf{prosper}. Based on that style, he created a version for +\pf{HA-prosper} with extended features. With his kind permission, +this style has been converted by Shun'ichi J. Amano for +\pf{powerdot}. The style has an elegant design with a light blue and +white gradient background in the default \texttt{blue} palette. +Other available palettes are \texttt{green}, \texttt{gray}, +\texttt{brown} and \texttt{orange}. It has special templates for +sections on slides and sections on wide slides. Below is a sample of +the blue palette.\\ +\styleexample{fyma} +\item\pf{ciment}\\ +This style was originally created by Mathieu Goutelle for +\pf{prosper} and \pf{HA-prosper}. With his kind permission, this style +has been converted for \pf{powerdot}. The style has a background +that is hatched with light gray horizontal lines. Titles and table +of contents highlighting are done with dark red.\\ +\styleexample{ciment} +\item\pf{elcolors}\\ +This is a style using light shades of the elementary colors red, +blue and yellow.\\ +\styleexample{elcolors} +\item\pf{aggie}\\ +This style was created by Jack Stalnaker for \pf{HA-prosper} and he +has converted this style for \pf{powerdot}. The style uses dark red +and light brown colors.\\ +\styleexample{aggie} +\item\pf{husky}\\ +This style is created by Jack Stalnaker and has a background of +light gray sun beams combined with dark red highlights.\\ +\styleexample{husky} +\item\pf{sailor}\\ +This style is contributed by Mael Hill\'ereau and supplies five +different palettes: \texttt{Sea} (the default), \texttt{River}, +\texttt{Wine}, \texttt{Chocolate} and \texttt{Cocktail}. Below is a +sample of the palette \texttt{Sea}.\\ +\styleexample{sailor} +\item\pf{upen}\\ +This style has a nice dark blue background and text in yellow. It is +contributed by Piskala Upendran.\\ +\styleexample{upen} +\item\pf{bframe}\\ +The \pf{bframe} style has blue frames on the slide in which text is +positioned. The style is contributed by Piskala Upendran.\\ +\styleexample{bframe} +\item\pf{horatio}\\ +The \pf{horatio} style has been contributed by Michael Lundholm and +is a more conservative blue style.\\ +\styleexample{horatio} +\item\pf{paintings}\\ +This is a simple style without a table of contents on slides. It has +been contributed by Thomas Koepsell and provides 10 different +palettes. The colors used in the palettes are drawn from famous +paintings.\footnote{The style defines a color \texttt{pdcolor7} +which is not used in the style but comes from the same painting and +complements the other colors. It can be used, for example, to +highlight text against the main background color.} If you are +interested, open the style file to read which paintings have been +used. The available palettes are: \texttt{Syndics} (the default), +\texttt{Skater}, \texttt{GoldenGate}, \texttt{Lamentation}, +\texttt{HolyWood}, \texttt{Europa}, \texttt{Moitessier}, +\texttt{MayThird}, \texttt{PearlEarring} and \texttt{Charon} (all +case sensitive). Below is a sample of the \texttt{Syndics} +palette.\\ +\styleexample{paintings} +\item\pf{klope}\\ +The \pf{klope} style implements a horizontal table of contents that +only lists the sections. The style is available in the following +palettes: \texttt{Spring}, \texttt{PastelFlower}, \texttt{BlueWater} +and \texttt{BlackWhite}. The \texttt{Spring} palette is the default +and you can see a sample of that below.\\ +\styleexample{klope} +\item\pf{jefka}\\ +The \pf{jefka} style comes with four palettes: \texttt{brown} (the +default), \texttt{seagreen}, \texttt{blue} and \texttt{white}. Below +you see a sample of the \texttt{brown} palette.\\ +\styleexample{jefka} +\item\pf{pazik}\\ +This style is available in two palettes: \texttt{red} and +\texttt{brown}. Below is a sample of the default \texttt{red} +palette.\\ +\styleexample{pazik} +\end{description} + +\section{Compiling your presentation}\label{sec:compiling} +\subsection{Dependencies}\label{sec:dependencies} +In table \ref{tab:dependencies} is a list of packages that +\pf{powerdot} uses to perform specific tasks. Dependencies of +packages in this table are not listed. In the table, `required' +means that you should have a version \emph{at least} as new as +listed and `tested' means that \pf{powerdot} was tested with this +version, but that it could equally well work with an older or newer +version than the one listed in the table. So, when trying to solve +an error, first concentrate on solving version issues for the +`required' packages. To find out which version of a package you are +currently using, put \Lcs{listfiles} on the first line of your +document, run it with \LaTeX, open the |.log} file and read the file +list (see a \LaTeX\ manual for more information). If you need to +update a package, you can get it from CTAN \cite{CTAN}. +\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{Dependencies}\label{tab:dependencies} +\end{table} + +\subsection{Creating and viewing output}\label{sec:creation} +To compile your presentation, run it with \LaTeX. The DVI that is +produced this way can be viewed with MiK\TeX's DVI viewer +YAP.\footnote{Unless you are using \pf{pstricks-add} which distorts +the coordinate system in DVI.} Unfortunately, xdvi and kdvi (kile) +do not support all PostScript specials and hence these will display +the presentation incorrectly. If your DVI viewer does support +this, make sure that your DVI display settings match that of the +presentation. In case you are using the |screen} paper, you should +set the DVI display setting to using the letter paper format. If +your DVI viewer allows for custom paper formats, use 8.25 inch by 11 +inch. + +Note that certain things that are produced with PostScript or PDF +techniques will not work in a DVI viewer. Examples are hiding of +material via postscript layers (as is done, for instance, by +|\pause|, see section~\ref{sec:overlays}) and hyperlinks, for +instance in the table of contents. + +If you want to produce a postscript document, run dvips over the DVI +\emph{without any particular command line options related to +orientation or paper size}. \pf{powerdot} will write information to +the DVI file that helps dvips and ps2pdf (ghostscript) to create a +proper document. If you have some reason that this does not work for +you and you want to specify the paper and orientation yourself, you +should use the |nopsheader} option that is described in +section~\ref{sec:setup}. The PostScript document could, for +instance, be used to put multiple slides on a page using the |psnup| +utility. + +To create a PDF document for your presentation, run ps2pdf over the +PS file created with dvips. Also here, you can \emph{leave out any +command line arguments related to paper size or orientation}. If +this is problematic for you somehow, use the |nopsheader} option as +before and specify the paper and orientation at each intermediate +step yourself. + +\section{Creating your own style}\label{sec:writestyle} +\subsection{General information} +Writing or customizing \pf{powerdot} styles is simple. If you want +to modify a style or build a new one, locate the style that you want +to use as basis in your \TeX\ tree (styles are named as +|powerdot-<style_name>.sty|), copy that and rename it as to avoid +license\footnote{The \LaTeX\ Public Project License requires +renaming files when modifying them, see +\url{http://www.latex-project.org/lppl}.} or naming conflicts. You +might want to install the new style in your local \TeX\ tree to be +able to access it from any place on your hard drive. See your +\LaTeX\ distribution for more information. + +Once that has been taken care of, we can start creating the style. +We strongly recommend to study a style file (for example, +|powerdot-default.sty|) while reading the remainder of this section +as it provides good examples for the content of this section. + +A style has several components. We describe these components below. +\begin{description} +\item\textbf{Identification and packages}\\ +This identifies the package in the log of a presentation and loads +all required packages. The \pf{default} style contains something like: +\begin{example} + \NeedsTeXFormat{LaTeX2e}[1995/12/01] + \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)] + \RequirePackage{pifont} +\end{example} +See for more information about these commands a \LaTeX\ manual, for +instance \cite{companion}. +\item\textbf{Palette or color definitions}\\ +This section contains the definitions of palettes or colors that you +want to use in the style. \pf{powerdot} uses \pf{xcolor} (via +\pf{pstricks}). Hence, for more information about colors, see the +\pf{xcolor} documentation. We will discuss palettes in more detail +in section~\ref{sec:defpals}. +\item\textbf{Template definitions}\\ +We will come back to this in sections~\ref{sec:deftemps} +to~\ref{sec:defbg}. +\item\textbf{Custom declarations}\\ +These can include anything that you want to be part of the style. +The \pf{default} style, for instance, includes definitions for the labels +in list environments like |itemize} and some initializations for +lists in general (done with \Lcs{pdsetup|, see +section~\ref{sec:pdsetup}). This part could also include some +customizations as described in section~\ref{sec:specialtemps}. +\item\textbf{Font initializations}\\ +This initializes font definitions (which can be done by +loading a package like \pf{helvet}). +\end{description} + +\subsection{Defining palettes}\label{sec:defpals} +We will be defining templates formally in +section~\ref{sec:deftemps}. For now, it's enough to have the general +idea that a template controls the design of a slide. Palettes are +sets of colors that color a template or design. A palette does not +change the overall design of a template. + +\DescribeMacro{\pddefinepalettes} +The following command can be used to define palettes for your style. +\begin{command} + `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots' +\end{command} +This macro takes \emph{any} even number of mandatory arguments with +a minimum of two. For every \meta{name}, a set of \meta{commands} +can be given which define the palette with name \meta{name}. These +commands can define colors with names |pdcolor1|, |pdcolor2|, +etcetera. These colors can be used when designing the template (see +section~\ref{sec:deftemps}). |pdcolor1} will always be used as text +color. + +The user can access these palettes via the |palette} key for the +|\pdsetup} command (see section~\ref{sec:pdsetup}). If the user does +not specify a palette, the first palette defined when compiling the +presentation, will be used. Here is an example for defining 2 +palettes. +\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 this example, the |reds} palette is the default one. For more +information about \Lcs{definecolor|, see the documentation of the +\pf{xcolor} package \cite{xcolor}. + +Notice that it is not necessary to use the names |pdcolor2|, +|pdcolor3} etcetera as color names. But if these colors are defined, +\pf{powerdot} will use them, for instance, in the random dots +feature (see section~\ref{sec:glopts}). The flexibility adds extra +possibilities in setting up templates and palettes. See for an +example of its use, the \pf{klope} style. + +\subsection{Defining templates}\label{sec:deftemps} +We start off with a definition of what a template is. A template is +a collection of settings for slide components together with custom +definitions, which controls the visual appearance of a slide. A +style can contain multiple templates. + +\begin{command} + `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}' +\end{command} +\DescribeMacro{\pddefinetemplate} +This defines the environment \meta{name} to produce a slide with +characteristics determined by \meta{basis}, \meta{options} and +\meta{commands}. We will discuss these elements in more detail +in the coming sections. + +If you want to create several templates that differ only slightly +from each other, define a \meta{basis} template, and then use it to +define other templates. All \meta{options} and \meta{commands} for +the new template \meta{name} will be appended to the existing list +of \meta{options} and \meta{commands} from the \meta{basis} +template. + +Make sure you choose a \emph{proper} name for the template, and +avoid redefining existing templates or environments. \pf{powerdot} +defines |blackslide|, |note} and |emptyslide} internally, so you +shouldn't use these names unless you know what you're doing. +Furthermore, each style needs to define at least the templates +|slide} and |titleslide|. The |titleslide} environment will be used +to create the title slide and |slide} will (by default) also be used +to create section slides. Titles and sections are a bit special in +the way they use the \meta{options} and will be discussed in more +detail in section~\ref{sec:specialtemps}. + +\subsection{Controlling setup} +\DescribeOption{ifsetup} +The \meta{options} (keys) are described in the following sections. +You can control how these options apply to the various setups by +using the |ifsetup} key. Any key appearing before the first +|ifsetup} declaration in \meta{options} will apply to every possible +setup. Once the |ifsetup} key is used, then all subsequent key +declarations will apply \textit{only} to the setups declared in the +|ifsetup} key. The |ifsetup} key can be used multiple times. + +By possible setups, we mean the allowed values of the |mode|, +|paper|, |orient|, and |display} keys that are described in +section~\ref{sec:classopts}. If a value (or values!) for any of +these four keys is not specified in a |ifsetup} declaration, then +all subsequent key declarations will apply to any layout of that +type. Consider the following as an example. +\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} +Assuming there was no |ifsetup} declaration before the first +|textpos} declaration, this first |textpos} will apply to every +possible setup. However, for the screen format in portrait +orientation, the next |textpos} declaration will be used. In fact, +all declarations that appear until we switch to the next |ifsetup| +(which specifies all paper sorts and only landscape orientation) +will be used in the portrait screen layout. All keys after the next +|ifsetup} declaration will be used in landscape orientation, +\emph{with any paper, mode and display}. If, after declaring some +specializations, you want to switch back to settings that apply to +all possible setups, set |ifsetup} to empty as is done in the +example. All subsequent declarations will then again be applied +under any setup. + +The following command is a stand-alone implementation of the +mechanism described above. It allows you to control the setup +outside the \meta{options} argument of the \Lcs{pddefinetemplate| +command. +\begin{command} + `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}' +\end{command} +\DescribeMacro{\pdifsetup} +This macro executes \meta{true} when the setup that the user chose +matches with the \meta{desired} setup, \meta{false} in all other cases. +For instance, if the user has chosen landscape, then +\begin{example} + \pdifsetup{landscape}{yes}{no} +\end{example} +will typeset |yes|. If the user would have chosen portrait instead, +then |no} would have been typeset. + +This macro can be used to check setup requests from the user and, +for instance, generate an error if a certain setup is not supported +by your style. \pf{powerdot} provides one predefined error message +which can be used in one of the first lines of your style. +\begin{command} + `\cs{pd@noportrait}' +\end{command} +\DescribeMacro{\pd@noportrait} +This macro generates an error when the user requests portrait +orientation. Notice that the handout mode only works in portrait +orientation. This macro takes that into account and doesn't generate +an error in the case that the user requested a handout. + +\subsection{Main components}\label{sec:maincomps} +The \meta{options} control several key components of a slide. Every +component has several properties. A key that can be used in the +\meta{options} argument is the name of the component postfixed by +its property that you want to control. + +The components |title|, |text|, |toc|, |stoc} and |ntoc} have +properties |hook|, |pos|, |width} and |font|. Additionally, the +|text} component has a |height} property. The components |lf|, |cf} and +|rf} have properties |hook|, |pos|, |temp} and |font|. Hence, +examples of valid keys are |titlefont|, |tocpos} and |lftemp|. All +components and properties will be discussed below. + +Here is an overview of the components that can be controlled from +the \meta{options} argument in \Lcs{pddefinetemplate|. +\begin{description} +\item\DescribeOption{title-}\option{title-}\\ +The slide title. +\item\DescribeOption{text-}\option{text-}\\ +The main text box on the slide. +\item\DescribeOption{toc-}\option{toc-}\\ +The (full) table of contents on a slide containing sections and +slides. +\item\DescribeOption{stoc-}\option{stoc-}\\ +This is a table of contents containing only the sections. See also +|ntoc} below. +\item\DescribeOption{ntoc-}\option{ntoc-}\\ +This is a table of contents containing only the entries for the +active section. Together with |stoc|, this can be used to create a +split table of contents. In a particular template, one would usually +have a |toc|, a combination of |stoc} and |ntoc} or no table of +contents at all. +\item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\ +The left, center and right footers. +\end{description} + +Notice that all positioning of components described above will be +done with \Lcs{rput} from \pf{pstricks} \cite{PSTricksWeb,PSTricks} +internally. See the \pf{pstricks} documentation for more information +about this command. It should also be noted that all components +(except |lf|, |cf} and |rf|) put their content in a |minipage| +environment. + +Now we list all properties of the components listed above and +describe what they mean. Remember that keys are formed by combining +a component name and a property. + +\begin{description} +\item\DescribeOption{-hook}\option{-hook}\\ +This option defines the \Lcs{rput} hook that will be used when +positioning the item. This can be |tl|, |t|, |tr|, |r|, |Br|, |br|, +|b|, |bl|, |Bl|, |l|, |B} and |c|. See the \pf{pstricks} +documentation for more information. +\item\DescribeOption{-pos}\option{-pos}\\ +This defines the position of the |hook} on the paper. The lower left +corner of the paper is given by the point |{0,0}} and the upper right +corner by the point |{\slidewidth,\slideheight}|. So if you want to +position the main text box at 20\ from the left edge and 30\ from +the top edge of the paper, you have to do the following. +\begin{example} + textpos={.2\slidewidth,.7\slideheight} +\end{example} +If the position of any component has not been specified, this +component will not be placed on the slide. This gives an opportunity +to design slides without footers or table of contents, for instance. +\item\DescribeOption{-width}\option{-width}\\ +The width of the component. All component positioned by +\pf{powerdot} will be put in a surrounding |minipage} environment. +The |width} property determines the width of the |minipage|. Example: +\begin{example} + textwidth=.7\slidewidth +\end{example} +This property does not exist for the |lf|, |cf} and |rf} components. +\item\DescribeOption{-height}\option{-height}\\ +This option is only available for the |text} component. In other +words, for this property, there is only one key, namely +|textheight|. This can be used to specify the height of the +|minipage} used for the main text. This does not imply that users +are restricted to this length or that \pf{powerdot} does automatic +slide breaking. This height is only used for vertical alignments of +material, for instance by footnotes. The preset value is +|\slideheight|. +\item\DescribeOption{-font}\option{-font}\\ +This will be inserted just before the text that is about to be +typeset. This can be used to declare deviations from the main text +font and color. It can be a font declaration, like +|\large\bfseries|, but can also contain other things like +|\color{red}} or \Lcs{raggedright|. +\item\DescribeOption{-temp}\option{-temp}\\ +This property is only available for the footers (|lf|, |cf} and |rf|) and +can be used to change the template of the footers. This means that +you can, for instance, add content to the footer, besides the +content specified by the user. The default declaration by +\pf{powerdot} is the following. +\begin{example} + rftemp=\pd@@rf\ifx\pd@@rf\@empty + \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide +\end{example} +Here \Lcs{pd@@rf} will contain the content of the right footer defined +by the user via the \Lcs{pdsetup} command. Similarly, \Lcs{pd@@lf| +contains the content of the left footer. The above declaration +checks whether the footer and \Lcs{theslide} are both non-empty and if +so, it inserts } -- } to separate both. +\item\DescribeOption{-orient}\option{-orient}\\ +This property is only available for the |toc|, |stoc} and |ntoc| +components. This property can be |h} or |v} and determines the +orientation of the table of contents. The preset is |v|. See +also section~\ref{sec:slidetoc} for more information about the +construction of the table of contents. +\end{description} + +\subsection{Slide toc}\label{sec:slidetoc} +The small table of contents that is placed on slides can be +controlled by four macros and several options. + +\DescribeMacro{\pd@tocslide} +\DescribeMacro{\pd@tocsection} +These macros take one argument. When building the table of contents, +\pf{powerdot} first passes the content through \Lcs{pd@tocslide} or +|\pd@tocsection|, depending on the type of entry that it is building +at that moment. You could, for instance, do +\begin{example} + \def\pd@tocslide#1{$\bullet$\ #1} + \def\pd@tocsection#1{#1} +\end{example} +which will prefix all normal entries (not the sections) with a +bullet. By default, these two macros are defined to just pass on +their argument. + +\DescribeMacro{\pd@tocdisplay} +\DescribeMacro{\pd@tochighlight} +These two macros also take one argument. After processing an entry +with the command \Lcs{pd@tocslide} or \Lcs{pd@tocsection|, \pf{powerdot} +continues building the entry by passing it through \Lcs{pd@tocdisplay|, +when the entry needs to be displayed only, or \Lcs{pd@tochighlight|, +when the entry needs to be highlighted. These macros are a little +more involved and take care of putting the content in the proper +font and color in a |minipage|. Further, \Lcs{pd@tochighlight} also +puts a box around the item. + +Notice, that by default, both the separate table of contents entries +as well as the table of contents as a whole are typeset in +|minipage} environments by these macros, in case the table of +contents is vertical. The |-width} properties then determines the +width of the table of contents and, together with |tocsecindent} and +|tocslideindent} (see below) the width of the individual entries. If +it is horizontal, only the separate entries will be in |minipage|s +and the table of contents itself not and the |-width} properties +determine only the width of the individual entries (together with +|tocsecindent} and |tocslideindent|). + +Several aspects of the process of generating the table of contents +can be controlled via the keys that are available in the +|\pddefinetemplate} command that will be described below. If these +keys do not provide enough handles to do what you want, you might +need to have a look at the two macros in the source and decide to +rewrite them in your style as to fit your needs. An example can be +found in the \pf{fyma} style. + +\begin{description} +\item\DescribeOption{tocfrsep}\option{tocfrsep}\\ +This length is the distance between the box around the content +created by the |minipage} and the highlight frame box created by +|\pd@tochighlight|. Preset: |0.5mm|. +\item\DescribeOption{tocsecsep}\option{tocsecsep}\\ +The distance inserted before a section (unless it is the +first element in the table of contents). Preset: |2ex|. +Notice that if the orientation of the table of contents is set to +vertical, this length creates a vertical skip, otherwise, it creates +a horizontal skip. +\item\DescribeOption{tocslidesep}\option{tocslidesep}\\ +The distance inserted before other entries (unless it is the +first element in the table of contents). Preset: |0ex|. Like +|tocsecsep|, the effect of this length depends on the orientation of +the table of contents. +\item\DescribeOption{tocsecindent}\option{tocsecindent}\\ +The horizontal space left to a section entry. Preset: |0pt|. +\item\DescribeOption{tocslideindent}\option{tocslideindent}\\ +The horizontal space left to a slide entry. The horizontal skip will +not be inserted left to slide entries that appear before the first +section. Preset: |0pt|. +\item\DescribeOption{tocsecm}\option{tocsecm}\\ +This is inserted just before typesetting a section. This can be used +to mark a section, for instance with a line as in the \pf{default} +style. Preset: empty. +\item\DescribeOption{toctcolor}\option{toctcolor}\\ +This is the text color used for non-highlighted elements in the +table of contents. Preset: |black|. +\item\DescribeOption{tochltcolor}\option{tochltcolor}\\ +This is the text color used for highlighted elements in the table of +contents. Preset: |white|. +\item\DescribeOption{tochlcolor}\option{tochlcolor}\\ +This is the color used for the frame behind highlighted elements. +Preset: |black|. +\end{description} + +\subsection{Miscellaneous options}\label{sec:miscoptions} +There are some options that fall outside of the scope of the previous +sections. These will be discussed here. + +\begin{description} +\item\DescribeOption{iacolor}\option{iacolor}\\ +The |iacolor} option can be used to specify the color that is used +for inactive things, produced for instance by \Lcs{onslide|, \Lcs{pause| +(see section~\ref{sec:overlays}) and \Lcs{tableofcontents} (see +section~\ref{sec:tableofcontents}). As \pf{xcolor} is used by +\pf{powerdot}, one can use special notation here, like +\begin{example} + iacolor=black!20 +\end{example} +The preset value for this key is |lightgray|. +\end{description} + +The following options control the digital clock (see +section~\ref{sec:classopts}). The clock is a form text field with +dynamic content, driven by a javascript via \pf{hyperref} text +fields. Some options for the clock work similarly as for, for +instance, the title component, but there are also special options. +\begin{description} +\item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\ +These work in the same way as the |-hook} and |-pos} properties +discussed in section~\ref{sec:maincomps}. The preset value of +|clockhook} is |tr|. +\item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\ +These control the width and height of the text field containing the +clock. Preset values come from \pf{hyperref} and are |3cm} and +|\baselineskip|, respectively. +\item\DescribeOption{clockcharsize}\option{clockcharsize}\\ +The size of characters of the clock. Preset: |14pt|. +\item\DescribeOption{clockalign}\option{clockalign}\\ +The alignment of the clock in the text field. |0} is left-aligned, +|1} is centered and |2} is right aligned. Preset is |2|. +\item\DescribeOption{clockcolor}\option{clockcolor}\\ +This determines the text color of the clock. The value should be a +named color. The preset value is |black|. +\end{description} + +\subsection{Template presets} +Below, we have copied the preset setting for the keys described +above. These will be used if you didn't supply other input for these +keys in a particular template. If the preset value meets your +needs, you don't have to specify it again in your style. +\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{The background}\label{sec:defbg} +This leaves only one argument of the \Lcs{pddefinetemplate} macro +undiscussed. This is the \meta{commands} argument. This argument can +contain any code that you want to execute \textit{after} setting the +options and \textit{before} building the slide components like the +slide title, main text, and footers. This argument is designed to +contain declarations that will build the background of a template +using, for instance, \pf{pstricks}, but it can also hold other +commands you might need for building your template. + +Important to notice is that these commands may not create \TeX\ +material as that might destroy the construction of the slide. So, if +you want to place the word `Hello' in the bottom left corner of the +slide, don't type `Hello', but make its width, height and depth +equal to zero, for instance by using \pf{pstricks}' \Lcs{rput|. +\begin{example} + \rput[bl](0,0){Hello} +\end{example} + +\subsection{Title slide, titles and sections}\label{sec:specialtemps} +As mentioned before, the style that you write needs to define at +least the templates |slide} and |titleslide|. The latter treats some +of the keys in a special way. Besides, a section slide is also done +in a special way. + +The title slide (made with \Lcs{maketitle|) puts the title with +author(s) and date in the main text box. This means that you have to +supply a position for the main text box (|textpos|). It will use the +main text font for the text (together with declarations in the +|textfont} key) for the author(s) and the date. But it will use the +declarations in |titlefont} for the title of the presentation. This +is done so that title and author(s) form a coherent block and to +make sure that long titles can push down the author(s) instead of +overwriting it. + +\DescribeMacro{\pd@slidetitle} +The \Lcs{pd@slidetitle} macro is used to typeset the slide title on +slides. This macro is comparable to for instance \Lcs{pd@tocslide|. The +macro takes one argument which is the slide title in the right font +and formatting. By default, this macro just passes on the content +for typesetting, but you could redefine this macro so do something +with its input prior to typesetting it. An example is in the +\pf{fyma} style which underlines the title after putting it in a +|minipage} to support multi line titles. + +\DescribeMacros{\pd@title,\pd@sectiontitle} +These macros are similar to \Lcs{pd@slidetitle} and typeset the title +on the title slide and the title on section slides respectively. By +default, these also pass there argument (which is the presentation +title or section title), but these can be redefined to do something +with the input prior to typesetting it, just as \Lcs{pd@slidetitle|. + +\DescribeOptions{sectemp,widesectemp} +The \Lcs{section} command uses (by default) the |slide} environment and +puts the section title in the title box with font |titlefont|. If +you want to change the default use of the |slide} environment for +sections to, for instance, the |sectionslide} environment or any +other especially designed section template, change the section +template preset in your style, using +\begin{example} + \setkeys[pd]{section}{sectemp=sectionslide} +\end{example} +This means that if the user asks for |template=slide} in the +|\section} command, the |sectionslide} environment will be used +silently. To avoid surprises, |sectionslide} should preferably be +based on the |slide} environment. + +A similar option is available in case the user asks for +|template=wideslide|. One could for instance do the following. +\begin{example} + \setkeys[pd]{section}{widesectemp=sectionwideslide} +\end{example} +Whenever the user requests a |wideslide} to be used for a +|\section|, instead, the |sectionwideslide} environment will be +used. Other input to the |template} key by the user does not get a +special treatment. + +Notice that these keys are available in the |section} family of keys +and that you cannot use them in the \Lcs{pddefinetemplate} command. + +\subsection{Testing the style}\label{sec:styletest} +\pf{powerdot} has a test file that should test most of the style. +This test file can be produced by running \LaTeX\ over +|powerdot.dtx|. This generates |powerdot-styletest.tex} which will +help you with the testing job. Feel free to contact us when you +would like to contribute your style to \pf{powerdot}. See also +section~\ref{sec:questions}. + +\section{Using \LyX\ for presentations}\label{sec:lyx} +\LyX\ \cite{LyXWeb} is a WYSIWYM (What You See Is What You Mean) +document processor based on \LaTeX. It supports standard \LaTeX\ +classes but needs special files, called layout files, in order to +support non-standard classes such as \pf{powerdot}. + +To start using \LyX\ for \pf{powerdot} presentations, copy the +layout file |powerdot.layout} to the \LyX\ layout directory. You can +find this file in the doc tree of your \LaTeX\ installation: +\url{texmf/doc/latex/powerdot}. If you can't find it there, download +it from \url{CTAN:/macros/latex/contrib/powerdot}. Once that is +done, reconfigure \LyX\ (\texttt{Edit\LyXarrow Reconfigure} and +restart \LyX\ afterwards). Now you can use the \pf{powerdot} +document class as any other supported class. Go to +\texttt{Layout\LyXarrow Document} and select \texttt{powerdot +presentation} as document class. For more information, see the \LyX\ +documentation, which is accessible from the |Help} menu. + +\subsection{How to use the layout} +The \pf{powerdot} \LyX\ layout provides some environments\footnote{Don't +confuse these with \LaTeX\ environments.} which can be used in \LyX. +Some of these environments (for instance |Title} or |Itemize|) are +natural to use since they exist also in the standard document +classes such as \pf{article}. For more information on these standard +environments, see the \LyX\ documentation. + +This section will explain how to use the \pf{powerdot} specific +environments |Slide|, |WideSlide|, |EmptySlide} and |Note|. These +environments correspond to the \pf{powerdot} environments |slide|, +|emptyslide|, |wideslide} and |note|. + +We start with a simple example. The following \LaTeX\ code +\begin{example} + \begin{slide}{Slide title} + Slide content. + \end{slide} +\end{example} +can be obtained using the following \LyX\ environments. The right +column represents the text typed into the \LyX\ window and the left +column represents the environment applied to this text). +\begin{example} + Slide Slide title + Standard Slide content. + EndSlide +\end{example} +Some remarks concerning this example. +\begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt] +\item You can use the environment menu (under the menu bar, top-left +corner) to change the environment applied to text. +\item The slide title should be typed on the line of the |Slide| +environment. +\item |EndSlide} finishes the slide and its line is left blank. +\end{itemize} + +In the \LyX\ window, the |Slide} environment (that is, the slide +title) is displayed in magenta, the |WideSlide} style in green, the +|EmptySlide} style in cyan and the |Note} style in red and hence +these are easily identifiable. + +Here is another example. +\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} +This can be done in \LyX\ in the following way. +\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} +This example demonstrates that it is often sufficient to insert the +|EndSlide} style after the last slide or note only. Only when you +want certain material not to be part of a slide, you need to finish +the preceding slide manually using the |EndSlide} style. Example: +\begin{example} + Slide First slide title + Standard The first slide. + EndSlide + [ERT box with some material] + Slide Second slide title + ... +\end{example} + +Options can be passed to slide environments by using +\texttt{Insert\LyXarrow Short title} in front of the slide title. +The following example uses the |direct} method (see +section~\ref{sec:verbatim}) in the short title argument (delimited by +square brackets) to allow for a |lstlisting} environment (defined by +the \pf{listings} package) within the slide content. +\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} +Note that you are not obliged to use a |verbatim} environment to +type the \Lcs{HelloWord} text into the \LyX\ window because \LyX\ +directly supports standard verbatim.\footnote{\LyX\ translates +special characters into their corresponding \LaTeX\ command. For +instance, the backslash character is translated into +\cs{textbackslash{}}. Resulting, the font is not the same as in true +verbatim and you might want to change that via the +\texttt{Layout\LyXarrow Character} dialog.} Consequently, the use of +the slide processing methods |direct} and |file} is not necessary +when you need standard verbatim, but it is necessary when doing more +advanced things, like in the example above. + +\subsection{Support of syntax} +This section lists options, commands and environments that are +supported through the \LyX\ interface directly, without using an ERT +box (\TeX-mode). + +All class options (see section~\ref{sec:classopts}) are supported +via the \texttt{Layout\LyXarrow Document} dialog (|Layout} pane). +Options for the \Lcs{pdsetup} command (see section~\ref{sec:setup}) +should be specified in the |Preamble} pane of the +\texttt{Layout\LyXarrow Document} dialog. + +Table \ref{tab:lyxcommands} lists the \pf{powerdot} commands that +are supported in \LyX. +\begin{table}[htb] +\centering +\begin{tabular}{f} +Command & Method in \LyX\\\hline +\cs{title} & Use \texttt{Title} environment.\\ +\cs{author} & Use \texttt{Author} environment.\\ +\cs{date} & Use \texttt{Date} environment.\\ +\cs{maketitle} & Managed directly by \LyX.\\ +\cs{section} & Use the \texttt{Section} environment. Options to this +command (see section~\ref{sec:section}) can be specified using +\texttt{Insert\LyXarrow Short title} in front of the section title.\\ +\cs{tableofcontents} & Use \texttt{Insert\LyXarrow Lists \& +TOC\LyXarrow Table of contents}. You will need an ERT box if you +want to use the optional argument, see below. +\end{tabular} +\caption{Supported \pf{powerdot} commands in \LyX}\label{tab:lyxcommands} +\end{table} +Table \ref{tab:lyxenvs} lists the \pf{powerdot} environments that, +besides the earlier discussed |slide|, |wideslide|, |note} and +|emptyslide} environments, are supported in \LyX. +\begin{table}[htb] +\centering +\begin{tabular}{f} +Environment & Method in \LyX\\\hline +\texttt{itemize} & Use \texttt{Itemize} and \texttt{ItemizeType1} +environments. The latter will create a list with |type=1} (see +section~\ref{sec:lists}).\\ +\texttt{enumerate} & Use \texttt{Enumerate} and +\texttt{EnumerateType1} environments.\\ +\texttt{thebibliography} & Use \texttt{Bibliography} environment. +\end{tabular} +\caption{Supported \pf{powerdot} environments in \LyX}\label{tab:lyxenvs} +\end{table} +Table \ref{tab:lyxERT} lists commands that can only be done by using +an ERT box (via \texttt{Insert\LyXarrow TeX}). +\begin{table}[ht] +\centering +\begin{tabular}{f} +Command & Method in \LyX\\\hline +\cs{and} & Within \texttt{Author} environment.\\ +\cs{pause} & \\ +\cs{item} & An ERT box is only required for the optional argument, +not mandatory for overlays specifications.\\ +\cs{onslide} & And the versions \cs{onslide+} and \cs{onslide*}.\\ +\cs{twocolumn} & \\ +\cs{tableofcontents} & Only when using the optional argument. +\end{tabular} +\caption{\pf{powerdot} commands needing an ERT box in \LyX}\label{tab:lyxERT} +\end{table} +Note that you may use the clipboard in order to repeat often used +commands like \Lcs{pause|. Finally, table \ref{tab:lyxadd} lists +additional commands and environments that are supported by the layout. +\begin{table}[htb] +\centering +\begin{tabular}{f} +Env./Command & Method in \LyX\\\hline +\texttt{quote} & Use \texttt{Quote} environment.\\ +\texttt{quotation} & Use \texttt{Quotation} environment.\\ +\texttt{verse} & Use \texttt{Verse} environment.\\ +\cs{caption} & Use \texttt{Caption} environment within standard +float environments. +\end{tabular} +\caption{Additional environments for \LyX}\label{tab:lyxadd} +\end{table} + +\subsection{Compiling with \LyX} +First of all, make sure that you have also read +section~\ref{sec:compiling}. Then, in order to get a proper +PostScript or PDF file, you have to set your \LyX\ document +properties depending on which paper and orientation you want. When +your \LyX\ document is open, go to the \texttt{Layout\LyXarrow +Document} dialog. In the \texttt{Layout} pane, put the |nopsheader|, +|orient} and |paper} keys as class options (see +section~\ref{sec:classopts} for a description). Then, go to the +|Paper} pane and select corresponding paper size and orientation +(you may choose |letter} paper in the case you set |paper=screen} in +the class options). Finally, go to the |View} (or +\texttt{File\LyXarrow Export}) menu and select your output +(PostScript or PDF). + +\subsection{Extending the layout} +If you have created a custom style (see section~\ref{sec:writestyle}) +which defines custom templates, you may want to extend the layout +file\footnote{The LPPL dictates to rename a file if you modify it as +to avoid confusion.} so that these templates are also supported in +\LyX. The explanation below assumes that you have defined a template +called |sunnyslide|. + +To support this new template in \LyX, you have to use the following +command. +\begin{command} + `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}' +\end{command} +\DescribeMacro{\pddefinelyxtemplate} +This will define the control sequence \meta{cs} such that it will +create a slide with template \meta{template} (which has been defined +using \Lcs{pddefinetemplate|. This new control sequence can be used in +the layout file as follows. +\begin{example} + # SunnySlide environment definition + Style SunnySlide + CopyStyle Slide + LatexName lyxend\lyxsunnyslide + Font + Color Yellow + EndFont + Preamble + \pddefinelyxtemplate\lyxsunnyslide{sunnyslide} + EndPreamble + End +\end{example} +Note that you must begin the |LatexName} field with |lyxend|. The +definition of the \LyX\ template has been inserted in between +|Preamble} and |EndPreamble} which assures that the new \LyX\ +environment will work in every presentation. After modifying the +layout file, don't forget to restart \LyX. See for more information +about creating \LyX\ environments, the documentation of \LyX\ in the +|Help} menu. + +\section{Questions}\label{sec:questions} +\subsection{Frequently Asked Questions}\label{sec:FAQ} +This section is devoted to Frequently Asked Questions. Please read +it carefully; your problem might be solved by this section. +\begin{itemize}[leftmargin=0pt] +\question +Does \pf{powerdot} have example files? Where can I find them? +\answer +\pf{powerdot} comes with several examples that should be in the doc +tree of your \LaTeX\ installation. More precisely: +\url{texmf/doc/latex/powerdot}. If you can't find them there, +download them from \url{CTAN:/macros/latex/contrib/powerdot} +\cite{CTAN}. +\question I'm getting errors or unexpected output when compiling +the simplest example! +\answer Did you read section~\ref{sec:compiling}? +\question I made a typo in the slide code, ran the file, got an +error, corrected the typo and reran, but now get an error that +doesn't go away. +\answer Remove the |.bm} and |.toc} files and try again. +\question \Lcs{pause} does not work in the |align|\footnote{There are +several environments doing similar things as \texttt{align}. Another +example is the \texttt{split} environment, but more (often from the +\pf{amsmath} package) can cause similar trouble for \cs{pause}.} +environment. +\answer |align} does several tricky things, which make it impossible +to use \Lcs{pause|. Use \Lcs{onslide} instead. See +section~\ref{sec:onslide}. +\question My \pf{pstricks} nodes appear on all overlays. Also: color +doesn't seem to work with \Lcs{onslide|. +\answer Some PostScript tricks like nodes and color do not work with +|\onslide|. Use \Lcs{onslide*} instead. See an example below. +\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 Do I need to edit style files to change a style a bit? +\answer No, you do not need to edit any style file. You can change +any part of a certain style using the \Lcs{pddefinetemplate} and +|\pddefinepalettes} commands. Here is an example that removes the +left and right footers from the \pf{default} style, places the slide +number in the center footer and adds another palette. +\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} +See section~\ref{sec:writestyle} for more information about these +two commands. +\question Can I contribute to this project? +\answer +Certainly. If you find bugs\footnote{Make sure that you confirm that +the bug is really caused by \pf{powerdot} and not by another package +that you use.} or typos, please send a message to the mailinglist +(see section~\ref{sec:mailinglist}). If you have developed your own +style that is distinct from existing styles and would like to see it +included in \pf{powerdot}, please inform us by private e-mail and we +will consider your contribution. Notice that included contributions +will fall under the overall \pf{powerdot} license and copyright +notice, but that your name will be included in the documentation +when you make a contribution. This is done to guarantee that we can +adapt files if maintenance is needed. +\end{itemize} + +If your question has not been answered at this point, advance to the +next section to read where to find more answers. + +\subsection{Mailinglist}\label{sec:mailinglist} +\pf{powerdot} has a mailinglist from \url{freelists.org} and has its +website here: +\begin{center} +\url{http://www.freelists.org/list/powerdot} +\end{center} +There is a link to `List Archive'. Please search this archive before +posting a question. Your problem might already have been solved in +the past. + +If that is not the case, use the box on the page to type your e-mail +address, choose the action `Subscribe' and click `Go!'. Then follow +the instructions that arrive to you by e-mail. At a certain moment, +you can login for the first time using an authorization code sent to +you by e-mail. After logging in, you can create a password for +future sessions using the `Main Menu' button. The other buttons +provide you some info and options for your account. + +When you are all set, you can write to the list by sending an e-mail +to +\begin{center} +\url{powerdot [at] freelists [dot] org} +\end{center} + +When writing to the list, please keep in mind the following very +important issues. +\begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt] +\item We are volunteers! +\item Keep your questions related to \pf{powerdot}. +\item Always supply a \emph{minimal} example demonstrating your +problem. +\item Don't send big files over the list. +\end{enumerate} + +We hope you will enjoy this service. + +\section{Source code documentation}\label{sec:source} +In case you want regenerate the package files from the source or +want to have a look at the source code description, locate +|powerdot.dtx|, search in the file for \Lcs{OnlyDescription} and remove +that and do +\begin{example} + latex powerdot.dtx + latex powerdot.dtx + bibtex powerdot + makeindex -s gglo.ist -o powerdot.gls powerdot.glo + makeindex -s gind.ist -o powerdot.ind powerdot.idx + latex powerdot.dtx + latex powerdot.dtx +\end{example} + +\StopEventually{} + +\section{Implementation}\label{sec:imple} +\subsection{General construction} +This section explains the general idea of the class, how paper +dimensions are chosen and how slides are created. We start with the +paper. + +This class uses the same idea as \pf{prosper} and \pf{HA-prosper}, +namely that we create a background with \pf{pstricks} and position +text on it using \Lcs{rput} and some |minipage} environments. This is +easier than writing a dedicated output routine that can handle all +the material, but doesn't break pages when we don't want that. So, +when starting to write the class, we first investigated how to deal +with landscape slides and paper dimensions. + +The job of making landscape slides can be done using \pf{geometry}. +The paper dimension was more of a problem. As \LaTeX\ doesn't have +the huge fonts that we need for presentations, we need to scale the +usual fonts somehow. This could be done by using unusual paper +dimensions (as \pf{beamer} does) and hence relying on ps2pdf to cut +off all the redundant material. But this doesn't produce a usable +DVI or PS file. Instead, it was chosen to use DVI magnification. The +entire slide is magnified by a factor of 2 and only the top left +quarter of the paper is used (but you will never notice that due to +the magnification). As we already decided to place all material in +|minipage|s using \Lcs{rput|, we didn't need the page anymore and it +was easiest to use \pf{geometry} to just remove the page margins +altogether so that the bottom left corner would be |(0,0)} and the +top right corner |(\slidewidth,\slideheight)|. + +One extra remark on the paper type is necessary. We found that most +common configurations of dvips use the |A4size} code when A4 +dimensions are found. This code doesn't write an explicit PostScript +paper command in the PS document and hence programs using this PS +(like ps2pdf) don't know what paper to use and revert to the +default, which is letter paper in most cases. This, of course, is +something that we don't want and hence, \pf{powerdot} will write +these commands to the PS itself as to guarantee proper post +processing of the PS. + +Now that we made the decisions on how to create proper DVI, PS and +PDF output, the next task was to create an easy interface to +overlays. To avoid counting the overlays as is necessary with +\pf{prosper}, we implemented a system that first collects the entire +body of an environment in a macro which can be reused multiple +times. During execution of the body, the overlay commands like +|\onslide} will keep a record of the biggest number that they find +and that is the number of overlays to produce. Getting the body of +the environment is done by collecting all material up to the next +|\end} occurrence. If that control sequence has the proper argument +(namely the slide that we started with), then we stop scanning and +start processing the slide. With normal use, you will not notice +this, but when doing special tricks like hiding \Lcs{end{slide}} in a +macro, the process will fail as it relies on finding \Lcs{end\{slide\}} +in the input stream without doing expansions. Often a work around +can be found though. Have a look for instance at how \Lcs{section| +creates a slide. + +The next task was to provide a simple way to create templates. As +the class is based on the idea of having a background with some +material spread out over it, the template system follows this idea. +One argument can be used to create the background, the other +argument controls, via keys and options, several properties of the +material that should be placed. By adding an \verb=ifsetup= key, full +control could be gained over the design of the template in every +possible setup chosen by the user. + +The final task for the class was to fill in all the `details'. All +the mechanisms were present, but sometimes they should not be +active. For instance, overlays should not be created in handout +mode. Other things to add to the class were counter protection on +overlays, handles to the layout of the slide number, footnotes, a +bibliography environment, empty slides, etcetera. + +We hope that this section has made clear a little bit what you will +be seeing when reading the next section with coding and why we chose +to do it this way. + +\bibliographystyle{plain} +\bibliography{powerdot} + +\section*{Acknowledgements} +The authors are grateful to Mael Hill\'ereau for contributing the +\LyX\ layout file and description. Further, we like to thank all +style contributors (see section~\ref{sec:styles}). Moreover, we wish +to thank everyone who contributed to this package in any other +way.\\[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] +We hope not to have forgotten anyone. + +\PrintChangesX\PrintIndexX + +\end{document} + |