diff options
author | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-09-02 13:46:59 +0900 |
commit | e0c6872cf40896c7be36b11dcc744620f10adf1d (patch) | |
tree | 60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/powerdot |
Initial commit
Diffstat (limited to 'macros/latex/contrib/powerdot')
-rw-r--r-- | macros/latex/contrib/powerdot/README | 50 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/lyx/powerdot-example.lyx | 469 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex | 159 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/lyx/powerdot.layout | 461 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/manifest.txt | 83 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/powerdot.pdf | bin | 0 -> 543912 bytes | |||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/powerdotDE.pdf | bin | 0 -> 553683 bytes | |||
-rw-r--r-- | macros/latex/contrib/powerdot/doc/powerdotDE.tex | 2889 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/run/powerdot-default.ps | 109 | ||||
-rw-r--r-- | macros/latex/contrib/powerdot/source/powerdot.dtx | 8751 |
10 files changed, 12971 insertions, 0 deletions
diff --git a/macros/latex/contrib/powerdot/README b/macros/latex/contrib/powerdot/README new file mode 100644 index 0000000000..139e300a9b --- /dev/null +++ b/macros/latex/contrib/powerdot/README @@ -0,0 +1,50 @@ +powerdot v1.5c +-------------- + +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. See for more information the PDF +documentation of this package. + + +Installation +------------ + +First check whether this package can be installed by the +distribution that you use, since that will simplify installation. +For manual installations, the structure and supposed location in a +TDS compliant TeX-tree is shown in manifest.txt. Don't forget +to update your filename database after installing the files. + +The package includes pregenerated run and doc files, but you can +reproduce them from the source if necessary. See the first lines +of powerdot.dtx for information how to do this. + +See the documentation of your LaTeX distribution or the TeX +Frequently Asked Questions for more information on installing +powerdot into your LaTeX distribution +(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages). + + +License +------- + +Copyright (C) 2005-2008 Hendri Adriaens, Chris Ellison; 2009-2017 Hendri Adriaens + +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. diff --git a/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.lyx b/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.lyx new file mode 100644 index 0000000000..c26f7ab378 --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.lyx @@ -0,0 +1,469 @@ +#LyX 1.3 created this file. For more info see http://www.lyx.org/ +\lyxformat 221 +\textclass powerdot +\begin_preamble +\usepackage{listings} +\pdsetup{% + lf=left footer, + rf=right footer +} +\end_preamble +\options nopsheader,style=fyma,display=slidesnotes +\language english +\inputencoding auto +\fontscheme default +\graphics default +\paperfontsize size=10 +\spacing single +\papersize letterpaper +\paperpackage a4 +\use_geometry 0 +\use_amsmath 0 +\use_natbib 0 +\use_numerical_citations 0 +\paperorientation landscape +\secnumdepth 3 +\tocdepth 3 +\paragraph_separation indent +\defskip medskip +\quotes_language french +\quotes_times 2 +\papercolumns 1 +\papersides 1 +\paperpagestyle default + +\layout Title + +A LyX sample +\layout Author + +Mael Hilléreau +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +and +\end_inset + + Hendri Adriaens +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +and +\end_inset + + Christopher Ellison +\layout Date + + +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +today +\end_inset + + +\layout Slide + +My first slide +\layout Standard + +We use a +\family typewriter +Slide +\family default + style (magenta color, see above this text into LyX window) for the title + of each slide of a section or document. +\layout WideSlide + +My wide slide +\layout Standard + + +\begin_inset LatexCommand \label{toc} + +\end_inset + +But we may also use wide slides (green color, see above this text into LyX + window). +\layout Standard +\added_space_bottom medskip +Let's have a look at the TOC: +\layout Standard + + +\begin_inset LatexCommand \tableofcontents{} + +\end_inset + + +\layout Section + +This is the first section +\layout Slide + + +\begin_inset OptArg +collapsed true + +\layout Standard + +toc=This slide has... +\end_inset + +This slide has a very very long title +\layout Standard + +This slide's title is different in the TOC, see slide +\begin_inset LatexCommand \pageref{toc} + +\end_inset + + or at the left of all slides in this section. +\layout Note + +Important note! +\layout Standard + +Don't forget to use +\family typewriter +Insert +\family default +\SpecialChar \menuseparator + +\family typewriter +Short title +\family default + in order to specify slide options. +\layout Slide + +Using +\family typewriter + +\backslash +pause +\layout Standard + +Let's make a pause! +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout Standard + +\SpecialChar \ldots{} + and then continue. +\layout Section + +Second section +\layout Slide + +Using +\family typewriter +enumerate +\layout Standard + +Let's enumerate things: +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout EnumerateType1 + +The first thing; +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout EnumerateType1 + +The second thing; +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout EnumerateType1 + +The third thing; +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout EnumerateType1 + +The final thing! +\layout Slide + +Using +\family typewriter +itemize +\layout Standard + +We may also make some items and nest them: +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout ItemizeType1 + +<2> The first; +\layout ItemizeType1 + +<3> The second; +\begin_deeper +\layout ItemizeType1 + +<4> One, +\layout ItemizeType1 + +<5> Two, +\layout ItemizeType1 + +<6> Three, +\end_deeper +\layout ItemizeType1 + +<7> The last one. +\layout EmptySlide + + +\begin_inset OptArg +collapsed true + +\layout Standard + +toc=,randomdots +\end_inset + +The empty slide! +\layout Standard +\added_space_top bigskip \align center +This slide is empty\SpecialChar \ldots{} + +\layout Standard + + +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout Standard +\align center +It uses +\family typewriter +EmptySlide +\family default + style for its title (see cyan color into LyX window). +\layout Standard + + +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + +\layout Standard +\align center +You may also have noticed the use of +\family typewriter +randomdots +\family default + slide option which +\newline +allows displaying those multicolor dots into the slide background. +\layout Slide + + +\begin_inset OptArg +collapsed true + +\layout Standard + +method=direct +\end_inset + +Example of LaTeX source code +\layout Standard + +Let's now use the +\family typewriter +listings +\family default + package in order to typeset some source code. + Here's the +\family typewriter + +\backslash +HelloWorld +\family default + LaTeX command: +\layout Standard + + +\begin_inset ERT +status Open + +\layout Standard + +\backslash +lstset{language=[LaTeX]TeX} +\newline + +\backslash +begin{lstlisting} +\newline + +\backslash +newcommand{ +\backslash +HelloWorld}{Hello World!} +\newline + +\backslash +end{lstlisting} +\end_inset + + +\layout Standard + +Note that this slide uses the +\family typewriter +method=direct +\family default + option (see its short title options box above into LyX window). +\layout Slide + + +\begin_inset OptArg +collapsed true + +\layout Standard + +method=file +\end_inset + +Verbatim material with overlays +\layout Standard + +Here's +\family typewriter +HelloWorld() +\family default + C function: +\layout Standard + + +\begin_inset ERT +status Open + +\layout Standard + +\backslash +lstset{language=C} +\newline + +\backslash +begin{lstlisting} +\newline +void HelloWorld() { +\newline + printf("Hello World! +\backslash +n"); +\newline +} +\newline + +\backslash +end{lstlisting} +\end_inset + + +\layout Standard + + +\begin_inset ERT +status Collapsed + +\layout Standard + +\backslash +pause +\end_inset + + Unlike the previous one, this slide must use +\family typewriter +method=file +\family default + as it employs two overlays. +\layout Slide + +The end. +\layout Standard + +Don't forget to put an +\family typewriter +EndSlide +\family default + style at the end of the document (see the black symbol below into LyX window). +\layout Standard + +Have fun! +\layout EndSlide + +\the_end diff --git a/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex b/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex new file mode 100644 index 0000000000..3321cc0863 --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex @@ -0,0 +1,159 @@ +%% LyX 1.3 created this file. For more info, see http://www.lyx.org/. +%% Do not edit unless you really know what you are doing. +\documentclass[size=10pt,letterpaper,landscape,english,nopsheader,style=fyma,display=slidesnotes]{powerdot} +\usepackage[T1]{fontenc} +\usepackage[latin1]{inputenc} + +\makeatletter + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands. +\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} +\newcommand{\lyxarrow}{\leavevmode\,$\triangleright$\,\allowbreak} + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands. +\usepackage{listings} +\pdsetup{% + lf=left footer, + rf=right footer +} + +\usepackage{babel} +\makeatother +\begin{document} + +\title{A \LyX{} sample} + + +\author{Mael Hilléreau \and Hendri Adriaens \and Christopher Ellison} + + +\date{\today} + +\maketitle + +\lyxend\lyxslide{My first slide} + +We use a \texttt{Slide} style (magenta color, see above this text +into \LyX{} window) for the title of each slide of a section or document. + + +\lyxend\lyxwideslide{My wide slide} + +\label{toc}But we may also use wide slides (green color, see above +this text into \LyX{} window). + +Let's have a look at the TOC: +\medskip{} + +\tableofcontents{} + + +\lyxend\section{This is the first section} + + +\lyxend\lyxslide[toc=This slide has...]{This slide has a very very long title} + +This slide's title is different in the TOC, see slide \pageref{toc} +or at the left of all slides in this section. + + +\lyxend\lyxnote{Important note!} + +Don't forget to use \texttt{Insert}\lyxarrow{}\texttt{Short title} +in order to specify slide options. + + +\lyxend\lyxslide{Using \texttt{\textbackslash{}pause}} + +Let's make a pause! \pause + +\ldots{} and then continue. + + +\lyxend\section{Second section} + + +\lyxend\lyxslide{Using \texttt{enumerate}} + +Let's enumerate things:\pause + +\begin{enumerate}[type=1] +\item The first thing;\pause +\item The second thing;\pause +\item The third thing;\pause +\item The final thing! +\end{enumerate} + +\lyxend\lyxslide{Using \texttt{itemize}} + +We may also make some items and nest them:\pause + +\begin{itemize}[type=1] +\item <2> The first; +\item <3> The second; + +\begin{itemize}[type=1] +\item <4> One, +\item <5> Two, +\item <6> Three, +\end{itemize} +\item <7> The last one. +\end{itemize} + +\lyxend\lyxemptyslide[toc=,randomdots]{The empty slide!} + +\bigskip{} +\begin{center}This slide is empty\ldots{} \end{center} + +\pause + +\begin{center}It uses \texttt{EmptySlide} style for its title (see +cyan color into \LyX{} window).\end{center} + +\pause + +\begin{center}You may also have noticed the use of \texttt{randomdots} +slide option which\\ +allows displaying those multicolor dots into the slide background.\end{center} + + +\lyxend\lyxslide[method=direct]{Example of \LaTeX{} source code} + +Let's now use the \texttt{listings} package in order to typeset some +source code. Here's the \texttt{\textbackslash{}HelloWorld} \LaTeX{} +command: + +\lstset{language=[LaTeX]TeX} +\begin{lstlisting} +\newcommand{\HelloWorld}{Hello World!} +\end{lstlisting} + +Note that this slide uses the \texttt{method=direct} option (see its +short title options box above into \LyX{} window). + + +\lyxend\lyxslide[method=file]{Verbatim material with overlays} + +Here's \texttt{HelloWorld()} C function: + +\lstset{language=C} +\begin{lstlisting} +void HelloWorld() { + printf("Hello World!\n"); +} +\end{lstlisting} + +\pause Unlike the previous one, this slide must use \texttt{method=file} +as it employs two overlays. + + +\lyxend\lyxslide{The end.} + +Don't forget to put an \texttt{EndSlide} style at the end of the document +(see the black symbol below into \LyX{} window). + +Have fun! + + +\lyxend{} +\end{document} diff --git a/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout b/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout new file mode 100644 index 0000000000..da0163e99d --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout @@ -0,0 +1,461 @@ +#% Do not delete the line below; configure depends on this +# \DeclareLaTeXClass[powerdot]{powerdot presentation} +# PowerDot textclass definition file. +# Created (29.Aug.05): Mael Hilléreau +# Last modified: 17.Sep.05 +# +# ---------------------------------------------------------- +# Copyright (C) 2005 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 "maintained". +# +# This Current Maintainer of this work is Christopher Ellison. +# +# This work consists of all files listed in manifest.txt. + +### +# General textclass parameters +### +Columns 1 +Sides 1 +MaxCounter Counter_EnumI +ProvidesUrl 1 +DefaultStyle Standard + +DefaultFont + Family Sans + Series Medium + Shape Up + Size Normal + Color None +EndFont + +### +# General textclass parameters +### +ClassOptions + FontSize size=8|size=9|size=10|size=11|size=12|size=14|size=17|size=20 + PageStyle "" +End + +### +# Title style definition +### +Style Title + Margin Static + LatexType Command + InTitle 1 + LatexName title + ParSkip 0.4 + ItemSep 0 + TopSep 0 + BottomSep 1 + ParSep 1 + Align Center + AlignPossible Center + LabelType No_Label + + Font + Series Bold + Size Largest + Color Blue + EndFont +End + +### +# Author style definition +### +Style Author + Margin Static + LatexType Command + InTitle 1 + LatexName author + LabelSep xxx + ParSkip 0.4 + TopSep 1.3 + BottomSep 0.7 + ParSep 0.7 + Align Center + AlignPossible Center + LabelType No_Label + + Font + Size Large + Color Blue + EndFont +End + +### +# Date style definition +### +Style Date + Margin Dynamic + LatexType Command + InTitle 1 + LatexName date + LabelSep xxx + ParSkip 0.4 + TopSep 0.9 + BottomSep 0.5 + ParSep 1 + Align Center + AlignPossible Center + LabelType No_Label + + Font + Size Large + Color Blue + EndFont +End + +### +# Standard style definition +### +Style Standard + Margin Static + LatexType Paragraph + LatexName dummy + ParSkip 0.4 + Align Block + AlignPossible Block, Left, Right, Center + LabelType No_Label +End + +### +# Slide styles definition +### +Style Slide + Margin Static + LatexType Command + LatexName lyxend\lyxslide + LabelSep xxx + ParSkip 0.4 + TopSep 1.3 + BottomSep 0.7 + ParSep 0.7 + Align Center + AlignPossible Center + LabelType Counter_Subsection + LabelString " " + OptionalArgs 1 + + Font + Series Bold + Size Large + Color Magenta + EndFont +End + +Style EndSlide + CopyStyle Slide + KeepEmpty 1 + LatexName lyxend + Margin Static + ParSkip 0 + TopSep 0 + BottomSep 1 + ParSep 0 + LabelType Static + LabelBottomSep 0 + LeftMargin MMMMMMM + LabelString "~=~" + OptionalArgs 0 + + Font + Color None + EndFont +End + + + +### +# Wideslide style definition +### +Style WideSlide + CopyStyle Slide + LatexName lyxend\lyxwideslide + + Font + Color Green + EndFont +End + +### +# EmptySlide style definition +### +Style EmptySlide + CopyStyle Slide + LatexName lyxend\lyxemptyslide + LeftMargin MMMMMMMMMMMMMM + LabelString "Empty slide:" + LabelType Static + KeepEmpty 1 + + Font + Color Cyan + EndFont +End + +### +# Note style definition +### +Style Note + CopyStyle Slide + LatexName lyxend\lyxnote + LeftMargin MMMMMMM + LabelString "Note:" + LabelType Static + KeepEmpty 1 + OptionalArgs 0 + + Font + Color Red + EndFont +End + +### +# Section style definition +### +Style Section + CopyStyle Slide + LatexName lyxend\section + LabelType Counter_Section + LabelString "" + + Font + Size Larger + Color Blue + EndFont +End + +### +# Itemize styles definition +### +Style Itemize + Margin Static + LatexType Item_Environment + LatexName itemize + NextNoIndent 1 + LeftMargin MMN + LabelSep xx + ItemSep 0.2 + TopSep 0.7 + BottomSep 0.7 + ParSep 0.3 + Align Block + AlignPossible Block, Left + LabelType Static + LabelString * +End + +Style ItemizeType1 + CopyStyle Itemize + LatexParam [type=1] +End + +### +# Enumerate styles definition +### +Style Enumerate + Margin Static + LatexType Item_Environment + LatexName enumerate + NextNoIndent 1 + LeftMargin MMN + LabelSep xx + ParSkip 0.0 + ItemSep 0.2 + TopSep 0.7 + BottomSep 0.7 + ParSep 0.3 + Align Block + AlignPossible Block, Left + LabelType Counter_EnumI +End + +Style EnumerateType1 + CopyStyle Enumerate + LatexParam [type=1] +End + +### +# Bibliography style definition +### +Style Bibliography + Margin First_Dynamic + LatexType Item_Environment + LatexName thebibliography + NextNoIndent 1 + LeftMargin MM + ParSkip 0.4 + ItemSep 0 + TopSep 0.7 + BottomSep 0.7 + ParSep 0.5 + Align Block + AlignPossible Block, Left + LabelType Bibliography + LabelString "" + LabelBottomSep 0 +End + +### +# Quotation style definition +### +Style Quotation + Margin Static + LatexType Environment + LatexName quotation + NextNoIndent 1 + LeftMargin MMM + RightMargin MMM + ParIndent MM + ParSkip 0 + ItemSep 0 + TopSep 0.5 + BottomSep 0.5 + ParSep 0 + Align Block + AlignPossible Block, Left, Right, Center +End + +### +# Quote style definition +### +Style Quote + Margin Static + LatexType Environment + LatexName quote + NextNoIndent 1 + LeftMargin MMM + RightMargin MMM + TopSep 0.5 + ParSep 0.5 + BottomSep 0.5 + Align Block + AlignPossible Block, Left, Right, Center + LabelType No_Label +End + +### +# Verse style definition +### +Style Verse +# LaTeX type is first dynamic because of LaTeX implementation. +# In LyX this does not make sense. + LatexType Environment + LatexName verse + Margin First_Dynamic + NextNoIndent 1 + LeftMargin MMMM + LabelIndent MMMM + ParSkip 0.4 + TopSep 0.7 + BottomSep 0.7 + ParSep 0.5 + Align Block + AlignPossible Block, Left + LabelType No_Label +End + +### +# Caption style definition +### +Style Caption + Margin First_Dynamic + LatexType Command + LatexName caption + NeedProtect 1 + LabelSep xx + ParSkip 0.4 + TopSep 0.5 + Align Center + AlignPossible Center + LabelType Sensitive + LabelString Caption + OptionalArgs 1 + + LabelFont + Series Bold + EndFont +End + +### +# Floats definitions +### +Float + Type table + GuiName Table + Extension lot + NumberWithin none + Style plain + ListName "List of Tables" + LaTeXBuiltin true +End + +Float + Type figure + GuiName Figure + Extension lof + NumberWithin none + Style plain + ListName "List of Figures" + LaTeXBuiltin true +End + +Float + Type algorithm + GuiName Algorithm + Extension loa + NumberWithin none + Style ruled + ListName "List of Algorithms" + LaTeXBuiltin false +End + +### +# Counters definitions +### +Counter + Name enumi +End + +Counter + Name enumii + Within enumi +End + +Counter + Name enumiii + Within enumii +End + +Counter + Name enumiv + Within enumiii +End + +Counter + Name bibitem +End + +Counter + Name figure +End + +Counter + Name table +End + +Counter + Name algorithm +End diff --git a/macros/latex/contrib/powerdot/doc/manifest.txt b/macros/latex/contrib/powerdot/doc/manifest.txt new file mode 100644 index 0000000000..51926bc4a7 --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/manifest.txt @@ -0,0 +1,83 @@ +powerdot manifest +================= + + +This work consists of the file: + + powerdot.dtx + +and derived files: + + 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: official location + | + |- readme : should not be installed + |- powerdot-styletest.tex : should not be installed + |- powerdot-styleexample.tex : should not be installed + |- doc + | |- 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 + | |- powerdotDE.pdf : /doc/latex/powerdot + | |- powerdotDE.tex : /doc/latex/powerdot + | |- powerdot-example1.tex : /doc/latex/powerdot + | |- powerdot-example2.tex : /doc/latex/powerdot + | `- powerdot-example3.tex : /doc/latex/powerdot + | + |- run + | |- 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 + | + `- source + `- powerdot.dtx : /source/latex/powerdot diff --git a/macros/latex/contrib/powerdot/doc/powerdot.pdf b/macros/latex/contrib/powerdot/doc/powerdot.pdf Binary files differnew file mode 100644 index 0000000000..0f2e98fccf --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/powerdot.pdf diff --git a/macros/latex/contrib/powerdot/doc/powerdotDE.pdf b/macros/latex/contrib/powerdot/doc/powerdotDE.pdf Binary files differnew file mode 100644 index 0000000000..c464ea3779 --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/powerdotDE.pdf diff --git a/macros/latex/contrib/powerdot/doc/powerdotDE.tex b/macros/latex/contrib/powerdot/doc/powerdotDE.tex new file mode 100644 index 0000000000..d2e8372dbf --- /dev/null +++ b/macros/latex/contrib/powerdot/doc/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/macros/latex/contrib/powerdot/run/powerdot-default.ps b/macros/latex/contrib/powerdot/run/powerdot-default.ps new file mode 100644 index 0000000000..2a8a22c4a3 --- /dev/null +++ b/macros/latex/contrib/powerdot/run/powerdot-default.ps @@ -0,0 +1,109 @@ +%!PS-Adobe-3.0 EPSF-3.0 +%%Creator: jpeg2ps V1.8 by Thomas Merz +%%Title: flower.jpg +%%CreationDate: Thu Sep 04 15:25:36 2003 +%%BoundingBox: 20 20 592 284 +%%DocumentData: Clean7Bit +%%LanguageLevel: 2 +%%EndComments +%%BeginProlog +%%EndProlog +%%Page: 1 1 +/languagelevel where {pop languagelevel 2 lt}{true} ifelse { + (JPEG file 'flower.jpg' needs PostScript Level 2!\n) dup print flush + /Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop +} if +save +/RawData currentfile /ASCII85Decode filter def +/Data RawData << >> /DCTDecode filter def +20 20 translate +572.00 264.00 scale +/DeviceRGB setcolorspace +{ << /ImageType 1 + /Width 130 + /Height 60 + /ImageMatrix [ 130 0 0 -60 0 60 ] + /DataSource Data + /BitsPerComponent 8 + /Decode [0 1 0 1 0 1] + >> image + Data closefile + RawData flushfile + showpage + restore +} exec +s4IA0!"_al8O`[\!WW42!+Z'0s6K^t7!3!TGlRjF"98E%49,B]mJm__A8bpg!+`k +F!!!'"gAlm,"p>&3"U##5"U58;"U58@#R1J=$Od@L$OR4L&.AsU$k*OU$k<dZ%h9 +!]',2,o'-%r1)]TqA+!2RH+!2RH!=&i7%1E[_&.fZs'bM0!+!2RH+!2RH+!2RH+! +2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+90+V&I8A!!.k:R&HDkE! +<Wo7s24o6!!!*%!<E3%!<<*"z!!EH0!s\l-#QXr+!WrH(!<<*"z!!!!$"T\Z-!!W +Z>!!*-(!sAf5#6P)2z!<N?'&J>3i0a0iV'F%ECEM4R3JWWi>,8CHg_9kS*;\nkSU +>bX*1h2^q&HDh7!!EE,":553z!!*'3!WsT#&d1Kt'*[l6EIjf-16JiXdIBOJ1DJf +B,S^O`g&MN`!<<05!tbMt!:(f:P\/(]CAkV"H=Pldo3Re8T<1>XN3Z:X6s;cH_#n +are&,T53dks\9SG$Zl5G#oW3*g6DlV0*;Q"Dmm:LhSB?`Xim1@:M<4\dbIWfbJ8[ +Z2Wb>WrU:KT\H0AcE]4Cdt2ZEZ&_ci]542OhlYL#G%QbasVUdYZCKE>TE4bne-\m +o0'UR7FhZnKC`hAN((=`[JX\Ten:'QLe_S->qt>/VIqq];k^sGN?=?(11jG?2L/4 +W7kH4<'jZ3L0Lm6iA:*rD6ADd1-F5had59Rc$&74PFHU_$:WdN'UKH*;PJgW&?0f +L:kQ:F,7Va,q.+si!:`leK2B7)fp8+*T@=0e&dDf[;K3cF-6H85!(k<V;;A5P!2k +"/F&pmB[NXKBdqnEens<43[%4Rr#sBEJ*q),%62\W!EZ>e7N.Tqie]#_n[a2d+dl +ruE!Sd#6LZ44/YXl/2A\3%\P>][-6=c[dh+lVDWHFf!bIX"@l>A5*6TLtMg"R:WG +?mM0RZB=#r(bku*a2ujo88Mn2@QtXHjWN!@/g4/af(4*CF-4M4GkSZBi(0OE?K=' +"U+B8R1;)?rPnF#Lbq]]?!IL^g//JLP4DE1gZjBIGpu=m/Mbo;_P+SK6AF.G9u\Y +g7I'_EUSk&mT,U]UN5oTck)I;1%!,B#1.H;f5<l&1\QYespm>DRc;6+]C).$r8tB +En'kOLgG:MBN[b^oB<atPrfmQ-m;U_qJ?kbDN)d_F3N/<3][&T96JPaqo6`t3@.5 +/.$5'C:"X2(,u@gII"*ASIa`FcR;",a[ue(V?^Lj!N>#mDeVHmo[4@in*LWeQEe? +#J_dSJrLX*D<ouTp>^u\?emhGa)2f+PJfj"?>3]=;74hrrA:k'ffd%lP@c1G_NFT +pQVXJ>"Vh]*#/1QT%G$k2HTF98hGt+dt]f`,1&'dH+1/gjXs36d-QA<;Zh3=\3Y( +P'W%b-6c)O'5C>,r?KZ?FZhf"aXgE]]aX1E\>(K=MHR6LjI#/tl:3!"S+cORqR\A +1*?GfR(cCjBMj#WHU#G=EL\$E@!J7,4;7s0K1),:8_?m@49i`,/Er5RdQou4Kc8f +HG^[\)b4ZdOO>pVEb$\Y0/NNCfN<>]:1,VQTG,V+L5UbA-EN`h^qV9HNsJ81A,&g +0u$Z2P<gkpCKmN7VeNjf/?^o8IBB^J^Q%:&Z-=3qPeTpW>$OtRpPB2:kggek.%?2 +@CN^cAS=V%LrD!RE]l,V!,#hsGqAPQl&7!WFR-%N<H!9.<4IWRC;mi$RR2mCOdM9 +R2-Ko@`KcrhL-`2'`/-!N?ho%,m&>XrK^Q]Z-j]B7.R8q=Q6">`@RQD(F8)M3f]N +_OT$I6ZKh*?-pdCoiB9-l(7c'5-=j:u*WkVB<40-2mg4]nr<#6QJC6;_V_Q%W5b6 +[_ZI@)>V-69dM1-[KcGuFI=h)A9_F_e\FbU't4.[,m43!=m;m@Y(f6tj;B]FIYkh +<:?Y>d0H"+.Fp]eUEUcZ?Gu+o_7fH<I4>%46IBIe_s-B2,8DkZ&bID+O^%7.4dT, +-.7m7ZI>$74c*\&Og)9/dbVe;^eMih&i/*[8F-BnoQ??A))SL6&:qmX<H#%7EX-+ +g8/MJ"7'fGt5V#mg9jPU>0/Y8.e^*Tcrr?;$a$4n2PE*(@"i9EJ2Y?'N#U#o0Dd% +71(P.mfEI^fi1CE';%:$UInL@hLSAZq2>?B)V9f773#Sa<IR1Pk7To*5I[2N(I(A +:fpLJX73U^4U\397W7LG<g]Lpkn*Oh6]#X;V*2_gS.sZkdjcPQ>%/fP(1PVKmU8, +3IZ0LT[.M6CTG-*R\2c-qQ3EOcNU=N<+"I&mt1jk`ssINg2nFk2OpG.[`q#,Yg[* +cD)S)(r0:r5&!^[32`2lU<.Wel=P'6+Hb:b'TF7=WSVmr&A<Et?G!">,dDDBrL2d +q;"dK63LFYZEWWHLCIL-q+LA(TVk68^m4$V)\VB'%G76+4Xd`,(>/0WT?'9p=c0h +YH0D8;ld2piiDAIbA!@\(A'#?"7@F6-'E5kNr9+4dB`fAU?e@/'''e@4Ve>WTh-D +5PE@<A\1Q5HM]="t\\f(OE$WbG'k,;hGIQ2XXP<mGJmPY,kr5bol-a:&;q#hLBH] +lA5pf_*40ATK7'l)@-I!SK-?E;Wsd/B\c4gSE(e>)uN'G6%g[4I(Sc7e&CZ,n;LK +gj^03#"laJpqCCQ7OYihZP3&NNKd1G.g`C/kC%1liOW#APUGo3@G@eBKeA%gk:UO +h)BVjCkQr>=K#_</)26_BSR5@Y(Zr2s.l')oV&3i61l_i>O]2+*V1.S]>INQCDlP ++mB/pMf3)H>>D,AN"^f5;*a^Ma@>uFk_ZL^UVnP62Y,2pBcKe0;9KeLRQ#7iZO." +N?lpZ9H9,bj7TVp[:&+!<A>>q)tl(s-=A#>2DPm[c`O8Q@40LLA,Oekq%B;.C>4C +NcNs9UV;[e[@3Xo9(d89=t/O.j<&A;GQGZ)5q+tc7s<[Ou,Hb.?`ERdY62I4GM9i +[$o@;Q"Hg;T+E\3FE$9/Dn!S6,[/rS6BG$;QrLp%!%@)*o1*-^G(#S.,\!4bZLtb +<Ti'O$k?5@=mgs5Y!S&>/)kkAcdXcn7=VIpjp93n:_fg8.@2&gT*L_I=4V]'C60# +M=\-QTAfqA.?Y<YYIJotU(Q4%,Yl"QU<YrJhW<"MUj/"IVnb+-AJK=bf"[BXWZh" +qa7TQY6'Y<Rj6$D`mrWQY3lU'^ETZ,Bo1_HX%(fd)h6pHe$!DQ`qqfQ/MO@-4+Bk +F6pl[qKmN'2<q+6Ipn5BIuR_?<W1hq[@c\gT]NPCUQUrq?B5u^3+tE3_uPeqQ?L< +e/$(3j0!@g/LX4(["9\p5Qe;uLu!Io_!-&Z:Qed=8jW#R(J)6q>q47_/N8r5P(nO +.L4CaK6d1su\`=nTi*iR3^KLH>A.G#M@;DiF-K,8>8Qo(p5s[7TD'<H2iWTNojX= +,>-)Va\HdmifAE)?G@Co^+'VpLO8t\pO.KNGaP>,7+*/'9`Gi4W$b/N\eT=ITr(@ +J'Y[4+hu,g[6hm,C85B*0C;,S8a3b%\iJ#bF2c]h630i_lEu:rf:QL`A0D_.7=Bm +FY,_21q>u!W-7[gW)0f$IE)CY,ZEp"=WE0M+;M?mY^4qaJ^iS[/U-eIe3R>njZn& +7"2$VUIjUP/gXXp?$Ma@"_VtHg0"KCM4[WAikYAhFl[92cO^^<#Q!*oeppg3MIVp +?X*K$].J=G6*k33!V^R7<&ZPS,Rb:]Q.7Ot$(_\QIirLLM:*j"2EfPVFRB>7*jc5 +/eBp@*fFdZ#V6!rRlYI/OgU'.S.:o@_D.cD0[qN*os>f3^,938+oC*_sdELLI/I0 +-u:N!I8DJlO=+Z-72hS?LN29q`h\8PE:R%5(<Z[mW2<<Q7S3_sVf,U)?ZGKS) +Vui8LHi%ZNn,tLn/Qgr<o!SGEd!YE=>d(bmDHALPAR3S^!ec>#tg]onIcJ,%!dl` +]%l%#(_APEA]N/GW7TQ$`.qn=b#dBYXm7oHeoo5`i3pg0N04Me>H%`?W;-KA<`QF +GmpWZ!Y[grNkLoOB?>BS?P#sKQ?E\"9l\@jHgQ]8gEr@:L3n[5F2RDg'.0+I564l +noX/l&!o_J)"UGQoLLXM^`%GnLp?#rGhVe.L7d[NR?d"RW'2\f6[1'>VScBuT,X0 +.RaX-Tku^QtGu.0i]Q1-3SD:t';ZC@eGS8/s^EP;MY3Xts8f=q$!m!3E8aCOXhX/ +_hipL.[e+-*gF"nm*e$9<U25Tk[3=,rq,QY?Ydq`CMVI]$#oH76kBANl]Tc3gH!O +.Z:HP8uf<u/uVk`(WbF^-^NH]^Bg"*&RQ07\>F[qS=iu(<s]qGo==WOn+9@5e'd6 +P7.Y?f4jV.)r465SFZQA-^8Q7[kWU(Q"^/UF:Kmbu*Vj4"Wcs[JeGR#,`dM`tGPb +B52@GPQ^jP+T)h#Wm<L#YGE3>Y<:-Fa)FKoIh[_4h"LVR8k^6&?p&,?St.%L;;4` +o:)q#%X7S:'r-L\Y4Oe]W^n`f1md:F-nO#E8X`IIf*UnF5;[lODZ7fdT:KeYf)^T +=<GB<KfTr_rq?I3,NkZ0;$a_WgE[!4;<9elKa-'!;/KVWW)s4^UoB!F7N2>`;X`$ +npG'aXliDYR_,9-htDtU\l>!F(LZ;R3,@gDYD,ODg88V[d@>J'kjKQf=Vg.>l@e: +p(Pb]a!)e7aF.ZDFB;sFABpUDk>WOg-SeC:[<+b!ni.t>!CNh+<rr?Y5bLlQa%c- +[9Zdm*Z5jmd9,u7QAH]c#pN3gF*]0F:_(!HX1~> +%%EOF diff --git a/macros/latex/contrib/powerdot/source/powerdot.dtx b/macros/latex/contrib/powerdot/source/powerdot.dtx new file mode 100644 index 0000000000..4b3ef47246 --- /dev/null +++ b/macros/latex/contrib/powerdot/source/powerdot.dtx @@ -0,0 +1,8751 @@ +% \iffalse meta-comment +% +% powerdot class by Hendri Adriaens. +% +% Extract package files and create documentation: +% Find powerdot.dtx +% 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 +% +% If you also want to generate the source code documentation, +% remove \OnlyDescription from the preamble of powerdot.dtx +% prior to compiling the source. +% +% To generate style examples, do +% (after extracting powerdot-styleexample.tex): +% latex "\def\style{default}\input{powerdot-styleexample}" +% latex "\def\style{default}\input{powerdot-styleexample}" +% dvips -i powerdot-styleexample -o powerdot-styleexample-default.ps +% 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. +% +%% --------------------------------------------------------------------------------- +%% Copyright (C) 2005-2008 Hendri Adriaens, Chris Ellison; 2009-2017 Hendri Adriaens +%% --------------------------------------------------------------------------------- +%% +%% 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. +%% +% \fi +% +% \iffalse +%<*batchfile> +\begingroup +\input docstrip +\keepsilent +\preamble +\endpreamble +\askforoverwritefalse +\generate{ + \file{powerdot.cls}{\from{powerdot.dtx}{powerdot}} + \file{powerdot-default.sty}{\from{powerdot.dtx}{pddefault}} + \file{powerdot-tycja.sty}{\from{powerdot.dtx}{pdtycja}} + \file{powerdot-ikeda.sty}{\from{powerdot.dtx}{pdikeda}} + \file{powerdot-fyma.sty}{\from{powerdot.dtx}{pdfyma}} + \file{powerdot-simple.sty}{\from{powerdot.dtx}{pdsimple}} + \file{powerdot-ciment.sty}{\from{powerdot.dtx}{pdciment}} + \file{powerdot-elcolors.sty}{\from{powerdot.dtx}{pdelcolors}} + \file{powerdot-aggie.sty}{\from{powerdot.dtx}{pdaggie}} + \file{powerdot-husky.sty}{\from{powerdot.dtx}{pdhusky}} + \file{powerdot-sailor.sty}{\from{powerdot.dtx}{pdsailor}} + \file{powerdot-upen.sty}{\from{powerdot.dtx}{pdupen}} + \file{powerdot-bframe.sty}{\from{powerdot.dtx}{pdbframe}} + \file{powerdot-horatio.sty}{\from{powerdot.dtx}{pdhoratio}} + \file{powerdot-paintings.sty}{\from{powerdot.dtx}{pdpaintings}} + \file{powerdot-klope.sty}{\from{powerdot.dtx}{pdklope}} + \file{powerdot-jefka.sty}{\from{powerdot.dtx}{pdjefka}} + \file{powerdot-pazik.sty}{\from{powerdot.dtx}{pdpazik}} + \file{powerdot-styletest.tex}{\from{powerdot.dtx}{pdstyletest}} + \file{powerdot-styleexample.tex}{\from{powerdot.dtx}{pdstyleexample}} + \file{powerdot-example1.tex}{\from{powerdot.dtx}{pdexample1}} + \file{powerdot-example2.tex}{\from{powerdot.dtx}{pdexample2}} + \file{powerdot-example3.tex}{\from{powerdot.dtx}{pdexample3}} + \file{pdpream.ble}{\from{powerdot.dtx}{preamble}} + \file{powerdot.bib}{\from{powerdot.dtx}{bib}} +} +\endgroup +%</batchfile> +%<*driver> +\documentclass[a4paper]{ltxdoc} +\input{pdpream.ble} +\OnlyDescription +%\EnableCrossrefs +\def\fileversion{v1.5c} +\def\filedate{2017/08/28} +\begin{document} +\DocInput{powerdot.dtx} +\let\Section\section\def\section*#1{\Section*{#1}\addcontentsline{toc}{section}{#1}} +\bibliographystyle{plain} +\bibliography{powerdot} +\section*{Acknowledgements} +The author is grateful to Christopher Ellison for help with setting up the package, styles +and examples, Mael Hill\'ereau for contributing the \LyX\ layout file and +description, and Herbert Vo\ss\ for contributions and maintaining the package +from 2006 to 2012. Further, I would like to thank all style contributors +(see section~\ref{sec:styles}). Moreover, I 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, David Carlisle, Pavel \v C\'i\v zek, Darren Dale, Hans Marius +Eikseth, Alexander Grahn, Morten H\o gholm, Andr\'as Horv\'ath, Laurent Jacques, Akira +Kakuto, Uwe Kern, Kyanh, Theo Stewart, and Don P. Story. +\end{minipage} + +\PrintChangesX\PrintIndexX +\end{document} +%</driver> +% \fi +% +% \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}{2005/12/10}{Added \texttt{clockformat} and \texttt{clockrefresh} keys to \texttt{global} family} +% \changes{v1.4}{2005/12/10}{\texttt{blackslide} and \texttt{emptyslide} no longer have logos or randomdots} +% \changes{v1.5}{2014/01/01}{Option \texttt{blackslide} transformed to \texttt{pauseslide}} +% \changes{v1.5}{2014/01/01}{Restored package and added changes from CTAN} +% \changes{v1.5}{2014/01/01}{Modifications to work with the latest version of pstricks} +% \changes{v1.5a}{2015/11/29}{Added requirement for \texttt{pst-ovl} to get overlays working after \texttt{pstricks} moved the code there} +% \changes{v1.5b}{2017/07/22}{Added requirement for latest \texttt{graphicx} to work with latest \texttt{dvips}} +% \changes{v1.5b}{2017/07/22}{Updated documentation with respect to handout options} +% \changes{v1.5c}{2017/08/28}{Replaced clock code by the version by Alexander Grahn to achieve compatibility with the \pf{animate} package.} +% +% \CheckSum{3375} +% +% \CharacterTable +% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z +% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z +% Digits \0\1\2\3\4\5\6\7\8\9 +% Exclamation \! Double quote \" Hash (number) \# +% Dollar \$ Percent \% Ampersand \& +% Acute accent \' Left paren \( Right paren \) +% Asterisk \* Plus \+ Comma \, +% Minus \- Point \. Solidus \/ +% Colon \: Semicolon \; Less than \< +% Equals \= Greater than \> Question mark \? +% Commercial at \@ Left bracket \[ Backslash \\ +% Right bracket \] Circumflex \^ Underscore \_ +% Grave accent \` Left brace \{ Vertical bar \| +% Right brace \} Tilde \~} +% +%\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.dtx} for +%information on installing \pf{powerdot} into your \LaTeX\ +%distribution and for the license of this class.}} +%\author{Hendri Adriaens} +%\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\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\option{nohandoutframes}\\ +%By default, the handout frames the slides. This option will remove +%the frames around slides on handouts. +%\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}\\ +%For presentation on a smartboard (widescreen). +%\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 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. Optionally, a color can be supplied, for instance, +%|pauseslide=white| to have a pause on a white screen. +%\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{August 21, 2005} +% \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=\roman*a)] +% \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.60 & 2013/12/12 & required\\ +%\pf{xcolor} \cite{xcolor} & 1.11 & 2004/05/09 & required\\ +%\pf{enumitem} \cite{enumitem} & 3.5.2 & 2011/09/28 & required\\ +%\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.1a & 2017/06/01 & required\\ +%\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.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 |\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. +% +% \subsection{The code} +% \begin{macrocode} +%<*powerdot> +% \end{macrocode} +% Identification. +% \begin{macrocode} +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesClass{powerdot} + [2017/08/28 v1.5c powerdot presentation class (HA)] +% \end{macrocode} +% Initializations. +% \begin{macrocode} +\newif\ifpd@overlay +\newif\ifpd@section +\newif\ifpd@ifsetup +\newif\ifpd@display +\newif\ifpd@pauseslide +\newcounter{note} +\newcounter{slide} +\newcounter{pd@pause} +\newcounter{pd@section} +\newcounter{pd@overlay} +\newcounter{pd@trivlist} +\newcounter{pd@onslidedepth} +\newbox\pd@tba +\newbox\pd@tbb +\newtoks\pd@body +\newwrite\pd@bmout +\newwrite\pd@tocout +\newlength\pd@frsep +\newlength\pd@colsep +\newlength\slidewidth +\newlength\slideheight +\let\pd@cursetup\@empty +% \end{macrocode} +% Setup options section. +% \begin{macrocode} +\RequirePackage{xkeyval}[2005/07/10] +% \end{macrocode} +% Orientation. +% \begin{macrocode} +\define@choicekey*[pd]{class}{orient}[\pd@tempa\pd@orient]{% + landscape,portrait}{\XKV@addtolist@x\pd@cursetup\pd@tempa} +% \end{macrocode} +% Paper type. +% \begin{macrocode} +\define@choicekey*[pd]{class}{paper}[\pd@tempa\pd@paper]{% + screen,a4paper,letterpaper,smartboard}{\XKV@addtolist@x\pd@cursetup\pd@tempa} +% \end{macrocode} +% Display type. +% \begin{macrocode} +\define@choicekey*[pd]{class}{display}[\pd@tempa\pd@display]{% + slides,notes,slidesnotes}{\XKV@addtolist@x\pd@cursetup\pd@tempa} +% \end{macrocode} +% Mode. +% \begin{macrocode} +\define@choicekey*[pd]{class}{mode}[\pd@tempa\pd@mode]{% + present,print,handout}{\XKV@addtolist@x\pd@cursetup\pd@tempa} +% \end{macrocode} +% Pause slide. +% \begin{macrocode} +\define@key[pd]{class}{pauseslide}[black]{% + \pd@pauseslidetrue + \def\pd@pauseslidecolor{#1}% +} +% \end{macrocode} +% Some boolean keys. +% \begin{macrocode} +\define@boolkeys[pd]{class}[pd@@]{% + nopsheader,hlentries,hlsections,nohandoutpagebreaks,nohandoutframes% +}[true] +% \end{macrocode} +% Clock definitions. Contributed by Alexander Grahn. +% \begin{macrocode} +\define@boolkey[pd]{class}[pd@@]{clock}[true]{% + \ifpd@@clock + \newcount\pd@clockcnt + \def\pd@startclock##1##2{% + function pdshowtime(){% + var pdtime=new Date();% + this.getField("pdclock.\the\pd@clockcnt").value=util.printd("##1",pdtime);% + this.dirty=false;% + }% + pdshowtime();% + var pdclock_\the\pd@clockcnt=app.setInterval("pdshowtime()",##2);% + }% + \fi +} +% \end{macrocode} +% \end{macro} +% The size and style to be used. +% \begin{macrocode} +\define@cmdkey[pd]{class}[pd@@]{size}{% + \def\pd@tempa##1pt{##1}% + \edef\pd@@size{\expandafter\pd@tempa\pd@@size}% +} +\define@cmdkey[pd]{class}[pd@@]{style}{} +% \end{macrocode} +% Some usual article options. +% \begin{macrocode} +\define@key[pd]{class}{fleqn}[]{\input{fleqn.clo}} +\define@key[pd]{class}{leqno}[]{\input{leqno.clo}} +% \end{macrocode} +% Some presets, used in case the user doesn't supply enough input. +% \begin{macrocode} +\presetkeys[pd]{class}{% + size=11pt,style=default,orient=landscape,paper=screen,% + display=slides,hlentries=true,mode=present}{} +% \end{macrocode} +% Process all options. +% \begin{macrocode} +\ProcessOptionsX[pd]<class>\relax +% \end{macrocode} +% \begin{macro}{\pd@warn} +% \begin{macro}{\pd@error} +% \marg{msg}\\ +% Warnings and errors. +% \begin{macrocode} +\def\pd@warn{\ClassWarning{powerdot}} +\def\pd@error#1{\ClassError{powerdot}{#1}\@ehd} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@noportrait} +% The standard error for styles that do not support portrait orientation. +% \begin{macrocode} +\def\pd@noportrait{% + \ifnum\pd@orient=\@ne\ifnum\pd@mode=2\else\pd@error{% + `\pd@@style' style does not support portrait orientation + }\fi\fi +} +% \end{macrocode} +% \end{macro} +% Check paper for print and handout mode. No |screen| allowed. +% \begin{macrocode} +\ifnum\pd@mode>0 + \ifnum\pd@paper=\z@ +% \end{macrocode} +% Remove erroneous input. +% \begin{macrocode} + \@expandtwoargs\@removeelement{screen}\pd@cursetup\pd@cursetup +% \end{macrocode} +% Switch to a4paper. +% \begin{macrocode} + \XKV@addtolist@x\pd@cursetup{a4paper} + \def\pd@paper{1} + \pd@warn{you can't use `screen' format for this mode; + \MessageBreak I've switched to a4paper + } + \fi +\fi +% \end{macrocode} +% Check orientation for handout mode. No |landscape| allowed. +% \begin{macrocode} +\ifnum\pd@mode=2 + \newbox\pd@textbox + \ifnum\pd@orient=\z@ +% \end{macrocode} +% Remove erroneous input. +% \begin{macrocode} + \@expandtwoargs\@removeelement{landscape}\pd@cursetup\pd@cursetup +% \end{macrocode} +% Switch to portrait. +% \begin{macrocode} + \XKV@addtolist@x\pd@cursetup{portrait} + \def\pd@orient{1} + \pd@warn{you can't use `landscape' for handout mode; + \MessageBreak I've switched to portrait + } + \fi +\fi +% \end{macrocode} +% Pass paper size and orientation to \pf{geometry} package. +% \begin{macrocode} +\ifcase\pd@paper + \def\pd@tempa{papersize={8.25in,11in}} +\or + \def\pd@tempa{papersize={210mm,297mm}} +\or + \def\pd@tempa{papersize={8.5in,11in}} +\or + \def\pd@tempa{papersize={900pt,1440pt}} +\fi +\ifnum\pd@orient=\z@ + \edef\pd@tempa{\pd@tempa,landscape} +\else + \edef\pd@tempa{\pd@tempa,portrait} +\fi +\PassOptionsToPackage\pd@tempa{geometry} +% \end{macrocode} +% Load class and packages. +% \begin{macrocode} +\LoadClass{article} +% \end{macrocode} +% Load font size definitions. Take into account that article has +% loaded some already. This trick actually also allows bigger sizes like +% 14pt or 20pt. +% \begin{macrocode} +\let\pd@tempa\newcommand +\let\newcommand\def +\input{size\pd@@size.clo} +\let\newcommand\pd@tempa +% \end{macrocode} +% Remaining packages. +% \begin{macrocode} +\ifnum\pd@mode=2 +% \end{macrocode} +% Handout mode. +% \begin{macrocode} + \RequirePackage[margin=2cm,includefoot]{geometry} +\else +% \end{macrocode} +% Magnify DVI by factor 2, no margins at all. +% The offset is to neutralize the |\vskip| inserted by TeX to +% go from the top of the letters to the baseline and position chars +% there. Here we don't want any offset and start at the bottom left +% corner of the paper. +% \begin{macrocode} + \RequirePackage[mag=2000,margin=0pt,voffset=-\pd@@size pt]{geometry} + \geometry{top=.5\paperheight} +\fi +% \end{macrocode} +% Xe\TeX\ support. \pf{hyperref} should not set ps paper size as it doesn't do +% landscape format we don't want it to redefine internals either. +% \begin{macrocode} +\RequirePackage{ifxetex} +\ifxetex + \RequirePackage[setpagesize=false,pdfstartview=Fit, + pageanchor=false,bookmarks=false]{hyperref}[2009/12/14] + \def\pd@pdftrans{% + \@expandtwoargs\in@{,\pd@@trans,}{% + ,Split,Blinds,Box,Wipe,Dissolve,Glitter,% + Replace,Fly,Push,Cover,Uncover,Fade,}% + \ifin@\else + \pd@warn{Transition `\pd@@trans' might not be understood by + your ps to pdf converter}% + \fi + \special{pdf:put @thispage % + <</Trans<</S/\pd@@trans>>>>% + }% + } + \def\pd@pdbookmark#1#2#3#4{% + \pdfstringdef\pd@tempa{#4}% + \special{pdf:outline + \pd@pdb@@kmark{#1}% + <<% + /Title(\pd@tempa)% + /A<<% + /S/GoTo + /D(slide.#3)% + >>% + >>% + }% + } +\else + \RequirePackage[setpagesize=false,dvips,pdfstartview=Fit,% + pageanchor=false,bookmarks=false]{hyperref} +\fi +% \end{macrocode} +% For some strange reason, it doesn't work to put the below in the above. +% So we do it here as we don't want colored borders. +% \begin{macrocode} +\AtBeginDocument{\def\@pdfborder{0 0 0}} +% \end{macrocode} +% Necessary for inserting and creating graphics. Notice: \pf{pstricks} +% needs to be loaded after \pf{graphicx} for proper |\scalebox| definition. +% We make sure that \pf{xcolor} is loaded. +% \begin{macrocode} +\RequirePackage[nosetpagesize]{graphicx}[2017/06/01] +\RequirePackage{pstricks}[2013/12/12] +\RequirePackage{pst-ovl} +\RequirePackage{xcolor}[2004/05/09] +% \end{macrocode} +% For lists and verbatim reading of slide content. +% \changes{v1.5}{2014/01/01}{Fix for latest enumitem (20110915 hv)} +% \begin{macrocode} +\RequirePackage{enumitem}[2007/03/12] +\let\orig@enumerate\enumerate +\def\enumerate{\@ifnextchar[\enumerate@i{\enumerate@i[]}} +\def\enumerate@i[#1]{\@ifnextchar[{\enumerate@ii[#1]}{\enumerate@ii[#1][]}} +\def\enumerate@ii[#1][#2]{% + \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi + \orig@enumerate[#2]% +} +\let\orig@itemize\itemize +\def\itemize{\@ifnextchar[\itemize@i{\itemize@i[]}} +\def\itemize@i[#1]{\@ifnextchar[{\itemize@ii[#1]}{\itemize@ii[#1][]}} +\def\itemize@ii[#1][#2]{% + \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi + \orig@itemize[#2]% +} +\let\orig@description\description +\def\description{\@ifnextchar[\description@i{\description@i[]}} +\def\description@i[#1]{\@ifnextchar[{\description@ii[#1]}{\description@ii[#1][]}} +\def\description@ii[#1][#2]{% + \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi + \orig@description[#2]% +} +\RequirePackage{verbatim} +% \end{macrocode} +% This is needed for the implementation of the clock. +% \begin{macrocode} +\ifpd@@clock + \RequirePackage{pdfbase} + \ExplSyntaxOn + \let\pd@PdfAnnot\pbs_pdfannot:nnnn + \let\pd@PdfLastAnn\pbs_pdflastann: + \let\pd@AppendToFields\pbs_appendtofields:n + \ExplSyntaxOff +\fi +% \end{macrocode} +% Here are some basic properties of the slides. +% \begin{macrocode} +\ifnum\pd@mode<2 + \pagestyle{empty} +\fi +% \end{macrocode} +% \changes{v1.1}{2005/09/19}{Avoid making black slide in print mode} +% No black slide in handout or print mode. +% \begin{macrocode} +\ifnum\pd@mode>0 + \pd@pauseslidefalse +\fi +\setlength\parindent{0pt} +% \end{macrocode} +% Slide dimensions. +% \begin{macrocode} +\setlength\slidewidth{.5\paperwidth} +\setlength\slideheight{.5\paperheight} +% \end{macrocode} +% Write landscape correction to the ps to avoid ps to be rotated by +% 180 degrees. +% \begin{macrocode} +\ifnum\pd@orient=\z@ + \special{!/landplus90 true store} +\fi +% \end{macrocode} +% Write paper dimensions. +% The specials solve a config problem with ghostscript not picking up info from +% ps, due to the fact that some paper formats defined in config.ps do +% not write explicit ps commands. For instance, when dvips finds a4 paper dimensions, +% it writes |%%Papersize: A4|, but no ps command. So ghostscript doesn't +% find a paper size and takes it's default which could be |letter| +% in fact. +% Notice further that screen size is based on letter, but will be cropped in pdf. +% \begin{macrocode} +\ifpd@@nopsheader\else + \special{papersize=\the\paperwidth,\the\paperheight} + \ifcase\pd@paper + \special{!% + \@percentchar\@percentchar BeginPaperSize: letter + ^^Jletter^^J\@percentchar\@percentchar EndPaperSize + } + \or + \special{!% + \@percentchar\@percentchar BeginPaperSize: a4 + ^^Ja4^^J\@percentchar\@percentchar EndPaperSize + } + \or + \special{!% + \@percentchar\@percentchar BeginPaperSize: letter + ^^Jletter^^J\@percentchar\@percentchar EndPaperSize + } + \or\relax + \fi +\fi +% \end{macrocode} +% Crop pdf for optimal screen ratio. This does not work in DVI or PS. +% Note, the ps rotation takes care of orientation irrespective of +% crop dimensions. +% \begin{macrocode} +\ifcase\pd@paper\def\@pdfpagescrop{0 0 594 842}\fi +% \end{macrocode} +% \pf{hyperref} writes this to the pdf. +% \begin{macrocode} +\def\@pdfcreator{LaTeX with powerdot class} +% \end{macrocode} +% Save the number of the last slide at the end of the document. +% \begin{macrocode} +\AtEndDocument{% + \immediate\write\@auxout{\string\newlabel{lastslide}% + {{}{\the\c@slide}{\relax}{}{}}}% +} +% \end{macrocode} +% Set up options. |global| is for global only keys (so to be used only +% in the preamble. |slide| is only for slides. |glslide| keys can be +% used in both locations. +% Create an interface to change the typesetting of the page numbers. +% This follows the usual \LaTeX\ idea to change typesetting of numbers +% via |\thepage| etcetera. +% \begin{macrocode} +\define@key[pd]{global}{theslide}{\def\theslide{#1}} +\define@key[pd]{global}{thenote}{\def\thenote{#1}} +% \end{macrocode} +% Options to be used by \pf{enumitem}. These store input incrementally +% in macros used by \pf{enumitem} to store options. By allowing options +% to be added, both the style and the user can insert options. +% \begin{macrocode} +\define@key[pd]{global}{enumerate}{% + \ifx\enit@@enum\@undefined + \def\enit@@enum{#1}% + \else + \XKV@addtolist@n\enit@@enum{#1}% + \fi +} +\define@key[pd]{global}{itemize}{% + \ifx\enit@@item\@undefined + \def\enit@@item{#1}% + \else + \XKV@addtolist@n\enit@@item{#1}% + \fi +} +\define@key[pd]{global}{list}{% + \ifx\enit@@list\@undefined + \def\enit@@list{#1}% + \else + \XKV@addtolist@n\enit@@list{#1}% + \fi +} +% \end{macrocode} +% Counters that need overlay protection. +% \begin{macrocode} +\define@key[pd]{global}{counters}{% + \XKV@addtolist@n\pd@@counters{#1}% +} +% \end{macrocode} +% Initialize the counters list. +% \begin{macrocode} +\def\pd@@counters{table,figure,equation,footnote,mpfootnote} +% \end{macrocode} +% Clock format and refresh rate. +% \begin{macrocode} +\define@cmdkeys[pd]{global}[pd@@]{clockformat,clockrefresh} +% \end{macrocode} +% Footers and transition effect. +% \begin{macrocode} +\define@cmdkeys[pd]{glslide}[pd@@]{lf,cf,rf,trans} +% \end{macrocode} +% Palettes. +% \begin{macrocode} +\define@cmdkey[pd]{glslide}[pd@@]{palette}{% +% \end{macrocode} +% Check whether the chosen palette exists. If yes, execute it, set +% |\default@color| (for equation numbers etcetera) and copy the +% current color for |\twocolumn|. +% \begin{macrocode} + \ifnum\pd@mode<2 + \XKV@ifundefined{pd@pe@\pd@@palette @colors}{% + \pd@error{palette `\pd@@palette' not defined}% + }{% + \@nameuse{pd@pe@\pd@@palette @colors}% + \color{pdcolor1}% + \let\default@color\current@color + \let\pd@color\XC@current@color + }% + \pd@countcolors + \fi +} +% \end{macrocode} +% Slide processing method. +% \begin{macrocode} +\define@choicekey*[pd]{glslide}{method}[\pd@tempa\pd@method]{% + normal,file,direct}{% + \ifnum\pd@method=2 + \ifx\pd@textbox\@undefined\newbox\pd@textbox\fi + \fi +} +% \end{macrocode} +% Random dots. Load |random.tex| if necessary. +% \begin{macrocode} +\define@boolkey[pd]{glslide}[pd@@]{randomdots}[true]{% + \ifx\randomi\@undefined + \InputIfFileExists{random}{\newcount\pd@tempcnta}{% + \global\pd@@randomdotsfalse + \pd@warn{random.tex not found, random dots canceled}% + }% + \fi + \ifnum\pd@mode=\tw@\global\pd@@randomdotsfalse\fi +} +% \end{macrocode} +% Keys for random dots and the logo. +% \begin{macrocode} +\define@cmdkeys[pd]{glslide}[pd@@]{% + dminsize,dmaxsize,dbright,dmindots,dmaxdots,dminwidth,dmaxwidth,% + dminheight,dmaxheight,dprop,logohook,logopos% +} +\define@key[pd]{glslide}{logocmd}{% + \ifx\pd@logobox\@undefined\newbox\pd@logobox\fi + \sbox\pd@logobox{#1}% +} +% \end{macrocode} +% Initialize some of the keys that we just defined. +% \begin{macrocode} +\setkeys[pd]{glslide,global}{% + lf=,cf=,rf=,theslide=\arabic{slide} / \pageref*{lastslide},% + thenote=note \arabic{note} of slide \arabic{slide},% + trans=Replace,dminsize=5pt,dmaxsize=40pt,dminwidth=0pt,% + dmaxwidth=\slidewidth,dminheight=0pt,dbright=60,% + dmaxheight=\slideheight,dmindots=5,dmaxdots=40,dprop=,% + logohook=tl,logopos=,logocmd=,method=normal,% + clockformat=HH:MM:ss,clockrefresh=1000% +% +} +% \end{macrocode} +% \begin{macro}{\pdsetup} +% The interface for users. Disable global keys |\AtBeginDocument|. +% \begin{macrocode} +\def\pdsetup{\setkeys[pd]{global,glslide}} +\AtBeginDocument{% + \disable@keys[pd]{global}{% + theslide,thenote,enumerate,itemize,list,counters% + }% +} +% \end{macrocode} +% \end{macro} +% Local keys: |toc| and |bm|. +% \begin{macrocode} +\define@cmdkeys[pd]{slide}[pd@@]{toc,bm} +% \end{macrocode} +% \begin{macro}{\pdifsetup} +% \marg{desired}\marg{yes}\marg{no}\\ +% Execute \meta{yes} if the \meta{desired} setup matches with the +% current (user) setup. Execute \meta{no} else. We first check whether +% information in \meta{desired} is complete. If not, we amend it. +% \begin{macrocode} +\def\pdifsetup#1{% + \edef\pd@tempb{#1}% + \pd@pdifsetup\pd@tempb{landscape,portrait}% + \pd@pdifsetup\pd@tempb{screen,a4paper,letterpaper,smartboard}% + \pd@pdifsetup\pd@tempb{slides,notes,slidesnotes}% + \pd@pdifsetup\pd@tempb{present,print,handout}% + \pd@pdifs@tup\pd@tempb +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pdifsetup} +% \meta{desired}\marg{check}\\ +% This macro checks whether at least one element of \meta{check} +% occurs in the list in \meta{desired}. If not, the entire list in +% \meta{check} is added to \meta{desired}, meaning that later on, any +% setup for this type will satisfy the check. +% \begin{macrocode} +\def\pd@pdifsetup#1#2{% + \in@true + \@tempcnta\z@ + \XKV@for@n{#2}\pd@tempa{% + \@expandtwoargs\in@{,\pd@tempa,}{,#1,}% + \ifin@\advance\@tempcnta\@ne\fi + }% + \ifnum\@tempcnta=\z@\XKV@addtolist@x#1{#2}\fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pdifs@tup} +% \marg{desired}\marg{yes}\marg{no}\\ +% Checks whether the \meta{desired} setup matches the current setup. +% This macro is used internally when setting template keys. The idea +% is to first correct the input in the |ifsetup| key by amending +% specifications if they where not there. Then, when setting a +% template key, we just check whether all elements of the current +% setup appear in the \meta{desired} setup. +% \begin{macrocode} +\def\pd@pdifs@tup#1{% + \in@true + \XKV@whilist\pd@cursetup\pd@tempa\ifin@\fi{% + \@expandtwoargs\in@{,\pd@tempa,}{,#1,}% + }% + \ifin@\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi +} +% \end{macrocode} +% \end{macro} +% Set up the template system. +% First define all the options and presets available to create +% templates. All options save their argument to be used later. +% The |ifsetup| option controls for which the following options should +% be used. This: +% |textfont=\raggedright,| |ifsetup={a4paper,portrait},textfont=\small| +% makes the text font |\small|, but only for a4 portrait slides. +% \begin{macrocode} +\def\pd@tempa#1{% + \define@key[pd]{template}{#1}[]{% + \ifpd@ifsetup\@namedef{pd@@#1}{##1}\fi + }% +} +% \end{macrocode} +% Define all keys. +% \begin{macrocode} +\XKV@for@n{% + titlehook,titlepos,titlewidth,titlefont,% + texthook,textpos,textwidth,textfont,textheight,% + tochook,tocpos,tocwidth,tocfont,% + stochook,stocpos,stocwidth,stocfont,% + ntochook,ntocpos,ntocwidth,ntocfont,% + tocfrsep,tocsecsep,tocslidesep,% + tocsecm,toctcolor,tochlcolor,tochltcolor,% + tocsecindent,tocslideindent,% + lfhook,lfpos,lffont,lftemp,% + cfhook,cfpos,cffont,cftemp,% + rfhook,rfpos,rffont,rftemp,% + iacolor,% + clockhook,clockpos,clockwidth,clockheight,% + clockcharsize,clockalign,clockcolor% +}\pd@tempb{\expandafter\pd@tempa\expandafter{\pd@tempb}} +% \end{macrocode} +% The |ifsetup| key first amends missing input using |\pd@pdifsetup|. +% \begin{macrocode} +\define@cmdkey[pd]{template}[pd@@]{ifsetup}[]{% + \pd@pdifsetup\pd@@ifsetup{landscape,portrait}% + \pd@pdifsetup\pd@@ifsetup{screen,a4paper,letterpaper,smartboard}% + \pd@pdifsetup\pd@@ifsetup{slides,notes,slidesnotes}% + \pd@pdifsetup\pd@@ifsetup{present,print,handout}% + \pd@pdifs@tup\pd@@ifsetup\pd@ifsetuptrue\pd@ifsetupfalse +} +% \end{macrocode} +% Choice keys for orientation of toc. +% \begin{macrocode} +\define@choicekey*[pd]{template}{tocorient}[\pd@tempa\pd@tocorient]{% + v,h}{} +\define@choicekey*[pd]{template}{stocorient}[\pd@tempa\pd@stocorient]{% + v,h}{} +\define@choicekey*[pd]{template}{ntocorient}[\pd@tempa\pd@ntocorient]{% + v,h}{} +% \end{macrocode} +% \changes{v1.4}{2005/12/10}{Replaced \texttt{\~} by \cs{space} to avoid +% problems with Spanish babel} +% Presets so that templates do not need to specify every key. +% This also initializes some keys as to avoid errors in constructing +% the slide. +% \begin{macrocode} +\setkeys[pd]{template}{% + ifsetup,% + 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{macrocode} +% \begin{macro}{\pddefinepalettes} +% \marg{name}\marg{commands}\\ +% Save the text color number and start scanning for palettes. |\pd@nopalettes| +% contains the number of palettes that we have seen in total in the +% style or preamble. +% \begin{macrocode} +\def\pddefinepalettes#1#2{% + \ifx\pd@nopalettes\@undefined\@tempcnta\z@\else + \@tempcnta\pd@nopalettes + \fi + \pd@pddefinepalettes{#1}{#2}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pddefinepalettes} +% \marg{name}\marg{commands}\\ +% Save the current \meta{name} and \meta{commands} to numbered macros +% to be used later again. If we find another brace |{| after these +% arguments, repeat the process. +% \begin{macrocode} +\def\pd@pddefinepalettes#1#2{% + \advance\@tempcnta\@ne + \@namedef{pd@pe@\the\@tempcnta @name}{#1}% + \@namedef{pd@pe@#1@colors}{#2}% + \@ifnextchar\bgroup\pd@pddefinepalettes{% + \edef\pd@nopalettes{\the\@tempcnta}% + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@countcolors} +% Count the number of colors in the palette. We do this only once. +% \begin{macrocode} +\def\pd@countcolors{% + \@tempcnta\@ne + \@whilesw\ifx\pd@nocolors\@undefined\fi{% + \XKV@ifundefined{\string\color@pdcolor\the\@tempcnta}{% + \advance\@tempcnta\m@ne + \edef\pd@nocolors{\the\@tempcnta}% + }{\advance\@tempcnta\@ne}% + }% +} +% \end{macrocode} +% \end{macro} +% Define the startpage to be 2 when using a pauseslide. +% \begin{macrocode} +\ifpd@pauseslide\def\@pdfstartpage{2}\fi +% \end{macrocode} +% If the style or preamble does not define palettes, do nothing. If +% there are palettes, but the user didn't specify one, use the first. +% \begin{macrocode} +\AtBeginDocument{% + \ifx\pd@nopalettes\@undefined\else\ifx\pd@@palette\@undefined + \@nameuse{pd@pe@\@nameuse{pd@pe@1@name}@colors}% + \color{pdcolor1}% + \let\default@color\current@color + \let\pd@color\XC@current@color + \fi\fi +% \end{macrocode} +% Text color is black in handout mode. +% \begin{macrocode} + \ifnum\pd@mode=2 + \color{black}% + \def\pd@@iacolor{black}% + \let\default@color\current@color + \let\pd@color\XC@current@color + \else\pd@countcolors\fi +% \end{macrocode} +% Insert the pause slide. +% \begin{macrocode} + \ifpd@pauseslide + \begin{pauseslide}[toc=,bm=,trans=Replace,randomdots=false]{}% + \end{pauseslide}% + \fi +} +% \end{macrocode} +% \begin{macro}{\pddefinetemplate} +% Define a template. This stores options and the background to macros. +% \begin{macrocode} +\def\pddefinetemplate{\@testopt\pd@pddefinetemplate{}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pddefinetemplate} +% \changes{v1.2}{2005/10/09}{Changed to \cs{pd@namelet} for changed \pf{xcolor}} +% \changes{v1.3}{2005/12/06}{Made it possible to redefine basis templates and +% convey the changes to templates based on this basis} +% \oarg{basis}{name}{options}{background}\\ +% Store options and background and define the environment \meta{name}. +% \begin{macrocode} +\def\pd@pddefinetemplate[#1]#2#3#4{% +% \end{macrocode} +% The beginning of the environment just gets and sets its arguments +% and gets the body of the environment. +% \begin{macrocode} + \@namedef{#2}{\pd@getargsandbody{#2}}% +% \end{macrocode} +% The end of the environment. We process the body at least once, maybe +% more times, but that we will find out along the way. In case the +% body is not eaten in advance, this macro starts an |lrbox|. +% \begin{macrocode} + \@namedef{end#2}{\ifpd@display\pd@slide\fi}% +% \end{macrocode} +% If there is no basis, we just store the options and the background. +% \begin{macrocode} + \ifx\@empty#1\@empty + \@namedef{pd@template@#2@options}{\setkeys[pd]{template}{#3}}% + \@namedef{pd@template@#2@bg}{#4}% + \else +% \end{macrocode} +% Otherwise, add options and background to existing macros. +% \begin{macrocode} + \XKV@ifundefined{pd@template@#1@options}{% + \pd@error{template `#1' undefined}}{% + \def\pd@tempa{#1}\def\pd@tempb{#2}% +% \end{macrocode} +% If \meta{basis} and \meta{name} are the same, expand options and +% background to avoid infinite loops. +% \begin{macrocode} + \ifx\pd@tempa\pd@tempb + \pd@namelet{pd@template@#2@options}{pd@template@#1@options}% + \expandafter + \XKV@addtomacro@n\csname pd@template@#2@options\endcsname +% \end{macrocode} +% Make sure to reset the |ifsetup| key so that options are for all +% possible setups again. +% \begin{macrocode} + {\setkeys[pd]{template}{ifsetup,#3}}% + \pd@namelet{pd@template@#2@bg}{pd@template@#1@bg}\expandafter + \XKV@addtomacro@n\csname pd@template@#2@bg\endcsname{#4}% + \else +% \end{macrocode} +% Else, use existing macros options and background macros and add the +% current settings. +% \begin{macrocode} + \@namedef{pd@template@#2@bg}{\@nameuse{pd@template@#1@bg}#4}% + \@namedef{pd@template@#2@options}{% + \@nameuse{pd@template@#1@options}% + \setkeys[pd]{template}{ifsetup,#3}% + }% + \fi + }% + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@getargsandbody} +% \marg{name}\\ +% First eat the optional argument and the slide title. Then +% collect the body of the slide: we +% read every time up to |\end|, we check whether we find the |\end| that +% has the name of the current slide environment. If not, we add all +% content and continue the search. If |method| is 1, we use \pf{verbatim} +% to read the body and write it to a temporary file. If |method| is 2, we do not +% eat the body at all, but redefine the end of the current environment +% to finish the |lrbox| that we will start later on. +% \begin{macrocode} +\def\pd@getargsandbody#1{\@testopt{\pd@get@rgsandbody{#1}}{}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@get@rgsandbody} +% \marg{name}\oarg{options}\marg{title} +% \begin{macrocode} +\def\pd@get@rgsandbody#1[#2]#3{% + \pd@get@rgs@ndbody{#2}{#3}% +% \end{macrocode} +% Here are three possible methods to process slides. The first will +% eat the entire body while scanning for |\end{slide}|. This fixes +% catcodes. The second writes the body to file. This allows for +% verbatim and overlays, but may be slow. The third uses an |lrbox| to +% typeset material directly. That allows for verbatim, but no +% overlays. Notice that we always use the first method when the slide +% should not be displayed. +% \begin{macrocode} + \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@ +% \end{macrocode} +% Start eating the body. +% \begin{macrocode} + \pd@body{}% + \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}% + \else + \ifnum\pd@method=\@ne +% \end{macrocode} +% Start verbatim reading and writing to file. +% \begin{macrocode} + \def\pd@tempa{% + \immediate\openout\@inputcheck\jobname.vrb\relax + \def\verbatim@processline{% + \immediate\write\@inputcheck{\the\verbatim@line}% + }% + \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active + \verbatim@start + }% +% \end{macrocode} +% Redefine the end macro to stop verbatim reading and closing the file. +% Afterwards, execute the slide producing macro. +% \begin{macrocode} + \@namedef{end#1}{% + \endgroup\immediate\closeout\@inputcheck + \let\verbatim@processline\pd@orig@verbatim@processline + \pd@slide + }% + \else +% \end{macrocode} +% No overlays allowed with this method. +% \begin{macrocode} + \pd@deloverlays +% \end{macrocode} +% Create the slide. +% \begin{macrocode} + \let\pd@tempa\pd@sl@de +% \end{macrocode} +% Typeset content directly and store it in a box using |lrbox|. We +% redefine the end to finish this box and position it on the page. +% \begin{macrocode} + \@namedef{end#1}{% + \end{pd@minipage}\end{lrbox}% + \ifx\pd@@textpos\@empty\else + \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}% + \fi + }% + \fi + \fi + \pd@tempa +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@get@rgs@ndbody} +% \marg{options}\marg{title}\\ +% A common component in processing slides in \LaTeX\ or \LyX. +% \begin{macrocode} +\def\pd@get@rgs@ndbody#1#2{% +% \end{macrocode} +% Set user keys. +% \begin{macrocode} + \setkeys[pd]{glslide,slide}{#1}% +% \end{macrocode} +% Save title. +% \begin{macrocode} + \def\pd@t@tle{#2}% +% \end{macrocode} +% Perform some initial checks to see whether we actually need to process +% this slide or not. +% \begin{macrocode} + \pd@displaytrue + \def\pd@tempa{note}% + \ifcase\pd@display + \ifx\@currenvir\pd@tempa\relax\pd@displayfalse\fi + \or + \ifx\@currenvir\pd@tempa\else + \def\pd@tempa{titleslide}% + \ifx\@currenvir\pd@tempa\else + \pd@displayfalse + \stepcounter{slide}% + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@get@rgs@ndb@dy} +% \marg{name}\meta{text}|\end|\marg{envir}\\ +% If \meta{envir} is equal to \meta{name}, we found the end of the +% environment and stop parsing. Otherwise, we add material to the token +% and continue. +% \begin{macrocode} +\long\def\pd@get@rgs@ndb@dy#1#2\end#3{% + \def\pd@tempa{#1}% + \def\pd@tempb{#3}% + \ifx\pd@tempa\pd@tempb + \pd@body\expandafter{\the\pd@body#2}% + \def\pd@tempa{\end{#1}}% + \else + \pd@body\expandafter{\the\pd@body#2\end{#3}}% + \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}% + \fi + \pd@tempa +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@slide} +% This macro processes the slide, possibly many times, depending on +% what we encounter on the first run. +% \begin{macrocode} +\def\pd@slide{% + \pd@overlayfalse + \def\pd@nooverlays{1}% + \setcounter{pd@overlay}\@ne + \let\pd@labels\@empty +% \end{macrocode} +% Save counter values so that these can be restored on overlays. +% \begin{macrocode} + \XKV@for@o\pd@@counters\pd@tempa{% + \expandafter\xdef\csname pd@counter@\pd@tempa\endcsname{% + \expandafter\the\csname c@\pd@tempa\endcsname + }% + }% + \pd@sl@de + \@whilenum\c@pd@overlay<\pd@nooverlays\do{% + \pd@overlaytrue +% \end{macrocode} +% Restore counters. +% \begin{macrocode} + \XKV@for@o\pd@@counters\pd@tempa{% + \setcounter\pd@tempa{\csname pd@counter@\pd@tempa\endcsname}% + }% + \stepcounter{pd@overlay}% +% \end{macrocode} +% Re-initialize the info for random dots. +% \begin{macrocode} + \ifpd@@randomdots + \let\pd@trandim\pd@randim + \let\pd@tranpos\pd@ranpos + \let\pd@trancol\pd@rancol + \fi + \pd@sl@de + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@sl@de} +% \changes{v1.1}{2005/09/19}{Added missing \cs{pd@currenttype} initialization} +% \changes{v1.2}{2005/10/09}{Added \cs{@currentlabel} definition} +% \changes{v1.3}{2005/12/06}{Template specific \texttt{textfont} properly sets \cs{default@color}} +% \changes{v1.4}{2005/12/10}{Added exceptions to inhibit logo/randomdots on blackslide/emptyslide.} +% This is the main slide producing macro. +% \begin{macrocode} +\def\pd@sl@de{% + \stepcounter{slide}\newpage + \ifpd@overlay\addtocounter{slide}\m@ne\fi + \edef\@currentlabel{\the\c@slide}% +% \end{macrocode} +% Initialize the overlays and switch to overlay 0. The material on this +% overlay will be visible. +% \begin{macrocode} + \pst@Verb{tx@ovlDict begin InitOL /TheOL (0) def end}% + \pst@Verb{tx@ovlDict begin (0) BOL end}% +% \end{macrocode} +% Load all template settings. +% \begin{macrocode} + \@nameuse{pd@template@\@currenvir @options}% +% \end{macrocode} +% Insert background. Execute in a group to avoid local settings getting out. +% \begin{macrocode} + \@nameuse{pd@template@\@currenvir @bg}% + \ifpd@@randomdots + \ifpd@overlay\else + \ifnum\pd@nocolors>\z@ + \let\pd@randim\@empty + \let\pd@ranpos\@empty + \let\pd@rancol\@empty + \setrannum\pd@tempcnta\pd@@dmindots\pd@@dmaxdots + \edef\pd@nodots{\the\pd@tempcnta}% + \pd@tempcnta\z@ + \@whilesw\ifnum\pd@tempcnta<\pd@nodots\fi{% + \advance\pd@tempcnta\@ne + \setrandim\@tempdima\pd@@dminsize\pd@@dmaxsize + \XKV@addtolist@x\pd@randim{\the\@tempdima}% + \setrandim\@tempdima\pd@@dminwidth\pd@@dmaxwidth + \setrandim\@tempdimb\pd@@dminheight\pd@@dmaxheight + \XKV@addtolist@x\pd@ranpos{\the\@tempdima,\the\@tempdimb}% + \setrannum\@tempcntb1\pd@nocolors + \XKV@addtolist@x\pd@rancol{\the\@tempcntb}% + }% + \let\pd@trandim\pd@randim + \let\pd@tranpos\pd@ranpos + \let\pd@trancol\pd@rancol + \else + \let\pd@nodots\z@ + \fi + \fi + \@tempcnta\z@ + \@whilesw\ifnum\@tempcnta<\pd@nodots\fi{% + \advance\@tempcnta\@ne + \pd@pop\pd@trandim\pd@tempa\pd@pop\pd@tranpos\pd@tempb + \pd@pop\pd@tranpos\pd@tempc\pd@pop\pd@trancol\pd@tempd + \ifnum\pd@@dbright<\z@ + \@tempcntb\pd@@dbright + \advance\@tempcntb100 + \edef\pd@tempd{\pd@tempd!\the\@tempcntb!black}% + \else + \@tempcntb-\pd@@dbright + \advance\@tempcntb100 + \edef\pd@tempd{\pd@tempd!\the\@tempcntb}% + \fi + {\ifx\pd@@dprop\@empty\else + \expandafter\psset\expandafter{\pd@@dprop}% + \fi + \psdot[dotsize=\pd@tempa,linecolor=pdcolor\pd@tempd]% + (\pd@tempb,\pd@tempc)}% + }% + \fi +% \end{macrocode} +% Insert the logo. +% \begin{macrocode} + \def\pd@tempa{pauseslide}% + \def\pd@tempb{emptyslide}% + \ifx\pd@@logopos\@empty\else + \ifx\pd@logobox\@undefined\else + \ifx\@currenvir\pd@tempa\else + \ifx\@currenvir\pd@tempb\else + \rput[\pd@@logohook](\pd@@logopos){\usebox\pd@logobox}% + \fi + \fi + \fi + \fi +% \end{macrocode} +% Clock coding. Contributed by Alexander Grahn. +% \begin{macrocode} + \ifpd@@clock +% \end{macrocode} +% Extract the color specification, convert it to |rgb| and store it +% to be used for the clock. This uses some \pf{xcolor} macros. +% \begin{macrocode} + \def\pd@tempa##1,##2,##3\@nil{##1 ##2 ##3}% + \extractcolorspec\pd@@clockcolor\pd@tempb + \expandafter\convertcolorspec\pd@tempb{rgb}\pd@tempb + \edef\pd@tempa{\expandafter\pd@tempa\pd@tempb\@nil}% +% \end{macrocode} +% Insert the clock. +% \changes{v1.4}{2005/12/10}{Added arguments for \texttt{clockformat} and \texttt{clockrefresh} values.} +% \begin{macrocode} + \ifx\pd@@clockpos\@empty\else + \@tempdima\pd@@clockcharsize + \rput[\pd@@clockhook](\pd@@clockpos){% + \makebox[\pd@@clockwidth][l]{\rule{0pt}{\pd@@clockheight}% + \pd@PdfAnnot{\pd@@clockwidth}{\pd@@clockheight}{0pt}{% + /Subtype/Widget/FT/Tx/T (pdclock.\the\pd@clockcnt) /Ff 1 + /DA (/Helv \strip@pt\@tempdima\space Tf \pd@tempa\space rg) + /MK<</R \ifnum\pd@orient=\z@ 90\else 0\fi /BG []/BC []>> + /Q \pd@@clockalign\space + /AA << + /PO << /S/JavaScript/JS(\pd@startclock\pd@@clockformat\pd@@clockrefresh) >> + /PC << /S/JavaScript/JS(app.clearInterval(pdclock_\the\pd@clockcnt);) >> + >> + }% + }% + \pd@AppendToFields{\pd@PdfLastAnn}% + \global\advance\pd@clockcnt\@ne + }% + \fi + \fi +% \end{macrocode} +% Write transition effect to PDF. +% \begin{macrocode} + \pd@pdftrans + \ifpd@overlay\else +% \end{macrocode} +% When not an overlay or note, make a bookmark and toc entry. +% \begin{macrocode} + \def\pd@tempa{note}% + \ifx\@currenvir\pd@tempa\else + \pd@maketocbm0% +% \end{macrocode} +% Make a target on this page so that we can make links to this page. +% We don't use pdf page links as that won't give good link in handout +% mode with 2 slides per page. +% \begin{macrocode} + \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend + \fi + \fi +% \end{macrocode} +% Initialize numbers and macros for relative stepping and pausing. +% |\pd@currentstate| remembers the state when doing overlays. +% \begin{macrocode} + \def\pd@reloverlay{1}% + \let\pd@closeitem\relax + \def\pd@currentstate{0}% + \let\pd@currenttype\relax + \setcounter{pd@pause}\@ne + \let\pd@revert\@firstofone + \setcounter{pd@onslidedepth}\z@ +% \end{macrocode} +% Position the title. +% \begin{macrocode} + \ifx\pd@@titlepos\@empty\else + \def\pd@tempa{% + \begin{minipage}\pd@@titlewidth + \pd@@titlefont\strut + \ifpd@section + \expandafter\pd@sectiontitle\expandafter{\pd@t@tle}% + \else + \expandafter\pd@slidetitle\expandafter{\pd@t@tle}% + \fi + \end{minipage}% + }% + \rput[\pd@@titlehook](\pd@@titlepos){% + \ifpd@pauseslide + \hyperlink{pauseslide}{\pd@tempa}% + \else + \pd@tempa + \fi + }% + \fi +% \end{macrocode} +% Position the table of contents, possibly split. No |minipage| when +% making a horizontal toc. +% \begin{macrocode} + \ifx\pd@@tocpos\@empty\else + \rput[\pd@@tochook](\pd@@tocpos){% + \ifnum\pd@tocorient=\z@\begin{minipage}\pd@@tocwidth\fi + \let\pd@usedtocfont\pd@@tocfont + \let\pd@usedtocorient\pd@tocorient + \pd@puttoc0% + \ifnum\pd@usedtocorient=\z@\end{minipage}\fi + }% + \fi + \ifx\pd@@stocpos\@empty\else + \rput[\pd@@stochook](\pd@@stocpos){% + \ifnum\pd@stocorient=\z@\begin{minipage}\pd@@tocwidth\fi + \let\pd@usedtocfont\pd@@stocfont + \let\pd@usedtocorient\pd@stocorient + \pd@puttoc1% + \ifnum\pd@usedtocorient=\z@\end{minipage}\fi + }% + \fi + \ifx\pd@@ntocpos\@empty\else + \rput[\pd@@ntochook](\pd@@ntocpos){% + \ifnum\pd@ntocorient=\z@\begin{minipage}\pd@@tocwidth\fi + \let\pd@usedtocfont\pd@@ntocfont + \let\pd@usedtocorient\pd@ntocorient + \pd@puttoc2% + \ifnum\pd@usedtocorient=\z@\end{minipage}\fi + }% + \fi +% \end{macrocode} +% Position footers. +% \begin{macrocode} + \ifx\pd@@lfpos\@empty\else + \rput[\pd@@lfhook](\pd@@lfpos){\pd@@lffont\pd@@lftemp}% + \fi + \ifx\pd@@cfpos\@empty\else + \rput[\pd@@cfhook](\pd@@cfpos){\pd@@cffont\pd@@cftemp}% + \fi + \ifx\pd@@rfpos\@empty\else + \rput[\pd@@rfhook](\pd@@rfpos){\pd@@rffont\pd@@rftemp}% + \fi + \ifnum\pd@method<2 + \ifx\pd@@textpos\@empty\else +% \end{macrocode} +% Position the main text box and put the material in, maybe coming +% from eating the body into |\pd@body| or reading it from a file. +% \begin{macrocode} + \rput[\pd@@texthook](\pd@@textpos){% + \pd@sl@d@ + \ifnum\pd@method=\z@\the\pd@body\else + \input\jobname.vrb + \fi + \end{pd@minipage}% + }% + \fi + \let\pd@tempa\relax + \else +% \end{macrocode} +% For direct processing, start the |lrbox| to typeset and capture +% content. +% \begin{macrocode} + \def\pd@tempa{\begin{lrbox}\pd@textbox\pd@sl@d@}% + \fi + \pd@tempa +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@sl@d@} +% A common component in |\pd@sl@de|. +% \begin{macrocode} +\def\pd@sl@d@{% + \begin{pd@minipage}% + \let\pd@tempa\color + \def\color##1{\pd@tempa{##1}\let\default@color\current@color}% + \pd@@textfont + \let\color\pd@tempa +} +% \end{macrocode} +% \end{macro} +% \changes{v1.2}{2005/10/09}{Redefine \cs{pd@slidetitle} in note template} +% The implementation of notes. +% The first macro is a temporary counter to find whether the new note +% still belongs to the current slide or that it belongs to a new slide. +% \begin{macrocode} +\def\pd@notet{0} +% \end{macrocode} +% Define the template using our mechanism. +% \begin{macrocode} +\pddefinetemplate{note}{% + titlepos={.04\slidewidth,.92\slideheight},% + titlefont=\let\pd@slidetitle\@firstofone\color{black}\Large,% + textpos={.07\slidewidth,.82\slideheight},% + textfont=\color{black},textwidth=.86\slidewidth,% + lfpos={.04\slidewidth,.035\slideheight},% + lffont=\color{black}\scriptsize,% + cfpos={.5\slidewidth,.035\slideheight},% + cffont=\color{black}\scriptsize,% + rfpos={.96\slidewidth,.035\slideheight},% + rffont=\color{black}\scriptsize,% + rftemp=\pd@@rf\ifx\pd@@rf\@empty\else + \ifx\thenote\@empty\else\space--\space\fi\fi\thenote,% +}{% + \addtocounter{slide}\m@ne +% \end{macrocode} +% If this is another note with the same slide, count it. +% \begin{macrocode} + \ifnum\c@slide=\pd@notet + \stepcounter{note}% + \else + \setcounter{note}{1}% + \fi + \xdef\pd@notet{\the\c@slide}% +% \end{macrocode} +% The background. +% \begin{macrocode} + \psline[linewidth=.5pt](0,.87\slideheight)% + (\slidewidth,.87\slideheight)% + \psline[linewidth=.5pt](0,.08\slideheight)% + (\slidewidth,.08\slideheight)% +} +% \end{macrocode} +% Implement pauseslide. +% This is an empty slide with just a very big button on it to go back +% to the original page where we came from. +% \begin{macrocode} +\pddefinetemplate{pauseslide}{}{% + \addtocounter{slide}\m@ne + \hyper@anchorstart{pauseslide}\hyper@anchorend + \psframe*[linecolor=\pd@pauseslidecolor](0,0)(\slidewidth,\slideheight)% + {\color{\pd@pauseslidecolor}% + \rput[cm](.5\slidewidth,.5\slideheight){% + \Acrobatmenu{GoBack}{\setlength\fboxsep{10cm}\fbox{GoBack}}}}% +} +% \end{macrocode} +% Empty slides. For special uses like displaying big tables or photos. +% \begin{macrocode} +\pddefinetemplate{emptyslide}{textpos={0,\slideheight}}{} +% \end{macrocode} +% \begin{macro}{\maketitle} +% This implementation +% is more or less similar as what is in \pf{article}. First we make a +% backup of the original |\maketitle| to be used maybe in handout mode, +% see below. +% \begin{macrocode} +\let\pd@orig@maketitle\maketitle +\def\maketitle{\@testopt\pd@maketitle{}} +\def\pd@maketitle[#1]{% + \begin{titleslide}[#1,toc=,bm=,trans=Replace,method=normal]{}% + \let\footnote\thanks + \def\thefootnote{\@fnsymbol\c@footnote}% + {\pd@title{\pd@@titlefont\@title}\par}{% + \vskip2em\pd@@textfont + \begin{tabular}[t]{@{} c @{}}% + \@author + \end{tabular}\par + \vskip1.5em\small\@date + }\par + \small\@thanks + \vfil\null + \end{titleslide}% + \c@footnote\z@ +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@maketocbm} +% \marg{type}\\ +% \meta{type} indicates the kind of entry that we need to write to toc and +% or bookmark file. 0 is a normal slide, 1 is a section, 2 is a hidden +% section. The title of the entry is assumed to be in |\pd@slidetitle|. +% \begin{macrocode} +\def\pd@maketocbm#1{% +% \end{macrocode} +% Make the bookmark entry so that it allows for easy counting of entries +% in sections. +% \begin{macrocode} + \def\pd@tempa{\immediate\write\pd@bmout{% + \string\pdbookmark{sec.\the\c@pd@section\ifnum#1=\z@.slide\fi}{% + \ifnum#1=\z@ sec.\the\c@pd@section\fi}{\the\c@slide}% + {\the\@temptokena}% + }}% +% \end{macrocode} +% Notice that |\pd@@bm| can be undefined at every slide, even after +% use on one slide, as the definition is done locally in the slide +% environment. So no resetting is necessary on the start of a slide. +% \begin{macrocode} + \ifx\pd@@bm\@undefined + \@temptokena\expandafter{\pd@t@tle}% + \else + \ifx\pd@@bm\@empty + \let\pd@tempa\relax + \else + \@temptokena\expandafter{\pd@@bm}% + \fi + \fi + \pd@tempa +% \end{macrocode} +% Write the toc entry. +% \begin{macrocode} + \def\pd@tempa{\immediate\write\pd@tocout{% + \string\pdcontentsline{#1}{\the\c@slide}{\the\@temptokena}% + }}% + \ifx\pd@@toc\@undefined + \@temptokena\expandafter{\pd@t@tle}% + \else + \ifx\pd@@toc\@empty + \let\pd@tempa\relax + \else + \@temptokena\expandafter{\pd@@toc}% + \fi + \fi + \pd@tempa +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pdbookmark} +% \marg{sec1}\marg{sec2}\marg{target}\marg{title}\\ +% First we defined |\pdbookmark| to count the number of bookmarks +% that needs to be nested below every section bookmark. We need to +% know that for the pdf bookmark specification. +% \begin{macrocode} +\def\pdbookmark#1#2#3#4{% + \@tempcnta\pd@pdb@@kmark{#2}% + \advance\@tempcnta\@ne + \@nameedef{pd@be@#2}{\the\@tempcnta}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pdb@@kmark} +% \changes{v1.1}{2005/09/19}{Solved bug with unexpandable \cs{XKV@ifundefined} +% when not running the $\varepsilon$-\TeX\ engine (e.g. te\TeX\ 2)} +% \marg{section}\\ +% Returns the number of slides that we already counter for the +% current section. Don't use |\XKV@ifundefined| here as that is not +% expandable when not running $\varepsilon$-\TeX\ engine. +% \begin{macrocode} +\def\pd@pdb@@kmark#1{% + \@ifundefined{pd@be@#1}0{\csname pd@be@#1\endcsname}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pdbookmark} +% \changes{v1.2}{2005/10/09}{Solved bug with Acrobat Distiller} +% \marg{sec1}\marg{sec2}\marg{target}\marg{title}\\ +% Redefine the macro to make the actual bookmark. +% \begin{macrocode} +\ifxetex\else + \def\pd@pdbookmark#1#2#3#4{% +% \end{macrocode} +% Use |\pdfstringdef| to clean the title. Not everything can enter as +% a bookmark in pdf. +% \begin{macrocode} + \pdfstringdef\pd@tempa{#4}% + \pdfmark{pdfmark=/OUT,% + Count={\pd@pdb@@kmark{#1}},Dest={slide.#3},% + View={/XYZ null null null},Title={\pd@tempa}% + }% + } +\fi +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pdcontentsline} +% \marg{type}\marg{target}\marg{title}\\ +% Saves all input arguments to macros with names like |\pd@te@i|. +% Further, it computes with a lag the starting and stopping targets +% for every entry, |\pd@te@i@start| and |\pd@te@i@stop|. +% \begin{macrocode} +\def\pdcontentsline#1#2#3{% + \ifnum\@tempcnta>\z@ + \@nameedef{pd@te@\the\@tempcnta @start}{\pd@tempa}% + \@namedef{pd@te@\the\@tempcnta @stop}{#2}% + \fi + \def\pd@tempa{#2}% + \advance\@tempcnta\@ne + \@namedef{pd@te@\the\@tempcnta}{% + \pdcontentsline{#1}{#2}{#3}% + }% +} +% \end{macrocode} +% \end{macro} +% \changes{v1.1}{2005/09/19}{Reading \texttt{.bm} and \texttt{.toc} +% file \cs{AtBeginDocument} to allow for using \pf{inputenc} for toc +% and bm entries} +% \changes{v1.4}{2005/12/10}{Solved bug in computing stopping slide for last toc entry} +% Read the bm and toc files into memory to speed up compilation. +% Along the way, we compute the starting and stopping target numbers +% for highlighting toc entries and the number of slides to be nested +% under a section bookmark entry. At begin document for allowing +% loading of \pf{inputenc} also for bm and toc entries. +% \begin{macrocode} +\AtBeginDocument{% + \InputIfFileExists{\jobname.bm}{}{}% + \let\pdbookmark\pd@pdbookmark + \InputIfFileExists{\jobname.bm}{}{}% +% \end{macrocode} +% Rewrite the bookmarks file. +% \begin{macrocode} + \immediate\openout\pd@bmout\jobname.bm\relax + \@tempcnta\z@ + \def\pd@tempa{0}% + \InputIfFileExists{\jobname.toc}{}{}% +% \end{macrocode} +% Save the number of toc entries. +% \begin{macrocode} + \edef\pd@notocentries{\the\@tempcnta}% +% \end{macrocode} +% Compute the starting and stopping number for the last entry. +% \begin{macrocode} + \ifx\r@lastslide\@undefined\@tempcntb\pd@tempa\else + \edef\pd@tempb{\expandafter\@secondoffive\r@lastslide}% + \@tempcntb\pd@tempb + \fi + \advance\@tempcntb\@ne + \@nameedef{pd@te@\the\@tempcnta @start}{\pd@tempa}% + \@nameedef{pd@te@\the\@tempcnta @stop}{\the\@tempcntb}% +% \end{macrocode} +% Rewrite the toc file. +% \begin{macrocode} + \immediate\openout\pd@tocout\jobname.toc\relax +% \end{macrocode} +% Initialize the |\pdcontentsline| macro for making toc entries. +% \begin{macrocode} + \let\pdcontentsline\pd@pdcontentsline +} +% \end{macrocode} +% \begin{macro}{\pd@puttoc} +% \marg{type}\\ +% Typeset the table of contents of type \meta{type} from memory. +% \begin{macrocode} +\def\pd@puttoc#1{% +% \end{macrocode} +% Initialize some numbers that we will use. +% \begin{macrocode} + \@tempcnta\z@ + \@tempcntb\z@ + \@tempswatrue + \def\pd@toctype{#1}% +% \end{macrocode} +% Parse all available toc entries. +% \begin{macrocode} + \@whilenum\@tempcnta<\pd@notocentries\do{% + \advance\@tempcnta\@ne + \@nameuse{pd@te@\the\@tempcnta}% + }% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pdcontentsline} +% \changes{v1.1}{2005/09/19}{Solved bug using different toc widths} +% \marg{type}\marg{target}\marg{title}\\ +% Typesets a toc entry. +% \begin{macrocode} +\def\pd@pdcontentsline#1#2#3{% + \let\pd@tempa\relax +% \end{macrocode} +% Full table of contents (sections and slides). +% \begin{macrocode} + \ifcase\pd@toctype +% \end{macrocode} +% A normal slide. +% \begin{macrocode} + \ifcase#1\relax +% \end{macrocode} +% Slides before section 1. +% \begin{macrocode} + \ifnum\@tempcntb=\z@ + \let\pd@tempa\pd@tocdisplay + \else +% \end{macrocode} +% A slide in the current section. +% \begin{macrocode} + \ifnum\@tempcntb=\c@pd@section + \let\pd@tempa\pd@tocdisplay + \fi + \fi + \or +% \end{macrocode} +% A normal section. +% \begin{macrocode} + \global\advance\@tempcntb\@ne + \let\pd@tempa\pd@tocdisplay + \or +% \end{macrocode} +% A hidden section. +% \begin{macrocode} + \global\advance\@tempcntb\@ne + \ifnum\@tempcntb=\c@pd@section + \let\pd@tempa\pd@tocdisplay + \fi + \fi + \or +% \end{macrocode} +% Typeset only sections. +% \begin{macrocode} + \ifcase#1\relax\or +% \end{macrocode} +% A normal section. +% \begin{macrocode} + \global\advance\@tempcntb\@ne + \let\pd@tempa\pd@tocdisplay + \or +% \end{macrocode} +% A hidden section. +% \begin{macrocode} + \global\advance\@tempcntb\@ne + \ifnum\@tempcntb=\c@pd@section + \let\pd@tempa\pd@tocdisplay + \fi + \fi + \or +% \end{macrocode} +% Only slides in current section or before the first section. +% \begin{macrocode} + \ifnum#1=\z@ +% \end{macrocode} +% An entry in the current section. +% \begin{macrocode} + \ifnum\@tempcntb=\c@pd@section + \let\pd@tempa\pd@tocdisplay + \fi + \else +% \end{macrocode} +% Count sections. +% \begin{macrocode} + \global\advance\@tempcntb\@ne + \fi + \fi + \ifpd@@hlentries\ifx\pd@tempa\relax\else + \ifnum#1=\z@ +% \end{macrocode} +% A normal highlighted slide. +% \begin{macrocode} + \ifnum\c@slide<\@nameuse{pd@te@\the\@tempcnta @start}% + \else + \ifnum\c@slide<\@nameuse{pd@te@\the\@tempcnta @stop}% + \let\pd@tempa\pd@tochighlight + \fi + \fi + \else + \ifpd@@hlsections +% \end{macrocode} +% A highlighted section. +% \begin{macrocode} + \ifnum\@tempcntb=\c@pd@section + \let\pd@tempa\pd@tochighlight + \fi + \else +% \end{macrocode} +% A section with a page. +% \begin{macrocode} + \ifnum#2=\c@slide\ifnum\@nameuse{pd@te@\the + \@tempcnta @stop}=\c@slide\else + \let\pd@tempa\pd@tochighlight + \fi\fi + \fi + \fi + \fi\fi +% \end{macrocode} +% Build the entry, but only if the entry should be visible. +% \begin{macrocode} + \ifx\pd@tempa\relax\else +% \end{macrocode} +% Some skip. Execute the font settings so that skips like |.6ex| work +% properly. +% \begin{macrocode} + \if@tempswa\@tempswafalse\else + \pd@usedtocfont + \ifnum\pd@usedtocorient=\z@ + \ifnum#1=\z@\vskip\pd@@tocslidesep\else\vskip\pd@@tocsecsep\fi + \else + \ifnum#1=\z@\hskip\pd@@tocslidesep\else\hskip\pd@@tocsecsep\fi + \fi + \fi +% \end{macrocode} +% Add a section marker. +% \begin{macrocode} + \ifnum#1=\z@\else\pd@@tocsecm\fi +% \end{macrocode} +% Output the entry. This works as follows. +% The text |#3| is passed through one macro of |\pd@tocslide| or +% |\pd@tocsection| which adds a `per entry layout' (eg a bullet). +% Then |\pd@tempa| (which is |\pd@tocdisplay| or |\pd@tochighlight|) +% displays the item as requested and |\hyperlink| adds a link to the entry. +% The lengths |\@tempdima| and |\@tempdimb| contain the horizontal +% indent and the remaining space for the entry respectively. The first +% entry does not get an indent if it is a slide. +% \begin{macrocode} + \ifcase\pd@toctype + \@tempdimb\pd@@tocwidth + \or + \@tempdimb\pd@@stocwidth + \or + \@tempdimb\pd@@ntocwidth + \fi + \ifnum#1=\z@ + \ifnum\@tempcntb=\z@\@tempdima\z@\else + \@tempdima\pd@@tocslideindent + \advance\@tempdimb-\pd@@tocslideindent + \fi + \hyperlink{slide.#2}{\pd@tempa{\pd@tocslide{#3}}}% + \else + \@tempdima\pd@@tocsecindent + \advance\@tempdimb-\pd@@tocsecindent + \hyperlink{slide.#2}{\pd@tempa{\pd@tocsection{#3}}}% + \fi + \ifnum\pd@usedtocorient=\z@\par\fi + \fi +} +% \end{macrocode} +% \end{macro} +% The keys for the |\tableofcontents| macro. +% \begin{macrocode} +\define@choicekey[pd]{toc}{content}[\pd@tempa\pd@content]{% + all,sections,currentsection,future,futuresections}{} +\define@choicekey[pd]{toc}{type}[\pd@tempa\pd@type]{0,1}{} +\presetkeys[pd]{toc}{content=all,type=0}{} +% \end{macrocode} +% \begin{macro}{\tableofcontents} +% Typesets overviews. +% \begin{macrocode} +\def\tableofcontents{\@testopt\pd@tableofcontents{}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@tableofcontents} +% \oarg{options}\\ +% Workhorse. +% \begin{macrocode} +\def\pd@tableofcontents[#1]{% +% \end{macrocode} +% To keep definitions like |\pd@@type| (reused in |itemize|) local. +% \begin{macrocode} + \begingroup +% \end{macrocode} +% Set keys with use input. +% \begin{macrocode} + \setkeys[pd]{toc}{#1}% +% \end{macrocode} +% This keeps track of whether we are in a hidden section. +% \begin{macrocode} + \let\pd@tempc\z@ + \def\pdcontentsline##1##2##3{% +% \end{macrocode} +% Count sections in the toc. +% \begin{macrocode} + \ifnum##1>\z@\advance\@tempcntb\@ne\fi +% \end{macrocode} +% Used for additional markup like |\bfseries|. +% \begin{macrocode} + \let\pd@tempb\@empty +% \end{macrocode} +% The line that is to be typeset. +% \begin{macrocode} + \def\pd@tempa{\hyperlink{slide.##2}{\pd@tempb##3}\par}% +% \end{macrocode} +% If a line should not be displayed, then here is the action to be +% taken depending on the type. 0 leaves out material, 1 typesets it +% in inactive color. +% \begin{macrocode} + \ifnum\pd@type=\z@ + \def\pd@tempd{\let\pd@tempa\relax}% + \else + \def\pd@tempd{\def\pd@tempb{\color\pd@@iacolor}}% + \fi +% \end{macrocode} +% Update whether we are in a hidden section. +% \begin{macrocode} + \ifcase##1\or\let\pd@tempc\z@\or + \ifnum\@tempcntb=\c@pd@section + \let\pd@tempc\z@ + \else + \let\pd@tempc\@ne + \fi + \fi +% \end{macrocode} +% If in hidden section, hide it. +% \begin{macrocode} + \ifnum\pd@tempc=\@ne\pd@tempd\fi +% \end{macrocode} +% Here are the rules for displaying material, given the input of the user. +% Case 0 is `all'. +% \begin{macrocode} + \ifcase\pd@content\or +% \end{macrocode} +% Case `sections'. +% \begin{macrocode} + \ifnum##1=\z@\let\pd@tempa\relax\fi + \or +% \end{macrocode} +% Case `currentsection'. +% \begin{macrocode} + \ifnum\@tempcntb=\c@pd@section\else\pd@tempd\fi + \or +% \end{macrocode} +% Case `future'. +% \begin{macrocode} + \ifnum\@tempcnta<\c@slide\pd@tempd\fi + \or +% \end{macrocode} +% Case `futuresections'. +% \begin{macrocode} + \ifnum\@tempcntb<\c@pd@section\pd@tempd\fi + \ifnum##1=\z@\pd@tempd\fi + \fi +% \end{macrocode} +% If a section, use bold font. +% \begin{macrocode} + \ifnum##1>\z@\XKV@addtomacro@n\pd@tempb\bfseries\fi +% \end{macrocode} +% Finally, typeset the entry and add some spacing. +% \begin{macrocode} + \ifx\pd@tempa\relax\else + \if@tempswa\@tempswafalse\else + \ifnum##1=\z@\else\vskip5pt\fi + \fi + \ifnum##1=\z@\ifnum\@tempcntb=\z@\else\hskip15pt\fi\fi + \pd@tempa + \fi + }% + \@tempcnta\z@ + \@tempcntb\z@ + \@tempswatrue +% \end{macrocode} +% Loop over all available toc entries. +% \begin{macrocode} + \@whilenum\@tempcnta<\pd@notocentries\do{% + \advance\@tempcnta\@ne + \@nameuse{pd@te@\the\@tempcnta}% + }% +% \end{macrocode} +% Restore everything. +% \begin{macrocode} + \endgroup +} +% \end{macrocode} +% \end{macro} +% Options for parts and sections. The template key allows for modification +% of user input for normal slide and wide slide. A style can define +% the environment that should take the place of, eg, |wideslide| when +% the user requests that template. +% \begin{macrocode} +\define@choicekey*[pd]{section}{tocsection}[\pd@tempa\pd@tempb]{% + false,true,hidden}{} +\define@boolkey[pd]{section}[pd@@]{slide}[true]{} +\define@cmdkey[pd]{section}[pd@@]{template}{% + \def\pd@tempa{slide}% + \ifx\pd@@template\pd@tempa + \let\pd@@template\pd@@sectemp + \else + \def\pd@tempa{wideslide}% + \ifx\pd@@template\pd@tempa + \let\pd@@template\pd@@widesectemp + \fi + \fi +} +\presetkeys[pd]{section}{tocsection=true,slide=true,template=slide}{} +% \end{macrocode} +% Keys for style developers to overwrite user requests silently. +% \begin{macrocode} +\define@cmdkeys[pd]{section}[pd@@]{sectemp,widesectemp} +\setkeys[pd]{section}{sectemp=slide,widesectemp=slide} +\AtBeginDocument{\disable@keys[pd]{section}{sectemp,widesectemp}} +% \end{macrocode} +% \begin{macro}{\pd@orig@section} +% Make a backup of the original |\section|, to be used later. +% \begin{macrocode} +\let\pd@orig@section\section +% \end{macrocode} +% \end{macro} +% \begin{macro}{\section} +% \changes{v1.1}{2005/09/19}{Corrected bug not allowing commas in section titles} +% Used to create parts in the presentation and sections in the toc. +% \begin{macrocode} +\def\section{\@testopt\pd@section{}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@section} +% \oarg{options}\marg{title}\\ +% Creates the part. +% \begin{macrocode} +\def\pd@section[#1]#2{% +% \end{macrocode} +% Necessary to keep toc and bm definitions local. +% \begin{macrocode} + \begingroup + \pd@sectiontrue +% \end{macrocode} +% Extract the keys specific for |\part| first as to know what we are +% going to produce. +% \begin{macrocode} + \setkeys*[pd]{section}{#1}% +% \end{macrocode} +% |\pd@tempb| comes from the |tocsection| key. +% \begin{macrocode} + \ifnum\pd@tempb=\z@ +% \end{macrocode} +% |\XKV@rm| +% contains all remaining keys that could not be set in the previous +% |\setkeys| (namely, keys not in the |part| family). +% \begin{macrocode} + \ifpd@@slide + \toks@{#2}% + \@temptokena\expandafter{\XKV@rm}% + \edef\pd@tempa{% + \noexpand\begin{\pd@@template}% + [bm={\the\toks@},toc={\the\toks@},% + \the\@temptokena]{\the\toks@}% + \noexpand\end{\pd@@template}% + }% + \pd@tempa + \fi + \else +% \end{macrocode} +% Set all slide specific keys as |bm| and |toc|. +% \begin{macrocode} + \setrmkeys*[pd]{slide}% +% \end{macrocode} +% Make the toc and bm entries. +% \begin{macrocode} + \stepcounter{pd@section}% + \stepcounter{slide}% + \def\pd@t@tle{#2}% + \pd@maketocbm\pd@tempb + \addtocounter{slide}\m@ne + \ifpd@@slide +% \end{macrocode} +% Produce a slide if necessary. +% \begin{macrocode} + \toks@{#2}% + \@temptokena\expandafter{\XKV@rm}% + \edef\pd@tempa{% + \noexpand\begin{\pd@@template}% + [\the\@temptokena,bm=,toc=]{\the\toks@}% + \noexpand\end{\pd@@template}% + }% + \pd@tempa + \fi + \fi + \endgroup +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\onslide} +% The normal version puts material on overlay 1, hence invisible in +% ps or pdf. The starred version eats its argument, hence does not +% move the cursor. The plus version put material in the inactive +% color. +% \begin{macrocode} +\def\onslide{% + \@ifnextchar-\pd@@nslide{\XKV@ifstar{\pd@onslide1}{% + \XKV@ifplus{\pd@onslide2}{\pd@onslide0}}}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@onslide} +% \changes{v1.2}{2005/10/09}{Replaced \cs{ignorespaces} by \cs{@bsphack} +% \cs{@esphack} in starred version} +% \marg{type}\marg{overlays}\\ +% The workhorse. First determine whether the material should be +% visible from the \meta{overlays} information. If not, process it in +% the chosen way in \meta{type}. +% \begin{macrocode} +\def\pd@onslide#1#2{% +% \end{macrocode} +% Display or not? +% \begin{macrocode} + \pd@testdisp0{#2}% + \if@tempswa +% \end{macrocode} +% Display. +% \begin{macrocode} + \let\pd@tempa\@firstofone + \else + \ifcase#1\relax +% \end{macrocode} +% Switch to overlay 1 (invisible), output |#1|, switch back to overlay 0. +% We record the depth. This allows us to check whether we are in +% hidden material already. If that is the case, don't step back to +% overlay 0 as that will make following material visible again. +% \begin{macrocode} + \long\def\pd@tempa##1{% + \pst@Verb{tx@ovlDict begin (1) BOL end}% + \stepcounter{pd@onslidedepth}% + ##1% + \addtocounter{pd@onslidedepth}\m@ne + \ifnum\c@pd@onslidedepth=\z@\ifnum\pd@currentstate=\z@ + \pst@Verb{tx@ovlDict begin (0) BOL end}% + \fi\fi + }% + \or +% \end{macrocode} +% Eat material. +% \begin{macrocode} + \long\def\pd@tempa##1{\@bsphack\@esphack}% + \or +% \end{macrocode} +% Put material in inactive color. +% \begin{macrocode} + \long\def\pd@tempa##1{{\color\pd@@iacolor##1}}% + \fi + \fi + \pd@tempa +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@testdisp} +% \marg{type}\marg{overlays}\\ +% This macro is used by both |\onslide| and |\item|. The former can +% use relative notation for which \meta{type} should be 0. For the +% latter, \meta{type} is 1. \meta{overlays} is a specification of +% overlays where material should be visible. +% \begin{macrocode} +\def\pd@testdisp#1#2{% + \@tempswafalse +% \end{macrocode} +% Parse the comma separated specification. +% \begin{macrocode} + \XKV@for@n{#2}\pd@tempa{\expandafter\pd@t@stdisp\pd@tempa--\@nil#1}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@t@stdisp} +% \meta{s1}|-|\meta{s2}|-|\meta{s3}|\@nil|\marg{type}\\ +% Separate the input and check in which case we ended up. This macro +% also computes the number of overlays that is necessary for this +% slide. Notice several |\relax| at possibly unexpected places. This +% seemed necessary for \TeX\ to properly set |\@tempswa|. +% \begin{macrocode} +\def\pd@t@stdisp#1-#2-#3\@nil#4{% + \ifx\@empty#1\@empty\relax +% \end{macrocode} +% |-x| case. +% \begin{macrocode} + \ifnum#4=\z@ +% \end{macrocode} +% Parse input further to find if relative syntax was used. +% \begin{macrocode} + \pd@checkrel#2\@nil\@tempcnta + \else + \@tempcnta#2% +% \end{macrocode} +% The item has no particular starting point, so it starts from overlay +% 1. Save this for relative |\onslide| syntax in the current item. +% \begin{macrocode} + \def\pd@reloverlay{1}% + \fi +% \end{macrocode} +% |\@tempcnta| now contains the number of overlays necessary for this +% part of the specification. Take the maximum. +% \begin{macrocode} + \pd@compnooverlays\@tempcnta + \ifnum\c@pd@overlay>\@tempcnta\else\@tempswatrue\fi + \else +% \end{macrocode} +% |x|, |x-| and |x-y| cases. Check relative syntax and store the +% corrected number in |\@tempcnta|. +% \begin{macrocode} + \ifnum#4=\z@ + \pd@checkrel#1\@nil\@tempcnta + \else + \@tempcnta#1% +% \end{macrocode} +% Here, the item has a special starting point. Save that to be able +% to compute relative syntax in subsequent |\onslide|s. +% \begin{macrocode} + \def\pd@reloverlay{#1}% + \fi + \ifx\@empty#2\@empty\relax +% \end{macrocode} +% |x| and |x-| cases. +% \begin{macrocode} + \pd@compnooverlays\@tempcnta + \ifx\@empty#3\@empty\relax +% \end{macrocode} +% |x| case. +% \begin{macrocode} + \ifnum\c@pd@overlay=\@tempcnta\@tempswatrue\fi + \else +% \end{macrocode} +% |x-| case. +% \begin{macrocode} + \ifnum\c@pd@overlay<\@tempcnta\else\@tempswatrue\fi + \fi + \else +% \end{macrocode} +% |x-y| case. Store the final number |y| in |\@tempcntb|, maybe +% corrected for relative syntax. +% \begin{macrocode} + \ifnum#4=\z@ + \pd@checkrel#2\@nil\@tempcntb + \else + \@tempcntb#2% + \fi + \pd@compnooverlays\@tempcntb + \ifnum\c@pd@overlay<\@tempcnta\else + \ifnum\c@pd@overlay>\@tempcntb\else\@tempswatrue\fi + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@checkrel} +% \meta{number}|\@nil|\marg{counter}\\ +% Checks whether \meta{number} starts with a |+| and if yes, adds the +% current item number in |\pd@reloverlay| to \meta{counter} to make +% relative syntax possible. +% \begin{macrocode} +% Check whether relative syntax has been used. +\def\pd@checkrel#1#2\@nil#3{% + \def\pd@tempa{#1}% + \def\pd@tempb{+}% + \ifx\pd@tempa\pd@tempb + #3#2\advance#3\pd@reloverlay + \else#3#1#2\fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@compnooverlays} +% Keep track of the biggest number that we see as to compute the +% number of overlays that we need to produce. Notice the |\relax| again. +% \begin{macrocode} +\def\pd@compnooverlays#1{% + \ifnum#1>\pd@nooverlays\xdef\pd@nooverlays{\the#1}\fi\relax +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@orig@item} +% Copy of \LaTeX's |\@item|. +% \begin{macrocode} +\let\pd@orig@item\@item +% \end{macrocode} +% \end{macro} +% \begin{macro}{\@item} +% \oarg{label}\\ +% Creates the item label etcetera. We add an optional argument for +% overlay specifications. +% \begin{macrocode} +\def\@item[#1]{\@ifnextchar<{\pd@item[#1]}{\pd@item[#1]<>}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@item} +% \oarg{label}\larg{overlays}\\ +% This item allows for hiding the bullet and following content. +% \begin{macrocode} +\def\pd@item[#1]<#2>{% +% \end{macrocode} +% Possibly switch state. +% \begin{macrocode} + \pd@closeitem +% \end{macrocode} +% Enter some corrections when switching list type. +% \begin{macrocode} + \ifx\pd@@type\pd@currenttype\else + \ifnum\pd@@type=\z@ + \pst@Verb{tx@ovlDict begin (1) BOL end}% + \else + \pst@Verb{tx@ovlDict begin (0) BOL end}% + \normalcolor + \fi + \global\let\pd@currenttype\pd@@type + \fi +% \end{macrocode} +% Make sure that we are on overlay 0 when the current state is such. +% Then check if we need hiding. +% \begin{macrocode} + \ifnum\pd@currentstate=\z@ + \normalcolor\pst@Verb{tx@ovlDict begin (0) BOL end}% + \pd@hide{#2}% + \else +% \end{macrocode} +% Enter this color, just in case no other declarations will follow. +% \begin{macrocode} + \color\pd@@iacolor + \fi +% \end{macrocode} +% We need to switch state at the next item. Take care of local definition. +% \begin{macrocode} + \ifx\@empty#2\@empty\else + \def\pd@closeitem{\gdef\pd@currentstate{0}}% + \fi +% \end{macrocode} +% Insert |\leavevmode| to avoid ps code to `leak into' |\item|, like +% which used to be the case when |\item\onslide{2-}{test}\pause|. +% \begin{macrocode} + \pd@orig@item[#1]\leavevmode\ignorespaces +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@orig@@trivlist} +% \begin{macro}{\@trivlist} +% Save the current state for later (after getting back from nested +% lists). And we initialize some helper functions. +% \begin{macrocode} +\let\pd@orig@@trivlist\@trivlist +\def\@trivlist{% + \global\expandafter\let\csname pd@currentstate\the\c@pd@trivlist + \endcsname\pd@currentstate + \ifnum\pd@@type=\z@\let\pd@closeitem\relax\fi + \stepcounter{pd@trivlist}% + \pd@orig@@trivlist +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@orig@endtrivlist} +% \begin{macro}{\endtrivlist} +% At the end of each list, make sure that we re-initialize the state +% of that level, if necessary. +% \begin{macrocode} +\let\pd@orig@endtrivlist\endtrivlist +\def\endtrivlist{% + \addtocounter{pd@trivlist}\m@ne + \pd@revert{% + \global\expandafter\let\expandafter\pd@currentstate\csname + pd@currentstate\the\c@pd@trivlist\endcsname + }% + \pd@orig@endtrivlist +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@hide} +% \meta{overlays}\\ +% Hides following material until the end of the current group, usually +% the end of an environment like |itemize|. +% \begin{macrocode} +\def\pd@hide#1{% + \ifx\@empty#1\@empty\else +% \end{macrocode} +% If still active, we might need to become inactive. +% \begin{macrocode} + \ifnum\pd@currentstate=\z@ +% \end{macrocode} +% Check the state of this item. +% \begin{macrocode} + \pd@testdisp1{#1}% + \if@tempswa\else + \ifnum\pd@@type=\z@ +% \end{macrocode} +% Hide material onto overlay 1. +% \begin{macrocode} + \pst@Verb{tx@ovlDict begin (1) BOL end}% + \else +% \end{macrocode} +% Switch to inactive color. +% \begin{macrocode} + \color\pd@@iacolor + \fi + \gdef\pd@currentstate{1}% + \fi + \fi + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pause} +% Hide following material on the current overlay. +% \begin{macrocode} +\def\pause{\@testopt\pd@p@use1} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@p@use} +% \oarg{steps}\\ +% This inserts a |\pd@hide| that hides material for the following +% overlays, possibly some extra, when the optional argument is used. +% \begin{macrocode} +\def\pd@p@use[#1]{% + \addtocounter{pd@pause}{#1}% + \expandafter\pd@hide\expandafter{\the\c@pd@pause-}% + \global\let\pd@revert\@gobble + \ignorespaces +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@deloverlays} +% This macro disables overlays by redefining some internals. +% \begin{macrocode} +\def\pd@deloverlays{% + \def\pd@hide##1{}% + \def\pd@onslide##1##2{\@firstofone}% + \let\@trivlist\pd@orig@@trivlist + \let\endtrivlist\pd@orig@endtrivlist + \def\pd@item[##1]<##2>{\pd@orig@item[##1]\leavevmode\ignorespaces}% +} +% \end{macrocode} +% \end{macro} +% We insert an extra key in the |enumitem| family to allow for changing +% the type of the list. 0 uses ps hiding, 1 uses inactive color when +% items are inactive. +% \begin{macrocode} +\define@cmdkey{enumitem}[pd@@]{type}{} +\setkeys{enumitem}{type=0} +% \end{macrocode} +% \begin{macro}{\pd@pdftrans} +% Inserts a pdf transition effect. It allows custom transition effects +% like wipes in different directions. But if you do that, it will warn +% that it might not work. +% \begin{macrocode} +\ifxetex\else + \def\pd@pdftrans{% + \@expandtwoargs\in@{,\pd@@trans,}{% + ,Split,Blinds,Box,Wipe,Dissolve,Glitter,% + Replace,Fly,Push,Cover,Uncover,Fade,}% + \ifin@\else + \pd@warn{Transition `\pd@@trans' might not be understood by + your ps to pdf converter}% + \fi + \pdfmark{% + pdfmark=/PUT,% + Raw={\string{ThisPage\string}% + <</Trans << /S /\pd@@trans\space >> >>% + }% + }% + } +\fi +% \end{macrocode} +% \end{macro} +% Two column keys. +% \begin{macrocode} +\define@cmdkeys[pd]{twocolumn}[pd@@]{% + lineheight,lfrheight,rfrheight,lcolwidth,rcolwidth,% + topsep,bottomsep,indent,lineprop,lfrprop,rfrprop% +} +% \end{macrocode} +% We use two lengths as we need to do some computations with these +% key settings. +% \begin{macrocode} +\define@key[pd]{twocolumn}{colsep}{\setlength\pd@colsep{#1}} +\define@key[pd]{twocolumn}{frsep}{\setlength\pd@frsep{#1}} +% \end{macrocode} +% Presets. +% \begin{macrocode} +\presetkeys[pd]{twocolumn}{frsep=1.5mm,colsep=.06\linewidth,% + lcolwidth=.47\linewidth,rcolwidth=.47\linewidth,topsep=0cm,% + bottomsep=0cm,indent=0cm,lineprop=,lfrprop=,rfrprop=,% + lineheight=,lfrheight=,rfrheight=% +}{} +% \end{macrocode} +% \begin{macro}{\twocolumn} +% \begin{macro}{\pd@twocolumn} +% Construct two columns and put material in it. +% \begin{macrocode} +\def\twocolumn{\@testopt\pd@twocolumn{}} +\long\def\pd@twocolumn[#1]#2#3{% + \setkeys[pd]{twocolumn}{#1}% + \sbox\pd@tba{\begin{minipage}\pd@@lcolwidth\pd@@textfont#2\end{minipage}}% + \setlength\@tempdima{\the\ht\pd@tba}% + \addtolength\@tempdima{\the\dp\pd@tba}% + \sbox\pd@tbb{\begin{minipage}\pd@@rcolwidth\pd@@textfont#3\end{minipage}}% + \setlength\@tempdimb{\the\ht\pd@tbb}% + \addtolength\@tempdimb{\the\dp\pd@tbb}% + \setlength\@tempdimc{\pd@maxdim\@tempdima\@tempdimb}% + \ifx\pd@@lfrheight\@empty\else + \setlength\@tempdimc{\pd@maxdim\pd@@lfrheight\@tempdimc}% + \fi + \ifx\pd@@lineheight\@empty\else + \setlength\@tempdimc{\pd@maxdim\pd@@lineheight\@tempdimc}% + \fi + \ifx\pd@@rfrheight\@empty\else + \setlength\@tempdimc{\pd@maxdim\pd@@rfrheight\@tempdimc}% + \fi + \begin{pspicture}(-\pd@@indent,\pd@@topsep)(\linewidth,-\@tempdimc)% + \psset{linewidth=.25pt,linecolor=\pd@color}% + \setlength\@tempdima\pd@@lcolwidth + \addtolength\@tempdima\pd@frsep + \ifx\pd@@lfrheight\@empty\else + \expandafter\psframe\expandafter[\pd@@lfrprop]% + (-\pd@frsep,\pd@frsep)(\@tempdima,-\pd@@lfrheight)% + \fi + \rput[tl](0,0){\usebox\pd@tba}% + \setlength\@tempdima\pd@@lcolwidth + \addtolength\@tempdima{.5\pd@colsep}% + \ifx\pd@@lineheight\@empty\else + \expandafter\psline\expandafter[\pd@@lineprop]% + (\@tempdima,\pd@frsep)(\@tempdima,-\pd@@lineheight)% + \fi + \addtolength\@tempdima{.5\pd@colsep}% + \setlength\@tempdimc\@tempdima + \addtolength\@tempdima{-\pd@frsep}% + \setlength\@tempdimb\@tempdima + \addtolength\@tempdimb\pd@@rcolwidth + \addtolength\@tempdimb{2\pd@frsep}% + \ifx\pd@@rfrheight\@empty\else + \expandafter\psframe\expandafter[\pd@@rfrprop]% + (\@tempdima,\pd@frsep)(\@tempdimb,-\pd@@rfrheight)% + \fi + \rput[tl](\@tempdimc,0){\usebox\pd@tbb}% + \end{pspicture}\par +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{environment}{figure} +% \begin{environment}{table} +% Avoid floating |figure| and |table| environments. +% \begin{macrocode} +\renewenvironment{figure}[1][]{% + \def\@captype{figure}% + \par\begin{center}% +}{\par\end{center}} +\renewenvironment{table}[1][]{% + \def\@captype{table}% + \par\begin{center}% +}{\par\end{center}} +% \end{macrocode} +% \end{environment} +% \end{environment} +% \begin{macro}{\pddefinelyxtemplate} +% \meta{cs}\marg{template} +% Support for \LyX, where slides are delimited by an explicit |\lyxend|. +% This defines the \meta{cs} to look optional keys, the slide title +% and finally for |\lyxend| to collect the body of the slide. +% After that, it creates a slide with \meta{template}. +% \begin{macrocode} +\def\pddefinelyxtemplate#1#2{\def#1{\pd@lyxgetargsandbody{#2}}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@lyxgetargsandbody} +% \marg{template}\\ +% Check for optional keys. +% \begin{macrocode} +\def\pd@lyxgetargsandbody#1{\@testopt{\pd@lyxget@rgsandbody{#1}}{}} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@lyxget@rgsandbody} +% \marg{template}\oarg{options}\marg{title}\\ +% This pretends to be an environment with name \meta{template}. The +% slide title and body are saved, keys are set and the slide is executed. +% This all happens in a local group to keep definitions (eg |toc| key) +% local. We again have three different methods to process the slide. +% Now, the verbatim version is more complicated as we have to look +% for |\lyxend| instead of |\end{slide}|. +% \begin{macrocode} +\def\pd@lyxget@rgsandbody#1[#2]#3{% + \begingroup +% \end{macrocode} +% Initial settings and checks. +% \begin{macrocode} + \def\@currenvir{#1}% + \pd@get@rgs@ndbody{#2}{#3}% + \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@ +% \end{macrocode} +% Eat the body until |\lyxend|. +% \begin{macrocode} + \let\pd@tempa\pd@lyxget@rgs@ndbody + \else + \ifnum\pd@method=\@ne + \def\pd@tempa{% +% \end{macrocode} +% Start writing to a temporary file and redefine |\verbatim@processline| +% to scan lines for |\lyxend|. We only stop if |\lyxend| occurs on the +% first character of the input line. +% \begin{macrocode} + \immediate\openout\@inputcheck\jobname.vrb\relax + \def\verbatim@processline{% +% \end{macrocode} +% Check for |\lyxend|. +% \begin{macrocode} + \pd@lyxget@rgs@ndb@dy + \ifin@ +% \end{macrocode} +% If we found it, stop. |\pd@tempa| eats the next four tokens which +% would otherwise make \pf{verbatim} continue with reading. +% \begin{macrocode} + \let\pd@tempa\@gobblefour +% \end{macrocode} +% |\next| occurs in the \pf{verbatim} macros. We define it to close +% the output file, execute the slide, write the remaining part of +% the line with |\lyxend| to file and read it back in. We need to +% do this as this content (probably |\lyxslide|) has been sanitized +% while reading in verbatim mode. We could also use |\scantokens| +% if we keep in mind that that, just as |\input|, introduces line +% feeds and end-of-file characters in the input stream which the +% \pf{verbatim} macros can't handle. Morten H\o gholm proposed the +% following instead. +%\begin{example} +% \documentclass{article} +% \begin{document} +% \long\def\ReinsertTokens#1{% +% \begingroup\endlinechar=-1\everyeof{}% +% \scantokens{\def\next{\endgroup#1}}\next +% } +% \ReinsertTokens{\begin{verbatim}} +% test +% \end{verbatim} +% \end{document} +%\end{example} +% We don't use that here as we don't want to force the use of +% $\varepsilon$-\TeX\ at this moment. Instead, we read back exactly +% one line via an input stream and execute that. +% \begin{macrocode} + \def\next{% + \endgroup\immediate\closeout\@inputcheck + \let\verbatim@processline\pd@orig@verbatim@processline + \pd@slide\endgroup + \immediate\openout\@inputcheck\jobname.vrb\relax + \immediate\write\@inputcheck{\pd@lyxrem}% + \immediate\closeout\@inputcheck + \immediate\openin\@inputcheck\jobname.vrb\relax + \immediate\read\@inputcheck to\pd@tempa + \immediate\closein\@inputcheck\pd@tempa + }% + \else +% \end{macrocode} +% Write a line of the body to file. +% \begin{macrocode} + \immediate\write\@inputcheck{\the\verbatim@line}% + \let\pd@tempa\relax + \fi + \pd@tempa + }% +% \end{macrocode} +% Start the verbatim reading. +% \begin{macrocode} + \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active + \verbatim@start + }% + \else +% \end{macrocode} +% This is the |direct| method, similar as before. +% \begin{macrocode} + \pd@deloverlays + \let\pd@tempa\pd@sl@de + \def\lyxend{% + \end{pd@minipage}\end{lrbox}% + \ifx\pd@@textpos\@empty\else + \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}% + \fi + \endgroup + }% + \fi + \fi + \pd@tempa +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@lyxget@args@ndbody} +% \meta{body}|\lyxend|\\ +% Collect material until |\lyxend|, save that in the token register +% and start processing the slide, if necessary. +% \begin{macrocode} +\long\def\pd@lyxget@rgs@ndbody#1\lyxend{% + \pd@body{#1}% + \ifpd@display\pd@slide\fi + \endgroup +} +% \end{macrocode} +% \end{macro} +% \begin{macrocode} +\begingroup\lccode`\!`\\\lowercase{\endgroup +% \end{macrocode} +% \begin{macro}{\pd@lyxget@args@ndb@dy} +% \begin{macro}{\pd@lyxget@args@ndb@dy} +% These macros check if |\lyxend| occurs in the input line (in +% sanitize version) and if so, if it occurs on the first character. +% That allows for including |\lyxend| somewhere in the line, for +% instance, in a verbatim text. +% \begin{macrocode} +\def\pd@lyxget@rgs@ndb@dy{% + \@expandtwoargs\in@{!lyxend}{\the\verbatim@line}% + \ifin@\expandafter\pd@lyxget@rgs@ndb@d@\the\verbatim@line\@nil\fi +} +\def\pd@lyxget@rgs@ndb@d@#1!lyxend#2\@nil{% + \ifx\@empty#1\@empty\gdef\pd@lyxrem{#2}\else\in@false\fi +}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\lyxend} +% This macro acts mainly as delimiter and doesn't need to be defined +% but we do it anyway as to make it harmless when there is a superfluous +% one in the file. +% \begin{macrocode} +\def\lyxend{} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\lyxnote} +% \begin{macro}{\lyxslide} +% \begin{macro}{\lyxwideslide} +% \begin{macro}{\lyxemptyslide} +% These create the standard available templates. Any template can be +% supported for \LyX\ in this way. +% \begin{macrocode} +\pddefinelyxtemplate\lyxnote{note} +\pddefinelyxtemplate\lyxslide{slide} +\pddefinelyxtemplate\lyxwideslide{wideslide} +\pddefinelyxtemplate\lyxemptyslide{emptyslide} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \end{macro} +% \end{macro} +% \changes{v1.1}{2005/09/19}{Solved \texttt{itemize} and \pf{frenchb} problem} +% Some compatibility things. We don't want \pf{frenchb} from +% \pf{babel} to redefine the |itemize| environment. +% \begin{macrocode} +\AtBeginDocument{% + \@expandtwoargs\in@{,frenchb.ldf,}{,\@filelist,}% + \ifin@ + \let\bbl@frenchindent\relax + \let\bbl@frenchitemize\relax + \let\bbl@frenchlistspacing\relax + \fi +% \end{macrocode} +% \begin{environment}{thebibliography} +% Redefine the |thebibliography| environment. This is based on +% \pf{article}, but does not create marks or a section. +% \begin{macrocode} + \renewenvironment{thebibliography}[1]{% + \list{\@biblabel{\@arabic\c@enumiv}}{% + \settowidth\labelwidth{\@biblabel{#1}}% + \leftmargin\labelwidth + \advance\leftmargin\labelsep + \@openbib@code + \usecounter{enumiv}% + \let\p@enumiv\@empty + \renewcommand\theenumiv{\@arabic\c@enumiv}% + }% + \sloppy + \clubpenalty4000 + \@clubpenalty \clubpenalty + \widowpenalty4000% + \sfcode`\.\@m + }{% + \def\@noitemerr + {\@latex@warning{Empty `thebibliography' environment}}% + \endlist + }% + \@ifpackageloaded{CJK}{% + \count@=127 + \@whilenum\count@<255\do{% + \advance\count@\@ne + \lccode`\~=\count@ + \catcode\count@=\active + \lowercase{\def~{\kern1ex}}% + }% + \hypersetup{CJKbookmarks=true}% + }{}% +% \end{macrocode} +% \end{environment} +% \begin{macrocode} +} +\ifnum\pd@mode=\z@ +% \end{macrocode} +% \begin{macro}{\label} +% \begin{macro}{\label@in@display} +% \marg{name}\\ +% We redefine these two macros (|\AtBeginDocument| for \pf{nameref}). +% For the current slide, we put all label names in a list. If the name +% reappears, we don't issue the original command anymore. This is necessary +% to avoid writing the same label multiple times because of overlays. +% This disables the check for multiply defined labels inside slides, +% but leaves this system in place over multiple slides. The latter +% macro is used in \pf{amsmath}. +% \begin{macrocode} + \AtBeginDocument{% + \let\pd@orig@label\label + \def\label{\pd@label\pd@orig@label}% + \let\pd@orig@label@in@display\label@in@display + \def\label@in@display{\pd@label\pd@orig@label@in@display}% + } +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@label} +% \meta{label-macro}\marg{name}\\ +% Helper macro that checks reappearance of labels on slides. +% \begin{macrocode} + \def\pd@label#1#2{% + \@expandtwoargs\in@{,#2,}{,\pd@labels,}% + \ifin@\else + \global\XKV@addtolist@x\pd@labels{#2}% + #1{#2}% + \fi + } +% \end{macrocode} +% \end{macro} +% No overlays in print of handout mode. +% \begin{macrocode} +\else\pd@deloverlays\let\pd@pdftrans\relax\fi +% \end{macrocode} +% For handout mode, we make some redefinitions. +% \begin{macrocode} +\ifnum\pd@mode=2 +% \end{macrocode} +% \begin{macro}{\pd@newpage} +% \begin{macro}{\pd@n@wpage} +% Alternate between making a |\newpage| and not. This results in +% two slides per page. +% \begin{macrocode} +\def\pd@n@wpage{% + \gdef\pd@newpage{% + \global\let\pd@newpage\pd@n@wpage + \newpage + }% +} +\let\pd@newpage\pd@n@wpage +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@get@rgsandbody} +% \changes{v1.2}{2005/10/09}{Added \cs{@currentlabel} definition} +% \changes{v1.3}{2005/12/06}{Made body text \cs{raggedright}} +% \changes{v1.4}{2005/12/10}{Fixed \LyX\ handout mode} +% The new slide environment. +% \begin{macrocode} +\def\pd@get@rgsandbody#1[#2]#3{% + \setkeys[pd]{glslide,slide}{#2}% + \def\pd@t@tle{#3}% +% \end{macrocode} +% Determine to include this slide or not. +% \begin{macrocode} + \def\pd@tempa{note}% + \let\pd@resa\@currenvir + \pd@displaytrue + \ifcase\pd@display + \ifx\pd@resa\pd@tempa\relax\pd@displayfalse\fi + \or + \ifx\pd@resa\pd@tempa\else\pd@displayfalse\fi + \fi +% \end{macrocode} +% No bookmarks or targets for notes. +% \begin{macrocode} + \ifx\pd@resa\pd@tempa\else + \stepcounter{slide}% + \edef\@currentlabel{\the\c@slide}% + \let\pd@tempb\@empty + \pd@maketocbm0% + \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend + \fi +% \end{macrocode} +% For \LyX\ handout mode. Reset it immediately to avoid any problems +% with superfluous occurrences of |\lyxend|. +% \begin{macrocode} + \gdef\lyxend{\gdef\lyxend{}\pd@slide}% +% \end{macrocode} +% The |lrbox| will typeset and capture content. This allows for +% verbatim on slides. +% \begin{macrocode} + \begin{lrbox}\pd@textbox +% \end{macrocode} +% $16=2\times7+2\times1$. +% \begin{macrocode} + \@tempdima\linewidth + \ifpd@@nohandoutframes\else + \advance\@tempdima-16pt + \fi + \begin{minipage}\@tempdima + \subsection*\pd@t@tle +% \end{macrocode} +% This |\pd@displaytrue| only acts locally to make sure that |\endslide| +% is executed. +% \begin{macrocode} + \pd@displaytrue\raggedright +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@lyxget@rgsandbody} +% In \LyX\ handout mode, we start making slides in the same way as in +% \LaTeX\ handout mode, but in |\pd@get@rgsandbody|, we need to make +% |\lyxend| to finish the slide boxes which is normally done by +% |\end{slide}| (or friends). +% \begin{macrocode} +\let\pd@lyxget@rgsandbody\pd@get@rgsandbody +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@slide} +% This creates the slide, if necessary. +% \begin{macrocode} +\def\pd@slide{% + \end{minipage}\end{lrbox}% +% \end{macrocode} +% If this slide should be visible, include it in a frame. +% \begin{macrocode} + \ifpd@display + \ifpd@@nohandoutframes + \usebox\pd@textbox + \else + \fboxrule1pt\fboxsep7pt + \fbox{\usebox\pd@textbox}% + \fi + \par\smallskip + \pd@@lf\hfill\ifx\pd@@rf\@empty\else\pd@@rf\ -- \fi + \def\pd@tempa{note}% + \ifx\pd@resa\pd@tempa +% \end{macrocode} +% Determine if this is another note with the same slide. +% \begin{macrocode} + \ifnum\c@slide=\pd@notet + \stepcounter{note}% + \else + \setcounter{note}{1}% + \fi + \xdef\pd@notet{\the\c@slide}% + \thenote + \else\theslide\fi + \par\bigskip + \ifpd@@nohandoutpagebreaks\else\vfill\pd@newpage\fi + \fi +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@maketitle} +% Uses the original \pf{article} |\maketitle| and puts the table of +% contents below it. +% \begin{macrocode} +\def\pd@maketitle[#1]{% + \pd@orig@maketitle + \vskip50pt + \pd@puttoc0% + \newpage + \stepcounter{slide}% +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pdcontentsline} +% \changes{v1.1}{2005/09/19}{Solved toc bug in handout mode} +% \marg{type}\marg{target}\marg{title}\\ +% Make table of contents entries. +% \begin{macrocode} +\def\pd@pdcontentsline#1#2#3{% + \ifnum#1=\z@ +% \end{macrocode} +% Slide. +% \begin{macrocode} + \ifnum\@tempcntb>\z@\hskip15pt\fi + \hyperlink{slide.#2}{#3}% + \leaders\hbox{\hss.\ \hss}\hfill#2\par + \else +% \end{macrocode} +% Section. +% \begin{macrocode} + \if@tempswa\else\vskip10pt\fi + \hyperlink{slide.#2}{\bfseries#3}% + {\hfill\bfseries#2}\par + \global\advance\@tempcntb\@ne + \fi + \@tempswafalse +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@section} +% \oarg{options}\marg{title}\\ +% Like before, but simplified. +% \begin{macrocode} +\def\pd@section[#1]#2{% + \begingroup + \setkeys*[pd]{section}{#1}% + \setrmkeys*[pd]{slide}% + \def\pd@tempa{% + \stepcounter{slide}% + \def\pd@t@tle{#2}% + \pd@maketocbm\pd@tempb + \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend + \pd@orig@section*{#2\normalfont\hfill\theslide}% + }% + \ifnum\pd@display=\@ne\ifpd@@slide\stepcounter{slide}\fi\else + \ifnum\pd@tempb=\z@ + \ifpd@@slide\pd@tempa\fi + \else + \stepcounter{pd@section}% + \pd@tempa + \ifpd@@slide\else\addtocounter{slide}\m@ne\fi + \fi + \fi + \endgroup +} +% \end{macrocode} +% \end{macro} +% End of handout mode specific definitions. +% \begin{macrocode} +\fi +% \end{macrocode} +% Here follow some miscellaneous utility macros. +% \begin{macro}{\@nameedef} +% \marg{csname}\\ +% Similar as |\@namedef|, but uses |\edef| to define the command with +% name \meta{csname}. +% \begin{macrocode} +\def\@nameedef#1{\expandafter\edef\csname#1\endcsname} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@namelet} +% \marg{cs1}\marg{cs2}\\ +% Copy the replacement text of macro with name \meta{cs2} to the macro +% with name \meta{cs1}. We use a private version as |\@namelet| has +% many conflicting definitions is different packages. +% \begin{macrocode} +\def\pd@namelet#1#2{% + \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname +} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@pop} +% \begin{macro}{\pd@p@p} +% \meta{list}\meta{cmd} +% Remove the first element of a comma separated \meta{list} and store +% that in \meta{cmd}. +% \begin{macrocode} +\def\pd@pop#1#2{% + \@expandtwoargs\in@{,}{#1}% + \ifin@\expandafter\pd@p@p#1\@nil#2#1\else\let#2#1\let#1\@empty\fi +} +\def\pd@p@p#1,#2\@nil#3#4{\def#3{#1}\def#4{#2}} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@maxdim} +% \marg{dim1}\marg{dim2}\\ +% Compute the maximum of two dimensions. +% \begin{macrocode} +\def\pd@maxdim#1#2{\ifdim#1>#2#1\else#2\fi} +% \end{macrocode} +% \end{macro} +% \begin{macro}{\pd@minipage} +% \begin{macro}{\endpd@minipage} +% Adapted version of the |minipage| environment to do normal footnote +% typesetting. +% \begin{macrocode} +\def\pd@minipage{% + \leavevmode + \@pboxswfalse + \setlength\@tempdima\pd@@textwidth + \def\@mpargs{{t}{\pd@@textheight}[t]{\pd@@textwidth}}% + \setbox\@tempboxa\vbox\bgroup + \color@begingroup + \hsize\@tempdima + \textwidth\hsize + \columnwidth\hsize + \@parboxrestore + \let\@footnotetext\@mpfootnotetext + \let\@listdepth\@mplistdepth + \@mplistdepth\z@ + \@minipagerestore + \@setminipage +} +\def\endpd@minipage{% + \par + \unskip + \ifvoid\@mpfootins\else + \vfill + \normalcolor + \footnoterule + \unvbox\@mpfootins + \fi + \@minipagefalse + \color@endgroup + \egroup + \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% \begin{macro}{\pd@orig@verbatim@processline} +% Backup of |\verbatim@processline| for restoring after verbatim +% reading of the body of a slide. +% \begin{macrocode} +\let\pd@orig@verbatim@processline\verbatim@processline +% \end{macrocode} +% \end{macro} +% \begin{macro}{\psds@ocircle} +% \begin{macro}{\psds@osquare} +% Two macros for open circle and open square dots by Herbert Vo\ss. +% \begin{macrocode} +\def\psds@ocircle{\pst@gdot{ 0 0 DS 0 360 arc stroke }} +\def\psds@osquare{% + \pst@gdot{ + DS .886 mul /r ED + r r moveto r r neg L r neg r neg L r neg r L + closepath stroke }% +} +% \end{macrocode} +% \end{macro} +% \end{macro} +% Load style. +% \begin{macrocode} +\IfFileExists{powerdot-\pd@@style.sty}{ + \RequirePackage{powerdot-\pd@@style} +}{ + \pd@error{unknown style `\pd@@style'} +} +% \end{macrocode} +% Check integrity of the style file. +% \begin{macrocode} +\ifx\titleslide\@undefined + \pd@error{`titleslide' environment + not defined by style `\pd@@style'} +\fi +\ifx\slide\@undefined + \pd@error{`slide' environment not + defined by style `\pd@@style'} +\fi +\ifx\pd@title\@undefined\let\pd@title\@firstofone\fi +\ifx\pd@slidetitle\@undefined\let\pd@slidetitle\@firstofone\fi +\ifx\pd@sectiontitle\@undefined\let\pd@sectiontitle\@firstofone\fi +% \end{macrocode} +% Define the standard ways to make toc entries and highlighted entries. +% We do this here so that designers could use |\newcommand| or |\def| +% in the style file. +% \begin{macrocode} +\ifx\pd@tocdisplay\@undefined + \def\pd@tocdisplay#1{% + \hskip\@tempdima + \begin{minipage}[b]\@tempdimb + \pd@usedtocfont\color\pd@@toctcolor#1% + \end{minipage}% + } +\fi +\ifx\pd@tochighlight\@undefined + \def\pd@tochighlight#1{% + \psframebox*[framesep=\pd@@tocfrsep,% + fillcolor=\pd@@tochlcolor,boxsep=false]{% + \hskip\@tempdima + \begin{minipage}[b]\@tempdimb + \pd@usedtocfont\color\pd@@tochltcolor#1% + \end{minipage}% + }% + } +\fi +\ifx\pd@tocslide\@undefined\let\pd@tocslide\@firstofone\fi +\ifx\pd@tocsection\@undefined\let\pd@tocsection\@firstofone\fi +%</powerdot> +% \end{macrocode} +% +% \Finale +% \endinput +% +%<*pddefault> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-default}[2014/01/01 v1.5 default style (HA)] +\RequirePackage{pifont} +\definecolor{pdcolor1}{rgb}{.17,.31,.44} +\definecolor{pdcolor2}{rgb}{.75,.85,.92} +\definecolor{pdcolor3}{rgb}{.9,.95,.98} +\pddefinepalettes{blue}{}{red}{ + \colorlet{pdcolor1}{pdcolor1>wheel,150} + \colorlet{pdcolor2}{pdcolor2>wheel,150} + \colorlet{pdcolor3}{pdcolor3>wheel,150} +}{green}{ + \colorlet{pdcolor1}{pdcolor1>wheel,290} + \colorlet{pdcolor2}{pdcolor2>wheel,290} + \colorlet{pdcolor3}{pdcolor3>wheel,290} +}{yellow}{ + \colorlet{pdcolor1}{pdcolor1>wheel,-150} + \colorlet{pdcolor2}{pdcolor2>wheel,-150} + \colorlet{pdcolor3}{pdcolor3>wheel,-150} +}{brown}{ + \colorlet{pdcolor1}{pdcolor1>wheel,180} + \colorlet{pdcolor2}{pdcolor2>wheel,180} + \colorlet{pdcolor3}{pdcolor3>wheel,180} +}{purple}{ + \colorlet{pdcolor1}{pdcolor1>wheel,45} + \colorlet{pdcolor2}{pdcolor2>wheel,45} + \colorlet{pdcolor3}{pdcolor3>wheel,45} +} +\newbox\pd@imagebox +\pdifsetup{landscape}{% + \sbox\pd@imagebox{\includegraphics[trim=50 20 0 20,clip,% + width=.17\slidewidth,height=.1\slideheight]{powerdot-default.ps}% + }% +}{% + \sbox\pd@imagebox{\includegraphics[trim=170 0 80 0,clip,% + height=.1\slideheight]{powerdot-default.ps}% + }% +} +\pddefinetemplate{titleslide}{% + titlefont=\large\bfseries\centering, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + texthook=t,textpos={.5\slidewidth,.7\slideheight}, + textwidth=.9\slidewidth,textfont=\centering, + textheight=.6\slideheight +}{% + \psframe*[linecolor=pdcolor3,linewidth=0pt]% + (0,.8\slideheight)(\slidewidth,0)% + \psline[linecolor=pdcolor1]% + (0,.8\slideheight)(\slidewidth,.8\slideheight)% +} +\pddefinetemplate{basic}{% + titlepos={.2\slidewidth,.93\slideheight}, + titlewidth=.75\slidewidth,textheight=.68\slideheight, + titlefont=\large\bfseries\raggedright, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + tocslidesep=.6ex, + toctcolor=pdcolor1, + tochlcolor=pdcolor1, + tochltcolor=pdcolor3, + ifsetup=portrait, + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth, + tocsecsep=.6ex, + stochook=tr,stocpos={.48\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.52\slidewidth,.09\slideheight}, + ifsetup=landscape, + textpos={.2\slidewidth,.83\slideheight}, + textwidth=.75\slidewidth +}{% + \psframe*[linecolor=pdcolor3,linewidth=0pt]% + (0,\slideheight)(\slidewidth,.9\slideheight)% + \psframe*[linecolor=pdcolor2,linewidth=0pt]% + (0,0)(\slidewidth,.1\slideheight)% + \rput[tl](0,\slideheight){\usebox\pd@imagebox}% +} +\pddefinetemplate[basic]{wideslide}{% + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth +}{} +\pddefinetemplate[basic]{slide}{% + ifsetup=landscape, + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]% + (-.05,-.05)(.143\slidewidth,-.05)} +}{% + \pdifsetup{landscape}{% + \psframe[fillstyle=solid,fillcolor=pdcolor3,linestyle=none,% + linewidth=0pt](0,.9\slideheight)(.17\slidewidth,.1\slideheight)% + }{}% +} +\pddefinetemplate[slide]{sectionslide}{% + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + ifsetup=portrait, + titlewidth=.9\slidewidth, + titlepos={.5\slidewidth,.55\slideheight} +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{% + titlehook=c,titlefont=\Large\bfseries\centering, + titlewidth=.9\slidewidth, + titlepos={.5\slidewidth,.55\slideheight} +}{} +\setkeys[pd]{section}{% + sectemp=sectionslide,widesectemp=sectionwideslide +} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pddefault> +% +%<*pdtycja> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-tycja}[2005/12/10 v1.4 tycja style (HA)] +\RequirePackage{pifont} +\RequirePackage{pst-grad} +\pddefinepalettes{default}{ + \definecolor{pdcolor1}{rgb}{.09,.27,.47} + \definecolor{pdcolor2}{rgb}{1,.81,.42} + \definecolor{pdcolor3}{rgb}{1,.97,.84} +} +\pddefinetemplate{basic}{ + lfpos={.03\slidewidth,.04\slideheight}, + lffont=\scriptsize\color{pdcolor3}, + cfpos={.5\slidewidth,.04\slideheight}, + cffont=\scriptsize\color{pdcolor3}, + rfpos={.97\slidewidth,.04\slideheight}, + rffont=\scriptsize\color{pdcolor3}, + clockcolor=pdcolor1,clockhook=tl,clockalign=0, + clockpos={0,\slideheight}, + tocslidesep=.6ex, + ifsetup=landscape, + textheight=.66\slideheight, + toctcolor=pdcolor1, + tochlcolor=pdcolor1, + tochltcolor=pdcolor3, + tocpos={.845\slidewidth,.81\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]% + (-.05,-.05)(.143\slidewidth,-.05)}, + ifsetup=portrait, + toctcolor=pdcolor3, + tochlcolor=pdcolor3, + tochltcolor=pdcolor1, + tocsecsep=.6ex, + textheight=.68\slideheight, + stochook=tr,stocpos={.48\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.52\slidewidth,.09\slideheight} +}{% + \psframe*[linecolor=pdcolor3](0,0)(\slidewidth,\slideheight)% + \psframe*[linecolor=pdcolor1](0,0)(\slidewidth,.1\slideheight)% + \psline[linecolor=pdcolor1]% + (0,.85\slideheight)(.1\slidewidth,.85\slideheight)% + (.1\slidewidth,.88\slideheight)(\slidewidth,.88\slideheight)% +} +\pddefinetemplate[basic]{titleslide}{ + titlefont=\large\bfseries\centering,texthook=t, + textpos={.5\slidewidth,.7\slideheight}, + textwidth=.75\slidewidth,textfont=\centering, + textheight=.55\slideheight, + ifsetup=landscape,tocpos,ifsetup=portrait,stocpos,ntocpos +}{} +\pddefinetemplate[basic]{slide}{ + titlehook=Br,titlepos={.81\slidewidth,.93\slideheight}, + titlewidth=.76\slidewidth,titlefont=\large\bfseries\raggedleft, + textpos={.12\slidewidth,.81\slideheight},textwidth=.67\slidewidth, + ifsetup=portrait, + titlepos={.9\slidewidth,.93\slideheight},titlewidth=.88\slidewidth, + textwidth=.76\slidewidth +}{% + \pdifsetup{landscape}{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]% + (\slidewidth,.1\slideheight)(.83\slidewidth,\slideheight)% + }{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]% + (\slidewidth,.1\slideheight)(.92\slidewidth,\slideheight)% + }% +} +\pddefinetemplate[basic]{wideslide}{ + titlehook=Br,titlepos={.81\slidewidth,.93\slideheight}, + titlewidth=.76\slidewidth,titlefont=\large\bfseries\raggedleft, + textpos={.12\slidewidth,.81\slideheight},textwidth=.84\slidewidth, + ifsetup=landscape,tocpos,ifsetup=portrait, + titlepos={.9\slidewidth,.93\slideheight},titlewidth=.88\slidewidth, +}{% + \pdifsetup{landscape}{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]% + (\slidewidth,.1\slideheight)(.83\slidewidth,\slideheight)% + \psframe*[linecolor=pdcolor3]% + (.79\slidewidth,.88\slideheight)(\slidewidth,.1\slideheight)% + }{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]% + (\slidewidth,.1\slideheight)(.92\slidewidth,\slideheight)% + \psframe*[linecolor=pdcolor3]% + (.9\slidewidth,.88\slideheight)(\slidewidth,.1\slideheight)% + }% + \psline[linecolor=pdcolor1]% + (0,.85\slideheight)(.1\slidewidth,.85\slideheight)% + (.1\slidewidth,.88\slideheight)(\slidewidth,.88\slideheight)% +} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.455\slidewidth,.55\slideheight}, + titlewidth=.67\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.76\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.76\slidewidth +}{} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdtycja> +% +%<*pdikeda> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-ikeda}[2005/12/10 v1.4 ikeda style (CE,HA)] +\RequirePackage{calc} +\RequirePackage{pifont} +\pddefinepalettes{default}{ + \definecolor{pdcolor1}{rgb}{.941,.98,1} + \definecolor{pdcolor2}{rgb}{.435,.031,.165} + \definecolor{pdcolor3}{rgb}{.051,.094,.29} + \definecolor{pdcolor4}{rgb}{.051,.329,.29} +} +\pddefinetemplate{titleslide}{ + titlefont=\Large\bfseries\centering, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + textpos={.13\slidewidth,.7\slideheight}, + textwidth=.75\slidewidth, + textfont=\centering, + textheight=.56\slideheight +}{% + \psframe*[linecolor=pdcolor2](0,\slideheight)(\slidewidth,0)% + \psframe*[linecolor=pdcolor3]% + (.05\slidewidth,.95\slideheight)(.95\slidewidth,.05\slideheight)% + \psline[linecolor=pdcolor1,linewidth=.01]% + (.1\slidewidth,.1\slideheight)(.1\slidewidth,.9\slideheight)% + \psline[linecolor=pdcolor1,linewidth=.01]% + (.9\slidewidth,.1\slideheight)(.9\slidewidth,.9\slideheight)% + \pspolygon[linestyle=none,fillstyle=vlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.1\slidewidth,.1\slideheight)(.25\slidewidth,.07\slideheight)% + (.5\slidewidth,.1\slideheight)(.75\slidewidth,.13\slideheight)% + (.9\slidewidth,.1\slideheight)% + \pspolygon[linestyle=none,fillstyle=hlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.1\slidewidth,.9\slideheight)(.25\slidewidth,.93\slideheight)% + (.5\slidewidth,.9\slideheight)(.75\slidewidth,.87\slideheight)% + (.9\slidewidth,.9\slideheight)% +} +\pddefinetemplate{basic}{ + titlehook=Bc,titlefont=\large\bfseries\centering, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + tocslidesep=.6ex, + toctcolor=pdcolor1, + tochlcolor=pdcolor3, + tochltcolor=pdcolor1, + ifsetup=portrait, + tocsecsep=.6ex, + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth, + lfpos={.03\slidewidth,.025\slideheight}, + cfpos={.5\slidewidth,.025\slideheight}, + rfpos={.97\slidewidth,.025\slideheight}, + stochook=tr,stocpos={.47\slidewidth,.15\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.53\slidewidth,.15\slideheight}, + ifsetup=landscape, + textpos={.2\slidewidth,.84\slideheight}, + textwidth=.75\slidewidth, + lfpos={.19\slidewidth,.025\slideheight}, + cfpos={.58\slidewidth,.025\slideheight}, + rfpos={.97\slidewidth,.025\slideheight} +}{% + \psframe*[linecolor=pdcolor3](0,0)(\slidewidth,\slideheight)% +} +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + titlewidth=.75\slidewidth, + titlepos={.575\slidewidth,.92\slideheight}, + tocpos={.01\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor3](-.05,-.05)(.143\slidewidth,-.05)}, + textheight=.72\slideheight, + ifsetup=portrait, + titlepos={.5\slidewidth,.88\slideheight}, + titlewidth=.95\slidewidth, + textheight=.64\slideheight +}{{% + \psset{linestyle=none}% + \pdifsetup{landscape}{% + \psframe*[linecolor=pdcolor2](0,0)(.16\slidewidth,\slideheight)% + \setlength\@tempdima{.16\slidewidth-.4cm}% + \setlength\@tempdimb{.97\slideheight-.8cm}% + \psframe*[linecolor=pdcolor3]% + (.16\slidewidth,.97\slideheight)(\@tempdima,\@tempdimb)% + \setlength\@tempdima{.16\slidewidth+.4cm}% + \psframe*[linecolor=pdcolor2]% + (.16\slidewidth,.97\slideheight)(\@tempdima,\@tempdimb)% + \pspolygon[fillstyle=solid,fillcolor=pdcolor3]% + (0,.935\slideheight)(.02\slidewidth,.945\slideheight)% + (.065\slidewidth,.935\slideheight)(.11\slidewidth,.925\slideheight)% + (.13\slidewidth,.935\slideheight)% + \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.185\slidewidth,.09\slideheight)(.335\slidewidth,.06\slideheight)% + (.58\slidewidth,.09\slideheight)% + \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.58\slidewidth,.09\slideheight)(.825\slidewidth,.06\slideheight)% + (.975\slidewidth,.09\slideheight)% + }{% + \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.02\slidewidth,.95\slideheight)(.17\slidewidth,.98\slideheight)% + (.5\slidewidth,.95\slideheight)% + \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.5\slidewidth,.95\slideheight)(.82\slidewidth,.98\slideheight)% + (.98\slidewidth,.95\slideheight)% + \pd@ikedapbg + }% +}} +\pddefinetemplate[basic]{wideslide}{ + lfpos={.03\slidewidth,.025\slideheight}, + cfpos={.5\slidewidth,.025\slideheight}, + titlewidth=.95\slidewidth, + textwidth=.95\slidewidth, + ifsetup=landscape, + titlepos={.5\slidewidth,.88\slideheight}, + textpos={.025\slidewidth,.84\slideheight}, + textheight=.72\slideheight, + ifsetup=portrait, + titlepos={.5\slidewidth,.92\slideheight}, + textpos={.025\slidewidth,.87\slideheight}, + textheight=.68\slideheight +}{{% + \psset{linestyle=none}% + \pdifsetup{landscape}{% + \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.02\slidewidth,.95\slideheight)(.17\slidewidth,.98\slideheight)% + (.5\slidewidth,.95\slideheight)% + \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.5\slidewidth,.95\slideheight)(.83\slidewidth,.98\slideheight)% + (.98\slidewidth,.95\slideheight)% + \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.02\slidewidth,.09\slideheight)(.17\slidewidth,.06\slideheight)% + (.5\slidewidth,.09\slideheight)% + \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]% + (.5\slidewidth,.09\slideheight)(.83\slidewidth,.06\slideheight)% + (.98\slidewidth,.09\slideheight)% + }\pd@ikedapbg +}} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\large\bfseries\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\def\pd@ikedapbg{% + \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,.17\slideheight)% + \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor3,hatchwidth=.1\pslinewidth,hatchsep=1.6pt]% + (.05\slidewidth,.1\slideheight)(.08\slidewidth,.08\slideheight)% + (.14\slidewidth,.1\slideheight)(.20\slidewidth,.12\slideheight)% + (.23\slidewidth,.1\slideheight)% + \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,% + hatchcolor=pdcolor3,hatchwidth=.1\pslinewidth,hatchsep=1.6pt]% + (.77\slidewidth,.1\slideheight)(.80\slidewidth,.12\slideheight)% + (.86\slidewidth,.1\slideheight)(.92\slidewidth,.08\slideheight)% + (.95\slidewidth,.1\slideheight)% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\labelitemi{\color{pdcolor2}\footnotesize\ding{110}} +\def\labelitemii{\color{pdcolor4}\small\ding{115}} +\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}} +\def\labelitemiv{\color{pdcolor4}\tiny\ding{115}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdikeda> +% +%<*pdfyma> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-fyma}[2005/12/10 v1.3 fyma style (SA,HA)] +\RequirePackage{pst-grad} +\definecolor{fymahltcolor}{rgb}{1,0,0} +\pddefinepalettes{blue}{ + \definecolor{pdcolor1}{rgb}{.14,.34,.55} + \definecolor{pdcolor2}{rgb}{.24,.45,.7} + \definecolor{pdcolor3}{rgb}{.88,.95,1} +}{green}{ + \definecolor{pdcolor1}{rgb}{.1,.45,.3} + \definecolor{pdcolor2}{rgb}{.24,.7,.45} + \definecolor{pdcolor3}{rgb}{.88,1,.9} +}{gray}{ + \definecolor{pdcolor1}{gray}{0.25} + \definecolor{pdcolor2}{gray}{0.55} + \definecolor{pdcolor3}{gray}{0.85} +}{brown}{ + \definecolor{pdcolor1}{rgb}{.52,.32,.12} + \definecolor{pdcolor2}{rgb}{.7,.45,.24} + \definecolor{pdcolor3}{rgb}{.97,.92,.92} +}{orange}{ + \definecolor{pdcolor1}{rgb}{.8,.23,.24} + \definecolor{pdcolor2}{rgb}{.95,.53,.44} + \definecolor{pdcolor3}{rgb}{1,.92,.87} + \definecolor{fymahltcolor}{rgb}{.23,.25,.5} +} +\pddefinetemplate{basic}{ + titlefont=\large\bfseries\raggedright, + clockpos={.96\slidewidth,.97\slideheight},clockcolor=pdcolor1, + tocslidesep=.6ex, + toctcolor=pdcolor1, + tochlcolor=pdcolor1, + tochltcolor=fymahltcolor, + ifsetup=portrait, + textheight=.67\slideheight, + titlepos={.06\slidewidth,.9\slideheight}, + titlewidth=.75\slidewidth, + textpos={.09\slidewidth,.83\slideheight}, + textwidth=.85\slidewidth, + tocsecsep=.6ex, + stochook=tr,stocpos={.48\slidewidth,.12\slideheight}, + stocfont=\tiny\raggedleft, + ntochook=tl,ntocpos={.52\slidewidth,.12\slideheight}, + lfpos={.06\slidewidth,.045\slideheight}, + cfpos={.5\slidewidth,.045\slideheight}, + rfpos={.94\slidewidth,.045\slideheight}, + ifsetup=landscape, + titlepos={.205\slidewidth,.9\slideheight}, + titlewidth=.75\slidewidth, + textheight=.72\slideheight, + textpos={.23\slidewidth,.82\slideheight}, + textwidth=.72\slidewidth, + lfpos={.04\slidewidth,.03\slideheight}, + cfpos={.5\slidewidth,.03\slideheight}, + rfpos={.96\slidewidth,.03\slideheight}, + tocpos={.04\slidewidth,.82\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]% + (-.05,-.05)(.143\slidewidth,-.05)} +}{{% + \psset{linewidth=.8pt,linecolor=pdcolor2}% + \pdifsetup{landscape}{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,% + gradend=white,gradmidpoint=0,dimen=outer]% + (.03\slidewidth,.97\slideheight)(.97\slidewidth,.055\slideheight)% + \psline + (.02\slidewidth,.055\slideheight)(.98\slidewidth,.055\slideheight)% + \psline + (.03\slidewidth,.07\slideheight)(.03\slidewidth,.045\slideheight)% + \psline + (.97\slidewidth,.07\slideheight)(.97\slidewidth,.045\slideheight)% + }{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,% + gradend=pdcolor3,gradmidpoint=.85,dimen=outer]% + (.03\slidewidth,.97\slideheight)(.97\slidewidth,.03\slideheight)% + \psline + (.02\slidewidth,.03\slideheight)(.98\slidewidth,.03\slideheight)% + \psline + (.03\slidewidth,.045\slideheight)(.03\slidewidth,.02\slideheight)% + \psline + (.97\slidewidth,.045\slideheight)(.97\slidewidth,.02\slideheight)% + }% + \psline + (.02\slidewidth,.97\slideheight)(.98\slidewidth,.97\slideheight)% + \psline + (.03\slidewidth,.98\slideheight)(.03\slidewidth,.955\slideheight)% + \psline + (.97\slidewidth,.98\slideheight)(.97\slidewidth,.955\slideheight)% +}} +\pddefinetemplate[basic]{titleslide}{ + texthook=t,textpos={.5\slidewidth,.7\slideheight}, + textwidth=.9\slidewidth,textfont=\centering, + textheight=.6\slideheight, + titlefont=\large\bfseries\centering,tocpos,ntocpos,stocpos +}{} +\pddefinetemplate[basic]{slide}{}{% + \pdifsetup{landscape}{% + \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=white,% + gradmidpoint=1,linestyle=none,dimen=outer,linewidth=.8pt]% + (.03\slidewidth,.97\slideheight)(.195\slidewidth,.055\slideheight)% + }{}% +} +\pddefinetemplate[basic]{wideslide}{ + ifsetup=landscape,tocpos, + titlepos={.055\slidewidth,.9\slideheight}, + titlewidth=.75\slidewidth, + textpos={.07\slidewidth,.83\slideheight}, + textwidth=.83\slidewidth +}{} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.59\slidewidth,.525\slideheight}, + titlewidth=.5\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.525\slideheight}, + titlewidth=.68\slidewidth +}{{% + \psset{linewidth=.8pt,linecolor=pdcolor2}% + \pdifsetup{landscape}{% + \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]% + (.34\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)% + \psline + (.33\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)% + \psline + (.33\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)% + \psline + (.34\slidewidth,.635\slideheight)(.34\slidewidth,.66\slideheight)% + \psline + (.34\slidewidth,.39\slideheight)(.34\slidewidth,.415\slideheight)% + }{% + \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]% + (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)% + \psline + (.15\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)% + \psline + (.15\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)% + \psline + (.16\slidewidth,.635\slideheight)(.16\slidewidth,.66\slideheight)% + \psline + (.16\slidewidth,.39\slideheight)(.16\slidewidth,.415\slideheight)% + }% + \psline + (.84\slidewidth,.635\slideheight)(.84\slidewidth,.66\slideheight)% + \psline + (.84\slidewidth,.39\slideheight)(.84\slidewidth,.415\slideheight)% +}} +\pddefinetemplate[wideslide]{sectionwideslide}{% + titlehook=c,titlefont=\Large\bfseries\centering, + titlepos={.5\slidewidth,.525\slideheight}, + titlewidth=.68\slidewidth +}{{% + \psset{linewidth=.8pt,linecolor=pdcolor2}% + \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]% + (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)% + \psline + (.15\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)% + \psline + (.15\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)% + \psline + (.16\slidewidth,.635\slideheight)(.16\slidewidth,.66\slideheight)% + \psline + (.16\slidewidth,.39\slideheight)(.16\slidewidth,.415\slideheight)% + \psline + (.84\slidewidth,.635\slideheight)(.84\slidewidth,.66\slideheight)% + \psline + (.84\slidewidth,.39\slideheight)(.84\slidewidth,.415\slideheight)% +}} +\def\pd@slidetitle#1{% + \settowidth\@tempdima{#1}% + \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi + \psline[linewidth=.8pt,linecolor=pdcolor1]% + (0,-.15cm)(\@tempdima,-.15cm)% + \parbox[b]\pd@@titlewidth{#1}% +} +\def\pd@tochighlight#1{% + \begin{minipage}[b]\pd@@tocwidth + \pd@usedtocfont\color\pd@@tochltcolor#1% + \end{minipage}% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\ensuremath\bullet} #1}}{} +\def\labelitemi{\small\ensuremath\bullet} +\def\labelitemii{\small\ensuremath\circ} +\def\labelitemiii{\scriptsize\ensuremath\bullet} +\def\labelitemiv{\scriptsize\ensuremath\circ} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{phv} +\def\sfdefault{phv} +\def\Hv@scale{.86} +%</pdfyma> +% +%<*pdsimple> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-simple}[2005/12/10 v1.3 simple style (HA)] +\RequirePackage{pifont} +\RequirePackage{amssymb} +\pddefinepalettes{default}{\colorlet{pdcolor1}{black}} +\pddefinetemplate{titleslide}{ + titlefont=\large\bfseries\raggedright, + clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + texthook=tl,textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth,textfont=\tabcolsep0pt, + textheight=.66\slideheight +}{% + \psline[linewidth=.8pt](0,.9\slideheight)(\slidewidth,.9\slideheight)% + \psline[linewidth=.8pt](0,.1\slideheight)(\slidewidth,.1\slideheight)% +} +\pddefinetemplate{basic}{ + titlepos={.05\slidewidth,.93\slideheight}, + titlewidth=.9\slidewidth,textheight=.66\slideheight, + titlefont=\large\bfseries\raggedright, + clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + tocslidesep=.6ex,textheight=.68\slideheight, + ifsetup=portrait, + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth, + tocsecsep=.6ex, + stochook=tr,stocpos={.48\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.52\slidewidth,.09\slideheight}, + ifsetup=landscape, + textpos={.2\slidewidth,.83\slideheight}, + textwidth=.75\slidewidth +}{% + \psline[linewidth=.8pt](0,.9\slideheight)(\slidewidth,.9\slideheight)% + \psline[linewidth=.8pt](0,.1\slideheight)(\slidewidth,.1\slideheight)% +} +\pddefinetemplate[basic]{wideslide}{ + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth +}{} +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=gray]% + (-.05,-.05)(.143\slidewidth,-.05)} +}{% + \pdifsetup{landscape}{% + \psframe[fillstyle=solid,fillcolor=black!10,linestyle=none,% + linewidth=.8pt](-.01\slidewidth,.9\slideheight)% + (.17\slidewidth,.1\slideheight)% + }{}% +} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\pd@tochighlight#1{\pd@tocsimple\phantom{#1}} +\def\pd@tochighlight#1{\pd@tocsimple\@firstofone{#1}} +\def\pd@tocsimple#1#2{% + \@tempdima\pd@@tocwidth + \settowidth\@tempdimb{\normalsize\ensuremath\triangleright\hskip1mm}% + \advance\@tempdima-\@tempdimb + \ifnum\pd@toctype=\@ne\else + #1{\normalsize\ensuremath\triangleright\hskip1mm}% + \fi + \begin{minipage}[b]\@tempdima + \pd@usedtocfont#2% + \end{minipage}% + \ifnum\pd@toctype=\@ne + #1{\hskip1mm\normalsize\ensuremath\triangleleft}% + \fi +} +\def\labelitemi{\footnotesize\ensuremath\square} +\def\labelitemii{\small--} +\def\labelitemiii{\tiny\ensuremath\triangleright} +\def\labelitemiv{\tiny\ding{110}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdsimple> +% +%<*pdciment> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-ciment}[2005/12/10 v1.3 ciment style (HA)] +\RequirePackage{pifont} +\pddefinepalettes{default}{ + \colorlet{pdcolor1}{black} + \definecolor{pdcolor2}{rgb}{.7,.1,.1} + \definecolor{pdcolor3}{rgb}{.2,.2,.2} + \definecolor{pdcolor4}{rgb}{.75,.75,.75} +} +\pddefinetemplate{basic}{ + titlepos={.1\slidewidth,.93\slideheight}, + titlewidth=.85\slidewidth, + titlefont=\color{pdcolor2}\large\bfseries\raggedright, + clockpos={.99\slidewidth,\slideheight}, + lfpos={.05\slidewidth,.04\slideheight}, + lffont=\color{pdcolor3}\scriptsize, + cfpos={.5\slidewidth,.04\slideheight}, + cffont=\color{pdcolor3}\scriptsize, + rfpos={.95\slidewidth,.04\slideheight}, + rffont=\color{pdcolor3}\scriptsize, + tocslidesep=.6ex, + toctcolor=black, + tochlcolor=pdcolor2, + tochltcolor=white, + ifsetup=portrait, + textpos={.05\slidewidth,.85\slideheight}, + textwidth=.9\slidewidth,textheight=.68\slideheight, + tocsecsep=.6ex, + stochook=tr,stocpos={.48\slidewidth,.13\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.52\slidewidth,.13\slideheight}, + ifsetup=landscape, + textpos={.2\slidewidth,.85\slideheight}, + textwidth=.75\slidewidth,textheight=.7\slideheight +}{% + \psframe[linewidth=0pt,linestyle=none,fillstyle=hlines,% + hatchwidth=.4pt,hatchangle=0,hatchcolor=pdcolor4]% + (0,0)(\slidewidth,\slideheight)% + \pdifsetup{landscape}{% + \psline[linecolor=pdcolor2](.05\slidewidth,.09\slideheight)% + (.95\slidewidth,.09\slideheight)% + }{% + \psline[linecolor=pdcolor2](.05\slidewidth,.15\slideheight)% + (.95\slidewidth,.15\slideheight)% + }% +} +\pddefinetemplate[basic]{titleslide}{ + titlefont=\color{pdcolor2}\large\bfseries\centering, + texthook=t,textpos={.5\slidewidth,.7\slideheight}, + textwidth=.9\slidewidth,textfont=\centering, + textheight=.6\slideheight,titlepos, + ifsetup=portrait,textheight=.53\slideheight +}{} +\pddefinetemplate[basic]{wideslide}{ + textpos={.05\slidewidth,.85\slideheight}, + textwidth=.9\slidewidth +}{} +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]% + (-.05,-.05)(.143\slidewidth,-.05)} +}{% + \pdifsetup{landscape}{% + \psframe[fillstyle=solid,fillcolor=pdcolor4,linestyle=none,% + linewidth=0pt](0,.85\slideheight)(.17\slidewidth,.15\slideheight)% + }{}% +} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\color{pdcolor2}\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\color{pdcolor2}\Large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\def\pd@slidetitle#1{% + \psline[linecolor=pdcolor2](0,-.15cm)(.85\slidewidth,-.15cm)% + \settowidth\@tempdima{#1}% + \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi + \psline[linecolor=pdcolor2,linewidth=2.5pt]% + (0,-.15cm)(\@tempdima,-.15cm)% + \parbox[b]\pd@@titlewidth{#1}% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\ding{226}}#1}}{} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdciment> +% +%<*pdelcolors> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-elcolors}[2005/12/10 v1.3 elcolors style (HA)] +\RequirePackage{pifont} +\pddefinepalettes{default}{ + \definecolor{pdcolor1}{rgb}{.17,.31,.44} + \colorlet{pdcolor2}{yellow!10} + \colorlet{pdcolor3}{red!10} + \colorlet{pdcolor4}{blue!10} + \colorlet{pdcolor5}{rgb,2:pdcolor2,1;pdcolor3,1} + \colorlet{pdcolor6}{rgb,2:pdcolor2,1;pdcolor4,1} +} +\pddefinetemplate{basic}{ + titlepos={.95\slidewidth,.93\slideheight},titlehook=Br, + titlewidth=.75\slidewidth,textheight=.68\slideheight, + titlefont=\large\bfseries\raggedleft, + clockcolor=pdcolor1,clockhook=tl,clockalign=0, + clockpos={0,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + tocslidesep=.6ex, + toctcolor=pdcolor1, + tochlcolor=pdcolor1, + tochltcolor=pdcolor4, + ifsetup=portrait, + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth, + tocsecsep=.6ex, + stochook=tr,stocpos={.42\slidewidth,.13\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.46\slidewidth,.13\slideheight}, + ifsetup=landscape, + textpos={.2\slidewidth,.83\slideheight}, + textwidth=.68\slidewidth +}{{% + \psset{linewidth=0pt}% + \psframe*[linecolor=pdcolor3]% + (0,0)(.44\slidewidth,.14\slideheight)% + \psframe*[linecolor=pdcolor3]% + (\slidewidth,\slideheight)(.56\slidewidth,.86\slideheight)% + \psframe*[linecolor=pdcolor2]% + (.09\slidewidth,.09\slideheight)(.91\slidewidth,.91\slideheight)% + \psframe*[linecolor=pdcolor5]% + (.09\slidewidth,.09\slideheight)(.44\slidewidth,.14\slideheight)% + \psframe*[linecolor=pdcolor5]% + (.91\slidewidth,.91\slideheight)(.56\slidewidth,.86\slideheight)% +}} +\pddefinetemplate[basic]{titleslide}{ + titlefont=\large\bfseries\centering, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + texthook=t,textpos={.5\slidewidth,.7\slideheight}, + textwidth=.76\slidewidth,textfont=\centering, + textheight=.55\slideheight +}{} +\pddefinetemplate[basic]{wideslide}{ + textpos={.12\slidewidth,.83\slideheight}, + textwidth=.76\slidewidth +}{} +\pdifsetup{portrait}{% + \pddefinetemplate[wideslide]{slide}{}{}% +}{% + \pddefinetemplate[basic]{slide}{ + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]% + (-.05,-.05)(.143\slidewidth,-.05)} + }{% + \psframe*[linecolor=pdcolor4,linewidth=0pt]% + (0,\slideheight)(.17\slidewidth,.2\slideheight)% + \psframe*[linecolor=pdcolor6,linewidth=0pt]% + (.09\slidewidth,.91\slideheight)(.17\slidewidth,.2\slideheight)% + } +} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.54\slidewidth,.55\slideheight}, + titlewidth=.68\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.76\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.76\slidewidth +}{} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdelcolors> +% +%<*pdaggie> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-aggie}[2005/12/10 v1.3 aggie style (JS,HA)] +\RequirePackage{times} +\RequirePackage{pifont} +\RequirePackage{pst-grad} +\pddefinepalettes{default}{ + \definecolor{pdcolor1}{rgb}{.17,.31,.44} + \definecolor{pdcolor2}{rgb}{.51,.13,.16} + \definecolor{pdcolor3}{rgb}{.96,.94,.89} + \definecolor{pdcolor4}{rgb}{.89,.85,.69} +} +\pddefinetemplate{titleslide}{ + titlefont=\Large\bfseries\color{pdcolor2}\centering, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + lffont=\tiny,cffont=\tiny,rffont=\tiny, + texthook=t,textpos={.5\slidewidth,.65\slideheight}, + textwidth=.9\slidewidth,textfont=\centering, + textheight=.5\slideheight, + ifsetup=portrait, + textheight=.55\slideheight, + lfpos={.03\slidewidth,.03\slideheight}, + cfpos={.5\slidewidth,.03\slideheight}, + rfpos={.97\slidewidth,.03\slideheight} +}{% + \psframe*[linecolor=pdcolor3,linewidth=0pt]% + (0,.85\slideheight)(\slidewidth,0)% + \psline[linecolor=pdcolor2]% + (0,.85\slideheight)(\slidewidth,.85\slideheight)% + \psellipse[linestyle=solid,linecolor=pdcolor2,fillstyle=solid,% + fillcolor=pdcolor4](.5\slidewidth,0)(.7\slidewidth,.1\slidewidth)% +} +\pddefinetemplate{basic}{ + titlepos={.2\slidewidth,.93\slideheight}, + titlewidth=.75\slidewidth,textheight=.66\slideheight, + titlefont=\Large\sl\bfseries\color{pdcolor2}\raggedright, + lfpos={.03\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.97\slidewidth,.04\slideheight}, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + lffont=\tiny,cffont=\tiny,rffont=\tiny, + tocslidesep=.8ex, + textheight=.74\slideheight, + toctcolor=pdcolor1, + tochlcolor=pdcolor2, + tochltcolor=white, + ifsetup=portrait, + lfpos={.03\slidewidth,.03\slideheight}, + cfpos={.5\slidewidth,.03\slideheight}, + rfpos={.97\slidewidth,.03\slideheight}, + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth, + tocsecsep=.8ex, + stochook=tr,stocpos={.48\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.52\slidewidth,.09\slideheight}, + ifsetup=landscape, + textpos={.2\slidewidth,.83\slideheight}, + textwidth=.75\slidewidth +}{% +} +\pddefinetemplate[basic]{wideslide}{ + textpos={.05\slidewidth,.83\slideheight}, + textwidth=.9\slidewidth, + ifsetup=portrait,textheight=.7\slideheight +}{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,% + gradend=white,gradmidpoint=1,gradangle=90,linewidth=0pt]% + (0,\slideheight)(\slidewidth,.9\slideheight)% + \pd@aggiebg +} +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]% + (-.05,-.05)(.143\slidewidth,-.05)}, + ifsetup=portrait,textheight=.7\slideheight +}{% + \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=white,% + gradmidpoint=0,linestyle=none,linewidth=0pt]% + (0,.9\slideheight)(.25\slidewidth,.075\slideheight)% + \psellipse*[linecolor=white](.25\slidewidth,.6\slideheight)% + (.075\slidewidth,.7\slideheight)% + \pd@aggiebg +} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\color{pdcolor2}\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\Large\bfseries\color{pdcolor2}\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\def\pd@aggiebg{% + \pdifsetup{landscape}{% + \psframe*[linecolor=pdcolor4](0,0)(\slidewidth,.075\slideheight)% + \psline[linecolor=pdcolor2,linewidth=.5pt]% + (0,.075\slideheight)(\slidewidth,.075\slideheight)% + }{% + \psframe*[linecolor=pdcolor4](0,0)(\slidewidth,.1\slideheight)% + \psline[linecolor=pdcolor2,linewidth=.5pt]% + (0,.1\slideheight)(\slidewidth,.1\slideheight)% + }% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\pd@tocslide#1{\ding{118}\,#1} +\def\labelitemi{\color{pdcolor2}\footnotesize\ding{108}} +\def\labelitemii{\color{pdcolor2}\small\ding{70}} +\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}} +\def\labelitemiv{\color{pdcolor2}\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\renewcommand\familydefault{\sfdefault} +%</pdaggie> +% +%<*pdhusky> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-husky}[2005/12/10 v1.3 husky style (JS,HA)] +\RequirePackage{times} +\RequirePackage{pifont} +\RequirePackage{pst-grad} +\pddefinepalettes{default}{ + \definecolor{pdcolor1}{rgb}{.03,0,.29} + \definecolor{pdcolor2}{rgb}{.75,0,0} + \definecolor{pdcolor3}{rgb}{.92,.92,.92} +} +\pddefinetemplate{titleslide}{ + titlefont=\Large\rmfamily\bfseries\color{pdcolor2}\centering, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + lffont=\tiny\color{white}, + cfpos={.5\slidewidth,.04\slideheight}, + cffont=\tiny\color{white}, + rfpos={.97\slidewidth,.04\slideheight}, + rffont=\tiny\color{white}, + texthook=t,textpos={.5\slidewidth,.75\slideheight}, + textwidth=.9\slidewidth,textfont=\centering, + textheight=.66\slideheight, + ifsetup=portrait, + textheight=.63\slideheight, + lfpos={.03\slidewidth,.03\slideheight}, + cfpos={.5\slidewidth,.03\slideheight}, + rfpos={.97\slidewidth,.03\slideheight}, +}{{% + \psset{linestyle=none,linecolor=pdcolor3}% + \pspolygon*(\slidewidth,.385\slideheight)% + (.6\slidewidth,\slideheight)(.85\slidewidth,\slideheight)% + (\slidewidth,.57\slideheight)% + \pspolygon*(\slidewidth,.25\slideheight)% + (.15\slidewidth,\slideheight)(.5\slidewidth,\slideheight)% + (\slidewidth,.35\slideheight)% + \pspolygon*(\slidewidth,.15\slideheight)% + (0,.65\slideheight)(0,\slideheight)(.01\slidewidth,\slideheight)% + (\slidewidth,.225\slideheight)% + \pspolygon*(\slidewidth,.07\slideheight)% + (0,.25\slideheight)(0,.535\slideheight)% + (\slidewidth,.13\slideheight)% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,% + gradend=white,gradmidpoint=1,gradangle=90](0,.9\slideheight)% + (\slidewidth,.9\slideheight)% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,% + gradend=white,gradmidpoint=1,gradangle=90](0,.893\slideheight)% + (\slidewidth,.893\slideheight)% + \pd@huskybg +}} +\pddefinetemplate{basic}{ + titlepos={.2\slidewidth,.93\slideheight}, + titlewidth=.75\slidewidth,textheight=.66\slideheight, + titlefont=\Large\rmfamily\slshape\bfseries\color{pdcolor2}\raggedright, + clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight}, + lfpos={.03\slidewidth,.04\slideheight}, + lffont=\tiny\color{white}, + cfpos={.5\slidewidth,.04\slideheight}, + cffont=\tiny\color{white}, + rfpos={.97\slidewidth,.04\slideheight}, + rffont=\tiny\color{white}, + tocslidesep=.8ex, + toctcolor=black, + tochlcolor=pdcolor2, + tochltcolor=white, + ifsetup=portrait, + toctcolor=white, + tochlcolor=black, + titlepos={.05\slidewidth,.93\slideheight}, + lfpos={.03\slidewidth,.03\slideheight}, + cfpos={.5\slidewidth,.03\slideheight}, + rfpos={.97\slidewidth,.03\slideheight}, + textpos={.05\slidewidth,.85\slideheight}, + textheight=.73\slideheight, + textwidth=.9\slidewidth, + tocsecsep=.8ex, + stochook=tr,stocpos={.48\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + ntochook=tl,ntocpos={.52\slidewidth,.09\slideheight}, + ntocfont=\tiny\raggedright, + ifsetup=landscape, + textpos={.2\slidewidth,.83\slideheight}, + textwidth=.75\slidewidth, + textheight=.74\slideheight, +}{{% + \psset{linestyle=none,linecolor=pdcolor3}% + \pspolygon*(\slidewidth,.385\slideheight)% + (.6\slidewidth,\slideheight)(.85\slidewidth,\slideheight)% + (\slidewidth,.57\slideheight)% + \pspolygon*(\slidewidth,.25\slideheight)% + (.15\slidewidth,\slideheight)(.5\slidewidth,\slideheight)% + (\slidewidth,.35\slideheight)% + \pspolygon*(\slidewidth,.15\slideheight)% + (0,.65\slideheight)(0,\slideheight)(.01\slidewidth,\slideheight)% + (\slidewidth,.225\slideheight)% + \pspolygon*(\slidewidth,.07\slideheight)% + (0,.25\slideheight)(0,.535\slideheight)% + (\slidewidth,.13\slideheight)% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=white,gradmidpoint=1,gradangle=90](0,.9\slideheight)% + (\slidewidth,.9\slideheight)% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=white,gradmidpoint=1,gradangle=90](0,.893\slideheight)% + (\slidewidth,.893\slideheight)% + \pd@huskybg +}} +\pddefinetemplate[basic]{wideslide}{ + textwidth=.9\slidewidth, + ifsetup=landscape, + textpos={.05\slidewidth,.83\slideheight}, + titlepos={.05\slidewidth,.93\slideheight} +}{% +} +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]% + (-.05,-.05)(.143\slidewidth,-.05)}, +}{% + \pdifsetup{landscape}{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,% + gradend=black,gradmidpoint=.5](.175\slidewidth,.12\slideheight)% + (.18\slidewidth,.95\slideheight)% + }{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,% + gradend=black,gradmidpoint=.25](.025\slidewidth,.12\slideheight)% + (.025\slidewidth,\slideheight)% + }% +} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c, + titlefont=\LARGE\rmfamily\slshape\bfseries\color{pdcolor2}\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c, + titlefont=\LARGE\rmfamily\slshape\bfseries\color{pdcolor2}\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\def\pd@huskybg{% + \pdifsetup{landscape}{% + \psframe*[linecolor=pdcolor2,linewidth=0pt]% + (0,0)(\slidewidth,.075\slideheight)% + \psline[linecolor=black,linewidth=1pt]% + (0,.075\slideheight)(\slidewidth,.075\slideheight)% + }{% + \psframe*[linecolor=pdcolor2,linewidth=0pt]% + (0,0)(\slidewidth,.1\slideheight)% + \psline[linecolor=black,linewidth=1pt]% + (0,.1\slideheight)(\slidewidth,.1\slideheight)% + }% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\pd@tocslide#1{\ding{118}\,#1} +\def\labelitemi{\color{pdcolor2}\footnotesize\ding{108}} +\def\labelitemii{\color{pdcolor2}\small\ding{70}} +\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}} +\def\labelitemiv{\color{pdcolor2}\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\renewcommand\familydefault{\sfdefault} +%</pdhusky> +% +%<*pdsailor> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-sailor}[2005/12/10 v1.3 sailor style (MH,HA)] +\RequirePackage{calc} +\RequirePackage{amssymb} +\RequirePackage{pst-grad} +\pddefinepalettes{Sea}{% Sea sailor (default) + \definecolor{pdcolor1}{rgb}{.141,.188,.235} % Dark blue #24303C + \definecolor{pdcolor2}{rgb}{.298,.392,.490} % Medium blue #4C647D + \definecolor{pdcolor3}{rgb}{.522,.592,.647} % Light blue #8597A5 + \definecolor{pdcolor4}{rgb}{.8627,.8941,.9255} % Lighter blue #DCE4EC +}{River}{% River variant + \definecolor{pdcolor1}{rgb}{.141,.235,.192} % Dark green #243C31 + \definecolor{pdcolor2}{rgb}{.298,.490,.404} % Medium green #4C7D67 + \definecolor{pdcolor3}{rgb}{.522,.647,.592} % Light green #85A597 + \definecolor{pdcolor4}{rgb}{.8627,.9255,.8980} % Lighter green #DCECE5 +}{Wine}{% Wine variant + \definecolor{pdcolor1}{rgb}{.235,.141,.161} % Dark red #3C2429 + \definecolor{pdcolor2}{rgb}{.490,.298,.337} % Medium red #7D4C56 + \definecolor{pdcolor3}{rgb}{.647,.522,.545} % Light red #A5858B + \definecolor{pdcolor4}{rgb}{.9255,.8627,.8745} % Lighter red #ECDCDF +}{Chocolate}{% Chocolate variant + \definecolor{pdcolor1}{rgb}{.235,.212,.141} % Dark brown #3C3624 + \definecolor{pdcolor2}{rgb}{.490,.443,.298} % Medium brown #7D714C + \definecolor{pdcolor3}{rgb}{.647,.616,.522} % Light brown #A59D85 + \definecolor{pdcolor4}{rgb}{.9255,.9098,.8627} % Lighter brown #ECE8DC +}{Cocktail}{% Cocktail variant + \definecolor{pdcolor1}{rgb}{.180,.141,.235} % Dark violet #2E243C + \definecolor{pdcolor2}{rgb}{.380,.298,.490} % Medium violet #614C7D + \definecolor{pdcolor3}{rgb}{.576,.522,.647} % Light violet #9385A5 + \definecolor{pdcolor4}{rgb}{.8902,.8627,.9255} % Lighter violet #E3DCEC +} +\pddefinetemplate{basic}{% + texthook=tl, + titlefont=\Large\bfseries\color{white}\raggedleft, + clockhook=tl,clockpos={0,\slideheight},clockalign=0, + iacolor=pdcolor3, + toctcolor=pdcolor3, + tochlcolor=white, + tochltcolor=pdcolor1, + ifsetup=landscape, + lfpos={.02\slidewidth,.02\slideheight}, + cfpos={.5\slidewidth,.02\slideheight}, + rfpos={.98\slidewidth,.02\slideheight}, + tocsecsep=2.5ex, + tocslidesep=1.2ex, + tocslideindent=1ex, + tocpos={.01\slidewidth,.8\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]% + (-.05,-.05)(.14\slidewidth,-.05)}, + ifsetup=portrait, + lfpos={.02\slidewidth,.015\slideheight}, + cfpos={.5\slidewidth,.015\slideheight}, + rfpos={.98\slidewidth,.015\slideheight}, + tocsecsep=.1ex, + tocslidesep=.1ex, + stochook=tr, + stocpos={.49\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + stocwidth=.48\slidewidth, + ntocpos={.51\slidewidth,.09\slideheight}, + ntocwidth=.48\slidewidth, +}{} +\pddefinetemplate[basic]{topframe}{% + titlehook=r, + clockcolor=white, + ifsetup=landscape, + titlewidth=.9\slidewidth, + titlepos={.95\slidewidth,.92\slideheight}, + textheight=.74\slideheight, + textpos={.2\slidewidth,.8\slideheight}, + textwidth=.77\slidewidth, + ifsetup=portrait, + titlewidth=.94\slidewidth, + titlepos={.98\slidewidth,.95\slideheight}, + textheight=.75\slideheight, + textpos={.03\slidewidth,.87\slideheight}, + textwidth=.94\slidewidth +}{% + \pdifsetup{landscape}{% + \pd@sailorroundedtopframe{.15\slideheight}% + }{% + \pd@sailorroundedtopframe{.1\slideheight}% + }% +} +\pddefinetemplate[basic]{titleslide}{% + texthook=rt, + textpos={.95\slidewidth,.77\slideheight}, + textwidth=.9\slidewidth, + textfont=\color{pdcolor1}\raggedleft\tabcolsep0pt, + textheight=.72\slideheight, + titlefont=\Large\bfseries\color{white}, + clockcolor=pdcolor1, + tocpos,ntocpos,stocpos +}{{% + \psset{linecolor=pdcolor1}% + \pdifsetup{landscape}{% + \pd@sailorroundedframe{\slidewidth}{.25\slidewidth}{.7\slideheight}% + {.17\slideheight}% + }{% + \pd@sailorroundedframe{\slidewidth}{.25\slidewidth}{.7\slideheight}% + {.12\slideheight}% + }% + \pd@sailorgrad\slidewidth{.5\slideheight}% + \psset{linecolor=pdcolor3}% + \psarc*(0,.2\slideheight){3pt}{270}{90}% + \multips(.08\slidewidth,.2\slideheight)(.08\slidewidth,0){9}{% + \qdisk(0,0){3pt}% + }% +}} +\pddefinetemplate[topframe]{slide}{}{{% + \pdifsetup{landscape}{% + \pd@sailorgrad{.16\slidewidth}{.5\slideheight}% + \psset{linecolor=pdcolor3}% + \multips(.16\slidewidth,0.75pt)(0,.01\slideheight){82}{% + \qdisk(0,0){.75pt}% + }% + }\pd@sailortocbg +}} +\pddefinetemplate[topframe]{wideslide}{% + tocpos,ifsetup=landscape, + textpos={.03\slidewidth,.8\slideheight}, + textwidth=.94\slidewidth +}{% + \pdifsetup{portrait}\pd@sailortocbg{}% +} +\pddefinetemplate[slide]{sectionslide}{% + titlefont=\Large\bfseries\color{pdcolor1}\centering, + titlehook=c, + titlewidth=.55\slidewidth, + ifsetup=landscape, + titlepos={.58\slidewidth,.55\slideheight}, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, +}{} +\pddefinetemplate[basic]{sectionwideslide}{% + tocpos,stocpos,ntocpos, + titlehook=c,titlewidth=.75\slidewidth, + titlepos={.4\slidewidth,.695\slideheight}, + titlefont=\Large\bfseries\color{white}\centering +}{{% + \pd@sailorgrad\slidewidth{.5\slideheight}% + \psset{linecolor=pdcolor1}% + \pdifsetup{landscape}{% + \pd@sailorroundedframe{0pt}{.75\slidewidth}{.7\slideheight}% + {.1\slideheight}% + }{% + \pd@sailorroundedframe{0pt}{.75\slidewidth}{.7\slideheight}% + {.07\slideheight}% + }% + \psset{linecolor=pdcolor3}% + \psarc*(\slidewidth,.2\slideheight){3pt}{90}{270}% + \multips(.92\slidewidth,.2\slideheight)(-.08\slidewidth,0){9}{% + \qdisk(0,0){3pt}% + }% +}} +\def\pd@sailorroundedtopframe#1{{% + \setlength\@tempdima{\slideheight-#1}% + \psset{linewidth=0pt,fillcolor=pdcolor2,fillstyle=solid,linecolor=pdcolor2}% + \psframe(#1,\slideheight)(\slidewidth,\@tempdima)% + \pswedge*(#1,\slideheight){#1}{180}{275}% + \psset{linecolor=pdcolor1,linewidth=.8pt}% + \psline(\slidewidth,\@tempdima)(#1,\@tempdima)% + \psarc[fillstyle=none](#1,\slideheight){#1}{180}{270}% +}} +\def\pd@sailorroundedframe#1#2#3#4{{% + \setlength\@tempdima{#3+#4}% + \setlength\@tempdimb{#3-#4}% + \psset{linewidth=0pt,linecolor=pdcolor2,fillcolor=pdcolor2,fillstyle=solid}% + \psframe(#1,\@tempdima)(#2,\@tempdimb)% + \ifdim#1>#2\pswedge*(#2,#3){#4}{85}{275}\else\pswedge*(#2,#3){#4}{265}{95}\fi + \psset{linecolor=pdcolor1,linewidth=.8pt}% + \psline(#1,\@tempdima)(#2,\@tempdima)% + \ifdim#1>#2\psarc(#2,#3){#4}{90}{270}\else\psarc(#2,#3){#4}{270}{90}\fi + \psline(#1,\@tempdimb)(#2,\@tempdimb)% +}} +\def\pd@sailorgrad#1#2{% + \psframe[linestyle=none,linewidth=0pt,fillstyle=gradient,% + gradbegin=pdcolor4,gradend=white,gradmidpoint=0](0,0)(#1,#2)% +} +\def\pd@sailortocbg{{% + \psset{linecolor=pdcolor3}% + \pd@sailorgrad\slidewidth{.1\slideheight}% + \multips(1.5pt,.1\slideheight)(.01\slidewidth,0){100}{% + \qdisk(0,0){.75pt}% + }% +}} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\pd@title#1{% + \parbox[c][.15\textheight]{.75\slidewidth}{\raggedleft#1}% + \vskip-3em\vskip.2\slideheight +} +\def\pd@tochighlight#1{% + \hskip\@tempdima + \begin{minipage}[b]\@tempdimb + \pd@usedtocfont\color\pd@@tochltcolor#1% + \end{minipage}% +} +\def\labelitemi{\footnotesize\color{pdcolor2}\ensuremath\blacksquare} +\def\labelitemii{\footnotesize\color{pdcolor1}\ensuremath\square} +\def\labelitemiii{\tiny\color{pdcolor2}\ensuremath\blacksquare} +\def\labelitemiv{\tiny\color{pdcolor1}\ensuremath\square} +\pdsetup{list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}} +\def\rmdefault{phv} +\def\sfdefault{phv} +\def\Hv@scale{.85} +%</pdsailor> +% +%<*pdupen> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-upen}[2005/12/10 v1.3 upen style (PRU,HA)] +\RequirePackage{calc} +\RequirePackage{pifont} +\RequirePackage{pst-grad} +\pddefinepalettes{default}{ + \colorlet{pdcolor1}{white} + \definecolor{pdcolor2}{rgb}{0,.01,.37} + \definecolor{pdcolor3}{rgb}{.01,.06,.65} + \definecolor{pdcolor4}{rgb}{.98,.78,.18} +} +\pddefinetemplate{basic}{ + titlefont=\large\bfseries\color{pdcolor4}, + clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight}, + tocslidesep=.6ex, + toctcolor=white, + tochlcolor=pdcolor2, + tochltcolor=pdcolor4, + ifsetup=portrait, + textheight=.64\slideheight, + titlepos={.12\slidewidth,.87\slideheight}, + titlewidth=.83\slidewidth, + textpos={.12\slidewidth,.78\slideheight}, + textwidth=.83\slidewidth, + tocsecsep=.6ex, + stochook=tr,stocpos={.47\slidewidth,.12\slideheight}, + stocfont=\tiny\raggedleft, + ntochook=tl,ntocpos={.52\slidewidth,.12\slideheight}, + lfpos={.05\slidewidth,.045\slideheight}, + cfpos={.5\slidewidth,.045\slideheight}, + rfpos={.95\slidewidth,.045\slideheight}, + ifsetup=landscape, + titlepos={.175\slidewidth,.87\slideheight}, + titlewidth=.775\slidewidth, + textheight=.7\slideheight, + textpos={.175\slidewidth,.77\slideheight}, + textwidth=.775\slidewidth, + lfpos={.05\slidewidth,.03\slideheight}, + cfpos={.5\slidewidth,.03\slideheight}, + rfpos={.95\slidewidth,.03\slideheight}, + tocpos={.02\slidewidth,.77\slideheight}, + tocwidth=.13\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor4]% + (-.05,-.05)(.12\slidewidth,-.05)} +}{% + \pdifsetup{landscape}{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=pdcolor3,gradangle=-90,gradmidpoint=0,linewidth=0pt]% + (0,.8\slideheight)(\slidewidth,0)% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,% + gradend=pdcolor2,gradmidpoint=0,dimen=outer,linewidth=0pt]% + (0,.8\slideheight)(\slidewidth,\slideheight)% + }{% + \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,% + gradend=pdcolor2,gradmidpoint=0,dimen=outer]% + (-.01\slidewidth,1.1\slideheight)(1.05\slidewidth,-.01\slideheight)% + }% +} +\pddefinetemplate[basic]{titleslide}{ + texthook=t,textpos={.5\slidewidth,.7\slideheight}, + textwidth=.9\slidewidth,textfont=\centering\color{pdcolor4}, + textheight=.63\slideheight, + titlefont=\Large\bfseries\centering,tocpos,ntocpos,stocpos +}{% + \setlength\@tempdima{.8\slideheight+.5pt}% + \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=pdcolor4,% + gradangle=90,gradmidpoint=.5,linestyle=none,dimen=outer,linewidth=0pt]% + (0,.8\slideheight)(\slidewidth,\@tempdima)% + \setlength\@tempdima{.2\slideheight+.5pt}% + \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=pdcolor4,% + gradangle=90,gradmidpoint=.5,linestyle=none,dimen=outer,linewidth=0pt]% + (0,.2\slideheight)(\slidewidth,\@tempdima)% +} +\pddefinetemplate[basic]{slide}{}{% + \pdifsetup{landscape}{% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=pdcolor3,% + gradmidpoint=1,linestyle=none,dimen=outer,linewidth=0pt]% + (0,\slideheight)(.15\slidewidth,0)% + \pd@upenbg{.15\slidewidth}{.05\slidewidth}% + }{\pd@upenbg{.1\slidewidth}{0pt}}% +} +\pddefinetemplate[basic]{wideslide}{ + titlepos={.05\slidewidth,.87\slideheight}, + titlewidth=.9\slidewidth, + textpos={.05\slidewidth,.77\slideheight}, + textwidth=.9\slidewidth, + ifsetup=landscape,tocpos +}{% + \setlength\@tempdima{.8\slideheight-.5pt}% + \pdifsetup{landscape}{% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,% + gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]% + (.05\slidewidth,.8\slideheight)(.5\slidewidth,\@tempdima)% + }{% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,% + gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]% + (0,.8\slideheight)(.45\slidewidth,\@tempdima)% + }% +} +\pddefinetemplate[slide]{sectionslide}{ + titlewidth=.45\slidewidth,titlehook=c, + titlefont=\Large\bfseries\centering\color{pdcolor4}, + ifsetup=landscape, + titlepos={.59\slidewidth,.53\slideheight}, + ifsetup=portrait, + titlepos={.5\slidewidth,.53\slideheight} +}{{% + \psset{linewidth=.8pt,linecolor=pdcolor3}% + \pdifsetup{landscape}{% + \psframe[fillstyle=solid,fillcolor=pdcolor2,linestyle=none]% + (.34\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)% + }{% + \psframe[fillstyle=solid,fillcolor=pdcolor2,linestyle=none]% + (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)% + }% +}} +\pddefinetemplate[wideslide]{sectionwideslide}{% + titlewidth=.62\slidewidth,titlehook=c, + titlefont=\Large\bfseries\centering\color{pdcolor4}, + titlepos={.5\slidewidth,.53\slideheight} +}{% + \psframe*[linecolor=pdcolor2]% + (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)% +} +\def\pd@upenbg#1#2{% + \setlength\@tempdima{#1+.5pt}% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,% + gradmidpoint=.4,linestyle=none,dimen=outer,linewidth=0pt]% + (#1,.5\slideheight)(\@tempdima,\slideheight)% + \setlength\@tempdima{.45\slidewidth+#2}% + \setlength\@tempdimb{.8\slideheight-.5pt}% + \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,% + gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]% + (#2,.8\slideheight)(\@tempdima,\@tempdimb)% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\pd@tochighlight#1{% + \begin{minipage}[b]\pd@@tocwidth + \pd@usedtocfont\color\pd@@tochltcolor#1% + \end{minipage}% +} +\pdifsetup{landscape}{\def\pd@tocentry#1{{\tiny\ensuremath\bullet}\ #1}}{} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\color{pdcolor4}\small ---} +\def\labelitemiii{\color{red}\scriptsize\ding{115}} +\def\labelitemiv{\color{yellow}\tiny\ensuremath\circ} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{phv} +\def\sfdefault{phv} +\def\Hv@scale{.85} +%</pdupen> +% +%<*pdbframe> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-bframe}[2005/12/10 v1.2 bframe style (PRU,HA)] +\RequirePackage{pifont} +\RequirePackage{pst-blur} +\pddefinepalettes{default}{ + \colorlet{pdcolor1}{white} + \definecolor{pdcolor2}{rgb}{.7,.1,.1} + \definecolor{pdcolor3}{rgb}{.01,.05,.56} +} +\pddefinetemplate{basic}{ + titlehook=B,titlefont=\large\bfseries\centering, + clockcolor=pdcolor3,clockpos={.99\slidewidth,\slideheight}, + lfpos={.05\slidewidth,.04\slideheight}, + cfpos={.5\slidewidth,.04\slideheight}, + rfpos={.95\slidewidth,.04\slideheight}, + tocslidesep=.6ex, + toctcolor=white, + tochlcolor=pdcolor2, + ifsetup=portrait, + titlepos={.5\slidewidth,.91\slideheight}, + titlewidth=.9\slidewidth, + textpos={.05\slidewidth,.85\slideheight}, + textwidth=.9\slidewidth,textheight=.69\slideheight, + tocsecsep=.6ex, + stochook=tr,stocpos={.48\slidewidth,.13\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.52\slidewidth,.13\slideheight}, + ifsetup=landscape, + titlepos={.58\slidewidth,.91\slideheight}, + titlewidth=.75\slidewidth, + textpos={.2\slidewidth,.85\slideheight}, + textwidth=.75\slidewidth,textheight=.69\slideheight +}{} +\pddefinetemplate[basic]{titleslide}{ + texthook=t,textpos={.5\slidewidth,.75\slideheight}, + textwidth=.9\slidewidth,textfont=\centering, + titlepos,textheight=.59\slideheight +}\pd@bframebg +\pddefinetemplate[basic]{wideslide}{ + titlepos={.5\slidewidth,.91\slideheight}, + titlewidth=.9\slidewidth, + textpos={.05\slidewidth,.85\slideheight}, + textwidth=.9\slidewidth +}\pd@bframebg +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + tocpos={.015\slidewidth,.83\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]% + (-.05,-.05)(.143\slidewidth,-.05)} +}{{% + \psset{linecolor=pdcolor3,shadow=true,blur=true,shadowcolor=gray!60}% + \pdifsetup{landscape}{% + \psframe*[framearc=.3](0,.87\slideheight)(.17\slidewidth,.15\slideheight)% + \psframe*[framearc=.1](.18\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)% + \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,.08\slideheight)% + }{% + \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,.14\slideheight)% + \psframe*[framearc=.1](.02\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)% + }% +}} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.575\slidewidth,.55\slideheight}, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\color{white}\Large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.9\slidewidth +}{} +\def\pd@bframebg{{% + \pdifsetup{landscape}{% + \def\pd@tempa{.08\slideheight}% + }{% + \def\pd@tempa{.14\slideheight}% + }% + \psset{linecolor=pdcolor3,shadow=true,blur=true,shadowcolor=gray!60}% + \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,\pd@tempa)% + \psframe*[framearc=.1](.02\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)% +}} +\def\pd@slidetitle#1{% + \settowidth\@tempdima{#1}% + \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi + \rput[B](0,0){\psframebox*[framearc=.3,fillcolor=pdcolor3,% + shadow=true,blur=true,shadowcolor=gray!60]{% + \parbox[b]\@tempdima{#1}% + }% + }% +} +\def\pd@title#1{% + {\let\thanks\@gobble\let\footnote\@gobble\settowidth\@tempdima{#1}}% + \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi + \advance\@tempdima-6pt + \psframebox*[framearc=.3,fillcolor=pdcolor2]{\parbox[b]\@tempdima{#1}}% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\color{yellow}\ding{117}} #1}}{} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{put} +%</pdbframe> +% +%<*pdhoratio> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-horatio}[2005/12/10 v1.1 horatio style (ML,HA)] +\RequirePackage{pifont} +\pddefinepalettes{default}{ + \definecolor{pdcolor1}{HTML}{004477} + \definecolor{pdcolor2}{HTML}{5588ae} +} +\pddefinetemplate{basic}{ + titlehook=Bl, + titlepos={.2\slidewidth,.91\slideheight}, + titlewidth=.77\slidewidth, + titlefont=\color{white}\large\bfseries\raggedright, + clockcolor=white,clockpos={.99\slidewidth,\slideheight}, + lfpos={.2\slidewidth,.04\slideheight}, + lffont=\tiny\color{white}, + cfpos={.585\slidewidth,.04\slideheight}, + cffont=\tiny\color{white}, + rfpos={.97\slidewidth,.04\slideheight}, + rffont=\tiny\color{white}, + tocslidesep=.6ex, + textheight=.68\slideheight, + ifsetup=landscape, + toctcolor=pdcolor1, + tochlcolor=pdcolor1, + tochltcolor=white, + tocpos={.01\slidewidth,.81\slideheight}, + tocwidth=.14\slidewidth, + tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]% + (-.05,-.05)(.143\slidewidth,-.05)}, + ifsetup=portrait, + toctcolor=white, + tochlcolor=white, + tochltcolor=pdcolor1, + tocsecsep=.6ex, + stochook=tr,stocpos={.55\slidewidth,.09\slideheight}, + stocfont=\tiny\raggedleft, + ntocpos={.57\slidewidth,.09\slideheight} +}{{% + \psset{linecolor=pdcolor1}% + \psframe*(0,0)(\slidewidth,.1\slideheight)% + \psframe*(0,.85\slideheight)(\slidewidth,\slideheight)% + \psset{linecolor=pdcolor2,linewidth=1pt}% + \psline(.17\slidewidth,0)(.17\slidewidth,.1\slideheight)% + \psline(.17\slidewidth,.85\slideheight)(.17\slidewidth,\slideheight)% +}} +\pddefinetemplate[basic]{titleslide}{ + titlefont=\large\bfseries\centering, + texthook=t, + textpos={.5\slidewidth,.7\slideheight}, + textwidth=.75\slidewidth, + textfont=\centering, + textheight=.57\slideheight, + ifsetup=landscape,tocpos,ifsetup=portrait,stocpos,ntocpos +}{} +\pddefinetemplate[basic]{slide}{ + textpos={.2\slidewidth,.81\slideheight}, + textwidth=.77\slidewidth, + ifsetup=portrait, + textpos={.05\slidewidth,.81\slideheight}, + textwidth=.9\slidewidth +}{% + \pdifsetup{landscape}{% + \psline[linewidth=1pt,linecolor=pdcolor2]% + (.17\slidewidth,0)(.17\slidewidth,\slideheight)% + }{}% +} +\pddefinetemplate[basic]{wideslide}{ + textpos={.03\slidewidth,.81\slideheight}, + textwidth=.94\slidewidth, + ifsetup=landscape,tocpos,ifsetup=portrait, + textpos={.05\slidewidth,.81\slideheight}, + textwidth=.9\slidewidth +}{} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + ifsetup=landscape, + titlepos={.6\slidewidth,.55\slideheight}, + titlewidth=.7\slidewidth, + ifsetup=portrait, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth +}{} +\pddefinetemplate[wideslide]{sectionwideslide}{ + titlehook=c,titlefont=\Large\bfseries\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.75\slidewidth +}{} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\labelitemi{\small\ding{'64}} +\def\labelitemii{\small\ding{'70}} +\def\labelitemiii{\small\ding{'63}} +\def\labelitemiv{\small\ding{'67}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdhoratio> +% +%<*pdpaintings> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-paintings}[2005/12/10 v1.1 paintings (TDK,HA)] +\RequirePackage{times} +\RequirePackage{pifont} +\pddefinepalettes{Syndics}{% Rembrandt van Rijn: "The Syndics" - 1662 + \definecolor{pdcolor1}{rgb}{.06,.06,.06} % Black hat + \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Collar of rising man + \definecolor{pdcolor3}{rgb}{.22,.09,.09} % Tablecloth lower right + \definecolor{pdcolor4}{rgb}{.97,.97,.91} % Book page + \definecolor{pdcolor5}{rgb}{.58,.19,.13} % Tablecloth lower left + \definecolor{pdcolor6}{rgb}{.42,.2,.22} % Back wall + \definecolor{pdcolor7}{rgb}{.84,.71,.55} % Forehead of man in background +}{Skater}{% Gilbert Stuart: "The Skater (Portrait of William Grant)" - 1782 + \definecolor{pdcolor1}{rgb}{.09,.06,.09} % Hat + \definecolor{pdcolor2}{rgb}{1,.97,.94} % White collar + \definecolor{pdcolor3}{rgb}{.26,.22,.19} % Ice + \definecolor{pdcolor4}{rgb}{.94,.91,.87} % Sky + \definecolor{pdcolor5}{rgb}{.78,.52,.45} % Right cheek + \definecolor{pdcolor6}{rgb}{.45,.39,.26} % Ground under small figures + \definecolor{pdcolor7}{rgb}{.71,.71,.68} % Frozen lake at left +}{GoldenGate}{% Giotto: "Meeting of Joachim and Anne at the Golden Gate" - 1305-10 + \definecolor{pdcolor1}{rgb}{.13,.09,.13} % Dress of woman in black + \definecolor{pdcolor2}{rgb}{.94,.94,.91} % Bridge + \definecolor{pdcolor3}{rgb}{.06,.09,.22} % Blue sky + \definecolor{pdcolor4}{rgb}{.94,.91,.87} % Dress of woman with shawl + \definecolor{pdcolor5}{rgb}{.52,.26,.26} % Joachim's robe + \definecolor{pdcolor6}{rgb}{.65,.35,.16} % Anne's robe + \definecolor{pdcolor7}{rgb}{.91,.84,.42} % Joachim's halo +}{Lamentation}{% Giotto: "Lamentation of Christ" - 1305-10 + \definecolor{pdcolor1}{rgb}{.16,.09,.06} % Dark hair of man + \definecolor{pdcolor2}{rgb}{.91,.91,.94} % White robe at lower left + \definecolor{pdcolor3}{rgb}{.19,.22,.29} % Cloak of Christ + \definecolor{pdcolor4}{rgb}{.94,.94,.91} % Skin of Christ + \definecolor{pdcolor5}{rgb}{.55,.26,.22} % Mary Magdalene dress + \definecolor{pdcolor6}{rgb}{.19,.26,.52} % Sky + \definecolor{pdcolor7}{rgb}{.84,.74,.71} % Mary Magdalene sleeve +}{HolyWood}{% Piero della Francesca: "Discovery of the Holy Wood" - ca. 1455 + \definecolor{pdcolor1}{rgb}{.19,.21,.19} % Horse's ear + \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Attendant's neck + \definecolor{pdcolor3}{rgb}{.29,.13,.13} % Attendant's russet dress + \definecolor{pdcolor4}{rgb}{.94,.94,.91} % Horse's rear + \definecolor{pdcolor5}{rgb}{.22,.35,.55} % Queen of Sheba's dress + \definecolor{pdcolor6}{rgb}{.74,.48,.42} % Dusky rose dress + \definecolor{pdcolor7}{rgb}{.84,.71,.61} % Queen of Sheba's hand +}{Europa}{% Titian: "The Rape of Europa" - 1559-62 + \definecolor{pdcolor1}{rgb}{.09,.06,.03} % Bull's eye + \definecolor{pdcolor2}{rgb}{1,.97,.84} % Europa's bodice + \definecolor{pdcolor3}{rgb}{.16,.13,.09} % Sea + \definecolor{pdcolor4}{rgb}{1,.97,.84} % Europa's breast + \definecolor{pdcolor5}{rgb}{.58,.26,.13} % Flying cape + \definecolor{pdcolor6}{rgb}{.32,.29,.39} % Deep blue sky + \definecolor{pdcolor7}{rgb}{.84,.78,.52} % Bull's right front leg +}{Moitessier}{% Jean Auguste Dominque Ingres: "Madame Moitessier, Standing" - 1851 + \definecolor{pdcolor1}{rgb}{.06,.03,.03} % Black dress + \definecolor{pdcolor2}{rgb}{.87,.84,.78} % Accessories at lower left + \definecolor{pdcolor3}{rgb}{.22,.03,.06} % Deep red wall + \definecolor{pdcolor4}{rgb}{1,.97,.91} % Accessories at lower left + \definecolor{pdcolor5}{rgb}{.78,.35,.32} % Flower in hair + \definecolor{pdcolor6}{rgb}{.58,.55,.71} % Blue jewel on left wrist + \definecolor{pdcolor7}{rgb}{1,.78,.65} % Left forearm +}{MayThird}{% Francisco Goya: "Third of May, 1808" - 1814 + \definecolor{pdcolor1}{rgb}{0,0,0} % Black sky + \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Shirt of victim + \definecolor{pdcolor3}{rgb}{.29,.19,.13} % Face of victim + \definecolor{pdcolor4}{rgb}{.97,.97,.97} % Left side of lantern + \definecolor{pdcolor5}{rgb}{.55,.26,.22} % Blood of man in foreground + \definecolor{pdcolor6}{rgb}{.68,.48,.16} % Trousers of victim + \definecolor{pdcolor7}{rgb}{.68,.65,.58} % Coattails of foreground soldier +}{PearlEarring}{% Johannes Vermeer: "Girl with a Pearl Earring" - 1665 + \definecolor{pdcolor1}{rgb}{.06,.06,.06} % Pupil of eye + \definecolor{pdcolor2}{rgb}{.97,.97,.91} % Sclera of left eye + \definecolor{pdcolor3}{rgb}{.26,.29,.42} % Blue head scarf + \definecolor{pdcolor4}{rgb}{1,1,.9} % Reflection off earring + \definecolor{pdcolor5}{rgb}{.71,.61,.39} % Beige head scarf + \definecolor{pdcolor6}{rgb}{.65,.35,.29} % Lower lip + \definecolor{pdcolor7}{rgb}{.68,.71,.78} % Light blue over forehead +}{Charon}{% Michelangelo: "Charon" (Detail from "The Last Judgment" - 1534-41 + \definecolor{pdcolor1}{rgb}{.91,.91,.87} % Sclera of right eye + \definecolor{pdcolor2}{rgb}{.13,.13,.13} % Pupil of right eye + \definecolor{pdcolor3}{rgb}{.39,.39,.48} % Left ear + \definecolor{pdcolor4}{rgb}{.91,.91,.94} % Right forehead + \definecolor{pdcolor5}{rgb}{.65,.71,.84} % Sky at upper right + \definecolor{pdcolor6}{rgb}{.81,.78,.65} % Right eyebrow + \definecolor{pdcolor7}{rgb}{.42,.35,.39} % Moustache +} +\pddefinetemplate{titleslide}{ + titlefont=\LARGE\sl\color{pdcolor4}\centering, + clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight}, + texthook=t, + textpos={.5\slidewidth,.65\slideheight}, + textwidth=.8\slidewidth, + textfont=\large\color{pdcolor4}\centering, + textheight=.5\slideheight +}{% + \psframe*[linecolor=pdcolor3](0,\slideheight)(\slidewidth,0)% +} +\pddefinetemplate{slide}{ + titlepos={.05\slidewidth,.93\slideheight}, + titlewidth=.9\slidewidth, + titlefont=\bfseries\color{pdcolor4}\raggedright, + clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight}, + textpos={.05\slidewidth,.85\slideheight}, + textwidth=.9\slidewidth, + lfpos={.015\slidewidth,.015\slideheight}, + cfpos={.5\slidewidth,.015\slideheight}, + rfpos={.985\slidewidth,.015\slideheight}, + rftemp=\pd@@rf, + textheight=.8\slideheight +}{% + \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,.89\slideheight)% + \psframe*[linecolor=pdcolor3](0,\slideheight)(\slidewidth,.89\slideheight)% +} +\pddefinetemplate[slide]{wideslide}{}{} +\pddefinetemplate[titleslide]{sectionslide}{ + titlehook=c,titlefont=\LARGE\color{pdcolor4}\centering, + titlepos={.5\slidewidth,.55\slideheight}, + titlewidth=.8\slidewidth +}{} +\setkeys[pd]{section}{ + sectemp=sectionslide,widesectemp=sectionslide +} +\def\labelitemi{\color{pdcolor3}\ensuremath\bullet} +\def\labelitemii{\color{pdcolor5}\ensuremath\bullet} +\def\labelitemiii{\color{pdcolor6}\ensuremath\bullet} +\def\labelitemiv{\color{pdcolor1}\ensuremath\bullet} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}, + dmaxheight=.85\slideheight +} +\def\familydefault{\sfdefault} +%</pdpaintings> +% +%<*pdklope> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-klope}[2005/12/10 v1.1 klope style (CE,HA)] +\RequirePackage{pifont} +\RequirePackage{pst-slpe} +\pddefinepalettes{Spring}{ + \definecolor{pdcolor1}{rgb}{.475,.376,.271} % cedar + \definecolor{pdcolor2}{rgb}{.682,.749,.376} % moss + \definecolor{pdcolor3}{rgb}{1,.949,.749} % sand + \definecolor{pdcolor4}{rgb}{.749,.675,.376} % driftwood + \colorlet{myiacolor}{pdcolor4} + \colorlet{sectitlecolor}{pdcolor2} + \colorlet{stitlecolor}{pdcolor3} + \colorlet{lgsquare}{pdcolor1} + \colorlet{smsquare}{pdcolor4} + \colorlet{slidebg}{pdcolor3} + \colorlet{slidehbg}{pdcolor2} + \colorlet{mytoctcolor}{pdcolor1} + \colorlet{mytochltcolor}{pdcolor3} + \def\pd@klopebg{% + \psframe[linestyle=none,fillstyle=slope,slopebegin=pdcolor3,% + slopeend=pdcolor2,slopeangle=270](0,0)(\slidewidth,\slideheight)% + } +}{PastelFlower}{ + \definecolor{pdcolor1}{rgb}{.349,.5,.5} % sea green + \definecolor{pdcolor2}{rgb}{.8,.706,.561} % brown + \definecolor{pdcolor3}{rgb}{.812,.902,.902} % sky blue + \definecolor{pdcolor4}{rgb}{.8,.561,.561} % rose + \colorlet{myiacolor}{pdcolor4} + \colorlet{sectitlecolor}{pdcolor4} + \colorlet{stitlecolor}{pdcolor3} + \colorlet{lgsquare}{pdcolor1} + \colorlet{smsquare}{pdcolor4} + \colorlet{slidebg}{pdcolor3} + \colorlet{slidehbg}{pdcolor2} + \colorlet{mytoctcolor}{pdcolor1} + \colorlet{mytochltcolor}{pdcolor3} + \def\pd@klopebg{% + \psframe[linestyle=none,fillstyle=slope,slopebegin=pdcolor3,% + slopeend=pdcolor2,slopeangle=270](0,0)(\slidewidth,\slideheight)% + } +}{BlueWater}{ + \definecolor{pdcolor1}{rgb}{.902,.957,1} % lightblue + \definecolor{pdcolor2}{rgb}{.376,.588,.749} % medblue + \definecolor{pdcolor3}{rgb}{.749,.635,.376} % lighttan + \definecolor{pdcolor4}{rgb}{1,.8,.749} % pink + \colorlet{myiacolor}{pdcolor3} + \colorlet{sectitlecolor}{pdcolor1} + \colorlet{stitlecolor}{pdcolor2} + \colorlet{lgsquare}{pdcolor3} + \colorlet{smsquare}{pdcolor4} + \colorlet{slidebg}{pdcolor2} + \colorlet{slidehbg}{pdcolor1} + \colorlet{mytoctcolor}{pdcolor3} + \colorlet{mytochltcolor}{pdcolor2} + \def\pd@klopebg{% + \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)% + } +}{BlackWhite}{ + \definecolor{pdcolor1}{rgb}{0,0,0} % white + \definecolor{pdcolor2}{rgb}{1,1,1} % black + \definecolor{pdcolor3}{rgb}{.5,.5,.5} % gray + \colorlet{myiacolor}{pdcolor3} + \colorlet{sectitlecolor}{pdcolor1} + \colorlet{stitlecolor}{pdcolor1} + \colorlet{lgsquare}{pdcolor1} + \colorlet{smsquare}{pdcolor3} + \colorlet{slidebg}{pdcolor2} + \colorlet{slidehbg}{pdcolor2} + \colorlet{mytoctcolor}{pdcolor3} + \colorlet{mytochltcolor}{pdcolor1} + \def\pd@klopebg{% + \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)% + } +} +\pddefinetemplate{titleslide}{ + textpos={.15\slidewidth,.75\slideheight}, + textwidth=.7\slidewidth, + titlefont=\bfseries\LARGE\centering, + textfont=\centering, + textheight=.67\slideheight, + clockhook=t,clockpos={.5\slidewidth,.045\slideheight}, + clockalign=1,clockcolor=pdcolor1 +}{{% + \psset{linewidth=0pt}\pd@klopebg + \pd@klopesq+-01\pd@klopesq++00\pd@klopesq-+10\pd@klopesq--11% +}} +\pddefinetemplate{slide}{ + titlepos={.15\slidewidth,.93\slideheight}, + titlewidth=.7\slidewidth, + titlefont=\bfseries\Large\color{stitlecolor}\centering, + stochook=t, + stocpos={.5\slidewidth,.89\slideheight}, + stocwidth=.7\slidewidth,stocorient=h, + toctcolor=mytoctcolor, + tochltcolor=mytochltcolor, + tocsecsep=4pt, + textpos={.05\slidewidth,.8\slideheight}, + textwidth=.9\slidewidth, + textheight=.72\slideheight, + lfpos={.015\slidewidth,.015\slideheight}, + lffont=\tiny, + cfpos={.5\slidewidth,.015\slideheight}, + cffont=\tiny, + rfpos={.985\slidewidth,.015\slideheight}, + rffont=\tiny, + iacolor=myiacolor, + clockhook=t,clockpos={.5\slidewidth,.045\slideheight}, + clockalign=1,clockcolor=pdcolor1 +}{{% + \psset{linewidth=0pt}% + \psframe*[linecolor=slidebg](0,0)(\slidewidth,\slideheight)% + \psframe*[linecolor=slidehbg](0,.85\slideheight)(\slidewidth,\slideheight)% + \pd@klopesq+-01\pd@klopesq--11% + \psset{linewidth=.1pt}% + \psline[linecolor=pdcolor1](0,.05\slideheight)(\slidewidth,.05\slideheight)% + \psline[linecolor=slidehbg](0,.055\slideheight)(\slidewidth,.055\slideheight)% +}} +\pddefinetemplate[slide]{wideslide}{}{} +\pddefinetemplate[slide]{sectionslide}{ + titlepos={.15\slidewidth,.55\slideheight}, + titlefont=\bfseries\LARGE\color{sectitlecolor}\centering, + textpos,lfpos,cfpos,rfpos +}{{% + \psframe*[linecolor=slidebg](0,0)(\slidewidth,.5\slideheight)% + \pd@klopesq++00\pd@klopesq-+10% +}} +\def\pd@klopesq#1#2#3#4{% + \@tempdima#3\slidewidth\@tempdimb#4\slideheight + \advance\@tempdima#1.3cm\advance\@tempdimb#2.3cm + \edef\pd@tempa{\the\@tempdima}\edef\pd@tempb{\the\@tempdimb}% + \advance\@tempdima#1.8cm\advance\@tempdimb#2.8cm + \psframe*[linecolor=lgsquare](\pd@tempa,\pd@tempb)% + (\@tempdima,\@tempdimb)% + \@tempdima\pd@tempa\@tempdimb\pd@tempb + \advance\@tempdima#1.3cm\advance\@tempdimb#2.3cm + \edef\pd@tempa{\the\@tempdima}\edef\pd@tempb{\the\@tempdimb}% + \advance\@tempdima#1.7cm\advance\@tempdimb#2.7cm + \psframe*[linecolor=smsquare](\pd@tempa,\pd@tempb)% + (\@tempdima,\@tempdimb)% +} +\def\pd@tocdisplay#1{\pd@usedtocfont\color\pd@@toctcolor#1} +\def\pd@tochighlight#1{\pd@usedtocfont\color\pd@@tochltcolor#1} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionslide} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdklope> +% +%<*pdjefka> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-jefka}[2005/12/10 v1.1 jefka style (CE,HA)] +\RequirePackage{pifont} +\pddefinepalettes{brown}{ + \definecolor{pdcolor1}{RGB}{121,96,69} + \definecolor{pdcolor2}{rgb}{1,.949,.749} + \definecolor{pdcolor3}{RGB}{190,163,117} +}{seagreen}{ + \definecolor{pdcolor1}{HTML}{FFE680} + \definecolor{pdcolor2}{rgb}{.349,.5,.5} + \definecolor{pdcolor3}{HTML}{FFC080} +}{blue}{ + \definecolor{pdcolor1}{rgb}{.902,.957,1} + \definecolor{pdcolor2}{HTML}{00487D} + \definecolor{pdcolor3}{rgb}{.749,.635,.376} +}{white}{ + \definecolor{pdcolor1}{rgb}{0,0,0} + \definecolor{pdcolor2}{rgb}{1,1,1} + \definecolor{pdcolor3}{rgb}{.5,.5,.5} +} +\pddefinetemplate{titleslide}{ + textpos={.15\slidewidth,.75\slideheight}, + textwidth=.7\slidewidth, + titlefont=\bfseries\LARGE\centering, + textfont=\centering, + textheight=.67\slideheight, + clockhook=t,clockpos={.5\slidewidth,.045\slideheight}, + clockalign=1,clockcolor=pdcolor1 +}{% + \psframe*[linewidth=0pt,linecolor=pdcolor2]% + (0,0)(\slidewidth,\slideheight)% +} +\pddefinetemplate{slide}{ + rfpos={.985\slidewidth,.015\slideheight}, + rffont=\tiny, + iacolor=pdcolor3, + clockhook=t,clockpos={.5\slidewidth,.045\slideheight}, + clockalign=1,clockcolor=pdcolor1, + titlewidth=.7\slidewidth, + titlefont=\bfseries\LARGE\color{pdcolor1}\raggedright, + textwidth=.9\slidewidth, + titlepos={.05\slidewidth,.93\slideheight}, + textpos={.05\slidewidth,.87\slideheight}, + textheight=.76\slideheight +}{{% + \psset{linewidth=0pt}% + \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)% + \pspolygon*[linecolor=pdcolor1]% + (0,0)(.1\slidewidth,0)(0,.1\slideheight) + \pspolygon*[linecolor=pdcolor1](\slidewidth,\slideheight)% + (.9\slidewidth,\slideheight)(\slidewidth,.9\slideheight)% +}} +\pddefinetemplate[slide]{sectionslide}{ + titlehook=t,titlepos={.5\slidewidth,.55\slideheight}, + titlefont=\bfseries\LARGE\color{pdcolor1}\centering +}{} +\pddefinetemplate[slide]{wideslide}{}{} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionslide} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdjefka> +% +%<*pdpazik> +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{powerdot-pazik}[2005/12/10 v1.1 pazik style (CE,HA)] +\RequirePackage{pifont} +\RequirePackage{pst-char} +\RequirePackage{pst-grad} +\RequirePackage{type1cm} +\DeclareFixedFont\pd@psmath{OML}{cmm}{m}{it}{2cm} +\DeclareFixedFont\pd@psroman{OT1}{cmr}{m}{n}{2cm} +\pddefinepalettes{red}{ + \definecolor{pdcolor1}{RGB}{225,187,100} % gold + \definecolor{pdcolor2}{RGB}{111,24,17} % brick red + \definecolor{pdcolor3}{RGB}{0,0,0} % black + \colorlet{mytoctcolor}{pdcolor1} + \colorlet{mytochlcolor}{pdcolor2!90} + \colorlet{mytitlecolor}{pdcolor1} + \colorlet{myiacolor}{pdcolor1!65!pdcolor3} + \def\pd@pazik@i{\pd@psmath\char25} + \def\pd@pazik@ii{\pd@psroman e} + \def\pd@pazik@iii{\pd@psroman i} + \def\pd@pazik@iv{\pd@psmath\char16} +}{brown}{ + \definecolor{pdcolor1}{RGB}{22,80,100} % blue + \definecolor{pdcolor2}{rgb}{.749,.635,.376} % tan + \definecolor{pdcolor3}{RGB}{0,0,0} % black + \colorlet{mytoctcolor}{pdcolor2} + \colorlet{mytochlcolor}{pdcolor1} + \colorlet{mytitlecolor}{pdcolor2} + \colorlet{myiacolor}{pdcolor1!70} + \def\pd@pazik@i{\pd@psmath h} + \def\pd@pazik@ii{\pd@psmath e} + \def\pd@pazik@iii{\pd@psmath c} + \def\pd@pazik@iv{\pd@psmath\char11} +} +\pddefinetemplate{titleslide}{ + textpos={.15\slidewidth,.75\slideheight}, + textwidth=.7\slidewidth, + titlefont=\bfseries\LARGE\centering, + textfont=\centering, + ifsetup=landscape, + textheight=.67\slideheight, + ifsetup=portrait, + textheight=.55\slideheight +}{{% + \psframe*[linestyle=none,linecolor=pdcolor2!90]% + (0,0)(\slidewidth,\slideheight)% + \psset{linestyle=none,fillstyle=gradient,gradbegin=pdcolor2!90,% + gradend=pdcolor3,gradmidpoint=0,linewidth=0pt}% + \pdifsetup{landscape}{% + \psframe[gradangle=90](0\slidewidth,0\slideheight)% + (.15\slidewidth,\slideheight)% + \pd@pazik@lbg + }{% + \psframe[gradangle=180](0\slidewidth,0\slideheight)% + (\slidewidth,.2\slideheight)% + \pd@pazik@pbg + }% +}} +\pddefinetemplate{basic}{% + titlefont=\bfseries\LARGE\color{mytitlecolor}\raggedright, + rfpos={.98\slidewidth,.015\slideheight}, + lffont=\tiny,cffont=\tiny,rffont=\tiny, + iacolor=myiacolor, + clockhook=t, + clockalign=1, + clockcolor=pdcolor1, + toctcolor=mytoctcolor, + tochltcolor=mytoctcolor, + tochlcolor=mytochlcolor, + tocfont=\tiny\raggedright, + ifsetup=landscape, + textheight=.82\slideheight, + titlepos={.02\slidewidth,.94\slideheight}, + titlewidth=.96\slidewidth, + ifsetup=portrait, + lfpos={.02\slidewidth,.015\slideheight}, + cfpos={.5\slidewidth,.015\slideheight}, + clockpos={.5\slidewidth,.035\slideheight}, + titlepos={.02\slidewidth,.945\slideheight}, + titlewidth=.96\slidewidth, + textpos={.02\slidewidth,.87\slideheight}, + textwidth=.96\slidewidth, +}{{% + \psframe*[linestyle=none,linecolor=pdcolor2!90]% + (0,0)(\slidewidth,\slideheight)% + \psset{linestyle=none,fillstyle=gradient,gradbegin=pdcolor2!90,% + gradend=pdcolor3,gradmidpoint=0,gradangle=90,linewidth=0pt}% + \pdifsetup{landscape}{% + \psframe(.145\slidewidth,\slideheight)(\slidewidth,.9\slideheight)% + \pd@pazik@lbg + }{% + \psframe(0,\slideheight)(\slidewidth,.9\slideheight)% + \pd@pazik@pbg + }% +}} +\pddefinetemplate[basic]{slide}{ + ifsetup=landscape, + lfpos={.17\slidewidth,.015\slideheight}, + cfpos={.575\slidewidth,.015\slideheight}, + clockpos={.07\slidewidth,.045\slideheight}, + textpos={.17\slidewidth,.87\slideheight}, + textwidth=.81\slidewidth, + tocwidth=.12\slidewidth, + tocslidesep=.3em,tocslideindent=.2em, + tocsecm={\psline[linewidth=.2pt,linecolor=pdcolor1]% + (-.05,-.05)(.12\slidewidth,-.05)}, + tocpos={.015\slidewidth,.86\slideheight}, + ifsetup=portrait, + textheight=.65\slideheight,tocsecsep=.2em, + stochook=tr,stocpos={.44\slidewidth,.18\slideheight}, + stocfont=\tiny\raggedleft, + tocslidesep=.2em, + ntocpos={.56\slidewidth,.18\slideheight}, + ntocfont=\tiny\raggedright +}{% + \pdifsetup{landscape}{% + \psframe*[linestyle=none,linecolor=pdcolor3]% + (0,0)(.15\slidewidth,\slideheight)% + }{% + \psframe*[linestyle=none,linecolor=pdcolor3]% + (0,0)(\slidewidth,.2\slideheight)% + }% +} +\pddefinetemplate[basic]{wideslide}{% + ifsetup=landscape, + tocpos,textpos={.02\slidewidth,.87\slideheight}, + textwidth=.96\slidewidth, + lfpos={.02\slidewidth,.015\slideheight}, + cfpos={.5\slidewidth,.015\slideheight}, + clockpos={.5\slidewidth,.045\slideheight}, + ifsetup=portrait, + textheight=.82\slideheight, +}{% + \pdifsetup{landscape}{% + \psframe*[linestyle=none,linecolor=pdcolor3]% + (0,\slideheight)(.15\slidewidth,.9\slideheight)% + }{}% +} +\pddefinetemplate[slide]{sectionslide}{% + titlehook=c, + titlefont=\bfseries\LARGE\centering, + titlewidth=.9\slidewidth, + ifsetup=landscape, + titlepos={.585\slidewidth,.6\slideheight}, + ifsetup=portrait, + titlepos={.5\slidewidth,.6\slideheight} +}{% +} +\pddefinetemplate[wideslide]{sectionwideslide}{% + titlehook=c, + titlefont=\bfseries\LARGE\centering, + titlepos={.5\slidewidth,.6\slideheight}, + titlewidth=.9\slidewidth +}{} +\def\pd@pazik@lbg{% + \psset{fillstyle=solid,fillcolor=pdcolor2}% + \rput{-10}(.35\slidewidth,.6\slideheight){\pscharpath{\pd@pazik@i}}% + \rput{15}(.4\slidewidth,.3\slideheight){\pscharpath{\pd@pazik@ii}}% + \rput{-20}(.8\slidewidth,.2\slideheight){\pscharpath{\pd@pazik@iii}}% + \rput{30}(.7\slidewidth,.7\slideheight){\pscharpath{\pd@pazik@iv}}% +} +\def\pd@pazik@pbg{% + \psset{fillstyle=solid,fillcolor=pdcolor2}% + \rput{-10}(.23\slidewidth,.78\slideheight){\pscharpath{\pd@pazik@i}}% + \rput{15}(.35\slidewidth,.4\slideheight){\pscharpath{\pd@pazik@ii}}% + \rput{-20}(.8\slidewidth,.3\slideheight){\pscharpath{\pd@pazik@iii}}% + \rput{30}(.7\slidewidth,.7\slideheight){\pscharpath{\pd@pazik@iv}}% +} +\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide} +\def\labelitemi{\footnotesize\ding{110}} +\def\labelitemii{\small\ding{117}} +\def\labelitemiii{\tiny\ding{110}} +\def\labelitemiv{\tiny\ding{117}} +\pdsetup{ + list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} +} +\def\rmdefault{cmss} +%</pdpazik> +% +%<*pdstyletest> +%% +%% 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} +%</pdstyletest> +% +%<*pdstyleexample> +\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} +%</pdstyleexample> +% +%<*pdexample1> +\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} +%</pdexample1> +% +%<*pdexample2> +\documentclass[ + size=12pt, + style=ikeda, + paper=screen, +%% Try me! +%% orient=portrait, +%% mode=handout, +%% display=slidesnotes, + pauseslide, + nohandoutpagebreaks, + fleqn +]{powerdot} + +\title{powerdot example 2} +\author{Hendri Adriaens\and Christopher Ellison} + +\pdsetup{ + lf=Example 2, + 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} +%</pdexample2> +% +%<*pdexample3> +\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, + 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} +%</pdexample3> +% +%<*preamble> +\usepackage{url} +\usepackage{fourier} +\usepackage{xcolor} +\usepackage{enumitem} +\usepackage{graphicx} +\usepackage{pst-char} +\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}.}}% +} +%</preamble> +% +%<*bib> +@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://pstricks.tug.org}} +} + +@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}} +} +%</bib> |