diff options
Diffstat (limited to 'Master/texmf-dist/source/latex')
-rw-r--r-- | Master/texmf-dist/source/latex/powerdot/powerdot.dtx | 8742 |
1 files changed, 8742 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/powerdot/powerdot.dtx b/Master/texmf-dist/source/latex/powerdot/powerdot.dtx new file mode 100644 index 00000000000..cad43edce02 --- /dev/null +++ b/Master/texmf-dist/source/latex/powerdot/powerdot.dtx @@ -0,0 +1,8742 @@ +% \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-2014 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.5} +\def\filedate{2014/01/01} +\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, 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, 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} +% +% \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{nopagebreaks}\\ +%By default, the handout mode produces a document with two slides per +%page. If you want to fit more slides on a page, specify this option +%in the |\documentclass| command and \pf{powerdot} will let \LaTeX\ +%decide on the places to insert a page break, namely when a page is +%full. +%\end{description} +%\end{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, +% nopagebreaks, +% 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, +% nopagebreaks, +% 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 |nopagebreaks| +%option. +% +%\subsection{Setup options}\label{sec:pdsetup} +%\DescribeMacro{\pdsetup} +%There are several extra options that can help customizing your +%presentation. These options are not available via the +%|\documentclass| command. This has a technical reason.\footnote{The +%interested reader is referred to the section about the \pf{xkvltxp} +%package in the \pf{xkeyval} package documentation \cite{xkeyval}.} +%We distinguish two types of options. Options that can only be set +%globally (acting for the entire presentation) using the |\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|. +% +%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.0f & 1999/02/16 & tested\\ +%\pf{verbatim} & 1.5q & 2003/08/22 & tested +%\end{tabular} +%\caption{Dependencies}\label{tab:dependencies} +%\end{table} +% +%\subsection{Creating and viewing output}\label{sec:creation} +%To compile your presentation, run it with \LaTeX. The DVI that is +%produced this way can be viewed with MiK\TeX's DVI viewer +%YAP.\footnote{Unless you are using \pf{pstricks-add} which distorts +%the coordinate system in DVI.} Unfortunately, xdvi and kdvi (kile) +%do not support all PostScript specials and hence these will display +%the presentation incorrectly. If your DVI viewer does support +%this, make sure that your DVI display settings match that of the +%presentation. In case you are using the |screen| paper, you should +%set the DVI display setting to using the letter paper format. If +%your DVI viewer allows for custom paper formats, use 8.25 inch by 11 +%inch. +% +%Note that certain things that are produced with PostScript or PDF +%techniques will not work in a DVI viewer. Examples are hiding of +%material via postscript layers (as is done, for instance, by +%|\pause|, see section~\ref{sec:overlays}) and hyperlinks, for +%instance in the table of contents. +% +%If you want to produce a postscript document, run dvips over the DVI +%\emph{without any particular command line options related to +%orientation or paper size}. \pf{powerdot} will write information to +%the DVI file that helps dvips and ps2pdf (ghostscript) to create a +%proper document. If you have some reason that this does not work for +%you and you want to specify the paper and orientation yourself, you +%should use the |nopsheader| option that is described in +%section~\ref{sec:setup}. The PostScript document could, for +%instance, be used to put multiple slides on a page using the |psnup| +%utility. +% +%To create a PDF document for your presentation, run ps2pdf over the +%PS file created with dvips. Also here, you can \emph{leave out any +%command line arguments related to paper size or orientation}. If +%this is problematic for you somehow, use the |nopsheader| option as +%before and specify the paper and orientation at each intermediate +%step yourself. +% +%\section{Creating your own style}\label{sec:writestyle} +%\subsection{General information} +%Writing or customizing \pf{powerdot} styles is simple. If you want +%to modify a style or build a new one, locate the style that you want +%to use as basis in your \TeX\ tree (styles are named as +%|powerdot-<style_name>.sty|), copy that and rename it as to avoid +%license\footnote{The \LaTeX\ Public Project License requires +%renaming files when modifying them, see +%\url{http://www.latex-project.org/lppl}.} or naming conflicts. You +%might want to install the new style in your local \TeX\ tree to be +%able to access it from any place on your hard drive. See your +%\LaTeX\ distribution for more information. +% +%Once that has been taken care of, we can start creating the style. +%We strongly recommend to study a style file (for example, +%|powerdot-default.sty|) while reading the remainder of this section +%as it provides good examples for the content of this section. +% +%A style has several components. We describe these components below. +%\begin{description} +%\item\textbf{Identification and packages}\\ +%This identifies the package in the log of a presentation and loads +%all required packages. The \pf{default} style contains something like: +%\begin{example} +% \NeedsTeXFormat{LaTeX2e}[1995/12/01] +% \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)] +% \RequirePackage{pifont} +%\end{example} +%See for more information about these commands a \LaTeX\ manual, for +%instance \cite{companion}. +%\item\textbf{Palette or color definitions}\\ +%This section contains the definitions of palettes or colors that you +%want to use in the style. \pf{powerdot} uses \pf{xcolor} (via +%\pf{pstricks}). Hence, for more information about colors, see the +%\pf{xcolor} documentation. We will discuss palettes in more detail +%in section~\ref{sec:defpals}. +%\item\textbf{Template definitions}\\ +%We will come back to this in sections~\ref{sec:deftemps} +%to~\ref{sec:defbg}. +%\item\textbf{Custom declarations}\\ +%These can include anything that you want to be part of the style. +%The \pf{default} style, for instance, includes definitions for the labels +%in list environments like |itemize| and some initializations for +%lists in general (done with |\pdsetup|, see +%section~\ref{sec:pdsetup}). This part could also include some +%customizations as described in section~\ref{sec:specialtemps}. +%\item\textbf{Font initializations}\\ +%This initializes font definitions (which can be done by +%loading a package like \pf{helvet}). +%\end{description} +% +%\subsection{Defining palettes}\label{sec:defpals} +%We will be defining templates formally in +%section~\ref{sec:deftemps}. For now, it's enough to have the general +%idea that a template controls the design of a slide. Palettes are +%sets of colors that color a template or design. A palette does not +%change the overall design of a template. +% +%\DescribeMacro{\pddefinepalettes} +%The following command can be used to define palettes for your style. +%\begin{command} +% `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots' +%\end{command} +%This macro takes \emph{any} even number of mandatory arguments with +%a minimum of two. For every \meta{name}, a set of \meta{commands} +%can be given which define the palette with name \meta{name}. These +%commands can define colors with names |pdcolor1|, |pdcolor2|, +%etcetera. These colors can be used when designing the template (see +%section~\ref{sec:deftemps}). |pdcolor1| will always be used as text +%color. +% +%The user can access these palettes via the |palette| key for the +%|\pdsetup| command (see section~\ref{sec:pdsetup}). If the user does +%not specify a palette, the first palette defined when compiling the +%presentation, will be used. Here is an example for defining 2 +%palettes. +%\begin{example} +% \pddefinepalettes{reds}{ +% \definecolor{pdcolor1}{rgb}{1,0,0} +% \definecolor{pdcolor2}{rgb}{1,.1,0} +% \definecolor{pdcolor3}{rgb}{1,.2,0} +% }{greens}{ +% \definecolor{pdcolor1}{rgb}{0,1,0} +% \definecolor{pdcolor2}{rgb}{.1,1,0} +% \definecolor{pdcolor3}{rgb}{.2,1,0} +% } +%\end{example} +%In this example, the |reds| palette is the default one. For more +%information about |\definecolor|, see the documentation of the +%\pf{xcolor} package \cite{xcolor}. +% +%Notice that it is not necessary to use the names |pdcolor2|, +%|pdcolor3| etcetera as color names. But if these colors are defined, +%\pf{powerdot} will use them, for instance, in the random dots +%feature (see section~\ref{sec:glopts}). The flexibility adds extra +%possibilities in setting up templates and palettes. See for an +%example of its use, the \pf{klope} style. +% +%\subsection{Defining templates}\label{sec:deftemps} +%We start off with a definition of what a template is. A template is +%a collection of settings for slide components together with custom +%definitions, which controls the visual appearance of a slide. A +%style can contain multiple templates. +% +%\begin{command} +% `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}' +%\end{command} +%\DescribeMacro{\pddefinetemplate} +%This defines the environment \meta{name} to produce a slide with +%characteristics determined by \meta{basis}, \meta{options} and +%\meta{commands}. We will discuss these elements in more detail +%in the coming sections. +% +%If you want to create several templates that differ only slightly +%from each other, define a \meta{basis} template, and then use it to +%define other templates. All \meta{options} and \meta{commands} for +%the new template \meta{name} will be appended to the existing list +%of \meta{options} and \meta{commands} from the \meta{basis} +%template. +% +%Make sure you choose a \emph{proper} name for the template, and +%avoid redefining existing templates or environments. \pf{powerdot} +%defines |pauseslide|, |note| and |emptyslide| internally, so you +%shouldn't use these names unless you know what you're doing. +%Furthermore, each style needs to define at least the templates +%|slide| and |titleslide|. The |titleslide| environment will be used +%to create the title slide and |slide| will (by default) also be used +%to create section slides. Titles and sections are a bit special in +%the way they use the \meta{options} and will be discussed in more +%detail in section~\ref{sec:specialtemps}. +% +%\subsection{Controlling setup} +%\DescribeOption{ifsetup} +%The \meta{options} (keys) are described in the following sections. +%You can control how these options apply to the various setups by +%using the |ifsetup| key. Any key appearing before the first +%|ifsetup| declaration in \meta{options} will apply to every possible +%setup. Once the |ifsetup| key is used, then all subsequent key +%declarations will apply \textit{only} to the setups declared in the +%|ifsetup| key. The |ifsetup| key can be used multiple times. +% +%By possible setups, we mean the allowed values of the |mode|, +%|paper|, |orient|, and |display| keys that are described in +%section~\ref{sec:classopts}. If a value (or values!) for any of +%these four keys is not specified in a |ifsetup| declaration, then +%all subsequent key declarations will apply to any layout of that +%type. Consider the following as an example. +%\begin{example}[numbers=left,numberstyle=\tiny\ttfamily,% +% escapeinside=`',numbersep=1em,xleftmargin=1em] +% ... +% textpos={.2\slidewidth,.3\slideheight},% +% ifsetup={portrait,screen},% +% textpos={.3\slidewidth,.2\slideheight}% +% ... +% ifsetup=landscape,% +% ... +% ifsetup, +% ... +%\end{example} +%Assuming there was no |ifsetup| declaration before the first +%|textpos| declaration, this first |textpos| will apply to every +%possible setup. However, for the screen format in portrait +%orientation, the next |textpos| declaration will be used. In fact, +%all declarations that appear until we switch to the next |ifsetup| +%(which specifies all paper sorts and only landscape orientation) +%will be used in the portrait screen layout. All keys after the next +%|ifsetup| declaration will be used in landscape orientation, +%\emph{with any paper, mode and display}. If, after declaring some +%specializations, you want to switch back to settings that apply to +%all possible setups, set |ifsetup| to empty as is done in the +%example. All subsequent declarations will then again be applied +%under any setup. +% +%The following command is a stand-alone implementation of the +%mechanism described above. It allows you to control the setup +%outside the \meta{options} argument of the |\pddefinetemplate| +%command. +%\begin{command} +% `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}' +%\end{command} +%\DescribeMacro{\pdifsetup} +%This macro executes \meta{true} when the setup that the user chose +%matches with the \meta{desired} setup, \meta{false} in all other cases. +%For instance, if the user has chosen landscape, then +%\begin{example} +% \pdifsetup{landscape}{yes}{no} +%\end{example} +%will typeset |yes|. If the user would have chosen portrait instead, +%then |no| would have been typeset. +% +%This macro can be used to check setup requests from the user and, +%for instance, generate an error if a certain setup is not supported +%by your style. \pf{powerdot} provides one predefined error message +%which can be used in one of the first lines of your style. +%\begin{command} +% `\cs{pd@noportrait}' +%\end{command} +%\DescribeMacro{\pd@noportrait} +%This macro generates an error when the user requests portrait +%orientation. Notice that the handout mode only works in portrait +%orientation. This macro takes that into account and doesn't generate +%an error in the case that the user requested a handout. +% +%\subsection{Main components}\label{sec:maincomps} +%The \meta{options} control several key components of a slide. Every +%component has several properties. A key that can be used in the +%\meta{options} argument is the name of the component postfixed by +%its property that you want to control. +% +%The components |title|, |text|, |toc|, |stoc| and |ntoc| have +%properties |hook|, |pos|, |width| and |font|. Additionally, the +%|text| component has a |height| property. The components |lf|, |cf| and +%|rf| have properties |hook|, |pos|, |temp| and |font|. Hence, +%examples of valid keys are |titlefont|, |tocpos| and |lftemp|. All +%components and properties will be discussed below. +% +%Here is an overview of the components that can be controlled from +%the \meta{options} argument in |\pddefinetemplate|. +%\begin{description} +%\item\DescribeOption{title-}\option{title-}\\ +%The slide title. +%\item\DescribeOption{text-}\option{text-}\\ +%The main text box on the slide. +%\item\DescribeOption{toc-}\option{toc-}\\ +%The (full) table of contents on a slide containing sections and +%slides. +%\item\DescribeOption{stoc-}\option{stoc-}\\ +%This is a table of contents containing only the sections. See also +%|ntoc| below. +%\item\DescribeOption{ntoc-}\option{ntoc-}\\ +%This is a table of contents containing only the entries for the +%active section. Together with |stoc|, this can be used to create a +%split table of contents. In a particular template, one would usually +%have a |toc|, a combination of |stoc| and |ntoc| or no table of +%contents at all. +%\item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\ +%The left, center and right footers. +%\end{description} +% +%Notice that all positioning of components described above will be +%done with |\rput| from \pf{pstricks} \cite{PSTricksWeb,PSTricks} +%internally. See the \pf{pstricks} documentation for more information +%about this command. It should also be noted that all components +%(except |lf|, |cf| and |rf|) put their content in a |minipage| +%environment. +% +%Now we list all properties of the components listed above and +%describe what they mean. Remember that keys are formed by combining +%a component name and a property. +% +%\begin{description} +%\item\DescribeOption{-hook}\option{-hook}\\ +%This option defines the |\rput| hook that will be used when +%positioning the item. This can be |tl|, |t|, |tr|, |r|, |Br|, |br|, +%|b|, |bl|, |Bl|, |l|, |B| and |c|. See the \pf{pstricks} +%documentation for more information. +%\item\DescribeOption{-pos}\option{-pos}\\ +%This defines the position of the |hook| on the paper. The lower left +%corner of the paper is given by the point |{0,0}| and the upper right +%corner by the point |{\slidewidth,\slideheight}|. So if you want to +%position the main text box at 20\% from the left edge and 30\% from +%the top edge of the paper, you have to do the following. +%\begin{example} +% textpos={.2\slidewidth,.7\slideheight} +%\end{example} +%If the position of any component has not been specified, this +%component will not be placed on the slide. This gives an opportunity +%to design slides without footers or table of contents, for instance. +%\item\DescribeOption{-width}\option{-width}\\ +%The width of the component. All component positioned by +%\pf{powerdot} will be put in a surrounding |minipage| environment. +%The |width| property determines the width of the |minipage|. Example: +%\begin{example} +% textwidth=.7\slidewidth +%\end{example} +%This property does not exist for the |lf|, |cf| and |rf| components. +%\item\DescribeOption{-height}\option{-height}\\ +%This option is only available for the |text| component. In other +%words, for this property, there is only one key, namely +%|textheight|. This can be used to specify the height of the +%|minipage| used for the main text. This does not imply that users +%are restricted to this length or that \pf{powerdot} does automatic +%slide breaking. This height is only used for vertical alignments of +%material, for instance by footnotes. The preset value is +%|\slideheight|. +%\item\DescribeOption{-font}\option{-font}\\ +%This will be inserted just before the text that is about to be +%typeset. This can be used to declare deviations from the main text +%font and color. It can be a font declaration, like +%|\large\bfseries|, but can also contain other things like +%|\color{red}| or |\raggedright|. +%\item\DescribeOption{-temp}\option{-temp}\\ +%This property is only available for the footers (|lf|, |cf| and |rf|) and +%can be used to change the template of the footers. This means that +%you can, for instance, add content to the footer, besides the +%content specified by the user. The default declaration by +%\pf{powerdot} is the following. +%\begin{example} +% rftemp=\pd@@rf\ifx\pd@@rf\@empty +% \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide +%\end{example} +%Here |\pd@@rf| will contain the content of the right footer defined +%by the user via the |\pdsetup| command. Similarly, |\pd@@lf| +%contains the content of the left footer. The above declaration +%checks whether the footer and |\theslide| are both non-empty and if +%so, it inserts | -- | to separate both. +%\item\DescribeOption{-orient}\option{-orient}\\ +%This property is only available for the |toc|, |stoc| and |ntoc| +%components. This property can be |h| or |v| and determines the +%orientation of the table of contents. The preset is |v|. See +%also section~\ref{sec:slidetoc} for more information about the +%construction of the table of contents. +%\end{description} +% +%\subsection{Slide toc}\label{sec:slidetoc} +%The small table of contents that is placed on slides can be +%controlled by four macros and several options. +% +%\DescribeMacro{\pd@tocslide} +%\DescribeMacro{\pd@tocsection} +%These macros take one argument. When building the table of contents, +%\pf{powerdot} first passes the content through |\pd@tocslide| or +%|\pd@tocsection|, depending on the type of entry that it is building +%at that moment. You could, for instance, do +%\begin{example} +% \def\pd@tocslide#1{$\bullet$\ #1} +% \def\pd@tocsection#1{#1} +%\end{example} +%which will prefix all normal entries (not the sections) with a +%bullet. By default, these two macros are defined to just pass on +%their argument. +% +%\DescribeMacro{\pd@tocdisplay} +%\DescribeMacro{\pd@tochighlight} +%These two macros also take one argument. After processing an entry +%with the command |\pd@tocslide| or |\pd@tocsection|, \pf{powerdot} +%continues building the entry by passing it through |\pd@tocdisplay|, +%when the entry needs to be displayed only, or |\pd@tochighlight|, +%when the entry needs to be highlighted. These macros are a little +%more involved and take care of putting the content in the proper +%font and color in a |minipage|. Further, |\pd@tochighlight| also +%puts a box around the item. +% +%Notice, that by default, both the separate table of contents entries +%as well as the table of contents as a whole are typeset in +%|minipage| environments by these macros, in case the table of +%contents is vertical. The |-width| properties then determines the +%width of the table of contents and, together with |tocsecindent| and +%|tocslideindent| (see below) the width of the individual entries. If +%it is horizontal, only the separate entries will be in |minipage|s +%and the table of contents itself not and the |-width| properties +%determine only the width of the individual entries (together with +%|tocsecindent| and |tocslideindent|). +% +%Several aspects of the process of generating the table of contents +%can be controlled via the keys that are available in the +%|\pddefinetemplate| command that will be described below. If these +%keys do not provide enough handles to do what you want, you might +%need to have a look at the two macros in the source and decide to +%rewrite them in your style as to fit your needs. An example can be +%found in the \pf{fyma} style. +% +%\begin{description} +%\item\DescribeOption{tocfrsep}\option{tocfrsep}\\ +%This length is the distance between the box around the content +%created by the |minipage| and the highlight frame box created by +%|\pd@tochighlight|. Preset: |0.5mm|. +%\item\DescribeOption{tocsecsep}\option{tocsecsep}\\ +%The distance inserted before a section (unless it is the +%first element in the table of contents). Preset: |2ex|. +%Notice that if the orientation of the table of contents is set to +%vertical, this length creates a vertical skip, otherwise, it creates +%a horizontal skip. +%\item\DescribeOption{tocslidesep}\option{tocslidesep}\\ +%The distance inserted before other entries (unless it is the +%first element in the table of contents). Preset: |0ex|. Like +%|tocsecsep|, the effect of this length depends on the orientation of +%the table of contents. +%\item\DescribeOption{tocsecindent}\option{tocsecindent}\\ +%The horizontal space left to a section entry. Preset: |0pt|. +%\item\DescribeOption{tocslideindent}\option{tocslideindent}\\ +%The horizontal space left to a slide entry. The horizontal skip will +%not be inserted left to slide entries that appear before the first +%section. Preset: |0pt|. +%\item\DescribeOption{tocsecm}\option{tocsecm}\\ +%This is inserted just before typesetting a section. This can be used +%to mark a section, for instance with a line as in the \pf{default} +%style. Preset: empty. +%\item\DescribeOption{toctcolor}\option{toctcolor}\\ +%This is the text color used for non-highlighted elements in the +%table of contents. Preset: |black|. +%\item\DescribeOption{tochltcolor}\option{tochltcolor}\\ +%This is the text color used for highlighted elements in the table of +%contents. Preset: |white|. +%\item\DescribeOption{tochlcolor}\option{tochlcolor}\\ +%This is the color used for the frame behind highlighted elements. +%Preset: |black|. +%\end{description} +% +%\subsection{Miscellaneous options}\label{sec:miscoptions} +%There are some options that fall outside of the scope of the previous +%sections. These will be discussed here. +% +%\begin{description} +%\item\DescribeOption{iacolor}\option{iacolor}\\ +%The |iacolor| option can be used to specify the color that is used +%for inactive things, produced for instance by |\onslide|, |\pause| +%(see section~\ref{sec:overlays}) and |\tableofcontents| (see +%section~\ref{sec:tableofcontents}). As \pf{xcolor} is used by +%\pf{powerdot}, one can use special notation here, like +%\begin{example} +% iacolor=black!20 +%\end{example} +%The preset value for this key is |lightgray|. +%\end{description} +% +%The following options control the digital clock (see +%section~\ref{sec:classopts}). The clock is a form text field with +%dynamic content, driven by a javascript via \pf{hyperref} text +%fields. Some options for the clock work similarly as for, for +%instance, the title component, but there are also special options. +%\begin{description} +%\item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\ +%These work in the same way as the |-hook| and |-pos| properties +%discussed in section~\ref{sec:maincomps}. The preset value of +%|clockhook| is |tr|. +%\item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\ +%These control the width and height of the text field containing the +%clock. Preset values come from \pf{hyperref} and are |3cm| and +%|\baselineskip|, respectively. +%\item\DescribeOption{clockcharsize}\option{clockcharsize}\\ +%The size of characters of the clock. Preset: |14pt|. +%\item\DescribeOption{clockalign}\option{clockalign}\\ +%The alignment of the clock in the text field. |0| is left-aligned, +%|1| is centered and |2| is right aligned. Preset is |2|. +%\item\DescribeOption{clockcolor}\option{clockcolor}\\ +%This determines the text color of the clock. The value should be a +%named color. The preset value is |black|. +%\end{description} +% +%\subsection{Template presets} +%Below, we have copied the preset setting for the keys described +%above. These will be used if you didn't supply other input for these +%keys in a particular template. If the preset value meets your +%needs, you don't have to specify it again in your style. +%\begin{example} +% titlehook=Bl,titlepos=,titlewidth=\slidewidth, +% titlefont=\raggedright,texthook=tl,textpos=, +% textwidth=\slidewidth,textfont=\raggedright, +% textheight=\slideheight, +% tochook=tl,tocpos=,tocwidth=.2\slidewidth, +% tocfont=\tiny\raggedright, +% stochook=tl,stocpos=,stocwidth=.2\slidewidth, +% stocfont=\tiny\raggedright, +% ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth, +% ntocfont=\tiny\raggedright, +% tocorient=v,stocorient=v,ntocorient=v, +% tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex, +% tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white, +% tocsecindent=0pt,tocslideindent=0pt, +% lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf, +% cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf, +% rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf +% \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide, +% iacolor=lightgray, +% clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip, +% clockcharsize=14pt,clockalign=2,clockcolor=black +%\end{example} +% +%\subsection{The background}\label{sec:defbg} +%This leaves only one argument of the |\pddefinetemplate| macro +%undiscussed. This is the \meta{commands} argument. This argument can +%contain any code that you want to execute \textit{after} setting the +%options and \textit{before} building the slide components like the +%slide title, main text, and footers. This argument is designed to +%contain declarations that will build the background of a template +%using, for instance, \pf{pstricks}, but it can also hold other +%commands you might need for building your template. +% +%Important to notice is that these commands may not create \TeX\ +%material as that might destroy the construction of the slide. So, if +%you want to place the word `Hello' in the bottom left corner of the +%slide, don't type `Hello', but make its width, height and depth +%equal to zero, for instance by using \pf{pstricks}' |\rput|. +%\begin{example} +% \rput[bl](0,0){Hello} +%\end{example} +% +%\subsection{Title slide, titles and sections}\label{sec:specialtemps} +%As mentioned before, the style that you write needs to define at +%least the templates |slide| and |titleslide|. The latter treats some +%of the keys in a special way. Besides, a section slide is also done +%in a special way. +% +%The title slide (made with |\maketitle|) puts the title with +%author(s) and date in the main text box. This means that you have to +%supply a position for the main text box (|textpos|). It will use the +%main text font for the text (together with declarations in the +%|textfont| key) for the author(s) and the date. But it will use the +%declarations in |titlefont| for the title of the presentation. This +%is done so that title and author(s) form a coherent block and to +%make sure that long titles can push down the author(s) instead of +%overwriting it. +% +%\DescribeMacro{\pd@slidetitle} +%The |\pd@slidetitle| macro is used to typeset the slide title on +%slides. This macro is comparable to for instance |\pd@tocslide|. The +%macro takes one argument which is the slide title in the right font +%and formatting. By default, this macro just passes on the content +%for typesetting, but you could redefine this macro so do something +%with its input prior to typesetting it. An example is in the +%\pf{fyma} style which underlines the title after putting it in a +%|minipage| to support multi line titles. +% +%\DescribeMacros{\pd@title,\pd@sectiontitle} +%These macros are similar to |\pd@slidetitle| and typeset the title +%on the title slide and the title on section slides respectively. By +%default, these also pass there argument (which is the presentation +%title or section title), but these can be redefined to do something +%with the input prior to typesetting it, just as |\pd@slidetitle|. +% +%\DescribeOptions{sectemp,widesectemp} +%The |\section| command uses (by default) the |slide| environment and +%puts the section title in the title box with font |titlefont|. If +%you want to change the default use of the |slide| environment for +%sections to, for instance, the |sectionslide| environment or any +%other especially designed section template, change the section +%template preset in your style, using +%\begin{example} +% \setkeys[pd]{section}{sectemp=sectionslide} +%\end{example} +%This means that if the user asks for |template=slide| in the +%|\section| command, the |sectionslide| environment will be used +%silently. To avoid surprises, |sectionslide| should preferably be +%based on the |slide| environment. +% +%A similar option is available in case the user asks for +%|template=wideslide|. One could for instance do the following. +%\begin{example} +% \setkeys[pd]{section}{widesectemp=sectionwideslide} +%\end{example} +%Whenever the user requests a |wideslide| to be used for a +%|\section|, instead, the |sectionwideslide| environment will be +%used. Other input to the |template| key by the user does not get a +%special treatment. +% +%Notice that these keys are available in the |section| family of keys +%and that you cannot use them in the |\pddefinetemplate| command. +% +%\subsection{Testing the style}\label{sec:styletest} +%\pf{powerdot} has a test file that should test most of the style. +%This test file can be produced by running \LaTeX\ over +%|powerdot.dtx|. This generates |powerdot-styletest.tex| which will +%help you with the testing job. Feel free to contact us when you +%would like to contribute your style to \pf{powerdot}. See also +%section~\ref{sec:questions}. +% +%\section{Using \LyX\ for presentations}\label{sec:lyx} +%\LyX\ \cite{LyXWeb} is a WYSIWYM (What You See Is What You Mean) +%document processor based on \LaTeX. It supports standard \LaTeX\ +%classes but needs special files, called layout files, in order to +%support non-standard classes such as \pf{powerdot}. +% +%To start using \LyX\ for \pf{powerdot} presentations, copy the +%layout file |powerdot.layout| to the \LyX\ layout directory. You can +%find this file in the doc tree of your \LaTeX\ installation: +%\url{texmf/doc/latex/powerdot}. If you can't find it there, download +%it from \url{CTAN:/macros/latex/contrib/powerdot}. Once that is +%done, reconfigure \LyX\ (\texttt{Edit\LyXarrow Reconfigure} and +%restart \LyX\ afterwards). Now you can use the \pf{powerdot} +%document class as any other supported class. Go to +%\texttt{Layout\LyXarrow Document} and select \texttt{powerdot +%presentation} as document class. For more information, see the \LyX\ +%documentation, which is accessible from the |Help| menu. +% +%\subsection{How to use the layout} +%The \pf{powerdot} \LyX\ layout provides some environments\footnote{Don't +%confuse these with \LaTeX\ environments.} which can be used in \LyX. +%Some of these environments (for instance |Title| or |Itemize|) are +%natural to use since they exist also in the standard document +%classes such as \pf{article}. For more information on these standard +%environments, see the \LyX\ documentation. +% +%This section will explain how to use the \pf{powerdot} specific +%environments |Slide|, |WideSlide|, |EmptySlide| and |Note|. These +%environments correspond to the \pf{powerdot} environments |slide|, +%|emptyslide|, |wideslide| and |note|. +% +%We start with a simple example. The following \LaTeX\ code +%\begin{example} +% \begin{slide}{Slide title} +% Slide content. +% \end{slide} +%\end{example} +%can be obtained using the following \LyX\ environments. The right +%column represents the text typed into the \LyX\ window and the left +%column represents the environment applied to this text). +%\begin{example} +% Slide Slide title +% Standard Slide content. +% EndSlide +%\end{example} +%Some remarks concerning this example. +%\begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt] +%\item You can use the environment menu (under the menu bar, top-left +%corner) to change the environment applied to text. +%\item The slide title should be typed on the line of the |Slide| +%environment. +%\item |EndSlide| finishes the slide and its line is left blank. +%\end{itemize} +% +%In the \LyX\ window, the |Slide| environment (that is, the slide +%title) is displayed in magenta, the |WideSlide| style in green, the +%|EmptySlide| style in cyan and the |Note| style in red and hence +%these are easily identifiable. +% +%Here is another example. +%\begin{example} +% \begin{slide}{First slide title} +% The first slide. +% \end{slide} +% \begin{note}{First note title} +% The first note, concerning slide 1. +% \end{note} +% \begin{slide}{Second slide title} +% The second slide. +% \end{slide} +%\end{example} +%This can be done in \LyX\ in the following way. +%\begin{example} +% Slide First slide title +% Standard The first slide. +% Note First note title +% Standard The first note, concerning slide 1. +% Slide Second slide title +% Standard The second slide. +% EndSlide +%\end{example} +%This example demonstrates that it is often sufficient to insert the +%|EndSlide| style after the last slide or note only. Only when you +%want certain material not to be part of a slide, you need to finish +%the preceding slide manually using the |EndSlide| style. Example: +%\begin{example} +% Slide First slide title +% Standard The first slide. +% EndSlide +% [ERT box with some material] +% Slide Second slide title +% ... +%\end{example} +% +%Options can be passed to slide environments by using +%\texttt{Insert\LyXarrow Short title} in front of the slide title. +%The following example uses the |direct| method (see +%section~\ref{sec:verbatim}) in the short title argument (delimited by +%square brackets) to allow for a |lstlisting| environment (defined by +%the \pf{listings} package) within the slide content. +%\begin{example} +% Slide [method=direct]Example of LaTeX source code +% Standard Here's the \HelloWorld command: +% [ERT box: +% \lstset{language=[LaTeX]TeX} +% \begin{lstlisting} +% \newcommand{\HelloWorld}{Hello World!} +% \end{lstlisting} +% ] +% EndSlide +%\end{example} +%Note that you are not obliged to use a |verbatim| environment to +%type the |\HelloWord| text into the \LyX\ window because \LyX\ +%directly supports standard verbatim.\footnote{\LyX\ translates +%special characters into their corresponding \LaTeX\ command. For +%instance, the backslash character is translated into +%\cs{textbackslash{}}. Resulting, the font is not the same as in true +%verbatim and you might want to change that via the +%\texttt{Layout\LyXarrow Character} dialog.} Consequently, the use of +%the slide processing methods |direct| and |file| is not necessary +%when you need standard verbatim, but it is necessary when doing more +%advanced things, like in the example above. +% +%\subsection{Support of syntax} +%This section lists options, commands and environments that are +%supported through the \LyX\ interface directly, without using an ERT +%box (\TeX-mode). +% +%All class options (see section~\ref{sec:classopts}) are supported +%via the \texttt{Layout\LyXarrow Document} dialog (|Layout| pane). +%Options for the |\pdsetup| command (see section~\ref{sec:setup}) +%should be specified in the |Preamble| pane of the +%\texttt{Layout\LyXarrow Document} dialog. +% +%Table \ref{tab:lyxcommands} lists the \pf{powerdot} commands that +%are supported in \LyX. +%\begin{table}[htb] +%\centering +%\begin{tabular}{f} +%Command & Method in \LyX\\\hline +%\cs{title} & Use \texttt{Title} environment.\\ +%\cs{author} & Use \texttt{Author} environment.\\ +%\cs{date} & Use \texttt{Date} environment.\\ +%\cs{maketitle} & Managed directly by \LyX.\\ +%\cs{section} & Use the \texttt{Section} environment. Options to this +%command (see section~\ref{sec:section}) can be specified using +%\texttt{Insert\LyXarrow Short title} in front of the section title.\\ +%\cs{tableofcontents} & Use \texttt{Insert\LyXarrow Lists \& +%TOC\LyXarrow Table of contents}. You will need an ERT box if you +%want to use the optional argument, see below. +%\end{tabular} +%\caption{Supported \pf{powerdot} commands in \LyX}\label{tab:lyxcommands} +%\end{table} +%Table \ref{tab:lyxenvs} lists the \pf{powerdot} environments that, +%besides the earlier discussed |slide|, |wideslide|, |note| and +%|emptyslide| environments, are supported in \LyX. +%\begin{table}[htb] +%\centering +%\begin{tabular}{f} +%Environment & Method in \LyX\\\hline +%\texttt{itemize} & Use \texttt{Itemize} and \texttt{ItemizeType1} +%environments. The latter will create a list with |type=1| (see +%section~\ref{sec:lists}).\\ +%\texttt{enumerate} & Use \texttt{Enumerate} and +%\texttt{EnumerateType1} environments.\\ +%\texttt{thebibliography} & Use \texttt{Bibliography} environment. +%\end{tabular} +%\caption{Supported \pf{powerdot} environments in \LyX}\label{tab:lyxenvs} +%\end{table} +%Table \ref{tab:lyxERT} lists commands that can only be done by using +%an ERT box (via \texttt{Insert\LyXarrow TeX}). +%\begin{table}[ht] +%\centering +%\begin{tabular}{f} +%Command & Method in \LyX\\\hline +%\cs{and} & Within \texttt{Author} environment.\\ +%\cs{pause} & \\ +%\cs{item} & An ERT box is only required for the optional argument, +%not mandatory for overlays specifications.\\ +%\cs{onslide} & And the versions \cs{onslide+} and \cs{onslide*}.\\ +%\cs{twocolumn} & \\ +%\cs{tableofcontents} & Only when using the optional argument. +%\end{tabular} +%\caption{\pf{powerdot} commands needing an ERT box in \LyX}\label{tab:lyxERT} +%\end{table} +%Note that you may use the clipboard in order to repeat often used +%commands like |\pause|. Finally, table \ref{tab:lyxadd} lists +%additional commands and environments that are supported by the layout. +%\begin{table}[htb] +%\centering +%\begin{tabular}{f} +%Env./Command & Method in \LyX\\\hline +%\texttt{quote} & Use \texttt{Quote} environment.\\ +%\texttt{quotation} & Use \texttt{Quotation} environment.\\ +%\texttt{verse} & Use \texttt{Verse} environment.\\ +%\cs{caption} & Use \texttt{Caption} environment within standard +%float environments. +%\end{tabular} +%\caption{Additional environments for \LyX}\label{tab:lyxadd} +%\end{table} +% +%\subsection{Compiling with \LyX} +%First of all, make sure that you have also read +%section~\ref{sec:compiling}. Then, in order to get a proper +%PostScript or PDF file, you have to set your \LyX\ document +%properties depending on which paper and orientation you want. When +%your \LyX\ document is open, go to the \texttt{Layout\LyXarrow +%Document} dialog. In the \texttt{Layout} pane, put the |nopsheader|, +%|orient| and |paper| keys as class options (see +%section~\ref{sec:classopts} for a description). Then, go to the +%|Paper| pane and select corresponding paper size and orientation +%(you may choose |letter| paper in the case you set |paper=screen| in +%the class options). Finally, go to the |View| (or +%\texttt{File\LyXarrow Export}) menu and select your output +%(PostScript or PDF). +% +%\subsection{Extending the layout} +%If you have created a custom style (see section~\ref{sec:writestyle}) +%which defines custom templates, you may want to extend the layout +%file\footnote{The LPPL dictates to rename a file if you modify it as +%to avoid confusion.} so that these templates are also supported in +%\LyX. The explanation below assumes that you have defined a template +%called |sunnyslide|. +% +%To support this new template in \LyX, you have to use the following +%command. +%\begin{command} +% `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}' +%\end{command} +%\DescribeMacro{\pddefinelyxtemplate} +%This will define the control sequence \meta{cs} such that it will +%create a slide with template \meta{template} (which has been defined +%using |\pddefinetemplate|. This new control sequence can be used in +%the layout file as follows. +%\begin{example} +% # SunnySlide environment definition +% Style SunnySlide +% CopyStyle Slide +% LatexName lyxend\lyxsunnyslide +% Font +% Color Yellow +% EndFont +% Preamble +% \pddefinelyxtemplate\lyxsunnyslide{sunnyslide} +% EndPreamble +% End +%\end{example} +%Note that you must begin the |LatexName| field with |lyxend|. The +%definition of the \LyX\ template has been inserted in between +%|Preamble| and |EndPreamble| which assures that the new \LyX\ +%environment will work in every presentation. After modifying the +%layout file, don't forget to restart \LyX. See for more information +%about creating \LyX\ environments, the documentation of \LyX\ in the +%|Help| menu. +% +%\section{Questions}\label{sec:questions} +%\subsection{Frequently Asked Questions}\label{sec:FAQ} +%This section is devoted to Frequently Asked Questions. Please read +%it carefully; your problem might be solved by this section. +%\begin{itemize}[leftmargin=0pt] +%\question +%Does \pf{powerdot} have example files? Where can I find them? +%\answer +%\pf{powerdot} comes with several examples that should be in the doc +%tree of your \LaTeX\ installation. More precisely: +%\url{texmf/doc/latex/powerdot}. If you can't find them there, +%download them from \url{CTAN:/macros/latex/contrib/powerdot} +%\cite{CTAN}. +%\question I'm getting errors or unexpected output when compiling +%the simplest example! +%\answer Did you read section~\ref{sec:compiling}? +%\question I made a typo in the slide code, ran the file, got an +%error, corrected the typo and reran, but now get an error that +%doesn't go away. +%\answer Remove the |.bm| and |.toc| files and try again. +%\question |\pause| does not work in the |align|\footnote{There are +%several environments doing similar things as \texttt{align}. Another +%example is the \texttt{split} environment, but more (often from the +%\pf{amsmath} package) can cause similar trouble for \cs{pause}.} +%environment. +%\answer |align| does several tricky things, which make it impossible +%to use |\pause|. Use |\onslide| instead. See +%section~\ref{sec:onslide}. +%\question My \pf{pstricks} nodes appear on all overlays. Also: color +%doesn't seem to work with |\onslide|. +%\answer Some PostScript tricks like nodes and color do not work with +%|\onslide|. Use |\onslide*| instead. See an example below. +%\begin{example} +% \documentclass{powerdot} +% \usepackage{pst-node} +% \begin{document} +% \begin{slide}{Color} +% \onslide*{2}{\cnode(0,-5pt){2pt}{A}} +% This is {\onslide*{2-}{\color{red}} red} text. +% \onslide*{2}{\cnode(0,-5pt){2pt}{B}} +% \onslide{2}{\ncline{A}{B}} +% \end{slide} +% \end{document} +%\end{example} +%\question Do I need to edit style files to change a style a bit? +%\answer No, you do not need to edit any style file. You can change +%any part of a certain style using the |\pddefinetemplate| and +%|\pddefinepalettes| commands. Here is an example that removes the +%left and right footers from the \pf{default} style, places the slide +%number in the center footer and adds another palette. +%\begin{example} +% \documentclass{powerdot} +% \pddefinetemplate[slide]{slide}{ +% lfpos=,rfpos=,cftemp=\theslide +% }{} +% \pddefinepalettes{mypalette}{ +% \definecolor{pdcolor1}{rgb}{.27,.31,.44} +% \definecolor{pdcolor2}{rgb}{.85,.85,.92} +% \definecolor{pdcolor3}{rgb}{.8,.75,.98} +% } +% \pdsetup{palette=mypalette} +% \begin{document} +% \begin{slide}{Title} +% \end{slide} +% \end{document} +%\end{example} +%See section~\ref{sec:writestyle} for more information about these +%two commands. +%\question Can I contribute to this project? +%\answer +%Certainly. If you find bugs\footnote{Make sure that you confirm that +%the bug is really caused by \pf{powerdot} and not by another package +%that you use.} or typos, please send a message to the mailinglist +%(see section~\ref{sec:mailinglist}). If you have developed your own +%style that is distinct from existing styles and would like to see it +%included in \pf{powerdot}, please inform us by private e-mail and we +%will consider your contribution. Notice that included contributions +%will fall under the overall \pf{powerdot} license and copyright +%notice, but that your name will be included in the documentation +%when you make a contribution. This is done to guarantee that we can +%adapt files if maintenance is needed. +%\end{itemize} +% +%If your question has not been answered at this point, advance to the +%next section to read where to find more answers. +% +%\subsection{Mailinglist}\label{sec:mailinglist} +%\pf{powerdot} has a mailinglist from \url{freelists.org} and has its +%website here: +%\begin{center} +%\url{http://www.freelists.org/list/powerdot} +%\end{center} +%There is a link to `List Archive'. Please search this archive before +%posting a question. Your problem might already have been solved in +%the past. +% +%If that is not the case, use the box on the page to type your e-mail +%address, choose the action `Subscribe' and click `Go!'. Then follow +%the instructions that arrive to you by e-mail. At a certain moment, +%you can login for the first time using an authorization code sent to +%you by e-mail. After logging in, you can create a password for +%future sessions using the `Main Menu' button. The other buttons +%provide you some info and options for your account. +% +%When you are all set, you can write to the list by sending an e-mail +%to +%\begin{center} +%\url{powerdot [at] freelists [dot] org} +%\end{center} +% +%When writing to the list, please keep in mind the following very +%important issues. +%\begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt] +%\item We are volunteers! +%\item Keep your questions related to \pf{powerdot}. +%\item Always supply a \emph{minimal} example demonstrating your +%problem. +%\item Don't send big files over the list. +%\end{enumerate} +% +%We hope you will enjoy this service. +% +%\section{Source code documentation}\label{sec:source} +%In case you want regenerate the package files from the source or +%want to have a look at the source code description, locate +%|powerdot.dtx|, search in the file for |\OnlyDescription| and remove +%that and do +%\begin{example} +% latex powerdot.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} + [2014/01/01 v1.5 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. +% \begin{macrocode} +\define@boolkey[pd]{class}[pd@@]{clock}[true]{% + \ifpd@@clock + \AtBeginDocument{% +% \end{macrocode} +% Start a \pf{hyperref} form. +% \begin{macrocode} + \@Form[]% +% \end{macrocode} +% Trick to insert rotation into text field if in landscape orientation. +% \begin{macrocode} + \ifnum\pd@orient=\z@ + \def\pd@clockrot{] /R 90\@gobble}% + \else + \let\pd@clockrot\@empty + \fi + }% +% \end{macrocode} +% \begin{macro}{\pd@startclock} +% Clock javascript. +% \changes{v1.4}{2005/12/10}{Added arguments for \texttt{clockformat} and \texttt{clockrefresh} values.} +% \begin{macrocode} + \def\pd@startclock##1##2{% + function pdshowtime(){ + var pdtime=new Date(); + this.getField("pdclock.time").value= + util.printd("##1",pdtime); + } + pdshowtime(); + var tempa=app.setInterval("pdshowtime()",##2); + this.getField("pdstartclock").readonly=true; + this.getField("pdclock.time").readonly=true; + }% + \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{graphicx} +\RequirePackage[overlays]{pstricks}[2004/05/12] +\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} +% 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@ + \AtBeginDvi{\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 + \AtBeginDvi{\special{papersize=\the\paperwidth,\the\paperheight}} + \ifcase\pd@paper + \AtBeginDvi{\special{!% + \@percentchar\@percentchar BeginPaperSize: letter + ^^Jletter^^J\@percentchar\@percentchar EndPaperSize + }} + \or + \AtBeginDvi{\special{!% + \@percentchar\@percentchar BeginPaperSize: a4 + ^^Ja4^^J\@percentchar\@percentchar EndPaperSize + }} + \or + \AtBeginDvi{\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. +% \begin{macrocode} + \ifpd@@clock + \ifnum\c@slide=\@ne + \ifpd@overlay\else +% \end{macrocode} +% Insert invisible function to start the clock. +% \begin{macrocode} + \rput(0,-1){% + \TextField[% + format=\pd@startclock\pd@@clockformat\pd@@clockrefresh,% + name=pdstartclock,bordercolor={},backgroundcolor={},% + height=0bp,width=0bp]{}% + }% + \fi + \fi +% \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. +% \begin{macrocode} + \ifx\pd@@clockpos\@empty\else + \rput[\pd@@clockhook](\pd@@clockpos){% + \TextField[name=pdclock.time,bordercolor={},% + rotation={\ifnum\pd@orient=\z@ 90\else 0\fi},% + backgroundcolor={},align=\pd@@clockalign,color=\pd@tempa,% + charsize=\pd@@clockcharsize,width=\pd@@clockwidth,% + height=\pd@@clockheight]{}% + }% + \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, + nopagebreaks, + 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> |