diff options
Diffstat (limited to 'Master/texmf-dist/doc/latex/powerdot/powerdotSlide.tex')
-rw-r--r-- | Master/texmf-dist/doc/latex/powerdot/powerdotSlide.tex | 2635 |
1 files changed, 0 insertions, 2635 deletions
diff --git a/Master/texmf-dist/doc/latex/powerdot/powerdotSlide.tex b/Master/texmf-dist/doc/latex/powerdot/powerdotSlide.tex deleted file mode 100644 index e095b47c20e..00000000000 --- a/Master/texmf-dist/doc/latex/powerdot/powerdotSlide.tex +++ /dev/null @@ -1,2635 +0,0 @@ -%% -%% This documentation is prepared by Herbert Voss -%% -%% This work may be distributed and/or modified under the -%% conditions of the LaTeX Project Public License, either version 1.3 -%% of this license or (at your option) any later version. -%% The latest version of this license is in -%% http://www.latex-project.org/lppl.txt -%% and version 1.3 or later is part of all distributions of LaTeX -%% version 2003/12/01 or later. -%% -\documentclass{powerdot} -\usepackage{url} -\usepackage{fourier} -\usepackage{graphicx} -\usepackage{listings} -\usepackage{array} -\def\Lcs#1{\texttt{\textbackslash#1}} -\lstnewenvironment{command}{% - \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},% - xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{} -\lstdefinestyle{example}{% - basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,% - backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,% - xrightmargin=\fboxsep,% - language=[LaTeX]TeX,keywordstyle=\color{blue},% - moretexcs=[1]{color,ProvidesPackage},% - moretexcs=[2]{onslide,pause,pdsetup,maketitle,tableofcontents},% - texcsstyle=[2]\color{red}} -\makeatletter -\def\option#1{% - \XKV@for@n{#1}\pd@tempa{% - \fcolorbox{black}{red!20}{\texttt\pd@tempa}\quad - }% - \vspace*{.2cm}% -} -\def\larg#1{{\ttfamily\char`\<}\meta{#1}{\ttfamily\char`\>}} -\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@} -\def\LyXarrow{\leavevmode\,$\triangleright$\,\allowbreak} -\let\pf\textsf -\def\equals{=} -\setcounter{tocdepth}{2} -\newcolumntype{d}{c|l} -\newcolumntype{e}{c|c|c|c} -\newcolumntype{f}{l|p{8cm}} -\newcounter{FAQ} -\def\question{% - \stepcounter{FAQ}% - \parskip4pt plus 2pt minus 1pt - \itemsep4pt plus 2pt minus 1pt - \parsep4pt plus 2pt minus 1pt - \item[\textbf{Q\arabic{FAQ}}]% -} -\def\answer{% - \parskip0pt - \itemsep0pt - \parsep0pt - \item[\textbf{A\arabic{FAQ}}]% -} -\def\styleexample#1{% - \IfFileExists{powerdot-styleexample-#1.001}{% - \IfFileExists{powerdot-styleexample-#1.002}{% - \hspace*{\stretch{1}}% - \fbox{\includegraphics[scale=.16,angle=-90,clip]% - {powerdot-styleexample-#1.001}}% - \hspace*{\stretch{2}}% - \fbox{\includegraphics[scale=.16,angle=-90,clip]% - {powerdot-styleexample-#1.002}}% - \hspace*{\stretch{1}}\par - }{\textbf{No example files found for style \pf{#1}.}}% - }{\textbf{No example files found for style \pf{#1}.}}% -} -\makeatother - -\def\fileversion{v1.4e} -\def\filedate{2010/12/18} - -\title{The \pf{powerdot} class} -\author{Hendri Adriaens\and Christopher Ellison\and Herbert Vo\ss} -\date{\fileversion\ (\filedate)} - -\begin{document} - -\maketitle - -\begin{slide}{Abstract} -\begin{abstract} -\pf{powerdot} is a presentation class for \LaTeX\ that allows for -the quick and easy development of professional presentations. It -comes with many tools that enhance presentations and aid the -presenter. Examples are automatic overlays, personal notes and a -handout mode. To view a presentation, DVI, PS or PDF output can be -used. A powerful template system is available to easily develop new -styles. A \LyX\ layout file is provided. -\end{abstract} -\end{slide} - -\begin{slide}{Contents} -\tableofcontents -\end{slide} - -\section{Introduction} -\begin{slide}{Introduction}\label{sec:intro} -This class builds on and extends the \pf{prosper} class -\cite{prosper} and the \pf{HA-prosper} package \cite{HA-prosper}. -The \pf{HA-prosper} package was initially intended to extend -\pf{prosper} and correct some bugs and problems of that class. As -developments on that package progressed, it was found that -unfortunately, not all of the problems could be overcome with the -package. That discovery was the start of a new project set up to -make a new class to replace the \pf{prosper} plus \pf{HA-prosper} -combination. You're currently reading the result of that project.\pause - -The remainder of this section will be devoted to giving a feel of -what the \pf{powerdot} presentation source looks like and giving an -overview of this documentation.\pause - -The document structure of a presentation is always the same. You can -find it in the example below. -\end{slide} - - -\begin{slide}[method=direct]{Example} -\begin{lstlisting}[style=example] -\documentclass[<class options>]{powerdot} -\pdsetup{<presentation options>} -\begin{document} - \begin{slide}{a slide} - Contents of the slide. - \end{slide} - \section{first section} - \begin{slide}[<slide options>]{another slide} - Contents of the slide. - \end{slide} - \begin{note}{personal note} - The note. - \end{note} -\end{document} -\end{lstlisting} - -\end{slide} - - -\begin{slide}[method=direct]{} -There are several elements that define the document structure. First -of all, the class accepts some class options that control the output -of the class, for instance, paper type and style. These class -options will be discussed in section~\ref{sec:classopts}. Then there -are presentation specific options which control some of the elements -of the presentation globally, for instance, the footers. These will -be discussed in section~\ref{sec:pdsetup}. -\end{slide} - -\begin{slide}[method=direct]{} -Once the setup has been decided on, you can use the slide -environment to produce slides (see section~\ref{sec:slides}) and the -note environment to produce notes that go with the slides (see -section~\ref{sec:notes}). You can use overlays to display material -in steps. This is described in section~\ref{sec:overlays}. The -\verb=\section= command provides a way to structure your presentation. -This is discussed in section~\ref{sec:structure}. -Section~\ref{sec:styles} will show an overview of the styles that -come with this class and the characteristics of each style. -Section~\ref{sec:compiling} will tell you more about how to produce -output. This section contains important information on required -packages. -\end{slide} - -\begin{slide}[method=direct]{} -Section~\ref{sec:writestyle} is mostly interesting for people that -want to develop their own style for this class or want to modify an -existing style. Section~\ref{sec:lyx} explains how \LyX\ -\cite{LyXWeb} can be used to create \pf{powerdot} presentations. -This documentation concludes with a section devoted to questions -(section~\ref{sec:questions}), like `Where can I find examples?'. It -also tells you where to turn to in case your questions are still not -solved. -\end{slide} - - -\section{Setting up the presentation}\label{sec:setup} -\subsection{Document class options}\label{sec:classopts} -\begin{slide}{Document class options} -This section will describe all options that are available to control -the output of the presentation and the looks of it. \pause - -We will -start with the class options that are typed in the \Lcs{documentclass} -command as a comma-separated list. For each option, the preset -value will be mentioned in the description. This is the value -that will be used if you decide to not give a value to the option or -not use the option at all. The value that will be used when you don't use the -option. -\end{slide} - -\begin{slide}{} -This options controls the kind of output that we want to produce. -The preset value is \texttt{present}.\pause -\begin{description} -\item\option{mode=present} -This mode is used when you want to create the actual presentation. It -will enable overlays and transition effects. You can read more about -overlays in section~\ref{sec:overlays}. -\item\option{mode=print}\\ -This mode can be used when printing the slides including their visual -markup, but without any overlay or transition effects. -\item\option{mode=handout}\\ -This mode will produce a black and white overview of your slides that -can be used to make personal notes on, for distribution to students, -a personal guide during your talk, etcetera. -\end{description} -\end{slide} - -\begin{slide}{} -This options controls the kind of output that we want to produce. -The preset value is \texttt{present}.\pause -\begin{description} -\item\option{nopagebreaks}\\ -By default, the handout mode produces a document with two slides per -page. If you want to fit more slides on a page, specify this option -in the \Lcs{documentclass} command and \pf{powerdot} will let \LaTeX\ -decide on the places to insert a page break, namely when a page is -full. -\end{description} -\end{slide} - - -\begin{slide}{} -\begin{description} -\item\option{paper} This option has three possible values. The -preset value is \texttt{screen}. -\begin{description} -\item\option{paper=screen}\\ -This is a special format with screen optimized ratio (4/3). The -actual page dimensions will be 8.25 inch by 11 inch. This paper format -is not available for print or handout mode. In these modes, \pf{powerdot} -will switch to a4 paper and put a warning that it did this in the -log file of your presentation. -\item\option{paper=a4paper}\\ -A4 paper will be used for the presentation or handout. -\item\option{paper=letterpaper}\\ -Letter size paper will be used. -\end{description} -\end{description} -\end{slide} - -\end{document} - -Some important information with respect to paper size, compiling and -viewing presentations is available in section~\ref{sec:compiling}. - -\DescribeOption{orient} This controls the orientation of the -presentation. The preset value is |landscape|. -\begin{description} -\item\option{orient=landscape}\\ -The presentation will be in landscape format. This value is not -available in handout mode. In that mode, \pf{powerdot} will switch -to portrait orientation and will warn you about this in the log -file. -\item\option{orient=portrait}\\ This produces slides in portrait -format. Notice that not all styles support portrait orientation. Please -refer to section~\ref{sec:styles} for information about which styles -do support the portrait orientation. -\end{description} - -\DescribeOption{display} This controls the production of slides and -notes. The preset value is |slides|. -\begin{description} -\item\option{display=slides}\\ -This will only typeset the slides in your presentation. -\item\option{display=slidesnotes}\\ -This will typeset both the slides and the notes in your -presentation. See also section~\ref{sec:notes} for more information -about notes. -\item\option{display=notes}\\ -This will typeset the notes only. -\end{description} - -Here are some more options to control the output. -\begin{description} -\item\DescribeOption{size}\option{size}\\ -This is the size of the normal text font in points. Possible values -are 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt and 20pt and the preset -value is 11pt.\footnote{Note that sizes other than 10pt, 11pt and -12pt are non-standard and it is assumed that you have the -\pf{extsizes} bundle \cite{extsizes} installed, which provides these -sizes.} -\item\DescribeOption{style}\option{style}\\ -This controls the style to be loaded for the presentation. By -default, the \pf{default} style will be loaded. For more styles, see -section~\ref{sec:styles}. -\item\DescribeOption{fleqn}\option{fleqn}\\ -This option makes equations flushed left. It does the same as the -equally named option for the article class. -\item\DescribeOption{leqno}\option{leqno}\\ -Put equation numbers at the left. Also the same as in the article -class. -\item\DescribeOption{nopsheader}\option{nopsheader}\\ -By default, \pf{powerdot} will write a postscript command to the ps -file to make sure that post processors like ps2pdf know which paper -to use without the need to specify it on the command line. See also -section~\ref{sec:compiling}. If you experience problems with post -processing or printing or you want to specify the paper size in the -post processing steps yourself, use this option. -\item\DescribeOption{hlentries}\option{hlentries}\\ -This highlights table of contents entries when the entry matches -with the current slide and its preset value is |true|. See also -section~\ref{sec:structure}. If you don't want highlighting of table -of contents entries (for instance in print mode), use -|hlentries=false|. -\item\DescribeOption{hlsections}\option{hlsections}\\ -This highlights table of contents sections when the section matches -with the current section in the presentation and is preset to |false|. -See also section~\ref{sec:structure}. Specifying this -option turns highlighting of sections on. This could be useful when -you are using a style that implements a split table of contents. -\item\DescribeOption{blackslide}\option{blackslide}\\ -This option inserts a black slide in the presentation on page 1 and -will automatically advance to page 2 when opening the presentation -in a PDF viewer like Acrobat (Reader). The option also inserts a -link behind every slide or section title that brings you to the -black slide when clicked. When you click anywhere in the black -slide, you will go back to the originating slide. This option can be -used to temporarily pause a presentation, for instance, to do a -proof on the black board. -\item\DescribeOptions{clock}\option{clock}\\ -This displays a small digital clock on slides which you can use to -check the time left for your presentation. -\end{description} - -Here is an example of a \Lcs{documentclass} command. -\begin{example} - \documentclass[ - size=12pt, - paper=screen, - mode=present, - display=slidesnotes, - style=tycja, - nopagebreaks, - blackslide, - fleqn - ]{powerdot} -\end{example} -This example sets up a presentation in \pf{tycja} style, with a black -slide, normal size 12 points and flushed left equations. -\begin{example} - \documentclass[ - size=12pt, - paper=letterpaper, - mode=handout, - display=slidesnotes, - style=tycja, - nopagebreaks, - blackslide, - fleqn - ]{powerdot} -\end{example} -Changing the |paper} and |mode} options, now produces a handout with -possibly more than two slides per page due to the |nopagebreaks| -option. - -\subsection{Setup options}\label{sec:pdsetup} -\DescribeMacro{\pdsetup} -There are several extra options that can help customizing your -presentation. These options are not available via the -|\documentclass} command. This has a technical reason.\footnote{The -interested reader is referred to the section about the \pf{xkvltxp} -package in the \pf{xkeyval} package documentation \cite{xkeyval}.} -We distinguish two types of options. Options that can only be set -globally (acting for the entire presentation) using the \Lcs{pdsetup| -command and options that can be accessed both globally (via -|\pdsetup|) and locally (via slide environments, see section~\ref{sec:slides}). - -\subsubsection{Global options}\label{sec:gopts} -This section describes options that can only be used globally in the -preamble of your presentation via the \Lcs{pdsetup} command. -\begin{description} -\item\DescribeOption{palette}\option{palette}\\ -This specifies the palette to be used. A palette is a set of colors -defined by a style. To find out which palettes are defined by each -style, see section~\ref{sec:styles}. -\item\DescribeOption{theslide}\option{theslide}\\ -This option controls how the slide number appears on the slide. This -is preset to the value \Lcs{arabic{slide}~/~\pageref*{lastslide}|, -which could appear like |5/22|. Notice that the \Lcs{arabic{slide}| -typesets the number of the current slide and that -|\pageref*{lastslide}} typesets the number of the last -slide.\footnote{We use the starred version of \cs{pageref} which is -defined by \pf{hyperref} and does not create a link to the page that -it is referring to.} -\item\DescribeOption{thenote}\option{thenote}\\ -This is similar to the |theslide} option, but typesets the slide -numbers of notes. The preset value is -|note~\arabic{note}~of~slide~\arabic{slide}} and \Lcs{arabic{note}| -here typesets the number of the current note that goes with the -current slide. This could appear like |note 2 of slide 7|. -\item\DescribeOption{counters}\option{counters}\\ -The |counters} option lists counters that you might want to protect -on overlays. As material on overlays (see -section~\ref{sec:overlays}) is processed multiple times, also -\LaTeX\ counters, like the |equation} counter, might be increased -too often. To avoid that your equations get different numbers on -every overlay, use this option. The |equation|, |table|, |figure|, -|footnote} and |mpfootnote} counters are already protected for you. -If you use extra counters, for instance for theorems, list them in -this option. Example: -\begin{example} - counters={theorem,lemma} -\end{example} -\item\DescribeOption{list}\option{list}\\ -This option takes a list of options that will be passed on to the -\pf{enumitem} package that controls the layout of lists created by -the |enumerate} and |itemize} environments. Example: -\begin{example} - list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt} -\end{example} -See for more information on controlling the layout of lists the -\pf{enumitem} package \cite{enumitem}. -\item\DescribeOptions{enumerate,itemize}\option{enumerate,itemize}\\ -As the |list} option, but only control |enumerate} and |itemize| -environments respectively. -\end{description} - -\subsubsection{Global and local options}\label{sec:glopts} -This section describes options that can be used both globally via -|\pdsetup} and locally via slide environments (see section~\ref{sec:slides}). -\begin{description} -\item\DescribeOptions{lf,cf,rf}\option{lf,cf,rf}\\ -This determines the content of the left, center and right footers. -These are preset to empty. -\item\DescribeOption{trans}\option{trans}\\ -This option sets the default transition effect to be used in the -presentation. These transition effects only work after compiling the -presentation to PDF format. See also section~\ref{sec:compiling}. -The following transition effects are supported: |Split|, |Blinds|, -|Box|, |Wipe|, |Dissolve|, |Glitter} and |Replace|. When you are using -a viewer that understands PDF 1.5, you can also use |Fly|, |Push|, -|Cover|, |Uncover} or |Fade|. It is important to notice that most -viewers are case sensitive, so, for instance, |box} will not work. - -The preset effect is |Replace} which just replaces one slide with -another when browsing the slides. Note that some PDF viewers (like -Acrobat Reader 5 and higher) only produce the transition effect in -full screen mode. If you want to use a custom transition effect that -is not listed in the list above (for instance, a wipe effect with a -custom wipe direction), then that is possible. However, -\pf{powerdot} will put a warning in your log file that the effect -that you have chosen, might not work in the PDF viewer. Here is an -example that does work. -\begin{example} - trans=Wipe /Di 0 -\end{example} -In Acrobat (Reader), this wipes from left to right instead of the -default top to bottom. For more information, see a PDF Reference -Manual. -\item\DescribeOption{method}\option{method}\\ -This option can be used when a slide contains special material that -does not get treated in the `usual' way by \LaTeX. Verbatim material -is an example of this. Possible values are |normal} (the preset value), -|direct} and |file|. We will come back to this option in detail in -section~\ref{sec:verbatim}. -\item\DescribeOptions{logohook,logopos,logocmd}\option{logohook,logopos,logocmd}\\ -If |logopos} is specified, a logo defined by the value of the -|logocmd} option will be put on slides. The position can be -specified relative to the width and height of the slide. |{0,0}} is -the lower left corner of the paper and |{\slidewidth,\slideheight}| -is the upper right corner. For positioning the logo, the \Lcs{rput| -command of \pf{pstricks} \cite{PSTricksWeb,PSTricks} is used. This -command also allows to specify the point of the logo that should be -positioned there. This point can be entered via the |logohook| -option and can take the values |tl|, |t|, |tr|, |r|, |Br|, |br|, -|b|, |bl|, |Bl|, |l|, |B} and |c|. For more information about -|\rput|, consult the \pf{pstricks} documentation. Here is an example -that integrates the flower of the \pf{default} style into the -\pf{husky} style. -\begin{example} - \documentclass[style=husky]{powerdot} - \pdsetup{ - logohook=t, - logopos={.088\slidewidth,.99\slideheight}, - logocmd={\includegraphics[height=.08\slideheight]{powerdot-default.ps}} - } - \begin{document} - ... - \end{document} -\end{example} -The preset value for |logohook} is |tl|. -\end{description} - -A special feature of \pf{powerdot}, which can be used to make -presentations come alive, is the use of random dots. These dots will -be placed anywhere on your slides and use the colors defined by the -palette that you use. Overlays will carry the same dots. This -feature uses |random.tex} \cite{random}. Several options are -available to control the appearance of the random dots. -\begin{description} -\item\DescribeOption{randomdots}\option{randomdots}\\ -By default, random dots are turned off. If this option is set to -|true|, random dots will be generated. |false} will turn off the -feature. When no value is submitted to the option, |true} will be -used. -\item\DescribeOptions{dmindots,dmaxdots}\option{dmindots,dmaxdots}\\ -The number of dots per slide is also random. These options set the -minimum and maximum dots per slide. Preset values are |5} and |40|, -respectively. -\item\DescribeOptions{dminsize,dmaxsize}\option{dminsize,dmaxsize}\\ -The minimum and maximum radius of the dots. Preset values are |5pt| -and |40pt|, respectively. -\item\DescribeOptions{dminwidth,dmaxwidth,dminheight,dmaxheight} -\option{dminwidth,dmaxwidth,dminheight,dmaxheight}\\ -These options determine the area on the slide that can be used for -the random dots. These values are preset such that dots go anywhere -on the slide, but you might want to adjust these such that, for -instance, dots can only appear in the text area. The preset values -are |0pt|, \Lcs{slidewidth|, |0pt|, \Lcs{slideheight|. - -Here is an example that allows dots in a smaller rectangle on the -slide. -\begin{example} - \pdsetup{ - dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth, - dminheight=.2\slideheight,dmaxheight=.8\slideheight - } -\end{example} -\item\DescribeOption{dbright}\option{dbright}\\ -This option can be used to adjust the brightness of the dots. The -number should be an integer between -100 and 100. If the number is -negative, the color will be adjusted towards black, with -100 giving -black. If the number is positive, the color will be adjusted towards -white, with 100 giving white. With a light background, you may want -to choose |bright} to be positive. With a dark background, you may -want to set it negative. The preset value is |60|, meaning a mixture -of 40\ of the original color and 60\ white. -\item\DescribeOption{dprop}\option{dprop}\\ -This option is used for passing extra parameters to the \Lcs{psdot| -command, which creates the random dots. You could, for instance, -change the style of the dots or the line width. See for more -information about \Lcs{psdot} the \pf{pstricks} documentation -\cite{PSTricksWeb,PSTricks}. \pf{powerdot} defines two extra dot -styles that can be used for the random dots. These styles are -|ocircle} (open circle) and |osquare} (open square). -\end{description} - -Here are two examples for the use of random dots. -\begin{example} - \pdsetup{ - randomdots,dminwidth=.2\slidewidth - } -\end{example} -This turns on random dots and doesn't use the left 20\ of the slide -for placing random dots. -\begin{example} - \pdsetup{ - randomdots,dprop={dotstyle=ocircle,linewidth=.5pt}, - dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5 - } -\end{example} -This example puts at most 5 big circles on slides. These circles do -not fit on the slides and you will only see parts of them in the -shape of curves. - -\subsubsection{\cs{pdsetup} example} -Here is an example of a \Lcs{pdsetup} command that one could use to set up -the presentation. -\begin{example} - \pdsetup{ - lf=My first presentation, - rf=For some conference, - trans=Wipe, - theslide=\arabic{slide}, - randomdots,dmaxdots=80 - } -\end{example} -This sets the left and right footers and will initialize the -transition effect to |Wipe|. Further, slide numbers will not include -the number of the last slide, but only the number of the current -slide. Finally, slides will be covered with at most 80 random dots. - -A small note is necessary with respect to the appearance of footers. -The slide number (controlled by the |theslide} option) will be added -to a footer. Most styles add it too the right footer. If both the -footer and the slide number are non empty, |~--~} will be inserted -in between them to separate them. Styles might modify this default -behavior however. - -\section{Making slides}\label{sec:slides} -\subsection{The title slide}\label{sec:titleslide} -\DescribeMacro{\title} -\DescribeMacro{\author} -\DescribeMacro{\and} -\DescribeMacro{\date} -\DescribeMacro{\maketitle} -The title slide is created by the \Lcs{maketitle} command. -\begin{command} - `\cs{maketitle}\oarg{options}' -\end{command} -Its use is the same as in the standard \LaTeX\ document classes. The -optional argument \meta{options} can contain any option from -section~\ref{sec:glopts}. Specifying such an option in the -|\maketitle} command will only have an effect on the title slide and -not on other slides. See an example below. -\begin{example} - \documentclass{powerdot} - \title{Title} - \author{You \and me} - \date{October 7, 2010} - \begin{document} - \maketitle - ... - \end{document} -\end{example} -The |author|, |title} and |date} declarations provide the text to be -used when making a title page. The design of the title page is -specific to the style in use. Notice the use of \Lcs{and} for -separating multiple authors. See a \LaTeX\ manual \cite{companion} -for more information on commands such as \Lcs{title} and \Lcs{author|. - -\subsection{Other slides}\label{sec:otherslides} -\DescribeEnv{slide} The centerpiece of every presentation is the -slide. In \pf{powerdot}, the content of each slide is placed in a -|slide} environment. -\begin{command} - `\cs{begin}\texttt{\{slide\}}\oarg{options}\marg{slide title}' - `\meta{body}' - `\cs{end}\texttt{\{slide\}}' -\end{command} - -In section~\ref{sec:overlays} we'll see how to give some life to the -slides, but for now, let's look at a simple example. -\begin{example} - \begin{slide}{First slide} - Hello World. - \end{slide} -\end{example} -The slide environment has one required argument, namely the slide -title. When a slide is created, the slide title is used to create an -entry in the table of contents and in the list of bookmarks. The -table of contents is a listing of the slides and section titles in -the presentation that appears on each slide. - -The table of contents is clickable (when the presentation is -compiled into PDF) and serves as a nice way to jump from location to -location within the presentation. The bookmark list is only present -when compilation is taken all the way to the PDF file format. It -also serves as a table of contents, but this list does not appear on -\textit{any} of the slides, but in a separate window in a PDF -viewer. In the example above, the entries in both table contents and -the list of bookmarks would be titled |First slide|. - -The \meta{options} for the |slide} environment can contain any -option listed in section~\ref{sec:glopts}. Additionally, the -following options can be used. -\begin{description} -\item\DescribeOption{toc}\option{toc}\\ -When specified, the value is used for the entry in the table of -contents; otherwise, the slide title is used. If |toc=} is -specified, then no entry is created. -\item\DescribeOption{bm}\option{bm}\\ -When specified, the value is used for the bookmark entry; otherwise, -the slide title is used. If |bm=} is specified, then no entry is -created. -\end{description} - -These optional arguments are especially useful when the title of a -slide is extremely long or when the title contains \LaTeX\ commands -that do not render correctly in the bookmarks.\footnote{The -bookmarking procedure uses \cs{pdfstringdef} from the \pf{hyperref} -package, and it can process accented characters such as \cs{"i}.} -When specifying entries, be sure to hide special characters `|,|' -and `|=|' between curly brackets `|{|' and `|}|'. Let's look at an -example that uses these optional arguments. -\begin{example} - \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$} - My slide contents. - \end{slide} -\end{example} - -In this example, the slide title will appear as {\color{red}\LaTeX, -$i^2=-1$}. This text will not render correctly in a bookmark entry. -An attempt is made to correct this, but often, the correction does -not produce an equivalent text. This particular title would be -rendered in the bookmark list as |redLaTeX, i2=-1|. On the other -hand, the manually specified bookmark entry is rendered as: -|LaTeX, i*i=-1|. Notice, no entry is created in the table of contents, -because of the use of |toc=|. - -In addition to the |slide} environment, each individual style can -define its own environments. Many styles have a |wideslide| -environment. The idea is that one might have information that does -not fit nicely on a slide with a table of contents listed, as this -consumes some space. In such cases, it is preferable to use a slide -that does not list the table of contents. The |wideslide| -environment provides this functionality and has more space for the -actual slide content. See section~\ref{sec:styles} for information -on the various environments provided by the styles. - -\section{Overlays}\label{sec:overlays} -It is often the case that you don't want all the information on the -slide to appear at once. Rather, the information should appear one -item at a time. In \pf{powerdot}, this is achieved with overlays. -Each slide can be comprised of many overlays, and the overlays are -displayed one at a time. - -\subsection{The \cs{pause} command}\label{sec:pause} -\DescribeMacro{\pause} The easiest way to display information -sequentially is to use the \Lcs{pause} command. -\begin{command} - `\cs{pause}\oarg{number}' -\end{command} -Below is a simple example: -\begin{example} - \begin{slide}{Simple overlay} - power\pause dot - \end{slide} -\end{example} -The slide's information is displayed and continues until the -|\pause} command is encountered. No further output within the same -slide is displayed until the click of the mouse or the touch of the -keyboard. Then, the content will continue to display until all the -information is displayed or until another \Lcs{pause} command is -encountered. In this example, |power} is displayed on the first -overlay, and |powerdot} is the displayed on the second overlay. The -|\pause} command is often used within the |itemize} and |enumerate| -environments. For example, -\begin{example} - \begin{slide}{Multiple pauses} - power\pause dot \pause - \begin{itemize} - \item Let me pause\ldots \pause - \item \ldots while I talk \pause and chew bubble gum. \pause - \item Perhaps you'll be persuaded. - \item Perhaps not. - \end{itemize} - \end{slide} -\end{example} -Since \Lcs{pause} was used before the |itemize} environment, no item -will appear until the third overlay. Then, each item will be -displayed one at a time, each on their own overlay. More information -on using lists will follow in the next section. - -The optional argument of the \Lcs{pause} command specifies the number -of overlays to pause. An example usage is: -\begin{example} - \begin{slide}{Pause longer} - \begin{itemize} - \item A \pause - \item B \pause[2] - \item C - \end{itemize} - \end{slide} -\end{example} -In the example above, item |C} will appear on the fourth overlay. -The usefulness of this option will become more apparent in the next -section; so we will revisit a similar example at that time. - -\subsection{List environments}\label{sec:lists} -The list environments, |itemize} and |enumerate|, have special -treatments in \pf{powerdot}. They have an optional argument that -will be taken care off by the \pf{enumitem} package (see -\cite{enumitem}). \pf{powerdot} supplies an extra key for this -optional argument. In the examples that follow, features will be -described using the |itemize} environment but they also apply to the -|enumerate} environment. - -Here is the typical usage of the |itemize} environment: -\begin{example} - \begin{slide}{Basic itemize} - \begin{itemize} - \item A \pause - \item B \pause - \item C - \end{itemize} - \end{slide} -\end{example} -The display is simple, each item appears one at a time with each -overlay. - -\DescribeOption{type} -Suppose we wanted every item to show, but we only wanted one item to -appear `active' at once. This can be accomplished via the |type| -option for the |itemize} environment. The preset value is |0|. -\begin{example} - \begin{slide}{Type 1 itemize} - \begin{itemize}[type=1] - \item A \pause - \item B \pause - \item C - \end{itemize} - \end{slide} -\end{example} -Now, every item will be displayed in the \emph{inactive -color}\index{inactive color|usage} (which is defined by the style -that you use), and the item's font color will become the active one -on the overlay that it would normally appear on. The default -behavior is given by |type=0|. - -Lists can also be nested to create complicated structures. When a -list is nested, it inherits the setting of the |type} option from -the `parent' list, but that can be overruled by specifying the -|type} option in the optional argument of the nested list. We -present here one example, but many more can be created by nesting -lists of different types in different ways. -\begin{example} - \begin{slide}{Nested lists} - \begin{itemize} - \item A\pause - \begin{itemize}[type=1] - \item B\pause - \end{itemize} - \item C - \end{itemize} - \end{slide} -\end{example} -This displays |A} and |B} on the first overlay, but |B} is inactive. -On overlay 2, |B} will become active and on overlay 3, |C} will -become visible. - -\subsection{The \cs{item} command} -\DescribeMacro{\item} -The \Lcs{item} command has an extra \emph{optional} argument in -\pf{powerdot} which allows for creating overlays in a more flexible -way then \Lcs{pause} provides. -\begin{command} - `\cs{item}\oarg{label}\larg{overlays}' -\end{command} -This optional argument should contain an overlay specification -stating on which overlays you want the item to appear. This -specification is a comma separated list where each item can used the -notation as in table \ref{tab:item}. -\begin{table}[htb]\centering -\begin{tabular}{d} -Syntax&Meaning\\\hline -\texttt{x}&Only overlay \texttt{x}\\ -\texttt{-x}&All overlays up to and including \texttt{x}\\ -\texttt{x-}&All overlays from \texttt{x}, including \texttt{x}\\ -\texttt{x-y}&All overlays from \texttt{x} to \texttt{y}, -including \texttt{x} and \texttt{y}\\ -\end{tabular} -\caption{\cs{item} and \cs{onslide} notation}\label{tab:item} -\end{table} -The \meta{label} argument is the standard optional argument for -|\item} in \LaTeX. A \LaTeX\ manual \cite{companion} can tell you -more about this argument. - -Here is an example. -\begin{example} - \begin{slide}{Active itemize} - \begin{itemize}[type=1] - \item<1> A - \item<2> B - \item<3> C - \end{itemize} - \end{slide} -\end{example} -Here we have said that |A} should only be active on overlay 1, |B| -should only be active on overlay 2, and |C} should only be active on -overlay 3. Again, when the item is not active, it appears in the -inactive color because of |type=1|. - -If |type=0} is specified and if each item is given an overlay -option, then each item will appear only when it is active. When the -item is not active, then it will not show on the slide at all. More -examples demonstrating the syntax for \meta{overlays} will be -discussed in the next section. - -\subsection{The \cs{onslide} command}\label{sec:onslide} -\DescribeMacro{\onslide} Overlays can also be achieved using the -|\onslide} command. -\begin{command} - `\cs{onslide}\marg{overlays}\marg{text}' -\end{command} -This command takes an \meta{overlays} specification as first -argument and the \meta{text} to apply it to as second argument. The -\meta{overlays} on which the text will appear are specified as a -comma separated list with syntax as in table \ref{tab:item}. We -start off with a simple example. -\begin{example} - \begin{slide}{Simple onslide} - \onslide{1,2}{power}\onslide{2}{dot} - \end{slide} -\end{example} -We have instructed |power} to appear on overlays one and two, and -|dot} to appear only on overlay two. As you might guess, this -example has the same output as our first \Lcs{pause} example. Yet, it -is clearly the case that our syntax is more complicated. However, -this slight ``complication'' also allows for much more flexibility. - -\DescribeMacro{\onslide+}Consider the above example with the -following modifications: -\begin{example} - \begin{slide}{Simple onslide+} - \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\ - \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot} - \end{slide} -\end{example} -The \Lcs{onslide+} command displays its content in a different manner -altogether. Now, |dot} appears on every overlay, but it is in -inactive color\index{inactive color|usage} and matches the normal -font color \textit{only} on overlay two. This is comparable to the -|type=1} behavior for lists (see section~\ref{sec:lists}). - -When executing this example, we will also notice that the \Lcs{onslide| -command does hide material, but still reserves the right amount of -space for it: on overlay 2, the |dot|s appear right above each -other. The next command does not reserve space. - -\DescribeMacro{\onslide*} Instead of hiding and reserving space -(|\onslide|) or putting \meta{text} in the inactive color -(|\onslide+|) when the overlay doesn't match \meta{overlays}, this -command just eats the material altogether. To understand the -differences, consider the following example: -\begin{example} - \begin{slide}{Simple onslide*} - \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\ - \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot}\\ - \texttt{onslide*}: \onslide*{1}{power}\onslide*{2}{dot} - \end{slide} -\end{example} -The output of the first two lines, we are already familiar with. The -third line displays |power} on overlay 1 and |dot} on overlay 2, but -no space for |power} is reserved on overlay 2. Hence |dot} will -start on the cursor position that |power} started on overlay 1 and -it is not aligned below the other two |dots|. - -We finish with an example of the syntax that is possible with -|\item} and \Lcs{onslide|. Remember that these commands take a comma -separated list for the \meta{overlays} specification and that each -element can used the syntax as explained in table \ref{tab:item}. -The various variations are demonstrated in the example below. -\begin{example} - \begin{slide}{Lists} - \onslide{10}{on overlay 10 only}\par - \onslide{-5}{on every overlay before and including overlay 5}\par - \onslide{5-}{on every overlay after and including overlay 5}\par - \onslide{2-5}{on overlays 2 through 5, inclusive}\par - \onslide{-3,5-7,9-}{on every overlay except overlays 4 and 8} - \end{slide} -\end{example} - -\subsection{Relative overlays} -Sometimes it is a pain to keep track of when an item should appear -or become active. You might, for example, just care that some text -appears on the overlay \textit{after} some other item. This -functionality is provided through the use of relative overlays which -should not be used outside list environments that use \Lcs{item|. Let's -consider a simple, illuminating example. -\begin{example} - \begin{slide}{Relative overlays} - \begin{itemize} - \item A \pause - \item B \onslide{+1}{(visible 1 overlay after B)}\pause - \item C \onslide{+2-}{(appears 2 overlays after C, visible until the end)} - \pause - \item D \onslide{+1-6}{(appears 1 overlay after D, visible until overlay 6)} - \pause - \item E \pause - \item F \pause - \item G \onslide{+1-+3}{(appears 1 overlay after G for 3 overlays)}\pause - \item H \pause - \item I \pause - \item J \pause - \item K - \End{itemize} - \end{slide} -\end{example} -As you can see, we still use \Lcs{onslide|. The only change is with the -syntax of the list of overlays. Now, we can specify a `|+|' symbol -in the list. In its simplest usage, \Lcs{onslide{+1}} will make text -display one overlay after the overlay it would \textit{normally} -appear on. You can still use the syntax in table \ref{tab:item}. -These are demonstrated in the above example. Notice, -|\onslide{+1-6}} means that the text will appear one overlay after -the overlay it would normally appear on and that the text should -remain shown until overlay seven. To make text appear for a range of -relative overlays, see the final demonstration in the above example. - -\section{Presentation structure}\label{sec:structure} -\subsection{Making sections}\label{sec:section} -\DescribeMacro{\section} -This section describes the \Lcs{section} command which provides a way -to structure a presentation. -\begin{command} - `\cs{section}\oarg{options}\marg{section title}' -\end{command} -This command will produce a slide with \meta{section title} on it -and will also use this text to create sections in the table of -contents and in the bookmarks list. There are several \meta{options} -to control its output. - -\DescribeOption{tocsection} This option controls the creation of a -section in the table of contents. The preset value is |true|. -\begin{description} -\item\option{tocsection=true}\\ -This does create a section in the table of contents. This means that -all following slides, until the next section, will be nested under -this section. -\item\option{tocsection=false}\\ -This does not create a section in the table of contents and hence -the section will be listed as an ordinary slide. -\item\option{tocsection=hidden}\\ -This does create a section in the table of contents, but this is -only visible when you view a slide that is part of this section. -This could be used to append a section to the presentation which you -can discuss if there is some extra time. -\end{description} - -\DescribeOption{slide} This option controls whether the \Lcs{section| -command creates a slide. The preset value is |true|. -\begin{description} -\item\option{slide=true}\\ -A slide is created. -\item\option{slide=false}\\ -No slide will be created. If also |tocsection} is |false|, the -|\section} command doesn't do anything. If it does create a table of -contents section (|tocsection=} |true} or |hidden|), its link will -point to the first slide in the section as the section itself -doesn't have a slide. -\end{description} - -\DescribeOption{template} This option can be used to make the -section slide with another template. By default, a normal |slide| -environment is used to create the section slide, but if a style -offers other templates that could be used for this purpose (for -instance, the |wideslide} environment), then you can use this option -to select that template. See section~\ref{sec:styles} for an -overview of the available templates with every style. - -Finally, all options available to normal slides are available to -slides created by \Lcs{section} as well (see section~\ref{sec:slides}). -However, when the section does make a |tocsection|, |toc=} or |bm=| -won't remove the table of contents entry or the bookmark -respectively. - -\subsection{Making an overview}\label{sec:tableofcontents} -\DescribeMacro{\tableofcontents} -This command creates an overview of your presentation and can only -be used on a slide. -\begin{command} - `\cs{tableofcontents}\oarg{options}' -\end{command} -There are several \meta{options} to control the output of this -command. - -\DescribeOption{type} -This option controls whether certain material (depending on the -input in the |content} option below) will be hidden or displayed in -the inactive color\index{inactive color|usage}. The preset value is -|0|. Compare with the |type} option for list environments -(section~\ref{sec:lists}). - -\begin{description} -\item\option{type=0}\\ -When material is not of the requested type as specified in the -|content} option, it will be hidden. -\item\option{type=1}\\ -As |type=0|, but instead of hiding material, it will be typeset in -the inactive color. -\end{description} - -\DescribeOption{content} -The |content} option controls which elements will be included in the -overview. The preset value is |all|. The description below assumes -that |type=0} was chosen, but the alternative text for |type=1} can -easily be deduced. - -\begin{description} -\item\option{content=all}\\ -This will display a full overview of your presentation including all -sections and slides, except the slides in hidden sections (see -section~\ref{sec:section}). -\item\option{content=sections}\\ -This displays only the sections in the presentation. -\item\option{content=currentsection}\\ -This displays the current section only. -\item\option{content=future}\\ -This displays all content starting from the current slide. -\item\option{content=futuresections}\\ -This displays all sections, starting from the current section. -\end{description} - -We finish this section with a small example that will demonstrate -how you can make a presentation that contains an overall overview of -sections in the presentation, giving a general idea of the content, -and per section a detailed overview of the slides in that section. -\begin{example} - \begin{slide}[toc=,bm=]{Overview} - \tableofcontents[content=sections] - \end{slide} - \section{First section} - \begin{slide}[toc=,bm=]{Overview of the first section} - \tableofcontents[content=currentsection,type=1] - \end{slide} - \begin{slide}{Some slide} - \end{slide} - \section{Second section} - ... -\end{example} - -\section{Miscellaneous} -\subsection{Notes}\label{sec:notes} -\DescribeEnv{note} -The |note} environment can be used to make personal notes that -accompany a slide. You can control displaying notes using the -|display} option (see section~\ref{sec:classopts}). Here is an -example. -\begin{example} - \begin{slide}{Chewing gum} - ... - \end{slide} - \begin{note}{Reminder for chewing gum} - Don't forget to mention that chewing gum is sticky. - \end{note} -\end{example} - -\subsection{Empty slides}\label{sec:emptyslides} -\DescribeEnv{emptyslide} -The |emptyslide} environment creates a totally empty slide. The text -box on the slide can be used for special things like displaying -photos. This allows for creating a dia show. Example: -\begin{example} - \begin{emptyslide}{} - \centering - \vspace{\stretch{1}} - \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps} - \vspace{\stretch{1}} - \end{emptyslide} -\end{example} -The \Lcs{includegraphics} command is defined by the \pf{graphicx} -package \cite{graphics}. The \Lcs{stretch} command is used to -vertically center the picture. Both commands are described in your -favorite \LaTeX\ manual, for instance \cite{companion}. Note that -you can use the lengths \Lcs{slideheight} and \Lcs{slidewidth} to scale -pictures to fit nicely on the slide. - -\subsection{Bibliography slide}\label{sec:bib} -\DescribeEnv{thebibliography} -\pf{powerdot} redefines the standard \pf{article} -|thebibliography} environment to suppress the creation of a section -heading and running headers. All other properties are maintained. -You can do either of the next two (depending whether you are -using BiB\TeX\ or not):\\ -\begin{minipage}[t]{.49\linewidth} -\begin{example} - \begin{slide}{Slide} - \cite{someone} - \end{slide} - \begin{slide}{References} - \begin{thebibliography}{1} - \bibitem{someone} Article of someone. - \end{thebibliography} - \end{slide} -\end{example} -\end{minipage}\hfill -\begin{minipage}[t]{.49\linewidth} -\begin{example} - \begin{slide}{Slide} - \cite{someone} - \end{slide} - \begin{slide}{References} - \bibliographystyle{plain} - \bibliography{YourBib} - \end{slide} -\end{example} -\end{minipage} - -In case you have a big reference list that you want to spread over -multiple slides, have a look at the packages \pf{natbib} and -\pf{bibentry} \cite{natbib}. Using both packages allows you to do: -\begin{example} - \begin{slide}{References (1)} - \bibliographystyle{plain} - \nobibliography{YourBib} - \bibentry{someone1} - \bibentry{someone2} - \end{slide} - \begin{slide}{References (2)} - \bibentry{someone3} - \end{slide} -\end{example} -Have a look at your favorite \LaTeX\ manual for more information -about citations and bibliographies. - -\subsection{Verbatim on slides}\label{sec:verbatim}\DescribeOption{verbatim} -\pf{powerdot} has three different methods of processing slides, from -which two have mainly been developed to make the inclusion of -verbatim content\footnote{And other content that needs catcode -changes when processing.} on slides easier. These methods can be -accessed by the |method} key which is available in slide -environments and the \Lcs{pdsetup} command (see -section~\ref{sec:glopts}). -\begin{description} -\item\option{method=normal}\\ -This is the preset method for processing slides. It is fast and -allows for overlays, but it does not allow for -verbatim.\footnote{Except when it has been saved in a box outside -the slide.} -\item\option{method=direct}\\ -This method is also fast, but does not allow for overlays. Overlays -will silently be disabled. However, it does allow for verbatim -content on slides. -\item\option{method=file}\\ -This method uses a temporary file to export the slide body to and -read it back in. This method does allow for verbatim content and -overlays, but could be slow when many slides use this method because -the filesystem is used. -\end{description} - -Below is an example demonstrating the use of all three different -methods of slide processing. -\begin{example} - \documentclass{powerdot} - \usepackage{listings} - \lstnewenvironment{code}{ - \lstset{frame=single,escapeinside=`', - backgroundcolor=\color{yellow!20}, - basicstyle=\footnotesize\ttfamily} - }{} - \begin{document} - \begin{slide}{Slide 1} - Normal \pause content. - \end{slide} - \begin{slide}[method=direct]{Slide 2} - Steps 1 and 2: - \begin{code} - compute a;`\pause' - compute b; - \end{code} - \end{slide} - \begin{slide}[method=file]{Slide 3} - Steps 1 and 2: - \begin{code} - compute a;`\pause' - compute b; - \end{code} - \end{slide} - \end{document} -\end{example} -The first slide shows the default behavior for normal content. It -produces two overlays. The second slide does not produce overlays, -despite the use of the \Lcs{pause} command. This command has been -disabled by choosing the |direct} method to process the verbatim -content. The third slide has the same body as the second slide, but -now does create two overlays, because the method using a temporary -file has been chosen. Notice that we used \Lcs{pause} inside the listing, -but that it can also be used outside the listing. - -\subsection{The \cs{twocolumn} command}\label{sec:twocolumn} -\DescribeMacro{\twocolumn} -The \Lcs{twocolumn} macro allows to split content into two columns. -\begin{command} - `\cs{twocolumn}\oarg{options}\marg{left}\marg{right}' -\end{command} -This typesets \meta{left} and \meta{right} in two columns. The -dimensions of those columns can be controlled by \meta{options}. -Below are the available options. -\begin{description} -\item\DescribeOption{lineheight}\option{lineheight}\\ -If |lineheight} is specified, a line of the specified height will be -created using \Lcs{psline} in between the two columns. Example: -|lineheight=6cm|. -\item\DescribeOption{lineprop}\option{lineprop}\\ -Any \pf{pstricks} declaration to specify the line properties. Example: -\begin{example} - lineprop={linestyle=dotted,linewidth=3pt} -\end{example} -\item\DescribeOptions{lfrheight,lfrprop}\option{lfrheight,lfrprop}\\ -The first creates a frame of the specified height around the left -column. The second is as |lineprop|, but for the left frame. -\item\DescribeOptions{rfrheight,rfrprop}\option{rfrheight,rfrprop}\\ -As |lfrheight} and |lfrprop|, but for the right frame. -\item\DescribeOptions{lcolwidth,rcolwidth}\option{lcolwidth,rcolwidth}\\ -Width of the left and right columns. Both are preset to: |0.47\linewidth|. -\item\DescribeOption{frsep}\option{frsep}\\ -Space between text and the frames. Preset: |1.5mm|. -\item\DescribeOption{colsep}\option{colsep}\\ -Space between the two columns. Preset: |0.06\linewidth|. -\item\DescribeOption{topsep}\option{topsep}\\ -The extra space (additional to \Lcs{baselineskip|) between text above -the columns and the text within the columns. Preset: |0cm|. -\item\DescribeOption{bottomsep}\option{bottomsep}\\ -Idem for the bottom of the columns. Preset: |0cm|. -\item\DescribeOption{indent}\option{indent}\\ -Horizontal indent left to the left column. Preset: |0cm|. -\end{description} -The dimensions described above are represented graphically in -figure \ref{fig:twocolumndim}. -\begin{figure}[htb] -\centering -\begin{pspicture}(0,.5)(13,10.5) -\psline(0,0.5)(0,10) -\rput[tl](.05,9.95){Top} -\psframe[dimen=middle](1,9)(7,2) -\psline{C-C}(8.5,9)(11,9) -\psline{C-C}(8.5,2)(8.5,9) -\psline{C-C}(8.5,2)(11,2) -\qdisk(1.7,8.3){.1cm} -\psset{linestyle=dashed} -\psline{C-C}(1.7,8.3)(6.3,8.3) -\psline{C-C}(1.7,8.3)(1.7,3) -\psline{C-C}(6.3,5)(6.3,8.3) -\psline{C-C}(11,9)(12,9) -\psline{C-C}(11,2)(12,2) -\psline{C-C}(11,7)(12,7) -\psline{C-C}(9.2,8.3)(12,8.3) -\psline{C-C}(9.2,8.3)(9.2,3) -\rput[tl](1.75,8.25){Left column text} -\rput[tl](9.25,8.25){Right column text} -\rput[tl](.05,1){Bottom} -\psset{linestyle=dotted,dotsep=2pt} -\psline(0,8.3)(1.7,8.3) -\psline(0,9.6)(1,9.6) -\psline(0,2)(1,2) -\psline(0,1.1)(1,1.1) -\psset{linestyle=solid} -\psline{<->}(.2,8.33)(.2,9.57) -\psline{<->}(4,8.33)(4,8.97) -\psline{<->}(1.73,7)(6.27,7) -\psline{<->}(1.03,6.5)(1.67,6.5) -\psline{<->}(0.03,5.5)(1.67,5.5) -\psline{<->}(6.33,7.4)(9.17,7.4) -\psline{<->}(8.53,6.5)(9.17,6.5) -\psline{<->}(6.33,6.5)(6.97,6.5) -\psline{<->}(10.7,8.33)(10.7,8.97) -\psline{<->}(7.3,8.97)(7.3,2.03) -\psline{<->}(.2,1.13)(.2,1.97) -\psline{->}(1.7,9.3)(1.7,8.45) -\psline{<-}(9.23,7)(11,7) -\cput(4,6.6){\small 1} -\cput(11.1,6.6){\small 2} -\cput(8,7){\small 3} -\cput(7.7,3){\small 4} -\cput(4.4,8.65){\small 5} -\cput(1.35,6.1){\small 5} -\cput(8.85,6.1){\small 5} -\cput(11.1,8.65){\small 5} -\cput(6.65,6.1){\small 5} -\cput(0.6,8.95){\small 6} -\cput(0.6,5.1){\small 7} -\cput(0.6,1.55){\small 8} -\cput(1.7,9.6){\small 9} -\end{pspicture} -\begin{tabular}{c p{4cm}cl} -\multicolumn{4}{c}{Meaning of the labels}\\\hline -1&|lcolwidth|&5&|frsep|\\ -2&|rcolwidth|&6&|topsep|\\ -3&|colsep|&7&|indent|\\ -4&|lfrheight|, |rfrheight|,&8&|bottomsep|\\ -&|lineheight|&9&Reference point -\end{tabular} -\caption{Two-column dimensions.}\label{fig:twocolumndim} -\end{figure} -Important to notice is that the \Lcs{twocolumn} macro uses the current -cursor position as the reference point to position the first line of -text of the left column (see also figure \ref{fig:twocolumndim}). This -means that optional frames can extend to the text on the previous -line. Use for instance |topsep=0.3cm} in that case to add extra -space between the two lines of text. The preset value of |topsep| -is based on the situation that there is no text on top of the two -columns. In that case, it is best to locate the first line of text -of the left column at the same spot as text that is not created by -|\twocolumn} on other slides. The setting |topsep=0cm} does exactly -this. However, with a combination of |topsep} and |indent} you can -change this behavior and position the first line of text of the left -column anywhere you want. - -The \Lcs{twocolumn} macro computes the height of the construction to -position text below the construction correctly. The computation is -done by taking the maximum height of |lfrheight|, |rfrheight|, -|lineheight} (if specified) and the left and right column content. -Hence when frames nor a line is requested, |bottomsep} is the -vertical space between the lowest line of text in the columns and -the text below the columns (additional to \Lcs{baselineskip|). Here is -an example. -\begin{example} - \begin{slide}{Two columns} - Here are two columns. - \twocolumn[ - lfrprop={linestyle=dotted,linewidth=3pt}, - lfrheight=4cm,rfrheight=5cm,lineheight=3cm,topsep=0.3cm - ]{left}{right} - Those were two columns. - \end{slide} -\end{example} -Note that the use of the \pf{xkeyval} commands \Lcs{savevalue} and -|\usevalue} \index{savevalue=\verb!*+\savevalue+|usage} -\index{usevalue=\verb!*+\usevalue+|usage} could be handy here, for -instance for copying the properties of the left frame to the right -frame. This avoids typing them twice and avoids making errors -resulting in different frames. See an example below. -\begin{example} - \twocolumn[ - \savevalue{lfrheight}=3cm, - \savevalue{lfrprop}={ - linestyle=dotted,framearc=.2,linewidth=3pt}, - rfrheight=\usevalue{lfrheight}, - rfrprop=\usevalue{lfrprop} - ]{left}{right} -\end{example} -See the \pf{xkeyval} documentation \cite{xkeyval} for more -information about \Lcs{savevalue} and \Lcs{usevalue|. - -\section{Available styles}\label{sec:styles} -\pf{powerdot} comes with a number of styles which are listed in the -overview below. The characteristics of each style are described -shortly and a sample of a title slide and a normal slide is provided -for each style. Styles support the |wideslide} environment, have a -table of contents on the left part of the paper in landscape -orientation and on the bottom part in portrait orientation and -support portrait orientation unless states otherwise. -\begin{description} -\item\pf{default}\\ -This style provides six different palettes. A flower in the top left -corner decorates the slides for all palettes. The default palette is -\texttt{blue} which has as main colors light blue and white. You can -see an example of that palette below. Other available palettes are -\texttt{red}, \texttt{green}, \texttt{yellow}, \texttt{brown} and -\texttt{purple}.\\ -\styleexample{default} -\item\pf{simple}\\ -This is a simple style in black and white. This style could be -useful if you want to print your slides.\\ -\styleexample{simple} -\item\pf{tycja}\\ -This style is set in shades of yellow and dark blue. The table of -contents on slides is on the right side of the paper in landscape -orientation and on the bottom part in portrait.\\ -\styleexample{tycja} -\item\pf{ikeda}\\ -This style uses dark shades of red and blue and a light text color. -It has nice patterns on the slide for decoration.\\ -\styleexample{ikeda} -\item\pf{fyma}\\ -This style was originally created by Laurent Jacques for -\pf{prosper}. Based on that style, he created a version for -\pf{HA-prosper} with extended features. With his kind permission, -this style has been converted by Shun'ichi J. Amano for -\pf{powerdot}. The style has an elegant design with a light blue and -white gradient background in the default \texttt{blue} palette. -Other available palettes are \texttt{green}, \texttt{gray}, -\texttt{brown} and \texttt{orange}. It has special templates for -sections on slides and sections on wide slides. Below is a sample of -the blue palette.\\ -\styleexample{fyma} -\item\pf{ciment}\\ -This style was originally created by Mathieu Goutelle for -\pf{prosper} and \pf{HA-prosper}. With his kind permission, this style -has been converted for \pf{powerdot}. The style has a background -that is hatched with light gray horizontal lines. Titles and table -of contents highlighting are done with dark red.\\ -\styleexample{ciment} -\item\pf{elcolors}\\ -This is a style using light shades of the elementary colors red, -blue and yellow.\\ -\styleexample{elcolors} -\item\pf{aggie}\\ -This style was created by Jack Stalnaker for \pf{HA-prosper} and he -has converted this style for \pf{powerdot}. The style uses dark red -and light brown colors.\\ -\styleexample{aggie} -\item\pf{husky}\\ -This style is created by Jack Stalnaker and has a background of -light gray sun beams combined with dark red highlights.\\ -\styleexample{husky} -\item\pf{sailor}\\ -This style is contributed by Mael Hill\'ereau and supplies five -different palettes: \texttt{Sea} (the default), \texttt{River}, -\texttt{Wine}, \texttt{Chocolate} and \texttt{Cocktail}. Below is a -sample of the palette \texttt{Sea}.\\ -\styleexample{sailor} -\item\pf{upen}\\ -This style has a nice dark blue background and text in yellow. It is -contributed by Piskala Upendran.\\ -\styleexample{upen} -\item\pf{bframe}\\ -The \pf{bframe} style has blue frames on the slide in which text is -positioned. The style is contributed by Piskala Upendran.\\ -\styleexample{bframe} -\item\pf{horatio}\\ -The \pf{horatio} style has been contributed by Michael Lundholm and -is a more conservative blue style.\\ -\styleexample{horatio} -\item\pf{paintings}\\ -This is a simple style without a table of contents on slides. It has -been contributed by Thomas Koepsell and provides 10 different -palettes. The colors used in the palettes are drawn from famous -paintings.\footnote{The style defines a color \texttt{pdcolor7} -which is not used in the style but comes from the same painting and -complements the other colors. It can be used, for example, to -highlight text against the main background color.} If you are -interested, open the style file to read which paintings have been -used. The available palettes are: \texttt{Syndics} (the default), -\texttt{Skater}, \texttt{GoldenGate}, \texttt{Lamentation}, -\texttt{HolyWood}, \texttt{Europa}, \texttt{Moitessier}, -\texttt{MayThird}, \texttt{PearlEarring} and \texttt{Charon} (all -case sensitive). Below is a sample of the \texttt{Syndics} -palette.\\ -\styleexample{paintings} -\item\pf{klope}\\ -The \pf{klope} style implements a horizontal table of contents that -only lists the sections. The style is available in the following -palettes: \texttt{Spring}, \texttt{PastelFlower}, \texttt{BlueWater} -and \texttt{BlackWhite}. The \texttt{Spring} palette is the default -and you can see a sample of that below.\\ -\styleexample{klope} -\item\pf{jefka}\\ -The \pf{jefka} style comes with four palettes: \texttt{brown} (the -default), \texttt{seagreen}, \texttt{blue} and \texttt{white}. Below -you see a sample of the \texttt{brown} palette.\\ -\styleexample{jefka} -\item\pf{pazik}\\ -This style is available in two palettes: \texttt{red} and -\texttt{brown}. Below is a sample of the default \texttt{red} -palette.\\ -\styleexample{pazik} -\end{description} - -\section{Compiling your presentation}\label{sec:compiling} -\subsection{Dependencies}\label{sec:dependencies} -In table \ref{tab:dependencies} is a list of packages that -\pf{powerdot} uses to perform specific tasks. Dependencies of -packages in this table are not listed. In the table, `required' -means that you should have a version \emph{at least} as new as -listed and `tested' means that \pf{powerdot} was tested with this -version, but that it could equally well work with an older or newer -version than the one listed in the table. So, when trying to solve -an error, first concentrate on solving version issues for the -`required' packages. To find out which version of a package you are -currently using, put \Lcs{listfiles} on the first line of your -document, run it with \LaTeX, open the |.log} file and read the file -list (see a \LaTeX\ manual for more information). If you need to -update a package, you can get it from CTAN \cite{CTAN}. -\begin{table}[htb] -\centering -\begin{tabular}{e} -Package/file & Version & Date & Required/tested\\\hline -\pf{xkeyval} \cite{xkeyval} & 2.5c & 2005/07/10 & required\\ -\texttt{pstricks.sty} \cite{PSTricksWeb,PSTricks} & 0.2l & 2004/05/12 & required\\ -\pf{xcolor} \cite{xcolor} & 1.11 & 2004/05/09 & required\\ -\pf{enumitem} \cite{enumitem} & 1.0 & 2004/07/19 & required\\ -\pf{article} class & 1.4f & 2004/02/16 & tested\\ -\pf{geometry} \cite{geometry} & 5.x & 2010/10/07 & tested\\ -\pf{hyperref} \cite{hyperref} & 6.74m & 2003/11/30 & tested\\ -\pf{graphicx} \cite{graphics} & 1.0f & 1999/02/16 & tested\\ -\pf{verbatim} & 1.5q & 2003/08/22 & tested -\end{tabular} -\caption{Dependencies}\label{tab:dependencies} -\end{table} - -\subsection{Creating and viewing output}\label{sec:creation} -To compile your presentation, run it with \LaTeX. The DVI that is -produced this way can be viewed with MiK\TeX's DVI viewer -YAP.\footnote{Unless you are using \pf{pstricks-add} which distorts -the coordinate system in DVI.} Unfortunately, xdvi and kdvi (kile) -do not support all PostScript specials and hence these will display -the presentation incorrectly. If your DVI viewer does support -this, make sure that your DVI display settings match that of the -presentation. In case you are using the |screen} paper, you should -set the DVI display setting to using the letter paper format. If -your DVI viewer allows for custom paper formats, use 8.25 inch by 11 -inch. - -Note that certain things that are produced with PostScript or PDF -techniques will not work in a DVI viewer. Examples are hiding of -material via postscript layers (as is done, for instance, by -|\pause|, see section~\ref{sec:overlays}) and hyperlinks, for -instance in the table of contents. - -If you want to produce a postscript document, run dvips over the DVI -\emph{without any particular command line options related to -orientation or paper size}. \pf{powerdot} will write information to -the DVI file that helps dvips and ps2pdf (ghostscript) to create a -proper document. If you have some reason that this does not work for -you and you want to specify the paper and orientation yourself, you -should use the |nopsheader} option that is described in -section~\ref{sec:setup}. The PostScript document could, for -instance, be used to put multiple slides on a page using the |psnup| -utility. - -To create a PDF document for your presentation, run ps2pdf over the -PS file created with dvips. Also here, you can \emph{leave out any -command line arguments related to paper size or orientation}. If -this is problematic for you somehow, use the |nopsheader} option as -before and specify the paper and orientation at each intermediate -step yourself. - -\section{Creating your own style}\label{sec:writestyle} -\subsection{General information} -Writing or customizing \pf{powerdot} styles is simple. If you want -to modify a style or build a new one, locate the style that you want -to use as basis in your \TeX\ tree (styles are named as -|powerdot-<style_name>.sty|), copy that and rename it as to avoid -license\footnote{The \LaTeX\ Public Project License requires -renaming files when modifying them, see -\url{http://www.latex-project.org/lppl}.} or naming conflicts. You -might want to install the new style in your local \TeX\ tree to be -able to access it from any place on your hard drive. See your -\LaTeX\ distribution for more information. - -Once that has been taken care of, we can start creating the style. -We strongly recommend to study a style file (for example, -|powerdot-default.sty|) while reading the remainder of this section -as it provides good examples for the content of this section. - -A style has several components. We describe these components below. -\begin{description} -\item\textbf{Identification and packages}\\ -This identifies the package in the log of a presentation and loads -all required packages. The \pf{default} style contains something like: -\begin{example} - \NeedsTeXFormat{LaTeX2e}[1995/12/01] - \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)] - \RequirePackage{pifont} -\end{example} -See for more information about these commands a \LaTeX\ manual, for -instance \cite{companion}. -\item\textbf{Palette or color definitions}\\ -This section contains the definitions of palettes or colors that you -want to use in the style. \pf{powerdot} uses \pf{xcolor} (via -\pf{pstricks}). Hence, for more information about colors, see the -\pf{xcolor} documentation. We will discuss palettes in more detail -in section~\ref{sec:defpals}. -\item\textbf{Template definitions}\\ -We will come back to this in sections~\ref{sec:deftemps} -to~\ref{sec:defbg}. -\item\textbf{Custom declarations}\\ -These can include anything that you want to be part of the style. -The \pf{default} style, for instance, includes definitions for the labels -in list environments like |itemize} and some initializations for -lists in general (done with \Lcs{pdsetup|, see -section~\ref{sec:pdsetup}). This part could also include some -customizations as described in section~\ref{sec:specialtemps}. -\item\textbf{Font initializations}\\ -This initializes font definitions (which can be done by -loading a package like \pf{helvet}). -\end{description} - -\subsection{Defining palettes}\label{sec:defpals} -We will be defining templates formally in -section~\ref{sec:deftemps}. For now, it's enough to have the general -idea that a template controls the design of a slide. Palettes are -sets of colors that color a template or design. A palette does not -change the overall design of a template. - -\DescribeMacro{\pddefinepalettes} -The following command can be used to define palettes for your style. -\begin{command} - `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots' -\end{command} -This macro takes \emph{any} even number of mandatory arguments with -a minimum of two. For every \meta{name}, a set of \meta{commands} -can be given which define the palette with name \meta{name}. These -commands can define colors with names |pdcolor1|, |pdcolor2|, -etcetera. These colors can be used when designing the template (see -section~\ref{sec:deftemps}). |pdcolor1} will always be used as text -color. - -The user can access these palettes via the |palette} key for the -|\pdsetup} command (see section~\ref{sec:pdsetup}). If the user does -not specify a palette, the first palette defined when compiling the -presentation, will be used. Here is an example for defining 2 -palettes. -\begin{example} - \pddefinepalettes{reds}{ - \definecolor{pdcolor1}{rgb}{1,0,0} - \definecolor{pdcolor2}{rgb}{1,.1,0} - \definecolor{pdcolor3}{rgb}{1,.2,0} - }{greens}{ - \definecolor{pdcolor1}{rgb}{0,1,0} - \definecolor{pdcolor2}{rgb}{.1,1,0} - \definecolor{pdcolor3}{rgb}{.2,1,0} - } -\end{example} -In this example, the |reds} palette is the default one. For more -information about \Lcs{definecolor|, see the documentation of the -\pf{xcolor} package \cite{xcolor}. - -Notice that it is not necessary to use the names |pdcolor2|, -|pdcolor3} etcetera as color names. But if these colors are defined, -\pf{powerdot} will use them, for instance, in the random dots -feature (see section~\ref{sec:glopts}). The flexibility adds extra -possibilities in setting up templates and palettes. See for an -example of its use, the \pf{klope} style. - -\subsection{Defining templates}\label{sec:deftemps} -We start off with a definition of what a template is. A template is -a collection of settings for slide components together with custom -definitions, which controls the visual appearance of a slide. A -style can contain multiple templates. - -\begin{command} - `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}' -\end{command} -\DescribeMacro{\pddefinetemplate} -This defines the environment \meta{name} to produce a slide with -characteristics determined by \meta{basis}, \meta{options} and -\meta{commands}. We will discuss these elements in more detail -in the coming sections. - -If you want to create several templates that differ only slightly -from each other, define a \meta{basis} template, and then use it to -define other templates. All \meta{options} and \meta{commands} for -the new template \meta{name} will be appended to the existing list -of \meta{options} and \meta{commands} from the \meta{basis} -template. - -Make sure you choose a \emph{proper} name for the template, and -avoid redefining existing templates or environments. \pf{powerdot} -defines |blackslide|, |note} and |emptyslide} internally, so you -shouldn't use these names unless you know what you're doing. -Furthermore, each style needs to define at least the templates -|slide} and |titleslide|. The |titleslide} environment will be used -to create the title slide and |slide} will (by default) also be used -to create section slides. Titles and sections are a bit special in -the way they use the \meta{options} and will be discussed in more -detail in section~\ref{sec:specialtemps}. - -\subsection{Controlling setup} -\DescribeOption{ifsetup} -The \meta{options} (keys) are described in the following sections. -You can control how these options apply to the various setups by -using the |ifsetup} key. Any key appearing before the first -|ifsetup} declaration in \meta{options} will apply to every possible -setup. Once the |ifsetup} key is used, then all subsequent key -declarations will apply \textit{only} to the setups declared in the -|ifsetup} key. The |ifsetup} key can be used multiple times. - -By possible setups, we mean the allowed values of the |mode|, -|paper|, |orient|, and |display} keys that are described in -section~\ref{sec:classopts}. If a value (or values!) for any of -these four keys is not specified in a |ifsetup} declaration, then -all subsequent key declarations will apply to any layout of that -type. Consider the following as an example. -\begin{example}[numbers=left,numberstyle=\tiny\ttfamily, - escapeinside=`',numbersep=1em,xleftmargin=1em] - ... - textpos={.2\slidewidth,.3\slideheight}, - ifsetup={portrait,screen}, - textpos={.3\slidewidth,.2\slideheight} - ... - ifsetup=landscape, - ... - ifsetup, - ... -\end{example} -Assuming there was no |ifsetup} declaration before the first -|textpos} declaration, this first |textpos} will apply to every -possible setup. However, for the screen format in portrait -orientation, the next |textpos} declaration will be used. In fact, -all declarations that appear until we switch to the next |ifsetup| -(which specifies all paper sorts and only landscape orientation) -will be used in the portrait screen layout. All keys after the next -|ifsetup} declaration will be used in landscape orientation, -\emph{with any paper, mode and display}. If, after declaring some -specializations, you want to switch back to settings that apply to -all possible setups, set |ifsetup} to empty as is done in the -example. All subsequent declarations will then again be applied -under any setup. - -The following command is a stand-alone implementation of the -mechanism described above. It allows you to control the setup -outside the \meta{options} argument of the \Lcs{pddefinetemplate| -command. -\begin{command} - `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}' -\end{command} -\DescribeMacro{\pdifsetup} -This macro executes \meta{true} when the setup that the user chose -matches with the \meta{desired} setup, \meta{false} in all other cases. -For instance, if the user has chosen landscape, then -\begin{example} - \pdifsetup{landscape}{yes}{no} -\end{example} -will typeset |yes|. If the user would have chosen portrait instead, -then |no} would have been typeset. - -This macro can be used to check setup requests from the user and, -for instance, generate an error if a certain setup is not supported -by your style. \pf{powerdot} provides one predefined error message -which can be used in one of the first lines of your style. -\begin{command} - `\cs{pd@noportrait}' -\end{command} -\DescribeMacro{\pd@noportrait} -This macro generates an error when the user requests portrait -orientation. Notice that the handout mode only works in portrait -orientation. This macro takes that into account and doesn't generate -an error in the case that the user requested a handout. - -\subsection{Main components}\label{sec:maincomps} -The \meta{options} control several key components of a slide. Every -component has several properties. A key that can be used in the -\meta{options} argument is the name of the component postfixed by -its property that you want to control. - -The components |title|, |text|, |toc|, |stoc} and |ntoc} have -properties |hook|, |pos|, |width} and |font|. Additionally, the -|text} component has a |height} property. The components |lf|, |cf} and -|rf} have properties |hook|, |pos|, |temp} and |font|. Hence, -examples of valid keys are |titlefont|, |tocpos} and |lftemp|. All -components and properties will be discussed below. - -Here is an overview of the components that can be controlled from -the \meta{options} argument in \Lcs{pddefinetemplate|. -\begin{description} -\item\DescribeOption{title-}\option{title-}\\ -The slide title. -\item\DescribeOption{text-}\option{text-}\\ -The main text box on the slide. -\item\DescribeOption{toc-}\option{toc-}\\ -The (full) table of contents on a slide containing sections and -slides. -\item\DescribeOption{stoc-}\option{stoc-}\\ -This is a table of contents containing only the sections. See also -|ntoc} below. -\item\DescribeOption{ntoc-}\option{ntoc-}\\ -This is a table of contents containing only the entries for the -active section. Together with |stoc|, this can be used to create a -split table of contents. In a particular template, one would usually -have a |toc|, a combination of |stoc} and |ntoc} or no table of -contents at all. -\item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\ -The left, center and right footers. -\end{description} - -Notice that all positioning of components described above will be -done with \Lcs{rput} from \pf{pstricks} \cite{PSTricksWeb,PSTricks} -internally. See the \pf{pstricks} documentation for more information -about this command. It should also be noted that all components -(except |lf|, |cf} and |rf|) put their content in a |minipage| -environment. - -Now we list all properties of the components listed above and -describe what they mean. Remember that keys are formed by combining -a component name and a property. - -\begin{description} -\item\DescribeOption{-hook}\option{-hook}\\ -This option defines the \Lcs{rput} hook that will be used when -positioning the item. This can be |tl|, |t|, |tr|, |r|, |Br|, |br|, -|b|, |bl|, |Bl|, |l|, |B} and |c|. See the \pf{pstricks} -documentation for more information. -\item\DescribeOption{-pos}\option{-pos}\\ -This defines the position of the |hook} on the paper. The lower left -corner of the paper is given by the point |{0,0}} and the upper right -corner by the point |{\slidewidth,\slideheight}|. So if you want to -position the main text box at 20\ from the left edge and 30\ from -the top edge of the paper, you have to do the following. -\begin{example} - textpos={.2\slidewidth,.7\slideheight} -\end{example} -If the position of any component has not been specified, this -component will not be placed on the slide. This gives an opportunity -to design slides without footers or table of contents, for instance. -\item\DescribeOption{-width}\option{-width}\\ -The width of the component. All component positioned by -\pf{powerdot} will be put in a surrounding |minipage} environment. -The |width} property determines the width of the |minipage|. Example: -\begin{example} - textwidth=.7\slidewidth -\end{example} -This property does not exist for the |lf|, |cf} and |rf} components. -\item\DescribeOption{-height}\option{-height}\\ -This option is only available for the |text} component. In other -words, for this property, there is only one key, namely -|textheight|. This can be used to specify the height of the -|minipage} used for the main text. This does not imply that users -are restricted to this length or that \pf{powerdot} does automatic -slide breaking. This height is only used for vertical alignments of -material, for instance by footnotes. The preset value is -|\slideheight|. -\item\DescribeOption{-font}\option{-font}\\ -This will be inserted just before the text that is about to be -typeset. This can be used to declare deviations from the main text -font and color. It can be a font declaration, like -|\large\bfseries|, but can also contain other things like -|\color{red}} or \Lcs{raggedright|. -\item\DescribeOption{-temp}\option{-temp}\\ -This property is only available for the footers (|lf|, |cf} and |rf|) and -can be used to change the template of the footers. This means that -you can, for instance, add content to the footer, besides the -content specified by the user. The default declaration by -\pf{powerdot} is the following. -\begin{example} - rftemp=\pd@@rf\ifx\pd@@rf\@empty - \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide -\end{example} -Here \Lcs{pd@@rf} will contain the content of the right footer defined -by the user via the \Lcs{pdsetup} command. Similarly, \Lcs{pd@@lf| -contains the content of the left footer. The above declaration -checks whether the footer and \Lcs{theslide} are both non-empty and if -so, it inserts } -- } to separate both. -\item\DescribeOption{-orient}\option{-orient}\\ -This property is only available for the |toc|, |stoc} and |ntoc| -components. This property can be |h} or |v} and determines the -orientation of the table of contents. The preset is |v|. See -also section~\ref{sec:slidetoc} for more information about the -construction of the table of contents. -\end{description} - -\subsection{Slide toc}\label{sec:slidetoc} -The small table of contents that is placed on slides can be -controlled by four macros and several options. - -\DescribeMacro{\pd@tocslide} -\DescribeMacro{\pd@tocsection} -These macros take one argument. When building the table of contents, -\pf{powerdot} first passes the content through \Lcs{pd@tocslide} or -|\pd@tocsection|, depending on the type of entry that it is building -at that moment. You could, for instance, do -\begin{example} - \def\pd@tocslide#1{$\bullet$\ #1} - \def\pd@tocsection#1{#1} -\end{example} -which will prefix all normal entries (not the sections) with a -bullet. By default, these two macros are defined to just pass on -their argument. - -\DescribeMacro{\pd@tocdisplay} -\DescribeMacro{\pd@tochighlight} -These two macros also take one argument. After processing an entry -with the command \Lcs{pd@tocslide} or \Lcs{pd@tocsection|, \pf{powerdot} -continues building the entry by passing it through \Lcs{pd@tocdisplay|, -when the entry needs to be displayed only, or \Lcs{pd@tochighlight|, -when the entry needs to be highlighted. These macros are a little -more involved and take care of putting the content in the proper -font and color in a |minipage|. Further, \Lcs{pd@tochighlight} also -puts a box around the item. - -Notice, that by default, both the separate table of contents entries -as well as the table of contents as a whole are typeset in -|minipage} environments by these macros, in case the table of -contents is vertical. The |-width} properties then determines the -width of the table of contents and, together with |tocsecindent} and -|tocslideindent} (see below) the width of the individual entries. If -it is horizontal, only the separate entries will be in |minipage|s -and the table of contents itself not and the |-width} properties -determine only the width of the individual entries (together with -|tocsecindent} and |tocslideindent|). - -Several aspects of the process of generating the table of contents -can be controlled via the keys that are available in the -|\pddefinetemplate} command that will be described below. If these -keys do not provide enough handles to do what you want, you might -need to have a look at the two macros in the source and decide to -rewrite them in your style as to fit your needs. An example can be -found in the \pf{fyma} style. - -\begin{description} -\item\DescribeOption{tocfrsep}\option{tocfrsep}\\ -This length is the distance between the box around the content -created by the |minipage} and the highlight frame box created by -|\pd@tochighlight|. Preset: |0.5mm|. -\item\DescribeOption{tocsecsep}\option{tocsecsep}\\ -The distance inserted before a section (unless it is the -first element in the table of contents). Preset: |2ex|. -Notice that if the orientation of the table of contents is set to -vertical, this length creates a vertical skip, otherwise, it creates -a horizontal skip. -\item\DescribeOption{tocslidesep}\option{tocslidesep}\\ -The distance inserted before other entries (unless it is the -first element in the table of contents). Preset: |0ex|. Like -|tocsecsep|, the effect of this length depends on the orientation of -the table of contents. -\item\DescribeOption{tocsecindent}\option{tocsecindent}\\ -The horizontal space left to a section entry. Preset: |0pt|. -\item\DescribeOption{tocslideindent}\option{tocslideindent}\\ -The horizontal space left to a slide entry. The horizontal skip will -not be inserted left to slide entries that appear before the first -section. Preset: |0pt|. -\item\DescribeOption{tocsecm}\option{tocsecm}\\ -This is inserted just before typesetting a section. This can be used -to mark a section, for instance with a line as in the \pf{default} -style. Preset: empty. -\item\DescribeOption{toctcolor}\option{toctcolor}\\ -This is the text color used for non-highlighted elements in the -table of contents. Preset: |black|. -\item\DescribeOption{tochltcolor}\option{tochltcolor}\\ -This is the text color used for highlighted elements in the table of -contents. Preset: |white|. -\item\DescribeOption{tochlcolor}\option{tochlcolor}\\ -This is the color used for the frame behind highlighted elements. -Preset: |black|. -\end{description} - -\subsection{Miscellaneous options}\label{sec:miscoptions} -There are some options that fall outside of the scope of the previous -sections. These will be discussed here. - -\begin{description} -\item\DescribeOption{iacolor}\option{iacolor}\\ -The |iacolor} option can be used to specify the color that is used -for inactive things, produced for instance by \Lcs{onslide|, \Lcs{pause| -(see section~\ref{sec:overlays}) and \Lcs{tableofcontents} (see -section~\ref{sec:tableofcontents}). As \pf{xcolor} is used by -\pf{powerdot}, one can use special notation here, like -\begin{example} - iacolor=black!20 -\end{example} -The preset value for this key is |lightgray|. -\end{description} - -The following options control the digital clock (see -section~\ref{sec:classopts}). The clock is a form text field with -dynamic content, driven by a javascript via \pf{hyperref} text -fields. Some options for the clock work similarly as for, for -instance, the title component, but there are also special options. -\begin{description} -\item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\ -These work in the same way as the |-hook} and |-pos} properties -discussed in section~\ref{sec:maincomps}. The preset value of -|clockhook} is |tr|. -\item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\ -These control the width and height of the text field containing the -clock. Preset values come from \pf{hyperref} and are |3cm} and -|\baselineskip|, respectively. -\item\DescribeOption{clockcharsize}\option{clockcharsize}\\ -The size of characters of the clock. Preset: |14pt|. -\item\DescribeOption{clockalign}\option{clockalign}\\ -The alignment of the clock in the text field. |0} is left-aligned, -|1} is centered and |2} is right aligned. Preset is |2|. -\item\DescribeOption{clockcolor}\option{clockcolor}\\ -This determines the text color of the clock. The value should be a -named color. The preset value is |black|. -\end{description} - -\subsection{Template presets} -Below, we have copied the preset setting for the keys described -above. These will be used if you didn't supply other input for these -keys in a particular template. If the preset value meets your -needs, you don't have to specify it again in your style. -\begin{example} - titlehook=Bl,titlepos=,titlewidth=\slidewidth, - titlefont=\raggedright,texthook=tl,textpos=, - textwidth=\slidewidth,textfont=\raggedright, - textheight=\slideheight, - tochook=tl,tocpos=,tocwidth=.2\slidewidth, - tocfont=\tiny\raggedright, - stochook=tl,stocpos=,stocwidth=.2\slidewidth, - stocfont=\tiny\raggedright, - ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth, - ntocfont=\tiny\raggedright, - tocorient=v,stocorient=v,ntocorient=v, - tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex, - tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white, - tocsecindent=0pt,tocslideindent=0pt, - lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf, - cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf, - rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf - \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide, - iacolor=lightgray, - clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip, - clockcharsize=14pt,clockalign=2,clockcolor=black -\end{example} - -\subsection{The background}\label{sec:defbg} -This leaves only one argument of the \Lcs{pddefinetemplate} macro -undiscussed. This is the \meta{commands} argument. This argument can -contain any code that you want to execute \textit{after} setting the -options and \textit{before} building the slide components like the -slide title, main text, and footers. This argument is designed to -contain declarations that will build the background of a template -using, for instance, \pf{pstricks}, but it can also hold other -commands you might need for building your template. - -Important to notice is that these commands may not create \TeX\ -material as that might destroy the construction of the slide. So, if -you want to place the word `Hello' in the bottom left corner of the -slide, don't type `Hello', but make its width, height and depth -equal to zero, for instance by using \pf{pstricks}' \Lcs{rput|. -\begin{example} - \rput[bl](0,0){Hello} -\end{example} - -\subsection{Title slide, titles and sections}\label{sec:specialtemps} -As mentioned before, the style that you write needs to define at -least the templates |slide} and |titleslide|. The latter treats some -of the keys in a special way. Besides, a section slide is also done -in a special way. - -The title slide (made with \Lcs{maketitle|) puts the title with -author(s) and date in the main text box. This means that you have to -supply a position for the main text box (|textpos|). It will use the -main text font for the text (together with declarations in the -|textfont} key) for the author(s) and the date. But it will use the -declarations in |titlefont} for the title of the presentation. This -is done so that title and author(s) form a coherent block and to -make sure that long titles can push down the author(s) instead of -overwriting it. - -\DescribeMacro{\pd@slidetitle} -The \Lcs{pd@slidetitle} macro is used to typeset the slide title on -slides. This macro is comparable to for instance \Lcs{pd@tocslide|. The -macro takes one argument which is the slide title in the right font -and formatting. By default, this macro just passes on the content -for typesetting, but you could redefine this macro so do something -with its input prior to typesetting it. An example is in the -\pf{fyma} style which underlines the title after putting it in a -|minipage} to support multi line titles. - -\DescribeMacros{\pd@title,\pd@sectiontitle} -These macros are similar to \Lcs{pd@slidetitle} and typeset the title -on the title slide and the title on section slides respectively. By -default, these also pass there argument (which is the presentation -title or section title), but these can be redefined to do something -with the input prior to typesetting it, just as \Lcs{pd@slidetitle|. - -\DescribeOptions{sectemp,widesectemp} -The \Lcs{section} command uses (by default) the |slide} environment and -puts the section title in the title box with font |titlefont|. If -you want to change the default use of the |slide} environment for -sections to, for instance, the |sectionslide} environment or any -other especially designed section template, change the section -template preset in your style, using -\begin{example} - \setkeys[pd]{section}{sectemp=sectionslide} -\end{example} -This means that if the user asks for |template=slide} in the -|\section} command, the |sectionslide} environment will be used -silently. To avoid surprises, |sectionslide} should preferably be -based on the |slide} environment. - -A similar option is available in case the user asks for -|template=wideslide|. One could for instance do the following. -\begin{example} - \setkeys[pd]{section}{widesectemp=sectionwideslide} -\end{example} -Whenever the user requests a |wideslide} to be used for a -|\section|, instead, the |sectionwideslide} environment will be -used. Other input to the |template} key by the user does not get a -special treatment. - -Notice that these keys are available in the |section} family of keys -and that you cannot use them in the \Lcs{pddefinetemplate} command. - -\subsection{Testing the style}\label{sec:styletest} -\pf{powerdot} has a test file that should test most of the style. -This test file can be produced by running \LaTeX\ over -|powerdot.dtx|. This generates |powerdot-styletest.tex} which will -help you with the testing job. Feel free to contact us when you -would like to contribute your style to \pf{powerdot}. See also -section~\ref{sec:questions}. - -\section{Using \LyX\ for presentations}\label{sec:lyx} -\LyX\ \cite{LyXWeb} is a WYSIWYM (What You See Is What You Mean) -document processor based on \LaTeX. It supports standard \LaTeX\ -classes but needs special files, called layout files, in order to -support non-standard classes such as \pf{powerdot}. - -To start using \LyX\ for \pf{powerdot} presentations, copy the -layout file |powerdot.layout} to the \LyX\ layout directory. You can -find this file in the doc tree of your \LaTeX\ installation: -\url{texmf/doc/latex/powerdot}. If you can't find it there, download -it from \url{CTAN:/macros/latex/contrib/powerdot}. Once that is -done, reconfigure \LyX\ (\texttt{Edit\LyXarrow Reconfigure} and -restart \LyX\ afterwards). Now you can use the \pf{powerdot} -document class as any other supported class. Go to -\texttt{Layout\LyXarrow Document} and select \texttt{powerdot -presentation} as document class. For more information, see the \LyX\ -documentation, which is accessible from the |Help} menu. - -\subsection{How to use the layout} -The \pf{powerdot} \LyX\ layout provides some environments\footnote{Don't -confuse these with \LaTeX\ environments.} which can be used in \LyX. -Some of these environments (for instance |Title} or |Itemize|) are -natural to use since they exist also in the standard document -classes such as \pf{article}. For more information on these standard -environments, see the \LyX\ documentation. - -This section will explain how to use the \pf{powerdot} specific -environments |Slide|, |WideSlide|, |EmptySlide} and |Note|. These -environments correspond to the \pf{powerdot} environments |slide|, -|emptyslide|, |wideslide} and |note|. - -We start with a simple example. The following \LaTeX\ code -\begin{example} - \begin{slide}{Slide title} - Slide content. - \end{slide} -\end{example} -can be obtained using the following \LyX\ environments. The right -column represents the text typed into the \LyX\ window and the left -column represents the environment applied to this text). -\begin{example} - Slide Slide title - Standard Slide content. - EndSlide -\end{example} -Some remarks concerning this example. -\begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt] -\item You can use the environment menu (under the menu bar, top-left -corner) to change the environment applied to text. -\item The slide title should be typed on the line of the |Slide| -environment. -\item |EndSlide} finishes the slide and its line is left blank. -\end{itemize} - -In the \LyX\ window, the |Slide} environment (that is, the slide -title) is displayed in magenta, the |WideSlide} style in green, the -|EmptySlide} style in cyan and the |Note} style in red and hence -these are easily identifiable. - -Here is another example. -\begin{example} - \begin{slide}{First slide title} - The first slide. - \end{slide} - \begin{note}{First note title} - The first note, concerning slide 1. - \end{note} - \begin{slide}{Second slide title} - The second slide. - \end{slide} -\end{example} -This can be done in \LyX\ in the following way. -\begin{example} - Slide First slide title - Standard The first slide. - Note First note title - Standard The first note, concerning slide 1. - Slide Second slide title - Standard The second slide. - EndSlide -\end{example} -This example demonstrates that it is often sufficient to insert the -|EndSlide} style after the last slide or note only. Only when you -want certain material not to be part of a slide, you need to finish -the preceding slide manually using the |EndSlide} style. Example: -\begin{example} - Slide First slide title - Standard The first slide. - EndSlide - [ERT box with some material] - Slide Second slide title - ... -\end{example} - -Options can be passed to slide environments by using -\texttt{Insert\LyXarrow Short title} in front of the slide title. -The following example uses the |direct} method (see -section~\ref{sec:verbatim}) in the short title argument (delimited by -square brackets) to allow for a |lstlisting} environment (defined by -the \pf{listings} package) within the slide content. -\begin{example} - Slide [method=direct]Example of LaTeX source code - Standard Here's the \HelloWorld command: - [ERT box: - \lstset{language=[LaTeX]TeX} - \begin{lstlisting} - \newcommand{\HelloWorld}{Hello World!} - \end{lstlisting} - ] - EndSlide -\end{example} -Note that you are not obliged to use a |verbatim} environment to -type the \Lcs{HelloWord} text into the \LyX\ window because \LyX\ -directly supports standard verbatim.\footnote{\LyX\ translates -special characters into their corresponding \LaTeX\ command. For -instance, the backslash character is translated into -\cs{textbackslash{}}. Resulting, the font is not the same as in true -verbatim and you might want to change that via the -\texttt{Layout\LyXarrow Character} dialog.} Consequently, the use of -the slide processing methods |direct} and |file} is not necessary -when you need standard verbatim, but it is necessary when doing more -advanced things, like in the example above. - -\subsection{Support of syntax} -This section lists options, commands and environments that are -supported through the \LyX\ interface directly, without using an ERT -box (\TeX-mode). - -All class options (see section~\ref{sec:classopts}) are supported -via the \texttt{Layout\LyXarrow Document} dialog (|Layout} pane). -Options for the \Lcs{pdsetup} command (see section~\ref{sec:setup}) -should be specified in the |Preamble} pane of the -\texttt{Layout\LyXarrow Document} dialog. - -Table \ref{tab:lyxcommands} lists the \pf{powerdot} commands that -are supported in \LyX. -\begin{table}[htb] -\centering -\begin{tabular}{f} -Command & Method in \LyX\\\hline -\cs{title} & Use \texttt{Title} environment.\\ -\cs{author} & Use \texttt{Author} environment.\\ -\cs{date} & Use \texttt{Date} environment.\\ -\cs{maketitle} & Managed directly by \LyX.\\ -\cs{section} & Use the \texttt{Section} environment. Options to this -command (see section~\ref{sec:section}) can be specified using -\texttt{Insert\LyXarrow Short title} in front of the section title.\\ -\cs{tableofcontents} & Use \texttt{Insert\LyXarrow Lists \& -TOC\LyXarrow Table of contents}. You will need an ERT box if you -want to use the optional argument, see below. -\end{tabular} -\caption{Supported \pf{powerdot} commands in \LyX}\label{tab:lyxcommands} -\end{table} -Table \ref{tab:lyxenvs} lists the \pf{powerdot} environments that, -besides the earlier discussed |slide|, |wideslide|, |note} and -|emptyslide} environments, are supported in \LyX. -\begin{table}[htb] -\centering -\begin{tabular}{f} -Environment & Method in \LyX\\\hline -\texttt{itemize} & Use \texttt{Itemize} and \texttt{ItemizeType1} -environments. The latter will create a list with |type=1} (see -section~\ref{sec:lists}).\\ -\texttt{enumerate} & Use \texttt{Enumerate} and -\texttt{EnumerateType1} environments.\\ -\texttt{thebibliography} & Use \texttt{Bibliography} environment. -\end{tabular} -\caption{Supported \pf{powerdot} environments in \LyX}\label{tab:lyxenvs} -\end{table} -Table \ref{tab:lyxERT} lists commands that can only be done by using -an ERT box (via \texttt{Insert\LyXarrow TeX}). -\begin{table}[ht] -\centering -\begin{tabular}{f} -Command & Method in \LyX\\\hline -\cs{and} & Within \texttt{Author} environment.\\ -\cs{pause} & \\ -\cs{item} & An ERT box is only required for the optional argument, -not mandatory for overlays specifications.\\ -\cs{onslide} & And the versions \cs{onslide+} and \cs{onslide*}.\\ -\cs{twocolumn} & \\ -\cs{tableofcontents} & Only when using the optional argument. -\end{tabular} -\caption{\pf{powerdot} commands needing an ERT box in \LyX}\label{tab:lyxERT} -\end{table} -Note that you may use the clipboard in order to repeat often used -commands like \Lcs{pause|. Finally, table \ref{tab:lyxadd} lists -additional commands and environments that are supported by the layout. -\begin{table}[htb] -\centering -\begin{tabular}{f} -Env./Command & Method in \LyX\\\hline -\texttt{quote} & Use \texttt{Quote} environment.\\ -\texttt{quotation} & Use \texttt{Quotation} environment.\\ -\texttt{verse} & Use \texttt{Verse} environment.\\ -\cs{caption} & Use \texttt{Caption} environment within standard -float environments. -\end{tabular} -\caption{Additional environments for \LyX}\label{tab:lyxadd} -\end{table} - -\subsection{Compiling with \LyX} -First of all, make sure that you have also read -section~\ref{sec:compiling}. Then, in order to get a proper -PostScript or PDF file, you have to set your \LyX\ document -properties depending on which paper and orientation you want. When -your \LyX\ document is open, go to the \texttt{Layout\LyXarrow -Document} dialog. In the \texttt{Layout} pane, put the |nopsheader|, -|orient} and |paper} keys as class options (see -section~\ref{sec:classopts} for a description). Then, go to the -|Paper} pane and select corresponding paper size and orientation -(you may choose |letter} paper in the case you set |paper=screen} in -the class options). Finally, go to the |View} (or -\texttt{File\LyXarrow Export}) menu and select your output -(PostScript or PDF). - -\subsection{Extending the layout} -If you have created a custom style (see section~\ref{sec:writestyle}) -which defines custom templates, you may want to extend the layout -file\footnote{The LPPL dictates to rename a file if you modify it as -to avoid confusion.} so that these templates are also supported in -\LyX. The explanation below assumes that you have defined a template -called |sunnyslide|. - -To support this new template in \LyX, you have to use the following -command. -\begin{command} - `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}' -\end{command} -\DescribeMacro{\pddefinelyxtemplate} -This will define the control sequence \meta{cs} such that it will -create a slide with template \meta{template} (which has been defined -using \Lcs{pddefinetemplate|. This new control sequence can be used in -the layout file as follows. -\begin{example} - # SunnySlide environment definition - Style SunnySlide - CopyStyle Slide - LatexName lyxend\lyxsunnyslide - Font - Color Yellow - EndFont - Preamble - \pddefinelyxtemplate\lyxsunnyslide{sunnyslide} - EndPreamble - End -\end{example} -Note that you must begin the |LatexName} field with |lyxend|. The -definition of the \LyX\ template has been inserted in between -|Preamble} and |EndPreamble} which assures that the new \LyX\ -environment will work in every presentation. After modifying the -layout file, don't forget to restart \LyX. See for more information -about creating \LyX\ environments, the documentation of \LyX\ in the -|Help} menu. - -\section{Questions}\label{sec:questions} -\subsection{Frequently Asked Questions}\label{sec:FAQ} -This section is devoted to Frequently Asked Questions. Please read -it carefully; your problem might be solved by this section. -\begin{itemize}[leftmargin=0pt] -\question -Does \pf{powerdot} have example files? Where can I find them? -\answer -\pf{powerdot} comes with several examples that should be in the doc -tree of your \LaTeX\ installation. More precisely: -\url{texmf/doc/latex/powerdot}. If you can't find them there, -download them from \url{CTAN:/macros/latex/contrib/powerdot} -\cite{CTAN}. -\question I'm getting errors or unexpected output when compiling -the simplest example! -\answer Did you read section~\ref{sec:compiling}? -\question I made a typo in the slide code, ran the file, got an -error, corrected the typo and reran, but now get an error that -doesn't go away. -\answer Remove the |.bm} and |.toc} files and try again. -\question \Lcs{pause} does not work in the |align|\footnote{There are -several environments doing similar things as \texttt{align}. Another -example is the \texttt{split} environment, but more (often from the -\pf{amsmath} package) can cause similar trouble for \cs{pause}.} -environment. -\answer |align} does several tricky things, which make it impossible -to use \Lcs{pause|. Use \Lcs{onslide} instead. See -section~\ref{sec:onslide}. -\question My \pf{pstricks} nodes appear on all overlays. Also: color -doesn't seem to work with \Lcs{onslide|. -\answer Some PostScript tricks like nodes and color do not work with -|\onslide|. Use \Lcs{onslide*} instead. See an example below. -\begin{example} - \documentclass{powerdot} - \usepackage{pst-node} - \begin{document} - \begin{slide}{Color} - \onslide*{2}{\cnode(0,-5pt){2pt}{A}} - This is {\onslide*{2-}{\color{red}} red} text. - \onslide*{2}{\cnode(0,-5pt){2pt}{B}} - \onslide{2}{\ncline{A}{B}} - \end{slide} - \end{document} -\end{example} -\question Do I need to edit style files to change a style a bit? -\answer No, you do not need to edit any style file. You can change -any part of a certain style using the \Lcs{pddefinetemplate} and -|\pddefinepalettes} commands. Here is an example that removes the -left and right footers from the \pf{default} style, places the slide -number in the center footer and adds another palette. -\begin{example} - \documentclass{powerdot} - \pddefinetemplate[slide]{slide}{ - lfpos=,rfpos=,cftemp=\theslide - }{} - \pddefinepalettes{mypalette}{ - \definecolor{pdcolor1}{rgb}{.27,.31,.44} - \definecolor{pdcolor2}{rgb}{.85,.85,.92} - \definecolor{pdcolor3}{rgb}{.8,.75,.98} - } - \pdsetup{palette=mypalette} - \begin{document} - \begin{slide}{Title} - \end{slide} - \end{document} -\end{example} -See section~\ref{sec:writestyle} for more information about these -two commands. -\question Can I contribute to this project? -\answer -Certainly. If you find bugs\footnote{Make sure that you confirm that -the bug is really caused by \pf{powerdot} and not by another package -that you use.} or typos, please send a message to the mailinglist -(see section~\ref{sec:mailinglist}). If you have developed your own -style that is distinct from existing styles and would like to see it -included in \pf{powerdot}, please inform us by private e-mail and we -will consider your contribution. Notice that included contributions -will fall under the overall \pf{powerdot} license and copyright -notice, but that your name will be included in the documentation -when you make a contribution. This is done to guarantee that we can -adapt files if maintenance is needed. -\end{itemize} - -If your question has not been answered at this point, advance to the -next section to read where to find more answers. - -\subsection{Mailinglist}\label{sec:mailinglist} -\pf{powerdot} has a mailinglist from \url{freelists.org} and has its -website here: -\begin{center} -\url{http://www.freelists.org/list/powerdot} -\end{center} -There is a link to `List Archive'. Please search this archive before -posting a question. Your problem might already have been solved in -the past. - -If that is not the case, use the box on the page to type your e-mail -address, choose the action `Subscribe' and click `Go!'. Then follow -the instructions that arrive to you by e-mail. At a certain moment, -you can login for the first time using an authorization code sent to -you by e-mail. After logging in, you can create a password for -future sessions using the `Main Menu' button. The other buttons -provide you some info and options for your account. - -When you are all set, you can write to the list by sending an e-mail -to -\begin{center} -\url{powerdot [at] freelists [dot] org} -\end{center} - -When writing to the list, please keep in mind the following very -important issues. -\begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt] -\item We are volunteers! -\item Keep your questions related to \pf{powerdot}. -\item Always supply a \emph{minimal} example demonstrating your -problem. -\item Don't send big files over the list. -\end{enumerate} - -We hope you will enjoy this service. - -\section{Source code documentation}\label{sec:source} -In case you want regenerate the package files from the source or -want to have a look at the source code description, locate -|powerdot.dtx|, search in the file for \Lcs{OnlyDescription} and remove -that and do -\begin{example} - latex powerdot.dtx - latex powerdot.dtx - bibtex powerdot - makeindex -s gglo.ist -o powerdot.gls powerdot.glo - makeindex -s gind.ist -o powerdot.ind powerdot.idx - latex powerdot.dtx - latex powerdot.dtx -\end{example} - -\StopEventually{} - -\section{Implementation}\label{sec:imple} -\subsection{General construction} -This section explains the general idea of the class, how paper -dimensions are chosen and how slides are created. We start with the -paper. - -This class uses the same idea as \pf{prosper} and \pf{HA-prosper}, -namely that we create a background with \pf{pstricks} and position -text on it using \Lcs{rput} and some |minipage} environments. This is -easier than writing a dedicated output routine that can handle all -the material, but doesn't break pages when we don't want that. So, -when starting to write the class, we first investigated how to deal -with landscape slides and paper dimensions. - -The job of making landscape slides can be done using \pf{geometry}. -The paper dimension was more of a problem. As \LaTeX\ doesn't have -the huge fonts that we need for presentations, we need to scale the -usual fonts somehow. This could be done by using unusual paper -dimensions (as \pf{beamer} does) and hence relying on ps2pdf to cut -off all the redundant material. But this doesn't produce a usable -DVI or PS file. Instead, it was chosen to use DVI magnification. The -entire slide is magnified by a factor of 2 and only the top left -quarter of the paper is used (but you will never notice that due to -the magnification). As we already decided to place all material in -|minipage|s using \Lcs{rput|, we didn't need the page anymore and it -was easiest to use \pf{geometry} to just remove the page margins -altogether so that the bottom left corner would be |(0,0)} and the -top right corner |(\slidewidth,\slideheight)|. - -One extra remark on the paper type is necessary. We found that most -common configurations of dvips use the |A4size} code when A4 -dimensions are found. This code doesn't write an explicit PostScript -paper command in the PS document and hence programs using this PS -(like ps2pdf) don't know what paper to use and revert to the -default, which is letter paper in most cases. This, of course, is -something that we don't want and hence, \pf{powerdot} will write -these commands to the PS itself as to guarantee proper post -processing of the PS. - -Now that we made the decisions on how to create proper DVI, PS and -PDF output, the next task was to create an easy interface to -overlays. To avoid counting the overlays as is necessary with -\pf{prosper}, we implemented a system that first collects the entire -body of an environment in a macro which can be reused multiple -times. During execution of the body, the overlay commands like -|\onslide} will keep a record of the biggest number that they find -and that is the number of overlays to produce. Getting the body of -the environment is done by collecting all material up to the next -|\end} occurrence. If that control sequence has the proper argument -(namely the slide that we started with), then we stop scanning and -start processing the slide. With normal use, you will not notice -this, but when doing special tricks like hiding \Lcs{end{slide}} in a -macro, the process will fail as it relies on finding \Lcs{end\{slide\}} -in the input stream without doing expansions. Often a work around -can be found though. Have a look for instance at how \Lcs{section| -creates a slide. - -The next task was to provide a simple way to create templates. As -the class is based on the idea of having a background with some -material spread out over it, the template system follows this idea. -One argument can be used to create the background, the other -argument controls, via keys and options, several properties of the -material that should be placed. By adding an \verb=ifsetup= key, full -control could be gained over the design of the template in every -possible setup chosen by the user. - -The final task for the class was to fill in all the `details'. All -the mechanisms were present, but sometimes they should not be -active. For instance, overlays should not be created in handout -mode. Other things to add to the class were counter protection on -overlays, handles to the layout of the slide number, footnotes, a -bibliography environment, empty slides, etcetera. - -We hope that this section has made clear a little bit what you will -be seeing when reading the next section with coding and why we chose -to do it this way. - -\bibliographystyle{plain} -\bibliography{powerdot} - -\section*{Acknowledgements} -The authors are grateful to Mael Hill\'ereau for contributing the -\LyX\ layout file and description. Further, we like to thank all -style contributors (see section~\ref{sec:styles}). Moreover, we wish -to thank everyone who contributed to this package in any other -way.\\[1em] -\hspace*{\stretch{1}} -\begin{minipage}{.9\linewidth} -Ramon van den Akker, Pavel \v C\'i\v zek, Darren Dale, Hans Marius -Eikseth, Morten H\o gholm, Andr\'as Horv\'ath, Laurent Jacques, Akira -Kakuto, Uwe Kern, Kyanh, Theo Stewart, Don P. Story and Herbert Vo\ss. -\end{minipage} -\hspace*{\stretch{1}}\\[1em] -We hope not to have forgotten anyone. - -\PrintChangesX\PrintIndexX - -\end{document} - |