summaryrefslogtreecommitdiff
path: root/macros/latex/contrib
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib')
-rw-r--r--macros/latex/contrib/alterqcm/README.md55
-rw-r--r--macros/latex/contrib/alterqcm/doc/article_post.pdfbin0 -> 794330 bytes
-rw-r--r--macros/latex/contrib/alterqcm/doc/doc-aq-main.pdfbin0 -> 315801 bytes
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/180px-Gustave_Moreau_007.jpgbin0 -> 12450 bytes
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/240px-Mort_du_fossoyeur.jpgbin0 -> 22368 bytes
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/The_Wounded_Angel_-_Hugo_Simberg.jpgbin0 -> 43567 bytes
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-def.tex177
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-excomp.tex257
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-first.tex67
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-globales.tex758
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-greek.tex53
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-installation.tex57
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-locales.tex130
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-main.tex164
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-mc.tex209
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-points.tex39
-rw-r--r--macros/latex/contrib/alterqcm/doc/latex/doc-aq-problem.tex25
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-1.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-10.tex5
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-2.tex5
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-3.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-4.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-5.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-6.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-7.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-8.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/iut/qcm-9.tex4
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/AntillesESjuin2006.tex77
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/alea.tex31
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/annexe.tex21
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/correct.tex27
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/example_2.tex36
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/example_3.tex64
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/lang_chinese.tex55
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/lang_german.tex56
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/language.tex90
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/points.tex23
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/sep.tex31
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/test_language.tex51
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/transparent-final.tex40
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/transparent-init.tex41
-rw-r--r--macros/latex/contrib/alterqcm/examples/latex/verb.tex150
-rw-r--r--macros/latex/contrib/alterqcm/latex/alterqcm.sty683
-rw-r--r--macros/latex/contrib/covington/README4
-rw-r--r--macros/latex/contrib/covington/covington.pdfbin486803 -> 487245 bytes
-rw-r--r--macros/latex/contrib/covington/covington.sty8
-rw-r--r--macros/latex/contrib/covington/covington.tex21
-rw-r--r--macros/latex/contrib/easybook/easybook.dtx194
-rw-r--r--macros/latex/contrib/easybook/easybook.pdfbin311905 -> 312209 bytes
-rw-r--r--macros/latex/contrib/pgfmath-xfp/README.md30
-rw-r--r--macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.dtx503
-rw-r--r--macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.pdfbin0 -> 260671 bytes
-rw-r--r--macros/latex/contrib/pm-isomath/README.txt2
-rw-r--r--macros/latex/contrib/pm-isomath/pm-isomath.dtx451
-rw-r--r--macros/latex/contrib/pm-isomath/pm-isomath.pdfbin624109 -> 653361 bytes
-rw-r--r--macros/latex/contrib/powerdot/README100
-rw-r--r--macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex318
-rw-r--r--macros/latex/contrib/powerdot/doc/lyx/powerdot.layout922
-rw-r--r--macros/latex/contrib/powerdot/doc/manifest.txt166
-rw-r--r--macros/latex/contrib/powerdot/doc/powerdot.pdfbin545004 -> 546181 bytes
-rw-r--r--macros/latex/contrib/powerdot/run/powerdot-default.ps218
-rw-r--r--macros/latex/contrib/powerdot/source/powerdot.dtx17520
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.pdfbin221440 -> 222025 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-cn.tex110
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.pdfbin144643 -> 145010 bytes
-rw-r--r--macros/latex/contrib/projlib/ProjLib-doc-en.tex110
-rw-r--r--macros/latex/contrib/projlib/ProjLib.dtx596
-rw-r--r--macros/latex/contrib/projlib/ProjLib.ins36
-rw-r--r--macros/latex/contrib/projlib/README.md30
-rw-r--r--macros/latex/contrib/siunitx/CHANGELOG.md20
-rw-r--r--macros/latex/contrib/siunitx/siunitx-code.pdfbin1432693 -> 1437526 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.dtx19
-rw-r--r--macros/latex/contrib/siunitx/siunitx-emulation.pdfbin0 -> 484705 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx-number.dtx19
-rw-r--r--macros/latex/contrib/siunitx/siunitx-symbol.dtx32
-rw-r--r--macros/latex/contrib/siunitx/siunitx-table.dtx67
-rw-r--r--macros/latex/contrib/siunitx/siunitx.dtx2
-rw-r--r--macros/latex/contrib/siunitx/siunitx.pdfbin601047 -> 600972 bytes
-rw-r--r--macros/latex/contrib/siunitx/siunitx.tex4
79 files changed, 14666 insertions, 10345 deletions
diff --git a/macros/latex/contrib/alterqcm/README.md b/macros/latex/contrib/alterqcm/README.md
new file mode 100644
index 0000000000..c8c034d4da
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/README.md
@@ -0,0 +1,55 @@
+# alterqcm
+
+Release 4.42c 2021/05/17
+
+## Purpose Description
+
+The 'alterqcm' package is a LaTeX2e package, for making Multiple Choices Questionnaires
+ in a table with two columns. The aim is to provide some useful macros to build
+ QCM in tables. These macros may be used by only LaTeX TeX users.
+
+
+## Licence
+
+The packages may be modified and distributed under the terms and
+conditions of the [LaTeX Project Public
+License](https://www.latex-project.org/lppl/), version 1.3 or greater.
+
+## Installation
+
+You can experiment with the alterqcm package by placing all of the distribution
+ files in the directory containing your current tex file.
+
+You can also place all of the distribution files in the directory :
+/texmf/tex/latex/tkz.
+
+## How to use it
+
+\usepackage[your-language]{alterqcm} if "your-language" is french, english, german, greek, russian, italian or chinese, It's possible to use the option "unknown" is "your-language" is not in the last list.
+
+## Features
+
+- A special environment allows you to define questions and possible answers;
+- You can specify which answers are correct and which are not.
+- works with utf8 and pdflatex and xelatex (with some languages);
+- allows to use 'longtable';
+- makes automatically adjustment;
+- generates a 'grid' that the students will have to fill in;
+- generates a 'mask' with correct answers to print a slide.
+- article_post.pdf is a file for Greek users.
+
+
+## Documentation
+
+Documentation for `alterqcm` is available on CTAN and in your TeX distribution. The documentation is in English.
+
+## History
+
+- 4.41 and 4.42 Correction of bugs and addition of new languages.
+
+- 4.1 A fix in the definition of \AQquestion
+
+- 4.0 Added full linguistic support
+
+- 3.7 Correction of bug
+ add the macro \AQpoints \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/article_post.pdf b/macros/latex/contrib/alterqcm/doc/article_post.pdf
new file mode 100644
index 0000000000..be3c103baa
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/article_post.pdf
Binary files differ
diff --git a/macros/latex/contrib/alterqcm/doc/doc-aq-main.pdf b/macros/latex/contrib/alterqcm/doc/doc-aq-main.pdf
new file mode 100644
index 0000000000..056e1885e2
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/doc-aq-main.pdf
Binary files differ
diff --git a/macros/latex/contrib/alterqcm/doc/latex/180px-Gustave_Moreau_007.jpg b/macros/latex/contrib/alterqcm/doc/latex/180px-Gustave_Moreau_007.jpg
new file mode 100644
index 0000000000..ab4d879cfe
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/180px-Gustave_Moreau_007.jpg
Binary files differ
diff --git a/macros/latex/contrib/alterqcm/doc/latex/240px-Mort_du_fossoyeur.jpg b/macros/latex/contrib/alterqcm/doc/latex/240px-Mort_du_fossoyeur.jpg
new file mode 100644
index 0000000000..70d5f0d0f5
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/240px-Mort_du_fossoyeur.jpg
Binary files differ
diff --git a/macros/latex/contrib/alterqcm/doc/latex/The_Wounded_Angel_-_Hugo_Simberg.jpg b/macros/latex/contrib/alterqcm/doc/latex/The_Wounded_Angel_-_Hugo_Simberg.jpg
new file mode 100644
index 0000000000..0befd93b07
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/The_Wounded_Angel_-_Hugo_Simberg.jpg
Binary files differ
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-def.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-def.tex
new file mode 100644
index 0000000000..5261f75cd8
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-def.tex
@@ -0,0 +1,177 @@
+\section{Tools: The environment \tkzname{alterqcm} and the macro \tkzcname{AQquestion}}
+\subsection{Environment \tkzname{alterqcm}}
+
+
+\bigskip
+\begin{NewEnvBox}{alterqcm}
+
+\noindent Here is the list of available \tkzname{options} classified by category.
+
+\medskip
+\begin{tabular}{@{}Il Il Il@{}}
+ \toprule
+ \thead
+Options &Default & Definition \\ \midrule
+\tbody
+\multicolumn{2}{c}{\emph{\texttt{Dimensions}}} \\ \cmidrule(r){1-2}
+\TOenvline{lq} {100mm} {width of the question column }
+\TOenvline{pq} {0pt} {vertical shift of the question } \cmidrule(r){1-2}
+\multicolumn{2}{c}{\emph{\texttt{Numbers}}} \\ \cmidrule(r){1-2}
+\TOenvline{bonus} {{0,5}} {points for a correct answer }
+\TOenvline{malus} {{0,25}} {points for wrong answer }
+\TOenvline{numbreak} {0} {to take over a split board }
+\TOenvline{points} {empty}{ points awarded to the qcm in the margin} \cmidrule(r){1-2}
+\multicolumn{2}{c}{\emph{\texttt{Macros}}} \\ \cmidrule(r){1-2}
+\TOenvline{symb} {\$\BS square\$} {symbol in front of the proposal }
+\TOenvline{corsymb}{\$\BS blacksquare\$}{symbol in front of the proposal }
+\TOenvline{numstyle} {\BS arabic} {style of question numbering }
+\TOenvline{propstyle} {\BS alph} {style of proposal numbering }
+\TOenvline{size} {\BS normalsize} {font size }
+\TOenvline{afterpreskip}{\BS medskip} {skip after the presentation }
+\cmidrule(r){1-2}
+\multicolumn{2}{c}{\emph{\texttt{Booleans}}} \\ \cmidrule(r){1-2}
+\TOenvline{long} {true} {longtable instead of tabular }
+\TOenvline{sep} {true} {proposal separator}
+\TOenvline{pre} {false} {MCQ presentation }
+\TOenvline{VF} {false} {MCQ in the form True or False }
+\TOenvline{numprop} {false} {proposal numbering }
+\TOenvline{num} {true} {style of question numbering }
+\TOenvline{nosquare} {false} {sremoving the square of proposals }
+\TOenvline{title} {false} {title suppression }
+\TOenvline{correction}{false} {allows you to create an answer sheet }
+\TOenvline{alea} {false} {randomly place proposals } \cmidrule(r){1-2}
+\multicolumn{2}{c}{\emph{\texttt{Texts}}} \\ \cmidrule(r){1-2}
+\TOenvline{tone} {Questions} {column title 1 }
+\TOenvline{ttwo} {R\'eponses} {column title 2 }
+\TOenvline{language} {french} {french, english, german, greek, russian, italian, chinese, unknown }
+ \bottomrule
+\end{tabular}
+
+\medskip
+
+To create a \textcolor{red}{\texttt{MCQ}} use a \textcolor{red}{\texttt{alterqcm}} environment as well as the \textcolor{red}{ \addbs{AQquestion}} macro defined in the next section.
+\end{NewEnvBox}
+
+\subsection{The macro \tkzcname{AQquestion}}
+\Imacro{AQquestion}
+
+\begin{NewMacroBox}{AQquestion}{\oarg{local options}{\var{quest}}\{{\var{$\mathrm{prop}_1$}},\ldots,{\var{$\mathrm{prop}_n$}}\}}
+This macro uses two arguments, the first defines the question, the second is a list that defines the propositions.
+
+\medskip
+\begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+arguments & default & definition \\
+\midrule
+\tbody
+\TAline{quest} {} {issue definition}
+\TAline{$\mathrm{prop}_i$} {} {i\th\ proposition} \bottomrule
+\end{tabular}
+
+\medskip
+Here is the list of options related to this macro.
+
+\medskip
+\begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+options & default & definition \\ \midrule
+\tbody
+\TOline{pq} {0pt} {adjustment of the position of the question}
+\TOline{br} {1 } {ranked list of correct answers } \bottomrule
+\end{tabular}
+
+\medskip
+
+\end{NewMacroBox}
+
+
+
+
+ \subsection{Using the \tkzname{minipage} environment to change the width of the table}
+\Ienv{minipage}
+
+\tkzHandBomb\ \begin{minipage}[c][][t]{.4\linewidth}
+\begin{tkzltxexample}[small]
+\begin{center}
+\begin{minipage}{9cm}
+\begin{alterqcm}[lq=5cm]
+ ...
+ \end{alterqcm}
+\end{minipage}
+\end{center}
+\end{tkzltxexample}
+\end{minipage}
+
+\begin{minipage}[c][][t]{.6\linewidth}
+\begin{alterqcm}[lq=5cm]
+\AQquestion{Among the following proposals, which of the following allows for
+ to affirm that the exponential function admits for asymptote the right
+ from the equation $y = 0$?}
+{%
+{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},%
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},%
+{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}%
+}
+
+\AQquestion[]{exp$(\ln x) = x$ for any $x$ belonging to }
+{%
+{$\mathbf{R}$},%
+{$\big]0~;~+ \infty\big[$},%
+{$\big[0~;~+\infty\big[$}%
+}\end{alterqcm}
+\end{minipage}
+%
+
+\subsection{Temporary modification of \tkzcname{textwidth}}
+\Imacro{textwidth}
+ It is possible to use tables and other structures in the question code or proposals. An example is shown below:
+ \newlength{\oldtextwidth}
+\tkzHandBomb\ \begin{tkzltxexample}[small]
+ \newlength{\oldtextwidth}
+\end{tkzltxexample}
+
+\medskip
+ \setlength{\oldtextwidth}{\textwidth}
+ \setlength{\textwidth}{14cm}
+\begin{alterqcm}[language=english,lq=88mm,symb=$\Box$]
+ \AQquestion{the matrix
+ \( M=\begin{pmatrix}
+ 0 & 1 \\
+ 1 & 1 \\
+\end{pmatrix} \) has for square}%
+{%
+{\(\begin{pmatrix}
+ 0 & 1 \\
+ 1 & 4 \\
+\end{pmatrix}\)},%
+{\(\begin{pmatrix}
+ 1 & 2 \\
+ 2 & 5 \\
+ \end{pmatrix}\)}
+}
+\end{alterqcm}
+\setlength{\textwidth}{\oldtextwidth}
+
+\medskip
+\begin{tkzltxexample}[small]
+ \setlength{\oldtextwidth}{\textwidth}
+ \setlength{\textwidth}{14cm}
+ \begin{alterqcm}[language=english,lq=88mm,symb=$\Box$]
+ \AQquestion{la matrice %
+ \( M=\begin{pmatrix}
+ 0 & 1 \\
+ 1 & 1 \\
+ \end{pmatrix} \) a pour carré}%
+ {%
+ {\(\begin{pmatrix}
+ 0 & 1 \\
+ 1 & 4 \\
+ \end{pmatrix}\)},%
+ {\(\begin{pmatrix}
+ 1 & 2 \\
+ 2 & 5 \\
+ \end{pmatrix}\)}
+ }
+ \end{alterqcm}
+ \setlength{\textwidth}{\oldtextwidth}
+\end{tkzltxexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-excomp.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-excomp.tex
new file mode 100644
index 0000000000..5d49ddf3fe
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-excomp.tex
@@ -0,0 +1,257 @@
+\section{Additional examples}
+\subsection{The symbolists: use of the macro \tkzcname{includegraphics}}
+\Imacro{includegraphics}
+
+\begin{alterqcm}[lq=8cm,numprop=true,sep]
+\AQquestion[pq=2 cm]{Among the three paintings opposite, which is the one painted by \textbf{Gustave Moreau}\vfill}%
+{{%
+\hfil\includegraphics[scale=.20]{The_Wounded_Angel_-_Hugo_Simberg.jpg}\hfil
+},{%
+\hfil\includegraphics[scale=.4]{180px-Gustave_Moreau_007.jpg}\hfil
+},{%
+\hfil\includegraphics[scale=.4]{240px-Mort_du_fossoyeur.jpg}\hfil}}%
+ \AQquestion[pq=1 cm]{The following picture was painted by which of these three painters?\\
+\hfil\includegraphics[height=3in]{240px-Mort_du_fossoyeur.jpg}\hfil}%
+{{Gustav Klimt},{Carlos Schwabe},{Odilon Redon}}
+\end{alterqcm}
+
+\begin{tkzltxexample}[small]
+ \begin{alterqcm}[lq=8cm,numprop=true,sep]
+ \AQquestion[pq=2 cm]{Of the three paintings, which is the one painted by \textbf{Gustave Moreau}\vfill}%
+ {{%
+ \hfil\includegraphics[scale=.25]{The_Wounded_Angel_-_Hugo_Simberg.jpg}\hfil
+ },{%
+ \hfil\includegraphics[scale=.5]{180px-Gustave_Moreau_007.jpg}\hfil
+ },{%
+ \hfil\includegraphics[scale=.4]{240px-Mort_du_fossoyeur.jpg}\hfil}}
+ \AQquestion[pq=1 cm]{The following painting, was painted by which of these three painters?\\
+ \hfil\includegraphics[height=3in]{240px-Mort_du_fossoyeur.jpg}\hfil}%
+ {{Gustav Klimt},{Carlos Schwabe},{Odilon Redon}}
+ \end{alterqcm}
+\end{tkzltxexample}
+
+\subsection{Using a \tkzname{tikzpicture} environment in a question}
+\Ienv{tikzpicture}
+
+\medskip
+
+\begin{alterqcm}[lq=120mm,pre=true,pq=3mm]
+ \AQmessage{\begin{minipage}{15cm}
+\vspace*{6pt}
+The three trees given below represent probabilistic situations. %
+ The numbers shown on the various arrows are probabilities, and,%.
+ in the second level, conditional probabilities. Thus for the given tree %
+ in question 1 : $0,35 = P(A)$ and $0,1 = P_{\text{A}}(E)$.
+\vspace*{6pt}
+\end{minipage}
+}
+\AQquestion{The probability of event E is equal to : \\
+\begin{tikzpicture}[yscale=1.2]
+[parent anchor=east,child anchor=west,grow=east]
+\tikzstyle{every node}=[text=Maroon,fill=fondpaille,font=\small]
+\tikzstyle{every child}=[level distance=25mm]
+\tikzstyle{edge from parent}=[draw,->,thin]
+\tikzstyle{level 2}=[sibling distance=12mm]
+\node {}
+[grow=right]
+child {node {B}
+ child { node {F}
+ edge from parent node {$0,5$}}
+ child { node {E}
+ edge from parent node {$0,5$}
+ }
+ edge from parent node {$0,65$}
+ }
+child {node {A}
+ child { node {F}
+ edge from parentnode {$0,9$}}
+ child { node {E}
+ edge from parent node {$0,1$}}
+ edge from parent node {$0,35$}
+ };
+\end{tikzpicture}}
+{{$0,5$},%
+{$0,1$},%
+{$0,6$},%
+{$0,36$}}
+\end{alterqcm}
+
+\begin{tkzltxexample}[small]
+ \begin{alterqcm}[lq=120mm,pre=true,pq=3mm]
+ \AQmessage{The three trees given below represent probabilistic situations.
+ The numbers shown on the different arrows are probabilities, and,
+ in the second level, conditional probabilities. Thus for the given tree
+ in question 1: $0,35 = P(A)$ and $0,1 = P_{\text{A}}(E)$.}
+ \AQquestion{The probability of event E is equal to : \\
+ \begin{tikzpicture}
+ ...
+ \end{tikzpicture}}
+ {{$0,5$},%
+ {$0,1$},%
+ {$0,6$},%
+ {$0,36$}}
+ \end{alterqcm}
+\end{tkzltxexample}
+
+\begin{tkzexample}[vbox]
+\begin{alterqcm}[lq=8cm,numprop=true,sep]
+\AQquestion{Among the figures opposite, indicate the one that is a rhombus. :}
+{{\hspace{1cm} \begin{minipage}{5cm} \begin{tikzpicture}
+ \draw (0,0)--(1.5,0)--(2,1)--(.5,1)--cycle;
+\end{tikzpicture} \end{minipage}},
+{\hspace{1cm} \begin{minipage}{5cm} \begin{tikzpicture}
+ \draw[rotate=30] (0,0) rectangle (1.5,1); \end{tikzpicture} \end{minipage}},
+{\hspace{1cm} \begin{minipage}{5cm} \begin{tikzpicture}
+ \draw (0,0) rectangle (1,1); \end{tikzpicture} \end{minipage} }}
+\end{alterqcm}
+\end{tkzexample}
+
+\subsection{Use of a \tkzname{array} environment in the proposals}
+\Ienv{array}
+
+It is possible to use tables and other structures in the question code or proposals. An example is shown below:
+
+\medskip
+
+
+\begin{tkzexample}[vbox]
+\begin{alterqcm}[lq=88mm,symb=$\Box$]
+\AQquestion{The couple $(1~;~-1)$ is a solution of }
+{%
+{$ \left\lbrace
+\begin{array}{ll}
+ 0,75a + 0,5b &= 0,25 \\
+ 0,25a + 0,5b &=-0,25
+\end{array}\right.$},
+{$ \left\{
+\begin{array}{ll}
+ a &= 0,75a +0,5b \\
+ b &= 0,25a +0,5b
+\end{array}\right.$},
+{$ \left\lbrace
+\begin{array}{ll}
+ 0,75a - 0,5b &= 0,25 \\
+ 0,5a + 0,25b &=-0,25
+\end{array}\right.$}
+}
+\end{alterqcm}\end{tkzexample}
+
+
+\subsection{Use of code \tkzname{verbatim} in questions and proposals}
+\Ienv{verbatim}
+
+Here is an example from Pascal Bertolino. It is preferable to use as Pascal did the macro \tkzcname{texttt}, otherwise avoid the use of the mode
+|verbatim|. We will see on the next page how to proceed if this mode is really necessary.
+
+\begin{alterqcm}[lq=80mm,title=false,long]
+
+%--------------------------------------------------------------
+\AQquestion{What was the precursor language of the C language?}
+{{Fortran},
+ {Language B},
+ {Basic}}
+
+%--------------------------------------------------------------
+\verbdef\argprop|int a = 3 ^ 4 ;|
+\AQquestion{\argprop}
+{{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not a C}}
+
+%--------------------------------------------------------------
+\AQquestion{What is the correct syntax to shift the integer 8 bits to the left? \texttt{a} ?}
+{{\texttt{b = lshift(a, 8) ;}},
+ {\texttt{b = 8 << a ;}},
+ {\texttt{b = a << 8 ;}}}
+%--------------------------------------------------------------
+\verbdef\argprop|{ printf ("hello") ; return 0 ; \}|
+\AQquestion{The complete program: \\
+\texttt{int main() \\
+~~\argprop}}
+{{displays \texttt{hello}},
+ {gives an error to the compilation},
+ {gives an error in execution}}
+%--------------------------------------------------------------
+\verbdef\arg|float tab[10]|
+\verbdef\propa|*tab|\global\let\propa\propa
+\verbdef\propb|&tab|\global\let\propb\propb
+\verbdef\propc|tab|\global\let\propc\propc
+\AQquestion{Let's say the declaration \arg ; \\The first real in the table is \ldots}
+{{\propa},
+ {\propb},
+ {\propc}}
+
+%--------------------------------------------------------------
+\AQquestion{The line \texttt{printf("\%c", argv[2][0]) ;}
+ of \texttt{main} of \texttt{monProg} run like this :
+\texttt{monProg parametre }}
+{{displays \texttt{p}},
+ {displays nothing},
+ {can cause a crash}}
+%--------------------------------------------------------------
+\AQquestion{What is the memory size of a \texttt{long int} ?}
+{{4 octets},
+ {8 octets},
+ {ça dépend \ldots}}
+%--------------------------------------------------------------
+\AQquestion{Following the declaration \texttt{int * i} ;}
+{{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}}
+%--------------------------------------------------------------
+\AQquestion{One of the following choices is not a standard C library}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+
+\end{alterqcm}
+
+\medskip
+Let's look at the source code
+
+the simplest way is often to use the command \tkzcname{texttt}
+
+\begin{tkzexample}[code only]
+ \AQquestion{Following the declaration \texttt{int * i} ;}
+ {{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}}
+\end{tkzexample}
+
+\begin{tkzexample}[code only]
+\AQquestion{The line \texttt{printf("\%c", argv[2][0]) ;}
+ of \texttt{main} of \texttt{monProg} run like this :
+\texttt{monProg parametre }}
+{{displays \texttt{p}},
+ {displays nothing},
+ {can cause a crash}}
+\end{tkzexample}
+
+Alternatively, we can load the \tkzname{verbdef} package:
+\tkzNamePack{verbdef}
+
+\tkzcname{usepackage\{verbdef\}}
+
+\begin{tkzexample}[code only]
+ \verbdef\argprop|int a = 3 ^ 4 ;|
+ \AQquestion{\argprop}
+ {{raises 3 to the power of 4},
+ {does an exclusive OR between 3 and 4},
+ {is not a C-instruction}}
+\end{tkzexample}
+
+More than one variable may be required:
+
+\begin{tkzexample}[code only]
+ \verbdef\arg|float tab[10]|
+ \verbdef\propa|*tab|\global\let\propa\propa
+ \verbdef\propb|&tab|\global\let\propb\propb
+ \verbdef\propc|tab|\global\let\propc\propc
+ \AQquestion{Either the declaration \arg ; \\
+ The first real in the table is \ldots}
+ {{\propa},
+ {\propb},
+ {\propc}}
+\end{tkzexample}
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-first.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-first.tex
new file mode 100644
index 0000000000..5a9cf2fdb6
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-first.tex
@@ -0,0 +1,67 @@
+\section{How to use: first example}
+
+You need to load the \NamePack{alterqcm.sty} with |\usepackage[english]{alterqcm}|, if you want to use the english language. With some languages like Greek or Chinese you need to compile with Xe\LaTeX\ otherwise you can compile with Lua\LaTeX\ or PDF\LaTeX\ .
+
+Just use an environment \tkzname{alterqcm} and the macro \tkzcname{AQquestion}, here is an example :
+
+
+ \noindent
+\begin{minipage}[c][][t]{.40\linewidth}
+\begin{tkzexample}[code only,small]
+ \documentclass[12pt]{article}
+ \usepackage[english]{alterqcm}
+ % or french ...
+ \usepackage{fullpage}
+ \parindent0pt
+ \begin{document}
+ \begin{alterqcm}
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+ \end{alterqcm}
+ \end{document}\end{tkzexample}
+\end{minipage}\hfill \noindent
+\begin{minipage}[c][][b]{.50\linewidth}
+\textbf{alterqcm.sty} creates a new environment \textbf{alterqcm} which allows for a two-column table. One column on the left for the questions, the other for the different proposals. The propositions are given in a list :
+
+\tkzname{\{\{Proposition 1\},\\\{Proposition 2\},\\\{Proposition 3\}\}}.
+
+ The number of propositions is between \tkzname{2} and \tkzname{5}.
+\end{minipage}
+
+\medskip
+The result is:
+
+\bigskip
+ \begin{alterqcm}
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}%
+ }
+ \end{alterqcm}
+
+\medskip
+ The total width of the array is equal to \tkzcname{textwidth}. By default the question column has the width \tkzname{100mm} plus a few millimeters ... introduced by the table. The width of the answers is equal to \tkzcname{textwidth} minus the width of the first column. \Imacro{textwidth}
+
+The important point is that the height of the lines in the proposals is calculated automatically so that, on the one hand, the text of the proposals is placed correctly without touching the lines and, on the other hand, the text of the corresponding question can be included in its box. Precise positioning is obtained with the option \tkzname{pq}.
+
+\subsection{Packages loaded by \tkzname{alterqcm.sty}}
+The list of loaded packages is as follows:
+
+\begin{tkzexample}[code only]
+ \RequirePackage{xkeyval}[2005/11/25]
+ \RequirePackage{calc}
+ \RequirePackage{ifthen,forloop}
+ \RequirePackage{array}
+ \RequirePackage{multirow}
+ \RequirePackage{pifont}
+\end{tkzexample}
+
+
+\tkzHandBomb\ You will need to load \tkzname{longtable.sty} if you wish to use the \tkzname{long} option for one of your arrays.
+
+\tkzHandBomb\ You also need the macro \tkzcname{square}, it is either defined in the package \tkzname{fourier} or in the package.
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-globales.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-globales.tex
new file mode 100644
index 0000000000..4c952a7fe3
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-globales.tex
@@ -0,0 +1,758 @@
+\section{Global Environment Options \tkzname{alterqcm}}
+
+\subsection{\tkzname{lq} : changing the width of the first column }
+\IoptEnv{alterqcm}{lq}
+
+\begin{alterqcm}[long,lq=110mm]
+\AQquestion{Of the following proposals, which one allows of
+ to assert that the exponential function admits for asymptote
+ the equation line $y = 0$ ?}
+{{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},
+{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}}
+
+\AQquestion{exp$(\ln x) = x$ for any $x$ belonging to }
+{{$\mathbb{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+\end{alterqcm}
+
+\medskip
+Let's look at the code needed to get this table. We need to place
+\tkzcname{usepackage}\{alterqcm\} in the preamble. Note that only the width of the question column is provided |lq=100mm| and that this is optional. The number of propositions is here \textbf{3} but it can vary from one question to another.
+
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[long,lq=110mm]
+ \AQquestion{Of the following proposals, which one allows of
+ to assert that the exponential function admits for asymptote
+ the equation line $y = 0$ ?}
+ {{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+ {$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},
+ {$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}}
+
+ \AQquestion[]{exp$(\ln x) = x$ for any $x$ belonging to }
+ {{$\mathbb{R}$},
+ {$\big]0~;~+ \infty\big[$},
+ {$\big[0~;~+\infty\big[$}
+ }
+ \end{alterqcm}\end{tkzexample}
+
+
+
+\subsection{\tkzname{pq} : global use }
+ \IoptEnv{alterqcm}{pq}
+
+This time, it is necessary to move several questions, I placed a pq=2mm globally, that is to say like this~:
+
+\tkzcname{begin\{alterqcm\}[lq=85mm,pq=2mm]}.
+
+\textbf{All} questions are affected by this option but some questions were well placed and should remain so, so locally I give them back a |pq=0mm|.
+
+\medskip
+\begin{alterqcm}[lq=85mm,pq=2mm]
+\AQquestion{A bivariate statistical series. The values of $x$ are 1, 2, 5, 7, 11, 13 and a least squares regression line equation of $y$ to $x$ is $y = 1.35x +22.8$. The coordinates of the mean point are :}
+{{$(6,5;30,575)$},
+{$(32,575 ; 6,5)$},
+{$(6,5 ; 31,575)$}}
+
+\AQquestion{For any real $x$, the number \[\dfrac{\text{e}^x - 1}{\text{e}^x + 2}\hskip12pt \text{equal to :} \] }
+{{$-\dfrac{1}{2}$},
+{$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$},
+{$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}
+}
+\AQquestion{With I $= \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{1}{\text{e}^x - 1}\,\text{d}x$ and J $ = \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{\text{e}^x}{\text{e}^x - 1}\,\text{d}x$ \\ then the number I $-$ J equals}
+{{$\ln \dfrac{2}{3}$},
+{$\ln \dfrac{3}{2}$},
+{$\dfrac{3}{2}$}
+}
+\end{alterqcm}
+
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[lq=85mm,pq=2mm]
+ \AQquestion{For any real $x$, the number \[\dfrac{\text{e}^x - 1}
+ {\text{e}^x + 2}\hskip12pt \text{equal to :} \] }
+ {{$-\dfrac{1}{2}$},
+ {$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$},
+ {$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}}
+ \end{alterqcm}
+\end{tkzexample}
+
+
+\subsection{\tkzname{TF} : True or False}
+\IoptEnv{alterqcm}{TF}
+V or F in french vrai ou faux !
+There are only two proposals and the candidate must choose between \textbf{True} or \textbf{False} ou bien si vous préférez \textbf{Correct} and \textbf{Wrong}. This time the syntax has been streamlined. It is no longer necessary to write the list of proposals and it is enough to position \tkzname{VF} by placing in the options \tkzname{$VF$}.
+
+
+\begin{minipage}[t][][b]{.45\linewidth}
+Let $f$ be a function defined and derivable on the interval $\big[-3~;~+\infty\big[$, increasing over the intervals $\big[-3~;~-1\big]$ et $\big[2~;~+\infty\big[$ and decreasing over the interval $\big[-1~;~2\big]$.
+
+ We note $f'$ its derivative function over the interval $[-3~;~+\infty[$.
+
+The $\Gamma$ curve representative of the $f$ function is plotted below in an orthogonal coordinate system $\big(O,~\vec{\imath},~\vec{\jmath}\big)$.
+
+It passes through point A$(-3~;~0)$ and admits for asymptote the $\Delta$ line of equation $y = 2x -5$.
+\end{minipage}
+\hfill
+\begin{minipage}[t][][b]{.45\linewidth}
+\null
+\begin{tikzpicture}[scale=0.5,>=latex]
+ \draw[very thin,color=gray] (-3,-2) grid (10,8);
+ \draw[->] (-3,0) -- (10,0) node[above left] {\small $x$};
+ \foreach \x in {-3,-2,-1,1,2,...,9}
+ \draw[shift={(\x,0)}] (0pt,1pt) -- (0pt,-1pt)node[below] { $\x$};
+ \draw[->] (0,-2) -- (0,8) node[below right] {\small $y$};
+ \foreach \y/\ytext in {-2,-1,1,2,...,7}
+ \draw[shift={(0,\y)}] (1pt,0pt) -- (-1pt,0pt) node[left] { $\y$};
+ \draw (2,-1) -- (6,7);
+ \node[above right] at (-3,0) {\textbf{A}};
+ \node[above right] at (0,0) {\textbf{O}};
+ \node[below right] at (4,3) {$\mathbf{\Delta}$};
+ \node[above right] at (4,5) {$\mathbf{\Gamma}$};
+ \draw plot[smooth] coordinates{%
+ (-3,0)(-2,4.5)(-1,6.5)(0,5.5)(1,3.5)(2,3)(3,3.4)(4,4.5)(5,6)(6,7.75)};
+\end{tikzpicture}
+\end{minipage}
+
+
+\begin{alterqcm}[VF,lq=125mm]
+ \AQquestion{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion{The $F$ function has a maximum in $2$}
+ \AQquestion{$\displaystyle\int_{0}^2 f'(x)\,\text{d}x = - 2$}
+\end{alterqcm}
+
+\begin{tkzexample}[code only, small]
+ \begin{minipage}[t][][b]{.45\linewidth}
+ Let $f$ be a function defined and derivable on the interval $\big[-3~;~+\infty\big[$,
+ increasing over the interval $\big[-3~;~-1\big]$ and $\big[2~;~+\infty\big[$
+ and decreasing over the interval $\big[-1~;~2\big]$.
+
+ We note $f'$ its derivative function over the interval $[-3~;~+\infty[$.
+
+ The $\Gamma$ curve representative of the $f$ function is plotted below
+ in an orthogonal system $\big(O,~\with{\imath},~\jmath}\big)$.
+
+ It passes through the point A$(-3~;~0)$ and admits for asymptote the line
+ $\Delta$ of equation $y = 2x -5$.
+ \end{minipage}
+ \begin{minipage}[t][][b]{.45\linewidth}
+ \null
+\begin{tikzpicture}[scale=0.5,>=latex]
+ \draw[very thin,color=gray] (-3,-2) grid (10,8);
+ \draw[->] (-3,0) -- (10,0) node[above left] {\small $x$};
+ \foreach \x in {-3,-2,-1,1,2,...,9}
+ \draw[shift={(\x,0)}] (0pt,1pt) -- (0pt,-1pt)node[below] { $\x$};
+ \draw[->] (0,-2) -- (0,8) node[below right] {\small $y$};
+ \foreach \y/\ytext in {-2,-1,1,2,...,8}
+ \draw[shift={(0,\y)}] (1pt,0pt) -- (-1pt,0pt) node[left] { $\y$};
+ \draw (-0.5,-2) -- (10,8);
+ \node[above right] at (-3,0) {\textbf{A}};
+ \node[above right] at (0,0) {\textbf{O}};
+ \node[below right] at (4,3) {$\mathbf{\Delta}$};
+ \node[above right] at (4,5) {$\mathbf{\Gamma}$};
+ \draw plot[smooth] coordinates{%
+ (-3,0)(-2,4.5)(-1,6.5)(0,5.5)(1,3.5)(2,3)(3,3.4)(4,4.5)(5,6)(6,7.75)};
+ \end{tikzpicture}
+ \end{minipage}
+ \begin{alterqcm}[VF,lq=125mm]
+ \AQquestion{For all $x \in ]-\infty~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion{The $F$ function has a maximum in $2$}
+ \AQquestion{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+\end{tkzexample}
+
+\subsection{\tkzname{symb} : symbol change }
+\IoptEnv{alterqcm}{symb}
+
+ If your fonts don't have the symbol |$\square$| or |$\blacksquare$| you can use the one provided by the package or create one yourself. \tkzcname{altersquare}, \tkzcname{dingsquare} and \tkzcname{dingchecksquare} are provided by alterqcm.
+ Here is how these macros are defined.
+
+\begin{tkzexample}[code only,small]
+ \newcommand*{\altersquare}{\mbox{\vbox{\hrule\hbox to 6pt{\vrule height 5.2pt \hfil\vrule}\hrule}}}\end{tkzexample}
+
+\medskip you either get \altersquare\ or... :
+
+\begin{tkzexample}[code only,small]
+ \newcommand*{\dingsquare}{\ding{114}} \end{tkzexample}
+
+\medskip which results in \dingsquare\ and finally to replace |$\blacksquare$|
+
+\begin{tkzexample}[code only,small]
+ \newcommand*{\dingchecksquare}{\mbox{\ding{114}%
+ \hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}} \end{tkzexample}
+
+\medskip Let it be \dingchecksquare\ as a result.
+
+
+\begin{tkzexample}[code only,small]
+
+ \begin{alterqcm}[lq=90mm,symb=\altersquare]
+ ... \end{alterqcm}\end{tkzexample}
+
+\medskip
+Full example :
+
+\medskip
+\begin{tkzexample}[vbox]
+ \begin{alterqcm}[VF,lq=125mm,symb = \dingsquare]
+ \AQquestion{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion{The $F$ function has a maximum in $2$}
+ \AQquestion{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}\end{tkzexample}
+
+
+\subsection{\tkzname{pre, bonus, malus} : automatic presentation }
+\IoptEnv{alterqcm}{pre}\IoptEnv{alterqcm}{bonus}\IoptEnv{alterqcm}{malus}
+As you can see below, a presentation is given of the exercise with the grading.
+
+\bigskip
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[lq=6cm,pre=true,bonus=1,malus={0,5}]
+ \AQquestion{Question}
+ {{Proposition 1},
+ {Proposition 2}}
+ \end{alterqcm}\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq=3cm,pre=true,bonus=1,malus={0,5}]
+ \AQquestion{Question}
+ {{Proposition 1},
+ {Proposition 2}}
+ \end{alterqcm}
+\end{minipage}
+
+\vspace{1cm}
+
+\subsection{\tkzname{sep} : rule between proposals}
+\IoptEnv{alterqcm}{sep}
+
+\tkzname{sep=true} creates a rule between the proposals.
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[lq=3cm,sep=true]
+ \AQquestion{Question}
+ etc..
+\end{alterqcm}\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq=3cm,sep=true]
+ \AQquestion{Question}
+ {{Proposition 1},
+ {Proposition 2}}
+ \end{alterqcm}
+\end{minipage}
+
+\subsection{\tkzname{num, numstyle} : deletion and style of numbering }
+\IoptEnv{alterqcm}{num}\IoptEnv{alterqcm}{numstyle}
+\subsubsection{\tkzname{num=false}}
+\tkzname{num=false} makes the numbering of the questions disappear.
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only, small]
+ \begin{alterqcm}[lq=3cm,num=false]
+ \AQquestion{Question}
+ etc...
+ \end{alterqcm}
+\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq=3cm,num=false]
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2}}
+ \end{alterqcm}
+\end{minipage}
+
+\subsubsection{\tkzname{numstyle}}
+
+\tkzname{numstyle}=\tkzcname{alph} changes the style of question numbering. The usual styles are valid here.
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only, small]
+ \begin{alterqcm}[lq=3cm,numstyle=\alph]
+ \AQquestion{Question}
+ etc...
+ \end{alterqcm}
+\end{tkzexample}
+\end{minipage}
+\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq=3cm,numstyle=\alph]
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2}}
+ \end{alterqcm}
+\end{minipage}
+
+\subsection{\tkzname{title, tone, ttwo} : deletion and modification of the title line }
+\IoptEnv{alterqcm}{title}\IoptEnv{alterqcm}{tone}\IoptEnv{alterqcm}{ttwo}
+
+\tkzname{title=false} deletes the column headings.
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only,vbox]
+ \begin{alterqcm}[lq=3cm,title=false]
+ \AQquestion{Question}
+ etc...
+ \end{alterqcm}\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq=3cm,title=false]
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2}%
+ }
+ \end{alterqcm}
+\end{minipage}
+
+
+\medskip
+\tkzname{tone=titre n°1} and \tkzname{ttwo=titre n°2} change the table headers
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only]
+ \begin{alterqcm}[lq=3cm,tone=titre n°1,ttwo=titre n°2]
+ \AQquestion{Question}
+ etc...
+ \end{alterqcm}\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq = 3cm,tone = titre n°1,ttwo = titre n°2]
+ \AQquestion{Question}
+ {{Proposition 1},
+ {Proposition 2}
+ }
+ \end{alterqcm}
+\end{minipage}
+
+\subsection{\tkzname{noquare} : square suppression }
+\IoptEnv{alterqcm}{nosquare}
+
+\tkzname{nosquare=true} fait disparaître le carré ou encore la numérotation des propositions.
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[lq=3cm,nosquare=true]
+ \AQquestion{Question}
+ etc...
+ \end{alterqcm}\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}[lq=3cm,nosquare=true]
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2}
+ }
+ \end{alterqcm}
+\end{minipage}
+
+\medskip
+\tkzname{numprop=true} number the proposals and \tkzname{propstyle= ...} changes the numbering style.
+
+Default, \tkzname{propstyle=\textbackslash alph}
+
+\begin{minipage}[c][][t]{.45\linewidth}
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[lq=3cm,numprop = true,propstyle = \Roman]
+ \AQquestion{Question}
+ etc...
+ \end{alterqcm}\end{tkzexample}
+\end{minipage}\hfill
+\begin{minipage}[c][][t]{.45\linewidth}
+ \begin{alterqcm}%
+ [lq=3cm,
+ numprop = true,
+ propstyle = \Roman]
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2}%
+ }
+ \end{alterqcm}
+\end{minipage}
+
+\subsection{\tkzname{alea} : random positioning of proposals }
+\IoptEnv{alterqcm}{alea}
+
+It is preferable between two compilations to delete the auxiliary files.
+
+\textcolor{red}{\lefthand} Be careful, in random mode, it is not possible to obtain an answer corresponding to the initial assignment.
+
+\begin{tkzexample}[small]
+ \begin{alterqcm}[lq=55mm,alea]
+ \AQquestion[pq=1mm]{If the $f$ function is strictly increasing on $\mathbf{R}$ then the equation $f(x) = $0 admits :}
+ {{At least one solution},%
+ {At most one solution},%
+ {Exactly one solution}}
+ \end{alterqcm}
+\end{tkzexample}
+
+\subsection{\tkzname{english}, \tkzname{german}, \tkzname{greek}, \tkzname{italian}, \tkzname{russian}, \tkzname{chinese}\ and \tkzname{unknown} : language change }
+\IoptEnv{alterqcm}{english}\IoptEnv{alterqcm}{german}\IoptEnv{alterqcm}{french}
+
+The order given above is that of creation.
+Thanks to Apostolos Syropoulos and Anastasios Dimou for enabling the use of Greek language.
+
+ \begin{tkzexample}[code only,small]
+ \begin{alterqcm}[language=french,lq=55mm,alea]
+ \end{tkzexample}
+
+ \begin{alterqcm}[language=french,lq=55mm,alea]
+ \AQquestion[pq=1mm]{If the $f$ function is strictly increasing on $\mathbf{R}$
+ then the equation equation $f(x) = $0 admits...}
+ {{At least one solution},%
+ {At most one solution},%
+ {Exactly one solution}}
+ \end{alterqcm}
+
+ \begin{tkzexample}[code only,small]
+ \begin{alterqcm}[language=german,lq=55mm,alea] \end{tkzexample}
+
+\begin{alterqcm}[language=german,lq=55mm,alea]
+\AQquestion[pq=1mm]{Wenn die Funktion $f$ %
+ auf $\mathbf{R}$ streng monoton wächst, dann
+hat die Gleichung $f(x) = 0$:}
+{{mindestens ein Lösung},%
+{höchstens eine Lösung},%
+{genau eine Lösung}}
+\end{alterqcm}
+
+
+\begin{alterqcm}[language=chinese,VF,lq=125mm,symb = \dingsquare,pre=true]
+\def\aq@pre{对于以下提出的各个问题,仅有一个答案是正确的,请选择你认为正确的答案(不需要提供理由)。}
+ \AQquestion{$x \in ]-3~;~2]$的情形下,$f'(x) \geq 0$。}
+ \AQquestion{$F$ 函数的最大值为$2$。}
+ \AQquestion{$\displaystyle\int_{0}^2 f’(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{alterqcm}[language=chinese,pre=true]
+ \AQquestion{问题}{%
+ {选择1},
+ {选择2},
+ {选择3}}
+ \end{alterqcm}
+
+
+There's a section devoted solely to the "greek" option.
+
+
+How to use \tkzname{unknown} : You need to call the package with the option "unknown" then yo need to redefine some macros.
+
+\begin{tkzexample}[code only,small]
+\usepackage[unknown]{alterqcm}
+% userdefined language: unknown=spanish
+\def\aqlabelforquest{Preguntas}%
+\def\aqlabelforrep{Respuestas}%
+\def\aqtextfortrue{\textbf{V}}
+\def\aqtextforfalse{\textbf{F}}
+\def\txttv{V}% V(erdadero)
+\def\txttf{F}% F(also)
+\def\aqfoottext{Continúa en la página siguiente\dots}
+\def\aqpretxt{\vspace*{6pt}Para cada una de las preguntas siguientes, sólo una de las respuestas propuestas es verdadera. Debe elegir la respuesta correcta sin justificación.}%
+\def\aqpretxtVF{Para cada una de las afirmaciones de abajo, marque la casilla \textbf{V} (la afirmación es verdadera) o la casilla \textbf{F} (la afirmación es falsa).}%
+
+\begin{alterqcm}[language=unknown]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+ \end{tkzexample}
+\begingroup
+\def\aqlabelforquest{Preguntas}%
+\def\aqlabelforrep{Respuestas}%
+\def\aqtextfortrue{\textbf{V}}
+\def\aqtextforfalse{\textbf{F}}
+\def\txttv{V}% V(erdadero)
+\def\txttf{F}% F(also)
+\def\aqfoottext{Continúa en la página siguiente\dots}
+\def\aqpretxt{\vspace*{6pt}Para cada una de las preguntas siguientes, sólo una de las respuestas propuestas es verdadera. Debe elegir la respuesta correcta sin justificación.}%
+\def\aqpretxtVF{Para cada una de las afirmaciones de abajo, marque la casilla \textbf{V} (la afirmación es verdadera) o la casilla \textbf{F} (la afirmación es falsa).}%
+
+ \begin{alterqcm}[language=unknown]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+ \end{alterqcm}
+ \endgroup
+
+
+\newpage
+\subsection{\tkzname{long} : use of longtable}
+\IoptEnv{alterqcm}{long}\Ienv{longtable}
+
+A table can arrive at the end of the page and be cut or simply be very long.
+This option allows you to use instead of a \tkzname{tabular} an environnement \tkzname{longtable}.
+
+
+Here is an example from Pascal Bertolino.
+
+\begin{alterqcm}[lq=80mm,long]
+
+%--------------------------------------------------------------
+\AQquestion{What was the precursor language of the C language?}
+{{Fortran},
+ {language B},
+ {Basic}}
+
+%--------------------------------------------------------------
+\verbdef\argprop|int a = 3 ^ 4 ;|
+\AQquestion{\argprop}
+{{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not a C}}
+
+%--------------------------------------------------------------
+\AQquestion{What is the correct syntax to shift the integer 8 bits to the left? \texttt{a} ?}
+{{\texttt{b = lshift(a, 8) ;}},
+ {\texttt{b = 8 << a ;}},
+ {\texttt{b = a << 8 ;}}}
+
+%--------------------------------------------------------------
+\verbdef\argprop|{ printf ("hello") ; return 0 ; \}|
+\AQquestion{The complete program : \\
+ \texttt{int main() \\
+ ~~\argprop}}
+{{display \texttt{hello}},
+ {gives an error to the compilation},
+ {gives an error in execution}}
+
+%--------------------------------------------------------------
+\verbdef\arg|float tab[10]|
+\verbdef\propa|*tab|\global\let\propa\propa
+\verbdef\propb|&tab|\global\let\propb\propb
+\verbdef\propc|tab|\global\let\propc\propc
+\AQquestion{Let's say the statement \arg ; \\The first real in the table is \ldots}
+{{\propa},
+ {\propb},
+ {\propc}}
+
+%--------------------------------------------------------------
+\AQquestion{The line \texttt{printf("\%c", argv[2][0]) ;} of \texttt{main} of \texttt{monProg} run like this :
+\texttt{monProg parametre }}
+{{displays \texttt{p}},
+ {displays nothing},
+ {can cause a crash}}
+%--------------------------------------------------------------
+\AQquestion{What is the memory size of a \texttt{long int} ?}
+{{4 octets},
+ {8 octets},
+ {it depends \ldots}}
+%--------------------------------------------------------------
+\AQquestion{Following the declaration \texttt{int * i} ;}
+{{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}}
+%--------------------------------------------------------------
+\AQquestion{One of the following choices is not a standard library of the C}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+ %--------------------------------------------------------------
+\end{alterqcm}
+
+The beginning of the code is simply
+
+\begin{tkzltxexample}[small]
+ \begin{alterqcm}[lq=80mm,long]
+ \AQquestion{What was the precursor language of the C language?}
+ {{Fortran},
+ {language B},
+ {Basic}}
+ \end{alterqcm}
+\end{tkzltxexample}
+
+\medskip
+It is possible to modify the text that is placed at the end of the table. Just modify the command \tkzcname{aqfoottext}.
+
+\begin{tkzltxexample}[small]
+ \def\aqfoottext{continued on next page\ldots}
+\end{tkzltxexample}
+
+\subsection{\tkzname{numbreak} : split a mcq }
+This option allows either to continue the numbering of the previous table.
+This option was necessary before the use of the \tkzname{long} option.
+ for tables split by a page break. It can now be used
+ for a series of tables grouped together to obtain a single MCQ.
+
+\begin{alterqcm}[lq=80mm,title=false,num=false,long]
+ \AQquestion{What was the precursor language of the C language?}
+ {{Fortran},
+ {language B},
+ {Basic}}
+
+\verbdef\argprop|int a = 3 ^ 4 ;|
+\AQquestion{\argprop}
+ {{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not a C-instruction}}
+\end{alterqcm}
+
+\begin{alterqcm}[lq=80mm,title=false,num=false,numbreak=2,long]
+\AQquestion{After the declaration \texttt{int * i} ;}
+{{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}}
+
+\AQquestion{One of the following choices is not a standard C library}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+\end{alterqcm}
+
+the code for the beginning is :
+
+\begin{tkzltxexample}[small]
+ \begin{alterqcm}[lq=80mm,title=false,num=false,long]
+ \AQquestion{What was the precursor language of the C language?}
+ {{Fortran},
+ {language B},
+ {Basic}}
+
+ \verbdef\argprop|int a = 3 ^ 4 ;|
+ \AQquestion{\argprop}
+ {{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not a C-instruction}}
+ \end{alterqcm}
+\end{tkzltxexample}
+
+For the second part, we set \tkzname{numbreak} to $2$ because the first board had $2$ questions. In a future version, we will not have to count the questions anymore.
+
+\begin{tkzltxexample}[small]
+ \begin{alterqcm}[lq=80mm,title=false,num=false,numbreak=2,long]
+ \AQquestion{Following the declaration \texttt{int * i} ;}
+ {{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}}
+
+ \AQquestion{One of the following choices is not a standard C library}
+ {{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+ \end{alterqcm}
+\end{tkzltxexample}
+
+\subsection{\tkzname{correction} : Correction of a mcq}
+ \IoptEnv{alterqcm}{correction}
+
+ It is possible to create an answer key by using the \tkzname{correction} option and indicating the correct answer(s) using a local parameter \tkzname{br}.
+ Here is an example:
+
+ \begin{alterqcm}[VF,lq=125mm,correction,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br=2]{The $F$ function has a maximum in $2$}
+ \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{tkzltxexample}[]
+ \begin{alterqcm}[VF,lq=125mm,correction,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br=2]{The $F$ function has a maximum in $2$}
+ \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+\end{tkzltxexample}
+
+\subsection{Modification du symbole \tkzname{corsymb}}
+ \IoptEnv{alterqcm}{corsymb}
+
+\tkzcname{dingchecksquare} is provided by alterqcm.
+ Here is how this macro is defined.
+
+\begin{tkzexample}[code only,small]
+ \newcommand*{\dingchecksquare}{\mbox{\ding{114}%
+ \hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}} \end{tkzexample}
+
+\medskip Let's consider checksquare as a result.
+
+\begin{tkzexample}[code only,small]
+ \begin{alterqcm}[lq=90mm,symb=\altersquare,corsymb=\dingchecksquare]
+ ...
+ \end{alterqcm}
+\end{tkzexample}
+
+\medskip
+Full example :
+
+\medskip
+ \begin{alterqcm}[VF,lq=125mm,correction,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br=2]{The $F$ function has a maximum in $2$}
+ \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+
+\begin{tkzexample}[code only]
+ \begin{alterqcm}[VF,lq=125mm,correction,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br=1]{For any $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br=2]{The $F$ function has a maximum in $2$}
+ \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+\end{tkzexample}
+
+\subsection{\tkzname{br=\{\ldots\}} : corrected with several correct answers}
+\Iopt{AQquestion}{br}
+
+A list of correct answers is given
+\begin{tkzexample}[vbox,small]
+\begin{alterqcm}[correction]
+\AQquestion[br={1,3}]{Question}
+{%
+{Proposition 1},
+{Proposition 2},
+{Proposition 3}%
+}
+\end{alterqcm}
+\end{tkzexample}
+
+\subsection{\tkzname{transparent} : creation of a transparent slide showing the answers.}
+ \IoptEnv{alterqcm}{transparent}
+
+ This macro makes it possible to create a document identical to the original but without the questions and with a circle indicating the good proposals.
+
+ \begin{tkzexample}[vbox,small]
+ \begin{alterqcm}[transparent,correction,corsymb=\dingchecksquare,lq=100mm]
+ \AQquestion[br=2,pq=3mm]{Which of the following proposals is that
+ which allows us to affirm that the exponential function admits for asymptote the equation line $y = 0$ ?}
+ {{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$},
+ {$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+ {$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$}
+ }
+
+ \AQquestion[br={1,3}]{exp$(\ln x) = x$ for any $x$ belonging to }
+ {{$\mathbf{R}$},
+ {$\big]0~;~+ \infty\big[$},
+ {$\big[0~;~+\infty\big[$}
+ }
+
+ \AQquestion[br={1,2}]{exp$(\ln x) = x$ for any $x$ belonging to }
+ {{$\mathbf{R}$},
+ {$\big]0~;~+ \infty\big[$},
+ {$\big[0~;~+\infty\big[$}
+ }\AQquestion[br=2,pq=3mm]{Which of the following proposals is that
+ which allows us to affirm that the exponential function admits for asymptote
+ the equation line $y = 0$ ?}
+ {{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$},
+ {$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+ {$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$}
+ }
+ \end{alterqcm}
+\end{tkzexample}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-greek.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-greek.tex
new file mode 100644
index 0000000000..598a22c3e1
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-greek.tex
@@ -0,0 +1,53 @@
+\section{Greek version [Apostolos Syropoulos \& Anastasios Dimou]}
+
+\subsection{Εισαγωγή}
+Ο Alain Matthes μας έχει συνηθίσει σε ενδιαφέροντα πακέτα για το \LaTeX\ , που είναι μάλιστα πολύ σχετικά με τα δικά μας προγράμματα, το στυλ και το ύφος τους. Ένα τέτοιο παράδειγμα είναι και το \texttt{tkz-tab}, που παρουσιάστηκε πέρυσι στο \texttt{https://tassosdimou.gr/variation-table}.
+
+Το πακέτο \textsf{alterqcm} είναι ακόμη ένα πακέτο του Alain Matthes για το \LaTeX\, που θα μας βοηθήσει στη κατασκευή καλαίσθητων διαγωνισμάτων με ερωτήσεις πολλαπλής επιλογής και σωστού-λάθους.
+
+Το \textsf{alterqcm} τροποποιήθηκε από τους Απόστολο Συρόπουλο και Τάσσο Δήμου έτσι, ώστε να προσαρμοστεί στα δεδομένα του ελληνικού εκπαιδευτικού συστήματος.
+
+ Το άρθρο αναπτύσσει με λεπτομέρειες και πολλά παραδείγματα τις δυνατότητες του \textsf{alterqcm}. Δίνει οδηγίες για τη χρήση του και στο τέλος θα δοθούν μερικά παραδείγματα διαγωνισμάτων.
+
+\subsection{Εγκατάσταση του πακέτου}
+Θα υποδείξουμε έναν απλό τρόπο εγκατάστασης του πακέτου. Δημιουργούμε ένα φάκελο, στον οποίο θα αποθηκευτούν όλα τα αρχεία, που θα επεξεργαστούμε, μελετώντας το \textsf{alterqcm}. Με άλλα λόγια, στον φάκελο αυτόν αποθηκεύουμε τα αρχεία \texttt{.tex}, τις εικόνες που θα χρησιμοποιηθούν και το αρχείο \texttt{alterqcm.sty}, που θα κατεβάσουμε από τη διεύθυνση \texttt{https://ctan.org/pkg/alterqcm?lang=en}. Το πακέτο θα φορτωθεί με την επιλογή \texttt{greek}, δηλαδή θα δώσουμε την εντολή:
+\begin{verbatim}
+\usepackage[greek]{alterqcm}
+\end{verbatim}
+Όλα τα αρχεία θα έχουν την κλασσική δομή των αρχείων \texttt{.tex}.
+
+Στο πρώτο μέρος, το προοίμιο, θα τοποθετήσουμε τα:
+\begin{verbatim}
+\documentclass[11pt,a4paper]{article}
+\usepackage{xltxtra}
+\usepackage{xgreek}
+\usepackage{mathtools}
+\usepackage{amsthm}
+\usepackage{amssymb}
+\usepackage{unicode-math}
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[greek]{alterqcm}
+\usepackage{tkz-tab}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\parindent=0pt
+\setmainfont[Mapping=tex-text,Ligatures=Common]{Minion Pro}
+\setmathfont[Scale=MatchUppercase]{Asana Math}
+\end{verbatim}
+
+Apostolos Syropoulos, and Anastasios Dimou
+
+\begin{alterqcm}
+ \AQquestion{Ερώτηση}{%
+ {Επιλογή 1},
+ {Επιλογή 2},
+ {Επιλογή 3}
+ }
+ \end{alterqcm}
+
+ \begin{alterqcm}[language=greek,VF,lq=60mm]
+ \AQquestion[]{Ισχύει ότι $(α+β)^2=α^2+β^2$}
+ \AQquestion[]{Αν $α\cdot β\geq 0$, τότε $\sqrt{α\cdot β}=\sqrt{α}\cdot\sqrt{β}$ }
+ \AQquestion[]{Είναι $|α|=α,\,\text{για κάθε}\
+ x\in\mathbb{R}$}
+ \end{alterqcm} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-installation.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-installation.tex
new file mode 100644
index 0000000000..192d63a7e8
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-installation.tex
@@ -0,0 +1,57 @@
+\section{Installation}
+
+\subsection{Without \tkzNameDist{TeXlive} or \tkzNameDist{MikTeX}}
+Create a folder and put your files, images and the \tkzname{alterqcm.sty} file in it. All you have to do is compile ...
+
+\subsection{With \tkzNameDist{TeXlive} on \tkzNameSys{Linux} or \tkzNameSys{OS X}}
+
+\tkzname{alterqcm} is present on the \tkzname{CTAN} servers and is part of \tkzname{TeXLive} so \tkzname{tlmgr} or \tkzname{TeX Live Utility} will allow you to install it. If \tkzname{alterqcm} is not yet part of your distribution, this section shows you how to install it, it is also necessary if you want to install a beta or custom version of \tkzname{alterqcm}.
+
+The easiest way is to create a folder \tikz[remember picture,baseline=(n1.base)]\node [fill=blue!30,draw] (n1) {prof};\footnote{or another name} with as path: \colorbox{blue!20}{ texmf/tex/latex/prof}. Here are the paths to this folder on both my computers:
+
+\medskip
+\begin{itemize}\setlength{\itemsep}{5pt}
+
+\item with \tkzNameSys{OS X} \colorbox{blue!30}{\textbf{/Users/ego/Library/texmf}};
+
+\item with \tkzNameSys{OUnbuntu} \colorbox{blue!30}{\textbf{/home/ego/texmf}}.
+\end{itemize}
+
+I guess if you put your packages somewhere else, you know why! The concept is to place the package on a path that your distribution knows.
+
+
+\medskip
+\begin{enumerate}
+\item Download the file \tikz[remember picture,baseline=(n2.base)]\node [fill=blue!20,draw] (n2) {alterqcm.sty}; from one of the servers of the \tkzname{CTAN}.
+
+\item Place the file \tikz[remember picture,baseline=(n2.base)]\node [fill=blue!20,draw] (n2) {alterqcm.sty}; in the folder \tkzname{latex} or in a personal folder \tikz[baseline=(tk.base)]\node [fill=blue!30,draw] (tk) {prof};.
+\begin{itemize}\setlength{\itemsep}{5pt}
+
+\item \colorbox{blue!30}{\textbf{\textasciitilde/Library/texmf/latex}};
+
+\item \colorbox{blue!30}{\textbf{\textasciitilde/Library/texmf/latex/prof}}.
+\end{itemize}
+
+\end{enumerate}
+
+
+\subsection{With \tkzNameDist{MikTeX} under \tkzNameSys{Windows XP}}
+
+
+I don't know much about this system, but a user of my packages \tkzimp{Wolfgang Buechel} was kind enough to send me the following~:
+
+To add \tkzname{alterqcm.sty} to MiKTeX~:
+
+\begin{itemize}\setlength{\itemsep}{10pt}
+ \item add a folder \tkzname{prof} to the folder
+ \textcolor{blue!60!black}{\texttt{[MiKTeX-dir]/tex/latex}}
+ \item copy the file \tkzname{alterqcm.sty} to the folder \tkzname{prof},
+ \item update MiKTeX, to do this in the DOS shell run the command \textbf{\textcolor{red}{|mktexlsr -u|}}
+
+ or choose \textcolor{red!50}{|Start/Programs/Miktex/Settings/General|}
+
+ then press the \textbf{\textcolor{red}{|Refresh FNDB|}}.
+\end{itemize}
+
+\endinput
+
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-locales.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-locales.tex
new file mode 100644
index 0000000000..63aa4ee13b
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-locales.tex
@@ -0,0 +1,130 @@
+\section{Local options of the macro \tkzcname{AQquestion}}
+
+\subsection{Local use of \tkzname{pq}}
+\Iopt{AQquestion}{pq}
+ The following table is obtained with the options |lq=85mm| and |size=\wide|. The questions are misplaced. The local option \tkzname{pq} solves this problem, the text can be moved 1mm upwards with \tkzcname{AQquestion[pq=1mm]}.
+ and by |6mm| for the second.
+
+\medskip
+
+
+ \begin{alterqcm}[lq=55mm,size=\large]
+
+\AQquestion{If the function $f$ is strictly increasing on $\mathbf{R}$ then the equation $f(x) = 0$ admits :}
+{{At least one solution},
+[At most one solution],
+{Exactly one solution}
+}
+\AQquestion{If the $f$ function is continuous and positive on $[a~ ;~ b]$ and $\mathcal{C}_{f}$ its representative curve in an orthogonal system. In units of area, the area $\mathcal{A}$ of the domain delimited by $\mathcal{C}_{f}$, the abscissa axis and the lines of equations $x = a$ 5 and $x = b$ is given by the formula : }
+{%
+{$\mathcal{A}= \displaystyle \int_{b}^a f(x)\ \text{d}x$},
+{$\mathcal{A}= \displaystyle \int_{a}^b f(x)\ \text{d}x$},
+{$\mathcal{A} = f(b) - f(a)$}}
+\end{alterqcm}
+
+\medskip
+\tkzname{Here is the corrected version}
+
+\begin{alterqcm}[lq=55mm,size=\large]
+\AQquestion[pq=1mm]{If the $f$ function is strictly increasing on
+$\mathbf{R}$ then the equation $f(x) = 0$ admits...}
+{{At least one solution},
+{At most one solution},
+{Exactly one solution}
+}
+\AQquestion[pq=6mm]{If the $f$ function is continuous and positive on $[a~ ;~ b]$
+ and $\mathcal{C}_{f}$ its representative curve in an orthogonal system.
+ In area units, the $\mathcal{A}$ area of the domain delimited by $\mathcal{C}_{f}$, the abscissa axis and the lines of equations $x = a$ and $x = b$ is given by the formula: }
+{{$\mathcal{A}= \displaystyle \int_{b}^a f(x)\ \text{d}x$},
+{$\mathcal{A}= \displaystyle \int_{a}^b f(x)\ \text{d}x$},
+{$\mathcal{A} = f(b) - f(a)$}
+}
+\end{alterqcm}
+
+\medskip
+\begin{tkzexample}[code only, small]
+ \begin{alterqcm}[lq=55mm,size=\large]
+ \AQquestion[pq=1mm]{If the $f$ function is strictly increasing on $\mathbf{R}$
+ then the equation $f(x) =0 $ admits...
+ {{{At least one solution},
+ [At most one solution],
+ {Exactly one solution}}
+\end{tkzexample}
+
+\medskip
+\begin{tkzexample}[code only, small]
+ \AQquestion[pq=6mm]{If the $f$ function is continuous and positive on $[a~ ;~ b]$ and $\mathcal{C}_{f}$ its representative curve in an orthogonal system.
+ In units of area, the area $\mathcal{A}$ of the domain delimited by $\mathcal{C}_{f}$, the abscissa axis and the lines of equations $x = a$ and $x = b$ is given by the formula: }
+ {{$\mathcal{A}= \displaystyle \int_{b}^a f(x)\ \text{d}x$},
+ {$\mathcal{A}= \displaystyle \int_{a}^b f(x)\ \text{d}x$},
+ {$\mathcal{A} = f(b) - f(a)$}}
+ \end{alterqcm}
+\end{tkzexample}
+
+\subsection{Global and local use of \tkzname{pq}}\
+ \Iopt{AQquestion}{pq} \IoptEnv{alterqcm}{pq}
+This time, it is necessary to move several questions, I placed a |pq=2mm| globally, that is to say like this :\tkzcname{begin\{alterqcm\}[lq=85mm,pq=2mm]}. \textbf{All} questions are affected by this option but some questions were well placed and should remain so, so locally I give them back a |pq=0mm|.
+
+\medskip
+\begin{alterqcm}[lq=85mm,pq=2mm]
+\AQquestion{A bivariate statistical series. The values of $x$ are 1, 2, 5, 7, 11, 13 and a least squares regression line equation of $y$ to $x$ is $y = 1.35x +22.8$. The coordinates of the mean point are :}
+{{$(6,5;30,575)$},
+{$(32,575 ; 6,5)$},
+{$(6,5 ; 31,575)$}}
+
+\AQquestion[pq=0mm]{$(u_{n})$ is an arithmetic sequence of reason $-5$.\\ Which of these statements is true? }
+{{For all $n,~ u_{n+1} - u_{n} = 5$},
+{$u_{10}= u_{2}+ 40$},
+{$u_{3} = u_{7} + 20$}
+}
+\AQquestion[pq=0mm]{Equality $\ln (x^2 - 1) = \ln (x - 1) + \ln (x+1)$ is true}
+{{For all $x$ in $]- \infty~;~-1[ \cup]1~;~+ \infty[$},
+{For all $x$ in $\mathbf{R} - \{-1~ ;~ 1\}$.},
+{For all $x$ in $]1~ ;~+\infty[$}
+}
+\AQquestion{For all $x$, the number \[\dfrac{\text{e}^x - 1}{\text{e}^x + 2}\hskip12pt \text{equal to :} \] }
+{{$-\dfrac{1}{2}$},
+{$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$},
+{$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}
+}
+\AQquestion{Let I $= \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{1}{\text{e}^x - 1}\,\text{d}x$ and J $ = \displaystyle\int_{\ln 2}^{\ln 3} \dfrac{\text{e}^x}{\text{e}^x - 1}\,\text{d}x$ \\ then the number I $-$ J is equal to}
+{{$\ln \dfrac{2}{3}$},
+{$\ln \dfrac{3}{2}$},
+{$\dfrac{3}{2}$}
+}
+\end{alterqcm}
+
+\medskip
+\begin{tkzexample}[code only,vbox,small]
+ \begin{alterqcm}[lq=85mm,pq=2mm]
+ \AQquestion[pq=0mm]{Equality $\ln (x^2 - 1) = \ln (x - 1) + \ln (x+1)$
+ is true}
+ {{For all $x$ in $]- \infty~;~-1[ \cup]1~;~+ \infty[$},
+ {For all $x$ in $\mathbf{R} - \{-1~ ;~ 1\}$.},
+ {For all $x$ in $]1~ ;~+\infty[$}}
+ \AQquestion{For any real $x$, the number \[\dfrac{\text{e}^x - 1}
+ {\text{e}^x + 2}\hskip12pt \text{equal to :} \] }
+ {{$-\dfrac{1}{2}$},
+ {$\dfrac{\text{e}^{-x} - 1}{\text{e}^{-x} + 2}$},
+ {$\dfrac{1 - \text{e}^{-x}}{1 + 2\text{e}^{-x}}$}}
+ \end{alterqcm}
+ \end{tkzexample}
+
+
+\subsection{\tkzname{correction} and \tkzname{br} : rank of good answer}
+\Iopt{AQquestion}{br} \Iopt{AQquestion}{correction}
+First of all, it is necessary to ask for an answer key. To do this, just include the option \tkzname{correction} which is a boolean, thus set to \tkzname{true}. Then in each question, it is necessary to give the list of correct answers. For example, with \tkzname{br=1} or \tkzname{br=\{1,3\}}.
+
+Here is the previous year's correction:
+
+\medskip
+\begin{tkzexample}[vbox,small]
+\begin{alterqcm}[VF,correction,lq=125mm]
+ \AQquestion[br=1]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br=2]{The $F$ function has a maximum in $2$}
+ \AQquestion[br=2]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+\end{alterqcm}
+\end{tkzexample}
+
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-main.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-main.tex
new file mode 100644
index 0000000000..e406bb4062
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-main.tex
@@ -0,0 +1,164 @@
+% !TEX TS-program = xelatex
+% encoding : utf8
+% TKZdoc-aq.tex
+% Copyright (C) 2021 Alain Matthes
+% Copyright (C) 2019 Alain Matthes, Apostolos Syropoulos, and Anastasios Dimou
+% Copyright (C) 2020 Alain Matthes
+% 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 2005/12/01 or later.
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Alain Matthes
+%
+%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% doc altermqcm.sty encodage : utf8 %
+% %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+% %
+% Créé par Alain Matthes le 30/05/2020 %
+% Copyright (c) 2020 __ AlterMundus __ All rights reserved. %
+% version : 4.42 %
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Fichier .tex de présentation du package alterqcm.sty
+% d'après le code de DTK.
+\documentclass[DIV=15,
+ fontsize=10,
+ headinclude=false,
+ index=totoc,
+ footinclude=false,
+ twoside,
+ headings=small
+ ]{tkz-doc}
+\usepackage{etoc}
+\gdef\tkznameofpack{alterqcm}
+\gdef\tkzversionofpack{4.42c}
+\gdef\tkzdateofpack{2021/01/21}
+\gdef\tkznameofdoc{doc-alterqcm}
+\gdef\tkzversionofdoc{4.42c}
+\gdef\tkzdateofdoc{2021/01/21}
+\gdef\tkzauthorofpack{Alain Matthes}
+\gdef\tkzadressofauthor{}
+\gdef\tkznamecollection{AlterMundus}
+\gdef\tkzurlauthor{}
+\gdef\tkzengine{xelatex}
+\gdef\tkzurlauthorcom{http://altermundus.fr}
+%\usepackage{xgreek}
+\usepackage[dvipsnames,svgnames]{xcolor}
+\usepackage{fancybox}
+\usepackage{stmaryrd}
+\usepackage{array,multirow,longtable}
+\usepackage{tkz-tab,tkz-euclide,tkzexample}
+\usepackage[english]{alterqcm}
+\usepackage[colorlinks]{hyperref}
+\hypersetup{ linkcolor=Gray,
+ citecolor=Green,
+ filecolor=Mulberry,
+ urlcolor=NavyBlue,
+ menucolor=Gray,
+ runcolor=Mulberry,
+ linkbordercolor=BrickRed,
+ citebordercolor=Green,
+ filebordercolor=Mulberry,
+ urlbordercolor=NavyBlue,
+ menubordercolor=Gray,
+ runbordercolor=Mulberry,
+ pdfsubject={qcm},
+ pdfauthor={Alain Matthes},
+ pdftitle={alterqcm},
+ pdfkeywords={qcm, mathematics, table},
+ pdfcreator={LaTeX}
+ }
+
+\usepackage{mathtools}
+\usepackage{unicode-math,fourier-otf}
+\setmainfont{Linux Libertine O}
+\setmathfont[Scale=MatchUppercase]{Asana Math}
+\setmonofont[Scale=MatchLowercase]{Consolas}
+\usepackage{shortvrb,verbdef,fancyvrb,pifont}
+\usepackage{multirow,multido,booktabs}
+\usepackage[autolanguage]{numprint}
+\usepackage{xeCJK}
+\usepackage{textcomp}
+\usepackage[all]{nowidow}
+\widowpenalty10000
+\clubpenalty10000
+% %<––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\renewcommand*{\Ienv}[1]{\index{%
+Environnement_1@\texttt{Environnement}!\texttt{#1}}}
+\renewcommand*{\NameSys}[1]{%
+\index{Système d'exploitation !#1@\texttt{#1}}}
+%\usepackage[parfill]{parskip}
+%\renewcommand{\labelitemi}{\lefthand}
+%<––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\setlength\parindent{0pt}
+\RequirePackage{makeidx}
+%\def\tkzFileSavedPrefix{AQ}
+\makeindex
+\AtBeginDocument{\MakeShortVerb{\|}}
+\def\lefthand{}
+%\def\tkzHandBomb{}
+\begin{document}
+%<––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+\author{\tkzauthorofpack}
+\title{\tkznameofpack}
+\date{\today}
+\clearpage
+\thispagestyle{empty}
+\maketitle
+\clearpage
+\tkzSetUpColors[background=white,text=darkgray]
+\let\rmfamily\ttfamily
+\nameoffile{\tkznameofpack}
+
+\defoffile{\tkzname{\tkznameofpack} (v 4.42 2020/08/17) Macros to support the creation of multiple-choice questionnaires in two-column tables. \tkzimp{Apostolos Syropoulos}, and \tkzimp{Anastasios Dimou} have adapted the package to use Greek. With the help of \tkzimp{Wolfgang Büchel} I added German, Russian and Italian. Finally it was \tkzimp{LianTze Lim} and \tkzimp{Chennan Zhang} who helped me with the Chinese translation. You can use another language with "unknown " option. With some languages, you need to compile with Xe\LaTeX.
+ \tkzname{alterqcm} is present on the \tkzname{CTAN} servers and is part of \tkzname{TeXLive} so \tkzname{tlmgr} or \tkzname{TeX Live Utility} will allow you to install it.
+ You will also find \tkzname{alterqcm} in \tkzname{MikTeX} under \tkzname{Windows XP}.
+}
+
+\presentation
+
+\vspace*{2cm}
+
+\lefthand\ I thank \tkzimp{Jean-Côme Charpentier}, \tkzimp{Manuel Pégourié-Gonnard}, \tkzimp{Franck Pastor}, \tkzimp{Ulrike Fischer} and \tkzimp{Josselin Noirel} for the different ideas and advices that allowed me to make this package. Thanks also to \tkzimp{Wolfgang Büchel} for his corrections and scripts.
+
+\vfill
+You can send your remarks, and reports on errors you have found.
+ at the following address \href{mailto:al.ma@mac.com}{\textcolor{blue}{Alain} Matthes}
+
+
+ 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.
+
+This work has the LPPL maintenance status `maintained'.
+
+The Current Maintainer of this work is Alain Matthes.
+
+
+\clearpage\newpage
+\setlength{\parskip}{1ex plus 0.5ex minus 0.2ex}
+
+\tableofcontents
+%<–––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––––>
+%\include{doc-aq-installation}
+\include{doc-aq-first}
+\include{doc-aq-def}
+\include{doc-aq-globales}
+\include{doc-aq-locales}
+\include{doc-aq-mc}
+\include{doc-aq-excomp}
+\include{doc-aq-points}
+\include{doc-aq-problem}
+\include{doc-aq-greek}
+\clearpage\newpage
+\begin{multicols}{2}
+\small\printindex
+\end{multicols}
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-mc.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-mc.tex
new file mode 100644
index 0000000000..4d4cebeeb9
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-mc.tex
@@ -0,0 +1,209 @@
+\section{Complementary macros}
+
+\subsection{\tkzcname{AQmessage} : two-column message}
+
+It allows to insert in the table on the two columns, additional information for the candidate.
+
+In the following table, it is necessary to give indications and clarifications on the statement. This is done using the command \tkzcname{AQmessage}. I have used the package \tkzname{tkz-tab.sty} for this message as well as \emph{\texttt{AQmessage}} for some proposals, in order to make the proposal fit on several lines. This is necessary if one does not want to leave the table or if one does not want to restrict the space given to the questions.
+This shows that many environments can be used in questions, messages and proposals at the same time.
+
+\begin{NewMacroBox}{AQmessage}{{\var{texte}}}
+
+\begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+argument & default & definition \\ \midrule
+\tbody
+\TAline{texte} {} {corps du message}
+\bottomrule
+\end{tabular}
+
+\medskip
+\emph{This macro uses only one argument~: the text of the message. It can contain any kind of environment except, unfortunately, an array designed with \tkzname{tablor}. However, it is possible to import an array designed with \tkzname{tablor} with the macro \tkzcname{includegraphics}\footnotemark.}
+\end{NewMacroBox}\Imacro{includegraphics}
+
+\footnotetext{package macro \tkzname{graphicx}}
+
+\begin{alterqcm}[lq=80mm,pre=false]
+\AQmessage{\begin{minipage}{15cm}
+\vspace*{6pt}
+ Let $f$ be a function defined and derivable over the interval $]-5~;~+\infty[$ whose table of variations is given below :
+\begin{center}\begin{tikzpicture}
+\def\tkzTabDefaultWritingColor{brown}
+\def\tkzTabDefaultBackgroundColor{orange!20}
+\tkzTabInit{$x$/1,$f(x)$/3} {$-5$,$-1$,$0$,$2$,$+\infty$}
+\tkzTabVar{-/$-\infty$ /,+/$-3$/,-/$-5$/,+/4/,-/{4,5}/}
+\end{tikzpicture}\end{center}
+ We designate by $\mathcal{C}$ the curve representative of $f$.
+ \vspace*{6pt}
+\end{minipage}
+}
+\AQquestion{In the interval $]-5~;~+\infty[$, the equation $f(x) = -2$ admits }
+{{only one solution},
+{two solutions},
+{four solutions}}
+\end{alterqcm}
+
+\begin{tkzexample}[code only]
+ \begin{alterqcm}[lq=95mm,pre=false]
+ \AQmessage{ Let $f$ be a function defined and derivable on the interval%.
+ $]-5~;~+\infty[$ whose table of variations is given below:
+ \begin{center}\begin{tikzpicture}
+ \tkzTabInit{$x$/1,$f(x)$/3} {$-5$,$-1$,$0$,$2$,$+\infty$}
+ \tkzTabVar{-/$-\infty$ ,+/$-3$,-/$-5$,+/$4$,-/${4,5}$}%
+ \end{tikzpicture}\end{center}
+ It is designated by $\mathcal{C}$ the curve representative of $f$.}
+\AQquestion{Over the interval $]-5~;~+\infty[$,the equation $f(x) = -2$ admits}
+ {{only one solution},
+ {two solutions},
+ {four solutions}}
+ \end{alterqcm}\end{tkzexample}
+
+
+\subsection{\tkzcname{AQms} : use of invisible line}
+
+\begin{NewMacroBox}{AQms}{(height,depth)}
+ \begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+ argument & default & definition \\ \midrule
+ \tbody
+ \TAline{height} {} {line height}
+ \TAline{depth} {} {line depth}
+ \bottomrule
+ \end{tabular}
+
+\medskip
+\emph{It's an invisible line useful if it is necessary to make more space around a proposal.}
+
+\textcolor{red}{\emph{\texttt{ It should not be used!}}}
+
+\end{NewMacroBox}
+\footnotetext{ see the macro \tkzcname{strut}}
+
+\begin{tkzexample}[code only,width=\textwidth-1pt]
+ \def\AQms(#1,#2){\vrule height #1pt depth #2pt width 0pt}
+ \end{tkzexample}
+
+\begin{tkzexample}[width=8cm]
+ \begin{minipage}[]{7.5cm}
+ \begin{alterqcm}%
+ [lq=4cm]
+ \AQquestion{Question}
+ {%
+ {Proposition 1},
+ {Proposition 2\AQms(16,14)},
+ {Proposition 3}}
+ \end{alterqcm}
+ \end{minipage}
+\end{tkzexample}
+
+\subsection{\tkzcname{InputQuestionList} : Multiple choice from a list of files}
+
+\begin{NewMacroBox}{InputQuestionList}{\var{path}\var{prefix}\var{list of integers}}
+
+\begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+ argument & default & definition \\ \midrule
+ \tbody
+\TAline{path} {} {path that leads to the folder containing the files} \TAline{prefix} {} {file names : <prefix><integer>.tex}
+\TAline{list of integers}{}{list of integers corresponding to the files}
+\bottomrule
+ \end{tabular}
+
+ \medskip
+\emph{This macro allows you to insert questions recorded in files into a table. A file can contain one or more questions with the corresponding propositions. \tkzname{path} is the path to the folder containing the files. \tkzname{prefix} is used to name the files, an integer uniquely determines the file.}
+
+\end{NewMacroBox}
+
+Let's say the file \tkzname{qcm-1.tex}
+
+\begin{tkzltxexample}[]
+\AQquestion{What was the precursor language of the C language?}
+{{Fortran},
+ {language B},
+ {Basic}}
+\end{tkzltxexample}
+
+\medskip
+Either the file \tkzname{qcm-2.tex}
+
+\begin{tkzltxexample}[]
+\verbdef\argprop|int a = 3 ^ 4 ;|
+\AQquestion{\argprop}
+{{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not a C}}
+\end{tkzltxexample}
+
+\bigskip
+Suppose we create a series of files in a folder \textbf{|iut|} with the following names \newline
+ \tkzname{qcm-1.tex}, \tkzname{qcm-2.tex}, \ldots ,\tkzname{qcm-$n$.tex}. The prefix to name these files is \tkzname{qcm-}.
+
+The path to this folder is for example
+|/examples/latex/iut/|.
+
+The result is:
+
+\newcommand*{\listpath}{/Users/ego/Desktop/waiting/alterqcm_new/examples/iut/}
+
+\begin{alterqcm}[lq=80mm]
+ \InputQuestionList{\listpath}{qcm-}{2,1}
+\end{alterqcm}
+
+\begin{tkzexample}[code only]
+\newcommand*{\listpath}{/Users/ego/Desktop/waiting/alterqcm_new/examples/iut/}
+\begin{alterqcm}[lq=80mm]
+ \InputQuestionList{\listpath}{qcm-}{2,1}
+\end{alterqcm}
+\end{tkzexample}
+
+\subsection{The command \tkzcname{AQannexe}}
+
+
+\begin{NewMacroBox}{AQannexe}{\oarg{local options}\var{start}\var{end}\var{col}}
+\begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+arguments & default & definition \\ \midrule
+\tbody
+\TAline{start} {} {first row number}
+\TAline{end} {} {last row number}
+\TAline{col} {} {number of proposals}
+ \bottomrule
+\end{tabular}
+
+\medskip
+\emph{This macro uses three arguments. These are three integers. \tkzname{start} is the row of the first row, \tkzname{end} is the final row and \tkzname{col} is the number of propositions. }
+
+\medskip
+\begin{tabular}{@{}Il Il Il@{}} \toprule \thead
+Options & default & definition \\ \midrule
+\tbody
+\TOline{VF} {false} { true or false; displays T and F }
+\TOline{propstyle} {\BS arabic} { proposal numbering style } \\
+\bottomrule
+\end{tabular}
+
+\medskip
+\emph{\tkzname{VF} allows to display V and F to identify the proposals but it is necessary that \tkzname{col} is equal to two}
+
+\medskip
+
+\end{NewMacroBox}
+
+\begin{tkzltxexample}[]
+ \documentclass{article}
+ \usepackage[utf8]{inputenc}
+ \usepackage[T1]{fontenc}
+ \usepackage{lmodern}
+ \usepackage{alterqcm,fullpage}
+ \thispagestyle{empty}
+
+ \begin{document}
+ NAME:
+
+ FIRST NAME:
+
+ \vspace{1cm}{ \Large
+ \AQannexe{1}{10}{2}\hspace{2cm}
+ \AQannexe[propstyle=\alph]{11}{20}{3}}
+ \end{document}
+\end{tkzltxexample}
+
+\AQannexe{1}{10}{2}\hspace{2cm}
+\AQannexe[propstyle=\alph]{11}{20}{3}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-points.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-points.tex
new file mode 100644
index 0000000000..faee7df399
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-points.tex
@@ -0,0 +1,39 @@
+\section{Points assigned to an MCQ}
+
+It is possible to assign points to an MCQ using the rudimentary macro \tkzcname{AQpoints}.
+
+
+\subsection{Example}
+
+
+\begin{tkzltxexample}[]
+\AQpoints{10}
+\begin{alterqcm}[symb = \dingsquare, lq=7cm]
+ \AQquestion{If \numprint{3,24} is the truncation of $x$ to the hundredth..., then we're sure that :}
+{%
+ {\begin{minipage}[t]{\linewidth-1cm}
+ $3,235\leqslant x <3,245$\\
+ \end{minipage}} ,
+ {\begin{minipage}[t]{\linewidth-1cm}
+ $3,24\leqslant x <3,25$\\
+ \end{minipage}} ,
+ {\begin{minipage}[t]{\linewidth-1cm}
+ $x$ is closer to \numprint{3,24} than \numprint{3,25}
+ \end{minipage}}}
+\end{alterqcm}
+\end{tkzltxexample}
+
+\medskip
+\AQpoints{10}
+ \begin{alterqcm}[symb = \dingsquare, lq=7cm]
+ \AQquestion{Si \numprint{3,24} is the truncation of $x$ to the hundredth..., then we're sure that :}
+ {{\begin{minipage}[t]{\linewidth-1cm}$3,235\leqslant x <3,245$\\
+ \end{minipage}} ,
+ {\begin{minipage}[t]{\linewidth-1cm} $3,24\leqslant x <3,25$\\
+ \end{minipage}} ,
+ {\begin{minipage}[t]{\linewidth-1cm}
+ $x$ is closer to \numprint{3,24} than \numprint{3,25}
+ \end{minipage}}}
+
+\end{alterqcm}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/doc/latex/doc-aq-problem.tex b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-problem.tex
new file mode 100644
index 0000000000..1615fbf841
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/doc/latex/doc-aq-problem.tex
@@ -0,0 +1,25 @@
+\section{Known issues and FAQs}
+
+\subsection{Incompatibility with \tkzname{colortbl.sty}}
+
+ The problem is that \tkzname{colortbl.sty} is sometimes incompatible with the command \tkzname{multicolumn}. The text used in the \tkzname{multicolumn} command should contain only one paragraph.
+ Simply do not use the \tkzname{AQmessage} command. One solution is to interrupt the quiz to display what you want and then resume the table.
+
+ \subsection{FAQ}
+ \subsubsection{Translation of commands}
+ Some commands can be translated or modified such as : \tkzcname{aq@pre} and \tkzcname{aq@preVF}, all you have to do is use \tkzcname{renewcommand}
+
+\begin{tkzltxexample}[]
+\makeatletter
+ \renewcommand{\aq@pre}{Pour chacune des questions ci-dessous, une seule des
+ r\'eponses propos\'ees est exacte. Vous devez cocher la r\'eponse exacte
+ sans justification.
+ Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une
+ mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence
+ de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points
+ est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}%
+\makeatother
+\end{tkzltxexample}
+
+
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-1.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-1.tex
new file mode 100644
index 0000000000..c3a1f8469b
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-1.tex
@@ -0,0 +1,4 @@
+\AQquestion{What was the precursor language C ?}
+{{Fortran},
+ {Language B},
+ {Basic}}
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-10.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-10.tex
new file mode 100644
index 0000000000..ae3ca6f928
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-10.tex
@@ -0,0 +1,5 @@
+\AQquestion{La syntaxe complète de la fonction \texttt{main} est \ldots}%
+{{\texttt{int main(int argc, char* argv)}},
+ {\texttt{int main(int argc, char argv*[])}},
+ {\texttt{int main(int argc, char* argv[])}}}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-2.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-2.tex
new file mode 100644
index 0000000000..c7ff4541fc
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-2.tex
@@ -0,0 +1,5 @@
+\verbdef\arg|int a = 3 ^ 4 ;|
+\AQquestion{\arg}
+{{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not a C}}
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-3.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-3.tex
new file mode 100644
index 0000000000..48a3c89c2d
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-3.tex
@@ -0,0 +1,4 @@
+\AQquestion{What's the correct syntax for shifting the integer \texttt{a} eight bits to the left?}
+{{\texttt{b = lshift(a, 8) ;}},
+ {\texttt{b = 8 << a ;}},
+ {\texttt{b = a << 8 ;}}}
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-4.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-4.tex
new file mode 100644
index 0000000000..100cc38032
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-4.tex
@@ -0,0 +1,4 @@
+\AQquestion{The complete program:\\
+\texttt{int main() \\
+~~\{ printf ("hello") ; return 0 ; \}}}
+{{affiche \texttt{hello}},{gives an error at compile time},{gives an error at runtime}}\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-5.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-5.tex
new file mode 100644
index 0000000000..7176687b27
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-5.tex
@@ -0,0 +1,4 @@
+\AQquestion{La ligne \texttt{printf("\%c", argv[2][0]) ;} du \texttt{main} de \texttt{monProg} exécuté ainsi : \texttt{monProg parametre}}
+{{affiche \texttt{p}},
+ {n'affiche rien},
+ {peut provoquer un plantage}} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-6.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-6.tex
new file mode 100644
index 0000000000..2f5fa10760
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-6.tex
@@ -0,0 +1,4 @@
+\AQquestion{Quelle est la taille en mémoire d'un \texttt{long int} ?}
+{{4 octets},
+ {8 octets},
+ {ça dépend \ldots}} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-7.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-7.tex
new file mode 100644
index 0000000000..e6f5f60edf
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-7.tex
@@ -0,0 +1,4 @@
+\AQquestion{Following the declaration \texttt{int * i} ;}
+{{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-8.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-8.tex
new file mode 100644
index 0000000000..d3f8d52a51
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-8.tex
@@ -0,0 +1,4 @@
+\AQquestion{After the declaration \texttt{char tab[12]} ;}
+{{\texttt{\&tab} is the address of the table},
+ {\texttt{\&tab} is the pointer to the array},
+ {\texttt{\&tab} means nothing}} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/iut/qcm-9.tex b/macros/latex/contrib/alterqcm/examples/iut/qcm-9.tex
new file mode 100644
index 0000000000..85af22ff5b
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/iut/qcm-9.tex
@@ -0,0 +1,4 @@
+\AQquestion{Un des choix suivants n'est pas une bibliothèque standard du C}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/AntillesESjuin2006.tex b/macros/latex/contrib/alterqcm/examples/latex/AntillesESjuin2006.tex
new file mode 100644
index 0000000000..0a7203e926
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/AntillesESjuin2006.tex
@@ -0,0 +1,77 @@
+\documentclass[11pt]{article}
+\usepackage{xkeyval,array,multirow,amsmath,amssymb}
+\usepackage{fullpage,longtable}
+\usepackage[english]{alterqcm}
+\usepackage[english]{babel}
+
+\begin{document}
+\begin{alterqcm}[lq=90mm,pre=true,long]
+
+\AQquestion{Among the following propositions, which one allows to affirm that the exponential function admits for asymptote the equation line $y = 0$?}
+{{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},
+{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}}
+
+\AQquestion{Among the following propositions, which is the one that allows to affirm that the inequation $\ln (2x + 1) \geqslant \ln (x + 3)$ admits the interval $\big[2~;~+\infty\big[$ as a set of solution? }
+{{\begin{minipage}{5cm}the ln function is positive on $\big[1~;~+\infty\big[$\end{minipage}},
+{$\displaystyle\lim_{x \to +\infty} \ln x = + \infty$},
+{\begin{minipage}{5cm}the $\ln$ function is increasing on $\big]0~;~+\infty\big[$\end{minipage}}
+}
+
+\AQquestion{Among the following propositions, which one allows us to assert that a primitive of the function $f$ defined on $\mathbb{R}$ by $x \mapsto (x + 1)\text{e}^x$ is the function $g~:~x~ \mapsto~ x~ \text{e}^x$~? }
+{{for all real $x,~f'(x) = g(x)$},
+{for all real $x,~g'(x) = f(x)$},
+{\begin{minipage}{5.5cm} for all real $x,~g(x) = f'(x) + k$, $k$ some kind of real \end{minipage}}}
+
+\AQquestion[pq=2mm]{ The equation $2\text{e}^{2x} - 3\text{e}^x + 1 = $0 admits for set solution}
+{{$\left\{\dfrac{1}{2}~;~1\right\}$},
+{$\left\{0~;~\ln \dfrac{1}{2}\right\}$},
+{$\big\{0~;~\ln 2\big\}$}
+}
+
+\AQquestion[pq=2mm]{For all $n \in \mathbb{N}$ }
+{{$\displaystyle\lim_{x \to +\infty} \frac{\text{e}^x}{x^n} = 1$},
+{$\displaystyle\lim_{x \to +\infty} \frac{\text{e}^x}{x^n} = +\infty$},
+{$\displaystyle\lim_{x \to +\infty} \frac{\text{e}^x}{x^n} = 0$}}
+
+\AQquestion[pq=1pt]{Let $f$ be the function set to $\big]0~;~+\infty\big[$ par $f(x) = 2\ln x - 3x + 4$. In a benchmark, an equation of the tangent to the curve representing $f$ at abscissa point 1 is :}
+{{$y = - x + 2$},
+{$y = x + 2$},
+{$y = - x - 2$}
+}
+
+\AQquestion[pq=2mm]{The mean value over $\big[1; 3\big]$ of the $f$ function defined by : $f(x) = x^2 + 2x$ is:}
+{{$\dfrac{50}{3}$},
+{$\dfrac{25}{3}$},
+{$6$}
+}
+\AQquestion{ exp$(\ln x) = x$ for any $x$ belonging to }
+{{$\mathbb{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+\AQquestion[pq=1pt]{Let $f$ be the function set to $\big]0~;~+\infty\big [$ per $f(x) = 2\ln x - 3x + 4$. In a benchmark, an equation of the tangent to the curve representing $f$ at abscissa point 1 is :}
+{{$y = - x + 2$},
+{$y = x + 2$},
+{$y = - x - 2$}
+}
+
+\AQquestion[pq=2mm]{The mean value over $\big[1; 3\big]$ of the $f$ function defined by : $f(x) = x^2 + 2x$ is:}
+{{$\dfrac{50}{3}$},
+{$\dfrac{25}{3}$},
+{$6$}
+}
+\AQquestion{ exp$(\ln x) = x$ for any $x$ belonging to }
+{{$\mathbb{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+\end{alterqcm}
+\end{document}
+
+% AntillesESjuin2006
+
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/alea.tex b/macros/latex/contrib/alterqcm/examples/latex/alea.tex
new file mode 100644
index 0000000000..1a562632a4
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/alea.tex
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\thispagestyle{empty}
+
+\begin{document}
+\begin{minipage}{12cm}
+ \begin{alterqcm}[lq=55mm,alea,sep]
+ \AQquestion[pq=1mm]{If the function $f$ is strictly increasing on $\mathbf{R}$ then the equation $f(x) = 0$ admits :}
+ {{At least one solution},%
+ {Only one solution},%
+ {Exactly one solution}}
+ \end{alterqcm}
+
+ \vspace{1cm}
+ \begin{alterqcm}[lq=55mm,alea,sep=false]
+ \AQquestion[pq=1mm]{If the function $f$ is strictly increasing on $\mathbf{R}$ then the equation $f(x) = 0$ admits :}
+ {{At least one solution},%
+ {Only one solution},%
+ {Exactly one solution}}
+ \end{alterqcm}
+\end{minipage}
+
+\end{document}
+
+% utf8
+% pdflatex
+% Alain Matthes \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/annexe.tex b/macros/latex/contrib/alterqcm/examples/latex/annexe.tex
new file mode 100644
index 0000000000..d4ff4f388a
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/annexe.tex
@@ -0,0 +1,21 @@
+\documentclass[a4paper]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\thispagestyle{empty}
+
+\begin{document}
+{\Large
+NAME:
+
+FIRST NAME:
+
+\bfseries
+\vspace{1cm}
+\AQannexe[propstyle=\bfseries\arabic]{1}{10}{4}%
+ \hspace{2cm}
+\AQannexe[propstyle=\bfseries\alph]{11}{20}{3}}
+\end{document}
+
diff --git a/macros/latex/contrib/alterqcm/examples/latex/correct.tex b/macros/latex/contrib/alterqcm/examples/latex/correct.tex
new file mode 100644
index 0000000000..93bbee4815
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/correct.tex
@@ -0,0 +1,27 @@
+\documentclass[10pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[upright]{fourier}
+\usepackage{amsmath,amssymb,stmaryrd}
+\usepackage{fullpage}
+\usepackage{alterqcm}
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\newlength{\oldtextwidth}
+\begin{document}
+ \setlength{\oldtextwidth}{\textwidth}
+ \setlength{\textwidth}{14cm}
+ \begin{alterqcm}[VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+\setlength{\textwidth}{\oldtextwidth}
+\end{document}
+% encoding : utf8
+% format : pdflatex
+% engine : pdfetex
+% author : Alain Matthes \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/example_2.tex b/macros/latex/contrib/alterqcm/examples/latex/example_2.tex
new file mode 100644
index 0000000000..da5f94b482
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/example_2.tex
@@ -0,0 +1,36 @@
+\documentclass[11pt]{article}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+
+\usepackage{alterqcm}
+% on charge le package
+% longtable en cas de débordement du tableau
+% amsmath car les exemples sont des annales du bac en mathématiques.
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\begin{document}
+
+
+
+\begin{alterqcm}[lq=80mm,long]
+\AQquestion{Among the following propositions, which one allows to affirm that the exponential function admits for asymptote the equation line $y = 0$?}
+{{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$},
+{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$}}
+
+\AQquestion[]{exp$(\ln x) = x$ for any $x$ belonging to }
+{{$\mathbf{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}\end{alterqcm}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/example_3.tex b/macros/latex/contrib/alterqcm/examples/latex/example_3.tex
new file mode 100644
index 0000000000..606e30a251
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/example_3.tex
@@ -0,0 +1,64 @@
+\documentclass[11pt]{article}
+\usepackage{xltxtra}
+\usepackage{xgreek}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+\usepackage[greek]{alterqcm}
+\usepackage{tikz}
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+\parindent=0pt
+\begin{document}
+\setmainfont[Mapping=tex-text,Ligatures=Common]{Minion Pro}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%\nogreekalph
+\begin{minipage}[t][][b]{.45\linewidth}
+ Έστω $f$ ορισμένη και παραγωγίσιμη στο διάστημα $\big[-3,\,+\infty\big)$,
+ αύξουσα στα διαστήματα $\big[-3,\,-1\big]$ και $\big[2,\,+\infty\big)$
+ και φθίνουσα στο διάστημα $\big[-1,\,2\big]$.
+Έστω $f^{\prime}$ η παράγωγός της στο διάστημα $[-3,\,+\infty)$.
+ Η γραφική παράσταση $\Gamma$ της $f$ είναι σχεδιασμένη στο διπλανό σχήμα ως προς ένα ορθογώνιο σύστημα αξόνων $\big(O,~\vec{\imath},~\vec{\jmath}\big)$.
+ Διέρχεται από το σημείο A$(-3,\,0)$ και δέχεται ως ασύμπτωτη της ευθεία
+ $(\delta)$ με εξίσωση $y = 2x -5$.
+\end{minipage}
+\begin{minipage}[t][][b]{.45\linewidth}
+ \null
+ \begin{tikzpicture}[scale=0.5,>=latex]
+ \draw[very thin,color=gray] (-3,-2) grid (10,8);
+ \draw[->] (-3,0) -- (10,0) node[above left] {\small $x$};
+ \foreach \x in {-3,-2,-1,1,2,...,9}
+ \draw[shift={(\x,0)}] (0pt,1pt) -- (0pt,-1pt)node[below] { $\x$};
+ \draw[->] (0,-2) -- (0,8) node[below right] {\small $y$};
+ \foreach \y/\ytext in {-2,-1,1,2,...,8}
+ \draw[shift={(0,\y)}] (1pt,0pt) -- (-1pt,0pt) node[left] { $\y$};
+ \draw (-0.5,-2) -- (10,8);
+ \node[above right] at (-3,0) {\textbf{A}};
+ \node[above right] at (0,0) {\textbf{O}};
+ \node[below right] at (4,3) {$\mathbf{\Delta}$};
+ \node[above right] at (4,5) {$\mathbf{\Gamma}$};
+ \draw plot[smooth] coordinates{%
+ (-3,0)(-2,4.5)(-1,6.5)(0,5.5)(1,3.5)(2,3)(3,3.4)(4,4.5)(5,6)(6,7.75)};
+ \end{tikzpicture}
+\end{minipage}
+
+\vspace{20pt}
+\begin{alterqcm}[VF,pre=true,lq=125mm]
+ \AQquestion{Για κάθε $x \in (-\infty,\,2],\;f^{\prime}(x) \geqslant 0$.}
+ \AQquestion{Η συνάρτηση $F$ παρουσιάζει μέγιστο στο $2$}
+ \AQquestion{$\displaystyle\int_{0}^2 f’(x)\:\text{d}x = - 2$}
+\end{alterqcm}
+%\greekalph %%% <----------------------------------------------
+
+\end{document}
diff --git a/macros/latex/contrib/alterqcm/examples/latex/lang_chinese.tex b/macros/latex/contrib/alterqcm/examples/latex/lang_chinese.tex
new file mode 100644
index 0000000000..9bc9f9f653
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/lang_chinese.tex
@@ -0,0 +1,55 @@
+% !TEX TS-program = xelatex
+\documentclass[12pt]{article}
+\usepackage{xeCJK}
+\usepackage[chinese]{alterqcm}
+\usepackage{mathtools}
+\usepackage{unicode-math}
+\usepackage{fourier-otf}
+\usepackage[chinese]{alterqcm}
+\usepackage{fullpage}%
+\parindent=0pt
+\newlength{\oldtextwidth}
+\def\nogreekalph{}
+\begin{document}
+
+
+\begin{alterqcm}[VF,lq=125mm,symb = \dingsquare,pre=true]
+\AQquestion{$x \in ]-3~;~2]$的情形下,$f'(x) \geq 0$。}
+\AQquestion{$F$ 函数的最大值为$2$。}
+\AQquestion{$\displaystyle\int_{0}^2 f’(x)\:\text{d}x = - 2$}
+\end{alterqcm}
+
+\begin{alterqcm}[pre=true]
+\AQquestion{问题}{%
+{选择1},
+{选择2},
+{选择3}}
+\end{alterqcm}
+
+ \begin{alterqcm}[VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{alterqcm}[VF,pre,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+
+\end{document}
+
+% utf8
+% xelatex
+% Alain Matthes
+
diff --git a/macros/latex/contrib/alterqcm/examples/latex/lang_german.tex b/macros/latex/contrib/alterqcm/examples/latex/lang_german.tex
new file mode 100644
index 0000000000..ad8b1c2ed3
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/lang_german.tex
@@ -0,0 +1,56 @@
+\documentclass[12pt]{article}
+
+\usepackage{mathtools}
+\usepackage{unicode-math}
+\usepackage{fourier-otf}
+\setmainfont[Mapping=tex-text,Ligatures=Common]{Minion Pro} \setmathfont[Scale=MatchUppercase]{Asana Math}
+\usepackage{alterqcm}
+\usepackage{fullpage}%
+\usepackage[french]{babel}
+\parindent=0pt
+\newlength{\oldtextwidth}
+\def\nogreekalph{}
+\begin{document}
+
+
+
+\begin{alterqcm}[language=german,pre]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\begin{alterqcm}[language=english,pre]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+ \begin{alterqcm}[VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{alterqcm}[VF,pre,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+
+\end{document}
+
+% utf8
+% pdflatex or lulatex
+% Alain Matthes \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/language.tex b/macros/latex/contrib/alterqcm/examples/latex/language.tex
new file mode 100644
index 0000000000..46a21949ef
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/language.tex
@@ -0,0 +1,90 @@
+% !TEX TS-program = xelatex
+\documentclass[12pt]{article}
+\usepackage{mathtools}
+\usepackage{unicode-math}
+\usepackage{fourier-otf}
+\setmainfont[Mapping=tex-text,Ligatures=Common]{Minion Pro} \setmathfont[Scale=MatchUppercase]{Asana Math}
+\usepackage[german]{alterqcm}
+\usepackage{fullpage}%
+\usepackage[french]{babel}
+\parindent=0pt
+\newlength{\oldtextwidth}
+\def\nogreekalph{}
+\begin{document}
+
+
+
+\begin{alterqcm}
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\begin{alterqcm}[pre]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+ \begin{alterqcm}[VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{alterqcm}[VF,pre,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+
+ \begin{alterqcm}[language=english]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\begin{alterqcm} [language=greek]
+ \AQquestion{Ερώτηση}{%
+ {Επιλογή 1},
+ {Επιλογή 2},
+ {Επιλογή 3}
+ }
+ \end{alterqcm}
+
+ \setlength{\oldtextwidth}{\textwidth}
+ \setlength{\textwidth}{14cm}
+ \begin{alterqcm}[language=greek,VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{alterqcm}[language=english,VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+ \setlength{\textwidth}{\oldtextwidth}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/points.tex b/macros/latex/contrib/alterqcm/examples/latex/points.tex
new file mode 100644
index 0000000000..df54754de5
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/points.tex
@@ -0,0 +1,23 @@
+\documentclass[a4paper,10 pt]{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage[upright]{fourier}
+\usepackage{alterqcm}
+\usepackage[np]{numprint}
+\usepackage[francais]{babel}
+
+\begin{document}
+\AQpoints[0.5 cm]{10}
+
+\begin{alterqcm}[symb = \dingsquare, lq=6cm]
+\AQquestion{Si \np{3,24} is truncating $x$ to the hundredth, so we're sure that:}
+{{\begin{minipage}[t]{\linewidth-1cm}$3,235\leqslant x <3,245$\\
+ \end{minipage}} ,
+ {\begin{minipage}[t]{\linewidth-1cm} $3,24\leqslant x <3,25$\\
+ \end{minipage}} ,
+ {\begin{minipage}[t]{\linewidth-1cm}
+ $x$ is nearer to 3.24 than it is to... \np{3,25}
+ \end{minipage}}}
+\end{alterqcm}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/sep.tex b/macros/latex/contrib/alterqcm/examples/latex/sep.tex
new file mode 100644
index 0000000000..83bd6c4b81
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/sep.tex
@@ -0,0 +1,31 @@
+\documentclass{article}
+\usepackage[utf8]{inputenc}
+\usepackage[T1]{fontenc}
+\usepackage{fourier}
+\usepackage{alterqcm}
+\usepackage{fullpage}
+\thispagestyle{empty}
+
+\begin{document}
+
+
+\begin{alterqcm}[lq=55mm,alea,sep]
+\AQquestion[pq=1mm]{If the function $f$ is strictly increasing on $\mathbf{R}$ then the equation $f(x) = 0$ admits :}
+{{At least one solution},%
+{At most one solution},%
+{Exactly one solution}}
+\end{alterqcm}
+
+\vspace{1cm}
+\begin{alterqcm}[lq=55mm,alea,sep=false]
+\AQquestion[pq=1mm]{If the function $f$ is strictly increasing on $\mathbf{R}$ then the equation $f(x) = 0$ admits :}
+{{At least one solution},%
+{At most one solution},%
+{Exactly one solution}}
+\end{alterqcm}
+
+\end{document}
+
+% utf8
+% pdflatex
+% Alain Matthes \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/test_language.tex b/macros/latex/contrib/alterqcm/examples/latex/test_language.tex
new file mode 100644
index 0000000000..f6debc0a57
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/test_language.tex
@@ -0,0 +1,51 @@
+% !TEX TS-program = lualatex
+\documentclass[12pt]{article}
+\usepackage{mathtools}
+\usepackage{unicode-math}
+\usepackage{fourier-otf}
+\setmainfont[Mapping=tex-text,Ligatures=Common]{Minion Pro} \setmathfont[Scale=MatchUppercase]{Asana Math}
+\usepackage{alterqcm}
+\usepackage{fullpage}%
+\usepackage[german]{babel}
+\parindent=0pt
+\newlength{\oldtextwidth}
+\def\nogreekalph{}
+\begin{document}
+
+
+
+\begin{alterqcm}[language=german,pre]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+\begin{alterqcm}[language=english,pre]
+ \AQquestion{Question}{%
+ {Proposition 1},
+ {Proposition 2},
+ {Proposition 3}}
+\end{alterqcm}
+
+ \begin{alterqcm}[VF,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+ \begin{alterqcm}[VF,pre,
+ correction,
+ lq = 100mm,
+ symb = \dingsquare,
+ corsymb = \dingchecksquare]
+ \AQquestion[br={1}]{For all $x \in ]-3~;~2],~f'(x) \geqslant 0$.}
+ \AQquestion[br={2}]{The $F$ function has a maximum in $2$}
+ \AQquestion[br={2}]{$\displaystyle\int_{0}^2 f'(x)\:\text{d}x = - 2$}
+ \end{alterqcm}
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/transparent-final.tex b/macros/latex/contrib/alterqcm/examples/latex/transparent-final.tex
new file mode 100644
index 0000000000..942ab45cac
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/transparent-final.tex
@@ -0,0 +1,40 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}% sauf si vous avez changé l'encodage
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+
+\usepackage{alterqcm}
+% on charge le package
+% longtable en cas de débordement du tableau
+% amsmath car les exemples sont des annales du bac en mathématiques.
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\begin{document}
+
+\begin{alterqcm}[transparent,correction,corsymb=\dingchecksquare,lq=100mm]
+ \AQquestion[br=3,pq=3mm]{Among the following propositions, which one allows us to affirm that the exponential function admits for asymptote the line of equation $y = 0$ ?}
+ {{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$},
+ {$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+ {$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$}
+ }
+
+ \AQquestion[br=2]{exp$(\ln x) = x$ for any $x$ belonging to }
+ {{$\mathbf{R}$},
+ {$\big]0~;~+ \infty\big[$},
+ {$\big[0~;~+\infty\big[$}
+ }
+\end{alterqcm}
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/transparent-init.tex b/macros/latex/contrib/alterqcm/examples/latex/transparent-init.tex
new file mode 100644
index 0000000000..b2609ac4b0
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/transparent-init.tex
@@ -0,0 +1,41 @@
+\documentclass[11pt]{article}
+\usepackage[utf8]{inputenc}% sauf si vous avez changé l'encodage
+\usepackage[T1]{fontenc}
+\usepackage{lmodern}
+\usepackage{amsmath,amssymb,stmaryrd,calc}%}% pour geqslant qui existe ds fourier
+\usepackage{xkeyval}
+\usepackage{multirow,longtable}
+\usepackage[%
+ a4paper,%
+ textwidth=16cm,
+ top=2cm,%
+ bottom=2cm,%
+ headheight=25pt,%
+ headsep=12pt,%
+ footskip=25pt]{geometry}%
+
+\usepackage{alterqcm}
+% on charge le package
+% longtable en cas de débordement du tableau
+% amsmath car les exemples sont des annales du bac en mathématiques.
+\usepackage[frenchb]{babel}
+\parindent=0pt
+\begin{document}
+
+\begin{alterqcm}[correction,corsymb=\dingchecksquare,lq=100mm]
+\AQquestion[br=3,pq=3mm]{Among the following propositions, which one allows us to affirm that the exponential function admits for asymptote the line of equation $y = 0$ ?}
+{{$\displaystyle\lim_{x \to +\infty} \dfrac{\text{e}^x}{x} = + \infty$},
+{$\displaystyle\lim_{x \to +\infty} \text{e}^x = + \infty$},
+{$\displaystyle\lim_{x \to -\infty} \text{e}^x = 0$}
+}
+
+\AQquestion[br=2]{exp$(\ln x) = x$ for any $x$ belonging to }
+{{$\mathbf{R}$},
+{$\big]0~;~+ \infty\big[$},
+{$\big[0~;~+\infty\big[$}
+}
+
+\end{alterqcm}
+
+
+\end{document} \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/examples/latex/verb.tex b/macros/latex/contrib/alterqcm/examples/latex/verb.tex
new file mode 100644
index 0000000000..846b3212c0
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/examples/latex/verb.tex
@@ -0,0 +1,150 @@
+
+\documentclass[10pt]{article}
+
+\usepackage[french]{alterqcm}
+\usepackage{fullpage}
+\usepackage{longtable}
+\usepackage{shortvrb}
+\usepackage[french]{babel}
+
+\pagestyle{empty}
+\AtBeginDocument{\MakeShortVerb{\|}} % link to shortvrb
+%--------------------------------------------------------------
+\begin{document}
+%--------------------------------------------------------------
+\parindent=0pt
+\begin{center}
+C Language Control \\
+
+\vspace{5mm}
+Name : \hspace{5cm}
+First name : \\
+
+\vspace{5mm}
+{\small For each question, 3 answers are proposed. One and only one is correct. It's up to you to find it and to choose the corresponding box.
+Correct answer = +1 point. No answer = 0 point. Wrong answer = -0.5 point.}
+\begin{alterqcm}[lq=90mm,title,num=true,alea,long]
+% rajouter ou enlever l'option correction pour voir ou non les corrections :-)
+%--------------------------------------------------------------
+
+\AQquestion{What was the precursor language of the C language?}
+{{Fortran},%
+ {Langage B},%
+ {Basic},%
+ {X},%
+ {Y}}
+%--------------------------------------------------------------
+\verbdef\arg|int a = 3 ^ 4 ;|
+\AQquestion{\arg}
+{{raises 3 to the power of 4},
+ {makes an exclusive OR between 3 and 4},
+ {is not an instruction C}}
+%--------------------------------------------------------------
+\AQquestion{What is the correct syntax to shift the integer 8 bits to the left? \texttt{a} ?}
+{{\texttt{b = lshift(a, 8) ;}},
+ {\texttt{b = 8 << a ;}},
+ {\texttt{b = a << 8 ;}}}
+%--------------------------------------------------------------
+\AQquestion{The complete program: \\
+\texttt{int main() \\
+~~\{ printf ("bonjour") ; return 0 ; \}}}
+{{displays \texttt{bonjour}},
+ {gives an error to the compilation},
+ {gives an error in execution}}
+%--------------------------------------------------------------
+\verbdef\arg|float tab[10]|
+\verbdef\propa|*tab|\global\let\propa\propa
+\verbdef\propb|&tab|\global\let\propb\propb
+\verbdef\propc|tab|\global\let\propc\propc
+\AQquestion{Let's say the declaration \arg ; \\The first real in the table is \ldots}
+{{\propa},
+ {\propb},
+ {\propc}}
+%--------------------------------------------------------------
+\AQquestion{The line \texttt{printf("\%c", argv[2][0]) ;} of \texttt{main} of \texttt{monProg} exécuté ainsi : \texttt{monProg parametre}}
+{{displays \texttt{p}},
+ {displays nothing},
+ {can cause a crash}}
+%--------------------------------------------------------------
+\AQquestion{What is the memory size of a \texttt{long int} ?}
+{{4 octets},
+ {8 octets},
+ {it depends \ldots}}
+%--------------------------------------------------------------
+\AQquestion{Following the declaration \texttt{int * i} ;}
+{{\texttt{*i} is an address},
+ {\texttt{*i} is an integer},
+ {\texttt{*i} is a pointer}}
+%--------------------------------------------------------------
+\AQquestion{Following the declaration \texttt{char tab[12]} ;}
+{{\texttt{\&tab} is the address of the table},
+ {\texttt{\&tab} is the pointer to the array},
+ {\texttt{\&tab} means nothing}}
+
+%--------------------------------------------------------------
+\AQquestion{One of the following choices is not a standard C library}
+{{\texttt{stdlib}},
+ {\texttt{stdin}},
+ {\texttt{math}}}
+%--------------------------------------------------------------
+\AQquestion{The full syntax of the \texttt{main} function is \ldots}
+{{\texttt{int main(int argc, char* argv)}},
+ {\texttt{int main(int argc, char argv*[])}},
+ {\texttt{int main(int argc, char* argv[])}}}
+%--------------------------------------------------------------
+\AQquestion{Le programme complet :
+\texttt{int main()\\
+\{ char a[2]="x" ; char b[2]="y" ; \\
+~~return (a[0] == b[0]) ; \}
+}}
+{{has 0 error},
+ {contains 1 error},
+ {has 2 errors}}
+
+%--------------------------------------------------------------
+\AQquestion{To free a dynamically allocated memory area in C, use the function \ldots}
+{{\texttt{delete}},
+ {\texttt{clear}},
+ {\texttt{free}}}
+
+%--------------------------------------------------------------
+\AQquestion{The expression \texttt{val char[32] ; }}
+{{is syntactically incorrect},
+ {declares a chain},
+ {declares a table}}
+
+ %--------------------------------------------------------------
+\verbdef\arga|char s[10] ; int i ;|
+\verbdef\argb|scanf("%d, %s", \&i, s) ;|
+\AQquestion{We count in the following lines :\\
+\arga \\
+\argb}
+{{0 compilation error},
+ {1 compilation error},
+ {2 compilation errors}}
+%--------------------------------------------------------------
+\AQquestion{A global variable is \ldots}
+{{\texttt{static}},
+ {stored in the stack},
+ {initialized with default zeros}}
+%--------------------------------------------------------------
+\AQquestion{The scope of a local variable is \ldots}
+{{the function},
+ {the module},
+ {the block}}
+%--------------------------------------------------------------
+\verbdef\argprop|int a = 3 ^ 4 ;|
+\AQquestion{The line \texttt{int c = argv[1] + argv[2] ;}
+ of \texttt{main} of \texttt{monProg} run like this :
+|int a = 3 ^ 4 ;| }
+{{assigns 579 to \texttt{c}},
+ {gives an error to the compilation},
+ {assigns an undetermined value to \texttt{c}}}
+ \end{alterqcm}
+\end{center}
+\end{document}
+
+% utf8
+% pdflatex
+% Pascal Bertolino Alain Matthes
+% \ No newline at end of file
diff --git a/macros/latex/contrib/alterqcm/latex/alterqcm.sty b/macros/latex/contrib/alterqcm/latex/alterqcm.sty
new file mode 100644
index 0000000000..3ea1a35f68
--- /dev/null
+++ b/macros/latex/contrib/alterqcm/latex/alterqcm.sty
@@ -0,0 +1,683 @@
+%% alterqcm.sty
+%% Copyright (C) 2021n Alain Matthes
+%% Copyright (C) 2019 Alain Matthes, Apostolos Syropoulos, and Anastasios Dimou
+%% Copyright (C) 2009 Alain Matthes
+% 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 2005/12/01 or later.
+% This work has the LPPL maintenance status `maintained'.
+% The Current Maintainer of this work is Alain Matthes
+%<------------------------->
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{alterqcm}[2021/05/17 v4.42c]
+\newcount\aqlocall@ng% to set language specific strings:
+ % 0 stands for French, 1 for English, 2 for German, 3 for Greek ,4 for russian, 5 for italien, 6 for chinese
+\aqlocall@ng=0%
+%<------------------------->
+ % name of new LANGUAGE
+ % codenumber(s) of new LANGUAGE(S), 4, 5, ...;
+ % 0..6 = french, english,...
+ % title of columns for QUESTIONS
+ % title of columns for ANSWERS
+ % Continuation ...
+\DeclareOption{french}{%
+\def\aqlabelforquest{Questions}%
+\def\aqlabelforrep{R\'eponses}%
+\def\aqfoottext{suite sur la page suivante\ldots}}%
+
+%<------------------------->
+\DeclareOption{english}{%
+\aqlocall@ng=1%
+\def\aqlabelforquest{Questions}%
+\def\aqlabelforrep{Answers}%
+\def\aqfoottext{Continued on the next page\ldots}}%
+%<------------------------->
+\DeclareOption{german}{%
+\aqlocall@ng=2%
+\def\aqlabelforquest{Fragen}%
+\def\aqlabelforrep{Antworten}%
+\def\aqfoottext{Fortsetzung nächste Seite\ldots}}%
+%<------------------------->
+\DeclareOption{greek}{%
+\aqlocall@ng=3%
+\def\aqlabelforquest{Ερωτήσεις}%
+\def\aqlabelforrep{Απαντήσεις}%
+\def\aqfoottext{Συνεχίζεται στην επόμενη σελίδα\ldots}}%
+%<------------------------->
+\DeclareOption{russian}{%
+\aqlocall@ng=4%
+\def\aqlabelforquest{Вопросы}%
+\def\aqlabelforrep{Ответы}%
+\def\aqfoottext{Продолжение на следующей странице\ldots}}%
+%<------------------------->
+\DeclareOption{italian}{%
+\aqlocall@ng=5%
+\def\aqlabelforquest{Domande}
+\def\aqlabelforrep{Risposte}
+\def\aqfoottext{Continua alla pagina successiva\ldots}}
+%<------------------------->
+\DeclareOption{chinese}{%
+\aqlocall@ng=6%
+\def\aqlabelforquest{问题}%
+\def\aqlabelforrep{答案}%
+\def\aqfoottext{请翻页\ldots}}%
+%<------------------------->
+\DeclareOption{unknown}{%
+\aqlocall@ng=7%
+\def\aqlabelforquest{unknown}%
+\def\aqlabelforrep{unknown}%
+\def\aqfoottext{unknown}}%
+%<------------------------->
+\ExecuteOptions{french}
+\ProcessOptions\relax
+\RequirePackage{xkeyval}[2005/11/25]
+\RequirePackage{calc}
+\RequirePackage{ifthen}
+\RequirePackage{array}
+\RequirePackage{multirow}
+\RequirePackage{pifont}% v1.00
+%<--------------------------------------------------------------->
+% from RANDOM.TEX v.1 (Donald Arseneau)
+%<--------------------------------------------------------------->
+\newcount\aq@randomi % the random number seed (while executing)
+\newcounter{aq@identRow}
+\newcounter{aq@identCol}
+\newcount\aq@tmp
+\def\aqutil@empty{}
+\global\aq@randomi\catcode`\@ % scratch variable during definitions
+\catcode`\@=11
+
+\def\nextrandom{\begingroup
+ \ifnum\aq@randomi<\@ne % then initialize with time
+ \global\aq@randomi\time
+ \global\multiply\aq@randomi388 \global\advance\aq@randomi\year
+ \global\multiply\aq@randomi31 \global\advance\aq@randomi\day
+ \global\multiply\aq@randomi97 \global\advance\aq@randomi\month
+ \message{Randomizer initialized to \the\aq@randomi.}%
+ \nextrandom \nextrandom \nextrandom
+ \fi
+ \count@ii\aq@randomi
+ \divide\count@ii 127773 % modulus = multiplier * 127773 + 2836
+ \count@\count@ii
+ \multiply\count@ii 127773
+ \global\advance\aq@randomi-\count@ii % random mod 127773
+ \global\multiply\aq@randomi 16807
+ \multiply\count@ 2836
+ \global\advance\aq@randomi-\count@
+ \ifnum\aq@randomi<\z@ \global\advance\aq@randomi 2147483647\relax\fi
+ \endgroup
+}
+
+\countdef\count@ii=2 % use only in boxes!
+\ifx\@tempcnta\undefined \csname newcount\endcsname \@tempcnta \fi
+\ifx\@tempcntb\undefined \csname newcount\endcsname \@tempcntb \fi
+
+\def\setrannum#1#2#3{% count register, minimum, maximum
+ \@tempcnta#3\advance\@tempcnta-#2\advance\@tempcnta\@ne
+ \@tempcntb 2147483645 % = m - 2 = 2^{31} - 3
+ \divide\@tempcntb\@tempcnta
+ \getr@nval
+ \advance\aq@ranval#2\relax
+ #1\aq@ranval
+}
+
+\def\getr@nval{% The values in \@tempcnta and \@tempcntb are parameters
+ \nextrandom
+ \aq@ranval\aq@randomi \advance\aq@ranval\m@ne \divide\aq@ranval\@tempcntb
+ \ifnum\aq@ranval<\@tempcnta\else \expandafter\getr@nval \fi
+}
+
+\catcode`\@=\aq@randomi
+\global\aq@randomi=0
+\newcount\aq@ranval
+%<--------------------------------------------------------------->
+\newtoks\aq@tdml@a
+\newtoks\aq@tdml@b
+\newcount\aq@alea
+\newcount\aq@n@arg
+\newbox\aq@tempbox
+\newdimen\aq@hauteurquest
+\newdimen\aq@hauteurprop
+\newdimen\aq@wdquest
+\newdimen\aq@wdprop
+\newdimen\aq@dimtmpa
+\newdimen\aq@dimtmpb
+\newdimen\aq@dimtmp
+\newcounter{AQ@numquestion}\setcounter{AQ@numquestion}{0}%
+\newcounter{aq@numb}
+\newcounter{AQ@numprop}\setcounter{AQ@numprop}{0}% v0.93
+\newcounter{alea@numfirst}
+\newcounter{alea@numlast}
+\newcommand\points[1]{%
+\marginpar{%
+\begin{tabular}{|c|}
+ \hline
+ \textbf{#1}\\
+ \hline\\
+ \hline
+\end{tabular}}}%
+\newcommand\aqheightadvance{4pt}% U. Fischer tex.stackexchange
+\newcommand\aqdepthadvance{3pt}%
+%<------------------------->
+% Début Code QCM
+% New MC Code (Multiple Choice)
+%<------------------------->
+% modif 4.3
+\define@choicekey*[AQ]{global}{language}[\val\aq@nr]{french,
+ english,
+ german,
+ greek,
+ russian,
+ italian,
+ chinese,
+ unknown
+ }{%
+\edef\AQ@global@language{\aq@nr}
+\let\aqlocall@ng\aq@nr
+\ifcase\aq@nr\relax
+\def\cmdAQ@global@tone{Questions}
+\def\cmdAQ@global@ttwo{R\'eponses}
+\def\aqfoottext{Suite sur la page suivante\ldots}
+\renewcommand{\aq@pre}{Pour chacune des questions ci-dessous, une seule des r\'eponses propos\'ees est exacte. Vous devez cocher la r\'eponse exacte sans justification.
+Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}%
+%
+\renewcommand{\aq@preVF}{Pour chacune des affirmations ci-dessous, cocher la case V (l'affirmation est vraie) ou la case F (l'affirmation est fausse) sur l'ANNEXE, \`a rendre avec la copie. Les r\'eponses ne seront pas justifi\'ees.
+Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}%
+\or
+\def\cmdAQ@global@tone{Questions}
+\def\cmdAQ@global@ttwo{Answers}
+\def\aqfoottext{Continued on the next page\ldots}
+\renewcommand{\aq@pre}{For each of the questions below, only one of the proposed answers is true. You must choose the right answer without justification.}%
+\renewcommand{\aq@preVF}{For each of the statements below, check the \textbf{T} box (the statement is true) or the \textbf{F} box (the statement is false).}%
+\or
+\def\cmdAQ@global@tone{Fragen}
+\def\cmdAQ@global@ttwo{Antworten}
+\def\aqfoottext{Fortsetzung nächste Seite\ldots}
+\renewcommand{\aq@pre}{Bei jeder der unterstehenden Fragen ist nur eine der vorgeschlagenen Antworten richtig. Kreuzen Sie die richtige Antwort ohne Begründung an.}%
+\renewcommand{\aq@preVF}{Bei jeder der unterstehenden Aussagen kreuzen Sie \textbf{R} (für die richtige Aussage) oder \textbf{F} (für die falsche Aussage) an.}%
+\or
+\def\cmdAQ@global@tone{Ερωτήσεις}
+\def\cmdAQ@global@ttwo{Απαντήσεις}
+\def\aqfoottext{Συνεχίζεται στην επόμενη σελίδα\ldots}
+\renewcommand{\aq@pre}{Από τις επόμενες προτάσεις επιλέξετε αυτήν, που θεωρείτε σωστή.}%
+\renewcommand{\aq@preVF}{Να επιλέξετε \textbf{Σ}(ωστό), αν θεωρείτε την πρόταση που δίνεται παρακάτω σωστή, ή \textbf{Λ}(άθος) αν την θεωρείτε λανθασμένη.}%
+\or
+\def\cmdAQ@global@tone{Вопросов}
+\def\cmdAQ@global@ttwo{Ответы}
+\def\aqfoottext{Продолжение на следующей странице\ldots}
+\renewcommand{\aq@pre}{На каждый из приведенных ниже вопросов верным является только один из предложенных ответов.
+Проверьте правильный ответ без обоснования.}%
+\renewcommand{\aq@preVF}{Для каждого из приведенных ниже утверждений проверьте П (для правильного утверждения) и Ф (для неверного утверждения).}%
+\or
+\def\cmdAQ@global@tone{Domande}
+\def\cmdAQ@global@ttwo{Risposte}
+\def\aqfoottext{Continua alla pagina successiva\ldots}
+\renewcommand{\aq@pre} % only one answer is true; choose right answer
+{Per ciascuna delle domande che seguono, solo una delle risposte proposte è vera. È necessario scegliere la risposta giusta senza alcuna giustificazione.}%
+\renewcommand{\aq@preVF} % only one answer is true; check corresponding box
+{Per ciascuna delle seguenti affermazioni, selezionare la casella \textbf{V} (l'affermazione è vera) o la casella \textbf{F} (l'affermazione è falsa).}%
+\or
+\def\cmdAQ@global@tone{问题}
+\def\cmdAQ@global@ttwo{答案}
+\def\aqfoottext{请翻页\ldots}
+\renewcommand{\aq@pre}{对于以下提出的各个问题,仅有一个答案是正确的,请选择你认为正确的答案(不需要提供理由)。}%
+\renewcommand{\aq@preVF}{对于以下各项陈述,根据陈述内容的正误选择相应的选项(正确的选择“正”,错误的选择“误”)。}%
+\or
+\def\cmdAQ@global@tone{\aqlabelforquest}
+\def\cmdAQ@global@ttwo{\aqlabelforrep}
+\def\aqfoottext{unknown\ldots}
+\renewcommand{\aq@pre}{\aqpretxt}%
+\renewcommand{\aq@preVF}{\aqpretxtVF}%
+\fi%
+}
+\def\aqpretxt{}%
+\def\aqpretxtVF{}%
+\define@cmdkey [AQ] {global} {lq}{}
+\define@cmdkey [AQ] {global} {pq}{}
+\define@cmdkey [AQ] {global} {points}{}
+\define@cmdkey [AQ] {global} {symb}{}
+\define@cmdkey [AQ] {global} {corsymb}{}
+\define@cmdkey [AQ] {global} {bonus}{}
+\define@cmdkey [AQ] {global} {malus}{}
+\define@cmdkey [AQ] {global} {numstyle}{}
+\define@cmdkey [AQ] {global} {propstyle}{}
+\define@cmdkey [AQ] {global} {size}{}
+\define@cmdkey [AQ] {global} {tone}{}
+\define@cmdkey [AQ] {global} {ttwo}{}
+\define@cmdkey [AQ] {global} {numbreak}{}
+\define@cmdkey [AQ] {global} {afterpreskip}{}
+\define@boolkey [AQ] {global} {transparent}[true]{}
+\define@boolkey [AQ] {global} {VF} [true]{}
+\define@boolkey [AQ] {global} {sep} [true]{}
+\define@boolkey [AQ] {global} {pre} [true]{}
+\define@boolkey [AQ] {global} {title} [true]{}
+\define@boolkey [AQ] {global} {long} [true]{}
+\define@boolkey [AQ] {global} {num} [true]{}
+\define@boolkey [AQ] {global} {numprop} [false]{}
+\define@boolkey [AQ] {global} {nosquare} [false]{}
+\define@boolkey [AQ] {global} {correction} [true]{}
+\define@boolkey [AQ] {global} {alea} [true]{}
+\presetkeys [AQ] {global} {
+ lq = 100mm,
+ pq = 0pt,
+ points = {},
+ sep = false,
+ pre = false,
+ bonus = {0,5},
+ malus = {0,25},
+ VF = false,
+ long = false,
+ symb = $\square$,
+ corsymb = $\blacksquare$,
+ afterpreskip = \medskip,
+ num = true,
+ transparent = false,
+ nosquare = false,
+ correction = false,%v1.00
+ numstyle = \arabic,
+ propstyle = \alph,% v0.93
+ numprop = false,% v0.93
+ size = {}, %3.7 same size la fonte
+ title = true,
+ ttwo = \aqlabelforrep,
+ tone = \aqlabelforquest,
+ numbreak = 0,
+ alea = false}{}
+\define@cmdkey[AQ]{local}{pq}{}
+\define@cmdkey[AQ]{local}{br}{}
+\presetkeys[AQ]{local}{br=5,pq= \cmdAQ@global@pq}{}%
+
+\ifcase\aqlocall@ng
+\newcommand{\aq@pre}{Pour chacune des questions ci-dessous, une seule des r\'eponses propos\'ees est exacte. Vous devez cocher la r\'eponse exacte sans justification.
+Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}%
+%
+\newcommand{\aq@preVF}{Pour chacune des affirmations ci-dessous, cocher la case V (l'affirmation est vraie) ou la case F (l'affirmation est fausse) sur l'ANNEXE, \`a rendre avec la copie. Les r\'eponses ne seront pas justifi\'ees.
+Une bonne r\'eponse rapporte \textbf{\cmdAQ@global@bonus\ point}. Une mauvaise r\'eponse enl\`eve \textbf{\cmdAQ@global@malus\ point}. L'absence de r\'eponse ne rapporte ni n'enl\`eve aucun point. Si le total des points est n\'egatif, la note globale attribu\'ee \`a l'exercice est \textbf{0}.}%
+\or
+\newcommand{\aq@pre}{For each of the questions below, only one of the proposed answers is true. You must choose the right answer without justification.}%
+\newcommand{\aq@preVF}{For each of the statements below, check the \textbf{T} box (the statement is true) or the \textbf{F} box (the statement is false).}%
+\or
+\newcommand{\aq@pre}{Bei jeder der unterstehenden Fragen ist nur eine der vorgeschlagenen Antworten richtig. Kreuzen Sie die richtige Antwort ohne Begründung an.}%
+\newcommand{\aq@preVF}{Bei jeder der unterstehenden Aussagen kreuzen Sie \textbf{R} (für die richtige Aussage) oder \textbf{F} (für die falsche Aussage) an.}%
+\or
+\newcommand{\aq@pre}{Από τις επόμενες προτάσεις επιλέξετε αυτήν, που θεωρείτε σωστή.}%
+\newcommand{\aq@preVF}{Να επιλέξετε \textbf{Σ}(ωστό), αν θεωρείτε την πρόταση που δίνεται παρακάτω σωστή, ή \textbf{Λ}(άθος) αν την θεωρείτε λανθασμένη.}%
+\or %--- wjb
+\newcommand{\aq@pre}{На каждый из приведенных ниже вопросов верным является только один из предложенных ответов.
+Проверьте правильный ответ без обоснования.}%
+\newcommand{\aq@preVF}{Для каждого из приведенных ниже утверждений проверьте П (для правильного утверждения) и Ф (для неверного утверждения).}%
+% Insert text(s) for NEW LANGUAGE(S), e.g. Italian
+\or
+\newcommand{\aq@pre} % only one answer is true; choose right answer
+{Per ciascuna delle domande che seguono, solo una delle risposte proposte è vera. È necessario scegliere la risposta giusta senza alcuna giustificazione.}%
+\newcommand{\aq@preVF} % only one answer is true; check corresponding box
+{Per ciascuna delle seguenti affermazioni, selezionare la casella \textbf{V} (l'affermazione è vera) o la casella \textbf{F} (l'affermazione è falsa).}%
+\or %% TODO 中文
+\newcommand{\aq@pre}{对于以下提出的各个问题,仅有一个答案是正确的,请选择你认为正确的答案(不需要提供理由)。}%
+\newcommand{\aq@preVF}{对于以下各项陈述,根据陈述内容的正误选择相应的选项(正确的选择“正”,错误的选择“误”)。}%
+\or % unknown
+\newcommand{\aq@pre}{\aqpretxt}%
+\newcommand{\aq@preVF}{\aqpretxtVF}%
+\fi
+%
+\newcommand*{\AQms}{\aq@ms}%
+\def\aq@ms(#1,#2){\vrule height #1pt depth #2pt width 0pt}
+\newcommand*{\altersquare}{\mbox{\vbox{\hrule\hbox to 6pt{\vrule height 5.2pt \hfil\vrule}\hrule}}}%
+\@ifundefined{square}{\let\square\altersquare}{}%
+
+\newcommand*{\dingsquare}{\ding{114}}%
+\newcommand*{\dingchecksquare}{\mbox{\ding{114}\hspace{-.7em}\raisebox{.2ex}[1ex]{\ding{51}}}}
+\newcommand*{\aq@style@title}{\textbf}%
+\newcommand*{\aq@style@numquest}{\textbf}%
+\newcommand*{\aq@style@numrep}{\textbf}%
+\newcommand{\aq@title}{%
+\hline%
+ \hfil{\aq@style@title{\cmdAQ@global@tone}}\hfil%
+ & \hfil{\aq@style@title{\cmdAQ@global@ttwo}}\hfil\\ \hline%
+ \ifAQ@global@long \endfirsthead
+\hline
+ \hfil{\aq@style@title{\cmdAQ@global@tone}}\hfil%
+ & \hfil{\aq@style@title{\cmdAQ@global@ttwo}}\hfil\\ \hline%
+\endhead
+& \raisebox{-1em}\hfill{\emph{\aqfoottext}} \\ \hline
+\endfoot
+\endlastfoot\fi
+}%
+
+\newcommand{\AQmessage}[1]{%
+\multicolumn{2}{|l|}{%
+\begin{minipage}{\textwidth-\tabcolsep*2-\arrayrulewidth*2}%
+#1
+\end{minipage}}\\ \hline%
+}%
+
+\newcommand{\aq@melange}{%
+\setrannum{\aq@alea}{1}{\value{aq@numb}}%
+ \ifcase\aq@alea%
+ \or
+ \global\let\aq@tempfirst\aq@arga
+ \or
+ \global\let\aq@tempfirst\aq@argb
+ \or
+ \global\let\aq@tempfirst\aq@argc
+ \or
+ \global\let\aq@tempfirst\aq@argd
+ \or
+ \global\let\aq@tempfirst\aq@arge
+ \fi
+\setcounter{alea@numfirst}{\aq@alea}%
+\setrannum{\aq@alea}{1}{\value{aq@numb}}%
+ \ifcase\aq@alea%
+ \or
+ \global\let\aq@templast\aq@arga
+ \or
+ \global\let\aq@templast\aq@argb
+ \or
+ \global\let\aq@templast\aq@argc
+ \or
+ \global\let\aq@templast\aq@argd
+ \or
+ \global\let\aq@templast\aq@arge
+ \fi
+\setcounter{alea@numlast}{\aq@alea}%
+\global\let\aq@temp\aq@tempfirst%
+\global\let\aq@tempfirst\aq@templast%
+\global\let\aq@templast\aq@temp%
+\global\expandafter\let\csname aq@arg\alph{alea@numfirst}%
+\endcsname\aq@tempfirst%
+\global\expandafter\let\csname aq@arg\alph{alea@numlast}%
+\endcsname\aq@templast%
+}%
+%<------------------------->
+\newcommand{\aq@hauteurbox}[1]{%
+\setbox\aq@tempbox=%
+\vbox{\parbox[t]{\textwidth-\tabcolsep*4-\arrayrulewidth*3-\cmdAQ@global@lq}%
+{\cmdAQ@global@symb\quad\mbox{#1}}}% \cmdAQ@global@symb remplace $\square$
+\aq@dimtmpa\ht\aq@tempbox\relax%
+\aq@dimtmpb\dp\aq@tempbox\relax%
+\advance\aq@dimtmpa by\aq@dimtmpb}%
+%<------------------------->
+\newcommand{\aq@adjust}[1]{%
+\setbox\aq@tempbox=%
+\vbox{%
+\parbox[t]{\cmdAQ@global@lq}{\aq@style@numquest{\number\value{AQ@numquestion}.}\hspace{3pt}#1}}%
+\aq@dimtmpa\ht\aq@tempbox
+\aq@dimtmpb\dp\aq@tempbox
+\aq@wdquest\wd\aq@wdquest
+\advance\aq@dimtmpa by\aq@dimtmpb\relax%
+\aq@hauteurquest=\aq@dimtmpa
+\aq@hauteurbox{\aq@arga}%
+\aq@hauteurprop=\aq@dimtmpa
+\aq@hauteurbox{\aq@argb}%
+\advance\aq@hauteurprop by\aq@dimtmpa\relax%
+\ifnum\value{aq@numb}>2\relax
+\aq@hauteurbox{\aq@argc}%
+\advance\aq@hauteurprop by\aq@dimtmpa\relax\fi
+\ifnum\value{aq@numb}>3\relax
+\aq@hauteurbox{\aq@argd}%
+\advance\aq@hauteurprop by\aq@dimtmpa\relax\fi
+\ifnum\value{aq@numb}>4\relax
+\aq@hauteurbox{\aq@arge}%
+\advance\aq@hauteurprop by\aq@dimtmpa\relax\fi
+\ifdim\aq@hauteurquest<\aq@hauteurprop%
+\global\aq@dimtmp=0pt
+\aq@dimtmpa\ht\aq@tempbox
+\aq@dimtmpb\dp\aq@tempbox
+\advance\aq@dimtmpa by3pt
+\advance\aq@dimtmpb by2pt
+\vrule height\aq@dimtmpa depth\aq@dimtmpb width0pt
+\else
+\advance\aq@hauteurquest by-\aq@hauteurprop
+\divide\aq@hauteurquest by\theaq@numb\relax
+\divide\aq@hauteurquest by2\relax%
+\global\aq@dimtmp=\aq@hauteurquest\fi
+}%
+%<------------------------->
+\newcommand{\aq@prop}[2]{%
+\setbox\aq@tempbox=\vbox{#1}%
+\aq@wdprop\wd\aq@tempbox
+\aq@dimtmpa\ht\aq@tempbox\advance\aq@dimtmpa by\aqheightadvance\advance\aq@dimtmpa by\aq@dimtmp\relax
+\aq@dimtmpb\dp\aq@tempbox\advance\aq@dimtmpb by\aqdepthadvance\advance\aq@dimtmpb by\aq@dimtmp\relax
+\ifAQ@global@VF\hfil\fi
+\ifAQ@global@transparent\def\cmdAQ@global@corsymb{$\bigcirc$}%
+\def\cmdAQ@global@symb{}\fi
+\ifAQ@global@numprop\stepcounter{AQ@numprop}%
+{\aq@style@numrep{(\cmdAQ@global@propstyle{AQ@numprop})}}%
+\else
+ \ifAQ@global@nosquare
+ \else%
+ \ifAQ@global@correction
+ \def\@stop{1}
+ \@for\goodrep:=\cmdAQ@local@br\do{%
+ \ifnum\@stop<6 %
+ \global\let\mysymb\cmdAQ@global@symb
+ \ifthenelse{\equal{\goodrep}{#2}}{%
+ \global\let\mysymb\cmdAQ@global@corsymb \def\@stop{9}}{%
+ }%
+ \fi}%
+ \mysymb\hspace*{6pt}%
+ \else
+ \cmdAQ@global@symb\hspace*{6pt}%
+ \fi
+ \fi
+ \fi
+ \ifAQ@global@transparent
+ \vrule height0pt depth0pt width\aq@wdprop
+ \else
+ \ignorespaces#1%
+ \fi
+ \vrule height\aq@dimtmpa depth\aq@dimtmpb width0pt
+ \ifAQ@global@VF\hfil\fi}%
+%<------------------------->
+\newcommand{\AQquestion}[3][]{%
+\setkeys[AQ]{local}{#1}%
+\stepcounter{AQ@numquestion}%
+\setcounter{AQ@numprop}{0} % v0.93
+\setcounter{aq@numb}{0}%
+\@for\liste:=#3\do{%
+\stepcounter{aq@numb}%
+\begingroup
+\ifnum\aqlocall@ng=3 \nogreekalph\fi
+\global\expandafter\let\csname aq@arg\alph{aq@numb}\endcsname\liste
+\endgroup}%
+\ifAQ@global@alea\ifAQ@global@VF
+\else
+\aq@n@arg=0 %
+\loop\ifnum\aq@n@arg<\value{aq@numb}\aq@melange\advance\aq@n@arg by1\repeat\fi
+\fi
+\aq@adjust{#2}%
+\multirow{1}{\cmdAQ@global@lq}[\cmdAQ@local@pq]{%
+\ifAQ@global@num\aq@style@numquest{\cmdAQ@global@numstyle{AQ@numquestion}.}%
+\hspace{3pt}\fi
+\ifAQ@global@transparent%
+\hrule height0pt depth0pt width\aq@wdquest%
+\else
+#2\vss
+\fi
+ }%
+&\setkeys[AQ]{local}{#1}%
+ \aq@prop{\aq@arga}{1}\\%
+ \ifAQ@global@sep\cline{2-2}\fi
+&\setkeys[AQ]{local}{#1}%
+ \aq@prop{\aq@argb}{2}\\
+ \ifAQ@global@sep\cline{2-2}\fi
+ \ifnum\value{aq@numb}=2\hline\else\ifAQ@global@sep\cline{2-2}\fi
+&\setkeys[AQ]{local}{#1}%
+ \aq@prop{\aq@argc}{3}\\
+ \ifnum\value{aq@numb}=3\hline\else\ifAQ@global@sep\cline{2-2}\fi
+&\setkeys[AQ]{local}{#1}%
+ \aq@prop{\aq@argd}{4}\\
+ \ifnum\value{aq@numb}=4\hline\else\ifAQ@global@sep\cline{2-2}\fi
+&\setkeys[AQ]{local}{#1}%
+ \aq@prop{\aq@arge}{5}\\
+\hline\fi\fi\fi}%
+%<------------------------->
+\def\aqtextfortrue{\textbf{V}}
+\def\aqtextforfalse{\textbf{F}}
+\newcommand{\aq@questionVF}[2][]{%
+\setkeys[AQ]{local}{#1}
+\stepcounter{AQ@numquestion}%
+\setcounter{AQ@numprop}{0}% v0.93
+\ifcase\aqlocall@ng
+\protected@xdef\aq@arga{\textbf{V}}
+\protected@xdef\aq@argb{\textbf{F}}
+\or
+\protected@xdef\aq@arga{\textbf{T}}
+\protected@xdef\aq@argb{\textbf{F}}
+\or
+\protected@xdef\aq@arga{\textbf{R}}
+\protected@xdef\aq@argb{\textbf{F}}
+\or
+\protected@xdef\aq@arga{\textbf{Σ}}
+\protected@xdef\aq@argb{\textbf{Λ}}
+\or %--- wjb
+\protected@xdef\aq@arga{\textbf{П}}
+\protected@xdef\aq@argb{\textbf{Ф}}
+\or
+\protected@xdef\aq@arga{\textbf{V}}
+\protected@xdef\aq@argb{\textbf{F}}
+\or
+\protected@xdef\aq@arga{\textbf{正}}
+\protected@xdef\aq@argb{\textbf{误}}
+\or
+\protected@xdef\aq@arga{\aqtextfortrue}
+\protected@xdef\aq@argb{\aqtextforfalse}
+\fi
+\setcounter{aq@numb}{2}%
+\aq@adjust{#2}%
+\multirow{3}{\cmdAQ@global@lq}[\cmdAQ@local@pq]{%
+\ifAQ@global@num\aq@style@numquest{\cmdAQ@global@numstyle{AQ@numquestion}.}\hspace{3pt}\fi
+#2\vss}%
+ &\setkeys[AQ]{local}{#1}\aq@prop{\aq@arga}{1}\\
+\ifAQ@global@sep \cline{2-2}\fi
+ &\setkeys[AQ]{local}{#1}\aq@prop{\aq@argb}{2}\\
+\hline}%
+%<------------------------->
+\newenvironment{alterqcm}[1][]{%
+\ifAQ@global@numprop \setkeys [AQ] {global} {nosquare = true}{}\fi
+\setkeys[AQ]{global}{#1}%
+\ifx\aqutil@empty\cmdAQ@global@points \else
+\points{\cmdAQ@global@points}
+\fi
+\setcounter{AQ@numquestion}{\cmdAQ@global@numbreak}%
+\ifAQ@global@VF\let\AQquestion\aq@questionVF\let\aq@pre\aq@preVF\fi
+\ifAQ@global@pre\aq@pre\par\cmdAQ@global@afterpreskip\fi
+\ifAQ@global@long%
+\setlength\LTleft{0pt}%
+\setlength\LTright\fill%
+\setlength{\LTpre}{\intextsep}%
+\setlength{\LTpost}{\intextsep}%
+\begin{longtable}[l]{%
+@{}|>{\cmdAQ@global@size}p{\cmdAQ@global@lq}!{\extracolsep{\fill}}%
+|>{\cmdAQ@global@size}p{\textwidth-\tabcolsep*4-\arrayrulewidth*3-\cmdAQ@global@lq}|@{}}%
+ \else
+ \begin{tabular}{%
+ @{}|>{\cmdAQ@global@size}p{\cmdAQ@global@lq}%
+ |>{\cmdAQ@global@size}p{%
+ \textwidth-\tabcolsep*4-\arrayrulewidth*3-\cmdAQ@global@lq}%
+ |@{}}%
+ \fi
+ \ifAQ@global@title\aq@title\else\hline\fi%
+}%
+{\ifAQ@global@long
+ \end{longtable}%
+ \else
+ \end{tabular}%
+ \fi
+}%
+%<------------------------->
+% #1 chemin & #2 theme & #3 liste de numéros
+% code de JC Charpentier
+%----------------------------------------------------------%
+\newcommand\InputQuestionList[3]{%
+ \aq@tdml@a={}%
+ \aq@tdml@b={}%
+ \ifx\relax#3\relax\else
+ \tdml@#3,\@nil,\expandafter\tdml@clean\the\aq@tdml@a\@nil
+ \fi
+ \expandafter\gdef\expandafter\last@val\expandafter{\the\aq@tdml@b}%
+ \AQ@TA{#1}{#2}{\the\aq@tdml@a}%
+ \AQ@TB{#1}{#2}{\last@val}}
+%----------------------------------------------------------%
+\long\def\tdml@#1,{%
+ \ifx\@nil#1\relax
+ \else
+ \expandafter\addtotoks\the\aq@tdml@b,\to\aq@tdml@a
+ \aq@tdml@b={#1}%
+ \expandafter\tdml@
+ \fi
+}
+%----------------------------------------------------------%
+\long\def\addtotoks#1\to#2{%
+ #2=\expandafter{\the#2#1}%
+}%
+%----------------------------------------------------------%
+\long\def\tdml@clean,#1\@nil{%
+ \ifx\relax#1\relax
+ \aq@tdml@a{}%
+ \else
+ \tdml@@clean#1\@nil
+ \fi
+}
+%----------------------------------------------------------%
+\long\def\tdml@@clean#1,\@nil{%
+ \aq@tdml@a{#1}%
+}%
+%----------------------------------------------------------%
+%----------------------------------------------------------%
+\newcommand\AQ@TA[3]{\@for\nb:=#3\do{%
+\input #1#2\nb}%
+}%
+\newcommand\AQ@TB[3]{\input#1#2#3}%
+%----------------------------------------------------------%
+% from forloop.sty
+\newcommand{\aq@forLoop}[5][1]
+{%
+\setcounter{#4}{#2}%
+\ifthenelse{\value{#4}<#3}%
+{#5\addtocounter{#4}{#1}%
+\aq@forLoop[#1]{\value{#4}}{#3}{#4}{#5}%
+}%
+{\ifthenelse{\value{#4}=#3}%
+{#5}{}}}%
+
+%----------------------------------------------------------%
+\def\aq@tvi(#1,#2){\vrule height #1pt depth #2pt width 0pt}
+\define@cmdkey [AQ] {ann} {propstyle}[true]{}
+\define@boolkey[AQ] {ann} {VF}[true]{}
+\presetkeys [AQ] {ann} {propstyle = \arabic,
+ VF = false}{}
+\newcommand*{\AQannexe}[4][]{%
+\setkeys[AQ]{ann}{#1}%
+\aq@tmp=#4 %
+\advance\aq@tmp by 1 %
+\begin{tabular}{*{\number\aq@tmp}{|>{\hfill}c}|}\hline%
+ \ifAQ@ann@VF%
+N&V&F%
+ \else
+N\aq@forLoop{1}{#4}{aq@identCol}%
+ {& \cmdAQ@ann@propstyle{aq@identCol}}\fi
+\tabularnewline\hline%
+\aq@forLoop{#2}{#3}{aq@identRow}
+ {\number\value{aq@identRow}&%
+ \aq@forLoop{2}{\number\aq@tmp}{aq@identCol}%
+ {$\ $%
+ \ifthenelse{\equal{\value{aq@identCol}}{#4}}{}{&}%
+ }%
+\tabularnewline\hline}%
+\end{tabular}%
+}%
+%----------------------------------------------------------%
+\newcommand\AQpoints[1]{%
+\marginpar{%
+\begin{tabular}{|c|}
+ \hline
+ \textbf{#1}\\
+ \hline\\
+ \hline
+\end{tabular}}}
+\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/covington/README b/macros/latex/contrib/covington/README
index 2ff405d3de..327cb913a5 100644
--- a/macros/latex/contrib/covington/README
+++ b/macros/latex/contrib/covington/README
@@ -31,6 +31,10 @@ The package consists of the following files:
== CHANGES ==
+* Version 2.6 (2021-05-19):
+ - New length \exampleind to adjust (increase/decrease) the indentation (left margin)
+ of examples.
+
* Version 2.5 (2021-03-21):
- Fix metrics of stacked diacritics with XeTeX/LuaTeX.
diff --git a/macros/latex/contrib/covington/covington.pdf b/macros/latex/contrib/covington/covington.pdf
index dbb6f3caad..5a56381da2 100644
--- a/macros/latex/contrib/covington/covington.pdf
+++ b/macros/latex/contrib/covington/covington.pdf
Binary files differ
diff --git a/macros/latex/contrib/covington/covington.sty b/macros/latex/contrib/covington/covington.sty
index 2bd80b0339..79601a2eba 100644
--- a/macros/latex/contrib/covington/covington.sty
+++ b/macros/latex/contrib/covington/covington.sty
@@ -42,8 +42,8 @@
%%% Metadata
%%%
-\def\filedate{2021/03/21}
-\def\fileversion{2.5}
+\def\filedate{2021/05/19}
+\def\fileversion{2.6}
\def\filename{covington.sty}
% Force redefinition of environments?
@@ -245,6 +245,9 @@
\newlength\examplenumbersep
\setlength\examplenumbersep{0pt}
+\newlength\exampleind
+\setlength\exampleind{0pt}
+
\newcommand*\covexnumber[1]{(#1)}
\newenvironment{covexamples}% % define "example" environment
@@ -253,6 +256,7 @@
{%
\addtolength{\labelwidth}{\examplenumbersep}%
\addtolength{\leftmargin}{\examplenumbersep}%
+\addtolength{\leftmargin}{\exampleind}%
\ifownexcounter
\setcounter{covexsave}{\arabic{covex}}%
\usecounter{covex}% % sets it to zero, unwantedly
diff --git a/macros/latex/contrib/covington/covington.tex b/macros/latex/contrib/covington/covington.tex
index e22796a1d8..74cc19f33d 100644
--- a/macros/latex/contrib/covington/covington.tex
+++ b/macros/latex/contrib/covington/covington.tex
@@ -94,8 +94,8 @@
%
% Titling
%
-\def\pversion{Version 2.5}
-\def\pdate{March 21, 2021}
+\def\pversion{Version 2.6}
+\def\pdate{May 19, 2021}
\title{\textbf{The \cvt\ Package\\Macros for Linguistics}}
\author{Michael A. Covington \and J\"urgen Spitzm\"uller\thanks{Current maintainer.
@@ -274,6 +274,10 @@ If you need more space between the example number and the text, you can increase
the length \jcsmacro{examplenumbersep} (which is preset to \texttt{0pt}). Doing \lstinline|\setlength\examplenumbersep{1em}|,
for instance, will increase the space by 1\,em (negative values will decrease the space accordingly).
+If you need to change the indentation (left margin) of examples, you can do so by means of
+the length \jcsmacro{exampleind} (preset to \texttt{0pt}). Doing \lstinline|\setlength\exampleind{1em}|,
+for instance, will increase the indentation by 1\,em, negative values will decrease it accordingly.
+
Note that, as of version 1.1, \cvt\ checks if there is already an \jenv{example} environment defined
(e.\,g., by the class). If so, \cvt\ does not
define its own one. However, there is always the alias environment \jenv{covexample} which can be used in order to
@@ -332,6 +336,8 @@ existing \jenv{examples} environments. The package will issue a warning if \jenv
(this is the case, for instance, if you use \cvt\ with the \texttt{beamer} class), telling you
how it has dealt with the situation.
+Please refer to sec.~\ref{sec:ex} for ways to adjust the spacing of the environment.
+
\subsection[The \texttt{subexamples} environment]{The \jenv{subexamples} environment}\label{sec:subexs}
@@ -410,6 +416,9 @@ for instance, will come out like this:
\item This is the first sentence.
\item This is the second sentence.
\end{subexamples}
+%
+To change the indentation (left margin) of subexamples, adjust the length \jcsmacro{exampleind}
+(preset to \texttt{0pt}). Note that this also applies to the \jenv{examples} environment.
\egroup
@@ -1095,6 +1104,14 @@ it.
\section{Release history}
+\subsection*{2.6 (2021 May 19)}
+
+\begin{itemize}
+ \item New length \jcsmacro{exampleind} to adjust (increase/decrease)
+ the indentation (left margin) of examples.
+ See sec.~\ref{sec:ex} for details.
+\end{itemize}
+
\subsection*{2.5 (2021 March 21)}
\begin{itemize}
diff --git a/macros/latex/contrib/easybook/easybook.dtx b/macros/latex/contrib/easybook/easybook.dtx
index 81f9679ad5..c9295ed617 100644
--- a/macros/latex/contrib/easybook/easybook.dtx
+++ b/macros/latex/contrib/easybook/easybook.dtx
@@ -23,11 +23,11 @@
%
% \changes{v1.20}{2021/01/09}{修改和完善用户文档。}
% \changes{v1.20}{2021/01/09}{模板更改为使用 CC-BY 许可协议。}
-% \changes{v1.25l}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
+% \changes{v1.25m}{2021/05/03}{取消附带的示例文件,可查看历史版本及其它来源的使用样例。}
%
% \title{\sffamily easybook 文档类手册}
% \author{瞿毅}
-% \date{2021/05/18\hskip\ccwd\relax v1.25l\thanks{\url{https://gitee.com/texl3/easybook}}}
+% \date{2021/05/19\hskip\ccwd\relax v1.25m\thanks{\url{https://gitee.com/texl3/easybook}}}
%
% \maketitle
% \begin{abstract}
@@ -71,7 +71,7 @@
%
% \subsection{字体设置}
% \label{subsec:font settings}
-% 默认使用 \CTeX 预置中文字库,当开启 \opt{font = noto} 选项时需要安装开源字体,中文使用方正系列的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}和{\fangsong 方正仿宋},英文使用思源系列的{\rmfamily Noto Serif}、{\sffamily Noto Sans}和{\ttfamily Noto Sans Mono},数学字体使用 \pkg{notomath}。相关选项可以见节 \ref{sec:document class options} 中的 \opt{font} 选项,字体点击此处下载\href{https://wwe.lanzoui.com/b01ns361i}{下载地址}。
+% 默认使用 \CTeX 预置中文字库,当开启 \opt{font = noto} 选项时需要安装开源字体,中文使用方正系列的{\songti 方正书宋}、{\heiti 方正黑体}、{\kaishu 方正楷体}和{\fangsong 方正仿宋},英文使用思源系列的{\rmfamily Noto Serif}、{\sffamily Noto Sans}和{\ttfamily Noto Sans Mono},数学字体默认使用 \pkg{notomath}。相关选项可以见节 \ref{sec:document class options} 中的 \opt{font} 选项,字体点击此处下载\href{https://wwe.lanzoui.com/b01ns361i}{下载地址}。
%
% 如果您不想使用 \CTeX 默认字体和方正、思源字体,\textbf{自定义字体}需启用选项 \opt{font = none},并可在导言区设置中文字体,粗体与斜体不设置会产生警告。
% \begin{ctexexam}
@@ -117,7 +117,7 @@
% \end{syntax}
% 传递给 \cls{ctexbook} 设置字体,最好不要使用原有的 \opt{fontset} 选项,默认情况下使用自定义字体而不开启这个选项,可根据安装的字体及电脑系统选取。\opt{noto} 与 \opt{none} 选项的相关描述见小节 \ref{subsec:font settings},\opt{overleaf} 是一个各系统通用选项,会检测系统环境选取对应字体。
% \changes{v1.21}{2021/01/12}{默认字体与 \CTeX 一致,不再是自定义字体。}
-% \changes{v1.25l}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
+% \changes{v1.25m}{2021/05/04}{修复使用 \pkg{xeCJK} 与 \pkg{fontspec} 宏包的字体设置命令在 \hologo{LuaLaTeX} 下失效的问题。}
% \end{function}
%
% \begin{function}[rEXP,added = 2021-01-05,updated = 2021-01-13]{paper}
@@ -168,7 +168,7 @@
% \tn{listoflistings*+}\oarg{键值列表}
% \end{syntax}
% \tn{listoffigures} 命令输出图片目录,\tn{listoftables} 输出表格目录,\tn{listoflistings} 输出代码目录。带有星号的目录命令不将标题添加进主文档目录,带有+号的目录命令可以使当前标题编号。\tn{tableofcontents+} 与其它命令不同是用于输出双语目录,需要与双语目录标题命令 \tn{bichapter} 等或设置图片、表格和代码等英文目录的标题配合使用,附加代码是中文与英文目录之间的代码,可以插入文本和换页命令等。目录的键值列表选项如下
-% \changes{v1.25l}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
+% \changes{v1.25m}{2021/05/05}{命令 \tn{tableofcontents} 可以输出双语目录。}
% \end{function}
%
% \begin{function}{multoc,title,format,aftertitle,pagestyle,book,article}
@@ -199,7 +199,7 @@
% 双语目录的标题命令目前设置了常用的三个级别,它们将中文标题正常输出,并使中英文标题加入双语目录,这个功能是为国内一些大学的学位论文模板的要求设计,在一般情况和英文模式下不需要使用。
%
% 它们的星号变体命令使文中标题不编号,但是仍然加入双语目录,若英文标题参数空置那么仅加入中文目录而不加入英文目录,这一特点与 \tn{chapter*} 等命令的行为不太一样,在一些情况下会用到。可选参数是目录中的中文标题,默认与中文标题一致,正文标题过长时可用它设置在目录中显示的标题。双语目录的格式是一致的,共享使用 \tn{tocset} 的设置,英文目录的章级别标题名及编号的修改方式如下
-% \changes{v1.25l}{2021/05/05}{增加与双语目录配合的标题命令。}
+% \changes{v1.25m}{2021/05/05}{增加与双语目录配合的标题命令。}
% \end{function}
%
% \begin{function}{biname,binmuber}
@@ -228,7 +228,7 @@
% \begin{tabular}{*{5}{c}}
% \toprule
% \hyperref[subsec:style]{风格} & \hyperref[subsec:other font]{其它字体} & \hyperref[subsec:spacing]{行距} & \hyperref[subsec:hyperlinks]{超链接} & \hyperref[subsec:reference]{参考文献} \\
-% style & elsefont & spread & refset & bibset \\
+% style & subfont & spread & refset & bibset \\
% \midrule
% \hyperref[subsec:theorem of style]{定理样式} & \hyperref[subsec:page margins]{页面尺寸} & \hyperref[subsec:header and footer]{页眉页脚} & \hyperref[subsec:catalog style]{目录样式} & \\
% thmset & geoset & hdrset & tocset & \\
@@ -239,14 +239,13 @@
%
% \subsection{风格}
% \label{subsec:style}
-% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-17]{color,color-all,multoc,withpart,footwith,notomath,rulewidth,uppercase,figure-sep,table-sep,listing-sep,equation-sep,number-sep,figpath}
+% \begin{function}[EXP,added = 2021-01-05,updated = 2021-05-19]{color,color-all,multoc,withpart,footwith,rulewidth,uppercase,figure-sep,table-sep,listing-sep,equation-sep,number-sep,figurepath}
% \begin{syntax}
% color = <(none)|seaside|energy|cyberpunk>
% color-all = <HTML颜色代码>
% multoc = <true|(false)>
% withpart = <true|(false)>
% footwith = <part|(chapter)|page>
-% notomath = <(true)|false>
% rulewidth = <(0.75pt)>
% uppercase = <(true)|false>
% figure-sep = <(.)>
@@ -254,7 +253,7 @@
% listing-sep = <(.)>
% equation-sep = <(.)>
% number-sep = <(.)>
-% figpath = \{\{路径名1\}\{路径名2\}\}
+% figurepath = \{\{路径名1\}\{路径名2\}\}
% \end{syntax}
% \ding{229} 以上选项路径为 \opt{style/...}
% \changes{v1.10}{2021/01/08}{更改颜色实现方式与选项名。}
@@ -276,7 +275,6 @@
% \item[multoc] 开启双栏目录,可与 \opt{onecolumn} 和 \opt{twocolumn} 选项配合出单栏正文、单栏目录,双栏正文、单栏目录,单栏正文、双栏目录和双栏正文、双栏目录四种方式。
% \item[withpart] 使章跟随每一部分编号,默认不跟随。
% \item[footwith] 使脚注跟随编号的计数器,默认跟随章,当开启新的一章时脚注编号从1开始。
-% \item[notomath] 使用 \opt{noto} 风格的数学字体,将会加载 \pkg{newtxmath} 宏包。关闭此选项时可以使用 \pkg{unicode-math} 等宏包自定义数学字体。
% \item[rulewidth] 调整页眉、定理盒子以及代码框线条的粗细。
% \item[uppercase] 使用 \tn{rightmark} 及 \tn{leftmark} 获取标题内容设置页眉页脚时英文是否大小写。
% \item[figure-sep] 图片标题编号的连接符。
@@ -284,7 +282,7 @@
% \item[listing-sep] 代码标题编号的连接符。
% \item[equation-sep] 公式编号的连接符。
% \item[number-sep] 统一设置所有编号的连接符。
-% \item[figpath] 设置插入图片的文件夹路径名,可以有多个路径名,但需要包含在括号内作为间隔,即使只有一个路径。
+% \item[figurepath] 设置插入图片的文件夹路径名,可以有多个路径名,但需要包含在括号内作为间隔,即使只有一个路径。
% \end{optdesc}
%
% \subsection{超链接}
@@ -301,7 +299,7 @@
% \changes{v1.10}{2021/01/08}{修复了 \opt{linktopage} 选项关闭时目录中标题编号无超链接的问题。}
% \changes{v1.23}{2021/03/19}{修复在 \pkg{ctex} v2.5.6 更新后 \cls{easybook} 与 \pkg{hyperref} 冲突问题。}
% \changes{v1.24}{2021/04/05}{增加 \pkg{hyperref} 超链接选项完整的支持。}
-% \changes{v1.25l}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。}
+% \changes{v1.25m}{2021/05/06}{模块名 \opt{link} 改为 \opt{refset},\opt{link} 作为兼容性保留。}
% \end{function}
%
% \begin{optdesc}
@@ -346,17 +344,19 @@
%
% \subsection{其它字体}
% \label{subsec:other font}
-% \begin{function}[EXP,added = 2021-01-08,updated = 2021-05-12]{table-cap,figure-cap,listing-cap,footnote,marginpar}
+% \begin{function}[EXP,added = 2021-01-08,updated = 2021-05-19]{table-cap,figure-cap,listing-cap,footnote,marginpar,math}
% \begin{syntax}
% table-cap = <\tn{sffamily}\tn{small}>
% figure-cap = <\tn{sffamily}\tn{small}>
% listing-cap = <\tn{sffamily}\tn{small}>
% footnote = <\tn{rmfamily}>
% marginpar = <\tn{rmfamily}\tn{footnotesize}>
+% math = <times|(noto)|notosans|scholax|stix|charter|ebgaramond|libertine|none>
% \end{syntax}
-% \ding{229} 以上选项路径为 \opt{elsefont/...}
+% \ding{229} 以上选项路径为 \opt{subfont/...}
% \changes{v1.10}{2021/01/08}{加入自定义非正文字体选项。}
% \changes{v1.23}{2021/02/08}{修复使用 \tn{zihao} 命令设置字体失效的问题。}
+% \changes{v1.25m}{2021/05/19}{其它字体模块名由 \opt{elsefont} 改为 \opt{subfont},并增加数学字体的选项 \opt{subfont/math}。}
% \end{function}
%
% \begin{optdesc}
@@ -365,6 +365,7 @@
% \item[listing-cap] 代码标题的字体设置。
% \item[footnote] 脚注的字体设置,包括脚注标记与内容的字体。
% \item[marginpar] 边注的字体设置。
+% \item[math] 选择合适的数学字体,将会加载 \pkg{newtxmath} 和 \pkg{bm} 宏包。使用选项 \opt{none} 时可以使用 \pkg{unicode-math} 等其它数学字体宏包定义字体。
% \end{optdesc}
%
% \subsection{参考文献}
@@ -380,7 +381,7 @@
% \changes{v1.21}{2021/01/11}{增加 \opt{bibset} 选项,可以使用 \hologo{BibTeX} 或 \hologo{biber} 编译参考文献。}
% \changes{v1.23}{2021/02/23}{使用 \opt{bibset} 选项时可设置标注风格。}
% \changes{v1.24}{2021/04/09}{可以不载入参考文献包手动配置参考文献格式。}
-% \changes{v1.25l}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。}
+% \changes{v1.25m}{2021/05/12}{取消 \opt{bib-loadpkg} 选项,由是否设置参考文献数据库来决定载入宏包。}
% \end{function}
%
% \begin{optdesc}
@@ -443,15 +444,15 @@
% \item[spacepost] 定理标题后与第一段内容的间隔。
% \end{optdesc}
%
-% \begin{function}[added = 2021-01-12,updated = 2021-04-25]{\newtheorem,\EbNewtheorem,\declaretheoremstyle}
+% \begin{function}[added = 2021-01-12,updated = 2021-04-25]{\newtheorem,\EbNewTheorem,\declaretheoremstyle}
% \begin{syntax}
% \tn{newtheorem}\oarg{键值列表}\marg{定理环境名}
-% \tn{EbNewtheorem}\marg{定理环境名}\oarg{英文标题}\marg{中文标题}\parg{盒子样式|(tc-theorem)}\oarg{键值列表}
+% \tn{EbNewTheorem}\marg{定理环境名}\oarg{英文标题}\marg{中文标题}\parg{盒子样式|(tc-theorem)}\oarg{键值列表}
% \tn{declaretheoremstyle}\oarg{键值列表}\marg{定理样式名}
% \end{syntax}
% 文档类已预置8个定理环境,环境名及对应的定理标题名见小节 \ref{subsec:theorem},如果需要新的定理标题名或定理样式可使用这两个命令。
% \changes{v1.23}{2021/03/12}{重新定义了新定理环境命令 \tn{newtheorem}。}
-% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{EbNewtheorem}。}
+% \changes{v1.24}{2021/04/25}{增加定义定理环境命令 \tn{EbNewTheorem}。}
% \end{function}
%
% \begin{optdesc}
@@ -462,7 +463,7 @@
% \item[numberlike] 定理将使用此计数器进行编号,通常这是另一个定理环境的名称。
% \item[style] 用 \tn{declaretheoremstyle} 定义的定理样式的名称,定理将使用这种样式的设置。
% \end{description}
-% \item[\tn{EbNewtheorem}] \tn{EbNewtheorem} 是更便捷的定理命令,它定义一个新的定理环境,键值列表支持的选项与 \tn{newtheorem} 相同,但它们的区别有
+% \item[\tn{EbNewTheorem}] \tn{EbNewTheorem} 是更便捷的定理命令,它定义一个新的定理环境,键值列表支持的选项与 \tn{newtheorem} 相同,但它们的区别有
% \begin{itemize}
% \item 中英文模式下标题不同,英文标题为可选项,默认为首字母大写的环境名。
% \item 自动定义交叉引用的格式,引用标签前缀为定理名称。
@@ -475,7 +476,7 @@
% \subsubsection{新的定理样式}
% 定理由 \pkg{thmtools} 设置,预置定理的样式为 \opt{easy-theorem},上述定理样式选项将对这个定理样式生效。如果使用这个样式而只是增加新的定理名称,可以这样
% \begin{ctexexam}
-% \EbNewtheorem{定理环境名}{中文标题}[style = other theorem]
+% \EbNewTheorem{定理环境名}{中文标题}[style = other theorem]
% \newtheorem[style = easy-theorem,name = 定理名]{定理环境名}
% \end{ctexexam}
% \tn{newtheorem} 定义的定理环境需要手动增加盒子边框,可以如下进行设置
@@ -573,8 +574,8 @@
% \ding{229} 以上选项路径为 \opt{hdrset/...} \\
% 上面几个选项用于设置脚注格式,\opt{fnparskip} 和 \opt{fnparindent} 选项仅在 \opt{fnhang = true} 时有效。\opt{fnhang} 用于将脚注设置为悬挂缩进的格式,\opt{fnmark-pos} 选项设置脚注编号的位置,正常文本或是上标形式。\opt{fnmark-num} 选项设置脚注编号的格式,默认为原生样式 \opt{plain},还可以改为 \opt{pifont} 的各个版本,从左往右依次为普通版、阴文衬线版、阳文无衬线版和阴文无衬线版,缺点是它们的编号仅包括1-10。
%
-% \opt{fnmark-form} 是脚注标记的格式,默认为空,在此设置字体命令会覆盖 \opt{elsefont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。
-% \changes{v1.25l}{2021/05/12}{增加脚注样式设置选项。}
+% \opt{fnmark-form} 是脚注标记的格式,默认为空,在此设置字体命令会覆盖 \opt{subfont/footnote} 的设置,最后一个格式命令可以带有一个参数,这个参数接受脚注编号,一般配合 \opt{fnmark-num = plain} 使用。\opt{afterfnmark} 是脚注标记后的代码,一般用于设置标记与文本间的距离。
+% \changes{v1.25m}{2021/05/12}{增加脚注样式设置选项。}
% \end{function}
%
% \subsection{目录样式}
@@ -593,17 +594,17 @@
% \opt{format} 是目录中标题的格式,可以设置字体和加入垂直间距等,垂直间距最好使用无间距重合的 \tn{addvspace} 命令,带有加号的 \opt{format+} 选项用于在已有的格式命令后附加内容。\opt{indent} 是目录中标题在页面左侧的缩进距离,应该有长度单位。\opt{rule} 选项中一般应当使用 \tn{tocrule} 命令,将会在接下来介绍。\opt{numsep} 是有编号的标题在目录中编号与标题的间距。
% \changes{v1.21}{2021/01/13}{增加配置目录样式的选项。}
% \changes{v1.24}{2021/04/20}{增加目录中编号与标题的间距选项 \opt{numsep}。}
-% \changes{v1.25l}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
+% \changes{v1.25m}{2021/05/14}{可以分别设置图片、表格和代码目录的格式。}
% \end{function}
%
-% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberline}
+% \begin{function}[added = 2021-01-13,updated = 2021-04-20]{\tocrule,\EbNumberLine}
% \begin{syntax}
% \tn{tocrule}*\oarg{引导点间距|(0.7pc)}\parg{引导点大小|(1.2)}\marg{引导点}\oarg{页码格式}
-% \tn{EbNumberline}\marg{编号类型}
+% \tn{EbNumberLine}\marg{编号类型}
% \end{syntax}
% \tn{tocrule} 命令生成目录引导线,需要在 \opt{rule} 选项中使用。带有星号的命令会使当前级别的目录引导线右边与页码连接而不是对齐。引导点间距需带有长度单位,引导点大小不带单位,为引导点符号正常大小的倍数,引导点一般为英文句号或 \tn{cdot} 中心点符号。页码格式的内容位于页码前面,可以设置页码字体、距离。
%
-% \tn{EbNumberline} 命令类似 \CTeX 的 \tn{CTEXnumberline} 命令,用于 \opt{tocline} 选项中设置目录标签的编号。区别是它需要在 \opt{tocset/hang = false} 时使用,否则目录中无法显示标题编号,使用它的时候 \opt{numsep} 选项仍然有效。\meta{编号类型} 为 \opt{chapter} 和 \opt{section} 等,也可用参数 \#1 代替当前级别类型,标题名用参数 \#2 代替一般不变。
+% \tn{EbNumberLine} 命令类似 \CTeX 的 \tn{CTEXnumberline} 命令,用于 \opt{tocline} 选项中设置目录标签的编号。区别是它需要在 \opt{tocset/hang = false} 时使用,否则目录中无法显示标题编号,使用它的时候 \opt{numsep} 选项仍然有效。\meta{编号类型} 为 \opt{chapter} 和 \opt{section} 等,也可用参数 \#1 代替当前级别类型,标题名用参数 \#2 代替一般不变。
% \end{function}
%
% \begin{ctexexam}
@@ -678,7 +679,7 @@
% \tn{end}\marg{环境名}
% \end{syntax}
% \pkg{tabularray} 是一个较新的宏包,不仅提供了 \pkg{tabularx}、\pkg{multirow}、和 \pkg{booktabs} 宏包的功能,并且不依赖其它宏包与它们同时使用不会产生冲突,还实现了用简便的键值列表方式设置表格样式。目前除了表头斜线以及跨页功能存在不足,其它方面已满足对表格绝大多数格式的需求,具体用法可见宏包的说明文档。
-% \changes{v1.25l}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。}
+% \changes{v1.25m}{2021/05/17}{使用功能更便捷齐全的 \pkg{tabularray} 宏包设置表格样式。}
% \end{function}
%
% \subsection{列表}
@@ -842,7 +843,7 @@
% \tn{qtyrange}\oarg{键值列表}\marg{数字1}\marg{数字2}\marg{单位}
% \end{syntax}
% \pkg{siunitx} 宏包的 \tn{num} 命令可以输出以科学计数法表示的数值,单位格式化命令 \tn{unit} 包含文字项目(例如字母或数字)时,使用 . 和 \~{} 放置在单元乘积中间,并使用 \_ 和 \^{} 正确放置指定的下标和上标。格式化方法可在数学和文本模式下使用。而 \tn{qty} 命令可用来输出带有单位的量,\tn{qtyrange} 可以输出带有范围和单位的量。
-% \changes{v1.25l}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。}
+% \changes{v1.25m}{2021/05/18}{\pkg{siunitx} 宏包 v3.0.0 更新后用法改变,修改相关配置选项。}
% \end{function}
%
% \begin{ctexexam}
@@ -979,7 +980,7 @@
%<*class>
\NeedsTeXFormat{LaTeX2e}[2020/10/01]
\RequirePackage{l3keys2e,etoolbox}
-\ProvidesExplClass{easybook}{2021/05/18}{1.25l}{beta}
+\ProvidesExplClass{easybook}{2021/05/19}{1.25m}{beta}
\cs_generate_variant:Nn \eb_ctex_define:nn { nx }
\cs_generate_variant:Nn \int_to_arabic:n { v }
@@ -1090,21 +1091,20 @@
{ xindy } { imakeidx },
{ CJKmath = true } { xeCJK },
{ no-math } { fontspec },
- { noto,upint } { newtxmath }
+ { upint } { newtxmath }
}
{ \PassOptionsToPackage #1 }
\eb_put_ctexbook:n { \g__eb_options_clist }
\LoadClass[UTF8]{ctexbook}
\bool_new:N \l__eb_multoc_bool
-\bool_new:N \l__eb_notomath_bool
\bool_new:N \l__eb_uppercase_bool
\bool_new:N \l__eb_chap_withpart_bool
-\tl_new:N \l__eb_foot_numberwith_tl
+\tl_new:N \l__eb_foot_numparent_choice_tl
\seq_const_from_clist:Nn \c__eb_options_path_seq
{
- style,elsefont,spread,
+ style,subfont,spread,
refset,bibset,thmset,
geoset,hdrset,tocset
}
@@ -1128,19 +1128,19 @@
withpart .bool_set:N = \l__eb_chap_withpart_bool,
withpart .default:n = true,
withpart .initial:n = false,
- notomath .bool_set:N = \l__eb_notomath_bool,
- notomath .default:n = true,
- notomath .initial:n = true,
rulewidth .dim_set:N = \l__eb_rule_width_dim,
rulewidth .initial:n = 0.75pt,
uppercase .bool_set:N = \l__eb_uppercase_bool,
uppercase .default:n = true,
uppercase .initial:n = true,
- figpath .tl_set:N = \l_eb_graphics_path_tl,
+ figurepath .tl_set:N = \l_eb_graphics_path_tl,
footwith .choices:nn =
{ part,page,chapter }
- { \tl_set_eq:NN \l__eb_foot_numberwith_tl \l_keys_choice_tl },
+ {
+ \tl_set_eq:NN
+ \l__eb_foot_numparent_choice_tl \l_keys_choice_tl
+ },
footwith .value_required:n = true,
footwith .initial:n = chapter,
@@ -1171,11 +1171,6 @@
enumitem,
listings
}
-\ctex_at_end_preamble:n
- {
- \bool_if:NT \l__eb_notomath_bool
- { \RequirePackage{newtxmath,bm} }
- }
\ctex_at_end:n
{
\tl_if_empty:NF \g__eb_config_tl
@@ -1302,8 +1297,6 @@
\cs_new_protected:Npn \kaishu { \eb_switch_family:n { kaishu } }
\cs_new_protected:Npn \fangsong { \eb_switch_family:n { fangsong } }
}
-\eb_at_end_preamble:n
- { \cs_if_exist:NF \kaishu { \cs_gset_eq:NN \kaishu \itshape } }
\includepdfset{fitpaper = true}
\geometry
@@ -1441,7 +1434,10 @@
fnmark-num .choices:nn =
{ plain,pifont,pifont*,pifont-sans,pifont-sans* }
- { \tl_gset_eq:NN \l__eb_fnmark_number_tl \l_keys_choice_tl },
+ {
+ \tl_gset_eq:NN
+ \l__eb_fnmark_number_choice_tl \l_keys_choice_tl
+ },
fnmark-num .value_required:n = true
}
@@ -1488,6 +1484,7 @@
}
\tl_if_empty:NF \l_eb_graphics_path_tl
{ \exp_args:No \graphicspath { \l_eb_graphics_path_tl } }
+ \cs_if_exist:NF \kaishu { \cs_gset_eq:NN \kaishu \itshape }
}
\eb_at_end_preamble:n
@@ -1500,12 +1497,12 @@
\dim_set:Nn \footnotesep { \dim_use:N \box_ht:N \strutbox }
\bool_if:NT \l__eb_chap_withpart_bool
{ \counterwithin*{chapter}{part} }
- \tl_if_eq:NnT \l__eb_foot_numberwith_tl { part }
+ \tl_if_eq:NnT \l__eb_foot_numparent_choice_tl { part }
{
\counterwithout*{footnote}{chapter}
\counterwithin*{footnote}{part}
}
- \tl_if_eq:NnT \l__eb_foot_numberwith_tl { page }
+ \tl_if_eq:NnT \l__eb_foot_numparent_choice_tl { page }
{
\counterwithout*{footnote}{chapter}
\counterwithin*{footnote}{page}
@@ -1518,14 +1515,14 @@
{
\linespread{\fp_use:N \l__eb_spread_footnote_fp}
\selectfont\ignorespaces
- \l__eb_font_footnote_tl
+ \l__eb_subfont_footnote_tl
}
\eb_patch_cmd:Nnn \@mpfootnotetext
{ \reset@font }
{
\linespread{\fp_use:N \l__eb_spread_footnote_fp}
\selectfont\ignorespaces
- \l__eb_font_footnote_tl
+ \l__eb_subfont_footnote_tl
}
\ctex_after_end_preamble:n
{
@@ -1533,7 +1530,7 @@
\eb_patch_cmd:Nnn \@footnotemark
{ \@makefnmark }
{
- \tl_use:N \l__eb_font_footnote_tl
+ \tl_use:N \l__eb_subfont_footnote_tl
\tl_use:N \l__eb_fnmark_format_tl
{\hbox:n { \textsuperscript{\@thefnmark} }}
}
@@ -1541,7 +1538,7 @@
}
\cs_set:Npn \@makefnmark
{
- \tl_use:N \l__eb_font_footnote_tl
+ \tl_use:N \l__eb_subfont_footnote_tl
\tl_use:N \l__eb_fnmark_format_tl
{
\hbox:n
@@ -1576,7 +1573,7 @@
{ \ding{\int_eval:n { 201 + #1 }} }
\cs_new:Npn \eb_footnote_counter:N #1
{
- \tl_case:NnF \l__eb_fnmark_number_tl
+ \tl_case:NnF \l__eb_fnmark_number_choice_tl
{
\c__eb_fnmark_number_plain_tl
{ \int_use:N #1 }
@@ -1651,7 +1648,7 @@
}
}
-\cs_new:Npn \EbNumberline #1
+\cs_new:Npn \EbNumberLine #1
{
\CTEXifname
{
@@ -1708,9 +1705,9 @@
{
\ctex_set:n
{
- chapter/tocline = \EbNumberline{##1}##2,
- section/tocline = \EbNumberline{##1}##2,
- subsection/tocline = \EbNumberline{##1}##2
+ chapter/tocline = \EbNumberLine{##1}##2,
+ section/tocline = \EbNumberLine{##1}##2,
+ subsection/tocline = \EbNumberLine{##1}##2
}
},
hang .default:n = true,
@@ -1938,8 +1935,8 @@
{ \bisection{\eb@toc@title}{\eb@bitoc@title} }
}{
\IfBooleanTF{#2}
- { \eb_title_mark_notoc:n {\eb@toc@title} }
- { \eb_title_mark_intoc:n {\eb@toc@title} }
+ {\eb_title_mark_notoc:n {\eb@toc@title}}
+ {\eb_title_mark_intoc:n {\eb@toc@title}}
}
}
\cs_new_protected:Npn \eb_biber_title_level_bool:n #1
@@ -1959,7 +1956,7 @@
\bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn }
}{
\boolfalse{@restonecol}
- \bool_if:NT \l__eb_multoc_bool { \twocolumn }
+ \bool_if:NTF \l__eb_multoc_bool { \twocolumn } { \onecolumn }
}
}
{ \tl_set:Nn \l__eb_toc_type_tl { article } }
@@ -2103,23 +2100,66 @@
}
}
-\tl_new:N \l__eb_font_table_tl
-\tl_new:N \l__eb_font_figure_tl
-\tl_new:N \l__eb_font_listing_tl
-\tl_new:N \l__eb_font_footnote_tl
+\tl_new:N \l__eb_subfont_table_tl
+\tl_new:N \l__eb_subfont_figure_tl
+\tl_new:N \l__eb_subfont_listing_tl
+\tl_new:N \l__eb_subfont_footnote_tl
+
+\seq_const_from_clist:Nn \c__eb_subfont_math_choice_seq
+ {
+ noto,notosans,times,scholax,stix,
+ charter,ebgaramond,libertine,none
+ }
+\seq_map_inline:Nn \c__eb_subfont_math_choice_seq
+ { \tl_const:cn { c__eb_subfont_math_#1_tl } {#1} }
-\eb_ctex_define:nn { elsefont }
+\eb_ctex_define:nn { subfont }
{
- table-cap .tl_set:N = \l__eb_font_table_tl,
+ table-cap .tl_set:N = \l__eb_subfont_table_tl,
table-cap .initial:n = \sffamily\small,
- figure-cap .tl_set:N = \l__eb_font_figure_tl,
+ figure-cap .tl_set:N = \l__eb_subfont_figure_tl,
figure-cap .initial:n = \sffamily\small,
- listing-cap .tl_set:N = \l__eb_font_listing_tl,
+ listing-cap .tl_set:N = \l__eb_subfont_listing_tl,
listing-cap .initial:n = \sffamily\small,
- footnote .tl_set:N = \l__eb_font_footnote_tl,
+ footnote .tl_set:N = \l__eb_subfont_footnote_tl,
footnote .initial:n = \rmfamily,
marginpar .tl_set:N = \marginfont,
- marginpar .initial:n = \rmfamily\footnotesize
+ marginpar .initial:n = \rmfamily\footnotesize,
+
+ math .choices:xn =
+ { \seq_use:Nn \c__eb_subfont_math_choice_seq { , } }
+ {
+ \tl_gset_eq:NN
+ \l__eb_subfont_math_choice_tl \l_keys_choice_tl
+ },
+ math .value_required:n = true,
+ math .initial:n = noto
+ }
+
+\cs_new_protected:Npn \eb_put_newtxmath:n #1
+ { \PassOptionsToPackage{#1}{newtxmath} }
+\eb_at_end_preamble:n
+ {
+ \tl_case:NnT \l__eb_subfont_math_choice_tl
+ {
+ \c__eb_subfont_math_noto_tl
+ { \eb_put_newtxmath:n { noto } }
+ \c__eb_subfont_math_notosans_tl
+ { \eb_put_newtxmath:n { notosans } }
+ \c__eb_subfont_math_ebgaramond_tl
+ { \eb_put_newtxmath:n { ebgaramond } }
+ \c__eb_subfont_math_times_tl
+ { \eb_put_newtxmath:n { noOT1 } }
+ \c__eb_subfont_math_libertine_tl
+ { \eb_put_newtxmath:n { libertine,noOT1 } }
+ \c__eb_subfont_math_stix_tl
+ { \eb_put_newtxmath:n { stix2,noOT1 } }
+ \c__eb_subfont_math_scholax_tl
+ { \eb_put_newtxmath:n { nc,noOT1 } }
+ \c__eb_subfont_math_charter_tl
+ { \eb_put_newtxmath:n { charter,noOT1 } }
+ }
+ { \RequirePackage{newtxmath,bm} }
}
\fp_new:N \l__eb_spread_line_fp
@@ -2152,9 +2192,9 @@
\DeclareCaptionLabelSeparator{ccwd}{\hspace{\ccwd}}
\DeclareCaptionLabelFormat{parens}{\bothIfFirst{#1}{~}(#2)}
-\DeclareCaptionFont{eb@table@font}{\l__eb_font_table_tl}
-\DeclareCaptionFont{eb@figure@font}{\l__eb_font_figure_tl}
-\DeclareCaptionFont{eb@listing@font}{\l__eb_font_listing_tl}
+\DeclareCaptionFont{eb@table@font}{\l__eb_subfont_table_tl}
+\DeclareCaptionFont{eb@figure@font}{\l__eb_subfont_figure_tl}
+\DeclareCaptionFont{eb@listing@font}{\l__eb_subfont_listing_tl}
\captionsetup
{
format = hang,
@@ -2270,7 +2310,7 @@
{ \tl_const:cn { c__eb_name_#1_tl } {#3} }
{ \tl_const:cn { c__eb_name_#1_tl } {#2} }
}
-\NewDocumentCommand{\EbNewtheorem}
+\NewDocumentCommand{\EbNewTheorem}
{mO{\text_titlecase_first:n {#1}}mD(){tc-theorem}O{}}
{
\ctex_at_end_preamble:n
@@ -2358,7 +2398,7 @@
{ remark } { 注 } [ numbered = no ],
{ { proof } { 证明 } [ numbered = no,qed = \qedsymbol ] }
}
- { \EbNewtheorem #1 }
+ { \EbNewTheorem #1 }
}
\ctex_at_end_package:nn { tasks }
@@ -2906,7 +2946,7 @@
part =
{
pagestyle = empty,
- tocline = \EbNumberline{#1}#2,
+ tocline = \EbNumberLine{#1}#2,
format = \color{ctex@frame}\sffamily\Huge,
aftername =
{
diff --git a/macros/latex/contrib/easybook/easybook.pdf b/macros/latex/contrib/easybook/easybook.pdf
index f9dffdf646..8e42cef60f 100644
--- a/macros/latex/contrib/easybook/easybook.pdf
+++ b/macros/latex/contrib/easybook/easybook.pdf
Binary files differ
diff --git a/macros/latex/contrib/pgfmath-xfp/README.md b/macros/latex/contrib/pgfmath-xfp/README.md
new file mode 100644
index 0000000000..fc82f5c8b0
--- /dev/null
+++ b/macros/latex/contrib/pgfmath-xfp/README.md
@@ -0,0 +1,30 @@
+-------------------------------------------------------------------------------
+# pgfmath-xfp -- define pgfmath functions using xfp
+
+Version 2021-05-19 v1.0
+
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+
+Hosted at https://github.com/Skillmon/ltx_pgfmath-xfp
+
+-------------------------------------------------------------------------------
+
+Copyright (C) 2021 Jonathan P. Spratte
+
+This work may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this license or
+(at your option) any later version. The latest version of this license is in
+the file:
+
+ http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+ Jonathan P. Spratte.
+
+-------------------------------------------------------------------------------
+
+This provides a wrapper that allows to define `pgfmath` functions using the
+`expl3` FPU (which's LaTeX2e document-level package is called `xfp`) for the
+calculations. Each input argument is parsed by `pgfmath` to normalize it to a
+form that `xfp` understands.
diff --git a/macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.dtx b/macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.dtx
new file mode 100644
index 0000000000..7e9571b43a
--- /dev/null
+++ b/macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.dtx
@@ -0,0 +1,503 @@
+% \iffalse meta-comment
+%
+% File: pgfmath-xfp.dtx Copyright (C) 2021 Jonathan P. Spratte
+%
+% This work may be distributed and/or modified under the conditions of the
+% LaTeX Project Public License (LPPL), either version 1.3c of this license or
+% (at your option) any later version. The latest version of this license is in
+% the file:
+%
+% http://www.latex-project.org/lppl.txt
+%
+% ------------------------------------------------------------------------------
+%
+%<*driver>^^A>>=
+\def\nameofplainTeX{plain}
+\ifx\fmtname\nameofplainTeX\else
+ \expandafter\begingroup
+\fi
+\input l3docstrip.tex
+\askforoverwritefalse
+\preamble
+
+--------------------------------------------------------------
+pgfmath-xfp -- define pgfmath functions using xfp
+E-mail: jspratte@yahoo.de
+Released under the LaTeX Project Public License v1.3c or later
+See http://www.latex-project.org/lppl.txt
+--------------------------------------------------------------
+
+Copyright (C) 2020-2021 Jonathan P. Spratte
+
+This work may be distributed and/or modified under the conditions of the
+LaTeX Project Public License (LPPL), either version 1.3c of this license or
+(at your option) any later version. The latest version of this license is in
+the file:
+
+ http://www.latex-project.org/lppl.txt
+
+This work is "maintained" (as per LPPL maintenance status) by
+ Jonathan P. Spratte.
+
+This work consists of the file pgfmath-xfp.dtx
+and the derived files pgfmath-xfp.pdf
+ pgfmath-xfp.sty
+
+\endpreamble
+% stop docstrip adding \endinput
+\postamble
+\endpostamble
+\generate{\file{pgfmath-xfp.sty}{\from{pgfmath-xfp.dtx}{pkg}}}
+\ifx\fmtname\nameofplainTeX
+ \expandafter\endbatchfile
+\else
+ \expandafter\endgroup
+\fi
+%
+\IfFileExists{pgfmath-xfp.sty}{\RequirePackage{pgfmath-xfp}}{}
+\ProvidesFile{pgfmath-xfp.dtx}
+ [\csname pgfmxfpDate\endcsname\space define pgfmath functions using xfp]
+\PassOptionsToPackage{full}{textcomp}
+\documentclass{l3doc}
+\RequirePackage{pgfplots}
+\pgfplotsset{compat=1.18}
+\RequirePackage[oldstylenums,nott]{kpfonts}
+\input{glyphtounicode}
+\pdfgentounicode=1
+\RequirePackage{listings}
+\RequirePackage{xcolor}
+\RequirePackage{microtype}
+\RequirePackage{accsupp}
+\lstset
+ {
+ ,flexiblecolumns=false
+ ,basewidth=.53em
+ ,gobble=2
+ ,basicstyle=\fontfamily{jkp}^^A\itshape
+ ,morekeywords=^^A
+ {^^A
+ }
+ ,morecomment=[l]\%
+ ,commentstyle=\color[gray]{0.4}
+ ,literate={\{}{{\CodeSymbol\{}}{1}
+ {\}}{{\CodeSymbol\}}}{1}
+ ^^A,literate=*{<key>}{\key}{4}{<set>}{\set}{4}
+ }
+\newcommand*\CodeSymbol[1]{\textbf{#1}}
+\RequirePackage{randtext}
+\let\metaORIG\meta
+\protected\def\meta #1{\texttt{\metaORIG{#1}}}
+\renewcommand*\thefootnote{\fnsymbol{footnote}}
+\makeatletter
+\definecolor{xfpred}{HTML}{9F393D}
+\colorlet{pgfgray}{black!75}
+\newcommand*\pgfmxfplogo
+ {^^A
+ \begingroup
+ \rmfamily
+ \bfseries
+ {\color{pgfgray}\scshape pgfmath}^^A
+ {\color{black}\textendash}^^A
+ {\color{xfpred}xfp}^^A
+ \endgroup
+ }
+\newcommand*\pgfmxfp
+ {^^A
+ \texorpdfstring
+ {^^A
+ \mbox
+ {^^A
+ \BeginAccSupp{ActualText=pgfmath-xfp}^^A
+ \href{https://github.com/Skillmon/ltx_pgfmath-xfp}{\pgfmxfplogo}^^A
+ \EndAccSupp{}^^A
+ }^^A
+ }
+ {pgfmath-xfp}^^A
+ }
+\hypersetup{linkcolor=red!80!black,urlcolor=purple!80!black}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+\DoNotIndex{}
+^^A\@gobble\fi ^^A ignoring \ifx and \ifcsname, but only one \fi
+\@ifdefinable\gobbledocstriptag{\def\gobbledocstriptag#1>{}}
+\makeatother
+\begin{document}
+ \title
+ {^^A
+ \texorpdfstring
+ {^^A
+ \huge\pgfmxfp
+ \\[\medskipamount]
+ \Large define \pkg{pgfmath} functions using \pkg{xfp}^^A
+ }{pgfmath-xfp - define pgfmath functions using xfp}^^A
+ }
+ \date{\pgfmxfpDate\space v\pgfmxfpVersion}
+ \author{Jonathan P. Spratte\thanks{\protect\randomize{jspratte@yahoo.de}}}
+ \DocInput{pgfmath-xfp.dtx}
+\end{document}
+%</driver>^^A=<<
+% \fi
+%
+% \maketitle
+% \renewcommand*\thefootnote{\arabic{footnote}}
+%
+% \begin{abstract}
+% \noindent\parfillskip=0pt
+% \pgfmxfp\ provides a small wrapper to define \pkg{pgfmath} functions which
+% use the floating point unit of \pkg{expl3} (of which the document-level
+% interface is called \pkg{xfp}).
+% \end{abstract}
+%
+% \tableofcontents
+%
+% \begin{documentation}^^A>>=
+%
+% \section{Documentation}
+%
+% This package serves as a stopgap to allow the usage of \pkg{xfp} in
+% \pkg{pgfmath} functions. It is only meant as a temporary fix to allow single
+% functions using the \pkg{expl3} fpu until a more sophisticated solution to
+% allow broader support for it in \textsc{pgf} is available.
+%
+% The defined functions should work correctly independent of the surrounding
+% \pkg{pgfmath} context. This is achieved by first parsing the arguments via
+% \cs{pgfmathsetmacro} with \textsc{pgf} settings applied locally to ensure
+% that the resulting format is understandable by \pkg{xfp}'s fpu.
+%
+% Though it has both \pkg{pgfmath} and \pkg{xfp} in its name, it only loads
+% \pkg{pgfmath} as a dependency, the access to \pkg{xfp}'s fpu is done at the
+% \pkg{expl3} level.
+%
+% It was created as a result of two questions on
+% \url{https://tex.stackexchange.com}:
+% \href
+% {https://tex.stackexchange.com/q/597549/117050}
+% {expl3 cannot see declared functions}
+% and
+% \href
+% {https://tex.stackexchange.com/q/584887/117050}
+% {pgf: “Dimension too large” in a function which fits into a graph,
+% /pgf/fpu=true does not help}.
+%
+% \subsection{Document-Level Interface}
+%
+% \begin{function}{\pgfmxfpdeclarefunction}
+% \begin{syntax}
+% \cs{pgfmxfpdeclarefunction}\marg{name}\marg{arg-count}\oarg{process-args}\marg{fp-expression}
+% \end{syntax}
+% Define a \pkg{pgfmath} function named \meta{name} that takes
+% \meta{arg-count} arguments. The behaviour is different depending on whether
+% the optional argument was used or not.
+% \begin{description}
+% \item[If it isn't] the \meta{fp-expression} can refer to the
+% \meta{arg-count} arguments using |#1|, \emph{etc.}, and will get the
+% arguments just like they are given to the function (translated to a
+% format that \pkg{xfp} will understand by parsing them through
+% \pkg{pgfmath} once).
+% \item[If it is] use \meta{process-args} to specify any number of
+% processed arguments in a comma separated list. Inside this list you can
+% specify up to nine processed arguments using \pkg{pgfmath} functions in
+% which you can refer to the arguments passed to your new function using
+% |#1|, \emph{etc}.
+% You can refer to these processed arguments inside \meta{fp-expression}
+% using |#1|, \emph{etc}. A result of this rule is that you have to
+% explicitly use |#1| in \meta{process-args} to forward it unaltered to
+% the underlying \pkg{xfp} expression.
+% \end{description}
+% \end{function}
+%
+% \subsection{Examples}
+%
+% The following are examples taken from the two questions responsible for this
+% package.
+%
+% \begin{lstlisting}
+% \pgfmxfpdeclarefunction{lognormal}{3}
+% {exp(-((ln(#1) - #2)^2) / (2 * (#3)^2)) / (#1 * #3 * sqrt(2 * pi))}
+%
+% \begin{tikzpicture}
+% \begin{axis}[ domain=0.01:10, samples=100 ]
+% \addplot {lognormal(x,ln(5),0.2)};
+% \end{axis}
+% \end{tikzpicture}
+% \end{lstlisting}
+% \begin{minipage}{\linewidth}
+% \pgfmxfpdeclarefunction{lognormal}{3}
+% {exp(-((ln(#1) - #2)^2) / (2 * (#3)^2)) / (#1 * #3 * sqrt(2 * pi))}
+% \begin{tikzpicture}
+% \begin{axis}[ domain=0.01:10, samples=100 ]
+% \addplot {lognormal(x,ln(5),0.2)};
+% \end{axis}
+% \end{tikzpicture}
+% \end{minipage}
+%
+% Showing that a single \pkg{pgfmath} function argument can result in multiple
+% arguments for the \pkg{xfp} expression. This example is suboptimal slow code,
+% but could be educational.
+%
+% \begin{lstlisting}
+% \pgfmxfpdeclarefunction{fplog}{1}{ln(#1)}
+% \pgfmxfpdeclarefunction{nlogn}{1}[#1,fplog(#1)]{#1 * #2}
+%
+% \begin{tikzpicture}
+% \begin{axis}[ domain=0.01:10, samples=50 ]
+% \addplot {nlogn(x)};
+% \end{axis}
+% \end{tikzpicture}
+% \end{lstlisting}
+% \begin{minipage}{\linewidth}
+% \pgfmxfpdeclarefunction{fplog}{1}{ln(#1)}
+% \pgfmxfpdeclarefunction{nlogn}{1}[#1,fplog(#1)]{#1 * #2}
+% \begin{tikzpicture}
+% \begin{axis}[ domain=0.01:10, samples=50 ]
+% \addplot {nlogn(x)};
+% \end{axis}
+% \end{tikzpicture}
+% \end{minipage}
+%
+%
+% \subsection{\pkg{expl3}-Level Interface}
+%
+% \begin{function}{\pgfmxfp_declare:nnn}
+% \begin{syntax}
+% \cs{pgfmxfp_declare:nnn} \marg{name} \marg{arg-count} \marg{fp-expression}
+% \end{syntax}
+% Defines a \pkg{pgfmath} function named \meta{name}, that takes
+% \marg{arg-count} arguments. The function will evaluate the
+% \meta{fp-expression} using the \pkg{l3fp} fpu and store the result for
+% \pkg{pgfmath}. The arguments can be referred using |#1|, \emph{etc}.
+% \end{function}
+%
+% \begin{function}{\pgfmxfp_declare_processed_args:nnnn}
+% \begin{syntax}
+% \cs{pgfmxfp_declare_processed_args:nnnn} \marg{name} \marg{arg-count} \marg{processed-args} \marg{fp-expression}
+% \end{syntax}
+% Defines a \pkg{pgfmath} function named \meta{name}, that takes
+% \marg{arg-count} arguments. The arguments will be evaluated through
+% \pkg{pgfmath} according to the comma separated list of
+% \meta{processed-args} (in which you can refer to the arguments using |#1|,
+% \emph{etc.}) and the results of which will be the arguments for the
+% \meta{fp-expression} (in which you can refer to the \meta{processed-args}
+% using |#1|, \emph{etc.}).
+% \end{function}
+%
+% \end{documentation}^^A=<<
+%
+% \begin{implementation}^^A>>=
+%
+% \clearpage
+%
+% \section{Implementation}^^A>>=
+%
+% \gobbledocstriptag
+%<*pkg>
+% \gobbledocstriptag
+%<@@=pgfmxfp>
+%
+% \subsection{General Package code}
+%
+% Some code for versioning support might not be available in older \LaTeXe{}
+% releases.
+% \begin{macrocode}
+\providecommand\DeclareRelease[3]{}
+\providecommand\DeclareCurrentRelease[2]{}
+% \end{macrocode}
+% Use these rollback functions to declare the current release.
+% \begin{macrocode}
+\DeclareCurrentRelease{}{2021-05-19}
+% \end{macrocode}
+%
+% Make sure \pkg{expl3} is available and load \pkg{pgfmath} and the \textsc{pgf}
+% fpu.
+% \begin{macrocode}
+\@ifundefined{ExplFileDate}
+ {\RequirePackage{expl3}}
+ {}
+\RequirePackage{pgfmath}
+\usepgflibrary{fpu}
+% \end{macrocode}
+%
+% \begin{macro}{\pgfmxfpDate, \pgfmxfpVersion}
+% Store version and date in a macro.
+% \begin{macrocode}
+\newcommand*\pgfmxfpDate{2021-05-19}
+\newcommand*\pgfmxfpVersion{1.0}
+% \end{macrocode}
+% \end{macro}
+%
+% Provide the package.
+% \begin{macrocode}
+\ProvidesExplPackage
+ {pgfmath-xfp} {\pgfmxfpDate}
+ {\pgfmxfpVersion} {define pgfmath functions using xfp}
+% \end{macrocode}
+%
+% \subsection{Document-Level Interface}
+%
+% \begin{macro}{\pgfmxfpdeclarefunction}
+% The document-level interface decides which of the two allocator functions
+% are used.
+% \begin{macrocode}
+\NewDocumentCommand \pgfmxfpdeclarefunction { m m o m }
+ {
+ \IfValueTF {#3}
+ { \pgfmxfp_declare_processed_args:nnnn {#1} {#2} {#3} }
+ { \pgfmxfp_declare:nnn {#1} {#2} }
+ {#4}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{\pkg{expl3}-Level Interface}
+%
+% \begin{macro}{\pgfmxfp_declare:nnn}
+% Start building the function body. First step is to initialize it with the
+% common code. Then we add to the function body the input parsing step. For
+% this we use a loop that will place
+% \cs{pgfmathsetmacro} \meta{tmp-cs_i} |{#|\meta{i}|}|
+% in the function body.
+% Afterwards we do the real definitions. This strange construct is used to
+% normalize the input. Depending on the context in which these functions are
+% used, the arguments might be in the internal format of \textsc{pgf}'s
+% \pkg{fpu}-library or something else that \pkg{l3fp} will not understand.
+% The \cs{pgfmathsetmacro} calls will be done in a local context in which
+% \textsc{pgf}'s \pkg{fpu}-library will be activated and set up to output in
+% a format \pkg{l3fp} understands.
+% \begin{macrocode}
+\cs_new_protected:Npn \pgfmxfp_declare:nnn #1#2#3
+ {
+ \@@_initialize_body:
+ \int_step_inline:nn {#2}
+ {
+ \tl_put_right:Nx \l_@@_function_body_tl
+ {
+ \exp_not:n { \pgfmathsetmacro } \exp_not:c { @@_arg##1 }
+ { \exp_not:n {####} ##1 }
+ }
+ }
+ \@@_define_function:nnnn {#2} {#1} {#2} {#3}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\pgfmxfp_declare_processed_args:nnnn}
+% This works mostly like \cs{pgfmxfp_declare:nnn}, but instead of
+% using an \cs{int_step_inline:nn}-loop this uses \cs{clist_map_inline:nn} to
+% map over the processed arguments. Those will be stored in the function body
+% as
+% \cs{pgfmathsetmacro} \meta{tmp-cs_i} |{|\meta{expr_i}|}|.
+% \begin{macrocode}
+\cs_new_protected:Npn \pgfmxfp_declare_processed_args:nnnn #1#2#3#4
+ {
+ \@@_initialize_body:
+ \int_zero:N \l_@@_args_int
+ \clist_map_inline:nn {#3}
+ {
+ \int_incr:N \l_@@_args_int
+ \tl_put_right:Nx \l_@@_function_body_tl
+ {
+ \exp_not:n { \pgfmathsetmacro }
+ \exp_not:c { @@_arg \int_use:N \l_@@_args_int }
+ { \exp_not:n {##1} }
+ }
+ }
+ \exp_args:NV \@@_define_function:nnnn \l_@@_args_int {#1} {#2} {#4}
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \subsection{Internals}
+%
+% \begin{variable}{\l_@@_function_body_tl}
+% This token list will be used to build the function's top-level definition.
+% \begin{macrocode}
+\tl_new:N \l_@@_function_body_tl
+% \end{macrocode}
+% \end{variable}
+%
+% \begin{variable}{\l_@@_args_int}
+% In the case of \cs{pgfmxfp_declare_processed_args:nnnn} we'll have
+% to count how many arguments the auxiliary function will take.
+% \begin{macrocode}
+\int_new:N \l_@@_args_int
+% \end{macrocode}
+% \end{variable}
+%
+%
+% \begin{macro}{\@@_initialize_body:}
+% Each function will have the same start setting up \textsc{pgf}'s \pkg{fpu}.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_initialize_body:
+ {
+ \tl_set:Nn \l_@@_function_body_tl
+ {
+ \group_begin:
+ \pgfkeys{/pgf/fpu=true, /pgf/fpu/output~format=sci}%
+ }
+ }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\@@_define_function:nnnn, \@@_define_function_aux:n}
+% First we define the internal function. Then add to the function body some
+% code that'll use \cs{use:x} to expand the temporary macros that store the
+% input arguments and forward the results to the internal function.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_define_function:nnnn #1#2#3#4
+ {
+ \@@_define_internal_function:nnn {#1} {#2} {#4}
+ \tl_put_right:Nx \l_@@_function_body_tl
+ {
+ \use:x
+ {
+ \exp_not:c { @@_function_ #2 _cmd }
+ \int_step_function:nN {#1} \@@_define_function_aux:n
+ }
+ }
+ \exp_args:Nnno
+ \pgfmathdeclarefunction {#2} {#3} \l_@@_function_body_tl
+ }
+% \end{macrocode}
+% The auxiliary is just used to build the temporary macro names and prevent
+% them from further expansion.
+% \begin{macrocode}
+\cs_new:Npn \@@_define_function_aux:n #1 { { \exp_not:c { @@_arg#1 } } }
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}
+% {\@@_define_internal_function:nnn, \@@_define_internal_function_aux:n}
+% The internal function is pretty straight forward, the only difficult part
+% is building the parameter list. For that we use some simple loop, a slow
+% but simplistic solution.
+% \begin{macrocode}
+\cs_new_protected:Npn \@@_define_internal_function:nnn #1#2#3
+ {
+ \exp_last_unbraced:Nx
+ \cs_set_protected:cpn
+ {
+ { @@_function_ #2 _cmd }
+ \int_step_function:nN {#1} \@@_define_internal_function_aux:n
+ }
+ { \group_end: \exp_args:Nf \pgfmathparse { \fp_eval:n {#3} } }
+ }
+\cs_new:Npn \@@_define_internal_function_aux:n #1 { \exp_not:n {## #1} }
+% \end{macrocode}
+% \end{macro}
+\ExplSyntaxOff
+%^^A=<<
+%
+% \end{implementation}^^A=<<
+%
+% \clearpage
+% \PrintIndex
+%
+\endinput
+%
+^^A vim: ft=tex fdm=marker fmr=>>=,=<<
diff --git a/macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.pdf b/macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.pdf
new file mode 100644
index 0000000000..7b03b1fdfa
--- /dev/null
+++ b/macros/latex/contrib/pgfmath-xfp/pgfmath-xfp.pdf
Binary files differ
diff --git a/macros/latex/contrib/pm-isomath/README.txt b/macros/latex/contrib/pm-isomath/README.txt
index cf98e8ff02..3b23a56269 100644
--- a/macros/latex/contrib/pm-isomath/README.txt
+++ b/macros/latex/contrib/pm-isomath/README.txt
@@ -1,4 +1,4 @@
- README.txt file for pm-isomath.sty 2021/05/03 v.1.1.01
+ README.txt file for pm-isomath.sty 2021/05/15 v.1.1.07
Distributable under the LaTeX Project Public License,
diff --git a/macros/latex/contrib/pm-isomath/pm-isomath.dtx b/macros/latex/contrib/pm-isomath/pm-isomath.dtx
index 466885491a..61a4df91da 100644
--- a/macros/latex/contrib/pm-isomath/pm-isomath.dtx
+++ b/macros/latex/contrib/pm-isomath/pm-isomath.dtx
@@ -50,14 +50,14 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%
% \iffalse
%^^A The following trick uses the same date for every file header.
-%<style>\NeedsTeXFormat{LaTeX2e}[2017/01/01]
+%<style>\NeedsTeXFormat{LaTeX2e}[2019/01/01]
%<*driver>
\ProvidesFile{pm-isomath.dtx}[%
%</driver>
%<style>\ProvidesPackage{pm-isomath}[%
%<txt>\ProvidesFile{README.txt}[%
%<*driver,style,txt>
- 2021/05/03 v.1.1.01
+ 2021/05/15 v.1.1.07
%<txt> README file for pm-isomath.sty]
%<style>Poor man package for typesetting ISO compliant math when using pdfLaTeX]
%</driver,style,txt>
@@ -104,7 +104,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%</driver>
% \fi
%
-% \CheckSum{460}%
+% \CheckSum{501}%
% \begin{abstract}
% The ISO regulations for typesetting math in the field of physics
% and technology are pretty stringent and imply legal questions
@@ -113,8 +113,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% fulfil such regulations may be rejected by the Court,
% independently from its expert contents.
%
-% Authors may not like them, but in the filed of \emph{applied
-% sciences}, or better, of \emph{experimental sciences} that
+% Authors may not like them, but in the field of \emph{applied
+% sciences}, or better, of \emph{experimental sciences}, that
% use measured quantities and units of measure, they are compulsory.
%
% With \LuaLaTeX\ and \XeLaTeX, while using OpenType math fonts
@@ -129,8 +129,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% \section{Introduction}
% The ISO regulations (formerly ISO\,31/XI, now ISO\,80000) are
% stringent rules to typeset mathematics in the domains of physics
-% and applied sciences; their title explicitly mentions “physics
-% and technology”, but their careful reading lets understand that
+% and experimental sciences; their title explicitly mentions “physics
+% and technology”, but their careful reading lets us understand that
% they apply to all sciences that use the “mathematics of
% quantities”. Such entities form a special group or space,
% where the elements are couples of two ordered entities $(x, y)$,
@@ -145,7 +145,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% is always accompanied by a certain degree of uncertainty;
% metrologists are the masters in measuring quantities
% and handling their measures and uncertainties, but although
-% for simplicity measures are handled by lay people as rational
+% for simplicity laypeople handles measures as if hey were rational
% numbers (after all aren't they the ratio of something to be
% measured and the unit of measure?) we are facing the domain
% of fuzzy sets.
@@ -156,13 +156,13 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% where the ISO regulations set some order and establish
% a long list of named quantities with their preferred symbols
% and their “normal” units according to the prescriptions
-% of the Comité International des Pois et Mésures, that
+% of the Comité International des Poids et Mesures, that
% established the International System of measures
-% (Systhème International, SI).
+% (Système International, SI).
%
% This ISO nomenclature is used uniformly by most, if not all,
% people involved in applied sciences; therefore among the few
-% letters of the Latin and Greek alphabets almost none is free
+% letters of the Latin and Greek alphabets almost none is available
% to be used for other purposes.
%
% This means that the usual math italic alphabet can be used for
@@ -186,8 +186,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% academic and/or research institutions.
%
% For private users I'd suggest to download the PDF document
-% \url{https://www.nist.gov/pml/special-publication-811-extended-
-%contents}. This document has been produced by the National
+% \url{https://www.nist.gov/pml/special-publication-811-extended- contents}. This document has been produced by the National
% Institute for Science and Technology, the Institution that
% several years ago was appointed to replace the United States
% National Bureau of Standards. Their staff is made essentially
@@ -206,10 +205,9 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% is not a limitation set forth by the underlying interpreter
% \pdfTeX. Matter of fact there exists the quite recent
% LibertinusT1math fonts for \pdfLaTeX, created by Michael Sharpe,
-% that, to my best knowledge, are the only math fonts with 256 glyph
-% encodings. Package |libertinust1math| accepts the |ISO| option
+% that, to my best knowledge, are the only math 8-bit encoded fonts with 256 glyphs. Package |libertinust1math| accepts the |ISO| option
% that allows to fulfil the ISO regulations; it accepts other
-% options; depending on which options are specified the number
+% options; depending on which ones are specified the number
% of math groups, beyond the essential first four ones, increases
% by three to six units, reaching a maximum of ten; there remains
% enough free math groups to satisfy most user requirements.
@@ -218,15 +216,15 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% suffers from another handicap derived from the knuthian
% original \TeX-the-program and by the NFSS (New Font Selection
% Scheme, which is not new any more, because it dates back to
-% 1994, when \LaTeX\,209 became obsolete and was substituted
+% 1994, when \LaTeX\,2.09 became obsolete and was substituted
% by \LaTeXe.). I am not complaining about these \pdfTeX\ and
% \LaTeX\ limitations; for decades people have been happily
% typesetting math with results that are much superior to any
% other typesetting program at least when the latter does not
% use some \TeX\ software.
%
-% The handicap I am talking about is the way math alphabets, at
-% the moment, are handled by \pdfTeX\ and \LaTeX; such alphabets
+% By now, the handicap I am talking about is the way math alphabets
+% are handled by \pdfTeX\ and \LaTeX; such alphabets
% are loaded in the form of math groups, the number of which
% cannot exceed 16 (numbered from 0 to 15); each group loads
% three sizes for normal math style, for script style and for
@@ -250,7 +248,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% sufficient to handle any situation, but it is not so. The
% author of this extension already reached the limit of~16
% without doing anything special -- at least he thought so,
-% but he was evidently wrong. Users who use packages such
+% but evidently he was wrong. Users who use packages such
% as the Fourier or the KPfonts have to pay special attention
% to the package documentation because they might specify
% options that imply loading up to 14 math groups.
@@ -283,7 +281,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% \item
% All quantity and variable symbols are represented by one
% letter (with as many appositions are needed); but no acronyms
-% are allowed; in computer science programming many strings
+% are allowed; in computer science programming, many strings
% are called variables, in the sense that they may represent
% variable data; but computer programs are not mathematics,
% rather they are a special language that tells the computer
@@ -291,11 +289,11 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% one that represents math. Unfortunately some acronyms have
% gained strong popularity and wide usage, but they are
% forbidden by the ISO rules; example: \emph{CMRR} is often
-% used to mean ``common mode rejection ratio'', but this is
+% used to mean “common mode rejection ratio”, but this is
% an improper usage of mathematics. Obviously this rule
% must be applied by the user, because \LaTeX\ is a
% typesetting language and does not understand the real
-% meaning of what it typesets.
+% meaning of what it is being typeset.
% \item
% All quantity symbols must be set in italics, slanted type
% is allowed, but serifed italics should be preferred unless
@@ -304,7 +302,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% with the physical quantity $d$; the Napier number ‘e’ must be
% set in upright font to avoid confusion with the elementary
% electric charge $e$; the imaginary unit j in electrical
-% engineering, (i in other applied sciences) must be set in
+% engineering, (i in other applied sciences) must be set in
% upright font in order to avoid confusion with the electric
% current density $j$ or the electric current $i$; more
% difficult: the transcendental number $\ISOpi=3.14159\dots$
@@ -321,7 +319,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% subscript $i$ is a variable because it represents the $i$-th
% element in a sequence, such as $V_0, V_1, V_2, \dots$; on
% the opposite $V_{\mathrm{i}}$ the subscript is an apposition
-% because `i' means, say, ‘input’.
+% because ‘i’ may mean, say, ‘input’.
% \item
% Upright bold roman or black board bold symbols represent sets.
% \item
@@ -330,9 +328,9 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% treated as any other matrix; in general multirow and multicolumn
% matrices are typeset with uppercase letters, while lowercase
% ones are reserved for vectors; but in some sciences also vectors
-% may have uppercase letters. Geometrical vectors that might be
-% typeset with a medium series upper o lowercase italic letter
-% with an arrow on top of it are not treated by the ISO
+% may be represented by uppercase letters. Geometrical vectors that
+% might be typeset with a medium series upper or lowercase italic
+% letter with an arrow on top of it, are not treated by the ISO
% regulations that speak of vectors irrespective if they are
% considered as one column matrices or oriented segments;
% apparently oriented segments should be treated the same as
@@ -343,9 +341,9 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% medium series sans serif fonts; the same rule applies
% to labels used in sketches and drawings representing
% machinery, electric circuitry, and the like when the label
-% refers to an object and not to its measure: ``the lens
-% $\mathsf{L}_1$'', ``the switch $\mathsf{S}_2$'', ``the
-% planetary gear $\mathsf{G}_3$'', and so on.
+% refers to an object and not to its measure: “the lens
+% $\mathsf{L}_1$, “the switch $\mathsf{S}_2$”, “the
+% planetary gear $\mathsf{G}_3$”, and so on.
% \item
% Tensors should be set in slanted bold sans serif font.
% \item
@@ -353,19 +351,19 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% letters.\label{enum:latin-greek}
%\end{enumerate}
%
-% Such font rules for families, series and shapes are difficult
+% Such font rules for families, series and shapes are difficult
% to implement with \pdfLaTeX\ for many reasons that do not imply
% only the limited number of math groups, but also the categories
% of symbols; Greek letters in particular are troublesome for a
% couple of reasons connected with rule~\ref{enum:latin-greek}:
%\begin{itemize}[noitemsep]
%\item
-% Uppercase greek letters are taken from the ``operators''
+% Uppercase greek letters are taken from the “operators”
% alphabet and are letter symbols; they are upright;
% but if they represent quantities they must be in italics,
% or at least slanted;
%\item
-% Lowercase Greek letters are taken from the ``letters'' math alphabet
+% Lowercase Greek letters are taken from the “letters” math alphabet
% and are ordinary symbols; they are oblique, and this is fine,
% but as ordinary math symbols they cannot be modified by commands
% such as |\mathrm|; furthermore upright lowercase Greek letters
@@ -377,9 +375,9 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% Greek letters, especially those packages for French typography,
% where the national rules (in contrast with the ISO regulations)
% require that all math entities typeset with Greek letters be
-% upright. Among such packages therenare |fourier| and |kpfonts|. Other
-% packages such as |newpxmath| and |newtxmath| are intended for
-% general use, but with suitable options and extra math groups
+% upright. Among such packages there are |fourier| and |kpfonts|.
+% Other packages such as |newpxmath| and |newtxmath| are intended
+% for general use, but with suitable options and extra math groups
% let the user employ upright lowercase Greek letters as well as
% oblique uppercase ones.
%
@@ -391,7 +389,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% actually using extra math alphabets beyond the small number
% it uses for its full functionality. An option |ISO| is
% already available to fulfil the ISO regulations. Maybe
-% the only drawback of the fonts used is that they are intended to
+% the only drawback of such fonts is that they are intended to
% match the Libertinus text fonts that are blacker than the
% standard Computer or Latin Modern ones. The auxiliary font
% selection commands used in the |ISOmath| package are already
@@ -403,12 +401,12 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% there are no difficulties with the number of math groups.
%
% \section{The poor man solution}
-% The poor man solution is very simple in theory; it handles
-% text fonts in math expressions through the |\text| command
-% provided by the |amsmath| package; of course there are functionalities
-% to chose families series and shapes in a comfortable way
-% by means of the powerful command definition commands provided
-% by the |xparse| package; for Greek letters it uses the
+% The poor man solution described in this document is very simple in
+% theory; it handles text fonts in math expressions through the |\text|
+% command provided by the |amsmath| package; of course there are
+% functionalities to chose families series and shapes in a
+% comfortable~way by means of the powerful command definition commands
+% provided by the |xparse| package; for Greek letters it uses the
% functionalities of the |alphabeta| package, that allows to use
% in text mode the same control sequences that are used
% in math mode. The default families for Latin and Greek letters
@@ -423,22 +421,23 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% series and shape that family allows; the default
% family for Greek fonts are the Latin Modern compliant
% LGR encoded collection of CBfonts; they are always
-% available with any up to date and complete \TeX\ system
+% available with any up-to-date and complete \TeX\ system
% installation.
%
% This is also a disadvantage, in the sense that Latin Modern
% fonts might not be the best ones to use with any specific
% text font; for example they have an x-height smaller than
% the Palatino ones, and a larger `em' unit compared to the
-% Times ones; they have also a slightly lighter `color'
-% than most other fonts.
+% Times ones; they have also a slightly lighter “color”
+% compared to most other fonts.
%
% Nevertheless they work very well with the ISO regulations
% and in spite of the disadvantages listed above, they are
% usable without problems. This very documentation is typeset
% with Latin Modern fonts. The examples shown in a following
% section show the ease with which the ISO regulations may be
-% fulfilled.
+% fulfilled. Some problems, though, still remain, and require the
+% user intervention.
%
% There are other Greek fonts that may be used in place of
% those of the CBfonts collection, especially those distributed
@@ -450,7 +449,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% family is sufficiently rich of series and shapes, and may be used
% also for the Latin fonts.
%
-% There are also the Greek fonts that are ``companions'' to the
+% There are also the Greek fonts that are “companions” to the
% Times fonts. So the user is not limited to the Latin Modern
% fonts, but admittedly there is not a great choice and, if it
% is necessary, the disadvantage of an unmatching Greek font is
@@ -482,8 +481,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% argument are respectively |lmr|, |m|, and |n| (normal, upright).
% Notice the codes: |lmr|, |m|, and |n| are the codes that appear in
% the |.fd| file to declare the possible family, series, and shape
-% combinations available for a given family. Below further
-% information is given in table~\ref{tab:lmr-series-shapes} on
+% combinations available for a given family. Further
+% information is given below in table~\ref{tab:lmr-series-shapes} on
% page~\pageref{tab:lmr-series-shapes}, and how to discover these codes.
%
% Such default values, after loading |pm-isomath|, may be globally
@@ -511,8 +510,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\begin{ttsintassi}
%\cs{ISO}\meta{lettername}\marg{family}\oarg{series}\parg{shape}
%\end{ttsintassi}
-% where all the arguments are optional, including the first in
-% spite of being surrounded by curly braces. Such optional
+% where all the arguments are optional, including the first one
+% in spite of being surrounded by curly braces. Such optional
% arguments must follow that order but all possible combinations
% are usable, for example:
%\begin{ttsintassi}
@@ -520,9 +519,9 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\cs{ISOalpha}\marg{family}
%\cs{ISOalpha}\oarg{series}
%\cs{ISOalpha}\parg{shape}
+%\cs{ISOalpha}\oarg{series}\parg{shape}
%\cs{ISOalpha}\marg{family}\oarg{series}
%\cs{ISOalpha}\marg{family}\parg{shape}
-%\cs{ISOalpha}\oarg{series}\parg{shape}
%\cs{ISOalpha}\marg{family}\oarg{series}\parg{shape}
%\end{ttsintassi}
% This offers the maximum flexibility in using the necessary
@@ -588,6 +587,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\begin{verbatim}
%\[ \vectorsymbol{b} = \matrixsymbol{M}\vectorsymbol{a} \]
%\end{verbatim}
+%
% \subparagraph{A resistivity value}
% The resistivity of copper is $1.68\,\micro\ohm\,\mathrm{cm}$ (in text mode: 1.68\unit{\micro\ohm\,cm})
% is typeset with the following code
@@ -597,6 +597,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% If the |siunitx| package has been loaded (as it is for typesetting
% this documentation) its unit |ohm| is redefined so as to always be
% an upright capital omega.
+%
%\subparagraph{A tensor}
%\[ \vectorsymbol{D} =\epsilon_0\tensorsymbol{\epsilon}\ped{r}\vectorsymbol{E}\]
%is typeset with the following code
@@ -605,8 +606,9 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\vectorsymbol{D} = \epsilon_0\tensorsymbol{\epsilon}\ped{r}\vectorsymbol{E}
%\]
%\end{verbatim}
+%
%\subparagraph{Solid angle}
-% An energy flux of light form a isomorphic source that irradiates
+% An energy flux of light form an isomorphic source that irradiates
% the power $P$ through the solid angle $\Omega$ generates
% a flux \[\Phi = \frac{P}{\Omega}\] is typeset with the following
% code
@@ -616,6 +618,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% where, as you see the uppercase Greek letters are slanted,
% as the ISO rules require, instead of upright, as \LaTeX\ sets
% them by default.
+%
% \subparagraph{A bold formula}
% This is the very important inverse Laplace transform\footnote{Some
% packages may have a control sequence to insert a Cauchy principal
@@ -635,6 +638,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% Notice the the use of |\boldmath| does not imply the use
% of new math groups; but the bold upright $\ISOpi$ is rendered
% without any problem.
+%
% \subparagraph{Various styles of Greek fonts} Here are some
% examples of Greek fonts in various styles; within the same
% table bold and medium series fonts stay side by side, as well
@@ -662,29 +666,49 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% fonts at the moment available to typeset mathematics do not
% contain an upright symbol, but they contain the original slanted
% symbol as used with the CM fonts. With a poor-man trick it is
-% possible ti have available an upright symbol so as to describe
+% possible to have available an upright symbol so as to describe
% the Electrical field as the opposite of the electric potential
% gradient. Compare the following formulas, where the second one
% is ISO compliant:
%\begin{align}
-%E =-\nabla V = -\left(
-%\frac{\partial V}{\partial x}\MathLatin{e}[b](it)_x +
-%\frac{\partial V}{\partial y}\MathLatin{e}[b](it)_y +
-%\frac{\partial V}{\partial z}\MathLatin{e}[b](it)_z +
+%\vectorsymbol{E} &=-\nabla V = -\left(
+%\frac{\partial V}{\partial x}\vectorsymbol{e}_x +
+%\frac{\partial V}{\partial y}\vectorsymbol{e}_y +
+%\frac{\partial V}{\partial z}\vectorsymbol{e}_z
%\right)\\[\baselineskip]
-%E =-\nabla V = -\left(
-%\frac{\uppartial V}{\uppartial x}\MathLatin{e}[b](it)_x +
-%\frac{\uppartial V}{\uppartial y}\MathLatin{e}[b](it)_y +
-%\frac{\uppartial V}{\uppartial z}\MathLatin{e}[b](it)_z +
+%\vectorsymbol{E} &=-\nabla V = -\left(
+%\frac{\uppartial V}{\uppartial x}\vectorsymbol{e}_x +
+%\frac{\uppartial V}{\uppartial y}\vectorsymbol{e}_y +
+%\frac{\uppartial V}{\uppartial z}\vectorsymbol{e}_z
%\right)
%\end{align}
%
%\section{Final remarks}
% This package |pm-isomath| is far from perfect, and its results are
-% questionable; of course poor man solutions are just patches;
-% incomplete solutions; but the results are not so bad. It has
+% questionable; of course poor man solutions are just patches,
+% incomplete solutions; nevertheless the results are not so bad. It has
% the indubitable advantage that is does not use any math groups,
-% therefore there is no risk to exceed the limit of 16~math groups.
+% therefore there is no risk to exceed their limit of 16~math groups.
+%
+% As patches are not perfect, the above display of examples shows
+% what can be done without human intervention. Attentive users
+% have shown that the commands for vectors, matrices, and command
+% do not perform well in certain circumstances. Such cases require
+% some spacing corrections, but we were not capable to create
+% sufficiently intelligent commands that could avoid human
+% intervention. See below where, when and why human intervention
+% is required.
+%
+%\section{Acknowledgements}
+% I want to thank very much Laurent Van Deik, who remarked several
+% typos and bugs; in particular he convinced me that the partial
+% differential symbol, that in my previous version of this package
+% was obtained by rotating and scaling the slanted one, had a
+% different style from the other math glyphs; therefore I recreated
+% the macro by applying an affine shearing transformation; I believe
+% that this new solution, thanks to Laurent Van Deik's suggestion,
+% is better suited to typeset ISO compliant math in a better way.
+% He also helped a lot with the vector, matrix, and tensor macro testing.
%
% \StopEventually{}
%
@@ -692,14 +716,15 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% This package was loosely inspired by the |ISOmath| package
% by Günter Milde, but tackles the problem of insufficient maximum
% number of math font groups so as to avoid any problem with such
-% group limitation, and therefore all the caveats in Milde's package.
+% group limitation, and therefore to avoid all the caveats in
+% Milde's package.
%
% That package is much more comfortable to use than this one; but
% it is subject to a number of conditions that, depending on the
% user environment, may even result in a complete failure. This
% package avoids problems with math font groups because it does
-% not use any, but it is not so comfortable to use because often
-% the user has to specify optional settings.
+% not use any, but it is not so comfortable to use because sometimes
+% optional settings and spacing commands have to be specified.
%
% The preliminary lines have been already defined; therefore we
% start with real code.
@@ -712,13 +737,13 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% |alphabeta| and |xparse| have already been loaded in the document
% preamble; this implies a weak loading order, that is this
% package must be loaded after all the above packages are loaded;
-% in facts if such packages are not loaded, they get loaded by this
+% in facts if such packages are not, they get loaded by this
% one, but without any option. The package
% loading mechanism assures avoiding conflicts if packages are
% loaded without options; this is why if one of the three packages
% is loaded after this one but with some option specified, an
% “Option clash” error flag is raised; this is where the
-% “weak” loading error becomes a very “strong” one.
+% “weak” loading order error becomes a very “strong” one.
%\iffalse
%<*style>
@@ -726,7 +751,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% Then we verify if the document is being typeset with \pdfLaTeX;
% if it is not, an error flag is raised and reading of this
% package is immediately interrupted. For this purpose we need
-% an engine-detecting package, and we generally use the |iftex| one.
+% an engine-detecting package, and we use the |iftex| one.
% \begin{macrocode}
\@ifpackageloaded{iftex}{}{\RequirePackage{iftex}}
\unless\ifPDFTeX
@@ -753,44 +778,38 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\fi
{\endinput}{\relax}
% \end{macrocode}
+%
% Actually this package accepts an option: |engineer|. This
% option is for deciding if the imaginary unit should be
-% defined as ‘i’ or ‘j’. As we have remarked in the previous
+% defined as ‘i’ or as ‘j’. As we have remarked in the previous
% documentation, engineers, especially those who deal with
-% electricity and electrical quantities, but also electronics, control,
-% and telecommunications engineers, use ‘j’; all these
-% varieties of engineers could not do anything in their profession
-% if they don't use complex numbers and quantities (the latter
-% called phasors). Possibly they are the applied scientists
+% electricity and electrical quantities, but also electronics,
+% automatic control systems, and telecommunications engineers, use ‘j’;
+% all these varieties of engineers could not do anything in their
+% profession if they don't use complex numbers and quantities (the
+% latter called phasors). Possibly they are the applied scientists
% who use complex numbers more often than any other scientist.
%
-% Note: this option has \emph{not} been used to prepare this
+% Notice: this option has \emph{not} been used to prepare this
% very document.
% \begin{macrocode}
\newif\ifengineer \engineerfalse
\DeclareOption{engineer}{\engineertrue}
\ProcessOptions*\relax
% \end{macrocode}
+%
% Are the necessary packages already loaded? Notice that in previous
% versions we just loaded |xparse| unless it was already loaded;
% since 2020 the main functionalities of this package are already
-% contained into the \LaTeX\ kernel, But we are going to use one
+% contained into the \LaTeX\ kernel, but we are going to use one
% of those “deprecated” functionalities that did not make their way
-% to the \LaTeX\ kernel. We also use the |xfp| floating point
-% computations available with the \LaTeX3 language.
+% to the \LaTeX\ kernel.
% \begin{macrocode}
\@ifpackageloaded{amsmath}{}{\RequirePackage{amsmath}}
\@ifpackageloaded{etoolbox}{}{\RequirePackage{etoolbox}}
-\RequirePackage{xparse,xfp}
+\RequirePackage{xparse}
% \end{macrocode}
%
-% Since a trick on the ISO compliant upright partial differential
-% symbol requires the functionalities of the |rotate| and |scale|
-% functionalities, we load also the |graphicx| package if it has not
-% been already loaded.
-% \begin{macrocode}
-\@ifpackageloaded{graphicx}{}{\RequirePackage{graphicx}}
-% \end{macrocode}
% Now we have almost all software instruments available. We
% define a macro to switch the definitions of certain math
% Greek symbols; some of these are defined in the \LaTeX\
@@ -800,19 +819,28 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% to the regular ones but prefixed with the string |var|;
% example |\epsilon| and |\varepsilon|, |\Omega| and |\varOmega|.
% We switch the control sequence definitions between the |var|-less
-% ones and the |var|-prefixed ones. The first group of lowercase
+% and the |var|-prefixed ones. The first group of lowercase
% letters is switched because the glyphs give a better match with
-% those produced with the textual Greek glyphs obtained when
-% the ISO macros are used.
+% those produced with the textual Greek glyphs obtained when the ISO
+% macros are used. Especially the Greek lowercase letter group is
+% not appreciated by certain users, because they need to correct
+% any previously typeset document that uses the standard \LaTeX\
+% symbols. They may easily revert to the previous settings by
+% applying again the global switching macros
+% \cs{switchvarlowercasegreekletters} and or
+% \cs{switchvaruppercasegreekletters}. We discourage such reset,
+% but users are free to chose what they need.
% \begin{macrocode}
\newcommand\switchvarsymbols[1]{%
\letcs{\tempA}{#1}\csletcs{#1}{var#1}\cslet{var#1}{\tempA}}
-%%%%
+%%%%
+\newcommand\switchvarlowercasegreekletters{%
\switchvarsymbols{epsilon}
\switchvarsymbols{theta}
\switchvarsymbols{rho}
-\switchvarsymbols{phi}
-%%%%%
+\switchvarsymbols{phi}}
+%%%%
+\newcommand\switchvaruppercasegreekletters{%
\switchvarsymbols{Gamma}
\switchvarsymbols{Delta}
\switchvarsymbols{Theta}
@@ -823,19 +851,24 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\switchvarsymbols{Upsilon}
\switchvarsymbols{Phi}
\switchvarsymbols{Psi}
-\switchvarsymbols{Omega}
+\switchvarsymbols{Omega}}
+%%%%%
+\switchvarlowercasegreekletters
+\switchvaruppercasegreekletters
% \end{macrocode}
-% Eventually we load the |alphabeta| package; this package
+%
+% Eventually we load the |alphabeta| package; it
% allows using the same macros used in math mode while
% typesetting in text mode. We find it very useful in this
% package.
% \begin{macrocode}
\@ifpackageloaded{alphabeta}{}{\RequirePackage{alphabeta}}
% \end{macrocode}
+%
% The next line defines the default family, series and shape
-% to be used in the macros that follow; as it can be seen
-% the default family is the Latin Modern regular (or roman);
-% the series is medium and the shape is normal (or upright).
+% to be used in the macros that follow; as it can be seen,
+% the default family is the Latin Modern roman;
+% the series is medium one and the shape is normal (or upright) one.
% The codes used are the same used in the font description
% files with extension |.fd|. The name of these |.fd| files
% is obtained by merging the encoding name with the family name;
@@ -844,7 +877,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% files define the series they contain and that are identified
% with codes such as |m| (medium); |bx| (bold extended);
% |b| (bold). Other fonts, with different series may have
-% also other codes. For each series the |.fd| defines the
+% also other codes. For each series the |.fd| file defines the
% codes for shapes, and for every valid combination of
% series, shape and size it defines the specific font file
% to use.
@@ -858,8 +891,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% trees of the \TeX\ system, and eventually find out the
% codes for the available series and shapes.
%
-% For the Latin and Greek |.fd| files we have the series and
-% shapes shown in table~\ref{tab:lmr-series-shapes}.
+% For the Modern Latin and Greek |.fd| files we have the series
+% and shapes shown in table~\ref{tab:lmr-series-shapes}.
%
%\begin{table}[!tb]\centering
%\begin{tabular}{llllll}
@@ -892,7 +925,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% & & & & small caps & sc \\
%\bottomrule
%\end{tabular}
-%\caption{Seres and shapes available with the Latin Modern regular family with Latin and Greek fonts}
+%\caption{Series and shapes available with the Latin Modern regular family with Latin and Greek fonts}
%\label{tab:lmr-series-shapes}
%\end{table}
%
@@ -900,7 +933,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\def\ISOfam{lmr}\def\ISOser{m}\def\ISOsha{n}
% \end{macrocode}
%
-% As explained in the initial documentation all font changing
+% As explained in the initial documentation, all font changing
% commands are constructed in such a way as to have a default
% family, series and shape common to both Latin and Greek fonts;
% therefore with three optional arguments that the user can
@@ -926,15 +959,15 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% mandatory argument is the Latin or Greek letter; the latter
% one may be specified by the macros |\alpha|, |\beta|,\dots,
% |\Omega|, the same ones that are normally used in math (although
-% they are going to be used in textmode).
+% they are going to be used in text mode).
% \begin{macrocode}
-\NewDocumentCommand\MathLatin{m gO{m}D(){it}}{\bgroup
-\edef\y{\IfNoValueTF{#2}{\ISOfam}{#2}}%
-\edef\x{\noexpand\egroup\noexpand\MLatin{\noexpand#1}{\y}}\x{#3}{#4}}
+\NewDocumentCommand\MathLatin{m g O{m} D(){it}}{%
+ \bgroup\edef\y{\IfNoValueTF{#2}{\ISOfam}{#2}}%
+ \edef\x{\noexpand\egroup\noexpand\MLatin{\noexpand#1}{\y}}\x{#3}{#4}%
+}
-\providecommand\MLatin[4]{\text{%
-\def\ISOfam{#2}\def\ISOser{#3}\def\ISOsha{#4}%
-\ifcsstring{math@version}{bold}{\def\ISOser{bx}}{}%
+\providecommand\MLatin[4]{\text{\def\ISOfam{#2}\def\ISOsha{#4}%
+\ifcsstring{math@version}{bold}{\def\ISOser{bx}}{\def\ISOser{#3}}%
\usefont{T1}{\ISOfam}{\ISOser}{\ISOsha}#1}}
\NewDocumentCommand\MathGreek{ m g O{m} d()}{%
@@ -942,9 +975,8 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\edef\x{\IfNoValueTF{#4}{\ISOsha}{#4}}%
\MGreek{#1}{\y}{#3}{\x}}
-\newcommand{\MGreek}[4]{\text{%
-\def\ISOfam{#2}\def\ISOser{#3}\def\ISOsha{#4}%
-\ifcsstring{math@version}{bold}{\def\ISOser{bx}}{}%
+\newcommand{\MGreek}[4]{\text{\def\ISOfam{#2}\def\ISOsha{#4}%
+\ifcsstring{math@version}{bold}{\def\ISOser{bx}}{\def\ISOser{#3}}%
{\usefont{LGR}{\ISOfam}{\ISOser}{\ISOsha}#1}}}
% \end{macrocode}
@@ -1018,21 +1050,82 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% slanted shape.
% \begin{macrocode}
\AtBeginDocument{%
-\providecommand\mathbfit[1]{\MathLatin{#1}{lmr}[bx](it)}
-\providecommand\mathsfit[1]{\MathLatin{#1}{lmss}[m](sl)}
-\providecommand\mathsfbfit[1]{\MathLatin{#1}{lmss}[bx](sl)}}
+ \providecommand\mathrmbf[1]{\MathLatin{#1}{lmr}[bx](n)}
+ \providecommand\mathbfit[1]{\MathLatin{#1}{lmr}[bx](it)}
+ \providecommand\mathsfit[1]{\MathLatin{#1}{lmss}[m](sl)}
+ \providecommand\mathsfbfit[1]{\MathLatin{#1}{lmss}[bx](sl)}
+ \providecommand\mathsfbf[1]{\MathLatin{#1}{lmss}[bx](n)}
+}
% \end{macrocode}
% Package |ISOmath| defines macros for typesetting vectors,
% matrices and tensors; we do the same, but avoid the
-% abbreviation |sym| in place of |symbol|.
+% abbreviation |sym| and replace it with |symbol|.
+% The strange test with the digit ‘9’ is a dirty trick (described in
+% the \TeX\-book) in order to discover if the symbol is a digit or a
+% letter; With digits the vector and tensor symbols should be upright,
+% while with letters they should be italic or slanted. The italic
+% correction |\/| contained by the font selection command is useful
+% in situations where the “text” produced by such command is followed
+% by a tall or raised object
% \begin{macrocode}
\AtBeginDocument{%
-\let\vectorsymbol\mathbfit
-\let\matrixsymbol\mathbfit
-\let\tensorsymbol\mathsfbfit}
+ \unless\ifdefined\vectorsymbol
+ \NewDocumentCommand\vectorsymbol{s m}{%
+ \ifnum 9<1#2\relax
+ \mathrmbf{#2}%
+ \else
+ \IfBooleanTF{#1}{\!}{}\mathbfit{#2\/}%
+ \fi}%
+ \fi
+ \unless\ifdefined\matrixsymbol\let\matrixsymbol\vectorsymbol\fi
+ \unless\ifdefined\tensorsymbol
+ \NewDocumentCommand\tensorsymbol{s m}{%
+ \ifnum 9<1#2\relax
+ \mathsfbf{#2}%
+ \else
+ \IfBooleanT{#1}{\!}\mathsfbfit{#2\/}%
+ \fi}%
+ \fi
+}
% \end{macrocode}
%
-% We now define some macros for setting some elements in the
+% As shown in the previous various examples, such macros work pretty
+% well, but in some circumstances they require human help;
+% when the symbol is parenthesised, for example when it is the
+% argument of a function, or when it is at the beginning of a math
+% sub\,expression, it is not centred between the parentheses or has
+% extra blank space at its left; this happens only if the vector or
+% tensor symbol is a letter, while if it is a digit such extra space
+% does not appear; such considerations hold true also for the
+% |\matrixsymbol| command.
+% Therefore a negative math kerning is required at the left of the
+% literal symbol. For this purpose such commands have the variant with
+% asterisk, therefore their syntax have these two similar forms:
+%\begin{flushleft}\obeylines
+%|\vectorsymbol|\marg{symbol}
+%|\vectorsymbol*|\marg{symbol}
+%|\tensorsymbol|\marg{symbol}
+%|\tensorsymbol*|\marg{symbol}
+%\end{flushleft}
+% where the asterisk can be used by the author in order to eliminate
+% spurious left blanc spaces; if the symbol is numeric, the asterisk
+% presence is ignored: see the following examples:
+%\begin{quote}
+%Vector $\vectorsymbol{T}$ is null: $\vectorsymbol{T}=\vectorsymbol{0}$\\
+%Vector $\vectorsymbol*{T}$ is null: $\vectorsymbol*{T}=\vectorsymbol*{0}$\\
+%Tensor $\tensorsymbol{T}$ is null: $\tensorsymbol{T}=\tensorsymbol{0}$\\
+%Tensor $\tensorsymbol*{T}$ is null: $\tensorsymbol*{T}=\tensorsymbol{0}$
+%\end{quote}
+%They are typeset with the following code:
+%\begin{verbatim}
+%Vector $\vectorsymbol{T}$ is null: $\vectorsymbol{T}=\vectorsymbol{0}$\\
+%Vector $\vectorsymbol*{T}$ is null: $\vectorsymbol*{T}=\vectorsymbol*{0}$\\
+%Tensor $\tensorsymbol{T}$ is null: $\tensorsymbol{T}=\tensorsymbol{0}$\\
+%Tensor $\tensorsymbol*{T}$ is null: $\tensorsymbol*{T}=\tensorsymbol{0}$
+%\end{verbatim}
+%
+%
+% We now define the macros required to set some elements with the
% proper fonts; the idea is the same as that for vectors,
% matrices and tensors, except that these macros produce
% directly the desired symbol without using arguments, if
@@ -1042,7 +1135,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% switch, set with the proper option on calling the package.
% If such option has been specified in calling this package,
% the |\iu| command is let to |\junit|, otherwise it's let
-% to |\iunit|. In spite of this option driven aliases, both
+% to |\iunit|. In spite of this option-driven aliases, both
% commands |\iunit| and |\junit| are still available to the
% user.
%
@@ -1059,17 +1152,16 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% constants; we define just |\uppi| because we think it is the
% most used symbol in any kind of mathematics. The
% $\ISOpi{lmss}(n)$ Greek letter in upright sans serif font
-% may indicate the subatomic particle ``pion'' so that a
-% similar macro, say, |\sspi| or, more expressively, |\pion|
-% may be given a suitable definition.
+% may indicate the subatomic particle “pion” so that a
+% similar macro, say, |\pion| may be given a suitable definition.
%
% The differential symbol is not an operator, but it requires
% a special treatment; a macro |\diff| for the differential
-% symbol uses an empty `operator' and a negative shift to typeset
-% an upright letter `d' with an operator spacing on its left,
+% symbol uses an empty ‘operator’ and a negative shift to typeset
+% an upright letter ‘d’ with an operator spacing on its left,
% so that proper spacing is used in math typesetting; notice
% that the given definition does not perform as the direct
-% use of a thin math space before the upright `d', because
+% use of a thin math space before the upright ‘d’, because
% spacing between math atoms depends on their category, while
% the thin space |\,| is absolute and does not change depending
% on the preceding math atom.
@@ -1084,29 +1176,47 @@ This work consists of this file pm-isomath.dtx, a README.txt file
% ISO regulations such symbol should be upright. For use with
% \pdfLaTeX the only font distributed with any \TeX system that
% contains such an upright symbol is the LibertinusT1math one;
-% all other OMS encoded fonts do no contain it. The defined
-% command |\uppartial| name is identical to the one used by the
-% LibertinusT1math font; therefore it is easy to check if this
-% symbol has already been defined
+% all other OMS encoded fonts available today do no contain it.
+% The defined command |\uppartial| name is identical to the one used
+% by the LibertinusT1math font; therefore it is easy to check if
+% this symbol has already been defined.
%
% On \texttt{tex.stachexchange.com} some questions were asked on
% how to produce a suitable upright partial differential symbol,
% when fonts did not have one available. The solutions we found
-% there are based on rotating and scaling the available slanted
-% partial differential symbol. We follow a similar approach,
-% although a shearing process would be a better solution;
-% we avoid to redefine this symbol if it is already available.
-% The default counterclockwise rotation is fixed to 22°, but may
-% be changed by means of an optional argument. Of course this
+% in that site were of different kinds: some were based on rotating and
+% scaling the available slanted sign, while others used a shearing
+% affine transformation of the available partial differential
+% symbol. We follow a similar approach, but we avoid to redefine
+% this symbol if it is already available. The used commands
+% \cs{pdfsave}, \cs{pdfrestore}, and \cs{pdfsetmatrix} are little
+% known internal commands of the |pdftex| interpreter\footnote{See
+% the documentation with \texttt{texdoc pdftex-a} at §8.20}; they are
+% sort of intermediate between \TeX\ and the PDF internals; they
+% are used to form something similar to a group, within which some
+% PDF settings are locally modified; in this case an affine
+% shearing transformation is defined by means of a matrix (apparently
+% made up of one row and four columns, but in reality it represents
+% the alignment of the rows of a $2\times2$ matrix) that can do
+% many things in a way that is more comfortable for the programmer
+% compared to writing the actual PDF language~code.
+%
+% The default \meta{shearing coefficient} is fixed to 0.25, but it may
+% be changed by means of an optional argument; see below. Of course this
% solution is a patch; we tested it at several sizes but only
% with the Latin Modern Type~1 fonts. May be with other fonts
-% the results might need some adjustments.
+% the results might need some adjustments. We also fixed some
+% kerning adjustments so that the normal math spacings take place.
+% The whole syntax is the following
+%\begin{flushleft}
+%\cs{uppartial}\oarg{shearing coefficient}
+%\end{flushleft}
%
% The command |\unit| for appending the units of measure to
% the numerical value of the measure is added if no packages
% have already defined it; package |siunitx| is a particularly
% recommended one, but its units and prefixes expressed by means
-% of greek letters must be used only within its |\si| and |SI|
+% of Greek letters must be used only within its |\si| and |\SI|
% commands. Similar considerations hold true for the
% |\ap| and |\ped| (apex and pedex, respectively; i.e\
% superscript and subscript); therefore such command definitions
@@ -1142,14 +1252,15 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\providecommand*\diff{}
\renewcommand*\diff{\ensuremath{\mathop{}\!\MathLatin{d}(n)}}
%
-\newbox{\PMpartial}
+\newbox{\PMpartialbox}
\AtBeginDocument{%
-\@ifdefinable{\uppartial}%
- {\NewDocumentCommand\uppartial{O{22}}{\setbox\PMpartial\hbox{$\partial$}%
- \setbox\PMpartial=\hbox{%
- \scalebox{1}[\fpeval{cosd #1}]{\rotatebox[origin=br]{#1}{\box\PMpartial}}%
- }\raisebox{0.35ex}{\box\PMpartial}\mkern-1.25mu}}%
-}
+\unless\ifdefined\uppartial%
+ \NewDocumentCommand\uppartial{O{0.25}}{\bgroup%
+ \setbox\PMpartialbox\hbox{%
+ $\mkern1mu\partial$}\hspace{1.3\wd\PMpartialbox}%
+ \pdfsave\pdfsetmatrix{1 0 -#1 1}\llap{\box\PMpartialbox}\pdfrestore
+ \mkern-1.5mu\egroup}
+\fi}
%
\providecommand*\micro{}
\AtBeginDocument{\@ifpackageloaded{textcomp}%
@@ -1184,7 +1295,7 @@ This work consists of this file pm-isomath.dtx, a README.txt file
\endinput
% \end{macrocode}
-%This is the end
+%^^A This is the end
%\begin{center}
%\LARGE HAPPY \TeX{}ing\,!
%\end{center}
@@ -1194,24 +1305,24 @@ This work consists of this file pm-isomath.dtx, a README.txt file
%\iffalse
%<*txt>
%\fi
-% \begin{macrocode}
-
- This bundle has the LPPL maintenance status "author-maintained".
-
- The list of all files belonging to the PM-ISOmath bundle is
- pm-isomath.dtx, a README.txt file
- with the derived files: pm-isomath.sty, pm-isomath.pdf.
-
- The set of derived (unpacked) files belonging to the distribution
- and covered by LPPL is created by the self unpacking file
- pm-isomath.dtx which is the principal part of the distribution.
-
- In the TDS composed of various branches they should be in the
- following folders:
- .../tex/latex/pm-isomath/ contains pm-isomath.sty
- .../doc/latex/pm-isomath/ contains pm-isomath.pdf and README.txt
- .../source/latex/pm-isomath contians pm-isomath.dtx
-% \end{macrocode}
+^^A% \begin{macrocode}
+^^A
+^^A This bundle has the LPPL maintenance status "author-maintained".
+^^A
+^^A The list of all files belonging to the PM-ISOmath bundle is
+^^A pm-isomath.dtx, a README.txt file
+^^A with the derived files: pm-isomath.sty, pm-isomath.pdf.
+^^A
+^^A The set of derived (unpacked) files belonging to the distribution
+^^A and covered by LPPL is created by the self unpacking file
+^^A pm-isomath.dtx which is the principal part of the distribution.
+^^A
+^^A In the TDS composed of various branches they should be in the
+^^A following folders:
+^^A .../tex/latex/pm-isomath/ contains pm-isomath.sty
+^^A .../doc/latex/pm-isomath/ contains pm-isomath.pdf and README.txt
+^^A .../source/latex/pm-isomath contians pm-isomath.dtx
+^^A% \end{macrocode}
%\iffalse
%</txt>
%\fi
diff --git a/macros/latex/contrib/pm-isomath/pm-isomath.pdf b/macros/latex/contrib/pm-isomath/pm-isomath.pdf
index 713e80614d..f29a3c2658 100644
--- a/macros/latex/contrib/pm-isomath/pm-isomath.pdf
+++ b/macros/latex/contrib/pm-isomath/pm-isomath.pdf
Binary files differ
diff --git a/macros/latex/contrib/powerdot/README b/macros/latex/contrib/powerdot/README
index 44d82ea943..7c05a0cdf7 100644
--- a/macros/latex/contrib/powerdot/README
+++ b/macros/latex/contrib/powerdot/README
@@ -1,50 +1,50 @@
-powerdot v1.6
--------------
-
-powerdot is a presentation class for LaTeX that allows for the quick
-and easy development of professional presentations. It comes with
-many tools that enhance presentations and aid the presenter.
-Examples are automatic overlays, personal notes and a handout mode.
-To view a presentation, DVI, PS or PDF output can be used. A
-powerful template system is available to easily develop new styles.
-A LyX layout file is provided. See for more information the PDF
-documentation of this package.
-
-
-Installation
-------------
-
-First check whether this package can be installed by the
-distribution that you use, since that will simplify installation.
-For manual installations, the structure and supposed location in a
-TDS compliant TeX-tree is shown in manifest.txt. Don't forget
-to update your filename database after installing the files.
-
-The package includes pregenerated run and doc files, but you can
-reproduce them from the source if necessary. See the first lines
-of powerdot.dtx for information how to do this.
-
-See the documentation of your LaTeX distribution or the TeX
-Frequently Asked Questions for more information on installing
-powerdot into your LaTeX distribution
-(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
-
-
-License
--------
-
-Copyright (C) 2005-2008 Hendri Adriaens, Chris Ellison; 2009-2021 Hendri Adriaens
-
-This work may be distributed and/or modified under the
-conditions of the LaTeX Project Public License, either version 1.3
-of this license or (at your option) any later version.
-The latest version of this license is in
- http://www.latex-project.org/lppl.txt
-and version 1.3 or later is part of all distributions of LaTeX
-version 2003/12/01 or later.
-
-This work has the LPPL maintenance status "maintained".
-
-This Current Maintainer of this work is Hendri Adriaens.
-
-This work consists of all files listed in manifest.txt.
+powerdot v1.7
+-------------
+
+powerdot is a presentation class for LaTeX that allows for the quick
+and easy development of professional presentations. It comes with
+many tools that enhance presentations and aid the presenter.
+Examples are automatic overlays, personal notes and a handout mode.
+To view a presentation, DVI, PS or PDF output can be used. A
+powerful template system is available to easily develop new styles.
+A LyX layout file is provided. See for more information the PDF
+documentation of this package.
+
+
+Installation
+------------
+
+First check whether this package can be installed by the
+distribution that you use, since that will simplify installation.
+For manual installations, the structure and supposed location in a
+TDS compliant TeX-tree is shown in manifest.txt. Don't forget
+to update your filename database after installing the files.
+
+The package includes pregenerated run and doc files, but you can
+reproduce them from the source if necessary. See the first lines
+of powerdot.dtx for information how to do this.
+
+See the documentation of your LaTeX distribution or the TeX
+Frequently Asked Questions for more information on installing
+powerdot into your LaTeX distribution
+(http://www.tex.ac.uk/cgi-bin/texfaq2html?label=instpackages).
+
+
+License
+-------
+
+Copyright (C) 2005-2008 Hendri Adriaens, Chris Ellison; 2009-2021 Hendri Adriaens
+
+This work may be distributed and/or modified under the
+conditions of the LaTeX Project Public License, either version 1.3
+of this license or (at your option) any later version.
+The latest version of this license is in
+ http://www.latex-project.org/lppl.txt
+and version 1.3 or later is part of all distributions of LaTeX
+version 2003/12/01 or later.
+
+This work has the LPPL maintenance status "maintained".
+
+This Current Maintainer of this work is Hendri Adriaens.
+
+This work consists of all files listed in manifest.txt.
diff --git a/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex b/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex
index 095fe6a351..3321cc0863 100644
--- a/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex
+++ b/macros/latex/contrib/powerdot/doc/lyx/powerdot-example.tex
@@ -1,159 +1,159 @@
-%% LyX 1.3 created this file. For more info, see http://www.lyx.org/.
-%% Do not edit unless you really know what you are doing.
-\documentclass[size=10pt,letterpaper,landscape,english,nopsheader,style=fyma,display=slidesnotes]{powerdot}
-\usepackage[T1]{fontenc}
-\usepackage[latin1]{inputenc}
-
-\makeatletter
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
-\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
-\newcommand{\lyxarrow}{\leavevmode\,$\triangleright$\,\allowbreak}
-
-%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
-\usepackage{listings}
-\pdsetup{%
- lf=left footer,
- rf=right footer
-}
-
-\usepackage{babel}
-\makeatother
-\begin{document}
-
-\title{A \LyX{} sample}
-
-
-\author{Mael Hillreau \and Hendri Adriaens \and Christopher Ellison}
-
-
-\date{\today}
-
-\maketitle
-
-\lyxend\lyxslide{My first slide}
-
-We use a \texttt{Slide} style (magenta color, see above this text
-into \LyX{} window) for the title of each slide of a section or document.
-
-
-\lyxend\lyxwideslide{My wide slide}
-
-\label{toc}But we may also use wide slides (green color, see above
-this text into \LyX{} window).
-
-Let's have a look at the TOC:
-\medskip{}
-
-\tableofcontents{}
-
-
-\lyxend\section{This is the first section}
-
-
-\lyxend\lyxslide[toc=This slide has...]{This slide has a very very long title}
-
-This slide's title is different in the TOC, see slide \pageref{toc}
-or at the left of all slides in this section.
-
-
-\lyxend\lyxnote{Important note!}
-
-Don't forget to use \texttt{Insert}\lyxarrow{}\texttt{Short title}
-in order to specify slide options.
-
-
-\lyxend\lyxslide{Using \texttt{\textbackslash{}pause}}
-
-Let's make a pause! \pause
-
-\ldots{} and then continue.
-
-
-\lyxend\section{Second section}
-
-
-\lyxend\lyxslide{Using \texttt{enumerate}}
-
-Let's enumerate things:\pause
-
-\begin{enumerate}[type=1]
-\item The first thing;\pause
-\item The second thing;\pause
-\item The third thing;\pause
-\item The final thing!
-\end{enumerate}
-
-\lyxend\lyxslide{Using \texttt{itemize}}
-
-We may also make some items and nest them:\pause
-
-\begin{itemize}[type=1]
-\item <2> The first;
-\item <3> The second;
-
-\begin{itemize}[type=1]
-\item <4> One,
-\item <5> Two,
-\item <6> Three,
-\end{itemize}
-\item <7> The last one.
-\end{itemize}
-
-\lyxend\lyxemptyslide[toc=,randomdots]{The empty slide!}
-
-\bigskip{}
-\begin{center}This slide is empty\ldots{} \end{center}
-
-\pause
-
-\begin{center}It uses \texttt{EmptySlide} style for its title (see
-cyan color into \LyX{} window).\end{center}
-
-\pause
-
-\begin{center}You may also have noticed the use of \texttt{randomdots}
-slide option which\\
-allows displaying those multicolor dots into the slide background.\end{center}
-
-
-\lyxend\lyxslide[method=direct]{Example of \LaTeX{} source code}
-
-Let's now use the \texttt{listings} package in order to typeset some
-source code. Here's the \texttt{\textbackslash{}HelloWorld} \LaTeX{}
-command:
-
-\lstset{language=[LaTeX]TeX}
-\begin{lstlisting}
-\newcommand{\HelloWorld}{Hello World!}
-\end{lstlisting}
-
-Note that this slide uses the \texttt{method=direct} option (see its
-short title options box above into \LyX{} window).
-
-
-\lyxend\lyxslide[method=file]{Verbatim material with overlays}
-
-Here's \texttt{HelloWorld()} C function:
-
-\lstset{language=C}
-\begin{lstlisting}
-void HelloWorld() {
- printf("Hello World!\n");
-}
-\end{lstlisting}
-
-\pause Unlike the previous one, this slide must use \texttt{method=file}
-as it employs two overlays.
-
-
-\lyxend\lyxslide{The end.}
-
-Don't forget to put an \texttt{EndSlide} style at the end of the document
-(see the black symbol below into \LyX{} window).
-
-Have fun!
-
-
-\lyxend{}
-\end{document}
+%% LyX 1.3 created this file. For more info, see http://www.lyx.org/.
+%% Do not edit unless you really know what you are doing.
+\documentclass[size=10pt,letterpaper,landscape,english,nopsheader,style=fyma,display=slidesnotes]{powerdot}
+\usepackage[T1]{fontenc}
+\usepackage[latin1]{inputenc}
+
+\makeatletter
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LyX specific LaTeX commands.
+\providecommand{\LyX}{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
+\newcommand{\lyxarrow}{\leavevmode\,$\triangleright$\,\allowbreak}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% User specified LaTeX commands.
+\usepackage{listings}
+\pdsetup{%
+ lf=left footer,
+ rf=right footer
+}
+
+\usepackage{babel}
+\makeatother
+\begin{document}
+
+\title{A \LyX{} sample}
+
+
+\author{Mael Hillreau \and Hendri Adriaens \and Christopher Ellison}
+
+
+\date{\today}
+
+\maketitle
+
+\lyxend\lyxslide{My first slide}
+
+We use a \texttt{Slide} style (magenta color, see above this text
+into \LyX{} window) for the title of each slide of a section or document.
+
+
+\lyxend\lyxwideslide{My wide slide}
+
+\label{toc}But we may also use wide slides (green color, see above
+this text into \LyX{} window).
+
+Let's have a look at the TOC:
+\medskip{}
+
+\tableofcontents{}
+
+
+\lyxend\section{This is the first section}
+
+
+\lyxend\lyxslide[toc=This slide has...]{This slide has a very very long title}
+
+This slide's title is different in the TOC, see slide \pageref{toc}
+or at the left of all slides in this section.
+
+
+\lyxend\lyxnote{Important note!}
+
+Don't forget to use \texttt{Insert}\lyxarrow{}\texttt{Short title}
+in order to specify slide options.
+
+
+\lyxend\lyxslide{Using \texttt{\textbackslash{}pause}}
+
+Let's make a pause! \pause
+
+\ldots{} and then continue.
+
+
+\lyxend\section{Second section}
+
+
+\lyxend\lyxslide{Using \texttt{enumerate}}
+
+Let's enumerate things:\pause
+
+\begin{enumerate}[type=1]
+\item The first thing;\pause
+\item The second thing;\pause
+\item The third thing;\pause
+\item The final thing!
+\end{enumerate}
+
+\lyxend\lyxslide{Using \texttt{itemize}}
+
+We may also make some items and nest them:\pause
+
+\begin{itemize}[type=1]
+\item <2> The first;
+\item <3> The second;
+
+\begin{itemize}[type=1]
+\item <4> One,
+\item <5> Two,
+\item <6> Three,
+\end{itemize}
+\item <7> The last one.
+\end{itemize}
+
+\lyxend\lyxemptyslide[toc=,randomdots]{The empty slide!}
+
+\bigskip{}
+\begin{center}This slide is empty\ldots{} \end{center}
+
+\pause
+
+\begin{center}It uses \texttt{EmptySlide} style for its title (see
+cyan color into \LyX{} window).\end{center}
+
+\pause
+
+\begin{center}You may also have noticed the use of \texttt{randomdots}
+slide option which\\
+allows displaying those multicolor dots into the slide background.\end{center}
+
+
+\lyxend\lyxslide[method=direct]{Example of \LaTeX{} source code}
+
+Let's now use the \texttt{listings} package in order to typeset some
+source code. Here's the \texttt{\textbackslash{}HelloWorld} \LaTeX{}
+command:
+
+\lstset{language=[LaTeX]TeX}
+\begin{lstlisting}
+\newcommand{\HelloWorld}{Hello World!}
+\end{lstlisting}
+
+Note that this slide uses the \texttt{method=direct} option (see its
+short title options box above into \LyX{} window).
+
+
+\lyxend\lyxslide[method=file]{Verbatim material with overlays}
+
+Here's \texttt{HelloWorld()} C function:
+
+\lstset{language=C}
+\begin{lstlisting}
+void HelloWorld() {
+ printf("Hello World!\n");
+}
+\end{lstlisting}
+
+\pause Unlike the previous one, this slide must use \texttt{method=file}
+as it employs two overlays.
+
+
+\lyxend\lyxslide{The end.}
+
+Don't forget to put an \texttt{EndSlide} style at the end of the document
+(see the black symbol below into \LyX{} window).
+
+Have fun!
+
+
+\lyxend{}
+\end{document}
diff --git a/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout b/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout
index 1ce390b01e..da0163e99d 100644
--- a/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout
+++ b/macros/latex/contrib/powerdot/doc/lyx/powerdot.layout
@@ -1,461 +1,461 @@
-#% Do not delete the line below; configure depends on this
-# \DeclareLaTeXClass[powerdot]{powerdot presentation}
-# PowerDot textclass definition file.
-# Created (29.Aug.05): Mael Hillreau
-# Last modified: 17.Sep.05
-#
-# ----------------------------------------------------------
-# Copyright (C) 2005 Hendri Adriaens and Christopher Ellison
-# ----------------------------------------------------------
-#
-# This work may be distributed and/or modified under the
-# conditions of the LaTeX Project Public License, either version 1.3
-# of this license or (at your option) any later version.
-# The latest version of this license is in
-# http://www.latex-project.org/lppl.txt
-# and version 1.3 or later is part of all distributions of LaTeX
-# version 2003/12/01 or later.
-#
-# This work has the LPPL maintenance status "maintained".
-#
-# This Current Maintainer of this work is Christopher Ellison.
-#
-# This work consists of all files listed in manifest.txt.
-
-###
-# General textclass parameters
-###
-Columns 1
-Sides 1
-MaxCounter Counter_EnumI
-ProvidesUrl 1
-DefaultStyle Standard
-
-DefaultFont
- Family Sans
- Series Medium
- Shape Up
- Size Normal
- Color None
-EndFont
-
-###
-# General textclass parameters
-###
-ClassOptions
- FontSize size=8|size=9|size=10|size=11|size=12|size=14|size=17|size=20
- PageStyle ""
-End
-
-###
-# Title style definition
-###
-Style Title
- Margin Static
- LatexType Command
- InTitle 1
- LatexName title
- ParSkip 0.4
- ItemSep 0
- TopSep 0
- BottomSep 1
- ParSep 1
- Align Center
- AlignPossible Center
- LabelType No_Label
-
- Font
- Series Bold
- Size Largest
- Color Blue
- EndFont
-End
-
-###
-# Author style definition
-###
-Style Author
- Margin Static
- LatexType Command
- InTitle 1
- LatexName author
- LabelSep xxx
- ParSkip 0.4
- TopSep 1.3
- BottomSep 0.7
- ParSep 0.7
- Align Center
- AlignPossible Center
- LabelType No_Label
-
- Font
- Size Large
- Color Blue
- EndFont
-End
-
-###
-# Date style definition
-###
-Style Date
- Margin Dynamic
- LatexType Command
- InTitle 1
- LatexName date
- LabelSep xxx
- ParSkip 0.4
- TopSep 0.9
- BottomSep 0.5
- ParSep 1
- Align Center
- AlignPossible Center
- LabelType No_Label
-
- Font
- Size Large
- Color Blue
- EndFont
-End
-
-###
-# Standard style definition
-###
-Style Standard
- Margin Static
- LatexType Paragraph
- LatexName dummy
- ParSkip 0.4
- Align Block
- AlignPossible Block, Left, Right, Center
- LabelType No_Label
-End
-
-###
-# Slide styles definition
-###
-Style Slide
- Margin Static
- LatexType Command
- LatexName lyxend\lyxslide
- LabelSep xxx
- ParSkip 0.4
- TopSep 1.3
- BottomSep 0.7
- ParSep 0.7
- Align Center
- AlignPossible Center
- LabelType Counter_Subsection
- LabelString " "
- OptionalArgs 1
-
- Font
- Series Bold
- Size Large
- Color Magenta
- EndFont
-End
-
-Style EndSlide
- CopyStyle Slide
- KeepEmpty 1
- LatexName lyxend
- Margin Static
- ParSkip 0
- TopSep 0
- BottomSep 1
- ParSep 0
- LabelType Static
- LabelBottomSep 0
- LeftMargin MMMMMMM
- LabelString "~=~"
- OptionalArgs 0
-
- Font
- Color None
- EndFont
-End
-
-
-
-###
-# Wideslide style definition
-###
-Style WideSlide
- CopyStyle Slide
- LatexName lyxend\lyxwideslide
-
- Font
- Color Green
- EndFont
-End
-
-###
-# EmptySlide style definition
-###
-Style EmptySlide
- CopyStyle Slide
- LatexName lyxend\lyxemptyslide
- LeftMargin MMMMMMMMMMMMMM
- LabelString "Empty slide:"
- LabelType Static
- KeepEmpty 1
-
- Font
- Color Cyan
- EndFont
-End
-
-###
-# Note style definition
-###
-Style Note
- CopyStyle Slide
- LatexName lyxend\lyxnote
- LeftMargin MMMMMMM
- LabelString "Note:"
- LabelType Static
- KeepEmpty 1
- OptionalArgs 0
-
- Font
- Color Red
- EndFont
-End
-
-###
-# Section style definition
-###
-Style Section
- CopyStyle Slide
- LatexName lyxend\section
- LabelType Counter_Section
- LabelString ""
-
- Font
- Size Larger
- Color Blue
- EndFont
-End
-
-###
-# Itemize styles definition
-###
-Style Itemize
- Margin Static
- LatexType Item_Environment
- LatexName itemize
- NextNoIndent 1
- LeftMargin MMN
- LabelSep xx
- ItemSep 0.2
- TopSep 0.7
- BottomSep 0.7
- ParSep 0.3
- Align Block
- AlignPossible Block, Left
- LabelType Static
- LabelString *
-End
-
-Style ItemizeType1
- CopyStyle Itemize
- LatexParam [type=1]
-End
-
-###
-# Enumerate styles definition
-###
-Style Enumerate
- Margin Static
- LatexType Item_Environment
- LatexName enumerate
- NextNoIndent 1
- LeftMargin MMN
- LabelSep xx
- ParSkip 0.0
- ItemSep 0.2
- TopSep 0.7
- BottomSep 0.7
- ParSep 0.3
- Align Block
- AlignPossible Block, Left
- LabelType Counter_EnumI
-End
-
-Style EnumerateType1
- CopyStyle Enumerate
- LatexParam [type=1]
-End
-
-###
-# Bibliography style definition
-###
-Style Bibliography
- Margin First_Dynamic
- LatexType Item_Environment
- LatexName thebibliography
- NextNoIndent 1
- LeftMargin MM
- ParSkip 0.4
- ItemSep 0
- TopSep 0.7
- BottomSep 0.7
- ParSep 0.5
- Align Block
- AlignPossible Block, Left
- LabelType Bibliography
- LabelString ""
- LabelBottomSep 0
-End
-
-###
-# Quotation style definition
-###
-Style Quotation
- Margin Static
- LatexType Environment
- LatexName quotation
- NextNoIndent 1
- LeftMargin MMM
- RightMargin MMM
- ParIndent MM
- ParSkip 0
- ItemSep 0
- TopSep 0.5
- BottomSep 0.5
- ParSep 0
- Align Block
- AlignPossible Block, Left, Right, Center
-End
-
-###
-# Quote style definition
-###
-Style Quote
- Margin Static
- LatexType Environment
- LatexName quote
- NextNoIndent 1
- LeftMargin MMM
- RightMargin MMM
- TopSep 0.5
- ParSep 0.5
- BottomSep 0.5
- Align Block
- AlignPossible Block, Left, Right, Center
- LabelType No_Label
-End
-
-###
-# Verse style definition
-###
-Style Verse
-# LaTeX type is first dynamic because of LaTeX implementation.
-# In LyX this does not make sense.
- LatexType Environment
- LatexName verse
- Margin First_Dynamic
- NextNoIndent 1
- LeftMargin MMMM
- LabelIndent MMMM
- ParSkip 0.4
- TopSep 0.7
- BottomSep 0.7
- ParSep 0.5
- Align Block
- AlignPossible Block, Left
- LabelType No_Label
-End
-
-###
-# Caption style definition
-###
-Style Caption
- Margin First_Dynamic
- LatexType Command
- LatexName caption
- NeedProtect 1
- LabelSep xx
- ParSkip 0.4
- TopSep 0.5
- Align Center
- AlignPossible Center
- LabelType Sensitive
- LabelString Caption
- OptionalArgs 1
-
- LabelFont
- Series Bold
- EndFont
-End
-
-###
-# Floats definitions
-###
-Float
- Type table
- GuiName Table
- Extension lot
- NumberWithin none
- Style plain
- ListName "List of Tables"
- LaTeXBuiltin true
-End
-
-Float
- Type figure
- GuiName Figure
- Extension lof
- NumberWithin none
- Style plain
- ListName "List of Figures"
- LaTeXBuiltin true
-End
-
-Float
- Type algorithm
- GuiName Algorithm
- Extension loa
- NumberWithin none
- Style ruled
- ListName "List of Algorithms"
- LaTeXBuiltin false
-End
-
-###
-# Counters definitions
-###
-Counter
- Name enumi
-End
-
-Counter
- Name enumii
- Within enumi
-End
-
-Counter
- Name enumiii
- Within enumii
-End
-
-Counter
- Name enumiv
- Within enumiii
-End
-
-Counter
- Name bibitem
-End
-
-Counter
- Name figure
-End
-
-Counter
- Name table
-End
-
-Counter
- Name algorithm
-End
+#% Do not delete the line below; configure depends on this
+# \DeclareLaTeXClass[powerdot]{powerdot presentation}
+# PowerDot textclass definition file.
+# Created (29.Aug.05): Mael Hillreau
+# Last modified: 17.Sep.05
+#
+# ----------------------------------------------------------
+# Copyright (C) 2005 Hendri Adriaens and Christopher Ellison
+# ----------------------------------------------------------
+#
+# This work may be distributed and/or modified under the
+# conditions of the LaTeX Project Public License, either version 1.3
+# of this license or (at your option) any later version.
+# The latest version of this license is in
+# http://www.latex-project.org/lppl.txt
+# and version 1.3 or later is part of all distributions of LaTeX
+# version 2003/12/01 or later.
+#
+# This work has the LPPL maintenance status "maintained".
+#
+# This Current Maintainer of this work is Christopher Ellison.
+#
+# This work consists of all files listed in manifest.txt.
+
+###
+# General textclass parameters
+###
+Columns 1
+Sides 1
+MaxCounter Counter_EnumI
+ProvidesUrl 1
+DefaultStyle Standard
+
+DefaultFont
+ Family Sans
+ Series Medium
+ Shape Up
+ Size Normal
+ Color None
+EndFont
+
+###
+# General textclass parameters
+###
+ClassOptions
+ FontSize size=8|size=9|size=10|size=11|size=12|size=14|size=17|size=20
+ PageStyle ""
+End
+
+###
+# Title style definition
+###
+Style Title
+ Margin Static
+ LatexType Command
+ InTitle 1
+ LatexName title
+ ParSkip 0.4
+ ItemSep 0
+ TopSep 0
+ BottomSep 1
+ ParSep 1
+ Align Center
+ AlignPossible Center
+ LabelType No_Label
+
+ Font
+ Series Bold
+ Size Largest
+ Color Blue
+ EndFont
+End
+
+###
+# Author style definition
+###
+Style Author
+ Margin Static
+ LatexType Command
+ InTitle 1
+ LatexName author
+ LabelSep xxx
+ ParSkip 0.4
+ TopSep 1.3
+ BottomSep 0.7
+ ParSep 0.7
+ Align Center
+ AlignPossible Center
+ LabelType No_Label
+
+ Font
+ Size Large
+ Color Blue
+ EndFont
+End
+
+###
+# Date style definition
+###
+Style Date
+ Margin Dynamic
+ LatexType Command
+ InTitle 1
+ LatexName date
+ LabelSep xxx
+ ParSkip 0.4
+ TopSep 0.9
+ BottomSep 0.5
+ ParSep 1
+ Align Center
+ AlignPossible Center
+ LabelType No_Label
+
+ Font
+ Size Large
+ Color Blue
+ EndFont
+End
+
+###
+# Standard style definition
+###
+Style Standard
+ Margin Static
+ LatexType Paragraph
+ LatexName dummy
+ ParSkip 0.4
+ Align Block
+ AlignPossible Block, Left, Right, Center
+ LabelType No_Label
+End
+
+###
+# Slide styles definition
+###
+Style Slide
+ Margin Static
+ LatexType Command
+ LatexName lyxend\lyxslide
+ LabelSep xxx
+ ParSkip 0.4
+ TopSep 1.3
+ BottomSep 0.7
+ ParSep 0.7
+ Align Center
+ AlignPossible Center
+ LabelType Counter_Subsection
+ LabelString " "
+ OptionalArgs 1
+
+ Font
+ Series Bold
+ Size Large
+ Color Magenta
+ EndFont
+End
+
+Style EndSlide
+ CopyStyle Slide
+ KeepEmpty 1
+ LatexName lyxend
+ Margin Static
+ ParSkip 0
+ TopSep 0
+ BottomSep 1
+ ParSep 0
+ LabelType Static
+ LabelBottomSep 0
+ LeftMargin MMMMMMM
+ LabelString "~=~"
+ OptionalArgs 0
+
+ Font
+ Color None
+ EndFont
+End
+
+
+
+###
+# Wideslide style definition
+###
+Style WideSlide
+ CopyStyle Slide
+ LatexName lyxend\lyxwideslide
+
+ Font
+ Color Green
+ EndFont
+End
+
+###
+# EmptySlide style definition
+###
+Style EmptySlide
+ CopyStyle Slide
+ LatexName lyxend\lyxemptyslide
+ LeftMargin MMMMMMMMMMMMMM
+ LabelString "Empty slide:"
+ LabelType Static
+ KeepEmpty 1
+
+ Font
+ Color Cyan
+ EndFont
+End
+
+###
+# Note style definition
+###
+Style Note
+ CopyStyle Slide
+ LatexName lyxend\lyxnote
+ LeftMargin MMMMMMM
+ LabelString "Note:"
+ LabelType Static
+ KeepEmpty 1
+ OptionalArgs 0
+
+ Font
+ Color Red
+ EndFont
+End
+
+###
+# Section style definition
+###
+Style Section
+ CopyStyle Slide
+ LatexName lyxend\section
+ LabelType Counter_Section
+ LabelString ""
+
+ Font
+ Size Larger
+ Color Blue
+ EndFont
+End
+
+###
+# Itemize styles definition
+###
+Style Itemize
+ Margin Static
+ LatexType Item_Environment
+ LatexName itemize
+ NextNoIndent 1
+ LeftMargin MMN
+ LabelSep xx
+ ItemSep 0.2
+ TopSep 0.7
+ BottomSep 0.7
+ ParSep 0.3
+ Align Block
+ AlignPossible Block, Left
+ LabelType Static
+ LabelString *
+End
+
+Style ItemizeType1
+ CopyStyle Itemize
+ LatexParam [type=1]
+End
+
+###
+# Enumerate styles definition
+###
+Style Enumerate
+ Margin Static
+ LatexType Item_Environment
+ LatexName enumerate
+ NextNoIndent 1
+ LeftMargin MMN
+ LabelSep xx
+ ParSkip 0.0
+ ItemSep 0.2
+ TopSep 0.7
+ BottomSep 0.7
+ ParSep 0.3
+ Align Block
+ AlignPossible Block, Left
+ LabelType Counter_EnumI
+End
+
+Style EnumerateType1
+ CopyStyle Enumerate
+ LatexParam [type=1]
+End
+
+###
+# Bibliography style definition
+###
+Style Bibliography
+ Margin First_Dynamic
+ LatexType Item_Environment
+ LatexName thebibliography
+ NextNoIndent 1
+ LeftMargin MM
+ ParSkip 0.4
+ ItemSep 0
+ TopSep 0.7
+ BottomSep 0.7
+ ParSep 0.5
+ Align Block
+ AlignPossible Block, Left
+ LabelType Bibliography
+ LabelString ""
+ LabelBottomSep 0
+End
+
+###
+# Quotation style definition
+###
+Style Quotation
+ Margin Static
+ LatexType Environment
+ LatexName quotation
+ NextNoIndent 1
+ LeftMargin MMM
+ RightMargin MMM
+ ParIndent MM
+ ParSkip 0
+ ItemSep 0
+ TopSep 0.5
+ BottomSep 0.5
+ ParSep 0
+ Align Block
+ AlignPossible Block, Left, Right, Center
+End
+
+###
+# Quote style definition
+###
+Style Quote
+ Margin Static
+ LatexType Environment
+ LatexName quote
+ NextNoIndent 1
+ LeftMargin MMM
+ RightMargin MMM
+ TopSep 0.5
+ ParSep 0.5
+ BottomSep 0.5
+ Align Block
+ AlignPossible Block, Left, Right, Center
+ LabelType No_Label
+End
+
+###
+# Verse style definition
+###
+Style Verse
+# LaTeX type is first dynamic because of LaTeX implementation.
+# In LyX this does not make sense.
+ LatexType Environment
+ LatexName verse
+ Margin First_Dynamic
+ NextNoIndent 1
+ LeftMargin MMMM
+ LabelIndent MMMM
+ ParSkip 0.4
+ TopSep 0.7
+ BottomSep 0.7
+ ParSep 0.5
+ Align Block
+ AlignPossible Block, Left
+ LabelType No_Label
+End
+
+###
+# Caption style definition
+###
+Style Caption
+ Margin First_Dynamic
+ LatexType Command
+ LatexName caption
+ NeedProtect 1
+ LabelSep xx
+ ParSkip 0.4
+ TopSep 0.5
+ Align Center
+ AlignPossible Center
+ LabelType Sensitive
+ LabelString Caption
+ OptionalArgs 1
+
+ LabelFont
+ Series Bold
+ EndFont
+End
+
+###
+# Floats definitions
+###
+Float
+ Type table
+ GuiName Table
+ Extension lot
+ NumberWithin none
+ Style plain
+ ListName "List of Tables"
+ LaTeXBuiltin true
+End
+
+Float
+ Type figure
+ GuiName Figure
+ Extension lof
+ NumberWithin none
+ Style plain
+ ListName "List of Figures"
+ LaTeXBuiltin true
+End
+
+Float
+ Type algorithm
+ GuiName Algorithm
+ Extension loa
+ NumberWithin none
+ Style ruled
+ ListName "List of Algorithms"
+ LaTeXBuiltin false
+End
+
+###
+# Counters definitions
+###
+Counter
+ Name enumi
+End
+
+Counter
+ Name enumii
+ Within enumi
+End
+
+Counter
+ Name enumiii
+ Within enumii
+End
+
+Counter
+ Name enumiv
+ Within enumiii
+End
+
+Counter
+ Name bibitem
+End
+
+Counter
+ Name figure
+End
+
+Counter
+ Name table
+End
+
+Counter
+ Name algorithm
+End
diff --git a/macros/latex/contrib/powerdot/doc/manifest.txt b/macros/latex/contrib/powerdot/doc/manifest.txt
index 4d3c636b05..51926bc4a7 100644
--- a/macros/latex/contrib/powerdot/doc/manifest.txt
+++ b/macros/latex/contrib/powerdot/doc/manifest.txt
@@ -1,83 +1,83 @@
-powerdot manifest
-=================
-
-
-This work consists of the file:
-
- powerdot.dtx
-
-and derived files:
-
- powerdot.cls
- powerdot-styletest.tex
- powerdot-styleexample.tex
- powerdot-example1.tex
- powerdot-example2.tex
- powerdot-example3.tex
- powerdot-default.sty
- powerdot-tycja.sty
- powerdot-ikeda.sty
- powerdot-fyma.sty
- powerdot-simple.sty
- powerdot-ciment.sty
- powerdot-elcolors.sty
- powerdot-aggie.sty
- powerdot-husky.sty
- powerdot-sailor.sty
- powerdot-upen.sty
- powerdot-bframe.sty
- powerdot-horatio.sty
- powerdot-paintings.sty
- powerdot-klope.sty
- powerdot-jefka.sty
- powerdot-pazik.sty
-
-
-
-The following overview shows which files constitute the
-powerdot bundle and must be distributed as a whole. It
-also shows the supposed location of these files in a
-TDS-compliant TeX-tree:
-
-CTAN:/macros/latex/contrib/powerdot: official location
- |
- |- readme : should not be installed
- |- powerdot-styletest.tex : should not be installed
- |- powerdot-styleexample.tex : should not be installed
- |- doc
- | |- lyx : /doc/latex/powerdot
- | | |- powerdot.layout : /doc/latex/powerdot/lyx
- | | |- powerdot-example.lyx : /doc/latex/powerdot/lyx
- | | `- powerdot-example.tex : /doc/latex/powerdot/lyx
- | |
- | |- manifest.txt : /doc/latex/powerdot
- | |- powerdot.pdf : /doc/latex/powerdot
- | |- powerdotDE.pdf : /doc/latex/powerdot
- | |- powerdotDE.tex : /doc/latex/powerdot
- | |- powerdot-example1.tex : /doc/latex/powerdot
- | |- powerdot-example2.tex : /doc/latex/powerdot
- | `- powerdot-example3.tex : /doc/latex/powerdot
- |
- |- run
- | |- powerdot.cls : /tex/latex/powerdot
- | |- powerdot-default.ps : /tex/latex/powerdot
- | |- powerdot-default.sty : /tex/latex/powerdot
- | |- powerdot-ikeda.sty : /tex/latex/powerdot
- | |- powerdot-tycja.sty : /tex/latex/powerdot
- | |- powerdot-fyma.sty : /tex/latex/powerdot
- | |- powerdot-simple.sty : /tex/latex/powerdot
- | |- powerdot-ciment.sty : /tex/latex/powerdot
- | |- powerdot-elcolors.sty : /tex/latex/powerdot
- | |- powerdot-aggie.sty : /tex/latex/powerdot
- | |- powerdot-husky.sty : /tex/latex/powerdot
- | |- powerdot-sailor.sty : /tex/latex/powerdot
- | |- powerdot-upen.sty : /tex/latex/powerdot
- | |- powerdot-bframe.sty : /tex/latex/powerdot
- | |- powerdot-horatio.sty : /tex/latex/powerdot
- | |- powerdot-paintings.sty : /tex/latex/powerdot
- | |- powerdot-klope.sty : /tex/latex/powerdot
- | |- powerdot-jefka.sty : /tex/latex/powerdot
- | `- powerdot-pazik.sty : /tex/latex/powerdot
- |
- `- source
- `- powerdot.dtx : /source/latex/powerdot
+powerdot manifest
+=================
+
+
+This work consists of the file:
+
+ powerdot.dtx
+
+and derived files:
+
+ powerdot.cls
+ powerdot-styletest.tex
+ powerdot-styleexample.tex
+ powerdot-example1.tex
+ powerdot-example2.tex
+ powerdot-example3.tex
+ powerdot-default.sty
+ powerdot-tycja.sty
+ powerdot-ikeda.sty
+ powerdot-fyma.sty
+ powerdot-simple.sty
+ powerdot-ciment.sty
+ powerdot-elcolors.sty
+ powerdot-aggie.sty
+ powerdot-husky.sty
+ powerdot-sailor.sty
+ powerdot-upen.sty
+ powerdot-bframe.sty
+ powerdot-horatio.sty
+ powerdot-paintings.sty
+ powerdot-klope.sty
+ powerdot-jefka.sty
+ powerdot-pazik.sty
+
+
+
+The following overview shows which files constitute the
+powerdot bundle and must be distributed as a whole. It
+also shows the supposed location of these files in a
+TDS-compliant TeX-tree:
+
+CTAN:/macros/latex/contrib/powerdot: official location
+ |
+ |- readme : should not be installed
+ |- powerdot-styletest.tex : should not be installed
+ |- powerdot-styleexample.tex : should not be installed
+ |- doc
+ | |- lyx : /doc/latex/powerdot
+ | | |- powerdot.layout : /doc/latex/powerdot/lyx
+ | | |- powerdot-example.lyx : /doc/latex/powerdot/lyx
+ | | `- powerdot-example.tex : /doc/latex/powerdot/lyx
+ | |
+ | |- manifest.txt : /doc/latex/powerdot
+ | |- powerdot.pdf : /doc/latex/powerdot
+ | |- powerdotDE.pdf : /doc/latex/powerdot
+ | |- powerdotDE.tex : /doc/latex/powerdot
+ | |- powerdot-example1.tex : /doc/latex/powerdot
+ | |- powerdot-example2.tex : /doc/latex/powerdot
+ | `- powerdot-example3.tex : /doc/latex/powerdot
+ |
+ |- run
+ | |- powerdot.cls : /tex/latex/powerdot
+ | |- powerdot-default.ps : /tex/latex/powerdot
+ | |- powerdot-default.sty : /tex/latex/powerdot
+ | |- powerdot-ikeda.sty : /tex/latex/powerdot
+ | |- powerdot-tycja.sty : /tex/latex/powerdot
+ | |- powerdot-fyma.sty : /tex/latex/powerdot
+ | |- powerdot-simple.sty : /tex/latex/powerdot
+ | |- powerdot-ciment.sty : /tex/latex/powerdot
+ | |- powerdot-elcolors.sty : /tex/latex/powerdot
+ | |- powerdot-aggie.sty : /tex/latex/powerdot
+ | |- powerdot-husky.sty : /tex/latex/powerdot
+ | |- powerdot-sailor.sty : /tex/latex/powerdot
+ | |- powerdot-upen.sty : /tex/latex/powerdot
+ | |- powerdot-bframe.sty : /tex/latex/powerdot
+ | |- powerdot-horatio.sty : /tex/latex/powerdot
+ | |- powerdot-paintings.sty : /tex/latex/powerdot
+ | |- powerdot-klope.sty : /tex/latex/powerdot
+ | |- powerdot-jefka.sty : /tex/latex/powerdot
+ | `- powerdot-pazik.sty : /tex/latex/powerdot
+ |
+ `- source
+ `- powerdot.dtx : /source/latex/powerdot
diff --git a/macros/latex/contrib/powerdot/doc/powerdot.pdf b/macros/latex/contrib/powerdot/doc/powerdot.pdf
index d40db78d71..466f5e09b8 100644
--- a/macros/latex/contrib/powerdot/doc/powerdot.pdf
+++ b/macros/latex/contrib/powerdot/doc/powerdot.pdf
Binary files differ
diff --git a/macros/latex/contrib/powerdot/run/powerdot-default.ps b/macros/latex/contrib/powerdot/run/powerdot-default.ps
index 71683ca5cd..2a8a22c4a3 100644
--- a/macros/latex/contrib/powerdot/run/powerdot-default.ps
+++ b/macros/latex/contrib/powerdot/run/powerdot-default.ps
@@ -1,109 +1,109 @@
-%!PS-Adobe-3.0 EPSF-3.0
-%%Creator: jpeg2ps V1.8 by Thomas Merz
-%%Title: flower.jpg
-%%CreationDate: Thu Sep 04 15:25:36 2003
-%%BoundingBox: 20 20 592 284
-%%DocumentData: Clean7Bit
-%%LanguageLevel: 2
-%%EndComments
-%%BeginProlog
-%%EndProlog
-%%Page: 1 1
-/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
- (JPEG file 'flower.jpg' needs PostScript Level 2!\n) dup print flush
- /Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
-} if
-save
-/RawData currentfile /ASCII85Decode filter def
-/Data RawData << >> /DCTDecode filter def
-20 20 translate
-572.00 264.00 scale
-/DeviceRGB setcolorspace
-{ << /ImageType 1
- /Width 130
- /Height 60
- /ImageMatrix [ 130 0 0 -60 0 60 ]
- /DataSource Data
- /BitsPerComponent 8
- /Decode [0 1 0 1 0 1]
- >> image
- Data closefile
- RawData flushfile
- showpage
- restore
-} exec
-s4IA0!"_al8O`[\!WW42!+Z'0s6K^t7!3!TGlRjF"98E%49,B]mJm__A8bpg!+`k
-F!!!'"gAlm,"p>&3"U##5"U58;"U58@#R1J=$Od@L$OR4L&.AsU$k*OU$k<dZ%h9
-!]',2,o'-%r1)]TqA+!2RH+!2RH!=&i7%1E[_&.fZs'bM0!+!2RH+!2RH+!2RH+!
-2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+90+V&I8A!!.k:R&HDkE!
-<Wo7s24o6!!!*%!<E3%!<<*"z!!EH0!s\l-#QXr+!WrH(!<<*"z!!!!$"T\Z-!!W
-Z>!!*-(!sAf5#6P)2z!<N?'&J>3i0a0iV'F%ECEM4R3JWWi>,8CHg_9kS*;\nkSU
->bX*1h2^q&HDh7!!EE,":553z!!*'3!WsT#&d1Kt'*[l6EIjf-16JiXdIBOJ1DJf
-B,S^O`g&MN`!<<05!tbMt!:(f:P\/(]CAkV"H=Pldo3Re8T<1>XN3Z:X6s;cH_#n
-are&,T53dks\9SG$Zl5G#oW3*g6DlV0*;Q"Dmm:LhSB?`Xim1@:M<4\dbIWfbJ8[
-Z2Wb>WrU:KT\H0AcE]4Cdt2ZEZ&_ci]542OhlYL#G%QbasVUdYZCKE>TE4bne-\m
-o0'UR7FhZnKC`hAN((=`[JX\Ten:'QLe_S->qt>/VIqq];k^sGN?=?(11jG?2L/4
-W7kH4<'jZ3L0Lm6iA:*rD6ADd1-F5had59Rc$&74PFHU_$:WdN'UKH*;PJgW&?0f
-L:kQ:F,7Va,q.+si!:`leK2B7)fp8+*T@=0e&dDf[;K3cF-6H85!(k<V;;A5P!2k
-"/F&pmB[NXKBdqnEens<43[%4Rr#sBEJ*q),%62\W!EZ>e7N.Tqie]#_n[a2d+dl
-ruE!Sd#6LZ44/YXl/2A\3%\P>][-6=c[dh+lVDWHFf!bIX"@l>A5*6TLtMg"R:WG
-?mM0RZB=#r(bku*a2ujo88Mn2@QtXHjWN!@/g4/af(4*CF-4M4GkSZBi(0OE?K='
-"U+B8R1;)?rPnF#Lbq]]?!IL^g//JLP4DE1gZjBIGpu=m/Mbo;_P+SK6AF.G9u\Y
-g7I'_EUSk&mT,U]UN5oTck)I;1%!,B#1.H;f5<l&1\QYespm>DRc;6+]C).$r8tB
-En'kOLgG:MBN[b^oB<atPrfmQ-m;U_qJ?kbDN)d_F3N/<3][&T96JPaqo6`t3@.5
-/.$5'C:"X2(,u@gII"*ASIa`FcR;",a[ue(V?^Lj!N>#mDeVHmo[4@in*LWeQEe?
-#J_dSJrLX*D<ouTp>^u\?emhGa)2f+PJfj"?>3]=;74hrrA:k'ffd%lP@c1G_NFT
-pQVXJ>"Vh]*#/1QT%G$k2HTF98hGt+dt]f`,1&'dH+1/gjXs36d-QA<;Zh3=\3Y(
-P'W%b-6c)O'5C>,r?KZ?FZhf"aXgE]]aX1E\>(K=MHR6LjI#/tl:3!"S+cORqR\A
-1*?GfR(cCjBMj#WHU#G=EL\$E@!J7,4;7s0K1),:8_?m@49i`,/Er5RdQou4Kc8f
-HG^[\)b4ZdOO>pVEb$\Y0/NNCfN<>]:1,VQTG,V+L5UbA-EN`h^qV9HNsJ81A,&g
-0u$Z2P<gkpCKmN7VeNjf/?^o8IBB^J^Q%:&Z-=3qPeTpW>$OtRpPB2:kggek.%?2
-@CN^cAS=V%LrD!RE]l,V!,#hsGqAPQl&7!WFR-%N<H!9.<4IWRC;mi$RR2mCOdM9
-R2-Ko@`KcrhL-`2'`/-!N?ho%,m&>XrK^Q]Z-j]B7.R8q=Q6">`@RQD(F8)M3f]N
-_OT$I6ZKh*?-pdCoiB9-l(7c'5-=j:u*WkVB<40-2mg4]nr<#6QJC6;_V_Q%W5b6
-[_ZI@)>V-69dM1-[KcGuFI=h)A9_F_e\FbU't4.[,m43!=m;m@Y(f6tj;B]FIYkh
-<:?Y>d0H"+.Fp]eUEUcZ?Gu+o_7fH<I4>%46IBIe_s-B2,8DkZ&bID+O^%7.4dT,
--.7m7ZI>$74c*\&Og)9/dbVe;^eMih&i/*[8F-BnoQ??A))SL6&:qmX<H#%7EX-+
-g8/MJ"7'fGt5V#mg9jPU>0/Y8.e^*Tcrr?;$a$4n2PE*(@"i9EJ2Y?'N#U#o0Dd%
-71(P.mfEI^fi1CE';%:$UInL@hLSAZq2>?B)V9f773#Sa<IR1Pk7To*5I[2N(I(A
-:fpLJX73U^4U\397W7LG<g]Lpkn*Oh6]#X;V*2_gS.sZkdjcPQ>%/fP(1PVKmU8,
-3IZ0LT[.M6CTG-*R\2c-qQ3EOcNU=N<+"I&mt1jk`ssINg2nFk2OpG.[`q#,Yg[*
-cD)S)(r0:r5&!^[32`2lU<.Wel=P'6+Hb:b'TF7=WSVmr&A<Et?G!">,dDDBrL2d
-q;"dK63LFYZEWWHLCIL-q+LA(TVk68^m4$V)\VB'%G76+4Xd`,(>/0WT?'9p=c0h
-YH0D8;ld2piiDAIbA!@\(A'#?"7@F6-'E5kNr9+4dB`fAU?e@/'''e@4Ve>WTh-D
-5PE@<A\1Q5HM]="t\\f(OE$WbG'k,;hGIQ2XXP<mGJmPY,kr5bol-a:&;q#hLBH]
-lA5pf_*40ATK7'l)@-I!SK-?E;Wsd/B\c4gSE(e>)uN'G6%g[4I(Sc7e&CZ,n;LK
-gj^03#"laJpqCCQ7OYihZP3&NNKd1G.g`C/kC%1liOW#APUGo3@G@eBKeA%gk:UO
-h)BVjCkQr>=K#_</)26_BSR5@Y(Zr2s.l')oV&3i61l_i>O]2+*V1.S]>INQCDlP
-+mB/pMf3)H>>D,AN"^f5;*a^Ma@>uFk_ZL^UVnP62Y,2pBcKe0;9KeLRQ#7iZO."
-N?lpZ9H9,bj7TVp[:&+!<A>>q)tl(s-=A#>2DPm[c`O8Q@40LLA,Oekq%B;.C>4C
-NcNs9UV;[e[@3Xo9(d89=t/O.j<&A;GQGZ)5q+tc7s<[Ou,Hb.?`ERdY62I4GM9i
-[$o@;Q"Hg;T+E\3FE$9/Dn!S6,[/rS6BG$;QrLp%!%@)*o1*-^G(#S.,\!4bZLtb
-<Ti'O$k?5@=mgs5Y!S&>/)kkAcdXcn7=VIpjp93n:_fg8.@2&gT*L_I=4V]'C60#
-M=\-QTAfqA.?Y<YYIJotU(Q4%,Yl"QU<YrJhW<"MUj/"IVnb+-AJK=bf"[BXWZh"
-qa7TQY6'Y<Rj6$D`mrWQY3lU'^ETZ,Bo1_HX%(fd)h6pHe$!DQ`qqfQ/MO@-4+Bk
-F6pl[qKmN'2<q+6Ipn5BIuR_?<W1hq[@c\gT]NPCUQUrq?B5u^3+tE3_uPeqQ?L<
-e/$(3j0!@g/LX4(["9\p5Qe;uLu!Io_!-&Z:Qed=8jW#R(J)6q>q47_/N8r5P(nO
-.L4CaK6d1su\`=nTi*iR3^KLH>A.G#M@;DiF-K,8>8Qo(p5s[7TD'<H2iWTNojX=
-,>-)Va\HdmifAE)?G@Co^+'VpLO8t\pO.KNGaP>,7+*/'9`Gi4W$b/N\eT=ITr(@
-J'Y[4+hu,g[6hm,C85B*0C;,S8a3b%\iJ#bF2c]h630i_lEu:rf:QL`A0D_.7=Bm
-FY,_21q>u!W-7[gW)0f$IE)CY,ZEp"=WE0M+;M?mY^4qaJ^iS[/U-eIe3R>njZn&
-7"2$VUIjUP/gXXp?$Ma@"_VtHg0"KCM4[WAikYAhFl[92cO^^<#Q!*oeppg3MIVp
-?X*K$].J=G6*k33!V^R7<&ZPS,Rb:]Q.7Ot$(_\QIirLLM:*j"2EfPVFRB>7*jc5
-/eBp@*fFdZ#V6!rRlYI/OgU'.S.:o@_D.cD0[qN*os>f3^,938+oC*_sdELLI/I0
--u:N!I8DJlO=+Z-72hS?L&#4N29q`h\8PE:R%5(<Z[mW2<<Q7S3_sVf,U)?ZGKS)
-Vui8LHi%ZNn,tLn/Qgr<o!SGEd!YE=>d(bmDHALPAR3S^!ec>#tg]onIcJ,%!dl`
-]%l%#(_APEA]N/GW7TQ$`.qn=b#dBYXm7oHeoo5`i3pg0N04Me>H%`?W;-KA<`QF
-GmpWZ!Y[grNkLoOB?>BS?P#sKQ?E\"9l\@jHgQ]8gEr@:L3n[5F2RDg'.0+I564l
-noX/l&!o_J)"UGQoLLXM^`%GnLp?#rGhVe.L7d[NR?d"RW'2\f6[1'>VScBuT,X0
-.RaX-Tku^QtGu.0i]Q1-3SD:t';ZC@eGS8/s^EP;MY3Xts8f=q$!m!3E8aCOXhX/
-_hipL.[e+-*gF"nm*e$9<U25Tk[3=,rq,QY?Ydq`CMVI]$#oH76kBANl]Tc3gH!O
-.Z:HP8uf<u/uVk`(WbF^-^NH]^Bg"*&RQ07\>F[qS=iu(<s]qGo==WOn+9@5e'd6
-P7.Y?f4jV.)r465SFZQA-^8Q7[kWU(Q"^/UF:Kmbu*Vj4"Wcs[JeGR#,`dM`tGPb
-B52@GPQ^jP+T)h#Wm<L#YGE3>Y<:-Fa)FKoIh[_4h"LVR8k^6&?p&,?St.%L;;4`
-o:)q#%X7S:'r-L\Y4Oe]W^n`f1md:F-nO#E8X`IIf*UnF5;[lODZ7fdT:KeYf)^T
-=<GB<KfTr_rq?I3,NkZ0;$a_WgE[!4;<9elKa-'!;/KVWW)s4^UoB!F7N2>`;X`$
-npG'aXliDYR_,9-htDtU\l>!F(LZ;R3,@gDYD,ODg88V[d@>J'kjKQf=Vg.>l@e:
-p(Pb]a!)e7aF.ZDFB;sFABpUDk>WOg-SeC:[<+b!ni.t>!CNh+<rr?Y5bLlQa%c-
-[9Zdm*Z5jmd9,u7QAH]c#pN3gF*]0F:_(!HX1~>
-%%EOF
+%!PS-Adobe-3.0 EPSF-3.0
+%%Creator: jpeg2ps V1.8 by Thomas Merz
+%%Title: flower.jpg
+%%CreationDate: Thu Sep 04 15:25:36 2003
+%%BoundingBox: 20 20 592 284
+%%DocumentData: Clean7Bit
+%%LanguageLevel: 2
+%%EndComments
+%%BeginProlog
+%%EndProlog
+%%Page: 1 1
+/languagelevel where {pop languagelevel 2 lt}{true} ifelse {
+ (JPEG file 'flower.jpg' needs PostScript Level 2!\n) dup print flush
+ /Helvetica findfont 20 scalefont setfont 100 100 moveto show showpage stop
+} if
+save
+/RawData currentfile /ASCII85Decode filter def
+/Data RawData << >> /DCTDecode filter def
+20 20 translate
+572.00 264.00 scale
+/DeviceRGB setcolorspace
+{ << /ImageType 1
+ /Width 130
+ /Height 60
+ /ImageMatrix [ 130 0 0 -60 0 60 ]
+ /DataSource Data
+ /BitsPerComponent 8
+ /Decode [0 1 0 1 0 1]
+ >> image
+ Data closefile
+ RawData flushfile
+ showpage
+ restore
+} exec
+s4IA0!"_al8O`[\!WW42!+Z'0s6K^t7!3!TGlRjF"98E%49,B]mJm__A8bpg!+`k
+F!!!'"gAlm,"p>&3"U##5"U58;"U58@#R1J=$Od@L$OR4L&.AsU$k*OU$k<dZ%h9
+!]',2,o'-%r1)]TqA+!2RH+!2RH!=&i7%1E[_&.fZs'bM0!+!2RH+!2RH+!2RH+!
+2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+!2RH+90+V&I8A!!.k:R&HDkE!
+<Wo7s24o6!!!*%!<E3%!<<*"z!!EH0!s\l-#QXr+!WrH(!<<*"z!!!!$"T\Z-!!W
+Z>!!*-(!sAf5#6P)2z!<N?'&J>3i0a0iV'F%ECEM4R3JWWi>,8CHg_9kS*;\nkSU
+>bX*1h2^q&HDh7!!EE,":553z!!*'3!WsT#&d1Kt'*[l6EIjf-16JiXdIBOJ1DJf
+B,S^O`g&MN`!<<05!tbMt!:(f:P\/(]CAkV"H=Pldo3Re8T<1>XN3Z:X6s;cH_#n
+are&,T53dks\9SG$Zl5G#oW3*g6DlV0*;Q"Dmm:LhSB?`Xim1@:M<4\dbIWfbJ8[
+Z2Wb>WrU:KT\H0AcE]4Cdt2ZEZ&_ci]542OhlYL#G%QbasVUdYZCKE>TE4bne-\m
+o0'UR7FhZnKC`hAN((=`[JX\Ten:'QLe_S->qt>/VIqq];k^sGN?=?(11jG?2L/4
+W7kH4<'jZ3L0Lm6iA:*rD6ADd1-F5had59Rc$&74PFHU_$:WdN'UKH*;PJgW&?0f
+L:kQ:F,7Va,q.+si!:`leK2B7)fp8+*T@=0e&dDf[;K3cF-6H85!(k<V;;A5P!2k
+"/F&pmB[NXKBdqnEens<43[%4Rr#sBEJ*q),%62\W!EZ>e7N.Tqie]#_n[a2d+dl
+ruE!Sd#6LZ44/YXl/2A\3%\P>][-6=c[dh+lVDWHFf!bIX"@l>A5*6TLtMg"R:WG
+?mM0RZB=#r(bku*a2ujo88Mn2@QtXHjWN!@/g4/af(4*CF-4M4GkSZBi(0OE?K='
+"U+B8R1;)?rPnF#Lbq]]?!IL^g//JLP4DE1gZjBIGpu=m/Mbo;_P+SK6AF.G9u\Y
+g7I'_EUSk&mT,U]UN5oTck)I;1%!,B#1.H;f5<l&1\QYespm>DRc;6+]C).$r8tB
+En'kOLgG:MBN[b^oB<atPrfmQ-m;U_qJ?kbDN)d_F3N/<3][&T96JPaqo6`t3@.5
+/.$5'C:"X2(,u@gII"*ASIa`FcR;",a[ue(V?^Lj!N>#mDeVHmo[4@in*LWeQEe?
+#J_dSJrLX*D<ouTp>^u\?emhGa)2f+PJfj"?>3]=;74hrrA:k'ffd%lP@c1G_NFT
+pQVXJ>"Vh]*#/1QT%G$k2HTF98hGt+dt]f`,1&'dH+1/gjXs36d-QA<;Zh3=\3Y(
+P'W%b-6c)O'5C>,r?KZ?FZhf"aXgE]]aX1E\>(K=MHR6LjI#/tl:3!"S+cORqR\A
+1*?GfR(cCjBMj#WHU#G=EL\$E@!J7,4;7s0K1),:8_?m@49i`,/Er5RdQou4Kc8f
+HG^[\)b4ZdOO>pVEb$\Y0/NNCfN<>]:1,VQTG,V+L5UbA-EN`h^qV9HNsJ81A,&g
+0u$Z2P<gkpCKmN7VeNjf/?^o8IBB^J^Q%:&Z-=3qPeTpW>$OtRpPB2:kggek.%?2
+@CN^cAS=V%LrD!RE]l,V!,#hsGqAPQl&7!WFR-%N<H!9.<4IWRC;mi$RR2mCOdM9
+R2-Ko@`KcrhL-`2'`/-!N?ho%,m&>XrK^Q]Z-j]B7.R8q=Q6">`@RQD(F8)M3f]N
+_OT$I6ZKh*?-pdCoiB9-l(7c'5-=j:u*WkVB<40-2mg4]nr<#6QJC6;_V_Q%W5b6
+[_ZI@)>V-69dM1-[KcGuFI=h)A9_F_e\FbU't4.[,m43!=m;m@Y(f6tj;B]FIYkh
+<:?Y>d0H"+.Fp]eUEUcZ?Gu+o_7fH<I4>%46IBIe_s-B2,8DkZ&bID+O^%7.4dT,
+-.7m7ZI>$74c*\&Og)9/dbVe;^eMih&i/*[8F-BnoQ??A))SL6&:qmX<H#%7EX-+
+g8/MJ"7'fGt5V#mg9jPU>0/Y8.e^*Tcrr?;$a$4n2PE*(@"i9EJ2Y?'N#U#o0Dd%
+71(P.mfEI^fi1CE';%:$UInL@hLSAZq2>?B)V9f773#Sa<IR1Pk7To*5I[2N(I(A
+:fpLJX73U^4U\397W7LG<g]Lpkn*Oh6]#X;V*2_gS.sZkdjcPQ>%/fP(1PVKmU8,
+3IZ0LT[.M6CTG-*R\2c-qQ3EOcNU=N<+"I&mt1jk`ssINg2nFk2OpG.[`q#,Yg[*
+cD)S)(r0:r5&!^[32`2lU<.Wel=P'6+Hb:b'TF7=WSVmr&A<Et?G!">,dDDBrL2d
+q;"dK63LFYZEWWHLCIL-q+LA(TVk68^m4$V)\VB'%G76+4Xd`,(>/0WT?'9p=c0h
+YH0D8;ld2piiDAIbA!@\(A'#?"7@F6-'E5kNr9+4dB`fAU?e@/'''e@4Ve>WTh-D
+5PE@<A\1Q5HM]="t\\f(OE$WbG'k,;hGIQ2XXP<mGJmPY,kr5bol-a:&;q#hLBH]
+lA5pf_*40ATK7'l)@-I!SK-?E;Wsd/B\c4gSE(e>)uN'G6%g[4I(Sc7e&CZ,n;LK
+gj^03#"laJpqCCQ7OYihZP3&NNKd1G.g`C/kC%1liOW#APUGo3@G@eBKeA%gk:UO
+h)BVjCkQr>=K#_</)26_BSR5@Y(Zr2s.l')oV&3i61l_i>O]2+*V1.S]>INQCDlP
++mB/pMf3)H>>D,AN"^f5;*a^Ma@>uFk_ZL^UVnP62Y,2pBcKe0;9KeLRQ#7iZO."
+N?lpZ9H9,bj7TVp[:&+!<A>>q)tl(s-=A#>2DPm[c`O8Q@40LLA,Oekq%B;.C>4C
+NcNs9UV;[e[@3Xo9(d89=t/O.j<&A;GQGZ)5q+tc7s<[Ou,Hb.?`ERdY62I4GM9i
+[$o@;Q"Hg;T+E\3FE$9/Dn!S6,[/rS6BG$;QrLp%!%@)*o1*-^G(#S.,\!4bZLtb
+<Ti'O$k?5@=mgs5Y!S&>/)kkAcdXcn7=VIpjp93n:_fg8.@2&gT*L_I=4V]'C60#
+M=\-QTAfqA.?Y<YYIJotU(Q4%,Yl"QU<YrJhW<"MUj/"IVnb+-AJK=bf"[BXWZh"
+qa7TQY6'Y<Rj6$D`mrWQY3lU'^ETZ,Bo1_HX%(fd)h6pHe$!DQ`qqfQ/MO@-4+Bk
+F6pl[qKmN'2<q+6Ipn5BIuR_?<W1hq[@c\gT]NPCUQUrq?B5u^3+tE3_uPeqQ?L<
+e/$(3j0!@g/LX4(["9\p5Qe;uLu!Io_!-&Z:Qed=8jW#R(J)6q>q47_/N8r5P(nO
+.L4CaK6d1su\`=nTi*iR3^KLH>A.G#M@;DiF-K,8>8Qo(p5s[7TD'<H2iWTNojX=
+,>-)Va\HdmifAE)?G@Co^+'VpLO8t\pO.KNGaP>,7+*/'9`Gi4W$b/N\eT=ITr(@
+J'Y[4+hu,g[6hm,C85B*0C;,S8a3b%\iJ#bF2c]h630i_lEu:rf:QL`A0D_.7=Bm
+FY,_21q>u!W-7[gW)0f$IE)CY,ZEp"=WE0M+;M?mY^4qaJ^iS[/U-eIe3R>njZn&
+7"2$VUIjUP/gXXp?$Ma@"_VtHg0"KCM4[WAikYAhFl[92cO^^<#Q!*oeppg3MIVp
+?X*K$].J=G6*k33!V^R7<&ZPS,Rb:]Q.7Ot$(_\QIirLLM:*j"2EfPVFRB>7*jc5
+/eBp@*fFdZ#V6!rRlYI/OgU'.S.:o@_D.cD0[qN*os>f3^,938+oC*_sdELLI/I0
+-u:N!I8DJlO=+Z-72hS?L&#4N29q`h\8PE:R%5(<Z[mW2<<Q7S3_sVf,U)?ZGKS)
+Vui8LHi%ZNn,tLn/Qgr<o!SGEd!YE=>d(bmDHALPAR3S^!ec>#tg]onIcJ,%!dl`
+]%l%#(_APEA]N/GW7TQ$`.qn=b#dBYXm7oHeoo5`i3pg0N04Me>H%`?W;-KA<`QF
+GmpWZ!Y[grNkLoOB?>BS?P#sKQ?E\"9l\@jHgQ]8gEr@:L3n[5F2RDg'.0+I564l
+noX/l&!o_J)"UGQoLLXM^`%GnLp?#rGhVe.L7d[NR?d"RW'2\f6[1'>VScBuT,X0
+.RaX-Tku^QtGu.0i]Q1-3SD:t';ZC@eGS8/s^EP;MY3Xts8f=q$!m!3E8aCOXhX/
+_hipL.[e+-*gF"nm*e$9<U25Tk[3=,rq,QY?Ydq`CMVI]$#oH76kBANl]Tc3gH!O
+.Z:HP8uf<u/uVk`(WbF^-^NH]^Bg"*&RQ07\>F[qS=iu(<s]qGo==WOn+9@5e'd6
+P7.Y?f4jV.)r465SFZQA-^8Q7[kWU(Q"^/UF:Kmbu*Vj4"Wcs[JeGR#,`dM`tGPb
+B52@GPQ^jP+T)h#Wm<L#YGE3>Y<:-Fa)FKoIh[_4h"LVR8k^6&?p&,?St.%L;;4`
+o:)q#%X7S:'r-L\Y4Oe]W^n`f1md:F-nO#E8X`IIf*UnF5;[lODZ7fdT:KeYf)^T
+=<GB<KfTr_rq?I3,NkZ0;$a_WgE[!4;<9elKa-'!;/KVWW)s4^UoB!F7N2>`;X`$
+npG'aXliDYR_,9-htDtU\l>!F(LZ;R3,@gDYD,ODg88V[d@>J'kjKQf=Vg.>l@e:
+p(Pb]a!)e7aF.ZDFB;sFABpUDk>WOg-SeC:[<+b!ni.t>!CNh+<rr?Y5bLlQa%c-
+[9Zdm*Z5jmd9,u7QAH]c#pN3gF*]0F:_(!HX1~>
+%%EOF
diff --git a/macros/latex/contrib/powerdot/source/powerdot.dtx b/macros/latex/contrib/powerdot/source/powerdot.dtx
index d8057d2a69..e533a6bb05 100644
--- a/macros/latex/contrib/powerdot/source/powerdot.dtx
+++ b/macros/latex/contrib/powerdot/source/powerdot.dtx
@@ -1,8758 +1,8762 @@
-% \iffalse meta-comment
-%
-% powerdot class by Hendri Adriaens.
-%
-% Extract package files and create documentation:
-% Find powerdot.dtx
-% latex powerdot.dtx
-% latex powerdot.dtx
-% bibtex powerdot
-% makeindex -s gglo.ist -o powerdot.gls powerdot.glo
-% makeindex -s gind.ist -o powerdot.ind powerdot.idx
-% latex powerdot.dtx
-% latex powerdot.dtx
-%
-% If you also want to generate the source code documentation,
-% remove \OnlyDescription from the preamble of powerdot.dtx
-% prior to compiling the source.
-%
-% To generate style examples, do
-% (after extracting powerdot-styleexample.tex):
-% latex "\def\style{default}\input{powerdot-styleexample}"
-% latex "\def\style{default}\input{powerdot-styleexample}"
-% dvips -i powerdot-styleexample -o powerdot-styleexample-default.ps
-% Do this for all available styles (replace `default' by any
-% other style name) to generate .001 and .002 files which
-% will be included by the documentation.
-%
-%% ---------------------------------------------------------------------------------
-%% Copyright (C) 2005-2008 Hendri Adriaens, Chris Ellison; 2009-2021 Hendri Adriaens
-%% ---------------------------------------------------------------------------------
-%%
-%% This work may be distributed and/or modified under the
-%% conditions of the LaTeX Project Public License, either version 1.3
-%% of this license or (at your option) any later version.
-%% The latest version of this license is in
-%% http://www.latex-project.org/lppl.txt
-%% and version 1.3 or later is part of all distributions of LaTeX
-%% version 2003/12/01 or later.
-%%
-%% This work has the LPPL maintenance status "maintained".
-%%
-%% This Current Maintainer of this work is Hendri Adriaens.
-%%
-%% This work consists of all files listed in manifest.txt.
-%%
-% \fi
-%
-% \iffalse
-%<*batchfile>
-\begingroup
-\input docstrip
-\keepsilent
-\preamble
-\endpreamble
-\askforoverwritefalse
-\generate{
- \file{powerdot.cls}{\from{powerdot.dtx}{powerdot}}
- \file{powerdot-default.sty}{\from{powerdot.dtx}{pddefault}}
- \file{powerdot-tycja.sty}{\from{powerdot.dtx}{pdtycja}}
- \file{powerdot-ikeda.sty}{\from{powerdot.dtx}{pdikeda}}
- \file{powerdot-fyma.sty}{\from{powerdot.dtx}{pdfyma}}
- \file{powerdot-simple.sty}{\from{powerdot.dtx}{pdsimple}}
- \file{powerdot-ciment.sty}{\from{powerdot.dtx}{pdciment}}
- \file{powerdot-elcolors.sty}{\from{powerdot.dtx}{pdelcolors}}
- \file{powerdot-aggie.sty}{\from{powerdot.dtx}{pdaggie}}
- \file{powerdot-husky.sty}{\from{powerdot.dtx}{pdhusky}}
- \file{powerdot-sailor.sty}{\from{powerdot.dtx}{pdsailor}}
- \file{powerdot-upen.sty}{\from{powerdot.dtx}{pdupen}}
- \file{powerdot-bframe.sty}{\from{powerdot.dtx}{pdbframe}}
- \file{powerdot-horatio.sty}{\from{powerdot.dtx}{pdhoratio}}
- \file{powerdot-paintings.sty}{\from{powerdot.dtx}{pdpaintings}}
- \file{powerdot-klope.sty}{\from{powerdot.dtx}{pdklope}}
- \file{powerdot-jefka.sty}{\from{powerdot.dtx}{pdjefka}}
- \file{powerdot-pazik.sty}{\from{powerdot.dtx}{pdpazik}}
- \file{powerdot-styletest.tex}{\from{powerdot.dtx}{pdstyletest}}
- \file{powerdot-styleexample.tex}{\from{powerdot.dtx}{pdstyleexample}}
- \file{powerdot-example1.tex}{\from{powerdot.dtx}{pdexample1}}
- \file{powerdot-example2.tex}{\from{powerdot.dtx}{pdexample2}}
- \file{powerdot-example3.tex}{\from{powerdot.dtx}{pdexample3}}
- \file{pdpream.ble}{\from{powerdot.dtx}{preamble}}
- \file{powerdot.bib}{\from{powerdot.dtx}{bib}}
-}
-\endgroup
-%</batchfile>
-%<*driver>
-\documentclass[a4paper]{ltxdoc}
-\input{pdpream.ble}
-\OnlyDescription
-%\EnableCrossrefs
-\def\fileversion{v1.6}
-\def\filedate{2021/03/25}
-\begin{document}
-\DocInput{powerdot.dtx}
-\let\Section\section\def\section*#1{\Section*{#1}\addcontentsline{toc}{section}{#1}}
-\bibliographystyle{plain}
-\bibliography{powerdot}
-\section*{Acknowledgements}
-The author is grateful to Christopher Ellison for help with setting up the package, styles
-and examples, Mael Hill\'ereau for contributing the \LyX\ layout file and
-description, and Herbert Vo\ss\ for contributions and maintaining the package
-from 2006 to 2012. Further, I would like to thank all style contributors
-(see section~\ref{sec:styles}). Moreover, I wish to thank everyone who contributed
-to this package in any other way.\\[1em]
-\hspace*{\stretch{1}}
-\begin{minipage}{.9\linewidth}
-Ramon van den Akker, David Carlisle, Pavel \v C\'i\v zek, Darren Dale, Hans Marius
-Eikseth, Alexander Grahn, Morten H\o gholm, Andr\'as Horv\'ath, Laurent Jacques, Akira
-Kakuto, Uwe Kern, Kyanh, Theo Stewart, and Don P. Story.
-\end{minipage}
-
-\PrintChangesX\PrintIndexX
-\end{document}
-%</driver>
-% \fi
-%
-% \changes{v1.0}{2005/09/04}{Initial release}
-% \changes{v1.1}{2005/09/19}{Fixed some small bugs}
-% \changes{v1.1}{2005/09/19}{Added \texttt{tocsecindent} and
-% \texttt{tocslideindent} options}
-% \changes{v1.1}{2005/09/19}{Added \pf{elcolors}, \pf{aggie}, \pf{husky}
-% and \pf{sailor} styles}
-% \changes{v1.1}{2005/09/19}{Changed \texttt{size\protect\equals 10}
-% to \texttt{size\protect\equals 10pt}}
-% \changes{v1.1}{2005/09/19}{Added \LyX\ layout, description and example}
-% \changes{v1.1}{2005/09/19}{Added graphical examples of styles to documentation}
-% \changes{v1.1}{2005/09/19}{Improved section title handling}
-% \changes{v1.1}{2005/09/19}{\texttt{blackslide} options adds hyperlink
-% to slide and section titles}
-% \changes{v1.1}{2005/09/19}{Extended FAQ}
-% \changes{v1.1}{2005/09/19}{Improved \pf{tycja}, \pf{ciment} and \pf{fyma} styles}
-% \changes{v1.2}{2005/10/09}{Added \pf{upen} and \pf{bframe} styles}
-% \changes{v1.2}{2005/10/09}{Solved some small bugs}
-% \changes{v1.2}{2005/10/09}{Simplified coding of most styles}
-% \changes{v1.2}{2005/10/09}{Speeded up compilations}
-% \changes{v1.3}{2005/12/06}{Solved some small bugs}
-% \changes{v1.3}{2005/12/06}{Improved \texttt{figure} and \texttt{table} handling}
-% \changes{v1.3}{2005/12/06}{Added \pf{horatio}, \pf{paintings}, \pf{klope}, \pf{jefka}
-% and \pf{pazik} styles}
-% \changes{v1.3}{2005/12/06}{Added palettes feature}
-% \changes{v1.3}{2005/12/06}{Added random dots feature}
-% \changes{v1.3}{2005/12/06}{Added optional argument to \cs{maketitle}}
-% \changes{v1.3}{2005/12/06}{Added clock feature}
-% \changes{v1.3}{2005/12/06}{Updated all styles}
-% \changes{v1.3}{2005/12/06}{Added palettes to \pf{default}, \pf{fyma} and \pf{sailor} styles}
-% \changes{v1.3}{2005/12/06}{Revised docs}
-% \changes{v1.3}{2005/12/06}{Updated \LyX\ example and information}
-% \changes{v1.3}{2005/12/06}{Cleaned up options}
-% \changes{v1.3}{2005/12/06}{Added possibility to create horizontal table of contents}
-% \changes{v1.3}{2005/12/06}{Added logo feature}
-% \changes{v1.3}{2005/12/06}{Added examples and example file}
-% \changes{v1.3}{2005/12/06}{Added two slide processing methods to do verbatim on slides easily}
-% \changes{v1.4}{2005/12/10}{Moved \texttt{lf} and \texttt{rf} keys from
-% \texttt{global} to \texttt{glslide} family}
-% \changes{v1.4}{2005/12/10}{Added \texttt{cf} option}
-% \changes{v1.4}{2005/12/10}{Updated styles}
-% \changes{v1.4}{2005/12/10}{Solved some small bugs}
-% \changes{v1.4}{2005/12/10}{Moved footers out of slide box in handout mode}
-% \changes{v1.4}{2005/12/10}{Added \texttt{clockformat} and \texttt{clockrefresh} keys to \texttt{global} family}
-% \changes{v1.4}{2005/12/10}{\texttt{blackslide} and \texttt{emptyslide} no longer have logos or randomdots}
-% \changes{v1.5}{2014/01/01}{Option \texttt{blackslide} transformed to \texttt{pauseslide}}
-% \changes{v1.5}{2014/01/01}{Restored package and added changes from CTAN}
-% \changes{v1.5}{2014/01/01}{Modifications to work with the latest version of pstricks}
-% \changes{v1.5a}{2015/11/29}{Added requirement for \texttt{pst-ovl} to get overlays working after \texttt{pstricks} moved the code there}
-% \changes{v1.5b}{2017/07/22}{Added requirement for latest \texttt{graphicx} to work with latest \texttt{dvips}}
-% \changes{v1.5b}{2017/07/22}{Updated documentation with respect to handout options}
-% \changes{v1.5c}{2017/08/28}{Replaced clock code by the version by Alexander Grahn to achieve compatibility with the \pf{animate} package}
-% \changes{v1.6}{2021/03/25}{Replaced usage of general \texttt{@inputcheck} by package specific \texttt{pd@vrbout} to solve a bug with references}
-%
-% \CheckSum{3382}
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-%\title{\vspace*{-2cm}\mktitledecor The \pf{powerdot} class
-%\thanks{This class can be downloaded from the CTAN mirrors:
-%\texttt{/macros/latex/contrib/powerdot}. See \texttt{powerdot.dtx} for
-%information on installing \pf{powerdot} into your \LaTeX\
-%distribution and for the license of this class.}}
-%\author{Hendri Adriaens}
-%\date{\fileversion\ (\filedate)}
-%\maketitle
-%
-%\begin{abstract}\noindent
-%\pf{powerdot} is a presentation class for \LaTeX\ that allows for
-%the quick and easy development of professional presentations. It
-%comes with many tools that enhance presentations and aid the
-%presenter. Examples are automatic overlays, personal notes and a
-%handout mode. To view a presentation, DVI, PS or PDF output can be
-%used. A powerful template system is available to easily develop new
-%styles. A \LyX\ layout file is provided.
-%\end{abstract}
-%
-%\begin{multicols}{2}
-%[\section*{Contents}
-%\setlength{\columnseprule}{.4pt}
-%\setlength{\columnsep}{18pt}]
-%\tableofcontents
-%\end{multicols}
-%
-%\newpage
-%\section{Introduction}\label{sec:intro}
-%This class gives you the possibility to easily create professionally
-%looking slides. The class is designed to make the development of
-%presentations as simple as possible so that you can concentrate on
-%the actual content instead of keeping yourself busy with technical
-%details. Of course, some knowledge of \LaTeX\ is still required
-%though.
-%
-%This class builds on and extends the \pf{prosper} class
-%\cite{prosper} and the \pf{HA-prosper} package \cite{HA-prosper}.
-%The \pf{HA-prosper} package was initially intended to extend
-%\pf{prosper} and correct some bugs and problems of that class. As
-%developments on that package progressed, it was found that
-%unfortunately, not all of the problems could be overcome with the
-%package. That discovery was the start of a new project set up to
-%make a new class to replace the \pf{prosper} plus \pf{HA-prosper}
-%combination. You're currently reading the result of that project.
-%
-%The remainder of this section will be devoted to giving a feel of
-%what the \pf{powerdot} presentation source looks like and giving an
-%overview of this documentation.
-%
-%The document structure of a presentation is always the same. You can
-%find it in the example below.
-%
-%\begin{example}
-% \documentclass[<class options>]{powerdot}
-% \pdsetup{<presentation options>}
-% \begin{document}
-% \begin{slide}{a slide}
-% Contents of the slide.
-% \end{slide}
-% \section{first section}
-% \begin{slide}[<slide options>]{another slide}
-% Contents of the slide.
-% \end{slide}
-% \begin{note}{personal note}
-% The note.
-% \end{note}
-% \end{document}
-%\end{example}
-%
-%There are several elements that define the document structure. First
-%of all, the class accepts some class options that control the output
-%of the class, for instance, paper type and style. These class
-%options will be discussed in section~\ref{sec:classopts}. Then there
-%are presentation specific options which control some of the elements
-%of the presentation globally, for instance, the footers. These will
-%be discussed in section~\ref{sec:pdsetup}.
-%
-%Once the setup has been decided on, you can use the slide
-%environment to produce slides (see section~\ref{sec:slides}) and the
-%note environment to produce notes that go with the slides (see
-%section~\ref{sec:notes}). You can use overlays to display material
-%in steps. This is described in section~\ref{sec:overlays}. The
-%|\section| command provides a way to structure your presentation.
-%This is discussed in section~\ref{sec:structure}.
-%Section~\ref{sec:styles} will show an overview of the styles that
-%come with this class and the characteristics of each style.
-%Section~\ref{sec:compiling} will tell you more about how to produce
-%output. This section contains important information on required
-%packages.
-%
-%Section~\ref{sec:writestyle} is mostly interesting for people that
-%want to develop their own style for this class or want to modify an
-%existing style. Section~\ref{sec:lyx} explains how \LyX\
-%\cite{LyXWeb} can be used to create \pf{powerdot} presentations.
-%This documentation concludes with a section devoted to questions
-%(section~\ref{sec:questions}), like `Where can I find examples?'. It
-%also tells you where to turn to in case your questions are still not
-%solved.
-%
-%\section{Setting up the presentation}\label{sec:setup}
-%This section will describe all options that are available to control
-%the output of the presentation and the looks of it.
-%
-%\subsection{Document class options}\label{sec:classopts} We will
-%start with the class options that are typed in the |\documentclass|
-%command as a comma-separated list. For each option, the preset
-%value\footnote{The value that will be used when you don't use the
-%option.} will be mentioned in the description. This is the value
-%that will be used if you decide to not give a value to the option or
-%not use the option at all.
-%
-%\DescribeOption{mode}
-%This options controls the kind of output that we want to produce.
-%The preset value is |present|.
-%\begin{description}
-%\item\option{mode=present}\\
-%This mode is used when you want to create the actual presentation. It
-%will enable overlays and transition effects. You can read more about
-%overlays in section~\ref{sec:overlays}.
-%\item\option{mode=print}\\
-%This mode can be used when printing the slides including their visual
-%markup, but without any overlay or transition effects.
-%\item\option{mode=handout}\\
-%This mode will produce a black and white overview of your slides that
-%can be used to make personal notes on, for distribution to students,
-%a personal guide during your talk, etcetera.
-%\begin{description}
-%\item\option{nohandoutpagebreaks}\\
-%By default, the handout mode produces a document with two slides per
-%page. If you want to fit more slides on a page, specify this option
-%in the |\documentclass| command and \pf{powerdot} will let \LaTeX\
-%decide on the places to insert a page break, namely when a page is
-%full.
-%\item\option{nohandoutframes}\\
-%By default, the handout frames the slides. This option will remove
-%the frames around slides on handouts.
-%\end{description}
-%\end{description}
-%
-%\DescribeOption{paper} This option has three possible values. The
-%preset value is |screen|.
-%\begin{description}
-%\item\option{paper=screen}\\
-%This is a special format with screen optimized ratio (4/3). The
-%actual page dimensions will be 8.25 inch by 11 inch. This paper format
-%is not available for print or handout mode. In these modes, \pf{powerdot}
-%will switch to a4 paper and put a warning that it did this in the
-%log file of your presentation.
-%\item\option{paper=a4paper}\\
-%A4 paper will be used for the presentation or handout.
-%\item\option{paper=letterpaper}\\
-%Letter size paper will be used.
-%\item\option{paper=smartboard}\\
-%For presentation on a smartboard (widescreen).
-%\end{description}
-%Some important information with respect to paper size, compiling and
-%viewing presentations is available in section~\ref{sec:compiling}.
-%
-%\DescribeOption{orient} This controls the orientation of the
-%presentation. The preset value is |landscape|.
-%\begin{description}
-%\item\option{orient=landscape}\\
-%The presentation will be in landscape format. This value is not
-%available in handout mode. In that mode, \pf{powerdot} will switch
-%to portrait orientation and will warn you about this in the log
-%file.
-%\item\option{orient=portrait}\\ This produces slides in portrait
-%format. Notice that not all styles support portrait orientation. Please
-%refer to section~\ref{sec:styles} for information about which styles
-%do support the portrait orientation.
-%\end{description}
-%
-%\DescribeOption{display} This controls the production of slides and
-%notes. The preset value is |slides|.
-%\begin{description}
-%\item\option{display=slides}\\
-%This will only typeset the slides in your presentation.
-%\item\option{display=slidesnotes}\\
-%This will typeset both the slides and the notes in your
-%presentation. See also section~\ref{sec:notes} for more information
-%about notes.
-%\item\option{display=notes}\\
-%This will typeset the notes only.
-%\end{description}
-%
-%Here are some more options to control the output.
-%\begin{description}
-%\item\DescribeOption{size}\option{size}\\
-%This is the size of the normal text font in points. Possible values
-%are 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt and 20pt and the preset
-%value is 11pt.\footnote{Note that sizes other than 10pt, 11pt and
-%12pt are non-standard and it is assumed that you have the
-%\pf{extsizes} bundle \cite{extsizes} installed, which provides these
-%sizes.}
-%\item\DescribeOption{style}\option{style}\\
-%This controls the style to be loaded for the presentation. By
-%default, the \pf{default} style will be loaded. For more styles, see
-%section~\ref{sec:styles}.
-%\item\DescribeOption{fleqn}\option{fleqn}\\
-%This option makes equations flushed left. It does the same as the
-%equally named option for the article class.
-%\item\DescribeOption{leqno}\option{leqno}\\
-%Put equation numbers at the left. Also the same as in the article
-%class.
-%\item\DescribeOption{nopsheader}\option{nopsheader}\\
-%By default, \pf{powerdot} will write a postscript command to the ps
-%file to make sure that post processors like ps2pdf know which paper
-%to use without the need to specify it on the command line. See also
-%section~\ref{sec:compiling}. If you experience problems with post
-%processing or printing or you want to specify the paper size in the
-%post processing steps yourself, use this option.
-%\item\DescribeOption{hlentries}\option{hlentries}\\
-%This highlights table of contents entries when the entry matches
-%with the current slide and its preset value is |true|. See also
-%section~\ref{sec:structure}. If you don't want highlighting of table
-%of contents entries (for instance in print mode), use
-%|hlentries=false|.
-%\item\DescribeOption{hlsections}\option{hlsections}\\
-%This highlights table of contents sections when the section matches
-%with the current section in the presentation and is preset to |false|.
-%See also section~\ref{sec:structure}. Specifying this
-%option turns highlighting of sections on. This could be useful when
-%you are using a style that implements a split table of contents.
-%\item\DescribeOption{pauseslide}\option{pauseslide}\\
-%This option inserts a black slide in the presentation on page 1 and
-%will automatically advance to page 2 when opening the presentation
-%in a PDF viewer like Acrobat (Reader). The option also inserts a
-%link behind every slide or section title that brings you to the
-%black slide when clicked. When you click anywhere in the black
-%slide, you will go back to the originating slide. This option can be
-%used to temporarily pause a presentation, for instance, to do a
-%proof on the black board. Optionally, a color can be supplied, for instance,
-%|pauseslide=white| to have a pause on a white screen.
-%\item\DescribeOptions{clock}\option{clock}\\
-%This displays a small digital clock on slides which you can use to
-%check the time left for your presentation.
-%\end{description}
-%
-%Here is an example of a |\documentclass| command.
-%\begin{example}
-% \documentclass[
-% size=12pt,
-% paper=screen,
-% mode=present,
-% display=slidesnotes,
-% style=tycja,
-% nohandoutpagebreaks,
-% pauseslide,
-% fleqn
-% ]{powerdot}
-%\end{example}
-%This example sets up a presentation in \pf{tycja} style, with a black
-%slide, normal size 12 points and flushed left equations.
-%\begin{example}
-% \documentclass[
-% size=12pt,
-% paper=letterpaper,
-% mode=handout,
-% display=slidesnotes,
-% style=tycja,
-% nohandoutpagebreaks,
-% pauseslide,
-% fleqn
-% ]{powerdot}
-%\end{example}
-%Changing the |paper| and |mode| options, now produces a handout with
-%possibly more than two slides per page due to the |nohandoutpagebreaks|
-%option.
-%
-%\subsection{Setup options}\label{sec:pdsetup}
-%\DescribeMacro{\pdsetup}
-%There are several extra options that can help customizing your
-%presentation. These options are not available via the
-%|\documentclass| command. This has a technical reason.\footnote{The
-%interested reader is referred to the section about the \pf{xkvltxp}
-%package in the \pf{xkeyval} package documentation \cite{xkeyval}.}
-%We distinguish two types of options. Options that can only be set
-%globally (acting for the entire presentation) using the |\pdsetup|
-%command and options that can be accessed both globally (via
-%|\pdsetup|) and locally (via slide environments, see section~\ref{sec:slides}).
-%
-%\subsubsection{Global options}\label{sec:gopts}
-%This section describes options that can only be used globally in the
-%preamble of your presentation via the |\pdsetup| command.
-%\begin{description}
-%\item\DescribeOption{palette}\option{palette}\\
-%This specifies the palette to be used. A palette is a set of colors
-%defined by a style. To find out which palettes are defined by each
-%style, see section~\ref{sec:styles}.
-%\item\DescribeOption{theslide}\option{theslide}\\
-%This option controls how the slide number appears on the slide. This
-%is preset to the value |\arabic{slide}~/~\pageref*{lastslide}|,
-%which could appear like |5/22|. Notice that the |\arabic{slide}|
-%typesets the number of the current slide and that
-%|\pageref*{lastslide}| typesets the number of the last
-%slide.\footnote{We use the starred version of \cs{pageref} which is
-%defined by \pf{hyperref} and does not create a link to the page that
-%it is referring to.}
-%\item\DescribeOption{thenote}\option{thenote}\\
-%This is similar to the |theslide| option, but typesets the slide
-%numbers of notes. The preset value is
-%|note~\arabic{note}~of~slide~\arabic{slide}| and |\arabic{note}|
-%here typesets the number of the current note that goes with the
-%current slide. This could appear like |note 2 of slide 7|.
-%\item\DescribeOption{counters}\option{counters}\\
-%The |counters| option lists counters that you might want to protect
-%on overlays. As material on overlays (see
-%section~\ref{sec:overlays}) is processed multiple times, also
-%\LaTeX\ counters, like the |equation| counter, might be increased
-%too often. To avoid that your equations get different numbers on
-%every overlay, use this option. The |equation|, |table|, |figure|,
-%|footnote| and |mpfootnote| counters are already protected for you.
-%If you use extra counters, for instance for theorems, list them in
-%this option. Example:
-%\begin{example}
-% counters={theorem,lemma}
-%\end{example}
-%\item\DescribeOption{list}\option{list}\\
-%This option takes a list of options that will be passed on to the
-%\pf{enumitem} package that controls the layout of lists created by
-%the |enumerate| and |itemize| environments. Example:
-%\begin{example}
-% list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-%\end{example}
-%See for more information on controlling the layout of lists the
-%\pf{enumitem} package \cite{enumitem}.
-%\item\DescribeOptions{enumerate,itemize}\option{enumerate,itemize}\\
-%As the |list| option, but only control |enumerate| and |itemize|
-%environments respectively.
-%\item\DescribeOption{clockformat}\option{clockformat}\\
-%This option specifies the format of the clock. The format is set using
-%Acrobat's |util.printd| function.\footnote{For a complete listing of
-%allowable formats, consult the \textit{Acrobat JavaScript Scripting
-%Reference}\cite{javascript}.} The default value is |HH:MM:ss|, which
-%shows a 00-23 hour, 00-59 minute, 00-59 second clock. Example:
-%\begin{example}
-% clockformat=h:MM tt
-%\end{example}
-%The above setting will display a 1-12 hour, 00-59 minute, am/pm clock.
-%That is, the clock might show |5:53 pm|.
-%\item\DescribeOption{clockrefresh}\option{clockrefresh}\\
-%This option should be a number which specifies how often
-%the clock is refreshed in milliseconds. The default behavior is to refresh
-%the clock every second. Thus, the default value is 1000. Notice, if the
-%|clockformat| is such that seconds are not shown, then it makes no sense
-%to update that clock every second. A corresponding example:
-%\begin{example}
-% clockrefresh=60000
-%\end{example}
-%The interpretation of this is that the clock will be updated every minute.
-%\end{description}
-%
-%\subsubsection{Global and local options}\label{sec:glopts}
-%This section describes options that can be used both globally via
-%|\pdsetup| and locally via slide environments (see section~\ref{sec:slides}).
-%\begin{description}
-%\item\DescribeOptions{lf,cf,rf}\option{lf,cf,rf}\\
-%This determines the content of the left, center and right footers.
-%These are preset to empty.
-%\item\DescribeOption{trans}\option{trans}\\
-%This option sets the default transition effect to be used in the
-%presentation. These transition effects only work after compiling the
-%presentation to PDF format. See also section~\ref{sec:compiling}.
-%The following transition effects are supported: |Split|, |Blinds|,
-%|Box|, |Wipe|, |Dissolve|, |Glitter| and |Replace|. When you are using
-%a viewer that understands PDF 1.5, you can also use |Fly|, |Push|,
-%|Cover|, |Uncover| or |Fade|. It is important to notice that most
-%viewers are case sensitive, so, for instance, |box| will not work.
-%
-%The preset effect is |Replace| which just replaces one slide with
-%another when browsing the slides. Note that some PDF viewers (like
-%Acrobat Reader 5 and higher) only produce the transition effect in
-%full screen mode. If you want to use a custom transition effect that
-%is not listed in the list above (for instance, a wipe effect with a
-%custom wipe direction), then that is possible. However,
-%\pf{powerdot} will put a warning in your log file that the effect
-%that you have chosen, might not work in the PDF viewer. Here is an
-%example that does work.
-%\begin{example}
-% trans=Wipe /Di 0
-%\end{example}
-%In Acrobat (Reader), this wipes from left to right instead of the
-%default top to bottom. For more information, see a PDF Reference
-%Manual.
-%\item\DescribeOption{method}\option{method}\\
-%This option can be used when a slide contains special material that
-%does not get treated in the `usual' way by \LaTeX. Verbatim material
-%is an example of this. Possible values are |normal| (the preset value),
-%|direct| and |file|. We will come back to this option in detail in
-%section~\ref{sec:verbatim}.
-%\item\DescribeOptions{logohook,logopos,logocmd}\option{logohook,logopos,logocmd}\\
-%If |logopos| is specified, a logo defined by the value of the
-%|logocmd| option will be put on slides. The position can be
-%specified relative to the width and height of the slide. |{0,0}| is
-%the lower left corner of the paper and |{\slidewidth,\slideheight}|
-%is the upper right corner. For positioning the logo, the |\rput|
-%command of \pf{pstricks} \cite{PSTricksWeb,PSTricks} is used. This
-%command also allows to specify the point of the logo that should be
-%positioned there. This point can be entered via the |logohook|
-%option and can take the values |tl|, |t|, |tr|, |r|, |Br|, |br|,
-%|b|, |bl|, |Bl|, |l|, |B| and |c|. For more information about
-%|\rput|, consult the \pf{pstricks} documentation. Here is an example
-%that integrates the flower of the \pf{default} style into the
-%\pf{husky} style.
-%\begin{example}
-% \documentclass[style=husky]{powerdot}
-% \pdsetup{
-% logohook=t,
-% logopos={.088\slidewidth,.99\slideheight},
-% logocmd={\includegraphics[height=.08\slideheight]{powerdot-default.ps}}
-% }
-% \begin{document}
-% ...
-% \end{document}
-%\end{example}
-%The preset value for |logohook| is |tl|.
-%\end{description}
-%
-%A special feature of \pf{powerdot}, which can be used to make
-%presentations come alive, is the use of random dots. These dots will
-%be placed anywhere on your slides and use the colors defined by the
-%palette that you use. Overlays will carry the same dots. This
-%feature uses |random.tex| \cite{random}. Several options are
-%available to control the appearance of the random dots.
-%\begin{description}
-%\item\DescribeOption{randomdots}\option{randomdots}\\
-%By default, random dots are turned off. If this option is set to
-%|true|, random dots will be generated. |false| will turn off the
-%feature. When no value is submitted to the option, |true| will be
-%used.
-%\item\DescribeOptions{dmindots,dmaxdots}\option{dmindots,dmaxdots}\\
-%The number of dots per slide is also random. These options set the
-%minimum and maximum dots per slide. Preset values are |5| and |40|,
-%respectively.
-%\item\DescribeOptions{dminsize,dmaxsize}\option{dminsize,dmaxsize}\\
-%The minimum and maximum radius of the dots. Preset values are |5pt|
-%and |40pt|, respectively.
-%\item\DescribeOptions{dminwidth,dmaxwidth,dminheight,dmaxheight}
-%\option{dminwidth,dmaxwidth,dminheight,dmaxheight}\\
-%These options determine the area on the slide that can be used for
-%the random dots. These values are preset such that dots go anywhere
-%on the slide, but you might want to adjust these such that, for
-%instance, dots can only appear in the text area. The preset values
-%are |0pt|, |\slidewidth|, |0pt|, |\slideheight|.
-%
-%Here is an example that allows dots in a smaller rectangle on the
-%slide.
-%\begin{example}
-% \pdsetup{
-% dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth,
-% dminheight=.2\slideheight,dmaxheight=.8\slideheight
-% }
-%\end{example}
-%\item\DescribeOption{dbright}\option{dbright}\\
-%This option can be used to adjust the brightness of the dots. The
-%number should be an integer between -100 and 100. If the number is
-%negative, the color will be adjusted towards black, with -100 giving
-%black. If the number is positive, the color will be adjusted towards
-%white, with 100 giving white. With a light background, you may want
-%to choose |bright| to be positive. With a dark background, you may
-%want to set it negative. The preset value is |60|, meaning a mixture
-%of 40\% of the original color and 60\% white.
-%\item\DescribeOption{dprop}\option{dprop}\\
-%This option is used for passing extra parameters to the |\psdot|
-%command, which creates the random dots. You could, for instance,
-%change the style of the dots or the line width. See for more
-%information about |\psdot| the \pf{pstricks} documentation
-%\cite{PSTricksWeb,PSTricks}. \pf{powerdot} defines two extra dot
-%styles that can be used for the random dots. These styles are
-%|ocircle| (open circle) and |osquare| (open square).
-%\end{description}
-%
-%Here are two examples for the use of random dots.
-%\begin{example}
-% \pdsetup{
-% randomdots,dminwidth=.2\slidewidth
-% }
-%\end{example}
-%This turns on random dots and doesn't use the left 20\% of the slide
-%for placing random dots.
-%\begin{example}
-% \pdsetup{
-% randomdots,dprop={dotstyle=ocircle,linewidth=.5pt},
-% dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5
-% }
-%\end{example}
-%This example puts at most 5 big circles on slides. These circles do
-%not fit on the slides and you will only see parts of them in the
-%shape of curves.
-%
-%\subsubsection{\cs{pdsetup} example}
-%Here is an example of a |\pdsetup| command that one could use to set up
-%the presentation.
-%\begin{example}
-% \pdsetup{
-% lf=My first presentation,
-% rf=For some conference,
-% trans=Wipe,
-% theslide=\arabic{slide},
-% randomdots,dmaxdots=80
-% }
-%\end{example}
-%This sets the left and right footers and will initialize the
-%transition effect to |Wipe|. Further, slide numbers will not include
-%the number of the last slide, but only the number of the current
-%slide. Finally, slides will be covered with at most 80 random dots.
-%
-%A small note is necessary with respect to the appearance of footers.
-%The slide number (controlled by the |theslide| option) will be added
-%to a footer. Most styles add it too the right footer. If both the
-%footer and the slide number are non empty, |~--~| will be inserted
-%in between them to separate them. Styles might modify this default
-%behavior however.
-%
-%\section{Making slides}\label{sec:slides}
-%\subsection{The title slide}\label{sec:titleslide}
-%\DescribeMacro{\title}
-%\DescribeMacro{\author}
-%\DescribeMacro{\and}
-%\DescribeMacro{\date}
-%\DescribeMacro{\maketitle}
-%The title slide is created by the |\maketitle| command.
-%\begin{command}
-% `\cs{maketitle}\oarg{options}'
-%\end{command}
-%Its use is the same as in the standard \LaTeX\ document classes. The
-%optional argument \meta{options} can contain any option from
-%section~\ref{sec:glopts}. Specifying such an option in the
-%|\maketitle| command will only have an effect on the title slide and
-%not on other slides. See an example below.
-%\begin{example}
-% \documentclass{powerdot}
-% \title{Title}
-% \author{You \and me}
-% \date{August 21, 2005}
-% \begin{document}
-% \maketitle
-% ...
-% \end{document}
-%\end{example}
-%The |author|, |title| and |date| declarations provide the text to be
-%used when making a title page. The design of the title page is
-%specific to the style in use. Notice the use of |\and| for
-%separating multiple authors. See a \LaTeX\ manual \cite{companion}
-%for more information on commands such as |\title| and |\author|.
-%
-%\subsection{Other slides}\label{sec:otherslides}
-%\DescribeEnv{slide} The centerpiece of every presentation is the
-%slide. In \pf{powerdot}, the content of each slide is placed in a
-%|slide| environment.
-%\begin{command}
-% `\cs{begin}\texttt{\{slide\}}\oarg{options}\marg{slide title}'
-% `\meta{body}'
-% `\cs{end}\texttt{\{slide\}}'
-%\end{command}
-%
-%In section~\ref{sec:overlays} we'll see how to give some life to the
-%slides, but for now, let's look at a simple example.
-%\begin{example}
-% \begin{slide}{First slide}
-% Hello World.
-% \end{slide}
-%\end{example}
-%The slide environment has one required argument, namely the slide
-%title. When a slide is created, the slide title is used to create an
-%entry in the table of contents and in the list of bookmarks. The
-%table of contents is a listing of the slides and section titles in
-%the presentation that appears on each slide.
-%
-%The table of contents is clickable (when the presentation is
-%compiled into PDF) and serves as a nice way to jump from location to
-%location within the presentation. The bookmark list is only present
-%when compilation is taken all the way to the PDF file format. It
-%also serves as a table of contents, but this list does not appear on
-%\textit{any} of the slides, but in a separate window in a PDF
-%viewer. In the example above, the entries in both table contents and
-%the list of bookmarks would be titled |First slide|.
-%
-%The \meta{options} for the |slide| environment can contain any
-%option listed in section~\ref{sec:glopts}. Additionally, the
-%following options can be used.
-%\begin{description}
-%\item\DescribeOption{toc}\option{toc}\\
-%When specified, the value is used for the entry in the table of
-%contents; otherwise, the slide title is used. If |toc=| is
-%specified, then no entry is created.
-%\item\DescribeOption{bm}\option{bm}\\
-%When specified, the value is used for the bookmark entry; otherwise,
-%the slide title is used. If |bm=| is specified, then no entry is
-%created.
-%\end{description}
-%
-%These optional arguments are especially useful when the title of a
-%slide is extremely long or when the title contains \LaTeX\ commands
-%that do not render correctly in the bookmarks.\footnote{The
-%bookmarking procedure uses \cs{pdfstringdef} from the \pf{hyperref}
-%package, and it can process accented characters such as \cs{"i}.}
-%When specifying entries, be sure to hide special characters `|,|'
-%and `|=|' between curly brackets `|{|' and `|}|'. Let's look at an
-%example that uses these optional arguments.
-%\begin{example}
-% \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$}
-% My slide contents.
-% \end{slide}
-%\end{example}
-%
-%In this example, the slide title will appear as {\color{red}\LaTeX,
-%$i^2=-1$}. This text will not render correctly in a bookmark entry.
-%An attempt is made to correct this, but often, the correction does
-%not produce an equivalent text. This particular title would be
-%rendered in the bookmark list as |redLaTeX, i2=-1|. On the other
-%hand, the manually specified bookmark entry is rendered as:
-%|LaTeX, i*i=-1|. Notice, no entry is created in the table of contents,
-%because of the use of |toc=|.
-%
-%In addition to the |slide| environment, each individual style can
-%define its own environments. Many styles have a |wideslide|
-%environment. The idea is that one might have information that does
-%not fit nicely on a slide with a table of contents listed, as this
-%consumes some space. In such cases, it is preferable to use a slide
-%that does not list the table of contents. The |wideslide|
-%environment provides this functionality and has more space for the
-%actual slide content. See section~\ref{sec:styles} for information
-%on the various environments provided by the styles.
-%
-%\section{Overlays}\label{sec:overlays}
-%It is often the case that you don't want all the information on the
-%slide to appear at once. Rather, the information should appear one
-%item at a time. In \pf{powerdot}, this is achieved with overlays.
-%Each slide can be comprised of many overlays, and the overlays are
-%displayed one at a time.
-%
-%\subsection{The \cs{pause} command}\label{sec:pause}
-%\DescribeMacro{\pause} The easiest way to display information
-%sequentially is to use the |\pause| command.
-%\begin{command}
-% `\cs{pause}\oarg{number}'
-%\end{command}
-%Below is a simple example:
-%\begin{example}
-% \begin{slide}{Simple overlay}
-% power\pause dot
-% \end{slide}
-%\end{example}
-%The slide's information is displayed and continues until the
-%|\pause| command is encountered. No further output within the same
-%slide is displayed until the click of the mouse or the touch of the
-%keyboard. Then, the content will continue to display until all the
-%information is displayed or until another |\pause| command is
-%encountered. In this example, |power| is displayed on the first
-%overlay, and |powerdot| is the displayed on the second overlay. The
-%|\pause| command is often used within the |itemize| and |enumerate|
-%environments. For example,
-%\begin{example}
-% \begin{slide}{Multiple pauses}
-% power\pause dot \pause
-% \begin{itemize}
-% \item Let me pause\ldots \pause
-% \item \ldots while I talk \pause and chew bubble gum. \pause
-% \item Perhaps you'll be persuaded.
-% \item Perhaps not.
-% \end{itemize}
-% \end{slide}
-%\end{example}
-%Since |\pause| was used before the |itemize| environment, no item
-%will appear until the third overlay. Then, each item will be
-%displayed one at a time, each on their own overlay. More information
-%on using lists will follow in the next section.
-%
-%The optional argument of the |\pause| command specifies the number
-%of overlays to pause. An example usage is:
-%\begin{example}
-% \begin{slide}{Pause longer}
-% \begin{itemize}
-% \item A \pause
-% \item B \pause[2]
-% \item C
-% \end{itemize}
-% \end{slide}
-%\end{example}
-%In the example above, item |C| will appear on the fourth overlay.
-%The usefulness of this option will become more apparent in the next
-%section; so we will revisit a similar example at that time.
-%
-%\subsection{List environments}\label{sec:lists}
-%The list environments, |itemize| and |enumerate|, have special
-%treatments in \pf{powerdot}. They have an optional argument that
-%will be taken care off by the \pf{enumitem} package (see
-%\cite{enumitem}). \pf{powerdot} supplies an extra key for this
-%optional argument. In the examples that follow, features will be
-%described using the |itemize| environment but they also apply to the
-%|enumerate| environment.
-%
-%Here is the typical usage of the |itemize| environment:
-%\begin{example}
-% \begin{slide}{Basic itemize}
-% \begin{itemize}
-% \item A \pause
-% \item B \pause
-% \item C
-% \end{itemize}
-% \end{slide}
-%\end{example}
-%The display is simple, each item appears one at a time with each
-%overlay.
-%
-%\DescribeOption{type}
-%Suppose we wanted every item to show, but we only wanted one item to
-%appear `active' at once. This can be accomplished via the |type|
-%option for the |itemize| environment. The preset value is |0|.
-%\begin{example}
-% \begin{slide}{Type 1 itemize}
-% \begin{itemize}[type=1]
-% \item A \pause
-% \item B \pause
-% \item C
-% \end{itemize}
-% \end{slide}
-%\end{example}
-%Now, every item will be displayed in the \emph{inactive
-%color}\index{inactive color|usage} (which is defined by the style
-%that you use), and the item's font color will become the active one
-%on the overlay that it would normally appear on. The default
-%behavior is given by |type=0|. It is still possible
-%to pass optional arguments to \pf{enumitem} via the second optional argument:
-%\begin{example}
-% \begin{slide}{Type 1 itemize}
-% \begin{enumerate}[type=1][label=\roman*a)]
-% \item A \pause
-% \item B \pause
-% \item C
-% \end{enumerate}
-% \end{slide}
-%\end{example}
-%Take care, that this must always be the second optional argument! It is
-%possible to leave the first one empty, which is valid only for \pf{powerdot}.
-%
-%Lists can also be nested to create complicated structures. When a
-%list is nested, it inherits the setting of the |type| option from
-%the `parent' list, but that can be overruled by specifying the
-%|type| option in the optional argument of the nested list. We
-%present here one example, but many more can be created by nesting
-%lists of different types in different ways.
-%\begin{example}
-% \begin{slide}{Nested lists}
-% \begin{itemize}
-% \item A\pause
-% \begin{itemize}[type=1]
-% \item B\pause
-% \end{itemize}
-% \item C
-% \end{itemize}
-% \end{slide}
-%\end{example}
-%This displays |A| and |B| on the first overlay, but |B| is inactive.
-%On overlay 2, |B| will become active and on overlay 3, |C| will
-%become visible.
-%
-%\subsection{The \cs{item} command}
-%\DescribeMacro{\item}
-%The |\item| command has an extra \emph{optional} argument in
-%\pf{powerdot} which allows for creating overlays in a more flexible
-%way then |\pause| provides.
-%\begin{command}
-% `\cs{item}\oarg{label}\larg{overlays}'
-%\end{command}
-%This optional argument should contain an overlay specification
-%stating on which overlays you want the item to appear. This
-%specification is a comma separated list where each item can used the
-%notation as in table \ref{tab:item}.
-%\begin{table}[htb]\centering
-%\begin{tabular}{d}
-%Syntax&Meaning\\\hline
-%\texttt{x}&Only overlay \texttt{x}\\
-%\texttt{-x}&All overlays up to and including \texttt{x}\\
-%\texttt{x-}&All overlays from \texttt{x}, including \texttt{x}\\
-%\texttt{x-y}&All overlays from \texttt{x} to \texttt{y},
-%including \texttt{x} and \texttt{y}\\
-%\end{tabular}
-%\caption{\cs{item} and \cs{onslide} notation}\label{tab:item}
-%\end{table}
-%The \meta{label} argument is the standard optional argument for
-%|\item| in \LaTeX. A \LaTeX\ manual \cite{companion} can tell you
-%more about this argument.
-%
-%Here is an example.
-%\begin{example}
-% \begin{slide}{Active itemize}
-% \begin{itemize}[type=1]
-% \item<1> A
-% \item<2> B
-% \item<3> C
-% \end{itemize}
-% \end{slide}
-%\end{example}
-%Here we have said that |A| should only be active on overlay 1, |B|
-%should only be active on overlay 2, and |C| should only be active on
-%overlay 3. Again, when the item is not active, it appears in the
-%inactive color because of |type=1|.
-%
-%If |type=0| is specified and if each item is given an overlay
-%option, then each item will appear only when it is active. When the
-%item is not active, then it will not show on the slide at all. More
-%examples demonstrating the syntax for \meta{overlays} will be
-%discussed in the next section.
-%
-%\subsection{The \cs{onslide} command}\label{sec:onslide}
-%\DescribeMacro{\onslide} Overlays can also be achieved using the
-%|\onslide| command.
-%\begin{command}
-% `\cs{onslide}\marg{overlays}\marg{text}'
-%\end{command}
-%This command takes an \meta{overlays} specification as first
-%argument and the \meta{text} to apply it to as second argument. The
-%\meta{overlays} on which the text will appear are specified as a
-%comma separated list with syntax as in table \ref{tab:item}. We
-%start off with a simple example.
-%\begin{example}
-% \begin{slide}{Simple onslide}
-% \onslide{1,2}{power}\onslide{2}{dot}
-% \end{slide}
-%\end{example}
-%We have instructed |power| to appear on overlays one and two, and
-%|dot| to appear only on overlay two. As you might guess, this
-%example has the same output as our first |\pause| example. Yet, it
-%is clearly the case that our syntax is more complicated. However,
-%this slight ``complication'' also allows for much more flexibility.
-%
-%\DescribeMacro{\onslide+}Consider the above example with the
-%following modifications:
-%\begin{example}
-% \begin{slide}{Simple onslide+}
-% \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\
-% \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot}
-% \end{slide}
-%\end{example}
-%The |\onslide+| command displays its content in a different manner
-%altogether. Now, |dot| appears on every overlay, but it is in
-%inactive color\index{inactive color|usage} and matches the normal
-%font color \textit{only} on overlay two. This is comparable to the
-%|type=1| behavior for lists (see section~\ref{sec:lists}).
-%
-%When executing this example, we will also notice that the |\onslide|
-%command does hide material, but still reserves the right amount of
-%space for it: on overlay 2, the |dot|s appear right above each
-%other. The next command does not reserve space.
-%
-%\DescribeMacro{\onslide*} Instead of hiding and reserving space
-%(|\onslide|) or putting \meta{text} in the inactive color
-%(|\onslide+|) when the overlay doesn't match \meta{overlays}, this
-%command just eats the material altogether. To understand the
-%differences, consider the following example:
-%\begin{example}
-% \begin{slide}{Simple onslide*}
-% \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\
-% \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot}\\
-% \texttt{onslide*}: \onslide*{1}{power}\onslide*{2}{dot}
-% \end{slide}
-%\end{example}
-%The output of the first two lines, we are already familiar with. The
-%third line displays |power| on overlay 1 and |dot| on overlay 2, but
-%no space for |power| is reserved on overlay 2. Hence |dot| will
-%start on the cursor position that |power| started on overlay 1 and
-%it is not aligned below the other two |dots|.
-%
-%We finish with an example of the syntax that is possible with
-%|\item| and |\onslide|. Remember that these commands take a comma
-%separated list for the \meta{overlays} specification and that each
-%element can used the syntax as explained in table \ref{tab:item}.
-%The various variations are demonstrated in the example below.
-%\begin{example}
-% \begin{slide}{Lists}
-% \onslide{10}{on overlay 10 only}\par
-% \onslide{-5}{on every overlay before and including overlay 5}\par
-% \onslide{5-}{on every overlay after and including overlay 5}\par
-% \onslide{2-5}{on overlays 2 through 5, inclusive}\par
-% \onslide{-3,5-7,9-}{on every overlay except overlays 4 and 8}
-% \end{slide}
-%\end{example}
-%
-%\subsection{Relative overlays}
-%Sometimes it is a pain to keep track of when an item should appear
-%or become active. You might, for example, just care that some text
-%appears on the overlay \textit{after} some other item. This
-%functionality is provided through the use of relative overlays which
-%should not be used outside list environments that use |\item|. Let's
-%consider a simple, illuminating example.
-%\begin{example}
-% \begin{slide}{Relative overlays}
-% \begin{itemize}
-% \item A \pause
-% \item B \onslide{+1}{(visible 1 overlay after B)}\pause
-% \item C \onslide{+2-}{(appears 2 overlays after C, visible until the end)}
-% \pause
-% \item D \onslide{+1-6}{(appears 1 overlay after D, visible until overlay 6)}
-% \pause
-% \item E \pause
-% \item F \pause
-% \item G \onslide{+1-+3}{(appears 1 overlay after G for 3 overlays)}\pause
-% \item H \pause
-% \item I \pause
-% \item J \pause
-% \item K
-% \End{itemize}
-% \end{slide}
-%\end{example}
-%As you can see, we still use |\onslide|. The only change is with the
-%syntax of the list of overlays. Now, we can specify a `|+|' symbol
-%in the list. In its simplest usage, |\onslide{+1}| will make text
-%display one overlay after the overlay it would \textit{normally}
-%appear on. You can still use the syntax in table \ref{tab:item}.
-%These are demonstrated in the above example. Notice,
-%|\onslide{+1-6}| means that the text will appear one overlay after
-%the overlay it would normally appear on and that the text should
-%remain shown until overlay seven. To make text appear for a range of
-%relative overlays, see the final demonstration in the above example.
-%
-%\section{Presentation structure}\label{sec:structure}
-%\subsection{Making sections}\label{sec:section}
-%\DescribeMacro{\section}
-%This section describes the |\section| command which provides a way
-%to structure a presentation.
-%\begin{command}
-% `\cs{section}\oarg{options}\marg{section title}'
-%\end{command}
-%This command will produce a slide with \meta{section title} on it
-%and will also use this text to create sections in the table of
-%contents and in the bookmarks list. There are several \meta{options}
-%to control its output.
-%
-%\DescribeOption{tocsection} This option controls the creation of a
-%section in the table of contents. The preset value is |true|.
-%\begin{description}
-%\item\option{tocsection=true}\\
-%This does create a section in the table of contents. This means that
-%all following slides, until the next section, will be nested under
-%this section.
-%\item\option{tocsection=false}\\
-%This does not create a section in the table of contents and hence
-%the section will be listed as an ordinary slide.
-%\item\option{tocsection=hidden}\\
-%This does create a section in the table of contents, but this is
-%only visible when you view a slide that is part of this section.
-%This could be used to append a section to the presentation which you
-%can discuss if there is some extra time.
-%\end{description}
-%
-%\DescribeOption{slide} This option controls whether the |\section|
-%command creates a slide. The preset value is |true|.
-%\begin{description}
-%\item\option{slide=true}\\
-%A slide is created.
-%\item\option{slide=false}\\
-%No slide will be created. If also |tocsection| is |false|, the
-%|\section| command doesn't do anything. If it does create a table of
-%contents section (|tocsection=| |true| or |hidden|), its link will
-%point to the first slide in the section as the section itself
-%doesn't have a slide.
-%\end{description}
-%
-%\DescribeOption{template} This option can be used to make the
-%section slide with another template. By default, a normal |slide|
-%environment is used to create the section slide, but if a style
-%offers other templates that could be used for this purpose (for
-%instance, the |wideslide| environment), then you can use this option
-%to select that template. See section~\ref{sec:styles} for an
-%overview of the available templates with every style.
-%
-%Finally, all options available to normal slides are available to
-%slides created by |\section| as well (see section~\ref{sec:slides}).
-%However, when the section does make a |tocsection|, |toc=| or |bm=|
-%won't remove the table of contents entry or the bookmark
-%respectively.
-%
-%\subsection{Making an overview}\label{sec:tableofcontents}
-%\DescribeMacro{\tableofcontents}
-%This command creates an overview of your presentation and can only
-%be used on a slide.
-%\begin{command}
-% `\cs{tableofcontents}\oarg{options}'
-%\end{command}
-%There are several \meta{options} to control the output of this
-%command.
-%
-%\DescribeOption{type}
-%This option controls whether certain material (depending on the
-%input in the |content| option below) will be hidden or displayed in
-%the inactive color\index{inactive color|usage}. The preset value is
-%|0|. Compare with the |type| option for list environments
-%(section~\ref{sec:lists}).
-%
-%\begin{description}
-%\item\option{type=0}\\
-%When material is not of the requested type as specified in the
-%|content| option, it will be hidden.
-%\item\option{type=1}\\
-%As |type=0|, but instead of hiding material, it will be typeset in
-%the inactive color.
-%\end{description}
-%
-%\DescribeOption{content}
-%The |content| option controls which elements will be included in the
-%overview. The preset value is |all|. The description below assumes
-%that |type=0| was chosen, but the alternative text for |type=1| can
-%easily be deduced.
-%
-%\begin{description}
-%\item\option{content=all}\\
-%This will display a full overview of your presentation including all
-%sections and slides, except the slides in hidden sections (see
-%section~\ref{sec:section}).
-%\item\option{content=sections}\\
-%This displays only the sections in the presentation.
-%\item\option{content=currentsection}\\
-%This displays the current section only.
-%\item\option{content=future}\\
-%This displays all content starting from the current slide.
-%\item\option{content=futuresections}\\
-%This displays all sections, starting from the current section.
-%\end{description}
-%
-%We finish this section with a small example that will demonstrate
-%how you can make a presentation that contains an overall overview of
-%sections in the presentation, giving a general idea of the content,
-%and per section a detailed overview of the slides in that section.
-%\begin{example}
-% \begin{slide}[toc=,bm=]{Overview}
-% \tableofcontents[content=sections]
-% \end{slide}
-% \section{First section}
-% \begin{slide}[toc=,bm=]{Overview of the first section}
-% \tableofcontents[content=currentsection,type=1]
-% \end{slide}
-% \begin{slide}{Some slide}
-% \end{slide}
-% \section{Second section}
-% ...
-%\end{example}
-%
-%\section{Miscellaneous}
-%\subsection{Notes}\label{sec:notes}
-%\DescribeEnv{note}
-%The |note| environment can be used to make personal notes that
-%accompany a slide. You can control displaying notes using the
-%|display| option (see section~\ref{sec:classopts}). Here is an
-%example.
-%\begin{example}
-% \begin{slide}{Chewing gum}
-% ...
-% \end{slide}
-% \begin{note}{Reminder for chewing gum}
-% Don't forget to mention that chewing gum is sticky.
-% \end{note}
-%\end{example}
-%
-%\subsection{Empty slides}\label{sec:emptyslides}
-%\DescribeEnv{emptyslide}
-%The |emptyslide| environment creates a totally empty slide. The text
-%box on the slide can be used for special things like displaying
-%photos. This allows for creating a dia show. Example:
-%\begin{example}
-% \begin{emptyslide}{}
-% \centering
-% \vspace{\stretch{1}}
-% \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps}
-% \vspace{\stretch{1}}
-% \end{emptyslide}
-%\end{example}
-%The |\includegraphics| command is defined by the \pf{graphicx}
-%package \cite{graphics}. The |\stretch| command is used to
-%vertically center the picture. Both commands are described in your
-%favorite \LaTeX\ manual, for instance \cite{companion}. Note that
-%you can use the lengths |\slideheight| and |\slidewidth| to scale
-%pictures to fit nicely on the slide.
-%
-%\subsection{Bibliography slide}\label{sec:bib}
-%\DescribeEnv{thebibliography}
-%\pf{powerdot} redefines the standard \pf{article}
-%|thebibliography| environment to suppress the creation of a section
-%heading and running headers. All other properties are maintained.
-%You can do either of the next two (depending whether you are
-%using BiB\TeX\ or not):\\
-%\begin{minipage}[t]{.49\linewidth}
-%\begin{example}
-% \begin{slide}{Slide}
-% \cite{someone}
-% \end{slide}
-% \begin{slide}{References}
-% \begin{thebibliography}{1}
-% \bibitem{someone} Article of someone.
-% \end{thebibliography}
-% \end{slide}
-%\end{example}
-%\end{minipage}\hfill
-%\begin{minipage}[t]{.49\linewidth}
-%\begin{example}
-% \begin{slide}{Slide}
-% \cite{someone}
-% \end{slide}
-% \begin{slide}{References}
-% \bibliographystyle{plain}
-% \bibliography{YourBib}
-% \end{slide}
-%\end{example}
-%\end{minipage}
-%
-%In case you have a big reference list that you want to spread over
-%multiple slides, have a look at the packages \pf{natbib} and
-%\pf{bibentry} \cite{natbib}. Using both packages allows you to do:
-%\begin{example}
-% \begin{slide}{References (1)}
-% \bibliographystyle{plain}
-% \nobibliography{YourBib}
-% \bibentry{someone1}
-% \bibentry{someone2}
-% \end{slide}
-% \begin{slide}{References (2)}
-% \bibentry{someone3}
-% \end{slide}
-%\end{example}
-%Have a look at your favorite \LaTeX\ manual for more information
-%about citations and bibliographies.
-%
-%\subsection{Verbatim on slides}\label{sec:verbatim}\DescribeOption{verbatim}
-%\pf{powerdot} has three different methods of processing slides, from
-%which two have mainly been developed to make the inclusion of
-%verbatim content\footnote{And other content that needs catcode
-%changes when processing.} on slides easier. These methods can be
-%accessed by the |method| key which is available in slide
-%environments and the |\pdsetup| command (see
-%section~\ref{sec:glopts}).
-%\begin{description}
-%\item\option{method=normal}\\
-%This is the preset method for processing slides. It is fast and
-%allows for overlays, but it does not allow for
-%verbatim.\footnote{Except when it has been saved in a box outside
-%the slide.}
-%\item\option{method=direct}\\
-%This method is also fast, but does not allow for overlays. Overlays
-%will silently be disabled. However, it does allow for verbatim
-%content on slides.
-%\item\option{method=file}\\
-%This method uses a temporary file to export the slide body to and
-%read it back in. This method does allow for verbatim content and
-%overlays, but could be slow when many slides use this method because
-%the filesystem is used.
-%\end{description}
-%
-%Below is an example demonstrating the use of all three different
-%methods of slide processing.
-%\begin{example}
-% \documentclass{powerdot}
-% \usepackage{listings}
-% \lstnewenvironment{code}{%
-% \lstset{frame=single,escapeinside=`',
-% backgroundcolor=\color{yellow!20},
-% basicstyle=\footnotesize\ttfamily}
-% }{}
-% \begin{document}
-% \begin{slide}{Slide 1}
-% Normal \pause content.
-% \end{slide}
-% \begin{slide}[method=direct]{Slide 2}
-% Steps 1 and 2:
-% \begin{code}
-% compute a;`\pause'
-% compute b;
-% \end{code}
-% \end{slide}
-% \begin{slide}[method=file]{Slide 3}
-% Steps 1 and 2:
-% \begin{code}
-% compute a;`\pause'
-% compute b;
-% \end{code}
-% \end{slide}
-% \end{document}
-%\end{example}
-%The first slide shows the default behavior for normal content. It
-%produces two overlays. The second slide does not produce overlays,
-%despite the use of the |\pause| command. This command has been
-%disabled by choosing the |direct| method to process the verbatim
-%content. The third slide has the same body as the second slide, but
-%now does create two overlays, because the method using a temporary
-%file has been chosen. Notice that we used |\pause| inside the listing,
-%but that it can also be used outside the listing.
-%
-%\subsection{The \cs{twocolumn} command}\label{sec:twocolumn}
-%\DescribeMacro{\twocolumn}
-%The |\twocolumn| macro allows to split content into two columns.
-%\begin{command}
-% `\cs{twocolumn}\oarg{options}\marg{left}\marg{right}'
-%\end{command}
-%This typesets \meta{left} and \meta{right} in two columns. The
-%dimensions of those columns can be controlled by \meta{options}.
-%Below are the available options.
-%\begin{description}
-%\item\DescribeOption{lineheight}\option{lineheight}\\
-%If |lineheight| is specified, a line of the specified height will be
-%created using |\psline| in between the two columns. Example:
-%|lineheight=6cm|.
-%\item\DescribeOption{lineprop}\option{lineprop}\\
-%Any \pf{pstricks} declaration to specify the line properties. Example:
-%\begin{example}
-% lineprop={linestyle=dotted,linewidth=3pt}
-%\end{example}
-%\item\DescribeOptions{lfrheight,lfrprop}\option{lfrheight,lfrprop}\\
-%The first creates a frame of the specified height around the left
-%column. The second is as |lineprop|, but for the left frame.
-%\item\DescribeOptions{rfrheight,rfrprop}\option{rfrheight,rfrprop}\\
-%As |lfrheight| and |lfrprop|, but for the right frame.
-%\item\DescribeOptions{lcolwidth,rcolwidth}\option{lcolwidth,rcolwidth}\\
-%Width of the left and right columns. Both are preset to: |0.47\linewidth|.
-%\item\DescribeOption{frsep}\option{frsep}\\
-%Space between text and the frames. Preset: |1.5mm|.
-%\item\DescribeOption{colsep}\option{colsep}\\
-%Space between the two columns. Preset: |0.06\linewidth|.
-%\item\DescribeOption{topsep}\option{topsep}\\
-%The extra space (additional to |\baselineskip|) between text above
-%the columns and the text within the columns. Preset: |0cm|.
-%\item\DescribeOption{bottomsep}\option{bottomsep}\\
-%Idem for the bottom of the columns. Preset: |0cm|.
-%\item\DescribeOption{indent}\option{indent}\\
-%Horizontal indent left to the left column. Preset: |0cm|.
-%\end{description}
-%The dimensions described above are represented graphically in
-%figure \ref{fig:twocolumndim}.
-%\begin{figure}[htb]
-%\centering
-%\begin{pspicture}(0,.5)(13,10.5)
-%\psline(0,0.5)(0,10)
-%\rput[tl](.05,9.95){Top}
-%\psframe[dimen=middle](1,9)(7,2)
-%\psline{C-C}(8.5,9)(11,9)
-%\psline{C-C}(8.5,2)(8.5,9)
-%\psline{C-C}(8.5,2)(11,2)
-%\qdisk(1.7,8.3){.1cm}
-%\psset{linestyle=dashed}
-%\psline{C-C}(1.7,8.3)(6.3,8.3)
-%\psline{C-C}(1.7,8.3)(1.7,3)
-%\psline{C-C}(6.3,5)(6.3,8.3)
-%\psline{C-C}(11,9)(12,9)
-%\psline{C-C}(11,2)(12,2)
-%\psline{C-C}(11,7)(12,7)
-%\psline{C-C}(9.2,8.3)(12,8.3)
-%\psline{C-C}(9.2,8.3)(9.2,3)
-%\rput[tl](1.75,8.25){Left column text}
-%\rput[tl](9.25,8.25){Right column text}
-%\rput[tl](.05,1){Bottom}
-%\psset{linestyle=dotted,dotsep=2pt}
-%\psline(0,8.3)(1.7,8.3)
-%\psline(0,9.6)(1,9.6)
-%\psline(0,2)(1,2)
-%\psline(0,1.1)(1,1.1)
-%\psset{linestyle=solid}
-%\psline{<->}(.2,8.33)(.2,9.57)
-%\psline{<->}(4,8.33)(4,8.97)
-%\psline{<->}(1.73,7)(6.27,7)
-%\psline{<->}(1.03,6.5)(1.67,6.5)
-%\psline{<->}(0.03,5.5)(1.67,5.5)
-%\psline{<->}(6.33,7.4)(9.17,7.4)
-%\psline{<->}(8.53,6.5)(9.17,6.5)
-%\psline{<->}(6.33,6.5)(6.97,6.5)
-%\psline{<->}(10.7,8.33)(10.7,8.97)
-%\psline{<->}(7.3,8.97)(7.3,2.03)
-%\psline{<->}(.2,1.13)(.2,1.97)
-%\psline{->}(1.7,9.3)(1.7,8.45)
-%\psline{<-}(9.23,7)(11,7)
-%\cput(4,6.6){\small 1}
-%\cput(11.1,6.6){\small 2}
-%\cput(8,7){\small 3}
-%\cput(7.7,3){\small 4}
-%\cput(4.4,8.65){\small 5}
-%\cput(1.35,6.1){\small 5}
-%\cput(8.85,6.1){\small 5}
-%\cput(11.1,8.65){\small 5}
-%\cput(6.65,6.1){\small 5}
-%\cput(0.6,8.95){\small 6}
-%\cput(0.6,5.1){\small 7}
-%\cput(0.6,1.55){\small 8}
-%\cput(1.7,9.6){\small 9}
-%\end{pspicture}
-%\begin{tabular}{c p{4cm}cl}
-%\multicolumn{4}{c}{Meaning of the labels}\\\hline
-%1&|lcolwidth|&5&|frsep|\\
-%2&|rcolwidth|&6&|topsep|\\
-%3&|colsep|&7&|indent|\\
-%4&|lfrheight|, |rfrheight|,&8&|bottomsep|\\
-%&|lineheight|&9&Reference point
-%\end{tabular}
-%\caption{Two-column dimensions.}\label{fig:twocolumndim}
-%\end{figure}
-%Important to notice is that the |\twocolumn| macro uses the current
-%cursor position as the reference point to position the first line of
-%text of the left column (see also figure \ref{fig:twocolumndim}). This
-%means that optional frames can extend to the text on the previous
-%line. Use for instance |topsep=0.3cm| in that case to add extra
-%space between the two lines of text. The preset value of |topsep|
-%is based on the situation that there is no text on top of the two
-%columns. In that case, it is best to locate the first line of text
-%of the left column at the same spot as text that is not created by
-%|\twocolumn| on other slides. The setting |topsep=0cm| does exactly
-%this. However, with a combination of |topsep| and |indent| you can
-%change this behavior and position the first line of text of the left
-%column anywhere you want.
-%
-%The |\twocolumn| macro computes the height of the construction to
-%position text below the construction correctly. The computation is
-%done by taking the maximum height of |lfrheight|, |rfrheight|,
-%|lineheight| (if specified) and the left and right column content.
-%Hence when frames nor a line is requested, |bottomsep| is the
-%vertical space between the lowest line of text in the columns and
-%the text below the columns (additional to |\baselineskip|). Here is
-%an example.
-%\begin{example}
-% \begin{slide}{Two columns}
-% Here are two columns.
-% \twocolumn[
-% lfrprop={linestyle=dotted,linewidth=3pt},
-% lfrheight=4cm,rfrheight=5cm,lineheight=3cm,topsep=0.3cm
-% ]{left}{right}
-% Those were two columns.
-% \end{slide}
-%\end{example}
-%Note that the use of the \pf{xkeyval} commands |\savevalue| and
-%|\usevalue| \index{savevalue=\verb!*+\savevalue+|usage}
-%\index{usevalue=\verb!*+\usevalue+|usage} could be handy here, for
-%instance for copying the properties of the left frame to the right
-%frame. This avoids typing them twice and avoids making errors
-%resulting in different frames. See an example below.
-%\begin{example}
-% \twocolumn[
-% \savevalue{lfrheight}=3cm,
-% \savevalue{lfrprop}={
-% linestyle=dotted,framearc=.2,linewidth=3pt},
-% rfrheight=\usevalue{lfrheight},
-% rfrprop=\usevalue{lfrprop}
-% ]{left}{right}
-%\end{example}
-%See the \pf{xkeyval} documentation \cite{xkeyval} for more
-%information about |\savevalue| and |\usevalue|.
-%
-%\section{Available styles}\label{sec:styles}
-%\pf{powerdot} comes with a number of styles which are listed in the
-%overview below. The characteristics of each style are described
-%shortly and a sample of a title slide and a normal slide is provided
-%for each style. Styles support the |wideslide| environment, have a
-%table of contents on the left part of the paper in landscape
-%orientation and on the bottom part in portrait orientation and
-%support portrait orientation unless states otherwise.
-%\begin{description}
-%\item\pf{default}\\
-%This style provides six different palettes. A flower in the top left
-%corner decorates the slides for all palettes. The default palette is
-%\texttt{blue} which has as main colors light blue and white. You can
-%see an example of that palette below. Other available palettes are
-%\texttt{red}, \texttt{green}, \texttt{yellow}, \texttt{brown} and
-%\texttt{purple}.\\
-%\styleexample{default}
-%\item\pf{simple}\\
-%This is a simple style in black and white. This style could be
-%useful if you want to print your slides.\\
-%\styleexample{simple}
-%\item\pf{tycja}\\
-%This style is set in shades of yellow and dark blue. The table of
-%contents on slides is on the right side of the paper in landscape
-%orientation and on the bottom part in portrait.\\
-%\styleexample{tycja}
-%\item\pf{ikeda}\\
-%This style uses dark shades of red and blue and a light text color.
-%It has nice patterns on the slide for decoration.\\
-%\styleexample{ikeda}
-%\item\pf{fyma}\\
-%This style was originally created by Laurent Jacques for
-%\pf{prosper}. Based on that style, he created a version for
-%\pf{HA-prosper} with extended features. With his kind permission,
-%this style has been converted by Shun'ichi J. Amano for
-%\pf{powerdot}. The style has an elegant design with a light blue and
-%white gradient background in the default \texttt{blue} palette.
-%Other available palettes are \texttt{green}, \texttt{gray},
-%\texttt{brown} and \texttt{orange}. It has special templates for
-%sections on slides and sections on wide slides. Below is a sample of
-%the blue palette.\\
-%\styleexample{fyma}
-%\item\pf{ciment}\\
-%This style was originally created by Mathieu Goutelle for
-%\pf{prosper} and \pf{HA-prosper}. With his kind permission, this style
-%has been converted for \pf{powerdot}. The style has a background
-%that is hatched with light gray horizontal lines. Titles and table
-%of contents highlighting are done with dark red.\\
-%\styleexample{ciment}
-%\item\pf{elcolors}\\
-%This is a style using light shades of the elementary colors red,
-%blue and yellow.\\
-%\styleexample{elcolors}
-%\item\pf{aggie}\\
-%This style was created by Jack Stalnaker for \pf{HA-prosper} and he
-%has converted this style for \pf{powerdot}. The style uses dark red
-%and light brown colors.\\
-%\styleexample{aggie}
-%\item\pf{husky}\\
-%This style is created by Jack Stalnaker and has a background of
-%light gray sun beams combined with dark red highlights.\\
-%\styleexample{husky}
-%\item\pf{sailor}\\
-%This style is contributed by Mael Hill\'ereau and supplies five
-%different palettes: \texttt{Sea} (the default), \texttt{River},
-%\texttt{Wine}, \texttt{Chocolate} and \texttt{Cocktail}. Below is a
-%sample of the palette \texttt{Sea}.\\
-%\styleexample{sailor}
-%\item\pf{upen}\\
-%This style has a nice dark blue background and text in yellow. It is
-%contributed by Piskala Upendran.\\
-%\styleexample{upen}
-%\item\pf{bframe}\\
-%The \pf{bframe} style has blue frames on the slide in which text is
-%positioned. The style is contributed by Piskala Upendran.\\
-%\styleexample{bframe}
-%\item\pf{horatio}\\
-%The \pf{horatio} style has been contributed by Michael Lundholm and
-%is a more conservative blue style.\\
-%\styleexample{horatio}
-%\item\pf{paintings}\\
-%This is a simple style without a table of contents on slides. It has
-%been contributed by Thomas Koepsell and provides 10 different
-%palettes. The colors used in the palettes are drawn from famous
-%paintings.\footnote{The style defines a color \texttt{pdcolor7}
-%which is not used in the style but comes from the same painting and
-%complements the other colors. It can be used, for example, to
-%highlight text against the main background color.} If you are
-%interested, open the style file to read which paintings have been
-%used. The available palettes are: \texttt{Syndics} (the default),
-%\texttt{Skater}, \texttt{GoldenGate}, \texttt{Lamentation},
-%\texttt{HolyWood}, \texttt{Europa}, \texttt{Moitessier},
-%\texttt{MayThird}, \texttt{PearlEarring} and \texttt{Charon} (all
-%case sensitive). Below is a sample of the \texttt{Syndics}
-%palette.\\
-%\styleexample{paintings}
-%\item\pf{klope}\\
-%The \pf{klope} style implements a horizontal table of contents that
-%only lists the sections. The style is available in the following
-%palettes: \texttt{Spring}, \texttt{PastelFlower}, \texttt{BlueWater}
-%and \texttt{BlackWhite}. The \texttt{Spring} palette is the default
-%and you can see a sample of that below.\\
-%\styleexample{klope}
-%\item\pf{jefka}\\
-%The \pf{jefka} style comes with four palettes: \texttt{brown} (the
-%default), \texttt{seagreen}, \texttt{blue} and \texttt{white}. Below
-%you see a sample of the \texttt{brown} palette.\\
-%\styleexample{jefka}
-%\item\pf{pazik}\\
-%This style is available in two palettes: \texttt{red} and
-%\texttt{brown}. Below is a sample of the default \texttt{red}
-%palette.\\
-%\styleexample{pazik}
-%\end{description}
-%
-%\section{Compiling your presentation}\label{sec:compiling}
-%\subsection{Dependencies}\label{sec:dependencies}
-%In table \ref{tab:dependencies} is a list of packages that
-%\pf{powerdot} uses to perform specific tasks. Dependencies of
-%packages in this table are not listed. In the table, `required'
-%means that you should have a version \emph{at least} as new as
-%listed and `tested' means that \pf{powerdot} was tested with this
-%version, but that it could equally well work with an older or newer
-%version than the one listed in the table. So, when trying to solve
-%an error, first concentrate on solving version issues for the
-%`required' packages. To find out which version of a package you are
-%currently using, put |\listfiles| on the first line of your
-%document, run it with \LaTeX, open the |.log| file and read the file
-%list (see a \LaTeX\ manual for more information). If you need to
-%update a package, you can get it from CTAN \cite{CTAN}.
-%\begin{table}[htb]
-%\centering
-%\begin{tabular}{e}
-%Package/file & Version & Date & Required/tested\\\hline
-%\pf{xkeyval} \cite{xkeyval} & 2.5c & 2005/07/10 & required\\
-%\texttt{pstricks.sty} \cite{PSTricksWeb,PSTricks} & 0.60 & 2013/12/12 & required\\
-%\pf{xcolor} \cite{xcolor} & 1.11 & 2004/05/09 & required\\
-%\pf{enumitem} \cite{enumitem} & 3.5.2 & 2011/09/28 & required\\
-%\pf{article} class & 1.4f & 2004/02/16 & tested\\
-%\pf{geometry} \cite{geometry} & 3.2 & 2002/07/08 & tested\\
-%\pf{hyperref} \cite{hyperref} & 6.74m & 2003/11/30 & tested\\
-%\pf{graphicx} \cite{graphics} & 1.1a & 2017/06/01 & required\\
-%\pf{verbatim} & 1.5q & 2003/08/22 & tested
-%\end{tabular}
-%\caption{Dependencies}\label{tab:dependencies}
-%\end{table}
-%
-%\subsection{Creating and viewing output}\label{sec:creation}
-%To compile your presentation, run it with \LaTeX. The DVI that is
-%produced this way can be viewed with MiK\TeX's DVI viewer
-%YAP.\footnote{Unless you are using \pf{pstricks-add} which distorts
-%the coordinate system in DVI.} Unfortunately, xdvi and kdvi (kile)
-%do not support all PostScript specials and hence these will display
-%the presentation incorrectly. If your DVI viewer does support
-%this, make sure that your DVI display settings match that of the
-%presentation. In case you are using the |screen| paper, you should
-%set the DVI display setting to using the letter paper format. If
-%your DVI viewer allows for custom paper formats, use 8.25 inch by 11
-%inch.
-%
-%Note that certain things that are produced with PostScript or PDF
-%techniques will not work in a DVI viewer. Examples are hiding of
-%material via postscript layers (as is done, for instance, by
-%|\pause|, see section~\ref{sec:overlays}) and hyperlinks, for
-%instance in the table of contents.
-%
-%If you want to produce a postscript document, run dvips over the DVI
-%\emph{without any particular command line options related to
-%orientation or paper size}. \pf{powerdot} will write information to
-%the DVI file that helps dvips and ps2pdf (ghostscript) to create a
-%proper document. If you have some reason that this does not work for
-%you and you want to specify the paper and orientation yourself, you
-%should use the |nopsheader| option that is described in
-%section~\ref{sec:setup}. The PostScript document could, for
-%instance, be used to put multiple slides on a page using the |psnup|
-%utility.
-%
-%To create a PDF document for your presentation, run ps2pdf over the
-%PS file created with dvips. Also here, you can \emph{leave out any
-%command line arguments related to paper size or orientation}. If
-%this is problematic for you somehow, use the |nopsheader| option as
-%before and specify the paper and orientation at each intermediate
-%step yourself.
-%
-%\section{Creating your own style}\label{sec:writestyle}
-%\subsection{General information}
-%Writing or customizing \pf{powerdot} styles is simple. If you want
-%to modify a style or build a new one, locate the style that you want
-%to use as basis in your \TeX\ tree (styles are named as
-%|powerdot-<style_name>.sty|), copy that and rename it as to avoid
-%license\footnote{The \LaTeX\ Public Project License requires
-%renaming files when modifying them, see
-%\url{http://www.latex-project.org/lppl}.} or naming conflicts. You
-%might want to install the new style in your local \TeX\ tree to be
-%able to access it from any place on your hard drive. See your
-%\LaTeX\ distribution for more information.
-%
-%Once that has been taken care of, we can start creating the style.
-%We strongly recommend to study a style file (for example,
-%|powerdot-default.sty|) while reading the remainder of this section
-%as it provides good examples for the content of this section.
-%
-%A style has several components. We describe these components below.
-%\begin{description}
-%\item\textbf{Identification and packages}\\
-%This identifies the package in the log of a presentation and loads
-%all required packages. The \pf{default} style contains something like:
-%\begin{example}
-% \NeedsTeXFormat{LaTeX2e}[1995/12/01]
-% \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)]
-% \RequirePackage{pifont}
-%\end{example}
-%See for more information about these commands a \LaTeX\ manual, for
-%instance \cite{companion}.
-%\item\textbf{Palette or color definitions}\\
-%This section contains the definitions of palettes or colors that you
-%want to use in the style. \pf{powerdot} uses \pf{xcolor} (via
-%\pf{pstricks}). Hence, for more information about colors, see the
-%\pf{xcolor} documentation. We will discuss palettes in more detail
-%in section~\ref{sec:defpals}.
-%\item\textbf{Template definitions}\\
-%We will come back to this in sections~\ref{sec:deftemps}
-%to~\ref{sec:defbg}.
-%\item\textbf{Custom declarations}\\
-%These can include anything that you want to be part of the style.
-%The \pf{default} style, for instance, includes definitions for the labels
-%in list environments like |itemize| and some initializations for
-%lists in general (done with |\pdsetup|, see
-%section~\ref{sec:pdsetup}). This part could also include some
-%customizations as described in section~\ref{sec:specialtemps}.
-%\item\textbf{Font initializations}\\
-%This initializes font definitions (which can be done by
-%loading a package like \pf{helvet}).
-%\end{description}
-%
-%\subsection{Defining palettes}\label{sec:defpals}
-%We will be defining templates formally in
-%section~\ref{sec:deftemps}. For now, it's enough to have the general
-%idea that a template controls the design of a slide. Palettes are
-%sets of colors that color a template or design. A palette does not
-%change the overall design of a template.
-%
-%\DescribeMacro{\pddefinepalettes}
-%The following command can be used to define palettes for your style.
-%\begin{command}
-% `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots'
-%\end{command}
-%This macro takes \emph{any} even number of mandatory arguments with
-%a minimum of two. For every \meta{name}, a set of \meta{commands}
-%can be given which define the palette with name \meta{name}. These
-%commands can define colors with names |pdcolor1|, |pdcolor2|,
-%etcetera. These colors can be used when designing the template (see
-%section~\ref{sec:deftemps}). |pdcolor1| will always be used as text
-%color.
-%
-%The user can access these palettes via the |palette| key for the
-%|\pdsetup| command (see section~\ref{sec:pdsetup}). If the user does
-%not specify a palette, the first palette defined when compiling the
-%presentation, will be used. Here is an example for defining 2
-%palettes.
-%\begin{example}
-% \pddefinepalettes{reds}{
-% \definecolor{pdcolor1}{rgb}{1,0,0}
-% \definecolor{pdcolor2}{rgb}{1,.1,0}
-% \definecolor{pdcolor3}{rgb}{1,.2,0}
-% }{greens}{
-% \definecolor{pdcolor1}{rgb}{0,1,0}
-% \definecolor{pdcolor2}{rgb}{.1,1,0}
-% \definecolor{pdcolor3}{rgb}{.2,1,0}
-% }
-%\end{example}
-%In this example, the |reds| palette is the default one. For more
-%information about |\definecolor|, see the documentation of the
-%\pf{xcolor} package \cite{xcolor}.
-%
-%Notice that it is not necessary to use the names |pdcolor2|,
-%|pdcolor3| etcetera as color names. But if these colors are defined,
-%\pf{powerdot} will use them, for instance, in the random dots
-%feature (see section~\ref{sec:glopts}). The flexibility adds extra
-%possibilities in setting up templates and palettes. See for an
-%example of its use, the \pf{klope} style.
-%
-%\subsection{Defining templates}\label{sec:deftemps}
-%We start off with a definition of what a template is. A template is
-%a collection of settings for slide components together with custom
-%definitions, which controls the visual appearance of a slide. A
-%style can contain multiple templates.
-%
-%\begin{command}
-% `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}'
-%\end{command}
-%\DescribeMacro{\pddefinetemplate}
-%This defines the environment \meta{name} to produce a slide with
-%characteristics determined by \meta{basis}, \meta{options} and
-%\meta{commands}. We will discuss these elements in more detail
-%in the coming sections.
-%
-%If you want to create several templates that differ only slightly
-%from each other, define a \meta{basis} template, and then use it to
-%define other templates. All \meta{options} and \meta{commands} for
-%the new template \meta{name} will be appended to the existing list
-%of \meta{options} and \meta{commands} from the \meta{basis}
-%template.
-%
-%Make sure you choose a \emph{proper} name for the template, and
-%avoid redefining existing templates or environments. \pf{powerdot}
-%defines |pauseslide|, |note| and |emptyslide| internally, so you
-%shouldn't use these names unless you know what you're doing.
-%Furthermore, each style needs to define at least the templates
-%|slide| and |titleslide|. The |titleslide| environment will be used
-%to create the title slide and |slide| will (by default) also be used
-%to create section slides. Titles and sections are a bit special in
-%the way they use the \meta{options} and will be discussed in more
-%detail in section~\ref{sec:specialtemps}.
-%
-%\subsection{Controlling setup}
-%\DescribeOption{ifsetup}
-%The \meta{options} (keys) are described in the following sections.
-%You can control how these options apply to the various setups by
-%using the |ifsetup| key. Any key appearing before the first
-%|ifsetup| declaration in \meta{options} will apply to every possible
-%setup. Once the |ifsetup| key is used, then all subsequent key
-%declarations will apply \textit{only} to the setups declared in the
-%|ifsetup| key. The |ifsetup| key can be used multiple times.
-%
-%By possible setups, we mean the allowed values of the |mode|,
-%|paper|, |orient|, and |display| keys that are described in
-%section~\ref{sec:classopts}. If a value (or values!) for any of
-%these four keys is not specified in a |ifsetup| declaration, then
-%all subsequent key declarations will apply to any layout of that
-%type. Consider the following as an example.
-%\begin{example}[numbers=left,numberstyle=\tiny\ttfamily,%
-% escapeinside=`',numbersep=1em,xleftmargin=1em]
-% ...
-% textpos={.2\slidewidth,.3\slideheight},%
-% ifsetup={portrait,screen},%
-% textpos={.3\slidewidth,.2\slideheight}%
-% ...
-% ifsetup=landscape,%
-% ...
-% ifsetup,
-% ...
-%\end{example}
-%Assuming there was no |ifsetup| declaration before the first
-%|textpos| declaration, this first |textpos| will apply to every
-%possible setup. However, for the screen format in portrait
-%orientation, the next |textpos| declaration will be used. In fact,
-%all declarations that appear until we switch to the next |ifsetup|
-%(which specifies all paper sorts and only landscape orientation)
-%will be used in the portrait screen layout. All keys after the next
-%|ifsetup| declaration will be used in landscape orientation,
-%\emph{with any paper, mode and display}. If, after declaring some
-%specializations, you want to switch back to settings that apply to
-%all possible setups, set |ifsetup| to empty as is done in the
-%example. All subsequent declarations will then again be applied
-%under any setup.
-%
-%The following command is a stand-alone implementation of the
-%mechanism described above. It allows you to control the setup
-%outside the \meta{options} argument of the |\pddefinetemplate|
-%command.
-%\begin{command}
-% `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}'
-%\end{command}
-%\DescribeMacro{\pdifsetup}
-%This macro executes \meta{true} when the setup that the user chose
-%matches with the \meta{desired} setup, \meta{false} in all other cases.
-%For instance, if the user has chosen landscape, then
-%\begin{example}
-% \pdifsetup{landscape}{yes}{no}
-%\end{example}
-%will typeset |yes|. If the user would have chosen portrait instead,
-%then |no| would have been typeset.
-%
-%This macro can be used to check setup requests from the user and,
-%for instance, generate an error if a certain setup is not supported
-%by your style. \pf{powerdot} provides one predefined error message
-%which can be used in one of the first lines of your style.
-%\begin{command}
-% `\cs{pd@noportrait}'
-%\end{command}
-%\DescribeMacro{\pd@noportrait}
-%This macro generates an error when the user requests portrait
-%orientation. Notice that the handout mode only works in portrait
-%orientation. This macro takes that into account and doesn't generate
-%an error in the case that the user requested a handout.
-%
-%\subsection{Main components}\label{sec:maincomps}
-%The \meta{options} control several key components of a slide. Every
-%component has several properties. A key that can be used in the
-%\meta{options} argument is the name of the component postfixed by
-%its property that you want to control.
-%
-%The components |title|, |text|, |toc|, |stoc| and |ntoc| have
-%properties |hook|, |pos|, |width| and |font|. Additionally, the
-%|text| component has a |height| property. The components |lf|, |cf| and
-%|rf| have properties |hook|, |pos|, |temp| and |font|. Hence,
-%examples of valid keys are |titlefont|, |tocpos| and |lftemp|. All
-%components and properties will be discussed below.
-%
-%Here is an overview of the components that can be controlled from
-%the \meta{options} argument in |\pddefinetemplate|.
-%\begin{description}
-%\item\DescribeOption{title-}\option{title-}\\
-%The slide title.
-%\item\DescribeOption{text-}\option{text-}\\
-%The main text box on the slide.
-%\item\DescribeOption{toc-}\option{toc-}\\
-%The (full) table of contents on a slide containing sections and
-%slides.
-%\item\DescribeOption{stoc-}\option{stoc-}\\
-%This is a table of contents containing only the sections. See also
-%|ntoc| below.
-%\item\DescribeOption{ntoc-}\option{ntoc-}\\
-%This is a table of contents containing only the entries for the
-%active section. Together with |stoc|, this can be used to create a
-%split table of contents. In a particular template, one would usually
-%have a |toc|, a combination of |stoc| and |ntoc| or no table of
-%contents at all.
-%\item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\
-%The left, center and right footers.
-%\end{description}
-%
-%Notice that all positioning of components described above will be
-%done with |\rput| from \pf{pstricks} \cite{PSTricksWeb,PSTricks}
-%internally. See the \pf{pstricks} documentation for more information
-%about this command. It should also be noted that all components
-%(except |lf|, |cf| and |rf|) put their content in a |minipage|
-%environment.
-%
-%Now we list all properties of the components listed above and
-%describe what they mean. Remember that keys are formed by combining
-%a component name and a property.
-%
-%\begin{description}
-%\item\DescribeOption{-hook}\option{-hook}\\
-%This option defines the |\rput| hook that will be used when
-%positioning the item. This can be |tl|, |t|, |tr|, |r|, |Br|, |br|,
-%|b|, |bl|, |Bl|, |l|, |B| and |c|. See the \pf{pstricks}
-%documentation for more information.
-%\item\DescribeOption{-pos}\option{-pos}\\
-%This defines the position of the |hook| on the paper. The lower left
-%corner of the paper is given by the point |{0,0}| and the upper right
-%corner by the point |{\slidewidth,\slideheight}|. So if you want to
-%position the main text box at 20\% from the left edge and 30\% from
-%the top edge of the paper, you have to do the following.
-%\begin{example}
-% textpos={.2\slidewidth,.7\slideheight}
-%\end{example}
-%If the position of any component has not been specified, this
-%component will not be placed on the slide. This gives an opportunity
-%to design slides without footers or table of contents, for instance.
-%\item\DescribeOption{-width}\option{-width}\\
-%The width of the component. All component positioned by
-%\pf{powerdot} will be put in a surrounding |minipage| environment.
-%The |width| property determines the width of the |minipage|. Example:
-%\begin{example}
-% textwidth=.7\slidewidth
-%\end{example}
-%This property does not exist for the |lf|, |cf| and |rf| components.
-%\item\DescribeOption{-height}\option{-height}\\
-%This option is only available for the |text| component. In other
-%words, for this property, there is only one key, namely
-%|textheight|. This can be used to specify the height of the
-%|minipage| used for the main text. This does not imply that users
-%are restricted to this length or that \pf{powerdot} does automatic
-%slide breaking. This height is only used for vertical alignments of
-%material, for instance by footnotes. The preset value is
-%|\slideheight|.
-%\item\DescribeOption{-font}\option{-font}\\
-%This will be inserted just before the text that is about to be
-%typeset. This can be used to declare deviations from the main text
-%font and color. It can be a font declaration, like
-%|\large\bfseries|, but can also contain other things like
-%|\color{red}| or |\raggedright|.
-%\item\DescribeOption{-temp}\option{-temp}\\
-%This property is only available for the footers (|lf|, |cf| and |rf|) and
-%can be used to change the template of the footers. This means that
-%you can, for instance, add content to the footer, besides the
-%content specified by the user. The default declaration by
-%\pf{powerdot} is the following.
-%\begin{example}
-% rftemp=\pd@@rf\ifx\pd@@rf\@empty
-% \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide
-%\end{example}
-%Here |\pd@@rf| will contain the content of the right footer defined
-%by the user via the |\pdsetup| command. Similarly, |\pd@@lf|
-%contains the content of the left footer. The above declaration
-%checks whether the footer and |\theslide| are both non-empty and if
-%so, it inserts | -- | to separate both.
-%\item\DescribeOption{-orient}\option{-orient}\\
-%This property is only available for the |toc|, |stoc| and |ntoc|
-%components. This property can be |h| or |v| and determines the
-%orientation of the table of contents. The preset is |v|. See
-%also section~\ref{sec:slidetoc} for more information about the
-%construction of the table of contents.
-%\end{description}
-%
-%\subsection{Slide toc}\label{sec:slidetoc}
-%The small table of contents that is placed on slides can be
-%controlled by four macros and several options.
-%
-%\DescribeMacro{\pd@tocslide}
-%\DescribeMacro{\pd@tocsection}
-%These macros take one argument. When building the table of contents,
-%\pf{powerdot} first passes the content through |\pd@tocslide| or
-%|\pd@tocsection|, depending on the type of entry that it is building
-%at that moment. You could, for instance, do
-%\begin{example}
-% \def\pd@tocslide#1{$\bullet$\ #1}
-% \def\pd@tocsection#1{#1}
-%\end{example}
-%which will prefix all normal entries (not the sections) with a
-%bullet. By default, these two macros are defined to just pass on
-%their argument.
-%
-%\DescribeMacro{\pd@tocdisplay}
-%\DescribeMacro{\pd@tochighlight}
-%These two macros also take one argument. After processing an entry
-%with the command |\pd@tocslide| or |\pd@tocsection|, \pf{powerdot}
-%continues building the entry by passing it through |\pd@tocdisplay|,
-%when the entry needs to be displayed only, or |\pd@tochighlight|,
-%when the entry needs to be highlighted. These macros are a little
-%more involved and take care of putting the content in the proper
-%font and color in a |minipage|. Further, |\pd@tochighlight| also
-%puts a box around the item.
-%
-%Notice, that by default, both the separate table of contents entries
-%as well as the table of contents as a whole are typeset in
-%|minipage| environments by these macros, in case the table of
-%contents is vertical. The |-width| properties then determines the
-%width of the table of contents and, together with |tocsecindent| and
-%|tocslideindent| (see below) the width of the individual entries. If
-%it is horizontal, only the separate entries will be in |minipage|s
-%and the table of contents itself not and the |-width| properties
-%determine only the width of the individual entries (together with
-%|tocsecindent| and |tocslideindent|).
-%
-%Several aspects of the process of generating the table of contents
-%can be controlled via the keys that are available in the
-%|\pddefinetemplate| command that will be described below. If these
-%keys do not provide enough handles to do what you want, you might
-%need to have a look at the two macros in the source and decide to
-%rewrite them in your style as to fit your needs. An example can be
-%found in the \pf{fyma} style.
-%
-%\begin{description}
-%\item\DescribeOption{tocfrsep}\option{tocfrsep}\\
-%This length is the distance between the box around the content
-%created by the |minipage| and the highlight frame box created by
-%|\pd@tochighlight|. Preset: |0.5mm|.
-%\item\DescribeOption{tocsecsep}\option{tocsecsep}\\
-%The distance inserted before a section (unless it is the
-%first element in the table of contents). Preset: |2ex|.
-%Notice that if the orientation of the table of contents is set to
-%vertical, this length creates a vertical skip, otherwise, it creates
-%a horizontal skip.
-%\item\DescribeOption{tocslidesep}\option{tocslidesep}\\
-%The distance inserted before other entries (unless it is the
-%first element in the table of contents). Preset: |0ex|. Like
-%|tocsecsep|, the effect of this length depends on the orientation of
-%the table of contents.
-%\item\DescribeOption{tocsecindent}\option{tocsecindent}\\
-%The horizontal space left to a section entry. Preset: |0pt|.
-%\item\DescribeOption{tocslideindent}\option{tocslideindent}\\
-%The horizontal space left to a slide entry. The horizontal skip will
-%not be inserted left to slide entries that appear before the first
-%section. Preset: |0pt|.
-%\item\DescribeOption{tocsecm}\option{tocsecm}\\
-%This is inserted just before typesetting a section. This can be used
-%to mark a section, for instance with a line as in the \pf{default}
-%style. Preset: empty.
-%\item\DescribeOption{toctcolor}\option{toctcolor}\\
-%This is the text color used for non-highlighted elements in the
-%table of contents. Preset: |black|.
-%\item\DescribeOption{tochltcolor}\option{tochltcolor}\\
-%This is the text color used for highlighted elements in the table of
-%contents. Preset: |white|.
-%\item\DescribeOption{tochlcolor}\option{tochlcolor}\\
-%This is the color used for the frame behind highlighted elements.
-%Preset: |black|.
-%\end{description}
-%
-%\subsection{Miscellaneous options}\label{sec:miscoptions}
-%There are some options that fall outside of the scope of the previous
-%sections. These will be discussed here.
-%
-%\begin{description}
-%\item\DescribeOption{iacolor}\option{iacolor}\\
-%The |iacolor| option can be used to specify the color that is used
-%for inactive things, produced for instance by |\onslide|, |\pause|
-%(see section~\ref{sec:overlays}) and |\tableofcontents| (see
-%section~\ref{sec:tableofcontents}). As \pf{xcolor} is used by
-%\pf{powerdot}, one can use special notation here, like
-%\begin{example}
-% iacolor=black!20
-%\end{example}
-%The preset value for this key is |lightgray|.
-%\end{description}
-%
-%The following options control the digital clock (see
-%section~\ref{sec:classopts}). The clock is a form text field with
-%dynamic content, driven by a javascript via \pf{hyperref} text
-%fields. Some options for the clock work similarly as for, for
-%instance, the title component, but there are also special options.
-%\begin{description}
-%\item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\
-%These work in the same way as the |-hook| and |-pos| properties
-%discussed in section~\ref{sec:maincomps}. The preset value of
-%|clockhook| is |tr|.
-%\item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\
-%These control the width and height of the text field containing the
-%clock. Preset values come from \pf{hyperref} and are |3cm| and
-%|\baselineskip|, respectively.
-%\item\DescribeOption{clockcharsize}\option{clockcharsize}\\
-%The size of characters of the clock. Preset: |14pt|.
-%\item\DescribeOption{clockalign}\option{clockalign}\\
-%The alignment of the clock in the text field. |0| is left-aligned,
-%|1| is centered and |2| is right aligned. Preset is |2|.
-%\item\DescribeOption{clockcolor}\option{clockcolor}\\
-%This determines the text color of the clock. The value should be a
-%named color. The preset value is |black|.
-%\end{description}
-%
-%\subsection{Template presets}
-%Below, we have copied the preset setting for the keys described
-%above. These will be used if you didn't supply other input for these
-%keys in a particular template. If the preset value meets your
-%needs, you don't have to specify it again in your style.
-%\begin{example}
-% titlehook=Bl,titlepos=,titlewidth=\slidewidth,
-% titlefont=\raggedright,texthook=tl,textpos=,
-% textwidth=\slidewidth,textfont=\raggedright,
-% textheight=\slideheight,
-% tochook=tl,tocpos=,tocwidth=.2\slidewidth,
-% tocfont=\tiny\raggedright,
-% stochook=tl,stocpos=,stocwidth=.2\slidewidth,
-% stocfont=\tiny\raggedright,
-% ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth,
-% ntocfont=\tiny\raggedright,
-% tocorient=v,stocorient=v,ntocorient=v,
-% tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex,
-% tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white,
-% tocsecindent=0pt,tocslideindent=0pt,
-% lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf,
-% cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf,
-% rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf
-% \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide,
-% iacolor=lightgray,
-% clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip,
-% clockcharsize=14pt,clockalign=2,clockcolor=black
-%\end{example}
-%
-%\subsection{The background}\label{sec:defbg}
-%This leaves only one argument of the |\pddefinetemplate| macro
-%undiscussed. This is the \meta{commands} argument. This argument can
-%contain any code that you want to execute \textit{after} setting the
-%options and \textit{before} building the slide components like the
-%slide title, main text, and footers. This argument is designed to
-%contain declarations that will build the background of a template
-%using, for instance, \pf{pstricks}, but it can also hold other
-%commands you might need for building your template.
-%
-%Important to notice is that these commands may not create \TeX\
-%material as that might destroy the construction of the slide. So, if
-%you want to place the word `Hello' in the bottom left corner of the
-%slide, don't type `Hello', but make its width, height and depth
-%equal to zero, for instance by using \pf{pstricks}' |\rput|.
-%\begin{example}
-% \rput[bl](0,0){Hello}
-%\end{example}
-%
-%\subsection{Title slide, titles and sections}\label{sec:specialtemps}
-%As mentioned before, the style that you write needs to define at
-%least the templates |slide| and |titleslide|. The latter treats some
-%of the keys in a special way. Besides, a section slide is also done
-%in a special way.
-%
-%The title slide (made with |\maketitle|) puts the title with
-%author(s) and date in the main text box. This means that you have to
-%supply a position for the main text box (|textpos|). It will use the
-%main text font for the text (together with declarations in the
-%|textfont| key) for the author(s) and the date. But it will use the
-%declarations in |titlefont| for the title of the presentation. This
-%is done so that title and author(s) form a coherent block and to
-%make sure that long titles can push down the author(s) instead of
-%overwriting it.
-%
-%\DescribeMacro{\pd@slidetitle}
-%The |\pd@slidetitle| macro is used to typeset the slide title on
-%slides. This macro is comparable to for instance |\pd@tocslide|. The
-%macro takes one argument which is the slide title in the right font
-%and formatting. By default, this macro just passes on the content
-%for typesetting, but you could redefine this macro so do something
-%with its input prior to typesetting it. An example is in the
-%\pf{fyma} style which underlines the title after putting it in a
-%|minipage| to support multi line titles.
-%
-%\DescribeMacros{\pd@title,\pd@sectiontitle}
-%These macros are similar to |\pd@slidetitle| and typeset the title
-%on the title slide and the title on section slides respectively. By
-%default, these also pass there argument (which is the presentation
-%title or section title), but these can be redefined to do something
-%with the input prior to typesetting it, just as |\pd@slidetitle|.
-%
-%\DescribeOptions{sectemp,widesectemp}
-%The |\section| command uses (by default) the |slide| environment and
-%puts the section title in the title box with font |titlefont|. If
-%you want to change the default use of the |slide| environment for
-%sections to, for instance, the |sectionslide| environment or any
-%other especially designed section template, change the section
-%template preset in your style, using
-%\begin{example}
-% \setkeys[pd]{section}{sectemp=sectionslide}
-%\end{example}
-%This means that if the user asks for |template=slide| in the
-%|\section| command, the |sectionslide| environment will be used
-%silently. To avoid surprises, |sectionslide| should preferably be
-%based on the |slide| environment.
-%
-%A similar option is available in case the user asks for
-%|template=wideslide|. One could for instance do the following.
-%\begin{example}
-% \setkeys[pd]{section}{widesectemp=sectionwideslide}
-%\end{example}
-%Whenever the user requests a |wideslide| to be used for a
-%|\section|, instead, the |sectionwideslide| environment will be
-%used. Other input to the |template| key by the user does not get a
-%special treatment.
-%
-%Notice that these keys are available in the |section| family of keys
-%and that you cannot use them in the |\pddefinetemplate| command.
-%
-%\subsection{Testing the style}\label{sec:styletest}
-%\pf{powerdot} has a test file that should test most of the style.
-%This test file can be produced by running \LaTeX\ over
-%|powerdot.dtx|. This generates |powerdot-styletest.tex| which will
-%help you with the testing job. Feel free to contact us when you
-%would like to contribute your style to \pf{powerdot}. See also
-%section~\ref{sec:questions}.
-%
-%\section{Using \LyX\ for presentations}\label{sec:lyx}
-%\LyX\ \cite{LyXWeb} is a WYSIWYM (What You See Is What You Mean)
-%document processor based on \LaTeX. It supports standard \LaTeX\
-%classes but needs special files, called layout files, in order to
-%support non-standard classes such as \pf{powerdot}.
-%
-%To start using \LyX\ for \pf{powerdot} presentations, copy the
-%layout file |powerdot.layout| to the \LyX\ layout directory. You can
-%find this file in the doc tree of your \LaTeX\ installation:
-%\url{texmf/doc/latex/powerdot}. If you can't find it there, download
-%it from \url{CTAN:/macros/latex/contrib/powerdot}. Once that is
-%done, reconfigure \LyX\ (\texttt{Edit\LyXarrow Reconfigure} and
-%restart \LyX\ afterwards). Now you can use the \pf{powerdot}
-%document class as any other supported class. Go to
-%\texttt{Layout\LyXarrow Document} and select \texttt{powerdot
-%presentation} as document class. For more information, see the \LyX\
-%documentation, which is accessible from the |Help| menu.
-%
-%\subsection{How to use the layout}
-%The \pf{powerdot} \LyX\ layout provides some environments\footnote{Don't
-%confuse these with \LaTeX\ environments.} which can be used in \LyX.
-%Some of these environments (for instance |Title| or |Itemize|) are
-%natural to use since they exist also in the standard document
-%classes such as \pf{article}. For more information on these standard
-%environments, see the \LyX\ documentation.
-%
-%This section will explain how to use the \pf{powerdot} specific
-%environments |Slide|, |WideSlide|, |EmptySlide| and |Note|. These
-%environments correspond to the \pf{powerdot} environments |slide|,
-%|emptyslide|, |wideslide| and |note|.
-%
-%We start with a simple example. The following \LaTeX\ code
-%\begin{example}
-% \begin{slide}{Slide title}
-% Slide content.
-% \end{slide}
-%\end{example}
-%can be obtained using the following \LyX\ environments. The right
-%column represents the text typed into the \LyX\ window and the left
-%column represents the environment applied to this text).
-%\begin{example}
-% Slide Slide title
-% Standard Slide content.
-% EndSlide
-%\end{example}
-%Some remarks concerning this example.
-%\begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt]
-%\item You can use the environment menu (under the menu bar, top-left
-%corner) to change the environment applied to text.
-%\item The slide title should be typed on the line of the |Slide|
-%environment.
-%\item |EndSlide| finishes the slide and its line is left blank.
-%\end{itemize}
-%
-%In the \LyX\ window, the |Slide| environment (that is, the slide
-%title) is displayed in magenta, the |WideSlide| style in green, the
-%|EmptySlide| style in cyan and the |Note| style in red and hence
-%these are easily identifiable.
-%
-%Here is another example.
-%\begin{example}
-% \begin{slide}{First slide title}
-% The first slide.
-% \end{slide}
-% \begin{note}{First note title}
-% The first note, concerning slide 1.
-% \end{note}
-% \begin{slide}{Second slide title}
-% The second slide.
-% \end{slide}
-%\end{example}
-%This can be done in \LyX\ in the following way.
-%\begin{example}
-% Slide First slide title
-% Standard The first slide.
-% Note First note title
-% Standard The first note, concerning slide 1.
-% Slide Second slide title
-% Standard The second slide.
-% EndSlide
-%\end{example}
-%This example demonstrates that it is often sufficient to insert the
-%|EndSlide| style after the last slide or note only. Only when you
-%want certain material not to be part of a slide, you need to finish
-%the preceding slide manually using the |EndSlide| style. Example:
-%\begin{example}
-% Slide First slide title
-% Standard The first slide.
-% EndSlide
-% [ERT box with some material]
-% Slide Second slide title
-% ...
-%\end{example}
-%
-%Options can be passed to slide environments by using
-%\texttt{Insert\LyXarrow Short title} in front of the slide title.
-%The following example uses the |direct| method (see
-%section~\ref{sec:verbatim}) in the short title argument (delimited by
-%square brackets) to allow for a |lstlisting| environment (defined by
-%the \pf{listings} package) within the slide content.
-%\begin{example}
-% Slide [method=direct]Example of LaTeX source code
-% Standard Here's the \HelloWorld command:
-% [ERT box:
-% \lstset{language=[LaTeX]TeX}
-% \begin{lstlisting}
-% \newcommand{\HelloWorld}{Hello World!}
-% \end{lstlisting}
-% ]
-% EndSlide
-%\end{example}
-%Note that you are not obliged to use a |verbatim| environment to
-%type the |\HelloWord| text into the \LyX\ window because \LyX\
-%directly supports standard verbatim.\footnote{\LyX\ translates
-%special characters into their corresponding \LaTeX\ command. For
-%instance, the backslash character is translated into
-%\cs{textbackslash{}}. Resulting, the font is not the same as in true
-%verbatim and you might want to change that via the
-%\texttt{Layout\LyXarrow Character} dialog.} Consequently, the use of
-%the slide processing methods |direct| and |file| is not necessary
-%when you need standard verbatim, but it is necessary when doing more
-%advanced things, like in the example above.
-%
-%\subsection{Support of syntax}
-%This section lists options, commands and environments that are
-%supported through the \LyX\ interface directly, without using an ERT
-%box (\TeX-mode).
-%
-%All class options (see section~\ref{sec:classopts}) are supported
-%via the \texttt{Layout\LyXarrow Document} dialog (|Layout| pane).
-%Options for the |\pdsetup| command (see section~\ref{sec:setup})
-%should be specified in the |Preamble| pane of the
-%\texttt{Layout\LyXarrow Document} dialog.
-%
-%Table \ref{tab:lyxcommands} lists the \pf{powerdot} commands that
-%are supported in \LyX.
-%\begin{table}[htb]
-%\centering
-%\begin{tabular}{f}
-%Command & Method in \LyX\\\hline
-%\cs{title} & Use \texttt{Title} environment.\\
-%\cs{author} & Use \texttt{Author} environment.\\
-%\cs{date} & Use \texttt{Date} environment.\\
-%\cs{maketitle} & Managed directly by \LyX.\\
-%\cs{section} & Use the \texttt{Section} environment. Options to this
-%command (see section~\ref{sec:section}) can be specified using
-%\texttt{Insert\LyXarrow Short title} in front of the section title.\\
-%\cs{tableofcontents} & Use \texttt{Insert\LyXarrow Lists \&
-%TOC\LyXarrow Table of contents}. You will need an ERT box if you
-%want to use the optional argument, see below.
-%\end{tabular}
-%\caption{Supported \pf{powerdot} commands in \LyX}\label{tab:lyxcommands}
-%\end{table}
-%Table \ref{tab:lyxenvs} lists the \pf{powerdot} environments that,
-%besides the earlier discussed |slide|, |wideslide|, |note| and
-%|emptyslide| environments, are supported in \LyX.
-%\begin{table}[htb]
-%\centering
-%\begin{tabular}{f}
-%Environment & Method in \LyX\\\hline
-%\texttt{itemize} & Use \texttt{Itemize} and \texttt{ItemizeType1}
-%environments. The latter will create a list with |type=1| (see
-%section~\ref{sec:lists}).\\
-%\texttt{enumerate} & Use \texttt{Enumerate} and
-%\texttt{EnumerateType1} environments.\\
-%\texttt{thebibliography} & Use \texttt{Bibliography} environment.
-%\end{tabular}
-%\caption{Supported \pf{powerdot} environments in \LyX}\label{tab:lyxenvs}
-%\end{table}
-%Table \ref{tab:lyxERT} lists commands that can only be done by using
-%an ERT box (via \texttt{Insert\LyXarrow TeX}).
-%\begin{table}[ht]
-%\centering
-%\begin{tabular}{f}
-%Command & Method in \LyX\\\hline
-%\cs{and} & Within \texttt{Author} environment.\\
-%\cs{pause} & \\
-%\cs{item} & An ERT box is only required for the optional argument,
-%not mandatory for overlays specifications.\\
-%\cs{onslide} & And the versions \cs{onslide+} and \cs{onslide*}.\\
-%\cs{twocolumn} & \\
-%\cs{tableofcontents} & Only when using the optional argument.
-%\end{tabular}
-%\caption{\pf{powerdot} commands needing an ERT box in \LyX}\label{tab:lyxERT}
-%\end{table}
-%Note that you may use the clipboard in order to repeat often used
-%commands like |\pause|. Finally, table \ref{tab:lyxadd} lists
-%additional commands and environments that are supported by the layout.
-%\begin{table}[htb]
-%\centering
-%\begin{tabular}{f}
-%Env./Command & Method in \LyX\\\hline
-%\texttt{quote} & Use \texttt{Quote} environment.\\
-%\texttt{quotation} & Use \texttt{Quotation} environment.\\
-%\texttt{verse} & Use \texttt{Verse} environment.\\
-%\cs{caption} & Use \texttt{Caption} environment within standard
-%float environments.
-%\end{tabular}
-%\caption{Additional environments for \LyX}\label{tab:lyxadd}
-%\end{table}
-%
-%\subsection{Compiling with \LyX}
-%First of all, make sure that you have also read
-%section~\ref{sec:compiling}. Then, in order to get a proper
-%PostScript or PDF file, you have to set your \LyX\ document
-%properties depending on which paper and orientation you want. When
-%your \LyX\ document is open, go to the \texttt{Layout\LyXarrow
-%Document} dialog. In the \texttt{Layout} pane, put the |nopsheader|,
-%|orient| and |paper| keys as class options (see
-%section~\ref{sec:classopts} for a description). Then, go to the
-%|Paper| pane and select corresponding paper size and orientation
-%(you may choose |letter| paper in the case you set |paper=screen| in
-%the class options). Finally, go to the |View| (or
-%\texttt{File\LyXarrow Export}) menu and select your output
-%(PostScript or PDF).
-%
-%\subsection{Extending the layout}
-%If you have created a custom style (see section~\ref{sec:writestyle})
-%which defines custom templates, you may want to extend the layout
-%file\footnote{The LPPL dictates to rename a file if you modify it as
-%to avoid confusion.} so that these templates are also supported in
-%\LyX. The explanation below assumes that you have defined a template
-%called |sunnyslide|.
-%
-%To support this new template in \LyX, you have to use the following
-%command.
-%\begin{command}
-% `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}'
-%\end{command}
-%\DescribeMacro{\pddefinelyxtemplate}
-%This will define the control sequence \meta{cs} such that it will
-%create a slide with template \meta{template} (which has been defined
-%using |\pddefinetemplate|. This new control sequence can be used in
-%the layout file as follows.
-%\begin{example}
-% # SunnySlide environment definition
-% Style SunnySlide
-% CopyStyle Slide
-% LatexName lyxend\lyxsunnyslide
-% Font
-% Color Yellow
-% EndFont
-% Preamble
-% \pddefinelyxtemplate\lyxsunnyslide{sunnyslide}
-% EndPreamble
-% End
-%\end{example}
-%Note that you must begin the |LatexName| field with |lyxend|. The
-%definition of the \LyX\ template has been inserted in between
-%|Preamble| and |EndPreamble| which assures that the new \LyX\
-%environment will work in every presentation. After modifying the
-%layout file, don't forget to restart \LyX. See for more information
-%about creating \LyX\ environments, the documentation of \LyX\ in the
-%|Help| menu.
-%
-%\section{Questions}\label{sec:questions}
-%\subsection{Frequently Asked Questions}\label{sec:FAQ}
-%This section is devoted to Frequently Asked Questions. Please read
-%it carefully; your problem might be solved by this section.
-%\begin{itemize}[leftmargin=0pt]
-%\question
-%Does \pf{powerdot} have example files? Where can I find them?
-%\answer
-%\pf{powerdot} comes with several examples that should be in the doc
-%tree of your \LaTeX\ installation. More precisely:
-%\url{texmf/doc/latex/powerdot}. If you can't find them there,
-%download them from \url{CTAN:/macros/latex/contrib/powerdot}
-%\cite{CTAN}.
-%\question I'm getting errors or unexpected output when compiling
-%the simplest example!
-%\answer Did you read section~\ref{sec:compiling}?
-%\question I made a typo in the slide code, ran the file, got an
-%error, corrected the typo and reran, but now get an error that
-%doesn't go away.
-%\answer Remove the |.bm| and |.toc| files and try again.
-%\question |\pause| does not work in the |align|\footnote{There are
-%several environments doing similar things as \texttt{align}. Another
-%example is the \texttt{split} environment, but more (often from the
-%\pf{amsmath} package) can cause similar trouble for \cs{pause}.}
-%environment.
-%\answer |align| does several tricky things, which make it impossible
-%to use |\pause|. Use |\onslide| instead. See
-%section~\ref{sec:onslide}.
-%\question My \pf{pstricks} nodes appear on all overlays. Also: color
-%doesn't seem to work with |\onslide|.
-%\answer Some PostScript tricks like nodes and color do not work with
-%|\onslide|. Use |\onslide*| instead. See an example below.
-%\begin{example}
-% \documentclass{powerdot}
-% \usepackage{pst-node}
-% \begin{document}
-% \begin{slide}{Color}
-% \onslide*{2}{\cnode(0,-5pt){2pt}{A}}
-% This is {\onslide*{2-}{\color{red}} red} text.
-% \onslide*{2}{\cnode(0,-5pt){2pt}{B}}
-% \onslide{2}{\ncline{A}{B}}
-% \end{slide}
-% \end{document}
-%\end{example}
-%\question Do I need to edit style files to change a style a bit?
-%\answer No, you do not need to edit any style file. You can change
-%any part of a certain style using the |\pddefinetemplate| and
-%|\pddefinepalettes| commands. Here is an example that removes the
-%left and right footers from the \pf{default} style, places the slide
-%number in the center footer and adds another palette.
-%\begin{example}
-% \documentclass{powerdot}
-% \pddefinetemplate[slide]{slide}{
-% lfpos=,rfpos=,cftemp=\theslide
-% }{}
-% \pddefinepalettes{mypalette}{
-% \definecolor{pdcolor1}{rgb}{.27,.31,.44}
-% \definecolor{pdcolor2}{rgb}{.85,.85,.92}
-% \definecolor{pdcolor3}{rgb}{.8,.75,.98}
-% }
-% \pdsetup{palette=mypalette}
-% \begin{document}
-% \begin{slide}{Title}
-% \end{slide}
-% \end{document}
-%\end{example}
-%See section~\ref{sec:writestyle} for more information about these
-%two commands.
-%\question Can I contribute to this project?
-%\answer
-%Certainly. If you find bugs\footnote{Make sure that you confirm that
-%the bug is really caused by \pf{powerdot} and not by another package
-%that you use.} or typos, please send a message to the mailinglist
-%(see section~\ref{sec:mailinglist}). If you have developed your own
-%style that is distinct from existing styles and would like to see it
-%included in \pf{powerdot}, please inform us by private e-mail and we
-%will consider your contribution. Notice that included contributions
-%will fall under the overall \pf{powerdot} license and copyright
-%notice, but that your name will be included in the documentation
-%when you make a contribution. This is done to guarantee that we can
-%adapt files if maintenance is needed.
-%\question Hyperlinks in the presentation seem off by 1 page.
-%\answer This might happen in particular PDF viewers when using
-%|paper=smartboard| in combination with continuous view. Use page
-%by page view instead.
-%\end{itemize}
-%
-%If your question has not been answered at this point, advance to the
-%next section to read where to find more answers.
-%
-%\subsection{Mailinglist}\label{sec:mailinglist}
-%\pf{powerdot} has a mailinglist from \url{freelists.org} and has its
-%website here:
-%\begin{center}
-%\url{http://www.freelists.org/list/powerdot}
-%\end{center}
-%There is a link to `List Archive'. Please search this archive before
-%posting a question. Your problem might already have been solved in
-%the past.
-%
-%If that is not the case, use the box on the page to type your e-mail
-%address, choose the action `Subscribe' and click `Go!'. Then follow
-%the instructions that arrive to you by e-mail. At a certain moment,
-%you can login for the first time using an authorization code sent to
-%you by e-mail. After logging in, you can create a password for
-%future sessions using the `Main Menu' button. The other buttons
-%provide you some info and options for your account.
-%
-%When you are all set, you can write to the list by sending an e-mail
-%to
-%\begin{center}
-%\url{powerdot [at] freelists [dot] org}
-%\end{center}
-%
-%When writing to the list, please keep in mind the following very
-%important issues.
-%\begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt]
-%\item We are volunteers!
-%\item Keep your questions related to \pf{powerdot}.
-%\item Always supply a \emph{minimal} example demonstrating your
-%problem.
-%\item Don't send big files over the list.
-%\end{enumerate}
-%
-%We hope you will enjoy this service.
-%
-%\section{Source code documentation}\label{sec:source}
-%In case you want regenerate the package files from the source or
-%want to have a look at the source code description, locate
-%|powerdot.dtx|, search in the file for |\OnlyDescription| and remove
-%that and do
-%\begin{example}
-% latex powerdot.dtx
-% latex powerdot.dtx
-% bibtex powerdot
-% makeindex -s gglo.ist -o powerdot.gls powerdot.glo
-% makeindex -s gind.ist -o powerdot.ind powerdot.idx
-% latex powerdot.dtx
-% latex powerdot.dtx
-%\end{example}
-%
-%\StopEventually{}
-%
-%\section{Implementation}\label{sec:imple}
-%\subsection{General construction}
-%This section explains the general idea of the class, how paper
-%dimensions are chosen and how slides are created. We start with the
-%paper.
-%
-%This class uses the same idea as \pf{prosper} and \pf{HA-prosper},
-%namely that we create a background with \pf{pstricks} and position
-%text on it using |\rput| and some |minipage| environments. This is
-%easier than writing a dedicated output routine that can handle all
-%the material, but doesn't break pages when we don't want that. So,
-%when starting to write the class, we first investigated how to deal
-%with landscape slides and paper dimensions.
-%
-%The job of making landscape slides can be done using \pf{geometry}.
-%The paper dimension was more of a problem. As \LaTeX\ doesn't have
-%the huge fonts that we need for presentations, we need to scale the
-%usual fonts somehow. This could be done by using unusual paper
-%dimensions (as \pf{beamer} does) and hence relying on ps2pdf to cut
-%off all the redundant material. But this doesn't produce a usable
-%DVI or PS file. Instead, it was chosen to use DVI magnification. The
-%entire slide is magnified by a factor of 2 and only the top left
-%quarter of the paper is used (but you will never notice that due to
-%the magnification). As we already decided to place all material in
-%|minipage|s using |\rput|, we didn't need the page anymore and it
-%was easiest to use \pf{geometry} to just remove the page margins
-%altogether so that the bottom left corner would be |(0,0)| and the
-%top right corner |(\slidewidth,\slideheight)|.
-%
-%One extra remark on the paper type is necessary. We found that most
-%common configurations of dvips use the |A4size| code when A4
-%dimensions are found. This code doesn't write an explicit PostScript
-%paper command in the PS document and hence programs using this PS
-%(like ps2pdf) don't know what paper to use and revert to the
-%default, which is letter paper in most cases. This, of course, is
-%something that we don't want and hence, \pf{powerdot} will write
-%these commands to the PS itself as to guarantee proper post
-%processing of the PS.
-%
-%Now that we made the decisions on how to create proper DVI, PS and
-%PDF output, the next task was to create an easy interface to
-%overlays. To avoid counting the overlays as is necessary with
-%\pf{prosper}, we implemented a system that first collects the entire
-%body of an environment in a macro which can be reused multiple
-%times. During execution of the body, the overlay commands like
-%|\onslide| will keep a record of the biggest number that they find
-%and that is the number of overlays to produce. Getting the body of
-%the environment is done by collecting all material up to the next
-%|\end| occurrence. If that control sequence has the proper argument
-%(namely the slide that we started with), then we stop scanning and
-%start processing the slide. With normal use, you will not notice
-%this, but when doing special tricks like hiding |\end{slide}| in a
-%macro, the process will fail as it relies on finding |\end{slide}|
-%in the input stream without doing expansions. Often a work around
-%can be found though. Have a look for instance at how |\section|
-%creates a slide.
-%
-%The next task was to provide a simple way to create templates. As
-%the class is based on the idea of having a background with some
-%material spread out over it, the template system follows this idea.
-%One argument can be used to create the background, the other
-%argument controls, via keys and options, several properties of the
-%material that should be placed. By adding an |ifsetup| key, full
-%control could be gained over the design of the template in every
-%possible setup chosen by the user.
-%
-%The final task for the class was to fill in all the `details'. All
-%the mechanisms were present, but sometimes they should not be
-%active. For instance, overlays should not be created in handout
-%mode. Other things to add to the class were counter protection on
-%overlays, handles to the layout of the slide number, footnotes, a
-%bibliography environment, empty slides, etcetera.
-%
-%We hope that this section has made clear a little bit what you will
-%be seeing when reading the next section with coding and why we chose
-%to do it this way.
-%
-% \subsection{The code}
-% \begin{macrocode}
-%<*powerdot>
-% \end{macrocode}
-% Identification.
-% \begin{macrocode}
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesClass{powerdot}
- [2021/03/25 v1.6 powerdot presentation class (HA)]
-% \end{macrocode}
-% Initializations.
-% \begin{macrocode}
-\newif\ifpd@overlay
-\newif\ifpd@section
-\newif\ifpd@ifsetup
-\newif\ifpd@display
-\newif\ifpd@pauseslide
-\newcounter{note}
-\newcounter{slide}
-\newcounter{pd@pause}
-\newcounter{pd@section}
-\newcounter{pd@overlay}
-\newcounter{pd@trivlist}
-\newcounter{pd@onslidedepth}
-\newbox\pd@tba
-\newbox\pd@tbb
-\newtoks\pd@body
-\newwrite\pd@bmout
-\newwrite\pd@tocout
-\newwrite\pd@vrbout
-\newlength\pd@frsep
-\newlength\pd@colsep
-\newlength\slidewidth
-\newlength\slideheight
-\let\pd@cursetup\@empty
-% \end{macrocode}
-% Setup options section.
-% \begin{macrocode}
-\RequirePackage{xkeyval}[2005/07/10]
-% \end{macrocode}
-% Orientation.
-% \begin{macrocode}
-\define@choicekey*[pd]{class}{orient}[\pd@tempa\pd@orient]{%
- landscape,portrait}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
-% \end{macrocode}
-% Paper type.
-% \begin{macrocode}
-\define@choicekey*[pd]{class}{paper}[\pd@tempa\pd@paper]{%
- screen,a4paper,letterpaper,smartboard}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
-% \end{macrocode}
-% Display type.
-% \begin{macrocode}
-\define@choicekey*[pd]{class}{display}[\pd@tempa\pd@display]{%
- slides,notes,slidesnotes}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
-% \end{macrocode}
-% Mode.
-% \begin{macrocode}
-\define@choicekey*[pd]{class}{mode}[\pd@tempa\pd@mode]{%
- present,print,handout}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
-% \end{macrocode}
-% Pause slide.
-% \begin{macrocode}
-\define@key[pd]{class}{pauseslide}[black]{%
- \pd@pauseslidetrue
- \def\pd@pauseslidecolor{#1}%
-}
-% \end{macrocode}
-% Some boolean keys.
-% \begin{macrocode}
-\define@boolkeys[pd]{class}[pd@@]{%
- nopsheader,hlentries,hlsections,nohandoutpagebreaks,nohandoutframes%
-}[true]
-% \end{macrocode}
-% Clock definitions. Contributed by Alexander Grahn.
-% \begin{macrocode}
-\define@boolkey[pd]{class}[pd@@]{clock}[true]{%
- \ifpd@@clock
- \newcount\pd@clockcnt
- \def\pd@startclock##1##2{%
- function pdshowtime(){%
- var pdtime=new Date();%
- this.getField("pdclock.\the\pd@clockcnt").value=util.printd("##1",pdtime);%
- this.dirty=false;%
- }%
- pdshowtime();%
- var pdclock_\the\pd@clockcnt=app.setInterval("pdshowtime()",##2);%
- }%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% The size and style to be used.
-% \begin{macrocode}
-\define@cmdkey[pd]{class}[pd@@]{size}{%
- \def\pd@tempa##1pt{##1}%
- \edef\pd@@size{\expandafter\pd@tempa\pd@@size}%
-}
-\define@cmdkey[pd]{class}[pd@@]{style}{}
-% \end{macrocode}
-% Some usual article options.
-% \begin{macrocode}
-\define@key[pd]{class}{fleqn}[]{\input{fleqn.clo}}
-\define@key[pd]{class}{leqno}[]{\input{leqno.clo}}
-% \end{macrocode}
-% Some presets, used in case the user doesn't supply enough input.
-% \begin{macrocode}
-\presetkeys[pd]{class}{%
- size=11pt,style=default,orient=landscape,paper=screen,%
- display=slides,hlentries=true,mode=present}{}
-% \end{macrocode}
-% Process all options.
-% \begin{macrocode}
-\ProcessOptionsX[pd]<class>\relax
-% \end{macrocode}
-% \begin{macro}{\pd@warn}
-% \begin{macro}{\pd@error}
-% \marg{msg}\\
-% Warnings and errors.
-% \begin{macrocode}
-\def\pd@warn{\ClassWarning{powerdot}}
-\def\pd@error#1{\ClassError{powerdot}{#1}\@ehd}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@noportrait}
-% The standard error for styles that do not support portrait orientation.
-% \begin{macrocode}
-\def\pd@noportrait{%
- \ifnum\pd@orient=\@ne\ifnum\pd@mode=2\else\pd@error{%
- `\pd@@style' style does not support portrait orientation
- }\fi\fi
-}
-% \end{macrocode}
-% \end{macro}
-% Check paper for print and handout mode. No |screen| allowed.
-% \begin{macrocode}
-\ifnum\pd@mode>0
- \ifnum\pd@paper=\z@
-% \end{macrocode}
-% Remove erroneous input.
-% \begin{macrocode}
- \@expandtwoargs\@removeelement{screen}\pd@cursetup\pd@cursetup
-% \end{macrocode}
-% Switch to a4paper.
-% \begin{macrocode}
- \XKV@addtolist@x\pd@cursetup{a4paper}
- \def\pd@paper{1}
- \pd@warn{you can't use `screen' format for this mode;
- \MessageBreak I've switched to a4paper
- }
- \fi
-\fi
-% \end{macrocode}
-% Check orientation for handout mode. No |landscape| allowed.
-% \begin{macrocode}
-\ifnum\pd@mode=2
- \newbox\pd@textbox
- \ifnum\pd@orient=\z@
-% \end{macrocode}
-% Remove erroneous input.
-% \begin{macrocode}
- \@expandtwoargs\@removeelement{landscape}\pd@cursetup\pd@cursetup
-% \end{macrocode}
-% Switch to portrait.
-% \begin{macrocode}
- \XKV@addtolist@x\pd@cursetup{portrait}
- \def\pd@orient{1}
- \pd@warn{you can't use `landscape' for handout mode;
- \MessageBreak I've switched to portrait
- }
- \fi
-\fi
-% \end{macrocode}
-% Pass paper size and orientation to \pf{geometry} package.
-% \begin{macrocode}
-\ifcase\pd@paper
- \def\pd@tempa{papersize={8.25in,11in}}
-\or
- \def\pd@tempa{papersize={210mm,297mm}}
-\or
- \def\pd@tempa{papersize={8.5in,11in}}
-\or
- \def\pd@tempa{papersize={900pt,1440pt}}
-\fi
-\ifnum\pd@orient=\z@
- \edef\pd@tempa{\pd@tempa,landscape}
-\else
- \edef\pd@tempa{\pd@tempa,portrait}
-\fi
-\PassOptionsToPackage\pd@tempa{geometry}
-% \end{macrocode}
-% Load class and packages.
-% \begin{macrocode}
-\LoadClass{article}
-% \end{macrocode}
-% Load font size definitions. Take into account that article has
-% loaded some already. This trick actually also allows bigger sizes like
-% 14pt or 20pt.
-% \begin{macrocode}
-\let\pd@tempa\newcommand
-\let\newcommand\def
-\input{size\pd@@size.clo}
-\let\newcommand\pd@tempa
-% \end{macrocode}
-% Remaining packages.
-% \begin{macrocode}
-\ifnum\pd@mode=2
-% \end{macrocode}
-% Handout mode.
-% \begin{macrocode}
- \RequirePackage[margin=2cm,includefoot]{geometry}
-\else
-% \end{macrocode}
-% Magnify DVI by factor 2, no margins at all.
-% The offset is to neutralize the |\vskip| inserted by TeX to
-% go from the top of the letters to the baseline and position chars
-% there. Here we don't want any offset and start at the bottom left
-% corner of the paper.
-% \begin{macrocode}
- \RequirePackage[mag=2000,margin=0pt,voffset=-\pd@@size pt]{geometry}
- \geometry{top=.5\paperheight}
-\fi
-% \end{macrocode}
-% Xe\TeX\ support. \pf{hyperref} should not set ps paper size as it doesn't do
-% landscape format we don't want it to redefine internals either.
-% \begin{macrocode}
-\RequirePackage{ifxetex}
-\ifxetex
- \RequirePackage[setpagesize=false,pdfstartview=Fit,
- pageanchor=false,bookmarks=false]{hyperref}[2009/12/14]
- \def\pd@pdftrans{%
- \@expandtwoargs\in@{,\pd@@trans,}{%
- ,Split,Blinds,Box,Wipe,Dissolve,Glitter,%
- Replace,Fly,Push,Cover,Uncover,Fade,}%
- \ifin@\else
- \pd@warn{Transition `\pd@@trans' might not be understood by
- your ps to pdf converter}%
- \fi
- \special{pdf:put @thispage %
- <</Trans<</S/\pd@@trans>>>>%
- }%
- }
- \def\pd@pdbookmark#1#2#3#4{%
- \pdfstringdef\pd@tempa{#4}%
- \special{pdf:outline
- \pd@pdb@@kmark{#1}%
- <<%
- /Title(\pd@tempa)%
- /A<<%
- /S/GoTo
- /D(slide.#3)%
- >>%
- >>%
- }%
- }
-\else
- \RequirePackage[setpagesize=false,dvips,pdfstartview=Fit,%
- pageanchor=false,bookmarks=false]{hyperref}
-\fi
-% \end{macrocode}
-% For some strange reason, it doesn't work to put the below in the above.
-% So we do it here as we don't want colored borders.
-% \begin{macrocode}
-\AtBeginDocument{\def\@pdfborder{0 0 0}}
-% \end{macrocode}
-% Necessary for inserting and creating graphics. Notice: \pf{pstricks}
-% needs to be loaded after \pf{graphicx} for proper |\scalebox| definition.
-% We make sure that \pf{xcolor} is loaded.
-% \begin{macrocode}
-\RequirePackage[nosetpagesize]{graphicx}[2017/06/01]
-\RequirePackage{pstricks}[2013/12/12]
-\RequirePackage{pst-ovl}
-\RequirePackage{xcolor}[2004/05/09]
-% \end{macrocode}
-% For lists and verbatim reading of slide content.
-% \changes{v1.5}{2014/01/01}{Fix for latest enumitem (20110915 hv)}
-% \begin{macrocode}
-\RequirePackage{enumitem}[2007/03/12]
-\let\orig@enumerate\enumerate
-\def\enumerate{\@ifnextchar[\enumerate@i{\enumerate@i[]}}
-\def\enumerate@i[#1]{\@ifnextchar[{\enumerate@ii[#1]}{\enumerate@ii[#1][]}}
-\def\enumerate@ii[#1][#2]{%
- \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi
- \orig@enumerate[#2]%
-}
-\let\orig@itemize\itemize
-\def\itemize{\@ifnextchar[\itemize@i{\itemize@i[]}}
-\def\itemize@i[#1]{\@ifnextchar[{\itemize@ii[#1]}{\itemize@ii[#1][]}}
-\def\itemize@ii[#1][#2]{%
- \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi
- \orig@itemize[#2]%
-}
-\let\orig@description\description
-\def\description{\@ifnextchar[\description@i{\description@i[]}}
-\def\description@i[#1]{\@ifnextchar[{\description@ii[#1]}{\description@ii[#1][]}}
-\def\description@ii[#1][#2]{%
- \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi
- \orig@description[#2]%
-}
-\RequirePackage{verbatim}
-% \end{macrocode}
-% This is needed for the implementation of the clock.
-% \begin{macrocode}
-\ifpd@@clock
- \RequirePackage{pdfbase}
- \ExplSyntaxOn
- \let\pd@PdfAnnot\pbs_pdfannot:nnnn
- \let\pd@PdfLastAnn\pbs_pdflastann:
- \let\pd@AppendToFields\pbs_appendtofields:n
- \ExplSyntaxOff
-\fi
-% \end{macrocode}
-% Here are some basic properties of the slides.
-% \begin{macrocode}
-\ifnum\pd@mode<2
- \pagestyle{empty}
-\fi
-% \end{macrocode}
-% \changes{v1.1}{2005/09/19}{Avoid making black slide in print mode}
-% No black slide in handout or print mode.
-% \begin{macrocode}
-\ifnum\pd@mode>0
- \pd@pauseslidefalse
-\fi
-\setlength\parindent{0pt}
-% \end{macrocode}
-% Slide dimensions.
-% \begin{macrocode}
-\setlength\slidewidth{.5\paperwidth}
-\setlength\slideheight{.5\paperheight}
-% \end{macrocode}
-% Write landscape correction to the ps to avoid ps to be rotated by
-% 180 degrees.
-% \begin{macrocode}
-\ifnum\pd@orient=\z@
- \special{!/landplus90 true store}
-\fi
-% \end{macrocode}
-% Write paper dimensions.
-% The specials solve a config problem with ghostscript not picking up info from
-% ps, due to the fact that some paper formats defined in config.ps do
-% not write explicit ps commands. For instance, when dvips finds a4 paper dimensions,
-% it writes |%%Papersize: A4|, but no ps command. So ghostscript doesn't
-% find a paper size and takes it's default which could be |letter|
-% in fact.
-% Notice further that screen size is based on letter, but will be cropped in pdf.
-% \begin{macrocode}
-\ifpd@@nopsheader\else
- \special{papersize=\the\paperwidth,\the\paperheight}
- \ifcase\pd@paper
- \special{!%
- \@percentchar\@percentchar BeginPaperSize: letter
- ^^Jletter^^J\@percentchar\@percentchar EndPaperSize
- }
- \or
- \special{!%
- \@percentchar\@percentchar BeginPaperSize: a4
- ^^Ja4^^J\@percentchar\@percentchar EndPaperSize
- }
- \or
- \special{!%
- \@percentchar\@percentchar BeginPaperSize: letter
- ^^Jletter^^J\@percentchar\@percentchar EndPaperSize
- }
- \or\relax
- \fi
-\fi
-% \end{macrocode}
-% Crop pdf for optimal screen ratio. This does not work in DVI or PS.
-% Note, the ps rotation takes care of orientation irrespective of
-% crop dimensions.
-% \begin{macrocode}
-\ifcase\pd@paper\def\@pdfpagescrop{0 0 594 842}\fi
-% \end{macrocode}
-% \pf{hyperref} writes this to the pdf.
-% \begin{macrocode}
-\def\@pdfcreator{LaTeX with powerdot class}
-% \end{macrocode}
-% Save the number of the last slide at the end of the document.
-% \begin{macrocode}
-\AtEndDocument{%
- \immediate\write\@auxout{\string\newlabel{lastslide}%
- {{}{\the\c@slide}{\relax}{}{}}}%
-}
-% \end{macrocode}
-% Set up options. |global| is for global only keys (so to be used only
-% in the preamble. |slide| is only for slides. |glslide| keys can be
-% used in both locations.
-% Create an interface to change the typesetting of the page numbers.
-% This follows the usual \LaTeX\ idea to change typesetting of numbers
-% via |\thepage| etcetera.
-% \begin{macrocode}
-\define@key[pd]{global}{theslide}{\def\theslide{#1}}
-\define@key[pd]{global}{thenote}{\def\thenote{#1}}
-% \end{macrocode}
-% Options to be used by \pf{enumitem}. These store input incrementally
-% in macros used by \pf{enumitem} to store options. By allowing options
-% to be added, both the style and the user can insert options.
-% \begin{macrocode}
-\define@key[pd]{global}{enumerate}{%
- \ifx\enit@@enum\@undefined
- \def\enit@@enum{#1}%
- \else
- \XKV@addtolist@n\enit@@enum{#1}%
- \fi
-}
-\define@key[pd]{global}{itemize}{%
- \ifx\enit@@item\@undefined
- \def\enit@@item{#1}%
- \else
- \XKV@addtolist@n\enit@@item{#1}%
- \fi
-}
-\define@key[pd]{global}{list}{%
- \ifx\enit@@list\@undefined
- \def\enit@@list{#1}%
- \else
- \XKV@addtolist@n\enit@@list{#1}%
- \fi
-}
-% \end{macrocode}
-% Counters that need overlay protection.
-% \begin{macrocode}
-\define@key[pd]{global}{counters}{%
- \XKV@addtolist@n\pd@@counters{#1}%
-}
-% \end{macrocode}
-% Initialize the counters list.
-% \begin{macrocode}
-\def\pd@@counters{table,figure,equation,footnote,mpfootnote}
-% \end{macrocode}
-% Clock format and refresh rate.
-% \begin{macrocode}
-\define@cmdkeys[pd]{global}[pd@@]{clockformat,clockrefresh}
-% \end{macrocode}
-% Footers and transition effect.
-% \begin{macrocode}
-\define@cmdkeys[pd]{glslide}[pd@@]{lf,cf,rf,trans}
-% \end{macrocode}
-% Palettes.
-% \begin{macrocode}
-\define@cmdkey[pd]{glslide}[pd@@]{palette}{%
-% \end{macrocode}
-% Check whether the chosen palette exists. If yes, execute it, set
-% |\default@color| (for equation numbers etcetera) and copy the
-% current color for |\twocolumn|.
-% \begin{macrocode}
- \ifnum\pd@mode<2
- \XKV@ifundefined{pd@pe@\pd@@palette @colors}{%
- \pd@error{palette `\pd@@palette' not defined}%
- }{%
- \@nameuse{pd@pe@\pd@@palette @colors}%
- \color{pdcolor1}%
- \let\default@color\current@color
- \let\pd@color\XC@current@color
- }%
- \pd@countcolors
- \fi
-}
-% \end{macrocode}
-% Slide processing method.
-% \begin{macrocode}
-\define@choicekey*[pd]{glslide}{method}[\pd@tempa\pd@method]{%
- normal,file,direct}{%
- \ifnum\pd@method=2
- \ifx\pd@textbox\@undefined\newbox\pd@textbox\fi
- \fi
-}
-% \end{macrocode}
-% Random dots. Load |random.tex| if necessary.
-% \begin{macrocode}
-\define@boolkey[pd]{glslide}[pd@@]{randomdots}[true]{%
- \ifx\randomi\@undefined
- \InputIfFileExists{random}{\newcount\pd@tempcnta}{%
- \global\pd@@randomdotsfalse
- \pd@warn{random.tex not found, random dots canceled}%
- }%
- \fi
- \ifnum\pd@mode=\tw@\global\pd@@randomdotsfalse\fi
-}
-% \end{macrocode}
-% Keys for random dots and the logo.
-% \begin{macrocode}
-\define@cmdkeys[pd]{glslide}[pd@@]{%
- dminsize,dmaxsize,dbright,dmindots,dmaxdots,dminwidth,dmaxwidth,%
- dminheight,dmaxheight,dprop,logohook,logopos%
-}
-\define@key[pd]{glslide}{logocmd}{%
- \ifx\pd@logobox\@undefined\newbox\pd@logobox\fi
- \sbox\pd@logobox{#1}%
-}
-% \end{macrocode}
-% Initialize some of the keys that we just defined.
-% \begin{macrocode}
-\setkeys[pd]{glslide,global}{%
- lf=,cf=,rf=,theslide=\arabic{slide} / \pageref*{lastslide},%
- thenote=note \arabic{note} of slide \arabic{slide},%
- trans=Replace,dminsize=5pt,dmaxsize=40pt,dminwidth=0pt,%
- dmaxwidth=\slidewidth,dminheight=0pt,dbright=60,%
- dmaxheight=\slideheight,dmindots=5,dmaxdots=40,dprop=,%
- logohook=tl,logopos=,logocmd=,method=normal,%
- clockformat=HH:MM:ss,clockrefresh=1000%
-%
-}
-% \end{macrocode}
-% \begin{macro}{\pdsetup}
-% The interface for users. Disable global keys |\AtBeginDocument|.
-% \begin{macrocode}
-\def\pdsetup{\setkeys[pd]{global,glslide}}
-\AtBeginDocument{%
- \disable@keys[pd]{global}{%
- theslide,thenote,enumerate,itemize,list,counters%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% Local keys: |toc| and |bm|.
-% \begin{macrocode}
-\define@cmdkeys[pd]{slide}[pd@@]{toc,bm}
-% \end{macrocode}
-% \begin{macro}{\pdifsetup}
-% \marg{desired}\marg{yes}\marg{no}\\
-% Execute \meta{yes} if the \meta{desired} setup matches with the
-% current (user) setup. Execute \meta{no} else. We first check whether
-% information in \meta{desired} is complete. If not, we amend it.
-% \begin{macrocode}
-\def\pdifsetup#1{%
- \edef\pd@tempb{#1}%
- \pd@pdifsetup\pd@tempb{landscape,portrait}%
- \pd@pdifsetup\pd@tempb{screen,a4paper,letterpaper,smartboard}%
- \pd@pdifsetup\pd@tempb{slides,notes,slidesnotes}%
- \pd@pdifsetup\pd@tempb{present,print,handout}%
- \pd@pdifs@tup\pd@tempb
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pdifsetup}
-% \meta{desired}\marg{check}\\
-% This macro checks whether at least one element of \meta{check}
-% occurs in the list in \meta{desired}. If not, the entire list in
-% \meta{check} is added to \meta{desired}, meaning that later on, any
-% setup for this type will satisfy the check.
-% \begin{macrocode}
-\def\pd@pdifsetup#1#2{%
- \in@true
- \@tempcnta\z@
- \XKV@for@n{#2}\pd@tempa{%
- \@expandtwoargs\in@{,\pd@tempa,}{,#1,}%
- \ifin@\advance\@tempcnta\@ne\fi
- }%
- \ifnum\@tempcnta=\z@\XKV@addtolist@x#1{#2}\fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pdifs@tup}
-% \marg{desired}\marg{yes}\marg{no}\\
-% Checks whether the \meta{desired} setup matches the current setup.
-% This macro is used internally when setting template keys. The idea
-% is to first correct the input in the |ifsetup| key by amending
-% specifications if they where not there. Then, when setting a
-% template key, we just check whether all elements of the current
-% setup appear in the \meta{desired} setup.
-% \begin{macrocode}
-\def\pd@pdifs@tup#1{%
- \in@true
- \XKV@whilist\pd@cursetup\pd@tempa\ifin@\fi{%
- \@expandtwoargs\in@{,\pd@tempa,}{,#1,}%
- }%
- \ifin@\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
-}
-% \end{macrocode}
-% \end{macro}
-% Set up the template system.
-% First define all the options and presets available to create
-% templates. All options save their argument to be used later.
-% The |ifsetup| option controls for which the following options should
-% be used. This:
-% |textfont=\raggedright,| |ifsetup={a4paper,portrait},textfont=\small|
-% makes the text font |\small|, but only for a4 portrait slides.
-% \begin{macrocode}
-\def\pd@tempa#1{%
- \define@key[pd]{template}{#1}[]{%
- \ifpd@ifsetup\@namedef{pd@@#1}{##1}\fi
- }%
-}
-% \end{macrocode}
-% Define all keys.
-% \begin{macrocode}
-\XKV@for@n{%
- titlehook,titlepos,titlewidth,titlefont,%
- texthook,textpos,textwidth,textfont,textheight,%
- tochook,tocpos,tocwidth,tocfont,%
- stochook,stocpos,stocwidth,stocfont,%
- ntochook,ntocpos,ntocwidth,ntocfont,%
- tocfrsep,tocsecsep,tocslidesep,%
- tocsecm,toctcolor,tochlcolor,tochltcolor,%
- tocsecindent,tocslideindent,%
- lfhook,lfpos,lffont,lftemp,%
- cfhook,cfpos,cffont,cftemp,%
- rfhook,rfpos,rffont,rftemp,%
- iacolor,%
- clockhook,clockpos,clockwidth,clockheight,%
- clockcharsize,clockalign,clockcolor%
-}\pd@tempb{\expandafter\pd@tempa\expandafter{\pd@tempb}}
-% \end{macrocode}
-% The |ifsetup| key first amends missing input using |\pd@pdifsetup|.
-% \begin{macrocode}
-\define@cmdkey[pd]{template}[pd@@]{ifsetup}[]{%
- \pd@pdifsetup\pd@@ifsetup{landscape,portrait}%
- \pd@pdifsetup\pd@@ifsetup{screen,a4paper,letterpaper,smartboard}%
- \pd@pdifsetup\pd@@ifsetup{slides,notes,slidesnotes}%
- \pd@pdifsetup\pd@@ifsetup{present,print,handout}%
- \pd@pdifs@tup\pd@@ifsetup\pd@ifsetuptrue\pd@ifsetupfalse
-}
-% \end{macrocode}
-% Choice keys for orientation of toc.
-% \begin{macrocode}
-\define@choicekey*[pd]{template}{tocorient}[\pd@tempa\pd@tocorient]{%
- v,h}{}
-\define@choicekey*[pd]{template}{stocorient}[\pd@tempa\pd@stocorient]{%
- v,h}{}
-\define@choicekey*[pd]{template}{ntocorient}[\pd@tempa\pd@ntocorient]{%
- v,h}{}
-% \end{macrocode}
-% \changes{v1.4}{2005/12/10}{Replaced \texttt{\~} by \cs{space} to avoid
-% problems with Spanish babel}
-% Presets so that templates do not need to specify every key.
-% This also initializes some keys as to avoid errors in constructing
-% the slide.
-% \begin{macrocode}
-\setkeys[pd]{template}{%
- ifsetup,%
- titlehook=Bl,titlepos=,titlewidth=\slidewidth,%
- titlefont=\raggedright,texthook=tl,textpos=,%
- textwidth=\slidewidth,textfont=\raggedright,%
- textheight=\slideheight,%
- tochook=tl,tocpos=,tocwidth=.2\slidewidth,%
- tocfont=\tiny\raggedright,%
- stochook=tl,stocpos=,stocwidth=.2\slidewidth,%
- stocfont=\tiny\raggedright,%
- ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth,%
- ntocfont=\tiny\raggedright,%
- tocorient=v,stocorient=v,ntocorient=v,%
- tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex,%
- tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white,%
- tocsecindent=0pt,tocslideindent=0pt,%
- lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf,%
- cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf,%
- rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf
- \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide,%
- iacolor=lightgray,%
- clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip,%
- clockcharsize=14pt,clockalign=2,clockcolor=black%
-}
-% \end{macrocode}
-% \begin{macro}{\pddefinepalettes}
-% \marg{name}\marg{commands}\\
-% Save the text color number and start scanning for palettes. |\pd@nopalettes|
-% contains the number of palettes that we have seen in total in the
-% style or preamble.
-% \begin{macrocode}
-\def\pddefinepalettes#1#2{%
- \ifx\pd@nopalettes\@undefined\@tempcnta\z@\else
- \@tempcnta\pd@nopalettes
- \fi
- \pd@pddefinepalettes{#1}{#2}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pddefinepalettes}
-% \marg{name}\marg{commands}\\
-% Save the current \meta{name} and \meta{commands} to numbered macros
-% to be used later again. If we find another brace |{| after these
-% arguments, repeat the process.
-% \begin{macrocode}
-\def\pd@pddefinepalettes#1#2{%
- \advance\@tempcnta\@ne
- \@namedef{pd@pe@\the\@tempcnta @name}{#1}%
- \@namedef{pd@pe@#1@colors}{#2}%
- \@ifnextchar\bgroup\pd@pddefinepalettes{%
- \edef\pd@nopalettes{\the\@tempcnta}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@countcolors}
-% Count the number of colors in the palette. We do this only once.
-% \begin{macrocode}
-\def\pd@countcolors{%
- \@tempcnta\@ne
- \@whilesw\ifx\pd@nocolors\@undefined\fi{%
- \XKV@ifundefined{\string\color@pdcolor\the\@tempcnta}{%
- \advance\@tempcnta\m@ne
- \edef\pd@nocolors{\the\@tempcnta}%
- }{\advance\@tempcnta\@ne}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% Define the startpage to be 2 when using a pauseslide.
-% \begin{macrocode}
-\ifpd@pauseslide\def\@pdfstartpage{2}\fi
-% \end{macrocode}
-% If the style or preamble does not define palettes, do nothing. If
-% there are palettes, but the user didn't specify one, use the first.
-% \begin{macrocode}
-\AtBeginDocument{%
- \ifx\pd@nopalettes\@undefined\else\ifx\pd@@palette\@undefined
- \@nameuse{pd@pe@\@nameuse{pd@pe@1@name}@colors}%
- \color{pdcolor1}%
- \let\default@color\current@color
- \let\pd@color\XC@current@color
- \fi\fi
-% \end{macrocode}
-% Text color is black in handout mode.
-% \begin{macrocode}
- \ifnum\pd@mode=2
- \color{black}%
- \def\pd@@iacolor{black}%
- \let\default@color\current@color
- \let\pd@color\XC@current@color
- \else\pd@countcolors\fi
-% \end{macrocode}
-% Insert the pause slide.
-% \begin{macrocode}
- \ifpd@pauseslide
- \begin{pauseslide}[toc=,bm=,trans=Replace,randomdots=false]{}%
- \end{pauseslide}%
- \fi
-}
-% \end{macrocode}
-% \begin{macro}{\pddefinetemplate}
-% Define a template. This stores options and the background to macros.
-% \begin{macrocode}
-\def\pddefinetemplate{\@testopt\pd@pddefinetemplate{}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pddefinetemplate}
-% \changes{v1.2}{2005/10/09}{Changed to \cs{pd@namelet} for changed \pf{xcolor}}
-% \changes{v1.3}{2005/12/06}{Made it possible to redefine basis templates and
-% convey the changes to templates based on this basis}
-% \oarg{basis}{name}{options}{background}\\
-% Store options and background and define the environment \meta{name}.
-% \begin{macrocode}
-\def\pd@pddefinetemplate[#1]#2#3#4{%
-% \end{macrocode}
-% The beginning of the environment just gets and sets its arguments
-% and gets the body of the environment.
-% \begin{macrocode}
- \@namedef{#2}{\pd@getargsandbody{#2}}%
-% \end{macrocode}
-% The end of the environment. We process the body at least once, maybe
-% more times, but that we will find out along the way. In case the
-% body is not eaten in advance, this macro starts an |lrbox|.
-% \begin{macrocode}
- \@namedef{end#2}{\ifpd@display\pd@slide\fi}%
-% \end{macrocode}
-% If there is no basis, we just store the options and the background.
-% \begin{macrocode}
- \ifx\@empty#1\@empty
- \@namedef{pd@template@#2@options}{\setkeys[pd]{template}{#3}}%
- \@namedef{pd@template@#2@bg}{#4}%
- \else
-% \end{macrocode}
-% Otherwise, add options and background to existing macros.
-% \begin{macrocode}
- \XKV@ifundefined{pd@template@#1@options}{%
- \pd@error{template `#1' undefined}}{%
- \def\pd@tempa{#1}\def\pd@tempb{#2}%
-% \end{macrocode}
-% If \meta{basis} and \meta{name} are the same, expand options and
-% background to avoid infinite loops.
-% \begin{macrocode}
- \ifx\pd@tempa\pd@tempb
- \pd@namelet{pd@template@#2@options}{pd@template@#1@options}%
- \expandafter
- \XKV@addtomacro@n\csname pd@template@#2@options\endcsname
-% \end{macrocode}
-% Make sure to reset the |ifsetup| key so that options are for all
-% possible setups again.
-% \begin{macrocode}
- {\setkeys[pd]{template}{ifsetup,#3}}%
- \pd@namelet{pd@template@#2@bg}{pd@template@#1@bg}\expandafter
- \XKV@addtomacro@n\csname pd@template@#2@bg\endcsname{#4}%
- \else
-% \end{macrocode}
-% Else, use existing macros options and background macros and add the
-% current settings.
-% \begin{macrocode}
- \@namedef{pd@template@#2@bg}{\@nameuse{pd@template@#1@bg}#4}%
- \@namedef{pd@template@#2@options}{%
- \@nameuse{pd@template@#1@options}%
- \setkeys[pd]{template}{ifsetup,#3}%
- }%
- \fi
- }%
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@getargsandbody}
-% \marg{name}\\
-% First eat the optional argument and the slide title. Then
-% collect the body of the slide: we
-% read every time up to |\end|, we check whether we find the |\end| that
-% has the name of the current slide environment. If not, we add all
-% content and continue the search. If |method| is 1, we use \pf{verbatim}
-% to read the body and write it to a temporary file. If |method| is 2, we do not
-% eat the body at all, but redefine the end of the current environment
-% to finish the |lrbox| that we will start later on.
-% \begin{macrocode}
-\def\pd@getargsandbody#1{\@testopt{\pd@get@rgsandbody{#1}}{}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@get@rgsandbody}
-% \marg{name}\oarg{options}\marg{title}
-% \begin{macrocode}
-\def\pd@get@rgsandbody#1[#2]#3{%
- \pd@get@rgs@ndbody{#2}{#3}%
-% \end{macrocode}
-% Here are three possible methods to process slides. The first will
-% eat the entire body while scanning for |\end{slide}|. This fixes
-% catcodes. The second writes the body to file. This allows for
-% verbatim and overlays, but may be slow. The third uses an |lrbox| to
-% typeset material directly. That allows for verbatim, but no
-% overlays. Notice that we always use the first method when the slide
-% should not be displayed.
-% \begin{macrocode}
- \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@
-% \end{macrocode}
-% Start eating the body.
-% \begin{macrocode}
- \pd@body{}%
- \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}%
- \else
- \ifnum\pd@method=\@ne
-% \end{macrocode}
-% Start verbatim reading and writing to file.
-% \begin{macrocode}
- \def\pd@tempa{%
- \immediate\openout\pd@vrbout\jobname.vrb\relax
- \def\verbatim@processline{%
- \immediate\write\pd@vrbout{\the\verbatim@line}%
- }%
- \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active
- \verbatim@start
- }%
-% \end{macrocode}
-% Redefine the end macro to stop verbatim reading and closing the file.
-% Afterwards, execute the slide producing macro.
-% \begin{macrocode}
- \@namedef{end#1}{%
- \endgroup\immediate\closeout\pd@vrbout
- \let\verbatim@processline\pd@orig@verbatim@processline
- \pd@slide
- }%
- \else
-% \end{macrocode}
-% No overlays allowed with this method.
-% \begin{macrocode}
- \pd@deloverlays
-% \end{macrocode}
-% Create the slide.
-% \begin{macrocode}
- \let\pd@tempa\pd@sl@de
-% \end{macrocode}
-% Typeset content directly and store it in a box using |lrbox|. We
-% redefine the end to finish this box and position it on the page.
-% \begin{macrocode}
- \@namedef{end#1}{%
- \end{pd@minipage}\end{lrbox}%
- \ifx\pd@@textpos\@empty\else
- \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}%
- \fi
- }%
- \fi
- \fi
- \pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@get@rgs@ndbody}
-% \marg{options}\marg{title}\\
-% A common component in processing slides in \LaTeX\ or \LyX.
-% \begin{macrocode}
-\def\pd@get@rgs@ndbody#1#2{%
-% \end{macrocode}
-% Set user keys.
-% \begin{macrocode}
- \setkeys[pd]{glslide,slide}{#1}%
-% \end{macrocode}
-% Save title.
-% \begin{macrocode}
- \def\pd@t@tle{#2}%
-% \end{macrocode}
-% Perform some initial checks to see whether we actually need to process
-% this slide or not.
-% \begin{macrocode}
- \pd@displaytrue
- \def\pd@tempa{note}%
- \ifcase\pd@display
- \ifx\@currenvir\pd@tempa\relax\pd@displayfalse\fi
- \or
- \ifx\@currenvir\pd@tempa\else
- \def\pd@tempa{titleslide}%
- \ifx\@currenvir\pd@tempa\else
- \pd@displayfalse
- \stepcounter{slide}%
- \fi
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@get@rgs@ndb@dy}
-% \marg{name}\meta{text}|\end|\marg{envir}\\
-% If \meta{envir} is equal to \meta{name}, we found the end of the
-% environment and stop parsing. Otherwise, we add material to the token
-% and continue.
-% \begin{macrocode}
-\long\def\pd@get@rgs@ndb@dy#1#2\end#3{%
- \def\pd@tempa{#1}%
- \def\pd@tempb{#3}%
- \ifx\pd@tempa\pd@tempb
- \pd@body\expandafter{\the\pd@body#2}%
- \def\pd@tempa{\end{#1}}%
- \else
- \pd@body\expandafter{\the\pd@body#2\end{#3}}%
- \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}%
- \fi
- \pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@slide}
-% This macro processes the slide, possibly many times, depending on
-% what we encounter on the first run.
-% \begin{macrocode}
-\def\pd@slide{%
- \pd@overlayfalse
- \def\pd@nooverlays{1}%
- \setcounter{pd@overlay}\@ne
- \let\pd@labels\@empty
-% \end{macrocode}
-% Save counter values so that these can be restored on overlays.
-% \begin{macrocode}
- \XKV@for@o\pd@@counters\pd@tempa{%
- \expandafter\xdef\csname pd@counter@\pd@tempa\endcsname{%
- \expandafter\the\csname c@\pd@tempa\endcsname
- }%
- }%
- \pd@sl@de
- \@whilenum\c@pd@overlay<\pd@nooverlays\do{%
- \pd@overlaytrue
-% \end{macrocode}
-% Restore counters.
-% \begin{macrocode}
- \XKV@for@o\pd@@counters\pd@tempa{%
- \setcounter\pd@tempa{\csname pd@counter@\pd@tempa\endcsname}%
- }%
- \stepcounter{pd@overlay}%
-% \end{macrocode}
-% Re-initialize the info for random dots.
-% \begin{macrocode}
- \ifpd@@randomdots
- \let\pd@trandim\pd@randim
- \let\pd@tranpos\pd@ranpos
- \let\pd@trancol\pd@rancol
- \fi
- \pd@sl@de
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@sl@de}
-% \changes{v1.1}{2005/09/19}{Added missing \cs{pd@currenttype} initialization}
-% \changes{v1.2}{2005/10/09}{Added \cs{@currentlabel} definition}
-% \changes{v1.3}{2005/12/06}{Template specific \texttt{textfont} properly sets \cs{default@color}}
-% \changes{v1.4}{2005/12/10}{Added exceptions to inhibit logo/randomdots on blackslide/emptyslide}
-% This is the main slide producing macro.
-% \begin{macrocode}
-\def\pd@sl@de{%
- \stepcounter{slide}\newpage
- \ifpd@overlay\addtocounter{slide}\m@ne\fi
- \edef\@currentlabel{\the\c@slide}%
-% \end{macrocode}
-% Initialize the overlays and switch to overlay 0. The material on this
-% overlay will be visible.
-% \begin{macrocode}
- \pst@Verb{tx@ovlDict begin InitOL /TheOL (0) def end}%
- \pst@Verb{tx@ovlDict begin (0) BOL end}%
-% \end{macrocode}
-% Load all template settings.
-% \begin{macrocode}
- \@nameuse{pd@template@\@currenvir @options}%
-% \end{macrocode}
-% Insert background. Execute in a group to avoid local settings getting out.
-% \begin{macrocode}
- \@nameuse{pd@template@\@currenvir @bg}%
- \ifpd@@randomdots
- \ifpd@overlay\else
- \ifnum\pd@nocolors>\z@
- \let\pd@randim\@empty
- \let\pd@ranpos\@empty
- \let\pd@rancol\@empty
- \setrannum\pd@tempcnta\pd@@dmindots\pd@@dmaxdots
- \edef\pd@nodots{\the\pd@tempcnta}%
- \pd@tempcnta\z@
- \@whilesw\ifnum\pd@tempcnta<\pd@nodots\fi{%
- \advance\pd@tempcnta\@ne
- \setrandim\@tempdima\pd@@dminsize\pd@@dmaxsize
- \XKV@addtolist@x\pd@randim{\the\@tempdima}%
- \setrandim\@tempdima\pd@@dminwidth\pd@@dmaxwidth
- \setrandim\@tempdimb\pd@@dminheight\pd@@dmaxheight
- \XKV@addtolist@x\pd@ranpos{\the\@tempdima,\the\@tempdimb}%
- \setrannum\@tempcntb1\pd@nocolors
- \XKV@addtolist@x\pd@rancol{\the\@tempcntb}%
- }%
- \let\pd@trandim\pd@randim
- \let\pd@tranpos\pd@ranpos
- \let\pd@trancol\pd@rancol
- \else
- \let\pd@nodots\z@
- \fi
- \fi
- \@tempcnta\z@
- \@whilesw\ifnum\@tempcnta<\pd@nodots\fi{%
- \advance\@tempcnta\@ne
- \pd@pop\pd@trandim\pd@tempa\pd@pop\pd@tranpos\pd@tempb
- \pd@pop\pd@tranpos\pd@tempc\pd@pop\pd@trancol\pd@tempd
- \ifnum\pd@@dbright<\z@
- \@tempcntb\pd@@dbright
- \advance\@tempcntb100
- \edef\pd@tempd{\pd@tempd!\the\@tempcntb!black}%
- \else
- \@tempcntb-\pd@@dbright
- \advance\@tempcntb100
- \edef\pd@tempd{\pd@tempd!\the\@tempcntb}%
- \fi
- {\ifx\pd@@dprop\@empty\else
- \expandafter\psset\expandafter{\pd@@dprop}%
- \fi
- \psdot[dotsize=\pd@tempa,linecolor=pdcolor\pd@tempd]%
- (\pd@tempb,\pd@tempc)}%
- }%
- \fi
-% \end{macrocode}
-% Insert the logo.
-% \begin{macrocode}
- \def\pd@tempa{pauseslide}%
- \def\pd@tempb{emptyslide}%
- \ifx\pd@@logopos\@empty\else
- \ifx\pd@logobox\@undefined\else
- \ifx\@currenvir\pd@tempa\else
- \ifx\@currenvir\pd@tempb\else
- \rput[\pd@@logohook](\pd@@logopos){\usebox\pd@logobox}%
- \fi
- \fi
- \fi
- \fi
-% \end{macrocode}
-% Clock coding. Contributed by Alexander Grahn.
-% \begin{macrocode}
- \ifpd@@clock
-% \end{macrocode}
-% Extract the color specification, convert it to |rgb| and store it
-% to be used for the clock. This uses some \pf{xcolor} macros.
-% \begin{macrocode}
- \def\pd@tempa##1,##2,##3\@nil{##1 ##2 ##3}%
- \extractcolorspec\pd@@clockcolor\pd@tempb
- \expandafter\convertcolorspec\pd@tempb{rgb}\pd@tempb
- \edef\pd@tempa{\expandafter\pd@tempa\pd@tempb\@nil}%
-% \end{macrocode}
-% Insert the clock.
-% \changes{v1.4}{2005/12/10}{Added arguments for \texttt{clockformat} and \texttt{clockrefresh} values}
-% \changes{v1.6}{2021/03/25}{Fixed rotation of the clock for smartboard paper}
-% \begin{macrocode}
- \ifx\pd@@clockpos\@empty\else
- \@tempdima\pd@@clockcharsize
- \rput[\pd@@clockhook](\pd@@clockpos){%
- \makebox[\pd@@clockwidth][l]{\rule{0pt}{\pd@@clockheight}%
- \pd@PdfAnnot{\pd@@clockwidth}{\pd@@clockheight}{0pt}{%
- /Subtype/Widget/FT/Tx/T (pdclock.\the\pd@clockcnt) /Ff 1
- /DA (/Helv \strip@pt\@tempdima\space Tf \pd@tempa\space rg)
- /MK<</R \ifnum\pd@orient=\z@\ifnum\pd@paper=\thr@@ 0\else 90\fi\else 0\fi /BG []/BC []>>
- /Q \pd@@clockalign\space
- /AA <<
- /PO << /S/JavaScript/JS(\pd@startclock\pd@@clockformat\pd@@clockrefresh) >>
- /PC << /S/JavaScript/JS(app.clearInterval(pdclock_\the\pd@clockcnt);) >>
- >>
- }%
- }%
- \pd@AppendToFields{\pd@PdfLastAnn}%
- \global\advance\pd@clockcnt\@ne
- }%
- \fi
- \fi
-% \end{macrocode}
-% Write transition effect to PDF.
-% \begin{macrocode}
- \pd@pdftrans
- \ifpd@overlay\else
-% \end{macrocode}
-% When not an overlay or note, make a bookmark and toc entry.
-% \begin{macrocode}
- \def\pd@tempa{note}%
- \ifx\@currenvir\pd@tempa\else
- \pd@maketocbm0%
-% \end{macrocode}
-% Make a target on this page so that we can make links to this page.
-% We don't use pdf page links as that won't give good link in handout
-% mode with 2 slides per page.
-% \begin{macrocode}
- \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend
- \fi
- \fi
-% \end{macrocode}
-% Initialize numbers and macros for relative stepping and pausing.
-% |\pd@currentstate| remembers the state when doing overlays.
-% \begin{macrocode}
- \def\pd@reloverlay{1}%
- \let\pd@closeitem\relax
- \def\pd@currentstate{0}%
- \let\pd@currenttype\relax
- \setcounter{pd@pause}\@ne
- \let\pd@revert\@firstofone
- \setcounter{pd@onslidedepth}\z@
-% \end{macrocode}
-% Position the title.
-% \begin{macrocode}
- \ifx\pd@@titlepos\@empty\else
- \def\pd@tempa{%
- \begin{minipage}\pd@@titlewidth
- \pd@@titlefont\strut
- \ifpd@section
- \expandafter\pd@sectiontitle\expandafter{\pd@t@tle}%
- \else
- \expandafter\pd@slidetitle\expandafter{\pd@t@tle}%
- \fi
- \end{minipage}%
- }%
- \rput[\pd@@titlehook](\pd@@titlepos){%
- \ifpd@pauseslide
- \hyperlink{pauseslide}{\pd@tempa}%
- \else
- \pd@tempa
- \fi
- }%
- \fi
-% \end{macrocode}
-% Position the table of contents, possibly split. No |minipage| when
-% making a horizontal toc.
-% \begin{macrocode}
- \ifx\pd@@tocpos\@empty\else
- \rput[\pd@@tochook](\pd@@tocpos){%
- \ifnum\pd@tocorient=\z@\begin{minipage}\pd@@tocwidth\fi
- \let\pd@usedtocfont\pd@@tocfont
- \let\pd@usedtocorient\pd@tocorient
- \pd@puttoc0%
- \ifnum\pd@usedtocorient=\z@\end{minipage}\fi
- }%
- \fi
- \ifx\pd@@stocpos\@empty\else
- \rput[\pd@@stochook](\pd@@stocpos){%
- \ifnum\pd@stocorient=\z@\begin{minipage}\pd@@tocwidth\fi
- \let\pd@usedtocfont\pd@@stocfont
- \let\pd@usedtocorient\pd@stocorient
- \pd@puttoc1%
- \ifnum\pd@usedtocorient=\z@\end{minipage}\fi
- }%
- \fi
- \ifx\pd@@ntocpos\@empty\else
- \rput[\pd@@ntochook](\pd@@ntocpos){%
- \ifnum\pd@ntocorient=\z@\begin{minipage}\pd@@tocwidth\fi
- \let\pd@usedtocfont\pd@@ntocfont
- \let\pd@usedtocorient\pd@ntocorient
- \pd@puttoc2%
- \ifnum\pd@usedtocorient=\z@\end{minipage}\fi
- }%
- \fi
-% \end{macrocode}
-% Position footers.
-% \begin{macrocode}
- \ifx\pd@@lfpos\@empty\else
- \rput[\pd@@lfhook](\pd@@lfpos){\pd@@lffont\pd@@lftemp}%
- \fi
- \ifx\pd@@cfpos\@empty\else
- \rput[\pd@@cfhook](\pd@@cfpos){\pd@@cffont\pd@@cftemp}%
- \fi
- \ifx\pd@@rfpos\@empty\else
- \rput[\pd@@rfhook](\pd@@rfpos){\pd@@rffont\pd@@rftemp}%
- \fi
- \ifnum\pd@method<2
- \ifx\pd@@textpos\@empty\else
-% \end{macrocode}
-% Position the main text box and put the material in, maybe coming
-% from eating the body into |\pd@body| or reading it from a file.
-% \begin{macrocode}
- \rput[\pd@@texthook](\pd@@textpos){%
- \pd@sl@d@
- \ifnum\pd@method=\z@\the\pd@body\else
- \input\jobname.vrb
- \fi
- \end{pd@minipage}%
- }%
- \fi
- \let\pd@tempa\relax
- \else
-% \end{macrocode}
-% For direct processing, start the |lrbox| to typeset and capture
-% content.
-% \begin{macrocode}
- \def\pd@tempa{\begin{lrbox}\pd@textbox\pd@sl@d@}%
- \fi
- \pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@sl@d@}
-% A common component in |\pd@sl@de|.
-% \begin{macrocode}
-\def\pd@sl@d@{%
- \begin{pd@minipage}%
- \let\pd@tempa\color
- \def\color##1{\pd@tempa{##1}\let\default@color\current@color}%
- \pd@@textfont
- \let\color\pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \changes{v1.2}{2005/10/09}{Redefine \cs{pd@slidetitle} in note template}
-% The implementation of notes.
-% The first macro is a temporary counter to find whether the new note
-% still belongs to the current slide or that it belongs to a new slide.
-% \begin{macrocode}
-\def\pd@notet{0}
-% \end{macrocode}
-% Define the template using our mechanism.
-% \begin{macrocode}
-\pddefinetemplate{note}{%
- titlepos={.04\slidewidth,.92\slideheight},%
- titlefont=\let\pd@slidetitle\@firstofone\color{black}\Large,%
- textpos={.07\slidewidth,.82\slideheight},%
- textfont=\color{black},textwidth=.86\slidewidth,%
- lfpos={.04\slidewidth,.035\slideheight},%
- lffont=\color{black}\scriptsize,%
- cfpos={.5\slidewidth,.035\slideheight},%
- cffont=\color{black}\scriptsize,%
- rfpos={.96\slidewidth,.035\slideheight},%
- rffont=\color{black}\scriptsize,%
- rftemp=\pd@@rf\ifx\pd@@rf\@empty\else
- \ifx\thenote\@empty\else\space--\space\fi\fi\thenote,%
-}{%
- \addtocounter{slide}\m@ne
-% \end{macrocode}
-% If this is another note with the same slide, count it.
-% \begin{macrocode}
- \ifnum\c@slide=\pd@notet
- \stepcounter{note}%
- \else
- \setcounter{note}{1}%
- \fi
- \xdef\pd@notet{\the\c@slide}%
-% \end{macrocode}
-% The background.
-% \begin{macrocode}
- \psline[linewidth=.5pt](0,.87\slideheight)%
- (\slidewidth,.87\slideheight)%
- \psline[linewidth=.5pt](0,.08\slideheight)%
- (\slidewidth,.08\slideheight)%
-}
-% \end{macrocode}
-% Implement pauseslide.
-% This is an empty slide with just a very big button on it to go back
-% to the original page where we came from.
-% \begin{macrocode}
-\pddefinetemplate{pauseslide}{}{%
- \addtocounter{slide}\m@ne
- \hyper@anchorstart{pauseslide}\hyper@anchorend
- \psframe*[linecolor=\pd@pauseslidecolor](0,0)(\slidewidth,\slideheight)%
- {\color{\pd@pauseslidecolor}%
- \rput[cm](.5\slidewidth,.5\slideheight){%
- \Acrobatmenu{GoBack}{\setlength\fboxsep{10cm}\fbox{GoBack}}}}%
-}
-% \end{macrocode}
-% Empty slides. For special uses like displaying big tables or photos.
-% \begin{macrocode}
-\pddefinetemplate{emptyslide}{textpos={0,\slideheight}}{}
-% \end{macrocode}
-% \begin{macro}{\maketitle}
-% This implementation
-% is more or less similar as what is in \pf{article}. First we make a
-% backup of the original |\maketitle| to be used maybe in handout mode,
-% see below.
-% \begin{macrocode}
-\let\pd@orig@maketitle\maketitle
-\def\maketitle{\@testopt\pd@maketitle{}}
-\def\pd@maketitle[#1]{%
- \begin{titleslide}[#1,toc=,bm=,trans=Replace,method=normal]{}%
- \let\footnote\thanks
- \def\thefootnote{\@fnsymbol\c@footnote}%
- {\pd@title{\pd@@titlefont\@title}\par}{%
- \vskip2em\pd@@textfont
- \begin{tabular}[t]{@{} c @{}}%
- \@author
- \end{tabular}\par
- \vskip1.5em\small\@date
- }\par
- \small\@thanks
- \vfil\null
- \end{titleslide}%
- \c@footnote\z@
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@maketocbm}
-% \marg{type}\\
-% \meta{type} indicates the kind of entry that we need to write to toc and
-% or bookmark file. 0 is a normal slide, 1 is a section, 2 is a hidden
-% section. The title of the entry is assumed to be in |\pd@slidetitle|.
-% \begin{macrocode}
-\def\pd@maketocbm#1{%
-% \end{macrocode}
-% Make the bookmark entry so that it allows for easy counting of entries
-% in sections.
-% \begin{macrocode}
- \def\pd@tempa{\immediate\write\pd@bmout{%
- \string\pdbookmark{sec.\the\c@pd@section\ifnum#1=\z@.slide\fi}{%
- \ifnum#1=\z@ sec.\the\c@pd@section\fi}{\the\c@slide}%
- {\the\@temptokena}%
- }}%
-% \end{macrocode}
-% Notice that |\pd@@bm| can be undefined at every slide, even after
-% use on one slide, as the definition is done locally in the slide
-% environment. So no resetting is necessary on the start of a slide.
-% \begin{macrocode}
- \ifx\pd@@bm\@undefined
- \@temptokena\expandafter{\pd@t@tle}%
- \else
- \ifx\pd@@bm\@empty
- \let\pd@tempa\relax
- \else
- \@temptokena\expandafter{\pd@@bm}%
- \fi
- \fi
- \pd@tempa
-% \end{macrocode}
-% Write the toc entry.
-% \begin{macrocode}
- \def\pd@tempa{\immediate\write\pd@tocout{%
- \string\pdcontentsline{#1}{\the\c@slide}{\the\@temptokena}%
- }}%
- \ifx\pd@@toc\@undefined
- \@temptokena\expandafter{\pd@t@tle}%
- \else
- \ifx\pd@@toc\@empty
- \let\pd@tempa\relax
- \else
- \@temptokena\expandafter{\pd@@toc}%
- \fi
- \fi
- \pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pdbookmark}
-% \marg{sec1}\marg{sec2}\marg{target}\marg{title}\\
-% First we defined |\pdbookmark| to count the number of bookmarks
-% that needs to be nested below every section bookmark. We need to
-% know that for the pdf bookmark specification.
-% \begin{macrocode}
-\def\pdbookmark#1#2#3#4{%
- \@tempcnta\pd@pdb@@kmark{#2}%
- \advance\@tempcnta\@ne
- \@nameedef{pd@be@#2}{\the\@tempcnta}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pdb@@kmark}
-% \changes{v1.1}{2005/09/19}{Solved bug with unexpandable \cs{XKV@ifundefined}
-% when not running the $\varepsilon$-\TeX\ engine (e.g. te\TeX\ 2)}
-% \marg{section}\\
-% Returns the number of slides that we already counter for the
-% current section. Don't use |\XKV@ifundefined| here as that is not
-% expandable when not running $\varepsilon$-\TeX\ engine.
-% \begin{macrocode}
-\def\pd@pdb@@kmark#1{%
- \@ifundefined{pd@be@#1}0{\csname pd@be@#1\endcsname}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pdbookmark}
-% \changes{v1.2}{2005/10/09}{Solved bug with Acrobat Distiller}
-% \marg{sec1}\marg{sec2}\marg{target}\marg{title}\\
-% Redefine the macro to make the actual bookmark.
-% \begin{macrocode}
-\ifxetex\else
- \def\pd@pdbookmark#1#2#3#4{%
-% \end{macrocode}
-% Use |\pdfstringdef| to clean the title. Not everything can enter as
-% a bookmark in pdf.
-% \begin{macrocode}
- \pdfstringdef\pd@tempa{#4}%
- \pdfmark{pdfmark=/OUT,%
- Count={\pd@pdb@@kmark{#1}},Dest={slide.#3},%
- View={/XYZ null null null},Title={\pd@tempa}%
- }%
- }
-\fi
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pdcontentsline}
-% \marg{type}\marg{target}\marg{title}\\
-% Saves all input arguments to macros with names like |\pd@te@i|.
-% Further, it computes with a lag the starting and stopping targets
-% for every entry, |\pd@te@i@start| and |\pd@te@i@stop|.
-% \begin{macrocode}
-\def\pdcontentsline#1#2#3{%
- \ifnum\@tempcnta>\z@
- \@nameedef{pd@te@\the\@tempcnta @start}{\pd@tempa}%
- \@namedef{pd@te@\the\@tempcnta @stop}{#2}%
- \fi
- \def\pd@tempa{#2}%
- \advance\@tempcnta\@ne
- \@namedef{pd@te@\the\@tempcnta}{%
- \pdcontentsline{#1}{#2}{#3}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \changes{v1.1}{2005/09/19}{Reading \texttt{.bm} and \texttt{.toc}
-% file \cs{AtBeginDocument} to allow for using \pf{inputenc} for toc
-% and bm entries}
-% \changes{v1.4}{2005/12/10}{Solved bug in computing stopping slide for last toc entry}
-% Read the bm and toc files into memory to speed up compilation.
-% Along the way, we compute the starting and stopping target numbers
-% for highlighting toc entries and the number of slides to be nested
-% under a section bookmark entry. At begin document for allowing
-% loading of \pf{inputenc} also for bm and toc entries.
-% \begin{macrocode}
-\AtBeginDocument{%
- \InputIfFileExists{\jobname.bm}{}{}%
- \let\pdbookmark\pd@pdbookmark
- \InputIfFileExists{\jobname.bm}{}{}%
-% \end{macrocode}
-% Rewrite the bookmarks file.
-% \begin{macrocode}
- \immediate\openout\pd@bmout\jobname.bm\relax
- \@tempcnta\z@
- \def\pd@tempa{0}%
- \InputIfFileExists{\jobname.toc}{}{}%
-% \end{macrocode}
-% Save the number of toc entries.
-% \begin{macrocode}
- \edef\pd@notocentries{\the\@tempcnta}%
-% \end{macrocode}
-% Compute the starting and stopping number for the last entry.
-% \begin{macrocode}
- \ifx\r@lastslide\@undefined\@tempcntb\pd@tempa\else
- \edef\pd@tempb{\expandafter\@secondoffive\r@lastslide}%
- \@tempcntb\pd@tempb
- \fi
- \advance\@tempcntb\@ne
- \@nameedef{pd@te@\the\@tempcnta @start}{\pd@tempa}%
- \@nameedef{pd@te@\the\@tempcnta @stop}{\the\@tempcntb}%
-% \end{macrocode}
-% Rewrite the toc file.
-% \begin{macrocode}
- \immediate\openout\pd@tocout\jobname.toc\relax
-% \end{macrocode}
-% Initialize the |\pdcontentsline| macro for making toc entries.
-% \begin{macrocode}
- \let\pdcontentsline\pd@pdcontentsline
-}
-% \end{macrocode}
-% \begin{macro}{\pd@puttoc}
-% \marg{type}\\
-% Typeset the table of contents of type \meta{type} from memory.
-% \begin{macrocode}
-\def\pd@puttoc#1{%
-% \end{macrocode}
-% Initialize some numbers that we will use.
-% \begin{macrocode}
- \@tempcnta\z@
- \@tempcntb\z@
- \@tempswatrue
- \def\pd@toctype{#1}%
-% \end{macrocode}
-% Parse all available toc entries.
-% \begin{macrocode}
- \@whilenum\@tempcnta<\pd@notocentries\do{%
- \advance\@tempcnta\@ne
- \@nameuse{pd@te@\the\@tempcnta}%
- }%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pdcontentsline}
-% \changes{v1.1}{2005/09/19}{Solved bug using different toc widths}
-% \marg{type}\marg{target}\marg{title}\\
-% Typesets a toc entry.
-% \begin{macrocode}
-\def\pd@pdcontentsline#1#2#3{%
- \let\pd@tempa\relax
-% \end{macrocode}
-% Full table of contents (sections and slides).
-% \begin{macrocode}
- \ifcase\pd@toctype
-% \end{macrocode}
-% A normal slide.
-% \begin{macrocode}
- \ifcase#1\relax
-% \end{macrocode}
-% Slides before section 1.
-% \begin{macrocode}
- \ifnum\@tempcntb=\z@
- \let\pd@tempa\pd@tocdisplay
- \else
-% \end{macrocode}
-% A slide in the current section.
-% \begin{macrocode}
- \ifnum\@tempcntb=\c@pd@section
- \let\pd@tempa\pd@tocdisplay
- \fi
- \fi
- \or
-% \end{macrocode}
-% A normal section.
-% \begin{macrocode}
- \global\advance\@tempcntb\@ne
- \let\pd@tempa\pd@tocdisplay
- \or
-% \end{macrocode}
-% A hidden section.
-% \begin{macrocode}
- \global\advance\@tempcntb\@ne
- \ifnum\@tempcntb=\c@pd@section
- \let\pd@tempa\pd@tocdisplay
- \fi
- \fi
- \or
-% \end{macrocode}
-% Typeset only sections.
-% \begin{macrocode}
- \ifcase#1\relax\or
-% \end{macrocode}
-% A normal section.
-% \begin{macrocode}
- \global\advance\@tempcntb\@ne
- \let\pd@tempa\pd@tocdisplay
- \or
-% \end{macrocode}
-% A hidden section.
-% \begin{macrocode}
- \global\advance\@tempcntb\@ne
- \ifnum\@tempcntb=\c@pd@section
- \let\pd@tempa\pd@tocdisplay
- \fi
- \fi
- \or
-% \end{macrocode}
-% Only slides in current section or before the first section.
-% \begin{macrocode}
- \ifnum#1=\z@
-% \end{macrocode}
-% An entry in the current section.
-% \begin{macrocode}
- \ifnum\@tempcntb=\c@pd@section
- \let\pd@tempa\pd@tocdisplay
- \fi
- \else
-% \end{macrocode}
-% Count sections.
-% \begin{macrocode}
- \global\advance\@tempcntb\@ne
- \fi
- \fi
- \ifpd@@hlentries\ifx\pd@tempa\relax\else
- \ifnum#1=\z@
-% \end{macrocode}
-% A normal highlighted slide.
-% \begin{macrocode}
- \ifnum\c@slide<\@nameuse{pd@te@\the\@tempcnta @start}%
- \else
- \ifnum\c@slide<\@nameuse{pd@te@\the\@tempcnta @stop}%
- \let\pd@tempa\pd@tochighlight
- \fi
- \fi
- \else
- \ifpd@@hlsections
-% \end{macrocode}
-% A highlighted section.
-% \begin{macrocode}
- \ifnum\@tempcntb=\c@pd@section
- \let\pd@tempa\pd@tochighlight
- \fi
- \else
-% \end{macrocode}
-% A section with a page.
-% \begin{macrocode}
- \ifnum#2=\c@slide\ifnum\@nameuse{pd@te@\the
- \@tempcnta @stop}=\c@slide\else
- \let\pd@tempa\pd@tochighlight
- \fi\fi
- \fi
- \fi
- \fi\fi
-% \end{macrocode}
-% Build the entry, but only if the entry should be visible.
-% \begin{macrocode}
- \ifx\pd@tempa\relax\else
-% \end{macrocode}
-% Some skip. Execute the font settings so that skips like |.6ex| work
-% properly.
-% \begin{macrocode}
- \if@tempswa\@tempswafalse\else
- \pd@usedtocfont
- \ifnum\pd@usedtocorient=\z@
- \ifnum#1=\z@\vskip\pd@@tocslidesep\else\vskip\pd@@tocsecsep\fi
- \else
- \ifnum#1=\z@\hskip\pd@@tocslidesep\else\hskip\pd@@tocsecsep\fi
- \fi
- \fi
-% \end{macrocode}
-% Add a section marker.
-% \begin{macrocode}
- \ifnum#1=\z@\else\pd@@tocsecm\fi
-% \end{macrocode}
-% Output the entry. This works as follows.
-% The text |#3| is passed through one macro of |\pd@tocslide| or
-% |\pd@tocsection| which adds a `per entry layout' (eg a bullet).
-% Then |\pd@tempa| (which is |\pd@tocdisplay| or |\pd@tochighlight|)
-% displays the item as requested and |\hyperlink| adds a link to the entry.
-% The lengths |\@tempdima| and |\@tempdimb| contain the horizontal
-% indent and the remaining space for the entry respectively. The first
-% entry does not get an indent if it is a slide.
-% \begin{macrocode}
- \ifcase\pd@toctype
- \@tempdimb\pd@@tocwidth
- \or
- \@tempdimb\pd@@stocwidth
- \or
- \@tempdimb\pd@@ntocwidth
- \fi
- \ifnum#1=\z@
- \ifnum\@tempcntb=\z@\@tempdima\z@\else
- \@tempdima\pd@@tocslideindent
- \advance\@tempdimb-\pd@@tocslideindent
- \fi
- \hyperlink{slide.#2}{\pd@tempa{\pd@tocslide{#3}}}%
- \else
- \@tempdima\pd@@tocsecindent
- \advance\@tempdimb-\pd@@tocsecindent
- \hyperlink{slide.#2}{\pd@tempa{\pd@tocsection{#3}}}%
- \fi
- \ifnum\pd@usedtocorient=\z@\par\fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% The keys for the |\tableofcontents| macro.
-% \begin{macrocode}
-\define@choicekey[pd]{toc}{content}[\pd@tempa\pd@content]{%
- all,sections,currentsection,future,futuresections}{}
-\define@choicekey[pd]{toc}{type}[\pd@tempa\pd@type]{0,1}{}
-\presetkeys[pd]{toc}{content=all,type=0}{}
-% \end{macrocode}
-% \begin{macro}{\tableofcontents}
-% Typesets overviews.
-% \begin{macrocode}
-\def\tableofcontents{\@testopt\pd@tableofcontents{}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@tableofcontents}
-% \oarg{options}\\
-% Workhorse.
-% \begin{macrocode}
-\def\pd@tableofcontents[#1]{%
-% \end{macrocode}
-% To keep definitions like |\pd@@type| (reused in |itemize|) local.
-% \begin{macrocode}
- \begingroup
-% \end{macrocode}
-% Set keys with use input.
-% \begin{macrocode}
- \setkeys[pd]{toc}{#1}%
-% \end{macrocode}
-% This keeps track of whether we are in a hidden section.
-% \begin{macrocode}
- \let\pd@tempc\z@
- \def\pdcontentsline##1##2##3{%
-% \end{macrocode}
-% Count sections in the toc.
-% \begin{macrocode}
- \ifnum##1>\z@\advance\@tempcntb\@ne\fi
-% \end{macrocode}
-% Used for additional markup like |\bfseries|.
-% \begin{macrocode}
- \let\pd@tempb\@empty
-% \end{macrocode}
-% The line that is to be typeset.
-% \begin{macrocode}
- \def\pd@tempa{\hyperlink{slide.##2}{\pd@tempb##3}\par}%
-% \end{macrocode}
-% If a line should not be displayed, then here is the action to be
-% taken depending on the type. 0 leaves out material, 1 typesets it
-% in inactive color.
-% \begin{macrocode}
- \ifnum\pd@type=\z@
- \def\pd@tempd{\let\pd@tempa\relax}%
- \else
- \def\pd@tempd{\def\pd@tempb{\color\pd@@iacolor}}%
- \fi
-% \end{macrocode}
-% Update whether we are in a hidden section.
-% \begin{macrocode}
- \ifcase##1\or\let\pd@tempc\z@\or
- \ifnum\@tempcntb=\c@pd@section
- \let\pd@tempc\z@
- \else
- \let\pd@tempc\@ne
- \fi
- \fi
-% \end{macrocode}
-% If in hidden section, hide it.
-% \begin{macrocode}
- \ifnum\pd@tempc=\@ne\pd@tempd\fi
-% \end{macrocode}
-% Here are the rules for displaying material, given the input of the user.
-% Case 0 is `all'.
-% \begin{macrocode}
- \ifcase\pd@content\or
-% \end{macrocode}
-% Case `sections'.
-% \begin{macrocode}
- \ifnum##1=\z@\let\pd@tempa\relax\fi
- \or
-% \end{macrocode}
-% Case `currentsection'.
-% \begin{macrocode}
- \ifnum\@tempcntb=\c@pd@section\else\pd@tempd\fi
- \or
-% \end{macrocode}
-% Case `future'.
-% \begin{macrocode}
- \ifnum\@tempcnta<\c@slide\pd@tempd\fi
- \or
-% \end{macrocode}
-% Case `futuresections'.
-% \begin{macrocode}
- \ifnum\@tempcntb<\c@pd@section\pd@tempd\fi
- \ifnum##1=\z@\pd@tempd\fi
- \fi
-% \end{macrocode}
-% If a section, use bold font.
-% \begin{macrocode}
- \ifnum##1>\z@\XKV@addtomacro@n\pd@tempb\bfseries\fi
-% \end{macrocode}
-% Finally, typeset the entry and add some spacing.
-% \begin{macrocode}
- \ifx\pd@tempa\relax\else
- \if@tempswa\@tempswafalse\else
- \ifnum##1=\z@\else\vskip5pt\fi
- \fi
- \ifnum##1=\z@\ifnum\@tempcntb=\z@\else\hskip15pt\fi\fi
- \pd@tempa
- \fi
- }%
- \@tempcnta\z@
- \@tempcntb\z@
- \@tempswatrue
-% \end{macrocode}
-% Loop over all available toc entries.
-% \begin{macrocode}
- \@whilenum\@tempcnta<\pd@notocentries\do{%
- \advance\@tempcnta\@ne
- \@nameuse{pd@te@\the\@tempcnta}%
- }%
-% \end{macrocode}
-% Restore everything.
-% \begin{macrocode}
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% Options for parts and sections. The template key allows for modification
-% of user input for normal slide and wide slide. A style can define
-% the environment that should take the place of, eg, |wideslide| when
-% the user requests that template.
-% \begin{macrocode}
-\define@choicekey*[pd]{section}{tocsection}[\pd@tempa\pd@tempb]{%
- false,true,hidden}{}
-\define@boolkey[pd]{section}[pd@@]{slide}[true]{}
-\define@cmdkey[pd]{section}[pd@@]{template}{%
- \def\pd@tempa{slide}%
- \ifx\pd@@template\pd@tempa
- \let\pd@@template\pd@@sectemp
- \else
- \def\pd@tempa{wideslide}%
- \ifx\pd@@template\pd@tempa
- \let\pd@@template\pd@@widesectemp
- \fi
- \fi
-}
-\presetkeys[pd]{section}{tocsection=true,slide=true,template=slide}{}
-% \end{macrocode}
-% Keys for style developers to overwrite user requests silently.
-% \begin{macrocode}
-\define@cmdkeys[pd]{section}[pd@@]{sectemp,widesectemp}
-\setkeys[pd]{section}{sectemp=slide,widesectemp=slide}
-\AtBeginDocument{\disable@keys[pd]{section}{sectemp,widesectemp}}
-% \end{macrocode}
-% \begin{macro}{\pd@orig@section}
-% Make a backup of the original |\section|, to be used later.
-% \begin{macrocode}
-\let\pd@orig@section\section
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\section}
-% \changes{v1.1}{2005/09/19}{Corrected bug not allowing commas in section titles}
-% Used to create parts in the presentation and sections in the toc.
-% \begin{macrocode}
-\def\section{\@testopt\pd@section{}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@section}
-% \oarg{options}\marg{title}\\
-% Creates the part.
-% \begin{macrocode}
-\def\pd@section[#1]#2{%
-% \end{macrocode}
-% Necessary to keep toc and bm definitions local.
-% \begin{macrocode}
- \begingroup
- \pd@sectiontrue
-% \end{macrocode}
-% Extract the keys specific for |\part| first as to know what we are
-% going to produce.
-% \begin{macrocode}
- \setkeys*[pd]{section}{#1}%
-% \end{macrocode}
-% |\pd@tempb| comes from the |tocsection| key.
-% \begin{macrocode}
- \ifnum\pd@tempb=\z@
-% \end{macrocode}
-% |\XKV@rm|
-% contains all remaining keys that could not be set in the previous
-% |\setkeys| (namely, keys not in the |part| family).
-% \begin{macrocode}
- \ifpd@@slide
- \toks@{#2}%
- \@temptokena\expandafter{\XKV@rm}%
- \edef\pd@tempa{%
- \noexpand\begin{\pd@@template}%
- [bm={\the\toks@},toc={\the\toks@},%
- \the\@temptokena]{\the\toks@}%
- \noexpand\end{\pd@@template}%
- }%
- \pd@tempa
- \fi
- \else
-% \end{macrocode}
-% Set all slide specific keys as |bm| and |toc|.
-% \begin{macrocode}
- \setrmkeys*[pd]{slide}%
-% \end{macrocode}
-% Make the toc and bm entries.
-% \begin{macrocode}
- \stepcounter{pd@section}%
- \stepcounter{slide}%
- \def\pd@t@tle{#2}%
- \pd@maketocbm\pd@tempb
- \addtocounter{slide}\m@ne
- \ifpd@@slide
-% \end{macrocode}
-% Produce a slide if necessary.
-% \begin{macrocode}
- \toks@{#2}%
- \@temptokena\expandafter{\XKV@rm}%
- \edef\pd@tempa{%
- \noexpand\begin{\pd@@template}%
- [\the\@temptokena,bm=,toc=]{\the\toks@}%
- \noexpand\end{\pd@@template}%
- }%
- \pd@tempa
- \fi
- \fi
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\onslide}
-% The normal version puts material on overlay 1, hence invisible in
-% ps or pdf. The starred version eats its argument, hence does not
-% move the cursor. The plus version put material in the inactive
-% color.
-% \begin{macrocode}
-\def\onslide{%
- \@ifnextchar-\pd@@nslide{\XKV@ifstar{\pd@onslide1}{%
- \XKV@ifplus{\pd@onslide2}{\pd@onslide0}}}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@onslide}
-% \changes{v1.2}{2005/10/09}{Replaced \cs{ignorespaces} by \cs{@bsphack}
-% \cs{@esphack} in starred version}
-% \marg{type}\marg{overlays}\\
-% The workhorse. First determine whether the material should be
-% visible from the \meta{overlays} information. If not, process it in
-% the chosen way in \meta{type}.
-% \begin{macrocode}
-\def\pd@onslide#1#2{%
-% \end{macrocode}
-% Display or not?
-% \begin{macrocode}
- \pd@testdisp0{#2}%
- \if@tempswa
-% \end{macrocode}
-% Display.
-% \begin{macrocode}
- \let\pd@tempa\@firstofone
- \else
- \ifcase#1\relax
-% \end{macrocode}
-% Switch to overlay 1 (invisible), output |#1|, switch back to overlay 0.
-% We record the depth. This allows us to check whether we are in
-% hidden material already. If that is the case, don't step back to
-% overlay 0 as that will make following material visible again.
-% \begin{macrocode}
- \long\def\pd@tempa##1{%
- \pst@Verb{tx@ovlDict begin (1) BOL end}%
- \stepcounter{pd@onslidedepth}%
- ##1%
- \addtocounter{pd@onslidedepth}\m@ne
- \ifnum\c@pd@onslidedepth=\z@\ifnum\pd@currentstate=\z@
- \pst@Verb{tx@ovlDict begin (0) BOL end}%
- \fi\fi
- }%
- \or
-% \end{macrocode}
-% Eat material.
-% \begin{macrocode}
- \long\def\pd@tempa##1{\@bsphack\@esphack}%
- \or
-% \end{macrocode}
-% Put material in inactive color.
-% \begin{macrocode}
- \long\def\pd@tempa##1{{\color\pd@@iacolor##1}}%
- \fi
- \fi
- \pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@testdisp}
-% \marg{type}\marg{overlays}\\
-% This macro is used by both |\onslide| and |\item|. The former can
-% use relative notation for which \meta{type} should be 0. For the
-% latter, \meta{type} is 1. \meta{overlays} is a specification of
-% overlays where material should be visible.
-% \begin{macrocode}
-\def\pd@testdisp#1#2{%
- \@tempswafalse
-% \end{macrocode}
-% Parse the comma separated specification.
-% \begin{macrocode}
- \XKV@for@n{#2}\pd@tempa{\expandafter\pd@t@stdisp\pd@tempa--\@nil#1}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@t@stdisp}
-% \meta{s1}|-|\meta{s2}|-|\meta{s3}|\@nil|\marg{type}\\
-% Separate the input and check in which case we ended up. This macro
-% also computes the number of overlays that is necessary for this
-% slide. Notice several |\relax| at possibly unexpected places. This
-% seemed necessary for \TeX\ to properly set |\@tempswa|.
-% \begin{macrocode}
-\def\pd@t@stdisp#1-#2-#3\@nil#4{%
- \ifx\@empty#1\@empty\relax
-% \end{macrocode}
-% |-x| case.
-% \begin{macrocode}
- \ifnum#4=\z@
-% \end{macrocode}
-% Parse input further to find if relative syntax was used.
-% \begin{macrocode}
- \pd@checkrel#2\@nil\@tempcnta
- \else
- \@tempcnta#2%
-% \end{macrocode}
-% The item has no particular starting point, so it starts from overlay
-% 1. Save this for relative |\onslide| syntax in the current item.
-% \begin{macrocode}
- \def\pd@reloverlay{1}%
- \fi
-% \end{macrocode}
-% |\@tempcnta| now contains the number of overlays necessary for this
-% part of the specification. Take the maximum.
-% \begin{macrocode}
- \pd@compnooverlays\@tempcnta
- \ifnum\c@pd@overlay>\@tempcnta\else\@tempswatrue\fi
- \else
-% \end{macrocode}
-% |x|, |x-| and |x-y| cases. Check relative syntax and store the
-% corrected number in |\@tempcnta|.
-% \begin{macrocode}
- \ifnum#4=\z@
- \pd@checkrel#1\@nil\@tempcnta
- \else
- \@tempcnta#1%
-% \end{macrocode}
-% Here, the item has a special starting point. Save that to be able
-% to compute relative syntax in subsequent |\onslide|s.
-% \begin{macrocode}
- \def\pd@reloverlay{#1}%
- \fi
- \ifx\@empty#2\@empty\relax
-% \end{macrocode}
-% |x| and |x-| cases.
-% \begin{macrocode}
- \pd@compnooverlays\@tempcnta
- \ifx\@empty#3\@empty\relax
-% \end{macrocode}
-% |x| case.
-% \begin{macrocode}
- \ifnum\c@pd@overlay=\@tempcnta\@tempswatrue\fi
- \else
-% \end{macrocode}
-% |x-| case.
-% \begin{macrocode}
- \ifnum\c@pd@overlay<\@tempcnta\else\@tempswatrue\fi
- \fi
- \else
-% \end{macrocode}
-% |x-y| case. Store the final number |y| in |\@tempcntb|, maybe
-% corrected for relative syntax.
-% \begin{macrocode}
- \ifnum#4=\z@
- \pd@checkrel#2\@nil\@tempcntb
- \else
- \@tempcntb#2%
- \fi
- \pd@compnooverlays\@tempcntb
- \ifnum\c@pd@overlay<\@tempcnta\else
- \ifnum\c@pd@overlay>\@tempcntb\else\@tempswatrue\fi
- \fi
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@checkrel}
-% \meta{number}|\@nil|\marg{counter}\\
-% Checks whether \meta{number} starts with a |+| and if yes, adds the
-% current item number in |\pd@reloverlay| to \meta{counter} to make
-% relative syntax possible.
-% \begin{macrocode}
-% Check whether relative syntax has been used.
-\def\pd@checkrel#1#2\@nil#3{%
- \def\pd@tempa{#1}%
- \def\pd@tempb{+}%
- \ifx\pd@tempa\pd@tempb
- #3#2\advance#3\pd@reloverlay
- \else#3#1#2\fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@compnooverlays}
-% Keep track of the biggest number that we see as to compute the
-% number of overlays that we need to produce. Notice the |\relax| again.
-% \begin{macrocode}
-\def\pd@compnooverlays#1{%
- \ifnum#1>\pd@nooverlays\xdef\pd@nooverlays{\the#1}\fi\relax
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@orig@item}
-% Copy of \LaTeX's |\@item|.
-% \begin{macrocode}
-\let\pd@orig@item\@item
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\@item}
-% \oarg{label}\\
-% Creates the item label etcetera. We add an optional argument for
-% overlay specifications.
-% \begin{macrocode}
-\def\@item[#1]{\@ifnextchar<{\pd@item[#1]}{\pd@item[#1]<>}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@item}
-% \oarg{label}\larg{overlays}\\
-% This item allows for hiding the bullet and following content.
-% \begin{macrocode}
-\def\pd@item[#1]<#2>{%
-% \end{macrocode}
-% Possibly switch state.
-% \begin{macrocode}
- \pd@closeitem
-% \end{macrocode}
-% Enter some corrections when switching list type.
-% \begin{macrocode}
- \ifx\pd@@type\pd@currenttype\else
- \ifnum\pd@@type=\z@
- \pst@Verb{tx@ovlDict begin (1) BOL end}%
- \else
- \pst@Verb{tx@ovlDict begin (0) BOL end}%
- \normalcolor
- \fi
- \global\let\pd@currenttype\pd@@type
- \fi
-% \end{macrocode}
-% Make sure that we are on overlay 0 when the current state is such.
-% Then check if we need hiding.
-% \begin{macrocode}
- \ifnum\pd@currentstate=\z@
- \normalcolor\pst@Verb{tx@ovlDict begin (0) BOL end}%
- \pd@hide{#2}%
- \else
-% \end{macrocode}
-% Enter this color, just in case no other declarations will follow.
-% \begin{macrocode}
- \color\pd@@iacolor
- \fi
-% \end{macrocode}
-% We need to switch state at the next item. Take care of local definition.
-% \begin{macrocode}
- \ifx\@empty#2\@empty\else
- \def\pd@closeitem{\gdef\pd@currentstate{0}}%
- \fi
-% \end{macrocode}
-% Insert |\leavevmode| to avoid ps code to `leak into' |\item|, like
-% which used to be the case when |\item\onslide{2-}{test}\pause|.
-% \begin{macrocode}
- \pd@orig@item[#1]\leavevmode\ignorespaces
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@orig@@trivlist}
-% \begin{macro}{\@trivlist}
-% Save the current state for later (after getting back from nested
-% lists). And we initialize some helper functions.
-% \begin{macrocode}
-\let\pd@orig@@trivlist\@trivlist
-\def\@trivlist{%
- \global\expandafter\let\csname pd@currentstate\the\c@pd@trivlist
- \endcsname\pd@currentstate
- \ifnum\pd@@type=\z@\let\pd@closeitem\relax\fi
- \stepcounter{pd@trivlist}%
- \pd@orig@@trivlist
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@orig@endtrivlist}
-% \begin{macro}{\endtrivlist}
-% At the end of each list, make sure that we re-initialize the state
-% of that level, if necessary.
-% \begin{macrocode}
-\let\pd@orig@endtrivlist\endtrivlist
-\def\endtrivlist{%
- \addtocounter{pd@trivlist}\m@ne
- \pd@revert{%
- \global\expandafter\let\expandafter\pd@currentstate\csname
- pd@currentstate\the\c@pd@trivlist\endcsname
- }%
- \pd@orig@endtrivlist
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@hide}
-% \meta{overlays}\\
-% Hides following material until the end of the current group, usually
-% the end of an environment like |itemize|.
-% \begin{macrocode}
-\def\pd@hide#1{%
- \ifx\@empty#1\@empty\else
-% \end{macrocode}
-% If still active, we might need to become inactive.
-% \begin{macrocode}
- \ifnum\pd@currentstate=\z@
-% \end{macrocode}
-% Check the state of this item.
-% \begin{macrocode}
- \pd@testdisp1{#1}%
- \if@tempswa\else
- \ifnum\pd@@type=\z@
-% \end{macrocode}
-% Hide material onto overlay 1.
-% \begin{macrocode}
- \pst@Verb{tx@ovlDict begin (1) BOL end}%
- \else
-% \end{macrocode}
-% Switch to inactive color.
-% \begin{macrocode}
- \color\pd@@iacolor
- \fi
- \gdef\pd@currentstate{1}%
- \fi
- \fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pause}
-% Hide following material on the current overlay.
-% \begin{macrocode}
-\def\pause{\@testopt\pd@p@use1}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@p@use}
-% \oarg{steps}\\
-% This inserts a |\pd@hide| that hides material for the following
-% overlays, possibly some extra, when the optional argument is used.
-% \begin{macrocode}
-\def\pd@p@use[#1]{%
- \addtocounter{pd@pause}{#1}%
- \expandafter\pd@hide\expandafter{\the\c@pd@pause-}%
- \global\let\pd@revert\@gobble
- \ignorespaces
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@deloverlays}
-% This macro disables overlays by redefining some internals.
-% \begin{macrocode}
-\def\pd@deloverlays{%
- \def\pd@hide##1{}%
- \def\pd@onslide##1##2{\@firstofone}%
- \let\@trivlist\pd@orig@@trivlist
- \let\endtrivlist\pd@orig@endtrivlist
- \def\pd@item[##1]<##2>{\pd@orig@item[##1]\leavevmode\ignorespaces}%
-}
-% \end{macrocode}
-% \end{macro}
-% We insert an extra key in the |enumitem| family to allow for changing
-% the type of the list. 0 uses ps hiding, 1 uses inactive color when
-% items are inactive.
-% \begin{macrocode}
-\define@cmdkey{enumitem}[pd@@]{type}{}
-\setkeys{enumitem}{type=0}
-% \end{macrocode}
-% \begin{macro}{\pd@pdftrans}
-% Inserts a pdf transition effect. It allows custom transition effects
-% like wipes in different directions. But if you do that, it will warn
-% that it might not work.
-% \begin{macrocode}
-\ifxetex\else
- \def\pd@pdftrans{%
- \@expandtwoargs\in@{,\pd@@trans,}{%
- ,Split,Blinds,Box,Wipe,Dissolve,Glitter,%
- Replace,Fly,Push,Cover,Uncover,Fade,}%
- \ifin@\else
- \pd@warn{Transition `\pd@@trans' might not be understood by
- your ps to pdf converter}%
- \fi
- \pdfmark{%
- pdfmark=/PUT,%
- Raw={\string{ThisPage\string}%
- <</Trans << /S /\pd@@trans\space >> >>%
- }%
- }%
- }
-\fi
-% \end{macrocode}
-% \end{macro}
-% Two column keys.
-% \begin{macrocode}
-\define@cmdkeys[pd]{twocolumn}[pd@@]{%
- lineheight,lfrheight,rfrheight,lcolwidth,rcolwidth,%
- topsep,bottomsep,indent,lineprop,lfrprop,rfrprop%
-}
-% \end{macrocode}
-% We use two lengths as we need to do some computations with these
-% key settings.
-% \begin{macrocode}
-\define@key[pd]{twocolumn}{colsep}{\setlength\pd@colsep{#1}}
-\define@key[pd]{twocolumn}{frsep}{\setlength\pd@frsep{#1}}
-% \end{macrocode}
-% Presets.
-% \begin{macrocode}
-\presetkeys[pd]{twocolumn}{frsep=1.5mm,colsep=.06\linewidth,%
- lcolwidth=.47\linewidth,rcolwidth=.47\linewidth,topsep=0cm,%
- bottomsep=0cm,indent=0cm,lineprop=,lfrprop=,rfrprop=,%
- lineheight=,lfrheight=,rfrheight=%
-}{}
-% \end{macrocode}
-% \begin{macro}{\twocolumn}
-% \begin{macro}{\pd@twocolumn}
-% Construct two columns and put material in it.
-% \begin{macrocode}
-\def\twocolumn{\@testopt\pd@twocolumn{}}
-\long\def\pd@twocolumn[#1]#2#3{%
- \setkeys[pd]{twocolumn}{#1}%
- \sbox\pd@tba{\begin{minipage}\pd@@lcolwidth\pd@@textfont#2\end{minipage}}%
- \setlength\@tempdima{\the\ht\pd@tba}%
- \addtolength\@tempdima{\the\dp\pd@tba}%
- \sbox\pd@tbb{\begin{minipage}\pd@@rcolwidth\pd@@textfont#3\end{minipage}}%
- \setlength\@tempdimb{\the\ht\pd@tbb}%
- \addtolength\@tempdimb{\the\dp\pd@tbb}%
- \setlength\@tempdimc{\pd@maxdim\@tempdima\@tempdimb}%
- \ifx\pd@@lfrheight\@empty\else
- \setlength\@tempdimc{\pd@maxdim\pd@@lfrheight\@tempdimc}%
- \fi
- \ifx\pd@@lineheight\@empty\else
- \setlength\@tempdimc{\pd@maxdim\pd@@lineheight\@tempdimc}%
- \fi
- \ifx\pd@@rfrheight\@empty\else
- \setlength\@tempdimc{\pd@maxdim\pd@@rfrheight\@tempdimc}%
- \fi
- \begin{pspicture}(-\pd@@indent,\pd@@topsep)(\linewidth,-\@tempdimc)%
- \psset{linewidth=.25pt,linecolor=\pd@color}%
- \setlength\@tempdima\pd@@lcolwidth
- \addtolength\@tempdima\pd@frsep
- \ifx\pd@@lfrheight\@empty\else
- \expandafter\psframe\expandafter[\pd@@lfrprop]%
- (-\pd@frsep,\pd@frsep)(\@tempdima,-\pd@@lfrheight)%
- \fi
- \rput[tl](0,0){\usebox\pd@tba}%
- \setlength\@tempdima\pd@@lcolwidth
- \addtolength\@tempdima{.5\pd@colsep}%
- \ifx\pd@@lineheight\@empty\else
- \expandafter\psline\expandafter[\pd@@lineprop]%
- (\@tempdima,\pd@frsep)(\@tempdima,-\pd@@lineheight)%
- \fi
- \addtolength\@tempdima{.5\pd@colsep}%
- \setlength\@tempdimc\@tempdima
- \addtolength\@tempdima{-\pd@frsep}%
- \setlength\@tempdimb\@tempdima
- \addtolength\@tempdimb\pd@@rcolwidth
- \addtolength\@tempdimb{2\pd@frsep}%
- \ifx\pd@@rfrheight\@empty\else
- \expandafter\psframe\expandafter[\pd@@rfrprop]%
- (\@tempdima,\pd@frsep)(\@tempdimb,-\pd@@rfrheight)%
- \fi
- \rput[tl](\@tempdimc,0){\usebox\pd@tbb}%
- \end{pspicture}\par
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{environment}{figure}
-% \begin{environment}{table}
-% Avoid floating |figure| and |table| environments.
-% \begin{macrocode}
-\renewenvironment{figure}[1][]{%
- \def\@captype{figure}%
- \par\begin{center}%
-}{\par\end{center}}
-\renewenvironment{table}[1][]{%
- \def\@captype{table}%
- \par\begin{center}%
-}{\par\end{center}}
-% \end{macrocode}
-% \end{environment}
-% \end{environment}
-% \begin{macro}{\pddefinelyxtemplate}
-% \meta{cs}\marg{template}
-% Support for \LyX, where slides are delimited by an explicit |\lyxend|.
-% This defines the \meta{cs} to look optional keys, the slide title
-% and finally for |\lyxend| to collect the body of the slide.
-% After that, it creates a slide with \meta{template}.
-% \begin{macrocode}
-\def\pddefinelyxtemplate#1#2{\def#1{\pd@lyxgetargsandbody{#2}}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@lyxgetargsandbody}
-% \marg{template}\\
-% Check for optional keys.
-% \begin{macrocode}
-\def\pd@lyxgetargsandbody#1{\@testopt{\pd@lyxget@rgsandbody{#1}}{}}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@lyxget@rgsandbody}
-% \marg{template}\oarg{options}\marg{title}\\
-% This pretends to be an environment with name \meta{template}. The
-% slide title and body are saved, keys are set and the slide is executed.
-% This all happens in a local group to keep definitions (eg |toc| key)
-% local. We again have three different methods to process the slide.
-% Now, the verbatim version is more complicated as we have to look
-% for |\lyxend| instead of |\end{slide}|.
-% \begin{macrocode}
-\def\pd@lyxget@rgsandbody#1[#2]#3{%
- \begingroup
-% \end{macrocode}
-% Initial settings and checks.
-% \begin{macrocode}
- \def\@currenvir{#1}%
- \pd@get@rgs@ndbody{#2}{#3}%
- \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@
-% \end{macrocode}
-% Eat the body until |\lyxend|.
-% \begin{macrocode}
- \let\pd@tempa\pd@lyxget@rgs@ndbody
- \else
- \ifnum\pd@method=\@ne
- \def\pd@tempa{%
-% \end{macrocode}
-% Start writing to a temporary file and redefine |\verbatim@processline|
-% to scan lines for |\lyxend|. We only stop if |\lyxend| occurs on the
-% first character of the input line.
-% \begin{macrocode}
- \immediate\openout\pd@vrbout\jobname.vrb\relax
- \def\verbatim@processline{%
-% \end{macrocode}
-% Check for |\lyxend|.
-% \begin{macrocode}
- \pd@lyxget@rgs@ndb@dy
- \ifin@
-% \end{macrocode}
-% If we found it, stop. |\pd@tempa| eats the next four tokens which
-% would otherwise make \pf{verbatim} continue with reading.
-% \begin{macrocode}
- \let\pd@tempa\@gobblefour
-% \end{macrocode}
-% |\next| occurs in the \pf{verbatim} macros. We define it to close
-% the output file, execute the slide, write the remaining part of
-% the line with |\lyxend| to file and read it back in. We need to
-% do this as this content (probably |\lyxslide|) has been sanitized
-% while reading in verbatim mode. We could also use |\scantokens|
-% if we keep in mind that that, just as |\input|, introduces line
-% feeds and end-of-file characters in the input stream which the
-% \pf{verbatim} macros can't handle. Morten H\o gholm proposed the
-% following instead.
-%\begin{example}
-% \documentclass{article}
-% \begin{document}
-% \long\def\ReinsertTokens#1{%
-% \begingroup\endlinechar=-1\everyeof{}%
-% \scantokens{\def\next{\endgroup#1}}\next
-% }
-% \ReinsertTokens{\begin{verbatim}}
-% test
-% \end{verbatim}
-% \end{document}
-%\end{example}
-% We don't use that here as we don't want to force the use of
-% $\varepsilon$-\TeX\ at this moment. Instead, we read back exactly
-% one line via an input stream and execute that.
-% \begin{macrocode}
- \def\next{%
- \endgroup\immediate\closeout\pd@vrbout
- \let\verbatim@processline\pd@orig@verbatim@processline
- \pd@slide\endgroup
- \immediate\openout\pd@vrbout\jobname.vrb\relax
- \immediate\write\pd@vrbout{\pd@lyxrem}%
- \immediate\closeout\pd@vrbout
- \immediate\openin\pd@vrbout\jobname.vrb\relax
- \immediate\read\pd@vrbout to\pd@tempa
- \immediate\closein\pd@vrbout\pd@tempa
- }%
- \else
-% \end{macrocode}
-% Write a line of the body to file.
-% \begin{macrocode}
- \immediate\write\pd@vrbout{\the\verbatim@line}%
- \let\pd@tempa\relax
- \fi
- \pd@tempa
- }%
-% \end{macrocode}
-% Start the verbatim reading.
-% \begin{macrocode}
- \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active
- \verbatim@start
- }%
- \else
-% \end{macrocode}
-% This is the |direct| method, similar as before.
-% \begin{macrocode}
- \pd@deloverlays
- \let\pd@tempa\pd@sl@de
- \def\lyxend{%
- \end{pd@minipage}\end{lrbox}%
- \ifx\pd@@textpos\@empty\else
- \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}%
- \fi
- \endgroup
- }%
- \fi
- \fi
- \pd@tempa
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@lyxget@args@ndbody}
-% \meta{body}|\lyxend|\\
-% Collect material until |\lyxend|, save that in the token register
-% and start processing the slide, if necessary.
-% \begin{macrocode}
-\long\def\pd@lyxget@rgs@ndbody#1\lyxend{%
- \pd@body{#1}%
- \ifpd@display\pd@slide\fi
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macrocode}
-\begingroup\lccode`\!`\\\lowercase{\endgroup
-% \end{macrocode}
-% \begin{macro}{\pd@lyxget@args@ndb@dy}
-% \begin{macro}{\pd@lyxget@args@ndb@dy}
-% These macros check if |\lyxend| occurs in the input line (in
-% sanitize version) and if so, if it occurs on the first character.
-% That allows for including |\lyxend| somewhere in the line, for
-% instance, in a verbatim text.
-% \begin{macrocode}
-\def\pd@lyxget@rgs@ndb@dy{%
- \@expandtwoargs\in@{!lyxend}{\the\verbatim@line}%
- \ifin@\expandafter\pd@lyxget@rgs@ndb@d@\the\verbatim@line\@nil\fi
-}
-\def\pd@lyxget@rgs@ndb@d@#1!lyxend#2\@nil{%
- \ifx\@empty#1\@empty\gdef\pd@lyxrem{#2}\else\in@false\fi
-}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\lyxend}
-% This macro acts mainly as delimiter and doesn't need to be defined
-% but we do it anyway as to make it harmless when there is a superfluous
-% one in the file.
-% \begin{macrocode}
-\def\lyxend{}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\lyxnote}
-% \begin{macro}{\lyxslide}
-% \begin{macro}{\lyxwideslide}
-% \begin{macro}{\lyxemptyslide}
-% These create the standard available templates. Any template can be
-% supported for \LyX\ in this way.
-% \begin{macrocode}
-\pddefinelyxtemplate\lyxnote{note}
-\pddefinelyxtemplate\lyxslide{slide}
-\pddefinelyxtemplate\lyxwideslide{wideslide}
-\pddefinelyxtemplate\lyxemptyslide{emptyslide}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \changes{v1.1}{2005/09/19}{Solved \texttt{itemize} and \pf{frenchb} problem}
-% Some compatibility things. We don't want \pf{frenchb} from
-% \pf{babel} to redefine the |itemize| environment.
-% \begin{macrocode}
-\AtBeginDocument{%
- \@expandtwoargs\in@{,frenchb.ldf,}{,\@filelist,}%
- \ifin@
- \let\bbl@frenchindent\relax
- \let\bbl@frenchitemize\relax
- \let\bbl@frenchlistspacing\relax
- \fi
-% \end{macrocode}
-% \begin{environment}{thebibliography}
-% Redefine the |thebibliography| environment. This is based on
-% \pf{article}, but does not create marks or a section.
-% \begin{macrocode}
- \renewenvironment{thebibliography}[1]{%
- \list{\@biblabel{\@arabic\c@enumiv}}{%
- \settowidth\labelwidth{\@biblabel{#1}}%
- \leftmargin\labelwidth
- \advance\leftmargin\labelsep
- \@openbib@code
- \usecounter{enumiv}%
- \let\p@enumiv\@empty
- \renewcommand\theenumiv{\@arabic\c@enumiv}%
- }%
- \sloppy
- \clubpenalty4000
- \@clubpenalty \clubpenalty
- \widowpenalty4000%
- \sfcode`\.\@m
- }{%
- \def\@noitemerr
- {\@latex@warning{Empty `thebibliography' environment}}%
- \endlist
- }%
- \@ifpackageloaded{CJK}{%
- \count@=127
- \@whilenum\count@<255\do{%
- \advance\count@\@ne
- \lccode`\~=\count@
- \catcode\count@=\active
- \lowercase{\def~{\kern1ex}}%
- }%
- \hypersetup{CJKbookmarks=true}%
- }{}%
-% \end{macrocode}
-% \end{environment}
-% \begin{macrocode}
-}
-\ifnum\pd@mode=\z@
-% \end{macrocode}
-% \begin{macro}{\label}
-% \begin{macro}{\label@in@display}
-% \marg{name}\\
-% We redefine these two macros (|\AtBeginDocument| for \pf{nameref}).
-% For the current slide, we put all label names in a list. If the name
-% reappears, we don't issue the original command anymore. This is necessary
-% to avoid writing the same label multiple times because of overlays.
-% This disables the check for multiply defined labels inside slides,
-% but leaves this system in place over multiple slides. The latter
-% macro is used in \pf{amsmath}.
-% \begin{macrocode}
- \AtBeginDocument{%
- \let\pd@orig@label\label
- \def\label{\pd@label\pd@orig@label}%
- \let\pd@orig@label@in@display\label@in@display
- \def\label@in@display{\pd@label\pd@orig@label@in@display}%
- }
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@label}
-% \meta{label-macro}\marg{name}\\
-% Helper macro that checks reappearance of labels on slides.
-% \begin{macrocode}
- \def\pd@label#1#2{%
- \@expandtwoargs\in@{,#2,}{,\pd@labels,}%
- \ifin@\else
- \global\XKV@addtolist@x\pd@labels{#2}%
- #1{#2}%
- \fi
- }
-% \end{macrocode}
-% \end{macro}
-% No overlays in print of handout mode.
-% \begin{macrocode}
-\else\pd@deloverlays\let\pd@pdftrans\relax\fi
-% \end{macrocode}
-% For handout mode, we make some redefinitions.
-% \begin{macrocode}
-\ifnum\pd@mode=2
-% \end{macrocode}
-% \begin{macro}{\pd@newpage}
-% \begin{macro}{\pd@n@wpage}
-% Alternate between making a |\newpage| and not. This results in
-% two slides per page.
-% \begin{macrocode}
-\def\pd@n@wpage{%
- \gdef\pd@newpage{%
- \global\let\pd@newpage\pd@n@wpage
- \newpage
- }%
-}
-\let\pd@newpage\pd@n@wpage
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@get@rgsandbody}
-% \changes{v1.2}{2005/10/09}{Added \cs{@currentlabel} definition}
-% \changes{v1.3}{2005/12/06}{Made body text \cs{raggedright}}
-% \changes{v1.4}{2005/12/10}{Fixed \LyX\ handout mode}
-% The new slide environment.
-% \begin{macrocode}
-\def\pd@get@rgsandbody#1[#2]#3{%
- \setkeys[pd]{glslide,slide}{#2}%
- \def\pd@t@tle{#3}%
-% \end{macrocode}
-% Determine to include this slide or not.
-% \begin{macrocode}
- \def\pd@tempa{note}%
- \let\pd@resa\@currenvir
- \pd@displaytrue
- \ifcase\pd@display
- \ifx\pd@resa\pd@tempa\relax\pd@displayfalse\fi
- \or
- \ifx\pd@resa\pd@tempa\else\pd@displayfalse\fi
- \fi
-% \end{macrocode}
-% No bookmarks or targets for notes.
-% \begin{macrocode}
- \ifx\pd@resa\pd@tempa\else
- \stepcounter{slide}%
- \edef\@currentlabel{\the\c@slide}%
- \let\pd@tempb\@empty
- \pd@maketocbm0%
- \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend
- \fi
-% \end{macrocode}
-% For \LyX\ handout mode. Reset it immediately to avoid any problems
-% with superfluous occurrences of |\lyxend|.
-% \begin{macrocode}
- \gdef\lyxend{\gdef\lyxend{}\pd@slide}%
-% \end{macrocode}
-% The |lrbox| will typeset and capture content. This allows for
-% verbatim on slides.
-% \begin{macrocode}
- \begin{lrbox}\pd@textbox
-% \end{macrocode}
-% $16=2\times7+2\times1$.
-% \begin{macrocode}
- \@tempdima\linewidth
- \ifpd@@nohandoutframes\else
- \advance\@tempdima-16pt
- \fi
- \begin{minipage}\@tempdima
- \subsection*\pd@t@tle
-% \end{macrocode}
-% This |\pd@displaytrue| only acts locally to make sure that |\endslide|
-% is executed.
-% \begin{macrocode}
- \pd@displaytrue\raggedright
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@lyxget@rgsandbody}
-% In \LyX\ handout mode, we start making slides in the same way as in
-% \LaTeX\ handout mode, but in |\pd@get@rgsandbody|, we need to make
-% |\lyxend| to finish the slide boxes which is normally done by
-% |\end{slide}| (or friends).
-% \begin{macrocode}
-\let\pd@lyxget@rgsandbody\pd@get@rgsandbody
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@slide}
-% This creates the slide, if necessary.
-% \begin{macrocode}
-\def\pd@slide{%
- \end{minipage}\end{lrbox}%
-% \end{macrocode}
-% If this slide should be visible, include it in a frame.
-% \begin{macrocode}
- \ifpd@display
- \ifpd@@nohandoutframes
- \usebox\pd@textbox
- \else
- \fboxrule1pt\fboxsep7pt
- \fbox{\usebox\pd@textbox}%
- \fi
- \par\smallskip
- \pd@@lf\hfill\ifx\pd@@rf\@empty\else\pd@@rf\ -- \fi
- \def\pd@tempa{note}%
- \ifx\pd@resa\pd@tempa
-% \end{macrocode}
-% Determine if this is another note with the same slide.
-% \begin{macrocode}
- \ifnum\c@slide=\pd@notet
- \stepcounter{note}%
- \else
- \setcounter{note}{1}%
- \fi
- \xdef\pd@notet{\the\c@slide}%
- \thenote
- \else\theslide\fi
- \par\bigskip
- \ifpd@@nohandoutpagebreaks\else\vfill\pd@newpage\fi
- \fi
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@maketitle}
-% Uses the original \pf{article} |\maketitle| and puts the table of
-% contents below it.
-% \begin{macrocode}
-\def\pd@maketitle[#1]{%
- \pd@orig@maketitle
- \vskip50pt
- \pd@puttoc0%
- \newpage
- \stepcounter{slide}%
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pdcontentsline}
-% \changes{v1.1}{2005/09/19}{Solved toc bug in handout mode}
-% \marg{type}\marg{target}\marg{title}\\
-% Make table of contents entries.
-% \begin{macrocode}
-\def\pd@pdcontentsline#1#2#3{%
- \ifnum#1=\z@
-% \end{macrocode}
-% Slide.
-% \begin{macrocode}
- \ifnum\@tempcntb>\z@\hskip15pt\fi
- \hyperlink{slide.#2}{#3}%
- \leaders\hbox{\hss.\ \hss}\hfill#2\par
- \else
-% \end{macrocode}
-% Section.
-% \begin{macrocode}
- \if@tempswa\else\vskip10pt\fi
- \hyperlink{slide.#2}{\bfseries#3}%
- {\hfill\bfseries#2}\par
- \global\advance\@tempcntb\@ne
- \fi
- \@tempswafalse
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@section}
-% \oarg{options}\marg{title}\\
-% Like before, but simplified.
-% \begin{macrocode}
-\def\pd@section[#1]#2{%
- \begingroup
- \setkeys*[pd]{section}{#1}%
- \setrmkeys*[pd]{slide}%
- \def\pd@tempa{%
- \stepcounter{slide}%
- \def\pd@t@tle{#2}%
- \pd@maketocbm\pd@tempb
- \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend
- \pd@orig@section*{#2\normalfont\hfill\theslide}%
- }%
- \ifnum\pd@display=\@ne\ifpd@@slide\stepcounter{slide}\fi\else
- \ifnum\pd@tempb=\z@
- \ifpd@@slide\pd@tempa\fi
- \else
- \stepcounter{pd@section}%
- \pd@tempa
- \ifpd@@slide\else\addtocounter{slide}\m@ne\fi
- \fi
- \fi
- \endgroup
-}
-% \end{macrocode}
-% \end{macro}
-% End of handout mode specific definitions.
-% \begin{macrocode}
-\fi
-% \end{macrocode}
-% Here follow some miscellaneous utility macros.
-% \begin{macro}{\@nameedef}
-% \marg{csname}\\
-% Similar as |\@namedef|, but uses |\edef| to define the command with
-% name \meta{csname}.
-% \begin{macrocode}
-\def\@nameedef#1{\expandafter\edef\csname#1\endcsname}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@namelet}
-% \marg{cs1}\marg{cs2}\\
-% Copy the replacement text of macro with name \meta{cs2} to the macro
-% with name \meta{cs1}. We use a private version as |\@namelet| has
-% many conflicting definitions is different packages.
-% \begin{macrocode}
-\def\pd@namelet#1#2{%
- \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
-}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@pop}
-% \begin{macro}{\pd@p@p}
-% \meta{list}\meta{cmd}
-% Remove the first element of a comma separated \meta{list} and store
-% that in \meta{cmd}.
-% \begin{macrocode}
-\def\pd@pop#1#2{%
- \@expandtwoargs\in@{,}{#1}%
- \ifin@\expandafter\pd@p@p#1\@nil#2#1\else\let#2#1\let#1\@empty\fi
-}
-\def\pd@p@p#1,#2\@nil#3#4{\def#3{#1}\def#4{#2}}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@maxdim}
-% \marg{dim1}\marg{dim2}\\
-% Compute the maximum of two dimensions.
-% \begin{macrocode}
-\def\pd@maxdim#1#2{\ifdim#1>#2#1\else#2\fi}
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\pd@minipage}
-% \begin{macro}{\endpd@minipage}
-% Adapted version of the |minipage| environment to do normal footnote
-% typesetting.
-% \begin{macrocode}
-\def\pd@minipage{%
- \leavevmode
- \@pboxswfalse
- \setlength\@tempdima\pd@@textwidth
- \def\@mpargs{{t}{\pd@@textheight}[t]{\pd@@textwidth}}%
- \setbox\@tempboxa\vbox\bgroup
- \color@begingroup
- \hsize\@tempdima
- \textwidth\hsize
- \columnwidth\hsize
- \@parboxrestore
- \let\@footnotetext\@mpfootnotetext
- \let\@listdepth\@mplistdepth
- \@mplistdepth\z@
- \@minipagerestore
- \@setminipage
-}
-\def\endpd@minipage{%
- \par
- \unskip
- \ifvoid\@mpfootins\else
- \vfill
- \normalcolor
- \footnoterule
- \unvbox\@mpfootins
- \fi
- \@minipagefalse
- \color@endgroup
- \egroup
- \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \begin{macro}{\pd@orig@verbatim@processline}
-% Backup of |\verbatim@processline| for restoring after verbatim
-% reading of the body of a slide.
-% \begin{macrocode}
-\let\pd@orig@verbatim@processline\verbatim@processline
-% \end{macrocode}
-% \end{macro}
-% \begin{macro}{\psds@ocircle}
-% \begin{macro}{\psds@osquare}
-% Two macros for open circle and open square dots by Herbert Vo\ss.
-% \begin{macrocode}
-\def\psds@ocircle{\pst@gdot{ 0 0 DS 0 360 arc stroke }}
-\def\psds@osquare{%
- \pst@gdot{
- DS .886 mul /r ED
- r r moveto r r neg L r neg r neg L r neg r L
- closepath stroke }%
-}
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% Load style.
-% \begin{macrocode}
-\IfFileExists{powerdot-\pd@@style.sty}{
- \RequirePackage{powerdot-\pd@@style}
-}{
- \pd@error{unknown style `\pd@@style'}
-}
-% \end{macrocode}
-% Check integrity of the style file.
-% \begin{macrocode}
-\ifx\titleslide\@undefined
- \pd@error{`titleslide' environment
- not defined by style `\pd@@style'}
-\fi
-\ifx\slide\@undefined
- \pd@error{`slide' environment not
- defined by style `\pd@@style'}
-\fi
-\ifx\pd@title\@undefined\let\pd@title\@firstofone\fi
-\ifx\pd@slidetitle\@undefined\let\pd@slidetitle\@firstofone\fi
-\ifx\pd@sectiontitle\@undefined\let\pd@sectiontitle\@firstofone\fi
-% \end{macrocode}
-% Define the standard ways to make toc entries and highlighted entries.
-% We do this here so that designers could use |\newcommand| or |\def|
-% in the style file.
-% \begin{macrocode}
-\ifx\pd@tocdisplay\@undefined
- \def\pd@tocdisplay#1{%
- \hskip\@tempdima
- \begin{minipage}[b]\@tempdimb
- \pd@usedtocfont\color\pd@@toctcolor#1%
- \end{minipage}%
- }
-\fi
-\ifx\pd@tochighlight\@undefined
- \def\pd@tochighlight#1{%
- \psframebox*[framesep=\pd@@tocfrsep,%
- fillcolor=\pd@@tochlcolor,boxsep=false]{%
- \hskip\@tempdima
- \begin{minipage}[b]\@tempdimb
- \pd@usedtocfont\color\pd@@tochltcolor#1%
- \end{minipage}%
- }%
- }
-\fi
-\ifx\pd@tocslide\@undefined\let\pd@tocslide\@firstofone\fi
-\ifx\pd@tocsection\@undefined\let\pd@tocsection\@firstofone\fi
-%</powerdot>
-% \end{macrocode}
-%
-% \Finale
-% \endinput
-%
-%<*pddefault>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-default}[2014/01/01 v1.5 default style (HA)]
-\RequirePackage{pifont}
-\definecolor{pdcolor1}{rgb}{.17,.31,.44}
-\definecolor{pdcolor2}{rgb}{.75,.85,.92}
-\definecolor{pdcolor3}{rgb}{.9,.95,.98}
-\pddefinepalettes{blue}{}{red}{
- \colorlet{pdcolor1}{pdcolor1>wheel,150}
- \colorlet{pdcolor2}{pdcolor2>wheel,150}
- \colorlet{pdcolor3}{pdcolor3>wheel,150}
-}{green}{
- \colorlet{pdcolor1}{pdcolor1>wheel,290}
- \colorlet{pdcolor2}{pdcolor2>wheel,290}
- \colorlet{pdcolor3}{pdcolor3>wheel,290}
-}{yellow}{
- \colorlet{pdcolor1}{pdcolor1>wheel,-150}
- \colorlet{pdcolor2}{pdcolor2>wheel,-150}
- \colorlet{pdcolor3}{pdcolor3>wheel,-150}
-}{brown}{
- \colorlet{pdcolor1}{pdcolor1>wheel,180}
- \colorlet{pdcolor2}{pdcolor2>wheel,180}
- \colorlet{pdcolor3}{pdcolor3>wheel,180}
-}{purple}{
- \colorlet{pdcolor1}{pdcolor1>wheel,45}
- \colorlet{pdcolor2}{pdcolor2>wheel,45}
- \colorlet{pdcolor3}{pdcolor3>wheel,45}
-}
-\newbox\pd@imagebox
-\pdifsetup{landscape}{%
- \sbox\pd@imagebox{\includegraphics[trim=50 20 0 20,clip,%
- width=.17\slidewidth,height=.1\slideheight]{powerdot-default.ps}%
- }%
-}{%
- \sbox\pd@imagebox{\includegraphics[trim=170 0 80 0,clip,%
- height=.1\slideheight]{powerdot-default.ps}%
- }%
-}
-\pddefinetemplate{titleslide}{%
- titlefont=\large\bfseries\centering,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- texthook=t,textpos={.5\slidewidth,.7\slideheight},
- textwidth=.9\slidewidth,textfont=\centering,
- textheight=.6\slideheight
-}{%
- \psframe*[linecolor=pdcolor3,linewidth=0pt]%
- (0,.8\slideheight)(\slidewidth,0)%
- \psline[linecolor=pdcolor1]%
- (0,.8\slideheight)(\slidewidth,.8\slideheight)%
-}
-\pddefinetemplate{basic}{%
- titlepos={.2\slidewidth,.93\slideheight},
- titlewidth=.75\slidewidth,textheight=.68\slideheight,
- titlefont=\large\bfseries\raggedright,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- tocslidesep=.6ex,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor1,
- tochltcolor=pdcolor3,
- ifsetup=portrait,
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.52\slidewidth,.09\slideheight},
- ifsetup=landscape,
- textpos={.2\slidewidth,.83\slideheight},
- textwidth=.75\slidewidth
-}{%
- \psframe*[linecolor=pdcolor3,linewidth=0pt]%
- (0,\slideheight)(\slidewidth,.9\slideheight)%
- \psframe*[linecolor=pdcolor2,linewidth=0pt]%
- (0,0)(\slidewidth,.1\slideheight)%
- \rput[tl](0,\slideheight){\usebox\pd@imagebox}%
-}
-\pddefinetemplate[basic]{wideslide}{%
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth
-}{}
-\pddefinetemplate[basic]{slide}{%
- ifsetup=landscape,
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
- (-.05,-.05)(.143\slidewidth,-.05)}
-}{%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=solid,fillcolor=pdcolor3,linestyle=none,%
- linewidth=0pt](0,.9\slideheight)(.17\slidewidth,.1\slideheight)%
- }{}%
-}
-\pddefinetemplate[slide]{sectionslide}{%
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- ifsetup=portrait,
- titlewidth=.9\slidewidth,
- titlepos={.5\slidewidth,.55\slideheight}
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{%
- titlehook=c,titlefont=\Large\bfseries\centering,
- titlewidth=.9\slidewidth,
- titlepos={.5\slidewidth,.55\slideheight}
-}{}
-\setkeys[pd]{section}{%
- sectemp=sectionslide,widesectemp=sectionwideslide
-}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pddefault>
-%
-%<*pdtycja>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-tycja}[2005/12/10 v1.4 tycja style (HA)]
-\RequirePackage{pifont}
-\RequirePackage{pst-grad}
-\pddefinepalettes{default}{
- \definecolor{pdcolor1}{rgb}{.09,.27,.47}
- \definecolor{pdcolor2}{rgb}{1,.81,.42}
- \definecolor{pdcolor3}{rgb}{1,.97,.84}
-}
-\pddefinetemplate{basic}{
- lfpos={.03\slidewidth,.04\slideheight},
- lffont=\scriptsize\color{pdcolor3},
- cfpos={.5\slidewidth,.04\slideheight},
- cffont=\scriptsize\color{pdcolor3},
- rfpos={.97\slidewidth,.04\slideheight},
- rffont=\scriptsize\color{pdcolor3},
- clockcolor=pdcolor1,clockhook=tl,clockalign=0,
- clockpos={0,\slideheight},
- tocslidesep=.6ex,
- ifsetup=landscape,
- textheight=.66\slideheight,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor1,
- tochltcolor=pdcolor3,
- tocpos={.845\slidewidth,.81\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
- (-.05,-.05)(.143\slidewidth,-.05)},
- ifsetup=portrait,
- toctcolor=pdcolor3,
- tochlcolor=pdcolor3,
- tochltcolor=pdcolor1,
- tocsecsep=.6ex,
- textheight=.68\slideheight,
- stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.52\slidewidth,.09\slideheight}
-}{%
- \psframe*[linecolor=pdcolor3](0,0)(\slidewidth,\slideheight)%
- \psframe*[linecolor=pdcolor1](0,0)(\slidewidth,.1\slideheight)%
- \psline[linecolor=pdcolor1]%
- (0,.85\slideheight)(.1\slidewidth,.85\slideheight)%
- (.1\slidewidth,.88\slideheight)(\slidewidth,.88\slideheight)%
-}
-\pddefinetemplate[basic]{titleslide}{
- titlefont=\large\bfseries\centering,texthook=t,
- textpos={.5\slidewidth,.7\slideheight},
- textwidth=.75\slidewidth,textfont=\centering,
- textheight=.55\slideheight,
- ifsetup=landscape,tocpos,ifsetup=portrait,stocpos,ntocpos
-}{}
-\pddefinetemplate[basic]{slide}{
- titlehook=Br,titlepos={.81\slidewidth,.93\slideheight},
- titlewidth=.76\slidewidth,titlefont=\large\bfseries\raggedleft,
- textpos={.12\slidewidth,.81\slideheight},textwidth=.67\slidewidth,
- ifsetup=portrait,
- titlepos={.9\slidewidth,.93\slideheight},titlewidth=.88\slidewidth,
- textwidth=.76\slidewidth
-}{%
- \pdifsetup{landscape}{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
- (\slidewidth,.1\slideheight)(.83\slidewidth,\slideheight)%
- }{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
- (\slidewidth,.1\slideheight)(.92\slidewidth,\slideheight)%
- }%
-}
-\pddefinetemplate[basic]{wideslide}{
- titlehook=Br,titlepos={.81\slidewidth,.93\slideheight},
- titlewidth=.76\slidewidth,titlefont=\large\bfseries\raggedleft,
- textpos={.12\slidewidth,.81\slideheight},textwidth=.84\slidewidth,
- ifsetup=landscape,tocpos,ifsetup=portrait,
- titlepos={.9\slidewidth,.93\slideheight},titlewidth=.88\slidewidth,
-}{%
- \pdifsetup{landscape}{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
- (\slidewidth,.1\slideheight)(.83\slidewidth,\slideheight)%
- \psframe*[linecolor=pdcolor3]%
- (.79\slidewidth,.88\slideheight)(\slidewidth,.1\slideheight)%
- }{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
- (\slidewidth,.1\slideheight)(.92\slidewidth,\slideheight)%
- \psframe*[linecolor=pdcolor3]%
- (.9\slidewidth,.88\slideheight)(\slidewidth,.1\slideheight)%
- }%
- \psline[linecolor=pdcolor1]%
- (0,.85\slideheight)(.1\slidewidth,.85\slideheight)%
- (.1\slidewidth,.88\slideheight)(\slidewidth,.88\slideheight)%
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.455\slidewidth,.55\slideheight},
- titlewidth=.67\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.76\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.76\slidewidth
-}{}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdtycja>
-%
-%<*pdikeda>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-ikeda}[2005/12/10 v1.4 ikeda style (CE,HA)]
-\RequirePackage{calc}
-\RequirePackage{pifont}
-\pddefinepalettes{default}{
- \definecolor{pdcolor1}{rgb}{.941,.98,1}
- \definecolor{pdcolor2}{rgb}{.435,.031,.165}
- \definecolor{pdcolor3}{rgb}{.051,.094,.29}
- \definecolor{pdcolor4}{rgb}{.051,.329,.29}
-}
-\pddefinetemplate{titleslide}{
- titlefont=\Large\bfseries\centering,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- textpos={.13\slidewidth,.7\slideheight},
- textwidth=.75\slidewidth,
- textfont=\centering,
- textheight=.56\slideheight
-}{%
- \psframe*[linecolor=pdcolor2](0,\slideheight)(\slidewidth,0)%
- \psframe*[linecolor=pdcolor3]%
- (.05\slidewidth,.95\slideheight)(.95\slidewidth,.05\slideheight)%
- \psline[linecolor=pdcolor1,linewidth=.01]%
- (.1\slidewidth,.1\slideheight)(.1\slidewidth,.9\slideheight)%
- \psline[linecolor=pdcolor1,linewidth=.01]%
- (.9\slidewidth,.1\slideheight)(.9\slidewidth,.9\slideheight)%
- \pspolygon[linestyle=none,fillstyle=vlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.1\slidewidth,.1\slideheight)(.25\slidewidth,.07\slideheight)%
- (.5\slidewidth,.1\slideheight)(.75\slidewidth,.13\slideheight)%
- (.9\slidewidth,.1\slideheight)%
- \pspolygon[linestyle=none,fillstyle=hlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.1\slidewidth,.9\slideheight)(.25\slidewidth,.93\slideheight)%
- (.5\slidewidth,.9\slideheight)(.75\slidewidth,.87\slideheight)%
- (.9\slidewidth,.9\slideheight)%
-}
-\pddefinetemplate{basic}{
- titlehook=Bc,titlefont=\large\bfseries\centering,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- tocslidesep=.6ex,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor3,
- tochltcolor=pdcolor1,
- ifsetup=portrait,
- tocsecsep=.6ex,
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,
- lfpos={.03\slidewidth,.025\slideheight},
- cfpos={.5\slidewidth,.025\slideheight},
- rfpos={.97\slidewidth,.025\slideheight},
- stochook=tr,stocpos={.47\slidewidth,.15\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.53\slidewidth,.15\slideheight},
- ifsetup=landscape,
- textpos={.2\slidewidth,.84\slideheight},
- textwidth=.75\slidewidth,
- lfpos={.19\slidewidth,.025\slideheight},
- cfpos={.58\slidewidth,.025\slideheight},
- rfpos={.97\slidewidth,.025\slideheight}
-}{%
- \psframe*[linecolor=pdcolor3](0,0)(\slidewidth,\slideheight)%
-}
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- titlewidth=.75\slidewidth,
- titlepos={.575\slidewidth,.92\slideheight},
- tocpos={.01\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor3](-.05,-.05)(.143\slidewidth,-.05)},
- textheight=.72\slideheight,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.88\slideheight},
- titlewidth=.95\slidewidth,
- textheight=.64\slideheight
-}{{%
- \psset{linestyle=none}%
- \pdifsetup{landscape}{%
- \psframe*[linecolor=pdcolor2](0,0)(.16\slidewidth,\slideheight)%
- \setlength\@tempdima{.16\slidewidth-.4cm}%
- \setlength\@tempdimb{.97\slideheight-.8cm}%
- \psframe*[linecolor=pdcolor3]%
- (.16\slidewidth,.97\slideheight)(\@tempdima,\@tempdimb)%
- \setlength\@tempdima{.16\slidewidth+.4cm}%
- \psframe*[linecolor=pdcolor2]%
- (.16\slidewidth,.97\slideheight)(\@tempdima,\@tempdimb)%
- \pspolygon[fillstyle=solid,fillcolor=pdcolor3]%
- (0,.935\slideheight)(.02\slidewidth,.945\slideheight)%
- (.065\slidewidth,.935\slideheight)(.11\slidewidth,.925\slideheight)%
- (.13\slidewidth,.935\slideheight)%
- \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.185\slidewidth,.09\slideheight)(.335\slidewidth,.06\slideheight)%
- (.58\slidewidth,.09\slideheight)%
- \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.58\slidewidth,.09\slideheight)(.825\slidewidth,.06\slideheight)%
- (.975\slidewidth,.09\slideheight)%
- }{%
- \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.02\slidewidth,.95\slideheight)(.17\slidewidth,.98\slideheight)%
- (.5\slidewidth,.95\slideheight)%
- \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.5\slidewidth,.95\slideheight)(.82\slidewidth,.98\slideheight)%
- (.98\slidewidth,.95\slideheight)%
- \pd@ikedapbg
- }%
-}}
-\pddefinetemplate[basic]{wideslide}{
- lfpos={.03\slidewidth,.025\slideheight},
- cfpos={.5\slidewidth,.025\slideheight},
- titlewidth=.95\slidewidth,
- textwidth=.95\slidewidth,
- ifsetup=landscape,
- titlepos={.5\slidewidth,.88\slideheight},
- textpos={.025\slidewidth,.84\slideheight},
- textheight=.72\slideheight,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.92\slideheight},
- textpos={.025\slidewidth,.87\slideheight},
- textheight=.68\slideheight
-}{{%
- \psset{linestyle=none}%
- \pdifsetup{landscape}{%
- \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.02\slidewidth,.95\slideheight)(.17\slidewidth,.98\slideheight)%
- (.5\slidewidth,.95\slideheight)%
- \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.5\slidewidth,.95\slideheight)(.83\slidewidth,.98\slideheight)%
- (.98\slidewidth,.95\slideheight)%
- \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.02\slidewidth,.09\slideheight)(.17\slidewidth,.06\slideheight)%
- (.5\slidewidth,.09\slideheight)%
- \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
- (.5\slidewidth,.09\slideheight)(.83\slidewidth,.06\slideheight)%
- (.98\slidewidth,.09\slideheight)%
- }\pd@ikedapbg
-}}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\def\pd@ikedapbg{%
- \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,.17\slideheight)%
- \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor3,hatchwidth=.1\pslinewidth,hatchsep=1.6pt]%
- (.05\slidewidth,.1\slideheight)(.08\slidewidth,.08\slideheight)%
- (.14\slidewidth,.1\slideheight)(.20\slidewidth,.12\slideheight)%
- (.23\slidewidth,.1\slideheight)%
- \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
- hatchcolor=pdcolor3,hatchwidth=.1\pslinewidth,hatchsep=1.6pt]%
- (.77\slidewidth,.1\slideheight)(.80\slidewidth,.12\slideheight)%
- (.86\slidewidth,.1\slideheight)(.92\slidewidth,.08\slideheight)%
- (.95\slidewidth,.1\slideheight)%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\labelitemi{\color{pdcolor2}\footnotesize\ding{110}}
-\def\labelitemii{\color{pdcolor4}\small\ding{115}}
-\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}}
-\def\labelitemiv{\color{pdcolor4}\tiny\ding{115}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdikeda>
-%
-%<*pdfyma>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-fyma}[2005/12/10 v1.3 fyma style (SA,HA)]
-\RequirePackage{pst-grad}
-\definecolor{fymahltcolor}{rgb}{1,0,0}
-\pddefinepalettes{blue}{
- \definecolor{pdcolor1}{rgb}{.14,.34,.55}
- \definecolor{pdcolor2}{rgb}{.24,.45,.7}
- \definecolor{pdcolor3}{rgb}{.88,.95,1}
-}{green}{
- \definecolor{pdcolor1}{rgb}{.1,.45,.3}
- \definecolor{pdcolor2}{rgb}{.24,.7,.45}
- \definecolor{pdcolor3}{rgb}{.88,1,.9}
-}{gray}{
- \definecolor{pdcolor1}{gray}{0.25}
- \definecolor{pdcolor2}{gray}{0.55}
- \definecolor{pdcolor3}{gray}{0.85}
-}{brown}{
- \definecolor{pdcolor1}{rgb}{.52,.32,.12}
- \definecolor{pdcolor2}{rgb}{.7,.45,.24}
- \definecolor{pdcolor3}{rgb}{.97,.92,.92}
-}{orange}{
- \definecolor{pdcolor1}{rgb}{.8,.23,.24}
- \definecolor{pdcolor2}{rgb}{.95,.53,.44}
- \definecolor{pdcolor3}{rgb}{1,.92,.87}
- \definecolor{fymahltcolor}{rgb}{.23,.25,.5}
-}
-\pddefinetemplate{basic}{
- titlefont=\large\bfseries\raggedright,
- clockpos={.96\slidewidth,.97\slideheight},clockcolor=pdcolor1,
- tocslidesep=.6ex,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor1,
- tochltcolor=fymahltcolor,
- ifsetup=portrait,
- textheight=.67\slideheight,
- titlepos={.06\slidewidth,.9\slideheight},
- titlewidth=.75\slidewidth,
- textpos={.09\slidewidth,.83\slideheight},
- textwidth=.85\slidewidth,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.48\slidewidth,.12\slideheight},
- stocfont=\tiny\raggedleft,
- ntochook=tl,ntocpos={.52\slidewidth,.12\slideheight},
- lfpos={.06\slidewidth,.045\slideheight},
- cfpos={.5\slidewidth,.045\slideheight},
- rfpos={.94\slidewidth,.045\slideheight},
- ifsetup=landscape,
- titlepos={.205\slidewidth,.9\slideheight},
- titlewidth=.75\slidewidth,
- textheight=.72\slideheight,
- textpos={.23\slidewidth,.82\slideheight},
- textwidth=.72\slidewidth,
- lfpos={.04\slidewidth,.03\slideheight},
- cfpos={.5\slidewidth,.03\slideheight},
- rfpos={.96\slidewidth,.03\slideheight},
- tocpos={.04\slidewidth,.82\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
- (-.05,-.05)(.143\slidewidth,-.05)}
-}{{%
- \psset{linewidth=.8pt,linecolor=pdcolor2}%
- \pdifsetup{landscape}{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,%
- gradend=white,gradmidpoint=0,dimen=outer]%
- (.03\slidewidth,.97\slideheight)(.97\slidewidth,.055\slideheight)%
- \psline
- (.02\slidewidth,.055\slideheight)(.98\slidewidth,.055\slideheight)%
- \psline
- (.03\slidewidth,.07\slideheight)(.03\slidewidth,.045\slideheight)%
- \psline
- (.97\slidewidth,.07\slideheight)(.97\slidewidth,.045\slideheight)%
- }{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,%
- gradend=pdcolor3,gradmidpoint=.85,dimen=outer]%
- (.03\slidewidth,.97\slideheight)(.97\slidewidth,.03\slideheight)%
- \psline
- (.02\slidewidth,.03\slideheight)(.98\slidewidth,.03\slideheight)%
- \psline
- (.03\slidewidth,.045\slideheight)(.03\slidewidth,.02\slideheight)%
- \psline
- (.97\slidewidth,.045\slideheight)(.97\slidewidth,.02\slideheight)%
- }%
- \psline
- (.02\slidewidth,.97\slideheight)(.98\slidewidth,.97\slideheight)%
- \psline
- (.03\slidewidth,.98\slideheight)(.03\slidewidth,.955\slideheight)%
- \psline
- (.97\slidewidth,.98\slideheight)(.97\slidewidth,.955\slideheight)%
-}}
-\pddefinetemplate[basic]{titleslide}{
- texthook=t,textpos={.5\slidewidth,.7\slideheight},
- textwidth=.9\slidewidth,textfont=\centering,
- textheight=.6\slideheight,
- titlefont=\large\bfseries\centering,tocpos,ntocpos,stocpos
-}{}
-\pddefinetemplate[basic]{slide}{}{%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=white,%
- gradmidpoint=1,linestyle=none,dimen=outer,linewidth=.8pt]%
- (.03\slidewidth,.97\slideheight)(.195\slidewidth,.055\slideheight)%
- }{}%
-}
-\pddefinetemplate[basic]{wideslide}{
- ifsetup=landscape,tocpos,
- titlepos={.055\slidewidth,.9\slideheight},
- titlewidth=.75\slidewidth,
- textpos={.07\slidewidth,.83\slideheight},
- textwidth=.83\slidewidth
-}{}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.59\slidewidth,.525\slideheight},
- titlewidth=.5\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.525\slideheight},
- titlewidth=.68\slidewidth
-}{{%
- \psset{linewidth=.8pt,linecolor=pdcolor2}%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]%
- (.34\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
- \psline
- (.33\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)%
- \psline
- (.33\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)%
- \psline
- (.34\slidewidth,.635\slideheight)(.34\slidewidth,.66\slideheight)%
- \psline
- (.34\slidewidth,.39\slideheight)(.34\slidewidth,.415\slideheight)%
- }{%
- \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]%
- (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
- \psline
- (.15\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)%
- \psline
- (.15\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)%
- \psline
- (.16\slidewidth,.635\slideheight)(.16\slidewidth,.66\slideheight)%
- \psline
- (.16\slidewidth,.39\slideheight)(.16\slidewidth,.415\slideheight)%
- }%
- \psline
- (.84\slidewidth,.635\slideheight)(.84\slidewidth,.66\slideheight)%
- \psline
- (.84\slidewidth,.39\slideheight)(.84\slidewidth,.415\slideheight)%
-}}
-\pddefinetemplate[wideslide]{sectionwideslide}{%
- titlehook=c,titlefont=\Large\bfseries\centering,
- titlepos={.5\slidewidth,.525\slideheight},
- titlewidth=.68\slidewidth
-}{{%
- \psset{linewidth=.8pt,linecolor=pdcolor2}%
- \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]%
- (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
- \psline
- (.15\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)%
- \psline
- (.15\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)%
- \psline
- (.16\slidewidth,.635\slideheight)(.16\slidewidth,.66\slideheight)%
- \psline
- (.16\slidewidth,.39\slideheight)(.16\slidewidth,.415\slideheight)%
- \psline
- (.84\slidewidth,.635\slideheight)(.84\slidewidth,.66\slideheight)%
- \psline
- (.84\slidewidth,.39\slideheight)(.84\slidewidth,.415\slideheight)%
-}}
-\def\pd@slidetitle#1{%
- \settowidth\@tempdima{#1}%
- \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
- \psline[linewidth=.8pt,linecolor=pdcolor1]%
- (0,-.15cm)(\@tempdima,-.15cm)%
- \parbox[b]\pd@@titlewidth{#1}%
-}
-\def\pd@tochighlight#1{%
- \begin{minipage}[b]\pd@@tocwidth
- \pd@usedtocfont\color\pd@@tochltcolor#1%
- \end{minipage}%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\ensuremath\bullet} #1}}{}
-\def\labelitemi{\small\ensuremath\bullet}
-\def\labelitemii{\small\ensuremath\circ}
-\def\labelitemiii{\scriptsize\ensuremath\bullet}
-\def\labelitemiv{\scriptsize\ensuremath\circ}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{phv}
-\def\sfdefault{phv}
-\def\Hv@scale{.86}
-%</pdfyma>
-%
-%<*pdsimple>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-simple}[2005/12/10 v1.3 simple style (HA)]
-\RequirePackage{pifont}
-\RequirePackage{amssymb}
-\pddefinepalettes{default}{\colorlet{pdcolor1}{black}}
-\pddefinetemplate{titleslide}{
- titlefont=\large\bfseries\raggedright,
- clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- texthook=tl,textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,textfont=\tabcolsep0pt,
- textheight=.66\slideheight
-}{%
- \psline[linewidth=.8pt](0,.9\slideheight)(\slidewidth,.9\slideheight)%
- \psline[linewidth=.8pt](0,.1\slideheight)(\slidewidth,.1\slideheight)%
-}
-\pddefinetemplate{basic}{
- titlepos={.05\slidewidth,.93\slideheight},
- titlewidth=.9\slidewidth,textheight=.66\slideheight,
- titlefont=\large\bfseries\raggedright,
- clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- tocslidesep=.6ex,textheight=.68\slideheight,
- ifsetup=portrait,
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.52\slidewidth,.09\slideheight},
- ifsetup=landscape,
- textpos={.2\slidewidth,.83\slideheight},
- textwidth=.75\slidewidth
-}{%
- \psline[linewidth=.8pt](0,.9\slideheight)(\slidewidth,.9\slideheight)%
- \psline[linewidth=.8pt](0,.1\slideheight)(\slidewidth,.1\slideheight)%
-}
-\pddefinetemplate[basic]{wideslide}{
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth
-}{}
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=gray]%
- (-.05,-.05)(.143\slidewidth,-.05)}
-}{%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=solid,fillcolor=black!10,linestyle=none,%
- linewidth=.8pt](-.01\slidewidth,.9\slideheight)%
- (.17\slidewidth,.1\slideheight)%
- }{}%
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\pd@tochighlight#1{\pd@tocsimple\phantom{#1}}
-\def\pd@tochighlight#1{\pd@tocsimple\@firstofone{#1}}
-\def\pd@tocsimple#1#2{%
- \@tempdima\pd@@tocwidth
- \settowidth\@tempdimb{\normalsize\ensuremath\triangleright\hskip1mm}%
- \advance\@tempdima-\@tempdimb
- \ifnum\pd@toctype=\@ne\else
- #1{\normalsize\ensuremath\triangleright\hskip1mm}%
- \fi
- \begin{minipage}[b]\@tempdima
- \pd@usedtocfont#2%
- \end{minipage}%
- \ifnum\pd@toctype=\@ne
- #1{\hskip1mm\normalsize\ensuremath\triangleleft}%
- \fi
-}
-\def\labelitemi{\footnotesize\ensuremath\square}
-\def\labelitemii{\small--}
-\def\labelitemiii{\tiny\ensuremath\triangleright}
-\def\labelitemiv{\tiny\ding{110}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdsimple>
-%
-%<*pdciment>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-ciment}[2005/12/10 v1.3 ciment style (HA)]
-\RequirePackage{pifont}
-\pddefinepalettes{default}{
- \colorlet{pdcolor1}{black}
- \definecolor{pdcolor2}{rgb}{.7,.1,.1}
- \definecolor{pdcolor3}{rgb}{.2,.2,.2}
- \definecolor{pdcolor4}{rgb}{.75,.75,.75}
-}
-\pddefinetemplate{basic}{
- titlepos={.1\slidewidth,.93\slideheight},
- titlewidth=.85\slidewidth,
- titlefont=\color{pdcolor2}\large\bfseries\raggedright,
- clockpos={.99\slidewidth,\slideheight},
- lfpos={.05\slidewidth,.04\slideheight},
- lffont=\color{pdcolor3}\scriptsize,
- cfpos={.5\slidewidth,.04\slideheight},
- cffont=\color{pdcolor3}\scriptsize,
- rfpos={.95\slidewidth,.04\slideheight},
- rffont=\color{pdcolor3}\scriptsize,
- tocslidesep=.6ex,
- toctcolor=black,
- tochlcolor=pdcolor2,
- tochltcolor=white,
- ifsetup=portrait,
- textpos={.05\slidewidth,.85\slideheight},
- textwidth=.9\slidewidth,textheight=.68\slideheight,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.48\slidewidth,.13\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.52\slidewidth,.13\slideheight},
- ifsetup=landscape,
- textpos={.2\slidewidth,.85\slideheight},
- textwidth=.75\slidewidth,textheight=.7\slideheight
-}{%
- \psframe[linewidth=0pt,linestyle=none,fillstyle=hlines,%
- hatchwidth=.4pt,hatchangle=0,hatchcolor=pdcolor4]%
- (0,0)(\slidewidth,\slideheight)%
- \pdifsetup{landscape}{%
- \psline[linecolor=pdcolor2](.05\slidewidth,.09\slideheight)%
- (.95\slidewidth,.09\slideheight)%
- }{%
- \psline[linecolor=pdcolor2](.05\slidewidth,.15\slideheight)%
- (.95\slidewidth,.15\slideheight)%
- }%
-}
-\pddefinetemplate[basic]{titleslide}{
- titlefont=\color{pdcolor2}\large\bfseries\centering,
- texthook=t,textpos={.5\slidewidth,.7\slideheight},
- textwidth=.9\slidewidth,textfont=\centering,
- textheight=.6\slideheight,titlepos,
- ifsetup=portrait,textheight=.53\slideheight
-}{}
-\pddefinetemplate[basic]{wideslide}{
- textpos={.05\slidewidth,.85\slideheight},
- textwidth=.9\slidewidth
-}{}
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
- (-.05,-.05)(.143\slidewidth,-.05)}
-}{%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=solid,fillcolor=pdcolor4,linestyle=none,%
- linewidth=0pt](0,.85\slideheight)(.17\slidewidth,.15\slideheight)%
- }{}%
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\color{pdcolor2}\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\color{pdcolor2}\Large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\def\pd@slidetitle#1{%
- \psline[linecolor=pdcolor2](0,-.15cm)(.85\slidewidth,-.15cm)%
- \settowidth\@tempdima{#1}%
- \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
- \psline[linecolor=pdcolor2,linewidth=2.5pt]%
- (0,-.15cm)(\@tempdima,-.15cm)%
- \parbox[b]\pd@@titlewidth{#1}%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\ding{226}}#1}}{}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdciment>
-%
-%<*pdelcolors>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-elcolors}[2005/12/10 v1.3 elcolors style (HA)]
-\RequirePackage{pifont}
-\pddefinepalettes{default}{
- \definecolor{pdcolor1}{rgb}{.17,.31,.44}
- \colorlet{pdcolor2}{yellow!10}
- \colorlet{pdcolor3}{red!10}
- \colorlet{pdcolor4}{blue!10}
- \colorlet{pdcolor5}{rgb,2:pdcolor2,1;pdcolor3,1}
- \colorlet{pdcolor6}{rgb,2:pdcolor2,1;pdcolor4,1}
-}
-\pddefinetemplate{basic}{
- titlepos={.95\slidewidth,.93\slideheight},titlehook=Br,
- titlewidth=.75\slidewidth,textheight=.68\slideheight,
- titlefont=\large\bfseries\raggedleft,
- clockcolor=pdcolor1,clockhook=tl,clockalign=0,
- clockpos={0,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- tocslidesep=.6ex,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor1,
- tochltcolor=pdcolor4,
- ifsetup=portrait,
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.42\slidewidth,.13\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.46\slidewidth,.13\slideheight},
- ifsetup=landscape,
- textpos={.2\slidewidth,.83\slideheight},
- textwidth=.68\slidewidth
-}{{%
- \psset{linewidth=0pt}%
- \psframe*[linecolor=pdcolor3]%
- (0,0)(.44\slidewidth,.14\slideheight)%
- \psframe*[linecolor=pdcolor3]%
- (\slidewidth,\slideheight)(.56\slidewidth,.86\slideheight)%
- \psframe*[linecolor=pdcolor2]%
- (.09\slidewidth,.09\slideheight)(.91\slidewidth,.91\slideheight)%
- \psframe*[linecolor=pdcolor5]%
- (.09\slidewidth,.09\slideheight)(.44\slidewidth,.14\slideheight)%
- \psframe*[linecolor=pdcolor5]%
- (.91\slidewidth,.91\slideheight)(.56\slidewidth,.86\slideheight)%
-}}
-\pddefinetemplate[basic]{titleslide}{
- titlefont=\large\bfseries\centering,
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- texthook=t,textpos={.5\slidewidth,.7\slideheight},
- textwidth=.76\slidewidth,textfont=\centering,
- textheight=.55\slideheight
-}{}
-\pddefinetemplate[basic]{wideslide}{
- textpos={.12\slidewidth,.83\slideheight},
- textwidth=.76\slidewidth
-}{}
-\pdifsetup{portrait}{%
- \pddefinetemplate[wideslide]{slide}{}{}%
-}{%
- \pddefinetemplate[basic]{slide}{
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
- (-.05,-.05)(.143\slidewidth,-.05)}
- }{%
- \psframe*[linecolor=pdcolor4,linewidth=0pt]%
- (0,\slideheight)(.17\slidewidth,.2\slideheight)%
- \psframe*[linecolor=pdcolor6,linewidth=0pt]%
- (.09\slidewidth,.91\slideheight)(.17\slidewidth,.2\slideheight)%
- }
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.54\slidewidth,.55\slideheight},
- titlewidth=.68\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.76\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.76\slidewidth
-}{}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdelcolors>
-%
-%<*pdaggie>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-aggie}[2005/12/10 v1.3 aggie style (JS,HA)]
-\RequirePackage{times}
-\RequirePackage{pifont}
-\RequirePackage{pst-grad}
-\pddefinepalettes{default}{
- \definecolor{pdcolor1}{rgb}{.17,.31,.44}
- \definecolor{pdcolor2}{rgb}{.51,.13,.16}
- \definecolor{pdcolor3}{rgb}{.96,.94,.89}
- \definecolor{pdcolor4}{rgb}{.89,.85,.69}
-}
-\pddefinetemplate{titleslide}{
- titlefont=\Large\bfseries\color{pdcolor2}\centering,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- lffont=\tiny,cffont=\tiny,rffont=\tiny,
- texthook=t,textpos={.5\slidewidth,.65\slideheight},
- textwidth=.9\slidewidth,textfont=\centering,
- textheight=.5\slideheight,
- ifsetup=portrait,
- textheight=.55\slideheight,
- lfpos={.03\slidewidth,.03\slideheight},
- cfpos={.5\slidewidth,.03\slideheight},
- rfpos={.97\slidewidth,.03\slideheight}
-}{%
- \psframe*[linecolor=pdcolor3,linewidth=0pt]%
- (0,.85\slideheight)(\slidewidth,0)%
- \psline[linecolor=pdcolor2]%
- (0,.85\slideheight)(\slidewidth,.85\slideheight)%
- \psellipse[linestyle=solid,linecolor=pdcolor2,fillstyle=solid,%
- fillcolor=pdcolor4](.5\slidewidth,0)(.7\slidewidth,.1\slidewidth)%
-}
-\pddefinetemplate{basic}{
- titlepos={.2\slidewidth,.93\slideheight},
- titlewidth=.75\slidewidth,textheight=.66\slideheight,
- titlefont=\Large\sl\bfseries\color{pdcolor2}\raggedright,
- lfpos={.03\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.97\slidewidth,.04\slideheight},
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- lffont=\tiny,cffont=\tiny,rffont=\tiny,
- tocslidesep=.8ex,
- textheight=.74\slideheight,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor2,
- tochltcolor=white,
- ifsetup=portrait,
- lfpos={.03\slidewidth,.03\slideheight},
- cfpos={.5\slidewidth,.03\slideheight},
- rfpos={.97\slidewidth,.03\slideheight},
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,
- tocsecsep=.8ex,
- stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.52\slidewidth,.09\slideheight},
- ifsetup=landscape,
- textpos={.2\slidewidth,.83\slideheight},
- textwidth=.75\slidewidth
-}{%
-}
-\pddefinetemplate[basic]{wideslide}{
- textpos={.05\slidewidth,.83\slideheight},
- textwidth=.9\slidewidth,
- ifsetup=portrait,textheight=.7\slideheight
-}{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,%
- gradend=white,gradmidpoint=1,gradangle=90,linewidth=0pt]%
- (0,\slideheight)(\slidewidth,.9\slideheight)%
- \pd@aggiebg
-}
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
- (-.05,-.05)(.143\slidewidth,-.05)},
- ifsetup=portrait,textheight=.7\slideheight
-}{%
- \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=white,%
- gradmidpoint=0,linestyle=none,linewidth=0pt]%
- (0,.9\slideheight)(.25\slidewidth,.075\slideheight)%
- \psellipse*[linecolor=white](.25\slidewidth,.6\slideheight)%
- (.075\slidewidth,.7\slideheight)%
- \pd@aggiebg
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\color{pdcolor2}\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\Large\bfseries\color{pdcolor2}\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\def\pd@aggiebg{%
- \pdifsetup{landscape}{%
- \psframe*[linecolor=pdcolor4](0,0)(\slidewidth,.075\slideheight)%
- \psline[linecolor=pdcolor2,linewidth=.5pt]%
- (0,.075\slideheight)(\slidewidth,.075\slideheight)%
- }{%
- \psframe*[linecolor=pdcolor4](0,0)(\slidewidth,.1\slideheight)%
- \psline[linecolor=pdcolor2,linewidth=.5pt]%
- (0,.1\slideheight)(\slidewidth,.1\slideheight)%
- }%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\pd@tocslide#1{\ding{118}\,#1}
-\def\labelitemi{\color{pdcolor2}\footnotesize\ding{108}}
-\def\labelitemii{\color{pdcolor2}\small\ding{70}}
-\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}}
-\def\labelitemiv{\color{pdcolor2}\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\renewcommand\familydefault{\sfdefault}
-%</pdaggie>
-%
-%<*pdhusky>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-husky}[2005/12/10 v1.3 husky style (JS,HA)]
-\RequirePackage{times}
-\RequirePackage{pifont}
-\RequirePackage{pst-grad}
-\pddefinepalettes{default}{
- \definecolor{pdcolor1}{rgb}{.03,0,.29}
- \definecolor{pdcolor2}{rgb}{.75,0,0}
- \definecolor{pdcolor3}{rgb}{.92,.92,.92}
-}
-\pddefinetemplate{titleslide}{
- titlefont=\Large\rmfamily\bfseries\color{pdcolor2}\centering,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- lffont=\tiny\color{white},
- cfpos={.5\slidewidth,.04\slideheight},
- cffont=\tiny\color{white},
- rfpos={.97\slidewidth,.04\slideheight},
- rffont=\tiny\color{white},
- texthook=t,textpos={.5\slidewidth,.75\slideheight},
- textwidth=.9\slidewidth,textfont=\centering,
- textheight=.66\slideheight,
- ifsetup=portrait,
- textheight=.63\slideheight,
- lfpos={.03\slidewidth,.03\slideheight},
- cfpos={.5\slidewidth,.03\slideheight},
- rfpos={.97\slidewidth,.03\slideheight},
-}{{%
- \psset{linestyle=none,linecolor=pdcolor3}%
- \pspolygon*(\slidewidth,.385\slideheight)%
- (.6\slidewidth,\slideheight)(.85\slidewidth,\slideheight)%
- (\slidewidth,.57\slideheight)%
- \pspolygon*(\slidewidth,.25\slideheight)%
- (.15\slidewidth,\slideheight)(.5\slidewidth,\slideheight)%
- (\slidewidth,.35\slideheight)%
- \pspolygon*(\slidewidth,.15\slideheight)%
- (0,.65\slideheight)(0,\slideheight)(.01\slidewidth,\slideheight)%
- (\slidewidth,.225\slideheight)%
- \pspolygon*(\slidewidth,.07\slideheight)%
- (0,.25\slideheight)(0,.535\slideheight)%
- (\slidewidth,.13\slideheight)%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=white,gradmidpoint=1,gradangle=90](0,.9\slideheight)%
- (\slidewidth,.9\slideheight)%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=white,gradmidpoint=1,gradangle=90](0,.893\slideheight)%
- (\slidewidth,.893\slideheight)%
- \pd@huskybg
-}}
-\pddefinetemplate{basic}{
- titlepos={.2\slidewidth,.93\slideheight},
- titlewidth=.75\slidewidth,textheight=.66\slideheight,
- titlefont=\Large\rmfamily\slshape\bfseries\color{pdcolor2}\raggedright,
- clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
- lfpos={.03\slidewidth,.04\slideheight},
- lffont=\tiny\color{white},
- cfpos={.5\slidewidth,.04\slideheight},
- cffont=\tiny\color{white},
- rfpos={.97\slidewidth,.04\slideheight},
- rffont=\tiny\color{white},
- tocslidesep=.8ex,
- toctcolor=black,
- tochlcolor=pdcolor2,
- tochltcolor=white,
- ifsetup=portrait,
- toctcolor=white,
- tochlcolor=black,
- titlepos={.05\slidewidth,.93\slideheight},
- lfpos={.03\slidewidth,.03\slideheight},
- cfpos={.5\slidewidth,.03\slideheight},
- rfpos={.97\slidewidth,.03\slideheight},
- textpos={.05\slidewidth,.85\slideheight},
- textheight=.73\slideheight,
- textwidth=.9\slidewidth,
- tocsecsep=.8ex,
- stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- ntochook=tl,ntocpos={.52\slidewidth,.09\slideheight},
- ntocfont=\tiny\raggedright,
- ifsetup=landscape,
- textpos={.2\slidewidth,.83\slideheight},
- textwidth=.75\slidewidth,
- textheight=.74\slideheight,
-}{{%
- \psset{linestyle=none,linecolor=pdcolor3}%
- \pspolygon*(\slidewidth,.385\slideheight)%
- (.6\slidewidth,\slideheight)(.85\slidewidth,\slideheight)%
- (\slidewidth,.57\slideheight)%
- \pspolygon*(\slidewidth,.25\slideheight)%
- (.15\slidewidth,\slideheight)(.5\slidewidth,\slideheight)%
- (\slidewidth,.35\slideheight)%
- \pspolygon*(\slidewidth,.15\slideheight)%
- (0,.65\slideheight)(0,\slideheight)(.01\slidewidth,\slideheight)%
- (\slidewidth,.225\slideheight)%
- \pspolygon*(\slidewidth,.07\slideheight)%
- (0,.25\slideheight)(0,.535\slideheight)%
- (\slidewidth,.13\slideheight)%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=white,gradmidpoint=1,gradangle=90](0,.9\slideheight)%
- (\slidewidth,.9\slideheight)%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=white,gradmidpoint=1,gradangle=90](0,.893\slideheight)%
- (\slidewidth,.893\slideheight)%
- \pd@huskybg
-}}
-\pddefinetemplate[basic]{wideslide}{
- textwidth=.9\slidewidth,
- ifsetup=landscape,
- textpos={.05\slidewidth,.83\slideheight},
- titlepos={.05\slidewidth,.93\slideheight}
-}{%
-}
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
- (-.05,-.05)(.143\slidewidth,-.05)},
-}{%
- \pdifsetup{landscape}{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,%
- gradend=black,gradmidpoint=.5](.175\slidewidth,.12\slideheight)%
- (.18\slidewidth,.95\slideheight)%
- }{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,%
- gradend=black,gradmidpoint=.25](.025\slidewidth,.12\slideheight)%
- (.025\slidewidth,\slideheight)%
- }%
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,
- titlefont=\LARGE\rmfamily\slshape\bfseries\color{pdcolor2}\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,
- titlefont=\LARGE\rmfamily\slshape\bfseries\color{pdcolor2}\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\def\pd@huskybg{%
- \pdifsetup{landscape}{%
- \psframe*[linecolor=pdcolor2,linewidth=0pt]%
- (0,0)(\slidewidth,.075\slideheight)%
- \psline[linecolor=black,linewidth=1pt]%
- (0,.075\slideheight)(\slidewidth,.075\slideheight)%
- }{%
- \psframe*[linecolor=pdcolor2,linewidth=0pt]%
- (0,0)(\slidewidth,.1\slideheight)%
- \psline[linecolor=black,linewidth=1pt]%
- (0,.1\slideheight)(\slidewidth,.1\slideheight)%
- }%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\pd@tocslide#1{\ding{118}\,#1}
-\def\labelitemi{\color{pdcolor2}\footnotesize\ding{108}}
-\def\labelitemii{\color{pdcolor2}\small\ding{70}}
-\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}}
-\def\labelitemiv{\color{pdcolor2}\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\renewcommand\familydefault{\sfdefault}
-%</pdhusky>
-%
-%<*pdsailor>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-sailor}[2005/12/10 v1.3 sailor style (MH,HA)]
-\RequirePackage{calc}
-\RequirePackage{amssymb}
-\RequirePackage{pst-grad}
-\pddefinepalettes{Sea}{% Sea sailor (default)
- \definecolor{pdcolor1}{rgb}{.141,.188,.235} % Dark blue #24303C
- \definecolor{pdcolor2}{rgb}{.298,.392,.490} % Medium blue #4C647D
- \definecolor{pdcolor3}{rgb}{.522,.592,.647} % Light blue #8597A5
- \definecolor{pdcolor4}{rgb}{.8627,.8941,.9255} % Lighter blue #DCE4EC
-}{River}{% River variant
- \definecolor{pdcolor1}{rgb}{.141,.235,.192} % Dark green #243C31
- \definecolor{pdcolor2}{rgb}{.298,.490,.404} % Medium green #4C7D67
- \definecolor{pdcolor3}{rgb}{.522,.647,.592} % Light green #85A597
- \definecolor{pdcolor4}{rgb}{.8627,.9255,.8980} % Lighter green #DCECE5
-}{Wine}{% Wine variant
- \definecolor{pdcolor1}{rgb}{.235,.141,.161} % Dark red #3C2429
- \definecolor{pdcolor2}{rgb}{.490,.298,.337} % Medium red #7D4C56
- \definecolor{pdcolor3}{rgb}{.647,.522,.545} % Light red #A5858B
- \definecolor{pdcolor4}{rgb}{.9255,.8627,.8745} % Lighter red #ECDCDF
-}{Chocolate}{% Chocolate variant
- \definecolor{pdcolor1}{rgb}{.235,.212,.141} % Dark brown #3C3624
- \definecolor{pdcolor2}{rgb}{.490,.443,.298} % Medium brown #7D714C
- \definecolor{pdcolor3}{rgb}{.647,.616,.522} % Light brown #A59D85
- \definecolor{pdcolor4}{rgb}{.9255,.9098,.8627} % Lighter brown #ECE8DC
-}{Cocktail}{% Cocktail variant
- \definecolor{pdcolor1}{rgb}{.180,.141,.235} % Dark violet #2E243C
- \definecolor{pdcolor2}{rgb}{.380,.298,.490} % Medium violet #614C7D
- \definecolor{pdcolor3}{rgb}{.576,.522,.647} % Light violet #9385A5
- \definecolor{pdcolor4}{rgb}{.8902,.8627,.9255} % Lighter violet #E3DCEC
-}
-\pddefinetemplate{basic}{%
- texthook=tl,
- titlefont=\Large\bfseries\color{white}\raggedleft,
- clockhook=tl,clockpos={0,\slideheight},clockalign=0,
- iacolor=pdcolor3,
- toctcolor=pdcolor3,
- tochlcolor=white,
- tochltcolor=pdcolor1,
- ifsetup=landscape,
- lfpos={.02\slidewidth,.02\slideheight},
- cfpos={.5\slidewidth,.02\slideheight},
- rfpos={.98\slidewidth,.02\slideheight},
- tocsecsep=2.5ex,
- tocslidesep=1.2ex,
- tocslideindent=1ex,
- tocpos={.01\slidewidth,.8\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
- (-.05,-.05)(.14\slidewidth,-.05)},
- ifsetup=portrait,
- lfpos={.02\slidewidth,.015\slideheight},
- cfpos={.5\slidewidth,.015\slideheight},
- rfpos={.98\slidewidth,.015\slideheight},
- tocsecsep=.1ex,
- tocslidesep=.1ex,
- stochook=tr,
- stocpos={.49\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- stocwidth=.48\slidewidth,
- ntocpos={.51\slidewidth,.09\slideheight},
- ntocwidth=.48\slidewidth,
-}{}
-\pddefinetemplate[basic]{topframe}{%
- titlehook=r,
- clockcolor=white,
- ifsetup=landscape,
- titlewidth=.9\slidewidth,
- titlepos={.95\slidewidth,.92\slideheight},
- textheight=.74\slideheight,
- textpos={.2\slidewidth,.8\slideheight},
- textwidth=.77\slidewidth,
- ifsetup=portrait,
- titlewidth=.94\slidewidth,
- titlepos={.98\slidewidth,.95\slideheight},
- textheight=.75\slideheight,
- textpos={.03\slidewidth,.87\slideheight},
- textwidth=.94\slidewidth
-}{%
- \pdifsetup{landscape}{%
- \pd@sailorroundedtopframe{.15\slideheight}%
- }{%
- \pd@sailorroundedtopframe{.1\slideheight}%
- }%
-}
-\pddefinetemplate[basic]{titleslide}{%
- texthook=rt,
- textpos={.95\slidewidth,.77\slideheight},
- textwidth=.9\slidewidth,
- textfont=\color{pdcolor1}\raggedleft\tabcolsep0pt,
- textheight=.72\slideheight,
- titlefont=\Large\bfseries\color{white},
- clockcolor=pdcolor1,
- tocpos,ntocpos,stocpos
-}{{%
- \psset{linecolor=pdcolor1}%
- \pdifsetup{landscape}{%
- \pd@sailorroundedframe{\slidewidth}{.25\slidewidth}{.7\slideheight}%
- {.17\slideheight}%
- }{%
- \pd@sailorroundedframe{\slidewidth}{.25\slidewidth}{.7\slideheight}%
- {.12\slideheight}%
- }%
- \pd@sailorgrad\slidewidth{.5\slideheight}%
- \psset{linecolor=pdcolor3}%
- \psarc*(0,.2\slideheight){3pt}{270}{90}%
- \multips(.08\slidewidth,.2\slideheight)(.08\slidewidth,0){9}{%
- \qdisk(0,0){3pt}%
- }%
-}}
-\pddefinetemplate[topframe]{slide}{}{{%
- \pdifsetup{landscape}{%
- \pd@sailorgrad{.16\slidewidth}{.5\slideheight}%
- \psset{linecolor=pdcolor3}%
- \multips(.16\slidewidth,0.75pt)(0,.01\slideheight){82}{%
- \qdisk(0,0){.75pt}%
- }%
- }\pd@sailortocbg
-}}
-\pddefinetemplate[topframe]{wideslide}{%
- tocpos,ifsetup=landscape,
- textpos={.03\slidewidth,.8\slideheight},
- textwidth=.94\slidewidth
-}{%
- \pdifsetup{portrait}\pd@sailortocbg{}%
-}
-\pddefinetemplate[slide]{sectionslide}{%
- titlefont=\Large\bfseries\color{pdcolor1}\centering,
- titlehook=c,
- titlewidth=.55\slidewidth,
- ifsetup=landscape,
- titlepos={.58\slidewidth,.55\slideheight},
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
-}{}
-\pddefinetemplate[basic]{sectionwideslide}{%
- tocpos,stocpos,ntocpos,
- titlehook=c,titlewidth=.75\slidewidth,
- titlepos={.4\slidewidth,.695\slideheight},
- titlefont=\Large\bfseries\color{white}\centering
-}{{%
- \pd@sailorgrad\slidewidth{.5\slideheight}%
- \psset{linecolor=pdcolor1}%
- \pdifsetup{landscape}{%
- \pd@sailorroundedframe{0pt}{.75\slidewidth}{.7\slideheight}%
- {.1\slideheight}%
- }{%
- \pd@sailorroundedframe{0pt}{.75\slidewidth}{.7\slideheight}%
- {.07\slideheight}%
- }%
- \psset{linecolor=pdcolor3}%
- \psarc*(\slidewidth,.2\slideheight){3pt}{90}{270}%
- \multips(.92\slidewidth,.2\slideheight)(-.08\slidewidth,0){9}{%
- \qdisk(0,0){3pt}%
- }%
-}}
-\def\pd@sailorroundedtopframe#1{{%
- \setlength\@tempdima{\slideheight-#1}%
- \psset{linewidth=0pt,fillcolor=pdcolor2,fillstyle=solid,linecolor=pdcolor2}%
- \psframe(#1,\slideheight)(\slidewidth,\@tempdima)%
- \pswedge*(#1,\slideheight){#1}{180}{275}%
- \psset{linecolor=pdcolor1,linewidth=.8pt}%
- \psline(\slidewidth,\@tempdima)(#1,\@tempdima)%
- \psarc[fillstyle=none](#1,\slideheight){#1}{180}{270}%
-}}
-\def\pd@sailorroundedframe#1#2#3#4{{%
- \setlength\@tempdima{#3+#4}%
- \setlength\@tempdimb{#3-#4}%
- \psset{linewidth=0pt,linecolor=pdcolor2,fillcolor=pdcolor2,fillstyle=solid}%
- \psframe(#1,\@tempdima)(#2,\@tempdimb)%
- \ifdim#1>#2\pswedge*(#2,#3){#4}{85}{275}\else\pswedge*(#2,#3){#4}{265}{95}\fi
- \psset{linecolor=pdcolor1,linewidth=.8pt}%
- \psline(#1,\@tempdima)(#2,\@tempdima)%
- \ifdim#1>#2\psarc(#2,#3){#4}{90}{270}\else\psarc(#2,#3){#4}{270}{90}\fi
- \psline(#1,\@tempdimb)(#2,\@tempdimb)%
-}}
-\def\pd@sailorgrad#1#2{%
- \psframe[linestyle=none,linewidth=0pt,fillstyle=gradient,%
- gradbegin=pdcolor4,gradend=white,gradmidpoint=0](0,0)(#1,#2)%
-}
-\def\pd@sailortocbg{{%
- \psset{linecolor=pdcolor3}%
- \pd@sailorgrad\slidewidth{.1\slideheight}%
- \multips(1.5pt,.1\slideheight)(.01\slidewidth,0){100}{%
- \qdisk(0,0){.75pt}%
- }%
-}}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\pd@title#1{%
- \parbox[c][.15\textheight]{.75\slidewidth}{\raggedleft#1}%
- \vskip-3em\vskip.2\slideheight
-}
-\def\pd@tochighlight#1{%
- \hskip\@tempdima
- \begin{minipage}[b]\@tempdimb
- \pd@usedtocfont\color\pd@@tochltcolor#1%
- \end{minipage}%
-}
-\def\labelitemi{\footnotesize\color{pdcolor2}\ensuremath\blacksquare}
-\def\labelitemii{\footnotesize\color{pdcolor1}\ensuremath\square}
-\def\labelitemiii{\tiny\color{pdcolor2}\ensuremath\blacksquare}
-\def\labelitemiv{\tiny\color{pdcolor1}\ensuremath\square}
-\pdsetup{list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}}
-\def\rmdefault{phv}
-\def\sfdefault{phv}
-\def\Hv@scale{.85}
-%</pdsailor>
-%
-%<*pdupen>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-upen}[2005/12/10 v1.3 upen style (PRU,HA)]
-\RequirePackage{calc}
-\RequirePackage{pifont}
-\RequirePackage{pst-grad}
-\pddefinepalettes{default}{
- \colorlet{pdcolor1}{white}
- \definecolor{pdcolor2}{rgb}{0,.01,.37}
- \definecolor{pdcolor3}{rgb}{.01,.06,.65}
- \definecolor{pdcolor4}{rgb}{.98,.78,.18}
-}
-\pddefinetemplate{basic}{
- titlefont=\large\bfseries\color{pdcolor4},
- clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight},
- tocslidesep=.6ex,
- toctcolor=white,
- tochlcolor=pdcolor2,
- tochltcolor=pdcolor4,
- ifsetup=portrait,
- textheight=.64\slideheight,
- titlepos={.12\slidewidth,.87\slideheight},
- titlewidth=.83\slidewidth,
- textpos={.12\slidewidth,.78\slideheight},
- textwidth=.83\slidewidth,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.47\slidewidth,.12\slideheight},
- stocfont=\tiny\raggedleft,
- ntochook=tl,ntocpos={.52\slidewidth,.12\slideheight},
- lfpos={.05\slidewidth,.045\slideheight},
- cfpos={.5\slidewidth,.045\slideheight},
- rfpos={.95\slidewidth,.045\slideheight},
- ifsetup=landscape,
- titlepos={.175\slidewidth,.87\slideheight},
- titlewidth=.775\slidewidth,
- textheight=.7\slideheight,
- textpos={.175\slidewidth,.77\slideheight},
- textwidth=.775\slidewidth,
- lfpos={.05\slidewidth,.03\slideheight},
- cfpos={.5\slidewidth,.03\slideheight},
- rfpos={.95\slidewidth,.03\slideheight},
- tocpos={.02\slidewidth,.77\slideheight},
- tocwidth=.13\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor4]%
- (-.05,-.05)(.12\slidewidth,-.05)}
-}{%
- \pdifsetup{landscape}{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=pdcolor3,gradangle=-90,gradmidpoint=0,linewidth=0pt]%
- (0,.8\slideheight)(\slidewidth,0)%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
- gradend=pdcolor2,gradmidpoint=0,dimen=outer,linewidth=0pt]%
- (0,.8\slideheight)(\slidewidth,\slideheight)%
- }{%
- \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,%
- gradend=pdcolor2,gradmidpoint=0,dimen=outer]%
- (-.01\slidewidth,1.1\slideheight)(1.05\slidewidth,-.01\slideheight)%
- }%
-}
-\pddefinetemplate[basic]{titleslide}{
- texthook=t,textpos={.5\slidewidth,.7\slideheight},
- textwidth=.9\slidewidth,textfont=\centering\color{pdcolor4},
- textheight=.63\slideheight,
- titlefont=\Large\bfseries\centering,tocpos,ntocpos,stocpos
-}{%
- \setlength\@tempdima{.8\slideheight+.5pt}%
- \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=pdcolor4,%
- gradangle=90,gradmidpoint=.5,linestyle=none,dimen=outer,linewidth=0pt]%
- (0,.8\slideheight)(\slidewidth,\@tempdima)%
- \setlength\@tempdima{.2\slideheight+.5pt}%
- \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=pdcolor4,%
- gradangle=90,gradmidpoint=.5,linestyle=none,dimen=outer,linewidth=0pt]%
- (0,.2\slideheight)(\slidewidth,\@tempdima)%
-}
-\pddefinetemplate[basic]{slide}{}{%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=pdcolor3,%
- gradmidpoint=1,linestyle=none,dimen=outer,linewidth=0pt]%
- (0,\slideheight)(.15\slidewidth,0)%
- \pd@upenbg{.15\slidewidth}{.05\slidewidth}%
- }{\pd@upenbg{.1\slidewidth}{0pt}}%
-}
-\pddefinetemplate[basic]{wideslide}{
- titlepos={.05\slidewidth,.87\slideheight},
- titlewidth=.9\slidewidth,
- textpos={.05\slidewidth,.77\slideheight},
- textwidth=.9\slidewidth,
- ifsetup=landscape,tocpos
-}{%
- \setlength\@tempdima{.8\slideheight-.5pt}%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,%
- gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]%
- (.05\slidewidth,.8\slideheight)(.5\slidewidth,\@tempdima)%
- }{%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,%
- gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]%
- (0,.8\slideheight)(.45\slidewidth,\@tempdima)%
- }%
-}
-\pddefinetemplate[slide]{sectionslide}{
- titlewidth=.45\slidewidth,titlehook=c,
- titlefont=\Large\bfseries\centering\color{pdcolor4},
- ifsetup=landscape,
- titlepos={.59\slidewidth,.53\slideheight},
- ifsetup=portrait,
- titlepos={.5\slidewidth,.53\slideheight}
-}{{%
- \psset{linewidth=.8pt,linecolor=pdcolor3}%
- \pdifsetup{landscape}{%
- \psframe[fillstyle=solid,fillcolor=pdcolor2,linestyle=none]%
- (.34\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
- }{%
- \psframe[fillstyle=solid,fillcolor=pdcolor2,linestyle=none]%
- (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
- }%
-}}
-\pddefinetemplate[wideslide]{sectionwideslide}{%
- titlewidth=.62\slidewidth,titlehook=c,
- titlefont=\Large\bfseries\centering\color{pdcolor4},
- titlepos={.5\slidewidth,.53\slideheight}
-}{%
- \psframe*[linecolor=pdcolor2]%
- (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
-}
-\def\pd@upenbg#1#2{%
- \setlength\@tempdima{#1+.5pt}%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,%
- gradmidpoint=.4,linestyle=none,dimen=outer,linewidth=0pt]%
- (#1,.5\slideheight)(\@tempdima,\slideheight)%
- \setlength\@tempdima{.45\slidewidth+#2}%
- \setlength\@tempdimb{.8\slideheight-.5pt}%
- \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,%
- gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]%
- (#2,.8\slideheight)(\@tempdima,\@tempdimb)%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\pd@tochighlight#1{%
- \begin{minipage}[b]\pd@@tocwidth
- \pd@usedtocfont\color\pd@@tochltcolor#1%
- \end{minipage}%
-}
-\pdifsetup{landscape}{\def\pd@tocentry#1{{\tiny\ensuremath\bullet}\ #1}}{}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\color{pdcolor4}\small ---}
-\def\labelitemiii{\color{red}\scriptsize\ding{115}}
-\def\labelitemiv{\color{yellow}\tiny\ensuremath\circ}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{phv}
-\def\sfdefault{phv}
-\def\Hv@scale{.85}
-%</pdupen>
-%
-%<*pdbframe>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-bframe}[2005/12/10 v1.2 bframe style (PRU,HA)]
-\RequirePackage{pifont}
-\RequirePackage{pst-blur}
-\pddefinepalettes{default}{
- \colorlet{pdcolor1}{white}
- \definecolor{pdcolor2}{rgb}{.7,.1,.1}
- \definecolor{pdcolor3}{rgb}{.01,.05,.56}
-}
-\pddefinetemplate{basic}{
- titlehook=B,titlefont=\large\bfseries\centering,
- clockcolor=pdcolor3,clockpos={.99\slidewidth,\slideheight},
- lfpos={.05\slidewidth,.04\slideheight},
- cfpos={.5\slidewidth,.04\slideheight},
- rfpos={.95\slidewidth,.04\slideheight},
- tocslidesep=.6ex,
- toctcolor=white,
- tochlcolor=pdcolor2,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.91\slideheight},
- titlewidth=.9\slidewidth,
- textpos={.05\slidewidth,.85\slideheight},
- textwidth=.9\slidewidth,textheight=.69\slideheight,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.48\slidewidth,.13\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.52\slidewidth,.13\slideheight},
- ifsetup=landscape,
- titlepos={.58\slidewidth,.91\slideheight},
- titlewidth=.75\slidewidth,
- textpos={.2\slidewidth,.85\slideheight},
- textwidth=.75\slidewidth,textheight=.69\slideheight
-}{}
-\pddefinetemplate[basic]{titleslide}{
- texthook=t,textpos={.5\slidewidth,.75\slideheight},
- textwidth=.9\slidewidth,textfont=\centering,
- titlepos,textheight=.59\slideheight
-}\pd@bframebg
-\pddefinetemplate[basic]{wideslide}{
- titlepos={.5\slidewidth,.91\slideheight},
- titlewidth=.9\slidewidth,
- textpos={.05\slidewidth,.85\slideheight},
- textwidth=.9\slidewidth
-}\pd@bframebg
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- tocpos={.015\slidewidth,.83\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
- (-.05,-.05)(.143\slidewidth,-.05)}
-}{{%
- \psset{linecolor=pdcolor3,shadow=true,blur=true,shadowcolor=gray!60}%
- \pdifsetup{landscape}{%
- \psframe*[framearc=.3](0,.87\slideheight)(.17\slidewidth,.15\slideheight)%
- \psframe*[framearc=.1](.18\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)%
- \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,.08\slideheight)%
- }{%
- \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,.14\slideheight)%
- \psframe*[framearc=.1](.02\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)%
- }%
-}}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.575\slidewidth,.55\slideheight},
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\color{white}\Large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\def\pd@bframebg{{%
- \pdifsetup{landscape}{%
- \def\pd@tempa{.08\slideheight}%
- }{%
- \def\pd@tempa{.14\slideheight}%
- }%
- \psset{linecolor=pdcolor3,shadow=true,blur=true,shadowcolor=gray!60}%
- \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,\pd@tempa)%
- \psframe*[framearc=.1](.02\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)%
-}}
-\def\pd@slidetitle#1{%
- \settowidth\@tempdima{#1}%
- \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
- \rput[B](0,0){\psframebox*[framearc=.3,fillcolor=pdcolor3,%
- shadow=true,blur=true,shadowcolor=gray!60]{%
- \parbox[b]\@tempdima{#1}%
- }%
- }%
-}
-\def\pd@title#1{%
- {\let\thanks\@gobble\let\footnote\@gobble\settowidth\@tempdima{#1}}%
- \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
- \advance\@tempdima-6pt
- \psframebox*[framearc=.3,fillcolor=pdcolor2]{\parbox[b]\@tempdima{#1}}%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\color{yellow}\ding{117}} #1}}{}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{put}
-%</pdbframe>
-%
-%<*pdhoratio>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-horatio}[2005/12/10 v1.1 horatio style (ML,HA)]
-\RequirePackage{pifont}
-\pddefinepalettes{default}{
- \definecolor{pdcolor1}{HTML}{004477}
- \definecolor{pdcolor2}{HTML}{5588ae}
-}
-\pddefinetemplate{basic}{
- titlehook=Bl,
- titlepos={.2\slidewidth,.91\slideheight},
- titlewidth=.77\slidewidth,
- titlefont=\color{white}\large\bfseries\raggedright,
- clockcolor=white,clockpos={.99\slidewidth,\slideheight},
- lfpos={.2\slidewidth,.04\slideheight},
- lffont=\tiny\color{white},
- cfpos={.585\slidewidth,.04\slideheight},
- cffont=\tiny\color{white},
- rfpos={.97\slidewidth,.04\slideheight},
- rffont=\tiny\color{white},
- tocslidesep=.6ex,
- textheight=.68\slideheight,
- ifsetup=landscape,
- toctcolor=pdcolor1,
- tochlcolor=pdcolor1,
- tochltcolor=white,
- tocpos={.01\slidewidth,.81\slideheight},
- tocwidth=.14\slidewidth,
- tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
- (-.05,-.05)(.143\slidewidth,-.05)},
- ifsetup=portrait,
- toctcolor=white,
- tochlcolor=white,
- tochltcolor=pdcolor1,
- tocsecsep=.6ex,
- stochook=tr,stocpos={.55\slidewidth,.09\slideheight},
- stocfont=\tiny\raggedleft,
- ntocpos={.57\slidewidth,.09\slideheight}
-}{{%
- \psset{linecolor=pdcolor1}%
- \psframe*(0,0)(\slidewidth,.1\slideheight)%
- \psframe*(0,.85\slideheight)(\slidewidth,\slideheight)%
- \psset{linecolor=pdcolor2,linewidth=1pt}%
- \psline(.17\slidewidth,0)(.17\slidewidth,.1\slideheight)%
- \psline(.17\slidewidth,.85\slideheight)(.17\slidewidth,\slideheight)%
-}}
-\pddefinetemplate[basic]{titleslide}{
- titlefont=\large\bfseries\centering,
- texthook=t,
- textpos={.5\slidewidth,.7\slideheight},
- textwidth=.75\slidewidth,
- textfont=\centering,
- textheight=.57\slideheight,
- ifsetup=landscape,tocpos,ifsetup=portrait,stocpos,ntocpos
-}{}
-\pddefinetemplate[basic]{slide}{
- textpos={.2\slidewidth,.81\slideheight},
- textwidth=.77\slidewidth,
- ifsetup=portrait,
- textpos={.05\slidewidth,.81\slideheight},
- textwidth=.9\slidewidth
-}{%
- \pdifsetup{landscape}{%
- \psline[linewidth=1pt,linecolor=pdcolor2]%
- (.17\slidewidth,0)(.17\slidewidth,\slideheight)%
- }{}%
-}
-\pddefinetemplate[basic]{wideslide}{
- textpos={.03\slidewidth,.81\slideheight},
- textwidth=.94\slidewidth,
- ifsetup=landscape,tocpos,ifsetup=portrait,
- textpos={.05\slidewidth,.81\slideheight},
- textwidth=.9\slidewidth
-}{}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- ifsetup=landscape,
- titlepos={.6\slidewidth,.55\slideheight},
- titlewidth=.7\slidewidth,
- ifsetup=portrait,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth
-}{}
-\pddefinetemplate[wideslide]{sectionwideslide}{
- titlehook=c,titlefont=\Large\bfseries\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.75\slidewidth
-}{}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\labelitemi{\small\ding{'64}}
-\def\labelitemii{\small\ding{'70}}
-\def\labelitemiii{\small\ding{'63}}
-\def\labelitemiv{\small\ding{'67}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdhoratio>
-%
-%<*pdpaintings>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-paintings}[2005/12/10 v1.1 paintings (TDK,HA)]
-\RequirePackage{times}
-\RequirePackage{pifont}
-\pddefinepalettes{Syndics}{% Rembrandt van Rijn: "The Syndics" - 1662
- \definecolor{pdcolor1}{rgb}{.06,.06,.06} % Black hat
- \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Collar of rising man
- \definecolor{pdcolor3}{rgb}{.22,.09,.09} % Tablecloth lower right
- \definecolor{pdcolor4}{rgb}{.97,.97,.91} % Book page
- \definecolor{pdcolor5}{rgb}{.58,.19,.13} % Tablecloth lower left
- \definecolor{pdcolor6}{rgb}{.42,.2,.22} % Back wall
- \definecolor{pdcolor7}{rgb}{.84,.71,.55} % Forehead of man in background
-}{Skater}{% Gilbert Stuart: "The Skater (Portrait of William Grant)" - 1782
- \definecolor{pdcolor1}{rgb}{.09,.06,.09} % Hat
- \definecolor{pdcolor2}{rgb}{1,.97,.94} % White collar
- \definecolor{pdcolor3}{rgb}{.26,.22,.19} % Ice
- \definecolor{pdcolor4}{rgb}{.94,.91,.87} % Sky
- \definecolor{pdcolor5}{rgb}{.78,.52,.45} % Right cheek
- \definecolor{pdcolor6}{rgb}{.45,.39,.26} % Ground under small figures
- \definecolor{pdcolor7}{rgb}{.71,.71,.68} % Frozen lake at left
-}{GoldenGate}{% Giotto: "Meeting of Joachim and Anne at the Golden Gate" - 1305-10
- \definecolor{pdcolor1}{rgb}{.13,.09,.13} % Dress of woman in black
- \definecolor{pdcolor2}{rgb}{.94,.94,.91} % Bridge
- \definecolor{pdcolor3}{rgb}{.06,.09,.22} % Blue sky
- \definecolor{pdcolor4}{rgb}{.94,.91,.87} % Dress of woman with shawl
- \definecolor{pdcolor5}{rgb}{.52,.26,.26} % Joachim's robe
- \definecolor{pdcolor6}{rgb}{.65,.35,.16} % Anne's robe
- \definecolor{pdcolor7}{rgb}{.91,.84,.42} % Joachim's halo
-}{Lamentation}{% Giotto: "Lamentation of Christ" - 1305-10
- \definecolor{pdcolor1}{rgb}{.16,.09,.06} % Dark hair of man
- \definecolor{pdcolor2}{rgb}{.91,.91,.94} % White robe at lower left
- \definecolor{pdcolor3}{rgb}{.19,.22,.29} % Cloak of Christ
- \definecolor{pdcolor4}{rgb}{.94,.94,.91} % Skin of Christ
- \definecolor{pdcolor5}{rgb}{.55,.26,.22} % Mary Magdalene dress
- \definecolor{pdcolor6}{rgb}{.19,.26,.52} % Sky
- \definecolor{pdcolor7}{rgb}{.84,.74,.71} % Mary Magdalene sleeve
-}{HolyWood}{% Piero della Francesca: "Discovery of the Holy Wood" - ca. 1455
- \definecolor{pdcolor1}{rgb}{.19,.21,.19} % Horse's ear
- \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Attendant's neck
- \definecolor{pdcolor3}{rgb}{.29,.13,.13} % Attendant's russet dress
- \definecolor{pdcolor4}{rgb}{.94,.94,.91} % Horse's rear
- \definecolor{pdcolor5}{rgb}{.22,.35,.55} % Queen of Sheba's dress
- \definecolor{pdcolor6}{rgb}{.74,.48,.42} % Dusky rose dress
- \definecolor{pdcolor7}{rgb}{.84,.71,.61} % Queen of Sheba's hand
-}{Europa}{% Titian: "The Rape of Europa" - 1559-62
- \definecolor{pdcolor1}{rgb}{.09,.06,.03} % Bull's eye
- \definecolor{pdcolor2}{rgb}{1,.97,.84} % Europa's bodice
- \definecolor{pdcolor3}{rgb}{.16,.13,.09} % Sea
- \definecolor{pdcolor4}{rgb}{1,.97,.84} % Europa's breast
- \definecolor{pdcolor5}{rgb}{.58,.26,.13} % Flying cape
- \definecolor{pdcolor6}{rgb}{.32,.29,.39} % Deep blue sky
- \definecolor{pdcolor7}{rgb}{.84,.78,.52} % Bull's right front leg
-}{Moitessier}{% Jean Auguste Dominque Ingres: "Madame Moitessier, Standing" - 1851
- \definecolor{pdcolor1}{rgb}{.06,.03,.03} % Black dress
- \definecolor{pdcolor2}{rgb}{.87,.84,.78} % Accessories at lower left
- \definecolor{pdcolor3}{rgb}{.22,.03,.06} % Deep red wall
- \definecolor{pdcolor4}{rgb}{1,.97,.91} % Accessories at lower left
- \definecolor{pdcolor5}{rgb}{.78,.35,.32} % Flower in hair
- \definecolor{pdcolor6}{rgb}{.58,.55,.71} % Blue jewel on left wrist
- \definecolor{pdcolor7}{rgb}{1,.78,.65} % Left forearm
-}{MayThird}{% Francisco Goya: "Third of May, 1808" - 1814
- \definecolor{pdcolor1}{rgb}{0,0,0} % Black sky
- \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Shirt of victim
- \definecolor{pdcolor3}{rgb}{.29,.19,.13} % Face of victim
- \definecolor{pdcolor4}{rgb}{.97,.97,.97} % Left side of lantern
- \definecolor{pdcolor5}{rgb}{.55,.26,.22} % Blood of man in foreground
- \definecolor{pdcolor6}{rgb}{.68,.48,.16} % Trousers of victim
- \definecolor{pdcolor7}{rgb}{.68,.65,.58} % Coattails of foreground soldier
-}{PearlEarring}{% Johannes Vermeer: "Girl with a Pearl Earring" - 1665
- \definecolor{pdcolor1}{rgb}{.06,.06,.06} % Pupil of eye
- \definecolor{pdcolor2}{rgb}{.97,.97,.91} % Sclera of left eye
- \definecolor{pdcolor3}{rgb}{.26,.29,.42} % Blue head scarf
- \definecolor{pdcolor4}{rgb}{1,1,.9} % Reflection off earring
- \definecolor{pdcolor5}{rgb}{.71,.61,.39} % Beige head scarf
- \definecolor{pdcolor6}{rgb}{.65,.35,.29} % Lower lip
- \definecolor{pdcolor7}{rgb}{.68,.71,.78} % Light blue over forehead
-}{Charon}{% Michelangelo: "Charon" (Detail from "The Last Judgment" - 1534-41
- \definecolor{pdcolor1}{rgb}{.91,.91,.87} % Sclera of right eye
- \definecolor{pdcolor2}{rgb}{.13,.13,.13} % Pupil of right eye
- \definecolor{pdcolor3}{rgb}{.39,.39,.48} % Left ear
- \definecolor{pdcolor4}{rgb}{.91,.91,.94} % Right forehead
- \definecolor{pdcolor5}{rgb}{.65,.71,.84} % Sky at upper right
- \definecolor{pdcolor6}{rgb}{.81,.78,.65} % Right eyebrow
- \definecolor{pdcolor7}{rgb}{.42,.35,.39} % Moustache
-}
-\pddefinetemplate{titleslide}{
- titlefont=\LARGE\sl\color{pdcolor4}\centering,
- clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight},
- texthook=t,
- textpos={.5\slidewidth,.65\slideheight},
- textwidth=.8\slidewidth,
- textfont=\large\color{pdcolor4}\centering,
- textheight=.5\slideheight
-}{%
- \psframe*[linecolor=pdcolor3](0,\slideheight)(\slidewidth,0)%
-}
-\pddefinetemplate{slide}{
- titlepos={.05\slidewidth,.93\slideheight},
- titlewidth=.9\slidewidth,
- titlefont=\bfseries\color{pdcolor4}\raggedright,
- clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight},
- textpos={.05\slidewidth,.85\slideheight},
- textwidth=.9\slidewidth,
- lfpos={.015\slidewidth,.015\slideheight},
- cfpos={.5\slidewidth,.015\slideheight},
- rfpos={.985\slidewidth,.015\slideheight},
- rftemp=\pd@@rf,
- textheight=.8\slideheight
-}{%
- \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,.89\slideheight)%
- \psframe*[linecolor=pdcolor3](0,\slideheight)(\slidewidth,.89\slideheight)%
-}
-\pddefinetemplate[slide]{wideslide}{}{}
-\pddefinetemplate[titleslide]{sectionslide}{
- titlehook=c,titlefont=\LARGE\color{pdcolor4}\centering,
- titlepos={.5\slidewidth,.55\slideheight},
- titlewidth=.8\slidewidth
-}{}
-\setkeys[pd]{section}{
- sectemp=sectionslide,widesectemp=sectionslide
-}
-\def\labelitemi{\color{pdcolor3}\ensuremath\bullet}
-\def\labelitemii{\color{pdcolor5}\ensuremath\bullet}
-\def\labelitemiii{\color{pdcolor6}\ensuremath\bullet}
-\def\labelitemiv{\color{pdcolor1}\ensuremath\bullet}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt},
- dmaxheight=.85\slideheight
-}
-\def\familydefault{\sfdefault}
-%</pdpaintings>
-%
-%<*pdklope>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-klope}[2005/12/10 v1.1 klope style (CE,HA)]
-\RequirePackage{pifont}
-\RequirePackage{pst-slpe}
-\pddefinepalettes{Spring}{
- \definecolor{pdcolor1}{rgb}{.475,.376,.271} % cedar
- \definecolor{pdcolor2}{rgb}{.682,.749,.376} % moss
- \definecolor{pdcolor3}{rgb}{1,.949,.749} % sand
- \definecolor{pdcolor4}{rgb}{.749,.675,.376} % driftwood
- \colorlet{myiacolor}{pdcolor4}
- \colorlet{sectitlecolor}{pdcolor2}
- \colorlet{stitlecolor}{pdcolor3}
- \colorlet{lgsquare}{pdcolor1}
- \colorlet{smsquare}{pdcolor4}
- \colorlet{slidebg}{pdcolor3}
- \colorlet{slidehbg}{pdcolor2}
- \colorlet{mytoctcolor}{pdcolor1}
- \colorlet{mytochltcolor}{pdcolor3}
- \def\pd@klopebg{%
- \psframe[linestyle=none,fillstyle=slope,slopebegin=pdcolor3,%
- slopeend=pdcolor2,slopeangle=270](0,0)(\slidewidth,\slideheight)%
- }
-}{PastelFlower}{
- \definecolor{pdcolor1}{rgb}{.349,.5,.5} % sea green
- \definecolor{pdcolor2}{rgb}{.8,.706,.561} % brown
- \definecolor{pdcolor3}{rgb}{.812,.902,.902} % sky blue
- \definecolor{pdcolor4}{rgb}{.8,.561,.561} % rose
- \colorlet{myiacolor}{pdcolor4}
- \colorlet{sectitlecolor}{pdcolor4}
- \colorlet{stitlecolor}{pdcolor3}
- \colorlet{lgsquare}{pdcolor1}
- \colorlet{smsquare}{pdcolor4}
- \colorlet{slidebg}{pdcolor3}
- \colorlet{slidehbg}{pdcolor2}
- \colorlet{mytoctcolor}{pdcolor1}
- \colorlet{mytochltcolor}{pdcolor3}
- \def\pd@klopebg{%
- \psframe[linestyle=none,fillstyle=slope,slopebegin=pdcolor3,%
- slopeend=pdcolor2,slopeangle=270](0,0)(\slidewidth,\slideheight)%
- }
-}{BlueWater}{
- \definecolor{pdcolor1}{rgb}{.902,.957,1} % lightblue
- \definecolor{pdcolor2}{rgb}{.376,.588,.749} % medblue
- \definecolor{pdcolor3}{rgb}{.749,.635,.376} % lighttan
- \definecolor{pdcolor4}{rgb}{1,.8,.749} % pink
- \colorlet{myiacolor}{pdcolor3}
- \colorlet{sectitlecolor}{pdcolor1}
- \colorlet{stitlecolor}{pdcolor2}
- \colorlet{lgsquare}{pdcolor3}
- \colorlet{smsquare}{pdcolor4}
- \colorlet{slidebg}{pdcolor2}
- \colorlet{slidehbg}{pdcolor1}
- \colorlet{mytoctcolor}{pdcolor3}
- \colorlet{mytochltcolor}{pdcolor2}
- \def\pd@klopebg{%
- \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)%
- }
-}{BlackWhite}{
- \definecolor{pdcolor1}{rgb}{0,0,0} % white
- \definecolor{pdcolor2}{rgb}{1,1,1} % black
- \definecolor{pdcolor3}{rgb}{.5,.5,.5} % gray
- \colorlet{myiacolor}{pdcolor3}
- \colorlet{sectitlecolor}{pdcolor1}
- \colorlet{stitlecolor}{pdcolor1}
- \colorlet{lgsquare}{pdcolor1}
- \colorlet{smsquare}{pdcolor3}
- \colorlet{slidebg}{pdcolor2}
- \colorlet{slidehbg}{pdcolor2}
- \colorlet{mytoctcolor}{pdcolor3}
- \colorlet{mytochltcolor}{pdcolor1}
- \def\pd@klopebg{%
- \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)%
- }
-}
-\pddefinetemplate{titleslide}{
- textpos={.15\slidewidth,.75\slideheight},
- textwidth=.7\slidewidth,
- titlefont=\bfseries\LARGE\centering,
- textfont=\centering,
- textheight=.67\slideheight,
- clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
- clockalign=1,clockcolor=pdcolor1
-}{{%
- \psset{linewidth=0pt}\pd@klopebg
- \pd@klopesq+-01\pd@klopesq++00\pd@klopesq-+10\pd@klopesq--11%
-}}
-\pddefinetemplate{slide}{
- titlepos={.15\slidewidth,.93\slideheight},
- titlewidth=.7\slidewidth,
- titlefont=\bfseries\Large\color{stitlecolor}\centering,
- stochook=t,
- stocpos={.5\slidewidth,.89\slideheight},
- stocwidth=.7\slidewidth,stocorient=h,
- toctcolor=mytoctcolor,
- tochltcolor=mytochltcolor,
- tocsecsep=4pt,
- textpos={.05\slidewidth,.8\slideheight},
- textwidth=.9\slidewidth,
- textheight=.72\slideheight,
- lfpos={.015\slidewidth,.015\slideheight},
- lffont=\tiny,
- cfpos={.5\slidewidth,.015\slideheight},
- cffont=\tiny,
- rfpos={.985\slidewidth,.015\slideheight},
- rffont=\tiny,
- iacolor=myiacolor,
- clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
- clockalign=1,clockcolor=pdcolor1
-}{{%
- \psset{linewidth=0pt}%
- \psframe*[linecolor=slidebg](0,0)(\slidewidth,\slideheight)%
- \psframe*[linecolor=slidehbg](0,.85\slideheight)(\slidewidth,\slideheight)%
- \pd@klopesq+-01\pd@klopesq--11%
- \psset{linewidth=.1pt}%
- \psline[linecolor=pdcolor1](0,.05\slideheight)(\slidewidth,.05\slideheight)%
- \psline[linecolor=slidehbg](0,.055\slideheight)(\slidewidth,.055\slideheight)%
-}}
-\pddefinetemplate[slide]{wideslide}{}{}
-\pddefinetemplate[slide]{sectionslide}{
- titlepos={.15\slidewidth,.55\slideheight},
- titlefont=\bfseries\LARGE\color{sectitlecolor}\centering,
- textpos,lfpos,cfpos,rfpos
-}{{%
- \psframe*[linecolor=slidebg](0,0)(\slidewidth,.5\slideheight)%
- \pd@klopesq++00\pd@klopesq-+10%
-}}
-\def\pd@klopesq#1#2#3#4{%
- \@tempdima#3\slidewidth\@tempdimb#4\slideheight
- \advance\@tempdima#1.3cm\advance\@tempdimb#2.3cm
- \edef\pd@tempa{\the\@tempdima}\edef\pd@tempb{\the\@tempdimb}%
- \advance\@tempdima#1.8cm\advance\@tempdimb#2.8cm
- \psframe*[linecolor=lgsquare](\pd@tempa,\pd@tempb)%
- (\@tempdima,\@tempdimb)%
- \@tempdima\pd@tempa\@tempdimb\pd@tempb
- \advance\@tempdima#1.3cm\advance\@tempdimb#2.3cm
- \edef\pd@tempa{\the\@tempdima}\edef\pd@tempb{\the\@tempdimb}%
- \advance\@tempdima#1.7cm\advance\@tempdimb#2.7cm
- \psframe*[linecolor=smsquare](\pd@tempa,\pd@tempb)%
- (\@tempdima,\@tempdimb)%
-}
-\def\pd@tocdisplay#1{\pd@usedtocfont\color\pd@@toctcolor#1}
-\def\pd@tochighlight#1{\pd@usedtocfont\color\pd@@tochltcolor#1}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionslide}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdklope>
-%
-%<*pdjefka>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-jefka}[2005/12/10 v1.1 jefka style (CE,HA)]
-\RequirePackage{pifont}
-\pddefinepalettes{brown}{
- \definecolor{pdcolor1}{RGB}{121,96,69}
- \definecolor{pdcolor2}{rgb}{1,.949,.749}
- \definecolor{pdcolor3}{RGB}{190,163,117}
-}{seagreen}{
- \definecolor{pdcolor1}{HTML}{FFE680}
- \definecolor{pdcolor2}{rgb}{.349,.5,.5}
- \definecolor{pdcolor3}{HTML}{FFC080}
-}{blue}{
- \definecolor{pdcolor1}{rgb}{.902,.957,1}
- \definecolor{pdcolor2}{HTML}{00487D}
- \definecolor{pdcolor3}{rgb}{.749,.635,.376}
-}{white}{
- \definecolor{pdcolor1}{rgb}{0,0,0}
- \definecolor{pdcolor2}{rgb}{1,1,1}
- \definecolor{pdcolor3}{rgb}{.5,.5,.5}
-}
-\pddefinetemplate{titleslide}{
- textpos={.15\slidewidth,.75\slideheight},
- textwidth=.7\slidewidth,
- titlefont=\bfseries\LARGE\centering,
- textfont=\centering,
- textheight=.67\slideheight,
- clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
- clockalign=1,clockcolor=pdcolor1
-}{%
- \psframe*[linewidth=0pt,linecolor=pdcolor2]%
- (0,0)(\slidewidth,\slideheight)%
-}
-\pddefinetemplate{slide}{
- rfpos={.985\slidewidth,.015\slideheight},
- rffont=\tiny,
- iacolor=pdcolor3,
- clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
- clockalign=1,clockcolor=pdcolor1,
- titlewidth=.7\slidewidth,
- titlefont=\bfseries\LARGE\color{pdcolor1}\raggedright,
- textwidth=.9\slidewidth,
- titlepos={.05\slidewidth,.93\slideheight},
- textpos={.05\slidewidth,.87\slideheight},
- textheight=.76\slideheight
-}{{%
- \psset{linewidth=0pt}%
- \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)%
- \pspolygon*[linecolor=pdcolor1]%
- (0,0)(.1\slidewidth,0)(0,.1\slideheight)
- \pspolygon*[linecolor=pdcolor1](\slidewidth,\slideheight)%
- (.9\slidewidth,\slideheight)(\slidewidth,.9\slideheight)%
-}}
-\pddefinetemplate[slide]{sectionslide}{
- titlehook=t,titlepos={.5\slidewidth,.55\slideheight},
- titlefont=\bfseries\LARGE\color{pdcolor1}\centering
-}{}
-\pddefinetemplate[slide]{wideslide}{}{}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionslide}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdjefka>
-%
-%<*pdpazik>
-\NeedsTeXFormat{LaTeX2e}[1995/12/01]
-\ProvidesPackage{powerdot-pazik}[2005/12/10 v1.1 pazik style (CE,HA)]
-\RequirePackage{pifont}
-\RequirePackage{pst-char}
-\RequirePackage{pst-grad}
-\RequirePackage{type1cm}
-\DeclareFixedFont\pd@psmath{OML}{cmm}{m}{it}{2cm}
-\DeclareFixedFont\pd@psroman{OT1}{cmr}{m}{n}{2cm}
-\pddefinepalettes{red}{
- \definecolor{pdcolor1}{RGB}{225,187,100} % gold
- \definecolor{pdcolor2}{RGB}{111,24,17} % brick red
- \definecolor{pdcolor3}{RGB}{0,0,0} % black
- \colorlet{mytoctcolor}{pdcolor1}
- \colorlet{mytochlcolor}{pdcolor2!90}
- \colorlet{mytitlecolor}{pdcolor1}
- \colorlet{myiacolor}{pdcolor1!65!pdcolor3}
- \def\pd@pazik@i{\pd@psmath\char25}
- \def\pd@pazik@ii{\pd@psroman e}
- \def\pd@pazik@iii{\pd@psroman i}
- \def\pd@pazik@iv{\pd@psmath\char16}
-}{brown}{
- \definecolor{pdcolor1}{RGB}{22,80,100} % blue
- \definecolor{pdcolor2}{rgb}{.749,.635,.376} % tan
- \definecolor{pdcolor3}{RGB}{0,0,0} % black
- \colorlet{mytoctcolor}{pdcolor2}
- \colorlet{mytochlcolor}{pdcolor1}
- \colorlet{mytitlecolor}{pdcolor2}
- \colorlet{myiacolor}{pdcolor1!70}
- \def\pd@pazik@i{\pd@psmath h}
- \def\pd@pazik@ii{\pd@psmath e}
- \def\pd@pazik@iii{\pd@psmath c}
- \def\pd@pazik@iv{\pd@psmath\char11}
-}
-\pddefinetemplate{titleslide}{
- textpos={.15\slidewidth,.75\slideheight},
- textwidth=.7\slidewidth,
- titlefont=\bfseries\LARGE\centering,
- textfont=\centering,
- ifsetup=landscape,
- textheight=.67\slideheight,
- ifsetup=portrait,
- textheight=.55\slideheight
-}{{%
- \psframe*[linestyle=none,linecolor=pdcolor2!90]%
- (0,0)(\slidewidth,\slideheight)%
- \psset{linestyle=none,fillstyle=gradient,gradbegin=pdcolor2!90,%
- gradend=pdcolor3,gradmidpoint=0,linewidth=0pt}%
- \pdifsetup{landscape}{%
- \psframe[gradangle=90](0\slidewidth,0\slideheight)%
- (.15\slidewidth,\slideheight)%
- \pd@pazik@lbg
- }{%
- \psframe[gradangle=180](0\slidewidth,0\slideheight)%
- (\slidewidth,.2\slideheight)%
- \pd@pazik@pbg
- }%
-}}
-\pddefinetemplate{basic}{%
- titlefont=\bfseries\LARGE\color{mytitlecolor}\raggedright,
- rfpos={.98\slidewidth,.015\slideheight},
- lffont=\tiny,cffont=\tiny,rffont=\tiny,
- iacolor=myiacolor,
- clockhook=t,
- clockalign=1,
- clockcolor=pdcolor1,
- toctcolor=mytoctcolor,
- tochltcolor=mytoctcolor,
- tochlcolor=mytochlcolor,
- tocfont=\tiny\raggedright,
- ifsetup=landscape,
- textheight=.82\slideheight,
- titlepos={.02\slidewidth,.94\slideheight},
- titlewidth=.96\slidewidth,
- ifsetup=portrait,
- lfpos={.02\slidewidth,.015\slideheight},
- cfpos={.5\slidewidth,.015\slideheight},
- clockpos={.5\slidewidth,.035\slideheight},
- titlepos={.02\slidewidth,.945\slideheight},
- titlewidth=.96\slidewidth,
- textpos={.02\slidewidth,.87\slideheight},
- textwidth=.96\slidewidth,
-}{{%
- \psframe*[linestyle=none,linecolor=pdcolor2!90]%
- (0,0)(\slidewidth,\slideheight)%
- \psset{linestyle=none,fillstyle=gradient,gradbegin=pdcolor2!90,%
- gradend=pdcolor3,gradmidpoint=0,gradangle=90,linewidth=0pt}%
- \pdifsetup{landscape}{%
- \psframe(.145\slidewidth,\slideheight)(\slidewidth,.9\slideheight)%
- \pd@pazik@lbg
- }{%
- \psframe(0,\slideheight)(\slidewidth,.9\slideheight)%
- \pd@pazik@pbg
- }%
-}}
-\pddefinetemplate[basic]{slide}{
- ifsetup=landscape,
- lfpos={.17\slidewidth,.015\slideheight},
- cfpos={.575\slidewidth,.015\slideheight},
- clockpos={.07\slidewidth,.045\slideheight},
- textpos={.17\slidewidth,.87\slideheight},
- textwidth=.81\slidewidth,
- tocwidth=.12\slidewidth,
- tocslidesep=.3em,tocslideindent=.2em,
- tocsecm={\psline[linewidth=.2pt,linecolor=pdcolor1]%
- (-.05,-.05)(.12\slidewidth,-.05)},
- tocpos={.015\slidewidth,.86\slideheight},
- ifsetup=portrait,
- textheight=.65\slideheight,tocsecsep=.2em,
- stochook=tr,stocpos={.44\slidewidth,.18\slideheight},
- stocfont=\tiny\raggedleft,
- tocslidesep=.2em,
- ntocpos={.56\slidewidth,.18\slideheight},
- ntocfont=\tiny\raggedright
-}{%
- \pdifsetup{landscape}{%
- \psframe*[linestyle=none,linecolor=pdcolor3]%
- (0,0)(.15\slidewidth,\slideheight)%
- }{%
- \psframe*[linestyle=none,linecolor=pdcolor3]%
- (0,0)(\slidewidth,.2\slideheight)%
- }%
-}
-\pddefinetemplate[basic]{wideslide}{%
- ifsetup=landscape,
- tocpos,textpos={.02\slidewidth,.87\slideheight},
- textwidth=.96\slidewidth,
- lfpos={.02\slidewidth,.015\slideheight},
- cfpos={.5\slidewidth,.015\slideheight},
- clockpos={.5\slidewidth,.045\slideheight},
- ifsetup=portrait,
- textheight=.82\slideheight,
-}{%
- \pdifsetup{landscape}{%
- \psframe*[linestyle=none,linecolor=pdcolor3]%
- (0,\slideheight)(.15\slidewidth,.9\slideheight)%
- }{}%
-}
-\pddefinetemplate[slide]{sectionslide}{%
- titlehook=c,
- titlefont=\bfseries\LARGE\centering,
- titlewidth=.9\slidewidth,
- ifsetup=landscape,
- titlepos={.585\slidewidth,.6\slideheight},
- ifsetup=portrait,
- titlepos={.5\slidewidth,.6\slideheight}
-}{%
-}
-\pddefinetemplate[wideslide]{sectionwideslide}{%
- titlehook=c,
- titlefont=\bfseries\LARGE\centering,
- titlepos={.5\slidewidth,.6\slideheight},
- titlewidth=.9\slidewidth
-}{}
-\def\pd@pazik@lbg{%
- \psset{fillstyle=solid,fillcolor=pdcolor2}%
- \rput{-10}(.35\slidewidth,.6\slideheight){\pscharpath{\pd@pazik@i}}%
- \rput{15}(.4\slidewidth,.3\slideheight){\pscharpath{\pd@pazik@ii}}%
- \rput{-20}(.8\slidewidth,.2\slideheight){\pscharpath{\pd@pazik@iii}}%
- \rput{30}(.7\slidewidth,.7\slideheight){\pscharpath{\pd@pazik@iv}}%
-}
-\def\pd@pazik@pbg{%
- \psset{fillstyle=solid,fillcolor=pdcolor2}%
- \rput{-10}(.23\slidewidth,.78\slideheight){\pscharpath{\pd@pazik@i}}%
- \rput{15}(.35\slidewidth,.4\slideheight){\pscharpath{\pd@pazik@ii}}%
- \rput{-20}(.8\slidewidth,.3\slideheight){\pscharpath{\pd@pazik@iii}}%
- \rput{30}(.7\slidewidth,.7\slideheight){\pscharpath{\pd@pazik@iv}}%
-}
-\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
-\def\labelitemi{\footnotesize\ding{110}}
-\def\labelitemii{\small\ding{117}}
-\def\labelitemiii{\tiny\ding{110}}
-\def\labelitemiv{\tiny\ding{117}}
-\pdsetup{
- list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
-}
-\def\rmdefault{cmss}
-%</pdpazik>
-%
-%<*pdstyletest>
-%%
-%% For testing, enter your style below.
-%% Switch on only one paper/orient option at a time.
-\documentclass[
- style=your style,
- paper=screen,
-%% paper=a4paper,
-%% paper=letterpaper,
- orient=landscape,
-%% orient=portrait,
- size=11pt,
-%% hlsections,
- clock
-]{powerdot}
-
-\pdsetup{
- lf=left footer,
- cf=center footer,
- rf=right footer,
- randomdots,dprop={dotstyle=ocircle}
-}
-
-%% For testing text height.
-\makeatletter
-\def\textheightrule{%
- \raisebox\baselineskip{\rule{1cm}\pd@@textheight}%
-}
-\makeatother
-
-\title{This is a test file to test new styles with --
-this title is very long on purpose.\thanks{Adjust textheight
-to position this footnote.}}
-\author{Hendri Adriaens \and Christopher Ellison}
-\date{August 16, 2005}
-
-\begin{document}
-
-\maketitle
-
-\begin{slide}{Test normal slide}
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus
- elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur
- dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer
- id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque
- habitant morbi tristique senectus et netus et malesuada fames ac
- turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem.
-
- Notice the color of the equation number!
- \begin{equation}
- (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
- \end{equation}
-\end{slide}
-
-\begin{slide}{Test itemize}
- Some text.\pause
- \begin{itemize}
- \item level 1\pause
- \begin{itemize}
- \item level 2\pause
- \begin{itemize}
- \item level 3\pause
- \begin{itemize}
- \item level 4
- \end{itemize}
- \end{itemize}
- \end{itemize}
- \end{itemize}
- Some text.\footnote{Adjust textheight
- to position this footnote.}
-\end{slide}
-
-\section{Normal section}
-
-\begin{slide}{Test enumerate and inactive color}
- Some text.\pause
- \begin{enumerate}[type=1]
- \item level 1\pause
- \begin{enumerate}
- \item level 2\pause
- \begin{enumerate}
- \item level 3\pause
- \begin{enumerate}
- \item level 4
- \end{enumerate}
- \end{enumerate}
- \end{enumerate}
- \end{enumerate}
- Some text.
-\end{slide}
-
-\begin{slide}{The rule has height \texttt{textheight}}
- \textheightrule
-\end{slide}
-
-\section[template=wideslide]{Wide slide section}
-
-\begin{wideslide}{Test wideslide}
- Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus
- elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur
- dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer
- id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque
- habitant morbi tristique senectus et netus et malesuada fames ac
- turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
- sem.\footnote{Adjust textheight to position this footnote.}
-
- Notice the color of the equation number!
- \begin{equation}
- (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
- \end{equation}
-\end{wideslide}
-
-\begin{wideslide}{The rule has height \texttt{textheight}}
- \textheightrule
-\end{wideslide}
-
-\end{document}
-%</pdstyletest>
-%
-%<*pdstyleexample>
-\documentclass[paper=letterpaper,style=\style]{powerdot}
-\title{Example of the \style\ style}
-\author{Hendri Adriaens \and Christopher Ellison}
-\pddefinetemplate[slide]{slide}{tocpos}{}
-\pdsetup{lf=left footer,rf=right footer}
-\begin{document}
-\maketitle
-\begin{slide}{Example slide}
- Here is the binomium formula.
- \begin{equation}\label{binomium}
- (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
- \end{equation}
- We will prove formula (\ref{binomium}) on the blackboard.\\
- \begin{itemize}
- \item Here
- \begin{itemize}
- \item is
- \begin{itemize}
- \item a
- \begin{itemize}
- \item list
- \end{itemize}
- \item with
- \end{itemize}
- \item seven
- \end{itemize}
- \item items.
- \end{itemize}
-\end{slide}
-\end{document}
-%</pdstyleexample>
-%
-%<*pdexample1>
-\documentclass{powerdot}
-
-\title{powerdot example 1}
-\author{Hendri Adriaens \and Christopher Ellison}
-
-\begin{document}
-
-\maketitle
-
-\begin{slide}{Slide 1}
- \begin{itemize}
- \item This is the first slide\pause
- \item There is nothing special about it.
- \end{itemize}
-\end{slide}
-
-\section{First section}
-
-\begin{slide}{Slide 2}
- \begin{itemize}
- \item<1-> Here
- \begin{itemize}
- \item<2-> we
- \begin{itemize}
- \item<3-> demonstrate
- \begin{itemize}
- \item<4-> the itemize environment
- \end{itemize}
- \end{itemize}
- \end{itemize}
- \end{itemize}
-\end{slide}
-
-\begin{slide}{Slide 3}
- \begin{enumerate}[type=1]
- \item<1> Here
- \begin{enumerate}
- \item<2> we
- \begin{enumerate}
- \item<3> demonstrate
- \begin{enumerate}
- \item<4> the enumerate environment
- \end{enumerate}
- \end{enumerate}
- \end{enumerate}
- \end{enumerate}
-\end{slide}
-
-\end{document}
-%</pdexample1>
-%
-%<*pdexample2>
-\documentclass[
- size=12pt,
- style=ikeda,
- paper=screen,
-%% Try me!
-%% orient=portrait,
-%% mode=handout,
-%% display=slidesnotes,
- pauseslide,
- nohandoutpagebreaks,
- fleqn
-]{powerdot}
-
-\title{powerdot example 2}
-\author{Hendri Adriaens\and Christopher Ellison}
-
-\pdsetup{
- lf=Example 2,
- rf=for powerdot,
- trans=Wipe,
- theslide=slide~\arabic{slide},
- list={itemsep=6pt}
-}
-
-\begin{document}
-
-\maketitle
-
-\begin{slide}{Slide 1}
- \begin{itemize}
- \item This is a bigger example\pause
- \item demonstrating more of the possibilities of powerdot.
- \end{itemize}
-\end{slide}
-
-\section{This section has a slide}
-
-\begin{slide}{Slide 2}
- Here is the binomium formula.\pause
- \begin{equation}\label{binomium}
- (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
- \end{equation}\pause
- We will prove formula (\ref{binomium}) on the blackboard.\\
- Click the title of this slide to switch to the black slide.
-\end{slide}
-
-\begin{note}{Note to slide 2}
- Here we could type the proof that
- we want to copy to the blackboard.
-\end{note}
-
-\begin{slide}{Slide 3}
- \begin{itemize}[type=1]
- \item This happens\dots\pause
- \item when you change\dots\pause
- \item the type of itemize.
- \end{itemize}
-\end{slide}
-
-\section[template=wideslide,tocsection=hidden]{A hidden wide section}
-
-\begin{slide}{Slide 4}
- \begin{itemize}
- \item We only treat this material\dots\pause
- \begin{itemize}
- \item if we have some time left.\pause
- \item But don't hesitate\dots\pause
- \end{itemize}
- \item to read it yourself.
- \end{itemize}
-\end{slide}
-
-\begin{wideslide}{Slide 5}
- This wide slide can contain more material
- as it is wider and does not have a table
- of contents.
-\end{wideslide}
-
-\end{document}
-%</pdexample2>
-%
-%<*pdexample3>
-\documentclass[style=klope,clock,hlsections]{powerdot}
-
-\usepackage{amsmath}
-\usepackage{pst-node}
-\usepackage{listings}
-
-\lstnewenvironment{example}[1][]{%
- \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,%
- frame=single,backgroundcolor=\color{yellow!20},%
- xleftmargin=\fboxsep,xrightmargin=\fboxsep,gobble=1%
- }\lstset{#1}}{}
-\lstnewenvironment{examplesmall}[1][]{%
- \lstset{basicstyle=\tiny\ttfamily,columns=flexible,%
- frame=single,backgroundcolor=\color{yellow!20},%
- xleftmargin=\fboxsep,xrightmargin=\fboxsep,gobble=2%
- }\lstset{#1}}{}
-
-\title{powerdot example 3 --- verbatim and random dots}
-\author{Hendri Adriaens\and Christopher Ellison}
-
-\pdsetup{
- lf=Example 3,
- rf=for powerdot,
- palette=Spring,
- randomdots,
- dprop={dotstyle=ocircle,linewidth=.25pt},
- dmindots=5,dmaxdots=5,
- dminsize=600pt,dmaxsize=700pt,
- dbright=50,
- logohook=c,
- logopos={.505\slidewidth,.08\slideheight},
- logocmd={\includegraphics[scale=.05]{powerdot-default.ps}}
-}
-
-\begin{document}
-
-\maketitle
-
-\begin{slide}{Overview}
- \begin{enumerate}[type=1]
- \item This file demonstrates \pause
- \begin{itemize}
- \item some uses of \texttt{verbatim} \pause
- \end{itemize}
- \item and \pause
- \begin{itemize}
- \item some uses of randomdots
- \end{itemize}
- \end{enumerate}
-\end{slide}
-
-\section{section}
-
-\begin{slide}[palette=PastelFlower,method=direct,
- dprop={dotstyle=*},
- dminsize=5pt,dmaxsize=10pt,
- dmindots=5,dmaxdots=10]{Name that quote}
- G\"odel, Escher, Bach: an Eternal Golden Braid \pause
-
- \verb|G\"odel, Escher, Bach: an Eternal Golden Braid| \pause
-
- \begin{quote}
- The two of you may find it amusing to listen
- to such totally meaningless cacophony, but I assure you it is not at
- all pleasant for a sensitive composer to be subjected to such
- excruciating, empty dissonances and meaningless rhythms. Achilles,
- I thought you had a good feeling for music. Could it be that your
- previous pieces had merit merely by coincidence?
- \end{quote}
-\end{slide}
-
-\begin{slide}[palette=BlueWater,
- dprop={dotstyle=osquare,linewidth=.2pt},
- dminsize=4pt,dmaxsize=10pt,
- dmindots=5,dmaxdots=10]{Itemize}
- \begin{itemize}
- \item<1> here
- \item<2> we
- \item<3> go
- \end{itemize}
-\end{slide}
-
-\begin{slide}[toc=What day is it?,bm=What day is it?,method=direct,
- dprop={dotstyle=*},dminsize=4pt,dmaxsize=20pt,
- dmindots=30,dmaxdots=30]{What day is it?\hfill A test}
-\begin{example}
- <?php
- if ($day == "monday")
- {
- $callInSick = true;
- }
- else
- {
- $callInSick = false;
- }
- ?>
-\end{example}
-\end{slide}
-
-\section[slide=false]{The \texttt{direct} and \texttt{file} methods}
-
-\begin{slide}[method=direct,randomdots=false]{Quadratic}
- With \verb|method=direct|, there are no overlays.\pause
-
- But you can still use display verbatim text.
-
- \[
- x \pause = \pause \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \pause
- \]
-
- Attempting \pause a \pause pause\ldots\pause
-
- \verb|Plot[3x,{x,0,10}]|
-\end{slide}
-
-\begin{slide}[method=file,randomdots=false]{Quadratic}
- With \verb|method=file|, \pause you can display verbatim text and have overlays.\pause
-
- \[
- x \pause = \pause \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \pause
- \]
-
- Attempting \pause a \pause pause\ldots\pause
-
- \verb|Plot[3x,{x,0,10}]|
-\end{slide}
-
-\section[slide=false]{Nodes}
-
-\begin{slide}[method=file,randomdots=false]{Taylor}
-\begin{lstlisting}[escapechar=|,mathescape]
- e^x |\pause| = 1 + |\pause|x + |\pause|x^2/2! + |\color{red}{\ldots}| |\pause|
- e^x |\pause| = 1 + |\pause|x + |\pause|$\rnode{A}{\frac{x^2}{2!}}$ + |\color{red}{\ldots}|
-\end{lstlisting}
-\pause\vspace{.1in}
-Notice, \rnode{B}{this} fraction is in \verb|mathmode|.
-\onslide*{11-}{\ncarc[linecolor=blue,arcangle=-5]{->}{B}{A}}\pause \vspace{.1in}
-
-The above (as its own slide) was coded as follows:
-\begin{examplesmall}[escapechar=@]
- \begin{slide}[method=file]{Taylor}
- \begin{lstlisting}[escapechar=|,mathescape]
- e^x |\pause| = 1 + |\pause|x + |\pause|x^2/2! + |\color{red}{\ldots}| |\pause|
- e^x |\pause| = 1 + |\pause|x + |\pause|$\rnode{A}{\frac{x^2}{2!}}$ + |\color{red}{\ldots}|
- \end{lstlisting}
-
- \pause\vspace{.1in}
-
- Notice, \rnode{B}{this} fraction is in \verb|mathmode|.
- \onslide*{11-}{\ncarc[linecolor=blue,arcangle=-5]{->}{B}{A}}\pause \vspace{.1in}
- @\char`\\@end{slide}
-\end{examplesmall}
-\end{slide}
-
-\end{document}
-%</pdexample3>
-%
-%<*preamble>
-\usepackage{url}
-\usepackage{fourier}
-\usepackage{xcolor}
-\usepackage{enumitem}
-\usepackage{graphicx}
-\usepackage{pst-char}
-\usepackage{listings}
-\usepackage{array}
-\usepackage{xkeyval}
-\usepackage[section]{placeins}
-\addtolength\textheight{2cm}
-\addtolength\topmargin{-1cm}
-\lstnewenvironment{command}{%
- \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},%
- xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{}
-\lstnewenvironment{example}[1][]{%
- \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,%
- backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,%
- xrightmargin=\fboxsep,gobble=1,%
-% language=[LaTeX]TeX,keywordstyle=\color{blue},%
-% moretexcs=[1]{color,ProvidesPackage},%
-% moretexcs=[2]{onslide,pause,pdsetup,maketitle,tableofcontents},%
-% texcsstyle=[2]\color{red}%
- }\lstset{#1}}{}
-\def\mktitledecor{%
- \rput[tl]{90}(-5.5,-26.51){%
- \psline[linewidth=1pt](0,1.5)(\paperheight,1.5)%
- \rput[lB](.075\paperheight,.5){\pscharpath[linecolor=blue!50,%
- fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]%
- {\Huge\bfseries\sffamily powerdot}%
- }%
- \rput[rB](.925\paperheight,.5){\pscharpath[linecolor=blue!50,%
- fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]%
- {\Huge\bfseries Documentation}%
- }%
- \psline[linewidth=1pt](0,0)(\paperheight,0)%
- }%
-}
-\makeatletter
-\def\option#1{%
- \XKV@for@n{#1}\pd@tempa{%
- \fcolorbox{black}{red!20}{\texttt\pd@tempa}\quad
- }%
- \vspace*{.2cm}%
-}
-\def\tableofcontents{\@starttoc{toc}}
-\renewenvironment{theglossary}{%
- \section*{Version history}%
- For more information on bug fixes, typeset the source code
- documentation (see section~\ref{sec:source}).\par\medskip
- \GlossaryParms \let\item\@idxitem \ignorespaces
-}{}%
-\def\DescribeMacros{\leavevmode\@bsphack
- \begingroup\MakePrivateLetters\Describe@Macros}
-\def\Describe@Macros#1{\endgroup\strut
- \marginpar{\raggedleft
- \def\@tempa{#1}\count@\z@
- \XKV@for@o\@tempa\@tempa{%
- \ifnum\count@>\z@\\\fi\advance\count@\@ne
- \MacroFont\expandafter\string\@tempa
- \expandafter\SpecialUsageIndex\expandafter{\@tempa}%
- }}%
- \@esphack\ignorespaces
-}
-\def\DescribeOption#1{\leavevmode\@bsphack
- \marginpar{\raggedleft\PrintDescribeOption{#1}}%
- \SpecialOptionIndex{#1}\@esphack\ignorespaces}
-\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
-\def\SpecialOptionIndex#1{\@bsphack
- \index{#1\actualchar{\protect\ttfamily#1}
- (option)\encapchar usage}\@esphack}
-\def\DescribeOptions#1{\leavevmode\@bsphack
- \marginpar{\raggedleft\strut\emph{options}%
- \@for\@tempa:=#1\do{%
- \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
- }}\@esphack\ignorespaces}
-\def\SpecialEnvIndex#1{\@bsphack
- \index{#1\actualchar{\protect\ttfamily#1}
- (environment)\encapchar usage}\@esphack}
-\def\changes@#1#2#3{%
- \protected@edef\@tempa{%
- \noexpand\glossary{\textbf{#1}\hfill\emph{(#2)}%
- \levelchar
- \ifx\saved@macroname\@empty
- \space\actualchar\generalname
- \else
- \expandafter\@gobble\saved@macroname
- \actualchar\string\verb\quotechar*%
- \verbatimchar\saved@macroname\verbatimchar
- \fi
- :\levelchar #3}%
- }%
- \@tempa\endgroup\@esphack
-}
-\makeatother
-\def\PrintChangesX{%
- \begingroup
- \let\efill\relax
- \PrintChanges
- \endgroup
-}
-\def\PrintIndexX{%
- \begingroup
- \setcounter{IndexColumns}{2}
- \setlength{\columnsep}{18pt}%
- \setlength{\columnseprule}{.4pt}%
- \PrintIndex
- \endgroup
-}
-\def\larg#1{{\ttfamily\char`\<}\meta{#1}{\ttfamily\char`\>}}
-\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
-\def\LyXarrow{\leavevmode\,$\triangleright$\,\allowbreak}
-\let\pf\textsf
-\def\equals{=}
-\setcounter{tocdepth}{2}
-\newcolumntype{d}{c|l}
-\newcolumntype{e}{c|c|c|c}
-\newcolumntype{f}{l|p{8cm}}
-\RecordChanges
-\CodelineIndex
-\newcounter{FAQ}
-\def\question{%
- \stepcounter{FAQ}%
- \parskip4pt plus 2pt minus 1pt
- \itemsep4pt plus 2pt minus 1pt
- \parsep4pt plus 2pt minus 1pt
- \item[\textbf{Q\arabic{FAQ}}]%
-}
-\def\answer{%
- \parskip0pt
- \itemsep0pt
- \parsep0pt
- \item[\textbf{A\arabic{FAQ}}]%
-}
-\def\styleexample#1{%
- \IfFileExists{powerdot-styleexample-#1.001}{%
- \IfFileExists{powerdot-styleexample-#1.002}{%
- \hspace*{\stretch{1}}%
- \fbox{\includegraphics[scale=.16,angle=-90,clip]%
- {powerdot-styleexample-#1.001}}%
- \hspace*{\stretch{2}}%
- \fbox{\includegraphics[scale=.16,angle=-90,clip]%
- {powerdot-styleexample-#1.002}}%
- \hspace*{\stretch{1}}\par
- }{\textbf{No example files found for style \pf{#1}.}}%
- }{\textbf{No example files found for style \pf{#1}.}}%
-}
-%</preamble>
-%
-%<*bib>
-@book{companion,
- author = {Frank Mittelbach and Michel Goossens},
- title = {The {\LaTeX} Companion},
- edition = 2,
- note = {With Johannes Braams, David Carlisle, and Chris Rowley},
- series = {Tools and Techniques for Computer Typesetting},
- publisher = {Addison-Wesley},
- address = {Boston, Massachusetts},
- year = 2004,
- pagenums = {1120},
- bibliography = {yes},
- index = {yes},
- isbn = {0-201-36299-6}
-}
-
-@MISC{PSTricks,
- author = {{Timothy Van} {Zandt et al.}},
- title = {\pf{PSTricks} package, v1.07, 2005/05/06},
- howpublished = {\url{CTAN:/graphics/pstricks}}
-}
-
-@MISC{PSTricksWeb,
- author = {Herbert Vo\ss},
- title = {\pf{PSTricks} website},
- howpublished = {\url{http://pstricks.tug.org}}
-}
-
-@MISC{xkeyval,
- author = {Hendri Adriaens},
- title = {\pf{xkeyval} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/xkeyval}}
-}
-
-@MISC{extsizes,
- author = {James Kilfiger and Wolfgang May},
- title = {\pf{extsizes} bundle},
- howpublished = {\url{CTAN:/macros/latex/contrib/extsizes}}
-}
-
-@MISC{prosper,
- author = {Fr\'ed\'eric Goualard and Peter M\o ller Neergaard},
- title = {\pf{prosper} class},
- howpublished = {\url{CTAN:/macros/latex/contrib/prosper}}
-}
-
-@MISC{HA-prosper,
- author = {Hendri Adriaens},
- title = {\pf{HA-prosper} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/HA-prosper}}
-}
-
-@MISC{enumitem,
- author = {Javier Bezos},
- title = {\pf{enumitem} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/enumitem}}
-}
-
-@MISC{hyperref,
- author = {Sebastian Rahtz and Heiko Overdiek},
- title = {\pf{hyperref} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/hyperref}}
-}
-
-@MISC{natbib,
- author = {Patrick W. Daly},
- title = {\pf{natbib} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/natbib}}
-}
-
-@MISC{geometry,
- author = {Hideo Umeki},
- title = {\pf{geometry} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/geometry}}
-}
-
-@MISC{xcolor,
- author = {Uwe Kern},
- title = {\pf{xcolor} package},
- howpublished = {\url{CTAN:/macros/latex/contrib/xcolor}}
-}
-
-@MISC{graphics,
- author = {David Carlisle},
- title = {\pf{graphics} bundle},
- howpublished = {\url{CTAN:/macros/latex/required/graphics}}
-}
-
-@MISC{random,
- author = {Donald Arseneau},
- title = {\texttt{random.tex}},
- howpublished = {\url{CTAN:/macros/generic/misc}}
-}
-
-@MISC{CTAN,
- author = {CTAN crew},
- title = {{The Comprehensive TeX Archive Network}},
- howpublished = {\url{http://www.ctan.org}}
-}
-
-@MISC{LyXWeb,
- author = {{\LyX\ crew}},
- title = {{\LyX\ website}},
- howpublished = {\url{http://www.lyx.org}}
-}
-
-@MISC{javascript,
- author = {Adobe Solutions Network},
- title = {{Acrobat JavaScript Scripting Reference}},
- howpublished = {\url{http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/javascript/AcroJS.pdf}}
-}
-%</bib>
+% \iffalse meta-comment
+%
+% powerdot class by Hendri Adriaens.
+%
+% Extract package files and create documentation:
+% Find powerdot.dtx
+% latex powerdot.dtx
+% latex powerdot.dtx
+% bibtex powerdot
+% makeindex -s gglo.ist -o powerdot.gls powerdot.glo
+% makeindex -s gind.ist -o powerdot.ind powerdot.idx
+% latex powerdot.dtx
+% latex powerdot.dtx
+%
+% If you also want to generate the source code documentation,
+% remove \OnlyDescription from the preamble of powerdot.dtx
+% prior to compiling the source.
+%
+% To generate style examples, do
+% (after extracting powerdot-styleexample.tex):
+% latex "\def\style{default}\input{powerdot-styleexample}"
+% latex "\def\style{default}\input{powerdot-styleexample}"
+% dvips -i powerdot-styleexample -o powerdot-styleexample-default.ps
+% Do this for all available styles (replace `default' by any
+% other style name) to generate .001 and .002 files which
+% will be included by the documentation.
+%
+%% ---------------------------------------------------------------------------------
+%% Copyright (C) 2005-2008 Hendri Adriaens, Chris Ellison; 2009-2021 Hendri Adriaens
+%% ---------------------------------------------------------------------------------
+%%
+%% This work may be distributed and/or modified under the
+%% conditions of the LaTeX Project Public License, either version 1.3
+%% of this license or (at your option) any later version.
+%% The latest version of this license is in
+%% http://www.latex-project.org/lppl.txt
+%% and version 1.3 or later is part of all distributions of LaTeX
+%% version 2003/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Hendri Adriaens.
+%%
+%% This work consists of all files listed in manifest.txt.
+%%
+% \fi
+%
+% \iffalse
+%<*batchfile>
+\begingroup
+\input docstrip
+\keepsilent
+\preamble
+\endpreamble
+\askforoverwritefalse
+\generate{
+ \file{powerdot.cls}{\from{powerdot.dtx}{powerdot}}
+ \file{powerdot-default.sty}{\from{powerdot.dtx}{pddefault}}
+ \file{powerdot-tycja.sty}{\from{powerdot.dtx}{pdtycja}}
+ \file{powerdot-ikeda.sty}{\from{powerdot.dtx}{pdikeda}}
+ \file{powerdot-fyma.sty}{\from{powerdot.dtx}{pdfyma}}
+ \file{powerdot-simple.sty}{\from{powerdot.dtx}{pdsimple}}
+ \file{powerdot-ciment.sty}{\from{powerdot.dtx}{pdciment}}
+ \file{powerdot-elcolors.sty}{\from{powerdot.dtx}{pdelcolors}}
+ \file{powerdot-aggie.sty}{\from{powerdot.dtx}{pdaggie}}
+ \file{powerdot-husky.sty}{\from{powerdot.dtx}{pdhusky}}
+ \file{powerdot-sailor.sty}{\from{powerdot.dtx}{pdsailor}}
+ \file{powerdot-upen.sty}{\from{powerdot.dtx}{pdupen}}
+ \file{powerdot-bframe.sty}{\from{powerdot.dtx}{pdbframe}}
+ \file{powerdot-horatio.sty}{\from{powerdot.dtx}{pdhoratio}}
+ \file{powerdot-paintings.sty}{\from{powerdot.dtx}{pdpaintings}}
+ \file{powerdot-klope.sty}{\from{powerdot.dtx}{pdklope}}
+ \file{powerdot-jefka.sty}{\from{powerdot.dtx}{pdjefka}}
+ \file{powerdot-pazik.sty}{\from{powerdot.dtx}{pdpazik}}
+ \file{powerdot-styletest.tex}{\from{powerdot.dtx}{pdstyletest}}
+ \file{powerdot-styleexample.tex}{\from{powerdot.dtx}{pdstyleexample}}
+ \file{powerdot-example1.tex}{\from{powerdot.dtx}{pdexample1}}
+ \file{powerdot-example2.tex}{\from{powerdot.dtx}{pdexample2}}
+ \file{powerdot-example3.tex}{\from{powerdot.dtx}{pdexample3}}
+ \file{pdpream.ble}{\from{powerdot.dtx}{preamble}}
+ \file{powerdot.bib}{\from{powerdot.dtx}{bib}}
+}
+\endgroup
+%</batchfile>
+%<*driver>
+\documentclass[a4paper]{ltxdoc}
+\input{pdpream.ble}
+\OnlyDescription
+%\EnableCrossrefs
+\def\fileversion{v1.7}
+\def\filedate{2021/05/19}
+\begin{document}
+\DocInput{powerdot.dtx}
+\let\Section\section\def\section*#1{\Section*{#1}\addcontentsline{toc}{section}{#1}}
+\bibliographystyle{plain}
+\bibliography{powerdot}
+\section*{Acknowledgements}
+The author is grateful to Christopher Ellison for help with setting up the package, styles
+and examples, Mael Hill\'ereau for contributing the \LyX\ layout file and
+description, and Herbert Vo\ss\ for contributions and maintaining the package
+from 2006 to 2012. Further, I would like to thank all style contributors
+(see section~\ref{sec:styles}). Moreover, I wish to thank everyone who contributed
+to this package in any other way.\\[1em]
+\hspace*{\stretch{1}}
+\begin{minipage}{.9\linewidth}
+Ramon van den Akker, David Carlisle, Pavel \v C\'i\v zek, Darren Dale, Hans Marius
+Eikseth, Alexander Grahn, Morten H\o gholm, Andr\'as Horv\'ath, Laurent Jacques, Akira
+Kakuto, Uwe Kern, Kyanh, Theo Stewart, and Don P. Story.
+\end{minipage}
+
+\PrintChangesX\PrintIndexX
+\end{document}
+%</driver>
+% \fi
+%
+% \changes{v1.0}{2005/09/04}{Initial release}
+% \changes{v1.1}{2005/09/19}{Fixed some small bugs}
+% \changes{v1.1}{2005/09/19}{Added \texttt{tocsecindent} and
+% \texttt{tocslideindent} options}
+% \changes{v1.1}{2005/09/19}{Added \pf{elcolors}, \pf{aggie}, \pf{husky}
+% and \pf{sailor} styles}
+% \changes{v1.1}{2005/09/19}{Changed \texttt{size\protect\equals 10}
+% to \texttt{size\protect\equals 10pt}}
+% \changes{v1.1}{2005/09/19}{Added \LyX\ layout, description and example}
+% \changes{v1.1}{2005/09/19}{Added graphical examples of styles to documentation}
+% \changes{v1.1}{2005/09/19}{Improved section title handling}
+% \changes{v1.1}{2005/09/19}{\texttt{blackslide} options adds hyperlink
+% to slide and section titles}
+% \changes{v1.1}{2005/09/19}{Extended FAQ}
+% \changes{v1.1}{2005/09/19}{Improved \pf{tycja}, \pf{ciment} and \pf{fyma} styles}
+% \changes{v1.2}{2005/10/09}{Added \pf{upen} and \pf{bframe} styles}
+% \changes{v1.2}{2005/10/09}{Solved some small bugs}
+% \changes{v1.2}{2005/10/09}{Simplified coding of most styles}
+% \changes{v1.2}{2005/10/09}{Speeded up compilations}
+% \changes{v1.3}{2005/12/06}{Solved some small bugs}
+% \changes{v1.3}{2005/12/06}{Improved \texttt{figure} and \texttt{table} handling}
+% \changes{v1.3}{2005/12/06}{Added \pf{horatio}, \pf{paintings}, \pf{klope}, \pf{jefka}
+% and \pf{pazik} styles}
+% \changes{v1.3}{2005/12/06}{Added palettes feature}
+% \changes{v1.3}{2005/12/06}{Added random dots feature}
+% \changes{v1.3}{2005/12/06}{Added optional argument to \cs{maketitle}}
+% \changes{v1.3}{2005/12/06}{Added clock feature}
+% \changes{v1.3}{2005/12/06}{Updated all styles}
+% \changes{v1.3}{2005/12/06}{Added palettes to \pf{default}, \pf{fyma} and \pf{sailor} styles}
+% \changes{v1.3}{2005/12/06}{Revised docs}
+% \changes{v1.3}{2005/12/06}{Updated \LyX\ example and information}
+% \changes{v1.3}{2005/12/06}{Cleaned up options}
+% \changes{v1.3}{2005/12/06}{Added possibility to create horizontal table of contents}
+% \changes{v1.3}{2005/12/06}{Added logo feature}
+% \changes{v1.3}{2005/12/06}{Added examples and example file}
+% \changes{v1.3}{2005/12/06}{Added two slide processing methods to do verbatim on slides easily}
+% \changes{v1.4}{2005/12/10}{Moved \texttt{lf} and \texttt{rf} keys from
+% \texttt{global} to \texttt{glslide} family}
+% \changes{v1.4}{2005/12/10}{Added \texttt{cf} option}
+% \changes{v1.4}{2005/12/10}{Updated styles}
+% \changes{v1.4}{2005/12/10}{Solved some small bugs}
+% \changes{v1.4}{2005/12/10}{Moved footers out of slide box in handout mode}
+% \changes{v1.4}{2005/12/10}{Added \texttt{clockformat} and \texttt{clockrefresh} keys to \texttt{global} family}
+% \changes{v1.4}{2005/12/10}{\texttt{blackslide} and \texttt{emptyslide} no longer have logos or randomdots}
+% \changes{v1.5}{2014/01/01}{Option \texttt{blackslide} transformed to \texttt{pauseslide}}
+% \changes{v1.5}{2014/01/01}{Restored package and added changes from CTAN}
+% \changes{v1.5}{2014/01/01}{Modifications to work with the latest version of pstricks}
+% \changes{v1.5a}{2015/11/29}{Added requirement for \texttt{pst-ovl} to get overlays working after \texttt{pstricks} moved the code there}
+% \changes{v1.5b}{2017/07/22}{Added requirement for latest \texttt{graphicx} to work with latest \texttt{dvips}}
+% \changes{v1.5b}{2017/07/22}{Updated documentation with respect to handout options}
+% \changes{v1.5c}{2017/08/28}{Replaced clock code by the version by Alexander Grahn to achieve compatibility with the \pf{animate} package}
+% \changes{v1.6}{2021/03/25}{Replaced usage of general \texttt{@inputcheck} by package specific \texttt{pd@vrbout} to solve a bug with references}
+% \changes{v1.7}{2021/05/19}{Added paper with 16:9 ratio}
+%
+% \CheckSum{3397}
+%
+% \CharacterTable
+% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+% Digits \0\1\2\3\4\5\6\7\8\9
+% Exclamation \! Double quote \" Hash (number) \#
+% Dollar \$ Percent \% Ampersand \&
+% Acute accent \' Left paren \( Right paren \)
+% Asterisk \* Plus \+ Comma \,
+% Minus \- Point \. Solidus \/
+% Colon \: Semicolon \; Less than \<
+% Equals \= Greater than \> Question mark \?
+% Commercial at \@ Left bracket \[ Backslash \\
+% Right bracket \] Circumflex \^ Underscore \_
+% Grave accent \` Left brace \{ Vertical bar \|
+% Right brace \} Tilde \~}
+%
+%\title{\vspace*{-2cm}\mktitledecor The \pf{powerdot} class
+%\thanks{This class can be downloaded from the CTAN mirrors:
+%\texttt{/macros/latex/contrib/powerdot}. See \texttt{powerdot.dtx} for
+%information on installing \pf{powerdot} into your \LaTeX\
+%distribution and for the license of this class.}}
+%\author{Hendri Adriaens}
+%\date{\fileversion\ (\filedate)}
+%\maketitle
+%
+%\begin{abstract}\noindent
+%\pf{powerdot} is a presentation class for \LaTeX\ that allows for
+%the quick and easy development of professional presentations. It
+%comes with many tools that enhance presentations and aid the
+%presenter. Examples are automatic overlays, personal notes and a
+%handout mode. To view a presentation, DVI, PS or PDF output can be
+%used. A powerful template system is available to easily develop new
+%styles. A \LyX\ layout file is provided.
+%\end{abstract}
+%
+%\begin{multicols}{2}
+%[\section*{Contents}
+%\setlength{\columnseprule}{.4pt}
+%\setlength{\columnsep}{18pt}]
+%\tableofcontents
+%\end{multicols}
+%
+%\newpage
+%\section{Introduction}\label{sec:intro}
+%This class gives you the possibility to easily create professionally
+%looking slides. The class is designed to make the development of
+%presentations as simple as possible so that you can concentrate on
+%the actual content instead of keeping yourself busy with technical
+%details. Of course, some knowledge of \LaTeX\ is still required
+%though.
+%
+%This class builds on and extends the \pf{prosper} class
+%\cite{prosper} and the \pf{HA-prosper} package \cite{HA-prosper}.
+%The \pf{HA-prosper} package was initially intended to extend
+%\pf{prosper} and correct some bugs and problems of that class. As
+%developments on that package progressed, it was found that
+%unfortunately, not all of the problems could be overcome with the
+%package. That discovery was the start of a new project set up to
+%make a new class to replace the \pf{prosper} plus \pf{HA-prosper}
+%combination. You're currently reading the result of that project.
+%
+%The remainder of this section will be devoted to giving a feel of
+%what the \pf{powerdot} presentation source looks like and giving an
+%overview of this documentation.
+%
+%The document structure of a presentation is always the same. You can
+%find it in the example below.
+%
+%\begin{example}
+% \documentclass[<class options>]{powerdot}
+% \pdsetup{<presentation options>}
+% \begin{document}
+% \begin{slide}{a slide}
+% Contents of the slide.
+% \end{slide}
+% \section{first section}
+% \begin{slide}[<slide options>]{another slide}
+% Contents of the slide.
+% \end{slide}
+% \begin{note}{personal note}
+% The note.
+% \end{note}
+% \end{document}
+%\end{example}
+%
+%There are several elements that define the document structure. First
+%of all, the class accepts some class options that control the output
+%of the class, for instance, paper type and style. These class
+%options will be discussed in section~\ref{sec:classopts}. Then there
+%are presentation specific options which control some of the elements
+%of the presentation globally, for instance, the footers. These will
+%be discussed in section~\ref{sec:pdsetup}.
+%
+%Once the setup has been decided on, you can use the slide
+%environment to produce slides (see section~\ref{sec:slides}) and the
+%note environment to produce notes that go with the slides (see
+%section~\ref{sec:notes}). You can use overlays to display material
+%in steps. This is described in section~\ref{sec:overlays}. The
+%|\section| command provides a way to structure your presentation.
+%This is discussed in section~\ref{sec:structure}.
+%Section~\ref{sec:styles} will show an overview of the styles that
+%come with this class and the characteristics of each style.
+%Section~\ref{sec:compiling} will tell you more about how to produce
+%output. This section contains important information on required
+%packages.
+%
+%Section~\ref{sec:writestyle} is mostly interesting for people that
+%want to develop their own style for this class or want to modify an
+%existing style. Section~\ref{sec:lyx} explains how \LyX\
+%\cite{LyXWeb} can be used to create \pf{powerdot} presentations.
+%This documentation concludes with a section devoted to questions
+%(section~\ref{sec:questions}), like `Where can I find examples?'. It
+%also tells you where to turn to in case your questions are still not
+%solved.
+%
+%\section{Setting up the presentation}\label{sec:setup}
+%This section will describe all options that are available to control
+%the output of the presentation and the looks of it.
+%
+%\subsection{Document class options}\label{sec:classopts} We will
+%start with the class options that are typed in the |\documentclass|
+%command as a comma-separated list. For each option, the preset
+%value\footnote{The value that will be used when you don't use the
+%option.} will be mentioned in the description. This is the value
+%that will be used if you decide to not give a value to the option or
+%not use the option at all.
+%
+%\DescribeOption{mode}
+%This options controls the kind of output that we want to produce.
+%The preset value is |present|.
+%\begin{description}
+%\item\option{mode=present}\\
+%This mode is used when you want to create the actual presentation. It
+%will enable overlays and transition effects. You can read more about
+%overlays in section~\ref{sec:overlays}.
+%\item\option{mode=print}\\
+%This mode can be used when printing the slides including their visual
+%markup, but without any overlay or transition effects.
+%\item\option{mode=handout}\\
+%This mode will produce a black and white overview of your slides that
+%can be used to make personal notes on, for distribution to students,
+%a personal guide during your talk, etcetera.
+%\begin{description}
+%\item\option{nohandoutpagebreaks}\\
+%By default, the handout mode produces a document with two slides per
+%page. If you want to fit more slides on a page, specify this option
+%in the |\documentclass| command and \pf{powerdot} will let \LaTeX\
+%decide on the places to insert a page break, namely when a page is
+%full.
+%\item\option{nohandoutframes}\\
+%By default, the handout frames the slides. This option will remove
+%the frames around slides on handouts.
+%\end{description}
+%\end{description}
+%
+%\DescribeOption{paper} This option has five possible values. The
+%preset value is |screen|.
+%\begin{description}
+%\item\option{paper=screen}\\
+%This is a special format with screen optimized ratio (4/3). The
+%actual page dimensions will be 8.25 inch by 11 inch. This paper format
+%is not available for print or handout mode. In these modes, \pf{powerdot}
+%will switch to a4 paper and put a warning that it did this in the
+%log file of your presentation.
+%\item\option{paper=a4paper}\\
+%A4 paper will be used for the presentation or handout.
+%\item\option{paper=letterpaper}\\
+%Letter size paper will be used.
+%\item\option{paper=smartboard}\\
+%For presentation on a smartboard (widescreen).
+%\item\option{paper=169}\\
+%For a presentation on a screen with 16:9 ratio.
+%\end{description}
+%Some important information with respect to paper size, compiling and
+%viewing presentations is available in section~\ref{sec:compiling}.
+%\newline
+%
+%\DescribeOption{orient} This controls the orientation of the
+%presentation. The preset value is |landscape|.
+%\begin{description}
+%\item\option{orient=landscape}\\
+%The presentation will be in landscape format. This value is not
+%available in handout mode. In that mode, \pf{powerdot} will switch
+%to portrait orientation and will warn you about this in the log
+%file.
+%\item\option{orient=portrait}\\ This produces slides in portrait
+%format. Notice that not all styles support portrait orientation. Please
+%refer to section~\ref{sec:styles} for information about which styles
+%do support the portrait orientation.
+%\end{description}
+%
+%\DescribeOption{display} This controls the production of slides and
+%notes. The preset value is |slides|.
+%\begin{description}
+%\item\option{display=slides}\\
+%This will only typeset the slides in your presentation.
+%\item\option{display=slidesnotes}\\
+%This will typeset both the slides and the notes in your
+%presentation. See also section~\ref{sec:notes} for more information
+%about notes.
+%\item\option{display=notes}\\
+%This will typeset the notes only.
+%\end{description}
+%
+%Here are some more options to control the output.
+%\begin{description}
+%\item\DescribeOption{size}\option{size}\\
+%This is the size of the normal text font in points. Possible values
+%are 8pt, 9pt, 10pt, 11pt, 12pt, 14pt, 17pt and 20pt and the preset
+%value is 11pt.\footnote{Note that sizes other than 10pt, 11pt and
+%12pt are non-standard and it is assumed that you have the
+%\pf{extsizes} bundle \cite{extsizes} installed, which provides these
+%sizes.}
+%\item\DescribeOption{style}\option{style}\\
+%This controls the style to be loaded for the presentation. By
+%default, the \pf{default} style will be loaded. For more styles, see
+%section~\ref{sec:styles}.
+%\item\DescribeOption{fleqn}\option{fleqn}\\
+%This option makes equations flushed left. It does the same as the
+%equally named option for the article class.
+%\item\DescribeOption{leqno}\option{leqno}\\
+%Put equation numbers at the left. Also the same as in the article
+%class.
+%\item\DescribeOption{nopsheader}\option{nopsheader}\\
+%By default, \pf{powerdot} will write a postscript command to the ps
+%file to make sure that post processors like ps2pdf know which paper
+%to use without the need to specify it on the command line. See also
+%section~\ref{sec:compiling}. If you experience problems with post
+%processing or printing or you want to specify the paper size in the
+%post processing steps yourself, use this option.
+%\item\DescribeOption{hlentries}\option{hlentries}\\
+%This highlights table of contents entries when the entry matches
+%with the current slide and its preset value is |true|. See also
+%section~\ref{sec:structure}. If you don't want highlighting of table
+%of contents entries (for instance in print mode), use
+%|hlentries=false|.
+%\item\DescribeOption{hlsections}\option{hlsections}\\
+%This highlights table of contents sections when the section matches
+%with the current section in the presentation and is preset to |false|.
+%See also section~\ref{sec:structure}. Specifying this
+%option turns highlighting of sections on. This could be useful when
+%you are using a style that implements a split table of contents.
+%\item\DescribeOption{pauseslide}\option{pauseslide}\\
+%This option inserts a black slide in the presentation on page 1 and
+%will automatically advance to page 2 when opening the presentation
+%in a PDF viewer like Acrobat (Reader). The option also inserts a
+%link behind every slide or section title that brings you to the
+%black slide when clicked. When you click anywhere in the black
+%slide, you will go back to the originating slide. This option can be
+%used to temporarily pause a presentation, for instance, to do a
+%proof on the black board. Optionally, a color can be supplied, for instance,
+%|pauseslide=white| to have a pause on a white screen.
+%\item\DescribeOptions{clock}\option{clock}\\
+%This displays a small digital clock on slides which you can use to
+%check the time left for your presentation.
+%\end{description}
+%
+%Here is an example of a |\documentclass| command.
+%\begin{example}
+% \documentclass[
+% size=12pt,
+% paper=screen,
+% mode=present,
+% display=slidesnotes,
+% style=tycja,
+% nohandoutpagebreaks,
+% pauseslide,
+% fleqn
+% ]{powerdot}
+%\end{example}
+%This example sets up a presentation in \pf{tycja} style, with a black
+%slide, normal size 12 points and flushed left equations.
+%\begin{example}
+% \documentclass[
+% size=12pt,
+% paper=letterpaper,
+% mode=handout,
+% display=slidesnotes,
+% style=tycja,
+% nohandoutpagebreaks,
+% pauseslide,
+% fleqn
+% ]{powerdot}
+%\end{example}
+%Changing the |paper| and |mode| options, now produces a handout with
+%possibly more than two slides per page due to the |nohandoutpagebreaks|
+%option.
+%
+%\subsection{Setup options}\label{sec:pdsetup}
+%\DescribeMacro{\pdsetup}
+%There are several extra options that can help customizing your
+%presentation. These options are not available via the
+%|\documentclass| command. This has a technical reason.\footnote{The
+%interested reader is referred to the section about the \pf{xkvltxp}
+%package in the \pf{xkeyval} package documentation \cite{xkeyval}.}
+%We distinguish two types of options. Options that can only be set
+%globally (acting for the entire presentation) using the |\pdsetup|
+%command and options that can be accessed both globally (via
+%|\pdsetup|) and locally (via slide environments, see section~\ref{sec:slides}).
+%
+%\subsubsection{Global options}\label{sec:gopts}
+%This section describes options that can only be used globally in the
+%preamble of your presentation via the |\pdsetup| command.
+%\begin{description}
+%\item\DescribeOption{palette}\option{palette}\\
+%This specifies the palette to be used. A palette is a set of colors
+%defined by a style. To find out which palettes are defined by each
+%style, see section~\ref{sec:styles}.
+%\item\DescribeOption{theslide}\option{theslide}\\
+%This option controls how the slide number appears on the slide. This
+%is preset to the value |\arabic{slide}~/~\pageref*{lastslide}|,
+%which could appear like |5/22|. Notice that the |\arabic{slide}|
+%typesets the number of the current slide and that
+%|\pageref*{lastslide}| typesets the number of the last
+%slide.\footnote{We use the starred version of \cs{pageref} which is
+%defined by \pf{hyperref} and does not create a link to the page that
+%it is referring to.}
+%\item\DescribeOption{thenote}\option{thenote}\\
+%This is similar to the |theslide| option, but typesets the slide
+%numbers of notes. The preset value is
+%|note~\arabic{note}~of~slide~\arabic{slide}| and |\arabic{note}|
+%here typesets the number of the current note that goes with the
+%current slide. This could appear like |note 2 of slide 7|.
+%\item\DescribeOption{counters}\option{counters}\\
+%The |counters| option lists counters that you might want to protect
+%on overlays. As material on overlays (see
+%section~\ref{sec:overlays}) is processed multiple times, also
+%\LaTeX\ counters, like the |equation| counter, might be increased
+%too often. To avoid that your equations get different numbers on
+%every overlay, use this option. The |equation|, |table|, |figure|,
+%|footnote| and |mpfootnote| counters are already protected for you.
+%If you use extra counters, for instance for theorems, list them in
+%this option. Example:
+%\begin{example}
+% counters={theorem,lemma}
+%\end{example}
+%\item\DescribeOption{list}\option{list}\\
+%This option takes a list of options that will be passed on to the
+%\pf{enumitem} package that controls the layout of lists created by
+%the |enumerate| and |itemize| environments. Example:
+%\begin{example}
+% list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+%\end{example}
+%See for more information on controlling the layout of lists the
+%\pf{enumitem} package \cite{enumitem}.
+%\item\DescribeOptions{enumerate,itemize}\option{enumerate,itemize}\\
+%As the |list| option, but only control |enumerate| and |itemize|
+%environments respectively.
+%\item\DescribeOption{clockformat}\option{clockformat}\\
+%This option specifies the format of the clock. The format is set using
+%Acrobat's |util.printd| function.\footnote{For a complete listing of
+%allowable formats, consult the \textit{Acrobat JavaScript Scripting
+%Reference}\cite{javascript}.} The default value is |HH:MM:ss|, which
+%shows a 00-23 hour, 00-59 minute, 00-59 second clock. Example:
+%\begin{example}
+% clockformat=h:MM tt
+%\end{example}
+%The above setting will display a 1-12 hour, 00-59 minute, am/pm clock.
+%That is, the clock might show |5:53 pm|.
+%\item\DescribeOption{clockrefresh}\option{clockrefresh}\\
+%This option should be a number which specifies how often
+%the clock is refreshed in milliseconds. The default behavior is to refresh
+%the clock every second. Thus, the default value is 1000. Notice, if the
+%|clockformat| is such that seconds are not shown, then it makes no sense
+%to update that clock every second. A corresponding example:
+%\begin{example}
+% clockrefresh=60000
+%\end{example}
+%The interpretation of this is that the clock will be updated every minute.
+%\end{description}
+%
+%\subsubsection{Global and local options}\label{sec:glopts}
+%This section describes options that can be used both globally via
+%|\pdsetup| and locally via slide environments (see section~\ref{sec:slides}).
+%\begin{description}
+%\item\DescribeOptions{lf,cf,rf}\option{lf,cf,rf}\\
+%This determines the content of the left, center and right footers.
+%These are preset to empty.
+%\item\DescribeOption{trans}\option{trans}\\
+%This option sets the default transition effect to be used in the
+%presentation. These transition effects only work after compiling the
+%presentation to PDF format. See also section~\ref{sec:compiling}.
+%The following transition effects are supported: |Split|, |Blinds|,
+%|Box|, |Wipe|, |Dissolve|, |Glitter| and |Replace|. When you are using
+%a viewer that understands PDF 1.5, you can also use |Fly|, |Push|,
+%|Cover|, |Uncover| or |Fade|. It is important to notice that most
+%viewers are case sensitive, so, for instance, |box| will not work.
+%
+%The preset effect is |Replace| which just replaces one slide with
+%another when browsing the slides. Note that some PDF viewers (like
+%Acrobat Reader 5 and higher) only produce the transition effect in
+%full screen mode. If you want to use a custom transition effect that
+%is not listed in the list above (for instance, a wipe effect with a
+%custom wipe direction), then that is possible. However,
+%\pf{powerdot} will put a warning in your log file that the effect
+%that you have chosen, might not work in the PDF viewer. Here is an
+%example that does work.
+%\begin{example}
+% trans=Wipe /Di 0
+%\end{example}
+%In Acrobat (Reader), this wipes from left to right instead of the
+%default top to bottom. For more information, see a PDF Reference
+%Manual.
+%\item\DescribeOption{method}\option{method}\\
+%This option can be used when a slide contains special material that
+%does not get treated in the `usual' way by \LaTeX. Verbatim material
+%is an example of this. Possible values are |normal| (the preset value),
+%|direct| and |file|. We will come back to this option in detail in
+%section~\ref{sec:verbatim}.
+%\item\DescribeOptions{logohook,logopos,logocmd}\option{logohook,logopos,logocmd}\\
+%If |logopos| is specified, a logo defined by the value of the
+%|logocmd| option will be put on slides. The position can be
+%specified relative to the width and height of the slide. |{0,0}| is
+%the lower left corner of the paper and |{\slidewidth,\slideheight}|
+%is the upper right corner. For positioning the logo, the |\rput|
+%command of \pf{pstricks} \cite{PSTricksWeb,PSTricks} is used. This
+%command also allows to specify the point of the logo that should be
+%positioned there. This point can be entered via the |logohook|
+%option and can take the values |tl|, |t|, |tr|, |r|, |Br|, |br|,
+%|b|, |bl|, |Bl|, |l|, |B| and |c|. For more information about
+%|\rput|, consult the \pf{pstricks} documentation. Here is an example
+%that integrates the flower of the \pf{default} style into the
+%\pf{husky} style.
+%\begin{example}
+% \documentclass[style=husky]{powerdot}
+% \pdsetup{
+% logohook=t,
+% logopos={.088\slidewidth,.99\slideheight},
+% logocmd={\includegraphics[height=.08\slideheight]{powerdot-default.ps}}
+% }
+% \begin{document}
+% ...
+% \end{document}
+%\end{example}
+%The preset value for |logohook| is |tl|.
+%\end{description}
+%
+%A special feature of \pf{powerdot}, which can be used to make
+%presentations come alive, is the use of random dots. These dots will
+%be placed anywhere on your slides and use the colors defined by the
+%palette that you use. Overlays will carry the same dots. This
+%feature uses |random.tex| \cite{random}. Several options are
+%available to control the appearance of the random dots.
+%\begin{description}
+%\item\DescribeOption{randomdots}\option{randomdots}\\
+%By default, random dots are turned off. If this option is set to
+%|true|, random dots will be generated. |false| will turn off the
+%feature. When no value is submitted to the option, |true| will be
+%used.
+%\item\DescribeOptions{dmindots,dmaxdots}\option{dmindots,dmaxdots}\\
+%The number of dots per slide is also random. These options set the
+%minimum and maximum dots per slide. Preset values are |5| and |40|,
+%respectively.
+%\item\DescribeOptions{dminsize,dmaxsize}\option{dminsize,dmaxsize}\\
+%The minimum and maximum radius of the dots. Preset values are |5pt|
+%and |40pt|, respectively.
+%\item\DescribeOptions{dminwidth,dmaxwidth,dminheight,dmaxheight}
+%\option{dminwidth,dmaxwidth,dminheight,dmaxheight}\\
+%These options determine the area on the slide that can be used for
+%the random dots. These values are preset such that dots go anywhere
+%on the slide, but you might want to adjust these such that, for
+%instance, dots can only appear in the text area. The preset values
+%are |0pt|, |\slidewidth|, |0pt|, |\slideheight|.
+%
+%Here is an example that allows dots in a smaller rectangle on the
+%slide.
+%\begin{example}
+% \pdsetup{
+% dminwidth=.1\slidewidth,dmaxwidth=.9\slidewidth,
+% dminheight=.2\slideheight,dmaxheight=.8\slideheight
+% }
+%\end{example}
+%\item\DescribeOption{dbright}\option{dbright}\\
+%This option can be used to adjust the brightness of the dots. The
+%number should be an integer between -100 and 100. If the number is
+%negative, the color will be adjusted towards black, with -100 giving
+%black. If the number is positive, the color will be adjusted towards
+%white, with 100 giving white. With a light background, you may want
+%to choose |bright| to be positive. With a dark background, you may
+%want to set it negative. The preset value is |60|, meaning a mixture
+%of 40\% of the original color and 60\% white.
+%\item\DescribeOption{dprop}\option{dprop}\\
+%This option is used for passing extra parameters to the |\psdot|
+%command, which creates the random dots. You could, for instance,
+%change the style of the dots or the line width. See for more
+%information about |\psdot| the \pf{pstricks} documentation
+%\cite{PSTricksWeb,PSTricks}. \pf{powerdot} defines two extra dot
+%styles that can be used for the random dots. These styles are
+%|ocircle| (open circle) and |osquare| (open square).
+%\end{description}
+%
+%Here are two examples for the use of random dots.
+%\begin{example}
+% \pdsetup{
+% randomdots,dminwidth=.2\slidewidth
+% }
+%\end{example}
+%This turns on random dots and doesn't use the left 20\% of the slide
+%for placing random dots.
+%\begin{example}
+% \pdsetup{
+% randomdots,dprop={dotstyle=ocircle,linewidth=.5pt},
+% dminsize=500pt,dmaxsize=600pt,dmindots=2,dmaxdots=5
+% }
+%\end{example}
+%This example puts at most 5 big circles on slides. These circles do
+%not fit on the slides and you will only see parts of them in the
+%shape of curves.
+%
+%\subsubsection{\cs{pdsetup} example}
+%Here is an example of a |\pdsetup| command that one could use to set up
+%the presentation.
+%\begin{example}
+% \pdsetup{
+% lf=My first presentation,
+% rf=For some conference,
+% trans=Wipe,
+% theslide=\arabic{slide},
+% randomdots,dmaxdots=80
+% }
+%\end{example}
+%This sets the left and right footers and will initialize the
+%transition effect to |Wipe|. Further, slide numbers will not include
+%the number of the last slide, but only the number of the current
+%slide. Finally, slides will be covered with at most 80 random dots.
+%
+%A small note is necessary with respect to the appearance of footers.
+%The slide number (controlled by the |theslide| option) will be added
+%to a footer. Most styles add it too the right footer. If both the
+%footer and the slide number are non empty, |~--~| will be inserted
+%in between them to separate them. Styles might modify this default
+%behavior however.
+%
+%\section{Making slides}\label{sec:slides}
+%\subsection{The title slide}\label{sec:titleslide}
+%\DescribeMacro{\title}
+%\DescribeMacro{\author}
+%\DescribeMacro{\and}
+%\DescribeMacro{\date}
+%\DescribeMacro{\maketitle}
+%The title slide is created by the |\maketitle| command.
+%\begin{command}
+% `\cs{maketitle}\oarg{options}'
+%\end{command}
+%Its use is the same as in the standard \LaTeX\ document classes. The
+%optional argument \meta{options} can contain any option from
+%section~\ref{sec:glopts}. Specifying such an option in the
+%|\maketitle| command will only have an effect on the title slide and
+%not on other slides. See an example below.
+%\begin{example}
+% \documentclass{powerdot}
+% \title{Title}
+% \author{You \and me}
+% \date{August 21, 2005}
+% \begin{document}
+% \maketitle
+% ...
+% \end{document}
+%\end{example}
+%The |author|, |title| and |date| declarations provide the text to be
+%used when making a title page. The design of the title page is
+%specific to the style in use. Notice the use of |\and| for
+%separating multiple authors. See a \LaTeX\ manual \cite{companion}
+%for more information on commands such as |\title| and |\author|.
+%
+%\subsection{Other slides}\label{sec:otherslides}
+%\DescribeEnv{slide} The centerpiece of every presentation is the
+%slide. In \pf{powerdot}, the content of each slide is placed in a
+%|slide| environment.
+%\begin{command}
+% `\cs{begin}\texttt{\{slide\}}\oarg{options}\marg{slide title}'
+% `\meta{body}'
+% `\cs{end}\texttt{\{slide\}}'
+%\end{command}
+%
+%In section~\ref{sec:overlays} we'll see how to give some life to the
+%slides, but for now, let's look at a simple example.
+%\begin{example}
+% \begin{slide}{First slide}
+% Hello World.
+% \end{slide}
+%\end{example}
+%The slide environment has one required argument, namely the slide
+%title. When a slide is created, the slide title is used to create an
+%entry in the table of contents and in the list of bookmarks. The
+%table of contents is a listing of the slides and section titles in
+%the presentation that appears on each slide.
+%
+%The table of contents is clickable (when the presentation is
+%compiled into PDF) and serves as a nice way to jump from location to
+%location within the presentation. The bookmark list is only present
+%when compilation is taken all the way to the PDF file format. It
+%also serves as a table of contents, but this list does not appear on
+%\textit{any} of the slides, but in a separate window in a PDF
+%viewer. In the example above, the entries in both table contents and
+%the list of bookmarks would be titled |First slide|.
+%
+%The \meta{options} for the |slide| environment can contain any
+%option listed in section~\ref{sec:glopts}. Additionally, the
+%following options can be used.
+%\begin{description}
+%\item\DescribeOption{toc}\option{toc}\\
+%When specified, the value is used for the entry in the table of
+%contents; otherwise, the slide title is used. If |toc=| is
+%specified, then no entry is created.
+%\item\DescribeOption{bm}\option{bm}\\
+%When specified, the value is used for the bookmark entry; otherwise,
+%the slide title is used. If |bm=| is specified, then no entry is
+%created.
+%\end{description}
+%
+%These optional arguments are especially useful when the title of a
+%slide is extremely long or when the title contains \LaTeX\ commands
+%that do not render correctly in the bookmarks.\footnote{The
+%bookmarking procedure uses \cs{pdfstringdef} from the \pf{hyperref}
+%package, and it can process accented characters such as \cs{"i}.}
+%When specifying entries, be sure to hide special characters `|,|'
+%and `|=|' between curly brackets `|{|' and `|}|'. Let's look at an
+%example that uses these optional arguments.
+%\begin{example}
+% \begin{slide}[toc=,bm={LaTeX, i*i=-1}]{\color{red}\LaTeX, $i^2=-1$}
+% My slide contents.
+% \end{slide}
+%\end{example}
+%
+%In this example, the slide title will appear as {\color{red}\LaTeX,
+%$i^2=-1$}. This text will not render correctly in a bookmark entry.
+%An attempt is made to correct this, but often, the correction does
+%not produce an equivalent text. This particular title would be
+%rendered in the bookmark list as |redLaTeX, i2=-1|. On the other
+%hand, the manually specified bookmark entry is rendered as:
+%|LaTeX, i*i=-1|. Notice, no entry is created in the table of contents,
+%because of the use of |toc=|.
+%
+%In addition to the |slide| environment, each individual style can
+%define its own environments. Many styles have a |wideslide|
+%environment. The idea is that one might have information that does
+%not fit nicely on a slide with a table of contents listed, as this
+%consumes some space. In such cases, it is preferable to use a slide
+%that does not list the table of contents. The |wideslide|
+%environment provides this functionality and has more space for the
+%actual slide content. See section~\ref{sec:styles} for information
+%on the various environments provided by the styles.
+%
+%\section{Overlays}\label{sec:overlays}
+%It is often the case that you don't want all the information on the
+%slide to appear at once. Rather, the information should appear one
+%item at a time. In \pf{powerdot}, this is achieved with overlays.
+%Each slide can be comprised of many overlays, and the overlays are
+%displayed one at a time.
+%
+%\subsection{The \cs{pause} command}\label{sec:pause}
+%\DescribeMacro{\pause} The easiest way to display information
+%sequentially is to use the |\pause| command.
+%\begin{command}
+% `\cs{pause}\oarg{number}'
+%\end{command}
+%Below is a simple example:
+%\begin{example}
+% \begin{slide}{Simple overlay}
+% power\pause dot
+% \end{slide}
+%\end{example}
+%The slide's information is displayed and continues until the
+%|\pause| command is encountered. No further output within the same
+%slide is displayed until the click of the mouse or the touch of the
+%keyboard. Then, the content will continue to display until all the
+%information is displayed or until another |\pause| command is
+%encountered. In this example, |power| is displayed on the first
+%overlay, and |powerdot| is the displayed on the second overlay. The
+%|\pause| command is often used within the |itemize| and |enumerate|
+%environments. For example,
+%\begin{example}
+% \begin{slide}{Multiple pauses}
+% power\pause dot \pause
+% \begin{itemize}
+% \item Let me pause\ldots \pause
+% \item \ldots while I talk \pause and chew bubble gum. \pause
+% \item Perhaps you'll be persuaded.
+% \item Perhaps not.
+% \end{itemize}
+% \end{slide}
+%\end{example}
+%Since |\pause| was used before the |itemize| environment, no item
+%will appear until the third overlay. Then, each item will be
+%displayed one at a time, each on their own overlay. More information
+%on using lists will follow in the next section.
+%
+%The optional argument of the |\pause| command specifies the number
+%of overlays to pause. An example usage is:
+%\begin{example}
+% \begin{slide}{Pause longer}
+% \begin{itemize}
+% \item A \pause
+% \item B \pause[2]
+% \item C
+% \end{itemize}
+% \end{slide}
+%\end{example}
+%In the example above, item |C| will appear on the fourth overlay.
+%The usefulness of this option will become more apparent in the next
+%section; so we will revisit a similar example at that time.
+%
+%\subsection{List environments}\label{sec:lists}
+%The list environments, |itemize| and |enumerate|, have special
+%treatments in \pf{powerdot}. They have an optional argument that
+%will be taken care off by the \pf{enumitem} package (see
+%\cite{enumitem}). \pf{powerdot} supplies an extra key for this
+%optional argument. In the examples that follow, features will be
+%described using the |itemize| environment but they also apply to the
+%|enumerate| environment.
+%
+%Here is the typical usage of the |itemize| environment:
+%\begin{example}
+% \begin{slide}{Basic itemize}
+% \begin{itemize}
+% \item A \pause
+% \item B \pause
+% \item C
+% \end{itemize}
+% \end{slide}
+%\end{example}
+%The display is simple, each item appears one at a time with each
+%overlay.
+%
+%\DescribeOption{type}
+%Suppose we wanted every item to show, but we only wanted one item to
+%appear `active' at once. This can be accomplished via the |type|
+%option for the |itemize| environment. The preset value is |0|.
+%\begin{example}
+% \begin{slide}{Type 1 itemize}
+% \begin{itemize}[type=1]
+% \item A \pause
+% \item B \pause
+% \item C
+% \end{itemize}
+% \end{slide}
+%\end{example}
+%Now, every item will be displayed in the \emph{inactive
+%color}\index{inactive color|usage} (which is defined by the style
+%that you use), and the item's font color will become the active one
+%on the overlay that it would normally appear on. The default
+%behavior is given by |type=0|. It is still possible
+%to pass optional arguments to \pf{enumitem} via the second optional argument:
+%\begin{example}
+% \begin{slide}{Type 1 itemize}
+% \begin{enumerate}[type=1][label=\roman*a)]
+% \item A \pause
+% \item B \pause
+% \item C
+% \end{enumerate}
+% \end{slide}
+%\end{example}
+%Take care, that this must always be the second optional argument! It is
+%possible to leave the first one empty, which is valid only for \pf{powerdot}.
+%
+%Lists can also be nested to create complicated structures. When a
+%list is nested, it inherits the setting of the |type| option from
+%the `parent' list, but that can be overruled by specifying the
+%|type| option in the optional argument of the nested list. We
+%present here one example, but many more can be created by nesting
+%lists of different types in different ways.
+%\begin{example}
+% \begin{slide}{Nested lists}
+% \begin{itemize}
+% \item A\pause
+% \begin{itemize}[type=1]
+% \item B\pause
+% \end{itemize}
+% \item C
+% \end{itemize}
+% \end{slide}
+%\end{example}
+%This displays |A| and |B| on the first overlay, but |B| is inactive.
+%On overlay 2, |B| will become active and on overlay 3, |C| will
+%become visible.
+%
+%\subsection{The \cs{item} command}
+%\DescribeMacro{\item}
+%The |\item| command has an extra \emph{optional} argument in
+%\pf{powerdot} which allows for creating overlays in a more flexible
+%way then |\pause| provides.
+%\begin{command}
+% `\cs{item}\oarg{label}\larg{overlays}'
+%\end{command}
+%This optional argument should contain an overlay specification
+%stating on which overlays you want the item to appear. This
+%specification is a comma separated list where each item can used the
+%notation as in table \ref{tab:item}.
+%\begin{table}[htb]\centering
+%\begin{tabular}{d}
+%Syntax&Meaning\\\hline
+%\texttt{x}&Only overlay \texttt{x}\\
+%\texttt{-x}&All overlays up to and including \texttt{x}\\
+%\texttt{x-}&All overlays from \texttt{x}, including \texttt{x}\\
+%\texttt{x-y}&All overlays from \texttt{x} to \texttt{y},
+%including \texttt{x} and \texttt{y}\\
+%\end{tabular}
+%\caption{\cs{item} and \cs{onslide} notation}\label{tab:item}
+%\end{table}
+%The \meta{label} argument is the standard optional argument for
+%|\item| in \LaTeX. A \LaTeX\ manual \cite{companion} can tell you
+%more about this argument.
+%
+%Here is an example.
+%\begin{example}
+% \begin{slide}{Active itemize}
+% \begin{itemize}[type=1]
+% \item<1> A
+% \item<2> B
+% \item<3> C
+% \end{itemize}
+% \end{slide}
+%\end{example}
+%Here we have said that |A| should only be active on overlay 1, |B|
+%should only be active on overlay 2, and |C| should only be active on
+%overlay 3. Again, when the item is not active, it appears in the
+%inactive color because of |type=1|.
+%
+%If |type=0| is specified and if each item is given an overlay
+%option, then each item will appear only when it is active. When the
+%item is not active, then it will not show on the slide at all. More
+%examples demonstrating the syntax for \meta{overlays} will be
+%discussed in the next section.
+%
+%\subsection{The \cs{onslide} command}\label{sec:onslide}
+%\DescribeMacro{\onslide} Overlays can also be achieved using the
+%|\onslide| command.
+%\begin{command}
+% `\cs{onslide}\marg{overlays}\marg{text}'
+%\end{command}
+%This command takes an \meta{overlays} specification as first
+%argument and the \meta{text} to apply it to as second argument. The
+%\meta{overlays} on which the text will appear are specified as a
+%comma separated list with syntax as in table \ref{tab:item}. We
+%start off with a simple example.
+%\begin{example}
+% \begin{slide}{Simple onslide}
+% \onslide{1,2}{power}\onslide{2}{dot}
+% \end{slide}
+%\end{example}
+%We have instructed |power| to appear on overlays one and two, and
+%|dot| to appear only on overlay two. As you might guess, this
+%example has the same output as our first |\pause| example. Yet, it
+%is clearly the case that our syntax is more complicated. However,
+%this slight ``complication'' also allows for much more flexibility.
+%
+%\DescribeMacro{\onslide+}Consider the above example with the
+%following modifications:
+%\begin{example}
+% \begin{slide}{Simple onslide+}
+% \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\
+% \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot}
+% \end{slide}
+%\end{example}
+%The |\onslide+| command displays its content in a different manner
+%altogether. Now, |dot| appears on every overlay, but it is in
+%inactive color\index{inactive color|usage} and matches the normal
+%font color \textit{only} on overlay two. This is comparable to the
+%|type=1| behavior for lists (see section~\ref{sec:lists}).
+%
+%When executing this example, we will also notice that the |\onslide|
+%command does hide material, but still reserves the right amount of
+%space for it: on overlay 2, the |dot|s appear right above each
+%other. The next command does not reserve space.
+%
+%\DescribeMacro{\onslide*} Instead of hiding and reserving space
+%(|\onslide|) or putting \meta{text} in the inactive color
+%(|\onslide+|) when the overlay doesn't match \meta{overlays}, this
+%command just eats the material altogether. To understand the
+%differences, consider the following example:
+%\begin{example}
+% \begin{slide}{Simple onslide*}
+% \texttt{onslide }: \onslide{1}{power}\onslide{2}{dot}\\
+% \texttt{onslide+}: \onslide+{1}{power}\onslide+{2}{dot}\\
+% \texttt{onslide*}: \onslide*{1}{power}\onslide*{2}{dot}
+% \end{slide}
+%\end{example}
+%The output of the first two lines, we are already familiar with. The
+%third line displays |power| on overlay 1 and |dot| on overlay 2, but
+%no space for |power| is reserved on overlay 2. Hence |dot| will
+%start on the cursor position that |power| started on overlay 1 and
+%it is not aligned below the other two |dots|.
+%
+%We finish with an example of the syntax that is possible with
+%|\item| and |\onslide|. Remember that these commands take a comma
+%separated list for the \meta{overlays} specification and that each
+%element can used the syntax as explained in table \ref{tab:item}.
+%The various variations are demonstrated in the example below.
+%\begin{example}
+% \begin{slide}{Lists}
+% \onslide{10}{on overlay 10 only}\par
+% \onslide{-5}{on every overlay before and including overlay 5}\par
+% \onslide{5-}{on every overlay after and including overlay 5}\par
+% \onslide{2-5}{on overlays 2 through 5, inclusive}\par
+% \onslide{-3,5-7,9-}{on every overlay except overlays 4 and 8}
+% \end{slide}
+%\end{example}
+%
+%\subsection{Relative overlays}
+%Sometimes it is a pain to keep track of when an item should appear
+%or become active. You might, for example, just care that some text
+%appears on the overlay \textit{after} some other item. This
+%functionality is provided through the use of relative overlays which
+%should not be used outside list environments that use |\item|. Let's
+%consider a simple, illuminating example.
+%\begin{example}
+% \begin{slide}{Relative overlays}
+% \begin{itemize}
+% \item A \pause
+% \item B \onslide{+1}{(visible 1 overlay after B)}\pause
+% \item C \onslide{+2-}{(appears 2 overlays after C, visible until the end)}
+% \pause
+% \item D \onslide{+1-6}{(appears 1 overlay after D, visible until overlay 6)}
+% \pause
+% \item E \pause
+% \item F \pause
+% \item G \onslide{+1-+3}{(appears 1 overlay after G for 3 overlays)}\pause
+% \item H \pause
+% \item I \pause
+% \item J \pause
+% \item K
+% \End{itemize}
+% \end{slide}
+%\end{example}
+%As you can see, we still use |\onslide|. The only change is with the
+%syntax of the list of overlays. Now, we can specify a `|+|' symbol
+%in the list. In its simplest usage, |\onslide{+1}| will make text
+%display one overlay after the overlay it would \textit{normally}
+%appear on. You can still use the syntax in table \ref{tab:item}.
+%These are demonstrated in the above example. Notice,
+%|\onslide{+1-6}| means that the text will appear one overlay after
+%the overlay it would normally appear on and that the text should
+%remain shown until overlay seven. To make text appear for a range of
+%relative overlays, see the final demonstration in the above example.
+%
+%\section{Presentation structure}\label{sec:structure}
+%\subsection{Making sections}\label{sec:section}
+%\DescribeMacro{\section}
+%This section describes the |\section| command which provides a way
+%to structure a presentation.
+%\begin{command}
+% `\cs{section}\oarg{options}\marg{section title}'
+%\end{command}
+%This command will produce a slide with \meta{section title} on it
+%and will also use this text to create sections in the table of
+%contents and in the bookmarks list. There are several \meta{options}
+%to control its output.
+%
+%\DescribeOption{tocsection} This option controls the creation of a
+%section in the table of contents. The preset value is |true|.
+%\begin{description}
+%\item\option{tocsection=true}\\
+%This does create a section in the table of contents. This means that
+%all following slides, until the next section, will be nested under
+%this section.
+%\item\option{tocsection=false}\\
+%This does not create a section in the table of contents and hence
+%the section will be listed as an ordinary slide.
+%\item\option{tocsection=hidden}\\
+%This does create a section in the table of contents, but this is
+%only visible when you view a slide that is part of this section.
+%This could be used to append a section to the presentation which you
+%can discuss if there is some extra time.
+%\end{description}
+%
+%\DescribeOption{slide} This option controls whether the |\section|
+%command creates a slide. The preset value is |true|.
+%\begin{description}
+%\item\option{slide=true}\\
+%A slide is created.
+%\item\option{slide=false}\\
+%No slide will be created. If also |tocsection| is |false|, the
+%|\section| command doesn't do anything. If it does create a table of
+%contents section (|tocsection=| |true| or |hidden|), its link will
+%point to the first slide in the section as the section itself
+%doesn't have a slide.
+%\end{description}
+%
+%\DescribeOption{template} This option can be used to make the
+%section slide with another template. By default, a normal |slide|
+%environment is used to create the section slide, but if a style
+%offers other templates that could be used for this purpose (for
+%instance, the |wideslide| environment), then you can use this option
+%to select that template. See section~\ref{sec:styles} for an
+%overview of the available templates with every style.
+%
+%Finally, all options available to normal slides are available to
+%slides created by |\section| as well (see section~\ref{sec:slides}).
+%However, when the section does make a |tocsection|, |toc=| or |bm=|
+%won't remove the table of contents entry or the bookmark
+%respectively.
+%
+%\subsection{Making an overview}\label{sec:tableofcontents}
+%\DescribeMacro{\tableofcontents}
+%This command creates an overview of your presentation and can only
+%be used on a slide.
+%\begin{command}
+% `\cs{tableofcontents}\oarg{options}'
+%\end{command}
+%There are several \meta{options} to control the output of this
+%command.
+%
+%\DescribeOption{type}
+%This option controls whether certain material (depending on the
+%input in the |content| option below) will be hidden or displayed in
+%the inactive color\index{inactive color|usage}. The preset value is
+%|0|. Compare with the |type| option for list environments
+%(section~\ref{sec:lists}).
+%
+%\begin{description}
+%\item\option{type=0}\\
+%When material is not of the requested type as specified in the
+%|content| option, it will be hidden.
+%\item\option{type=1}\\
+%As |type=0|, but instead of hiding material, it will be typeset in
+%the inactive color.
+%\end{description}
+%
+%\DescribeOption{content}
+%The |content| option controls which elements will be included in the
+%overview. The preset value is |all|. The description below assumes
+%that |type=0| was chosen, but the alternative text for |type=1| can
+%easily be deduced.
+%
+%\begin{description}
+%\item\option{content=all}\\
+%This will display a full overview of your presentation including all
+%sections and slides, except the slides in hidden sections (see
+%section~\ref{sec:section}).
+%\item\option{content=sections}\\
+%This displays only the sections in the presentation.
+%\item\option{content=currentsection}\\
+%This displays the current section only.
+%\item\option{content=future}\\
+%This displays all content starting from the current slide.
+%\item\option{content=futuresections}\\
+%This displays all sections, starting from the current section.
+%\end{description}
+%
+%We finish this section with a small example that will demonstrate
+%how you can make a presentation that contains an overall overview of
+%sections in the presentation, giving a general idea of the content,
+%and per section a detailed overview of the slides in that section.
+%\begin{example}
+% \begin{slide}[toc=,bm=]{Overview}
+% \tableofcontents[content=sections]
+% \end{slide}
+% \section{First section}
+% \begin{slide}[toc=,bm=]{Overview of the first section}
+% \tableofcontents[content=currentsection,type=1]
+% \end{slide}
+% \begin{slide}{Some slide}
+% \end{slide}
+% \section{Second section}
+% ...
+%\end{example}
+%
+%\section{Miscellaneous}
+%\subsection{Notes}\label{sec:notes}
+%\DescribeEnv{note}
+%The |note| environment can be used to make personal notes that
+%accompany a slide. You can control displaying notes using the
+%|display| option (see section~\ref{sec:classopts}). Here is an
+%example.
+%\begin{example}
+% \begin{slide}{Chewing gum}
+% ...
+% \end{slide}
+% \begin{note}{Reminder for chewing gum}
+% Don't forget to mention that chewing gum is sticky.
+% \end{note}
+%\end{example}
+%
+%\subsection{Empty slides}\label{sec:emptyslides}
+%\DescribeEnv{emptyslide}
+%The |emptyslide| environment creates a totally empty slide. The text
+%box on the slide can be used for special things like displaying
+%photos. This allows for creating a dia show. Example:
+%\begin{example}
+% \begin{emptyslide}{}
+% \centering
+% \vspace{\stretch{1}}
+% \includegraphics[height=0.8\slideheight]{me_chewing_gum.eps}
+% \vspace{\stretch{1}}
+% \end{emptyslide}
+%\end{example}
+%The |\includegraphics| command is defined by the \pf{graphicx}
+%package \cite{graphics}. The |\stretch| command is used to
+%vertically center the picture. Both commands are described in your
+%favorite \LaTeX\ manual, for instance \cite{companion}. Note that
+%you can use the lengths |\slideheight| and |\slidewidth| to scale
+%pictures to fit nicely on the slide.
+%
+%\subsection{Bibliography slide}\label{sec:bib}
+%\DescribeEnv{thebibliography}
+%\pf{powerdot} redefines the standard \pf{article}
+%|thebibliography| environment to suppress the creation of a section
+%heading and running headers. All other properties are maintained.
+%You can do either of the next two (depending whether you are
+%using BiB\TeX\ or not):\\
+%\begin{minipage}[t]{.49\linewidth}
+%\begin{example}
+% \begin{slide}{Slide}
+% \cite{someone}
+% \end{slide}
+% \begin{slide}{References}
+% \begin{thebibliography}{1}
+% \bibitem{someone} Article of someone.
+% \end{thebibliography}
+% \end{slide}
+%\end{example}
+%\end{minipage}\hfill
+%\begin{minipage}[t]{.49\linewidth}
+%\begin{example}
+% \begin{slide}{Slide}
+% \cite{someone}
+% \end{slide}
+% \begin{slide}{References}
+% \bibliographystyle{plain}
+% \bibliography{YourBib}
+% \end{slide}
+%\end{example}
+%\end{minipage}
+%
+%In case you have a big reference list that you want to spread over
+%multiple slides, have a look at the packages \pf{natbib} and
+%\pf{bibentry} \cite{natbib}. Using both packages allows you to do:
+%\begin{example}
+% \begin{slide}{References (1)}
+% \bibliographystyle{plain}
+% \nobibliography{YourBib}
+% \bibentry{someone1}
+% \bibentry{someone2}
+% \end{slide}
+% \begin{slide}{References (2)}
+% \bibentry{someone3}
+% \end{slide}
+%\end{example}
+%Have a look at your favorite \LaTeX\ manual for more information
+%about citations and bibliographies.
+%
+%\subsection{Verbatim on slides}\label{sec:verbatim}\DescribeOption{verbatim}
+%\pf{powerdot} has three different methods of processing slides, from
+%which two have mainly been developed to make the inclusion of
+%verbatim content\footnote{And other content that needs catcode
+%changes when processing.} on slides easier. These methods can be
+%accessed by the |method| key which is available in slide
+%environments and the |\pdsetup| command (see
+%section~\ref{sec:glopts}).
+%\begin{description}
+%\item\option{method=normal}\\
+%This is the preset method for processing slides. It is fast and
+%allows for overlays, but it does not allow for
+%verbatim.\footnote{Except when it has been saved in a box outside
+%the slide.}
+%\item\option{method=direct}\\
+%This method is also fast, but does not allow for overlays. Overlays
+%will silently be disabled. However, it does allow for verbatim
+%content on slides.
+%\item\option{method=file}\\
+%This method uses a temporary file to export the slide body to and
+%read it back in. This method does allow for verbatim content and
+%overlays, but could be slow when many slides use this method because
+%the filesystem is used.
+%\end{description}
+%
+%Below is an example demonstrating the use of all three different
+%methods of slide processing.
+%\begin{example}
+% \documentclass{powerdot}
+% \usepackage{listings}
+% \lstnewenvironment{code}{%
+% \lstset{frame=single,escapeinside=`',
+% backgroundcolor=\color{yellow!20},
+% basicstyle=\footnotesize\ttfamily}
+% }{}
+% \begin{document}
+% \begin{slide}{Slide 1}
+% Normal \pause content.
+% \end{slide}
+% \begin{slide}[method=direct]{Slide 2}
+% Steps 1 and 2:
+% \begin{code}
+% compute a;`\pause'
+% compute b;
+% \end{code}
+% \end{slide}
+% \begin{slide}[method=file]{Slide 3}
+% Steps 1 and 2:
+% \begin{code}
+% compute a;`\pause'
+% compute b;
+% \end{code}
+% \end{slide}
+% \end{document}
+%\end{example}
+%The first slide shows the default behavior for normal content. It
+%produces two overlays. The second slide does not produce overlays,
+%despite the use of the |\pause| command. This command has been
+%disabled by choosing the |direct| method to process the verbatim
+%content. The third slide has the same body as the second slide, but
+%now does create two overlays, because the method using a temporary
+%file has been chosen. Notice that we used |\pause| inside the listing,
+%but that it can also be used outside the listing.
+%
+%\subsection{The \cs{twocolumn} command}\label{sec:twocolumn}
+%\DescribeMacro{\twocolumn}
+%The |\twocolumn| macro allows to split content into two columns.
+%\begin{command}
+% `\cs{twocolumn}\oarg{options}\marg{left}\marg{right}'
+%\end{command}
+%This typesets \meta{left} and \meta{right} in two columns. The
+%dimensions of those columns can be controlled by \meta{options}.
+%Below are the available options.
+%\begin{description}
+%\item\DescribeOption{lineheight}\option{lineheight}\\
+%If |lineheight| is specified, a line of the specified height will be
+%created using |\psline| in between the two columns. Example:
+%|lineheight=6cm|.
+%\item\DescribeOption{lineprop}\option{lineprop}\\
+%Any \pf{pstricks} declaration to specify the line properties. Example:
+%\begin{example}
+% lineprop={linestyle=dotted,linewidth=3pt}
+%\end{example}
+%\item\DescribeOptions{lfrheight,lfrprop}\option{lfrheight,lfrprop}\\
+%The first creates a frame of the specified height around the left
+%column. The second is as |lineprop|, but for the left frame.
+%\item\DescribeOptions{rfrheight,rfrprop}\option{rfrheight,rfrprop}\\
+%As |lfrheight| and |lfrprop|, but for the right frame.
+%\item\DescribeOptions{lcolwidth,rcolwidth}\option{lcolwidth,rcolwidth}\\
+%Width of the left and right columns. Both are preset to: |0.47\linewidth|.
+%\item\DescribeOption{frsep}\option{frsep}\\
+%Space between text and the frames. Preset: |1.5mm|.
+%\item\DescribeOption{colsep}\option{colsep}\\
+%Space between the two columns. Preset: |0.06\linewidth|.
+%\item\DescribeOption{topsep}\option{topsep}\\
+%The extra space (additional to |\baselineskip|) between text above
+%the columns and the text within the columns. Preset: |0cm|.
+%\item\DescribeOption{bottomsep}\option{bottomsep}\\
+%Idem for the bottom of the columns. Preset: |0cm|.
+%\item\DescribeOption{indent}\option{indent}\\
+%Horizontal indent left to the left column. Preset: |0cm|.
+%\end{description}
+%The dimensions described above are represented graphically in
+%figure \ref{fig:twocolumndim}.
+%\begin{figure}[htb]
+%\centering
+%\begin{pspicture}(0,.5)(13,10.5)
+%\psline(0,0.5)(0,10)
+%\rput[tl](.05,9.95){Top}
+%\psframe[dimen=middle](1,9)(7,2)
+%\psline{C-C}(8.5,9)(11,9)
+%\psline{C-C}(8.5,2)(8.5,9)
+%\psline{C-C}(8.5,2)(11,2)
+%\qdisk(1.7,8.3){.1cm}
+%\psset{linestyle=dashed}
+%\psline{C-C}(1.7,8.3)(6.3,8.3)
+%\psline{C-C}(1.7,8.3)(1.7,3)
+%\psline{C-C}(6.3,5)(6.3,8.3)
+%\psline{C-C}(11,9)(12,9)
+%\psline{C-C}(11,2)(12,2)
+%\psline{C-C}(11,7)(12,7)
+%\psline{C-C}(9.2,8.3)(12,8.3)
+%\psline{C-C}(9.2,8.3)(9.2,3)
+%\rput[tl](1.75,8.25){Left column text}
+%\rput[tl](9.25,8.25){Right column text}
+%\rput[tl](.05,1){Bottom}
+%\psset{linestyle=dotted,dotsep=2pt}
+%\psline(0,8.3)(1.7,8.3)
+%\psline(0,9.6)(1,9.6)
+%\psline(0,2)(1,2)
+%\psline(0,1.1)(1,1.1)
+%\psset{linestyle=solid}
+%\psline{<->}(.2,8.33)(.2,9.57)
+%\psline{<->}(4,8.33)(4,8.97)
+%\psline{<->}(1.73,7)(6.27,7)
+%\psline{<->}(1.03,6.5)(1.67,6.5)
+%\psline{<->}(0.03,5.5)(1.67,5.5)
+%\psline{<->}(6.33,7.4)(9.17,7.4)
+%\psline{<->}(8.53,6.5)(9.17,6.5)
+%\psline{<->}(6.33,6.5)(6.97,6.5)
+%\psline{<->}(10.7,8.33)(10.7,8.97)
+%\psline{<->}(7.3,8.97)(7.3,2.03)
+%\psline{<->}(.2,1.13)(.2,1.97)
+%\psline{->}(1.7,9.3)(1.7,8.45)
+%\psline{<-}(9.23,7)(11,7)
+%\cput(4,6.6){\small 1}
+%\cput(11.1,6.6){\small 2}
+%\cput(8,7){\small 3}
+%\cput(7.7,3){\small 4}
+%\cput(4.4,8.65){\small 5}
+%\cput(1.35,6.1){\small 5}
+%\cput(8.85,6.1){\small 5}
+%\cput(11.1,8.65){\small 5}
+%\cput(6.65,6.1){\small 5}
+%\cput(0.6,8.95){\small 6}
+%\cput(0.6,5.1){\small 7}
+%\cput(0.6,1.55){\small 8}
+%\cput(1.7,9.6){\small 9}
+%\end{pspicture}
+%\begin{tabular}{c p{4cm}cl}
+%\multicolumn{4}{c}{Meaning of the labels}\\\hline
+%1&|lcolwidth|&5&|frsep|\\
+%2&|rcolwidth|&6&|topsep|\\
+%3&|colsep|&7&|indent|\\
+%4&|lfrheight|, |rfrheight|,&8&|bottomsep|\\
+%&|lineheight|&9&Reference point
+%\end{tabular}
+%\caption{Two-column dimensions.}\label{fig:twocolumndim}
+%\end{figure}
+%Important to notice is that the |\twocolumn| macro uses the current
+%cursor position as the reference point to position the first line of
+%text of the left column (see also figure \ref{fig:twocolumndim}). This
+%means that optional frames can extend to the text on the previous
+%line. Use for instance |topsep=0.3cm| in that case to add extra
+%space between the two lines of text. The preset value of |topsep|
+%is based on the situation that there is no text on top of the two
+%columns. In that case, it is best to locate the first line of text
+%of the left column at the same spot as text that is not created by
+%|\twocolumn| on other slides. The setting |topsep=0cm| does exactly
+%this. However, with a combination of |topsep| and |indent| you can
+%change this behavior and position the first line of text of the left
+%column anywhere you want.
+%
+%The |\twocolumn| macro computes the height of the construction to
+%position text below the construction correctly. The computation is
+%done by taking the maximum height of |lfrheight|, |rfrheight|,
+%|lineheight| (if specified) and the left and right column content.
+%Hence when frames nor a line is requested, |bottomsep| is the
+%vertical space between the lowest line of text in the columns and
+%the text below the columns (additional to |\baselineskip|). Here is
+%an example.
+%\begin{example}
+% \begin{slide}{Two columns}
+% Here are two columns.
+% \twocolumn[
+% lfrprop={linestyle=dotted,linewidth=3pt},
+% lfrheight=4cm,rfrheight=5cm,lineheight=3cm,topsep=0.3cm
+% ]{left}{right}
+% Those were two columns.
+% \end{slide}
+%\end{example}
+%Note that the use of the \pf{xkeyval} commands |\savevalue| and
+%|\usevalue| \index{savevalue=\verb!*+\savevalue+|usage}
+%\index{usevalue=\verb!*+\usevalue+|usage} could be handy here, for
+%instance for copying the properties of the left frame to the right
+%frame. This avoids typing them twice and avoids making errors
+%resulting in different frames. See an example below.
+%\begin{example}
+% \twocolumn[
+% \savevalue{lfrheight}=3cm,
+% \savevalue{lfrprop}={
+% linestyle=dotted,framearc=.2,linewidth=3pt},
+% rfrheight=\usevalue{lfrheight},
+% rfrprop=\usevalue{lfrprop}
+% ]{left}{right}
+%\end{example}
+%See the \pf{xkeyval} documentation \cite{xkeyval} for more
+%information about |\savevalue| and |\usevalue|.
+%
+%\section{Available styles}\label{sec:styles}
+%\pf{powerdot} comes with a number of styles which are listed in the
+%overview below. The characteristics of each style are described
+%shortly and a sample of a title slide and a normal slide is provided
+%for each style. Styles support the |wideslide| environment, have a
+%table of contents on the left part of the paper in landscape
+%orientation and on the bottom part in portrait orientation and
+%support portrait orientation unless states otherwise.
+%\begin{description}
+%\item\pf{default}\\
+%This style provides six different palettes. A flower in the top left
+%corner decorates the slides for all palettes. The default palette is
+%\texttt{blue} which has as main colors light blue and white. You can
+%see an example of that palette below. Other available palettes are
+%\texttt{red}, \texttt{green}, \texttt{yellow}, \texttt{brown} and
+%\texttt{purple}.\\
+%\styleexample{default}
+%\item\pf{simple}\\
+%This is a simple style in black and white. This style could be
+%useful if you want to print your slides.\\
+%\styleexample{simple}
+%\item\pf{tycja}\\
+%This style is set in shades of yellow and dark blue. The table of
+%contents on slides is on the right side of the paper in landscape
+%orientation and on the bottom part in portrait.\\
+%\styleexample{tycja}
+%\item\pf{ikeda}\\
+%This style uses dark shades of red and blue and a light text color.
+%It has nice patterns on the slide for decoration.\\
+%\styleexample{ikeda}
+%\item\pf{fyma}\\
+%This style was originally created by Laurent Jacques for
+%\pf{prosper}. Based on that style, he created a version for
+%\pf{HA-prosper} with extended features. With his kind permission,
+%this style has been converted by Shun'ichi J. Amano for
+%\pf{powerdot}. The style has an elegant design with a light blue and
+%white gradient background in the default \texttt{blue} palette.
+%Other available palettes are \texttt{green}, \texttt{gray},
+%\texttt{brown} and \texttt{orange}. It has special templates for
+%sections on slides and sections on wide slides. Below is a sample of
+%the blue palette.\\
+%\styleexample{fyma}
+%\item\pf{ciment}\\
+%This style was originally created by Mathieu Goutelle for
+%\pf{prosper} and \pf{HA-prosper}. With his kind permission, this style
+%has been converted for \pf{powerdot}. The style has a background
+%that is hatched with light gray horizontal lines. Titles and table
+%of contents highlighting are done with dark red.\\
+%\styleexample{ciment}
+%\item\pf{elcolors}\\
+%This is a style using light shades of the elementary colors red,
+%blue and yellow.\\
+%\styleexample{elcolors}
+%\item\pf{aggie}\\
+%This style was created by Jack Stalnaker for \pf{HA-prosper} and he
+%has converted this style for \pf{powerdot}. The style uses dark red
+%and light brown colors.\\
+%\styleexample{aggie}
+%\item\pf{husky}\\
+%This style is created by Jack Stalnaker and has a background of
+%light gray sun beams combined with dark red highlights.\\
+%\styleexample{husky}
+%\item\pf{sailor}\\
+%This style is contributed by Mael Hill\'ereau and supplies five
+%different palettes: \texttt{Sea} (the default), \texttt{River},
+%\texttt{Wine}, \texttt{Chocolate} and \texttt{Cocktail}. Below is a
+%sample of the palette \texttt{Sea}.\\
+%\styleexample{sailor}
+%\item\pf{upen}\\
+%This style has a nice dark blue background and text in yellow. It is
+%contributed by Piskala Upendran.\\
+%\styleexample{upen}
+%\item\pf{bframe}\\
+%The \pf{bframe} style has blue frames on the slide in which text is
+%positioned. The style is contributed by Piskala Upendran.\\
+%\styleexample{bframe}
+%\item\pf{horatio}\\
+%The \pf{horatio} style has been contributed by Michael Lundholm and
+%is a more conservative blue style.\\
+%\styleexample{horatio}
+%\item\pf{paintings}\\
+%This is a simple style without a table of contents on slides. It has
+%been contributed by Thomas Koepsell and provides 10 different
+%palettes. The colors used in the palettes are drawn from famous
+%paintings.\footnote{The style defines a color \texttt{pdcolor7}
+%which is not used in the style but comes from the same painting and
+%complements the other colors. It can be used, for example, to
+%highlight text against the main background color.} If you are
+%interested, open the style file to read which paintings have been
+%used. The available palettes are: \texttt{Syndics} (the default),
+%\texttt{Skater}, \texttt{GoldenGate}, \texttt{Lamentation},
+%\texttt{HolyWood}, \texttt{Europa}, \texttt{Moitessier},
+%\texttt{MayThird}, \texttt{PearlEarring} and \texttt{Charon} (all
+%case sensitive). Below is a sample of the \texttt{Syndics}
+%palette.\\
+%\styleexample{paintings}
+%\item\pf{klope}\\
+%The \pf{klope} style implements a horizontal table of contents that
+%only lists the sections. The style is available in the following
+%palettes: \texttt{Spring}, \texttt{PastelFlower}, \texttt{BlueWater}
+%and \texttt{BlackWhite}. The \texttt{Spring} palette is the default
+%and you can see a sample of that below.\\
+%\styleexample{klope}
+%\item\pf{jefka}\\
+%The \pf{jefka} style comes with four palettes: \texttt{brown} (the
+%default), \texttt{seagreen}, \texttt{blue} and \texttt{white}. Below
+%you see a sample of the \texttt{brown} palette.\\
+%\styleexample{jefka}
+%\item\pf{pazik}\\
+%This style is available in two palettes: \texttt{red} and
+%\texttt{brown}. Below is a sample of the default \texttt{red}
+%palette.\\
+%\styleexample{pazik}
+%\end{description}
+%
+%\section{Compiling your presentation}\label{sec:compiling}
+%\subsection{Dependencies}\label{sec:dependencies}
+%In table \ref{tab:dependencies} is a list of packages that
+%\pf{powerdot} uses to perform specific tasks. Dependencies of
+%packages in this table are not listed. In the table, `required'
+%means that you should have a version \emph{at least} as new as
+%listed and `tested' means that \pf{powerdot} was tested with this
+%version, but that it could equally well work with an older or newer
+%version than the one listed in the table. So, when trying to solve
+%an error, first concentrate on solving version issues for the
+%`required' packages. To find out which version of a package you are
+%currently using, put |\listfiles| on the first line of your
+%document, run it with \LaTeX, open the |.log| file and read the file
+%list (see a \LaTeX\ manual for more information). If you need to
+%update a package, you can get it from CTAN \cite{CTAN}.
+%\begin{table}[htb]
+%\centering
+%\begin{tabular}{e}
+%Package/file & Version & Date & Required/tested\\\hline
+%\pf{xkeyval} \cite{xkeyval} & 2.5c & 2005/07/10 & required\\
+%\texttt{pstricks.sty} \cite{PSTricksWeb,PSTricks} & 0.60 & 2013/12/12 & required\\
+%\pf{xcolor} \cite{xcolor} & 1.11 & 2004/05/09 & required\\
+%\pf{enumitem} \cite{enumitem} & 3.5.2 & 2011/09/28 & required\\
+%\pf{article} class & 1.4f & 2004/02/16 & tested\\
+%\pf{geometry} \cite{geometry} & 3.2 & 2002/07/08 & tested\\
+%\pf{hyperref} \cite{hyperref} & 6.74m & 2003/11/30 & tested\\
+%\pf{graphicx} \cite{graphics} & 1.1a & 2017/06/01 & required\\
+%\pf{verbatim} & 1.5q & 2003/08/22 & tested
+%\end{tabular}
+%\caption{Dependencies}\label{tab:dependencies}
+%\end{table}
+%
+%\subsection{Creating and viewing output}\label{sec:creation}
+%To compile your presentation, run it with \LaTeX. The DVI that is
+%produced this way can be viewed with MiK\TeX's DVI viewer
+%YAP.\footnote{Unless you are using \pf{pstricks-add} which distorts
+%the coordinate system in DVI.} Unfortunately, xdvi and kdvi (kile)
+%do not support all PostScript specials and hence these will display
+%the presentation incorrectly. If your DVI viewer does support
+%this, make sure that your DVI display settings match that of the
+%presentation. In case you are using the |screen| paper, you should
+%set the DVI display setting to using the letter paper format. If
+%your DVI viewer allows for custom paper formats, use 8.25 inch by 11
+%inch.
+%
+%Note that certain things that are produced with PostScript or PDF
+%techniques will not work in a DVI viewer. Examples are hiding of
+%material via postscript layers (as is done, for instance, by
+%|\pause|, see section~\ref{sec:overlays}) and hyperlinks, for
+%instance in the table of contents.
+%
+%If you want to produce a postscript document, run dvips over the DVI
+%\emph{without any particular command line options related to
+%orientation or paper size}. \pf{powerdot} will write information to
+%the DVI file that helps dvips and ps2pdf (ghostscript) to create a
+%proper document. If you have some reason that this does not work for
+%you and you want to specify the paper and orientation yourself, you
+%should use the |nopsheader| option that is described in
+%section~\ref{sec:setup}. The PostScript document could, for
+%instance, be used to put multiple slides on a page using the |psnup|
+%utility.
+%
+%To create a PDF document for your presentation, run ps2pdf over the
+%PS file created with dvips. Also here, you can \emph{leave out any
+%command line arguments related to paper size or orientation}. If
+%this is problematic for you somehow, use the |nopsheader| option as
+%before and specify the paper and orientation at each intermediate
+%step yourself.
+%
+%\section{Creating your own style}\label{sec:writestyle}
+%\subsection{General information}
+%Writing or customizing \pf{powerdot} styles is simple. If you want
+%to modify a style or build a new one, locate the style that you want
+%to use as basis in your \TeX\ tree (styles are named as
+%|powerdot-<style_name>.sty|), copy that and rename it as to avoid
+%license\footnote{The \LaTeX\ Public Project License requires
+%renaming files when modifying them, see
+%\url{http://www.latex-project.org/lppl}.} or naming conflicts. You
+%might want to install the new style in your local \TeX\ tree to be
+%able to access it from any place on your hard drive. See your
+%\LaTeX\ distribution for more information.
+%
+%Once that has been taken care of, we can start creating the style.
+%We strongly recommend to study a style file (for example,
+%|powerdot-default.sty|) while reading the remainder of this section
+%as it provides good examples for the content of this section.
+%
+%A style has several components. We describe these components below.
+%\begin{description}
+%\item\textbf{Identification and packages}\\
+%This identifies the package in the log of a presentation and loads
+%all required packages. The \pf{default} style contains something like:
+%\begin{example}
+% \NeedsTeXFormat{LaTeX2e}[1995/12/01]
+% \ProvidesPackage{powerdot-default}[2005/10/09 v1.2 default style (HA)]
+% \RequirePackage{pifont}
+%\end{example}
+%See for more information about these commands a \LaTeX\ manual, for
+%instance \cite{companion}.
+%\item\textbf{Palette or color definitions}\\
+%This section contains the definitions of palettes or colors that you
+%want to use in the style. \pf{powerdot} uses \pf{xcolor} (via
+%\pf{pstricks}). Hence, for more information about colors, see the
+%\pf{xcolor} documentation. We will discuss palettes in more detail
+%in section~\ref{sec:defpals}.
+%\item\textbf{Template definitions}\\
+%We will come back to this in sections~\ref{sec:deftemps}
+%to~\ref{sec:defbg}.
+%\item\textbf{Custom declarations}\\
+%These can include anything that you want to be part of the style.
+%The \pf{default} style, for instance, includes definitions for the labels
+%in list environments like |itemize| and some initializations for
+%lists in general (done with |\pdsetup|, see
+%section~\ref{sec:pdsetup}). This part could also include some
+%customizations as described in section~\ref{sec:specialtemps}.
+%\item\textbf{Font initializations}\\
+%This initializes font definitions (which can be done by
+%loading a package like \pf{helvet}).
+%\end{description}
+%
+%\subsection{Defining palettes}\label{sec:defpals}
+%We will be defining templates formally in
+%section~\ref{sec:deftemps}. For now, it's enough to have the general
+%idea that a template controls the design of a slide. Palettes are
+%sets of colors that color a template or design. A palette does not
+%change the overall design of a template.
+%
+%\DescribeMacro{\pddefinepalettes}
+%The following command can be used to define palettes for your style.
+%\begin{command}
+% `\cs{pddefinepalettes}\marg{name1}\marg{cmds1}\dots'
+%\end{command}
+%This macro takes \emph{any} even number of mandatory arguments with
+%a minimum of two. For every \meta{name}, a set of \meta{commands}
+%can be given which define the palette with name \meta{name}. These
+%commands can define colors with names |pdcolor1|, |pdcolor2|,
+%etcetera. These colors can be used when designing the template (see
+%section~\ref{sec:deftemps}). |pdcolor1| will always be used as text
+%color.
+%
+%The user can access these palettes via the |palette| key for the
+%|\pdsetup| command (see section~\ref{sec:pdsetup}). If the user does
+%not specify a palette, the first palette defined when compiling the
+%presentation, will be used. Here is an example for defining 2
+%palettes.
+%\begin{example}
+% \pddefinepalettes{reds}{
+% \definecolor{pdcolor1}{rgb}{1,0,0}
+% \definecolor{pdcolor2}{rgb}{1,.1,0}
+% \definecolor{pdcolor3}{rgb}{1,.2,0}
+% }{greens}{
+% \definecolor{pdcolor1}{rgb}{0,1,0}
+% \definecolor{pdcolor2}{rgb}{.1,1,0}
+% \definecolor{pdcolor3}{rgb}{.2,1,0}
+% }
+%\end{example}
+%In this example, the |reds| palette is the default one. For more
+%information about |\definecolor|, see the documentation of the
+%\pf{xcolor} package \cite{xcolor}.
+%
+%Notice that it is not necessary to use the names |pdcolor2|,
+%|pdcolor3| etcetera as color names. But if these colors are defined,
+%\pf{powerdot} will use them, for instance, in the random dots
+%feature (see section~\ref{sec:glopts}). The flexibility adds extra
+%possibilities in setting up templates and palettes. See for an
+%example of its use, the \pf{klope} style.
+%
+%\subsection{Defining templates}\label{sec:deftemps}
+%We start off with a definition of what a template is. A template is
+%a collection of settings for slide components together with custom
+%definitions, which controls the visual appearance of a slide. A
+%style can contain multiple templates.
+%
+%\begin{command}
+% `\cs{pddefinetemplate}\oarg{basis}\marg{name}\marg{options}\marg{commands}'
+%\end{command}
+%\DescribeMacro{\pddefinetemplate}
+%This defines the environment \meta{name} to produce a slide with
+%characteristics determined by \meta{basis}, \meta{options} and
+%\meta{commands}. We will discuss these elements in more detail
+%in the coming sections.
+%
+%If you want to create several templates that differ only slightly
+%from each other, define a \meta{basis} template, and then use it to
+%define other templates. All \meta{options} and \meta{commands} for
+%the new template \meta{name} will be appended to the existing list
+%of \meta{options} and \meta{commands} from the \meta{basis}
+%template.
+%
+%Make sure you choose a \emph{proper} name for the template, and
+%avoid redefining existing templates or environments. \pf{powerdot}
+%defines |pauseslide|, |note| and |emptyslide| internally, so you
+%shouldn't use these names unless you know what you're doing.
+%Furthermore, each style needs to define at least the templates
+%|slide| and |titleslide|. The |titleslide| environment will be used
+%to create the title slide and |slide| will (by default) also be used
+%to create section slides. Titles and sections are a bit special in
+%the way they use the \meta{options} and will be discussed in more
+%detail in section~\ref{sec:specialtemps}.
+%
+%\subsection{Controlling setup}
+%\DescribeOption{ifsetup}
+%The \meta{options} (keys) are described in the following sections.
+%You can control how these options apply to the various setups by
+%using the |ifsetup| key. Any key appearing before the first
+%|ifsetup| declaration in \meta{options} will apply to every possible
+%setup. Once the |ifsetup| key is used, then all subsequent key
+%declarations will apply \textit{only} to the setups declared in the
+%|ifsetup| key. The |ifsetup| key can be used multiple times.
+%
+%By possible setups, we mean the allowed values of the |mode|,
+%|paper|, |orient|, and |display| keys that are described in
+%section~\ref{sec:classopts}. If a value (or values!) for any of
+%these four keys is not specified in a |ifsetup| declaration, then
+%all subsequent key declarations will apply to any layout of that
+%type. Consider the following as an example.
+%\begin{example}[numbers=left,numberstyle=\tiny\ttfamily,%
+% escapeinside=`',numbersep=1em,xleftmargin=1em]
+% ...
+% textpos={.2\slidewidth,.3\slideheight},%
+% ifsetup={portrait,screen},%
+% textpos={.3\slidewidth,.2\slideheight}%
+% ...
+% ifsetup=landscape,%
+% ...
+% ifsetup,
+% ...
+%\end{example}
+%Assuming there was no |ifsetup| declaration before the first
+%|textpos| declaration, this first |textpos| will apply to every
+%possible setup. However, for the screen format in portrait
+%orientation, the next |textpos| declaration will be used. In fact,
+%all declarations that appear until we switch to the next |ifsetup|
+%(which specifies all paper sorts and only landscape orientation)
+%will be used in the portrait screen layout. All keys after the next
+%|ifsetup| declaration will be used in landscape orientation,
+%\emph{with any paper, mode and display}. If, after declaring some
+%specializations, you want to switch back to settings that apply to
+%all possible setups, set |ifsetup| to empty as is done in the
+%example. All subsequent declarations will then again be applied
+%under any setup.
+%
+%The following command is a stand-alone implementation of the
+%mechanism described above. It allows you to control the setup
+%outside the \meta{options} argument of the |\pddefinetemplate|
+%command.
+%\begin{command}
+% `\cs{pdifsetup}\marg{desired}\marg{true}\marg{false}'
+%\end{command}
+%\DescribeMacro{\pdifsetup}
+%This macro executes \meta{true} when the setup that the user chose
+%matches with the \meta{desired} setup, \meta{false} in all other cases.
+%For instance, if the user has chosen landscape, then
+%\begin{example}
+% \pdifsetup{landscape}{yes}{no}
+%\end{example}
+%will typeset |yes|. If the user would have chosen portrait instead,
+%then |no| would have been typeset.
+%
+%This macro can be used to check setup requests from the user and,
+%for instance, generate an error if a certain setup is not supported
+%by your style. \pf{powerdot} provides one predefined error message
+%which can be used in one of the first lines of your style.
+%\begin{command}
+% `\cs{pd@noportrait}'
+%\end{command}
+%\DescribeMacro{\pd@noportrait}
+%This macro generates an error when the user requests portrait
+%orientation. Notice that the handout mode only works in portrait
+%orientation. This macro takes that into account and doesn't generate
+%an error in the case that the user requested a handout.
+%
+%\subsection{Main components}\label{sec:maincomps}
+%The \meta{options} control several key components of a slide. Every
+%component has several properties. A key that can be used in the
+%\meta{options} argument is the name of the component postfixed by
+%its property that you want to control.
+%
+%The components |title|, |text|, |toc|, |stoc| and |ntoc| have
+%properties |hook|, |pos|, |width| and |font|. Additionally, the
+%|text| component has a |height| property. The components |lf|, |cf| and
+%|rf| have properties |hook|, |pos|, |temp| and |font|. Hence,
+%examples of valid keys are |titlefont|, |tocpos| and |lftemp|. All
+%components and properties will be discussed below.
+%
+%Here is an overview of the components that can be controlled from
+%the \meta{options} argument in |\pddefinetemplate|.
+%\begin{description}
+%\item\DescribeOption{title-}\option{title-}\\
+%The slide title.
+%\item\DescribeOption{text-}\option{text-}\\
+%The main text box on the slide.
+%\item\DescribeOption{toc-}\option{toc-}\\
+%The (full) table of contents on a slide containing sections and
+%slides.
+%\item\DescribeOption{stoc-}\option{stoc-}\\
+%This is a table of contents containing only the sections. See also
+%|ntoc| below.
+%\item\DescribeOption{ntoc-}\option{ntoc-}\\
+%This is a table of contents containing only the entries for the
+%active section. Together with |stoc|, this can be used to create a
+%split table of contents. In a particular template, one would usually
+%have a |toc|, a combination of |stoc| and |ntoc| or no table of
+%contents at all.
+%\item\DescribeOptions{lf-,cf-,rf-}\option{lf-,cf-,rf-}\\
+%The left, center and right footers.
+%\end{description}
+%
+%Notice that all positioning of components described above will be
+%done with |\rput| from \pf{pstricks} \cite{PSTricksWeb,PSTricks}
+%internally. See the \pf{pstricks} documentation for more information
+%about this command. It should also be noted that all components
+%(except |lf|, |cf| and |rf|) put their content in a |minipage|
+%environment.
+%
+%Now we list all properties of the components listed above and
+%describe what they mean. Remember that keys are formed by combining
+%a component name and a property.
+%
+%\begin{description}
+%\item\DescribeOption{-hook}\option{-hook}\\
+%This option defines the |\rput| hook that will be used when
+%positioning the item. This can be |tl|, |t|, |tr|, |r|, |Br|, |br|,
+%|b|, |bl|, |Bl|, |l|, |B| and |c|. See the \pf{pstricks}
+%documentation for more information.
+%\item\DescribeOption{-pos}\option{-pos}\\
+%This defines the position of the |hook| on the paper. The lower left
+%corner of the paper is given by the point |{0,0}| and the upper right
+%corner by the point |{\slidewidth,\slideheight}|. So if you want to
+%position the main text box at 20\% from the left edge and 30\% from
+%the top edge of the paper, you have to do the following.
+%\begin{example}
+% textpos={.2\slidewidth,.7\slideheight}
+%\end{example}
+%If the position of any component has not been specified, this
+%component will not be placed on the slide. This gives an opportunity
+%to design slides without footers or table of contents, for instance.
+%\item\DescribeOption{-width}\option{-width}\\
+%The width of the component. All component positioned by
+%\pf{powerdot} will be put in a surrounding |minipage| environment.
+%The |width| property determines the width of the |minipage|. Example:
+%\begin{example}
+% textwidth=.7\slidewidth
+%\end{example}
+%This property does not exist for the |lf|, |cf| and |rf| components.
+%\item\DescribeOption{-height}\option{-height}\\
+%This option is only available for the |text| component. In other
+%words, for this property, there is only one key, namely
+%|textheight|. This can be used to specify the height of the
+%|minipage| used for the main text. This does not imply that users
+%are restricted to this length or that \pf{powerdot} does automatic
+%slide breaking. This height is only used for vertical alignments of
+%material, for instance by footnotes. The preset value is
+%|\slideheight|.
+%\item\DescribeOption{-font}\option{-font}\\
+%This will be inserted just before the text that is about to be
+%typeset. This can be used to declare deviations from the main text
+%font and color. It can be a font declaration, like
+%|\large\bfseries|, but can also contain other things like
+%|\color{red}| or |\raggedright|.
+%\item\DescribeOption{-temp}\option{-temp}\\
+%This property is only available for the footers (|lf|, |cf| and |rf|) and
+%can be used to change the template of the footers. This means that
+%you can, for instance, add content to the footer, besides the
+%content specified by the user. The default declaration by
+%\pf{powerdot} is the following.
+%\begin{example}
+% rftemp=\pd@@rf\ifx\pd@@rf\@empty
+% \else\ifx\theslide\@empty\else\ -- \fi\fi\theslide
+%\end{example}
+%Here |\pd@@rf| will contain the content of the right footer defined
+%by the user via the |\pdsetup| command. Similarly, |\pd@@lf|
+%contains the content of the left footer. The above declaration
+%checks whether the footer and |\theslide| are both non-empty and if
+%so, it inserts | -- | to separate both.
+%\item\DescribeOption{-orient}\option{-orient}\\
+%This property is only available for the |toc|, |stoc| and |ntoc|
+%components. This property can be |h| or |v| and determines the
+%orientation of the table of contents. The preset is |v|. See
+%also section~\ref{sec:slidetoc} for more information about the
+%construction of the table of contents.
+%\end{description}
+%
+%\subsection{Slide toc}\label{sec:slidetoc}
+%The small table of contents that is placed on slides can be
+%controlled by four macros and several options.
+%
+%\DescribeMacro{\pd@tocslide}
+%\DescribeMacro{\pd@tocsection}
+%These macros take one argument. When building the table of contents,
+%\pf{powerdot} first passes the content through |\pd@tocslide| or
+%|\pd@tocsection|, depending on the type of entry that it is building
+%at that moment. You could, for instance, do
+%\begin{example}
+% \def\pd@tocslide#1{$\bullet$\ #1}
+% \def\pd@tocsection#1{#1}
+%\end{example}
+%which will prefix all normal entries (not the sections) with a
+%bullet. By default, these two macros are defined to just pass on
+%their argument.
+%
+%\DescribeMacro{\pd@tocdisplay}
+%\DescribeMacro{\pd@tochighlight}
+%These two macros also take one argument. After processing an entry
+%with the command |\pd@tocslide| or |\pd@tocsection|, \pf{powerdot}
+%continues building the entry by passing it through |\pd@tocdisplay|,
+%when the entry needs to be displayed only, or |\pd@tochighlight|,
+%when the entry needs to be highlighted. These macros are a little
+%more involved and take care of putting the content in the proper
+%font and color in a |minipage|. Further, |\pd@tochighlight| also
+%puts a box around the item.
+%
+%Notice, that by default, both the separate table of contents entries
+%as well as the table of contents as a whole are typeset in
+%|minipage| environments by these macros, in case the table of
+%contents is vertical. The |-width| properties then determines the
+%width of the table of contents and, together with |tocsecindent| and
+%|tocslideindent| (see below) the width of the individual entries. If
+%it is horizontal, only the separate entries will be in |minipage|s
+%and the table of contents itself not and the |-width| properties
+%determine only the width of the individual entries (together with
+%|tocsecindent| and |tocslideindent|).
+%
+%Several aspects of the process of generating the table of contents
+%can be controlled via the keys that are available in the
+%|\pddefinetemplate| command that will be described below. If these
+%keys do not provide enough handles to do what you want, you might
+%need to have a look at the two macros in the source and decide to
+%rewrite them in your style as to fit your needs. An example can be
+%found in the \pf{fyma} style.
+%
+%\begin{description}
+%\item\DescribeOption{tocfrsep}\option{tocfrsep}\\
+%This length is the distance between the box around the content
+%created by the |minipage| and the highlight frame box created by
+%|\pd@tochighlight|. Preset: |0.5mm|.
+%\item\DescribeOption{tocsecsep}\option{tocsecsep}\\
+%The distance inserted before a section (unless it is the
+%first element in the table of contents). Preset: |2ex|.
+%Notice that if the orientation of the table of contents is set to
+%vertical, this length creates a vertical skip, otherwise, it creates
+%a horizontal skip.
+%\item\DescribeOption{tocslidesep}\option{tocslidesep}\\
+%The distance inserted before other entries (unless it is the
+%first element in the table of contents). Preset: |0ex|. Like
+%|tocsecsep|, the effect of this length depends on the orientation of
+%the table of contents.
+%\item\DescribeOption{tocsecindent}\option{tocsecindent}\\
+%The horizontal space left to a section entry. Preset: |0pt|.
+%\item\DescribeOption{tocslideindent}\option{tocslideindent}\\
+%The horizontal space left to a slide entry. The horizontal skip will
+%not be inserted left to slide entries that appear before the first
+%section. Preset: |0pt|.
+%\item\DescribeOption{tocsecm}\option{tocsecm}\\
+%This is inserted just before typesetting a section. This can be used
+%to mark a section, for instance with a line as in the \pf{default}
+%style. Preset: empty.
+%\item\DescribeOption{toctcolor}\option{toctcolor}\\
+%This is the text color used for non-highlighted elements in the
+%table of contents. Preset: |black|.
+%\item\DescribeOption{tochltcolor}\option{tochltcolor}\\
+%This is the text color used for highlighted elements in the table of
+%contents. Preset: |white|.
+%\item\DescribeOption{tochlcolor}\option{tochlcolor}\\
+%This is the color used for the frame behind highlighted elements.
+%Preset: |black|.
+%\end{description}
+%
+%\subsection{Miscellaneous options}\label{sec:miscoptions}
+%There are some options that fall outside of the scope of the previous
+%sections. These will be discussed here.
+%
+%\begin{description}
+%\item\DescribeOption{iacolor}\option{iacolor}\\
+%The |iacolor| option can be used to specify the color that is used
+%for inactive things, produced for instance by |\onslide|, |\pause|
+%(see section~\ref{sec:overlays}) and |\tableofcontents| (see
+%section~\ref{sec:tableofcontents}). As \pf{xcolor} is used by
+%\pf{powerdot}, one can use special notation here, like
+%\begin{example}
+% iacolor=black!20
+%\end{example}
+%The preset value for this key is |lightgray|.
+%\end{description}
+%
+%The following options control the digital clock (see
+%section~\ref{sec:classopts}). The clock is a form text field with
+%dynamic content, driven by a javascript via \pf{hyperref} text
+%fields. Some options for the clock work similarly as for, for
+%instance, the title component, but there are also special options.
+%\begin{description}
+%\item\DescribeOptions{clockhook,clockpos}\option{clockhook,clockpos}\\
+%These work in the same way as the |-hook| and |-pos| properties
+%discussed in section~\ref{sec:maincomps}. The preset value of
+%|clockhook| is |tr|.
+%\item\DescribeOptions{clockwidth,clockheight}\option{clockwidth,clockheight}\\
+%These control the width and height of the text field containing the
+%clock. Preset values come from \pf{hyperref} and are |3cm| and
+%|\baselineskip|, respectively.
+%\item\DescribeOption{clockcharsize}\option{clockcharsize}\\
+%The size of characters of the clock. Preset: |14pt|.
+%\item\DescribeOption{clockalign}\option{clockalign}\\
+%The alignment of the clock in the text field. |0| is left-aligned,
+%|1| is centered and |2| is right aligned. Preset is |2|.
+%\item\DescribeOption{clockcolor}\option{clockcolor}\\
+%This determines the text color of the clock. The value should be a
+%named color. The preset value is |black|.
+%\end{description}
+%
+%\subsection{Template presets}
+%Below, we have copied the preset setting for the keys described
+%above. These will be used if you didn't supply other input for these
+%keys in a particular template. If the preset value meets your
+%needs, you don't have to specify it again in your style.
+%\begin{example}
+% titlehook=Bl,titlepos=,titlewidth=\slidewidth,
+% titlefont=\raggedright,texthook=tl,textpos=,
+% textwidth=\slidewidth,textfont=\raggedright,
+% textheight=\slideheight,
+% tochook=tl,tocpos=,tocwidth=.2\slidewidth,
+% tocfont=\tiny\raggedright,
+% stochook=tl,stocpos=,stocwidth=.2\slidewidth,
+% stocfont=\tiny\raggedright,
+% ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth,
+% ntocfont=\tiny\raggedright,
+% tocorient=v,stocorient=v,ntocorient=v,
+% tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex,
+% tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white,
+% tocsecindent=0pt,tocslideindent=0pt,
+% lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf,
+% cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf,
+% rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf
+% \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide,
+% iacolor=lightgray,
+% clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip,
+% clockcharsize=14pt,clockalign=2,clockcolor=black
+%\end{example}
+%
+%\subsection{The background}\label{sec:defbg}
+%This leaves only one argument of the |\pddefinetemplate| macro
+%undiscussed. This is the \meta{commands} argument. This argument can
+%contain any code that you want to execute \textit{after} setting the
+%options and \textit{before} building the slide components like the
+%slide title, main text, and footers. This argument is designed to
+%contain declarations that will build the background of a template
+%using, for instance, \pf{pstricks}, but it can also hold other
+%commands you might need for building your template.
+%
+%Important to notice is that these commands may not create \TeX\
+%material as that might destroy the construction of the slide. So, if
+%you want to place the word `Hello' in the bottom left corner of the
+%slide, don't type `Hello', but make its width, height and depth
+%equal to zero, for instance by using \pf{pstricks}' |\rput|.
+%\begin{example}
+% \rput[bl](0,0){Hello}
+%\end{example}
+%
+%\subsection{Title slide, titles and sections}\label{sec:specialtemps}
+%As mentioned before, the style that you write needs to define at
+%least the templates |slide| and |titleslide|. The latter treats some
+%of the keys in a special way. Besides, a section slide is also done
+%in a special way.
+%
+%The title slide (made with |\maketitle|) puts the title with
+%author(s) and date in the main text box. This means that you have to
+%supply a position for the main text box (|textpos|). It will use the
+%main text font for the text (together with declarations in the
+%|textfont| key) for the author(s) and the date. But it will use the
+%declarations in |titlefont| for the title of the presentation. This
+%is done so that title and author(s) form a coherent block and to
+%make sure that long titles can push down the author(s) instead of
+%overwriting it.
+%
+%\DescribeMacro{\pd@slidetitle}
+%The |\pd@slidetitle| macro is used to typeset the slide title on
+%slides. This macro is comparable to for instance |\pd@tocslide|. The
+%macro takes one argument which is the slide title in the right font
+%and formatting. By default, this macro just passes on the content
+%for typesetting, but you could redefine this macro so do something
+%with its input prior to typesetting it. An example is in the
+%\pf{fyma} style which underlines the title after putting it in a
+%|minipage| to support multi line titles.
+%
+%\DescribeMacros{\pd@title,\pd@sectiontitle}
+%These macros are similar to |\pd@slidetitle| and typeset the title
+%on the title slide and the title on section slides respectively. By
+%default, these also pass there argument (which is the presentation
+%title or section title), but these can be redefined to do something
+%with the input prior to typesetting it, just as |\pd@slidetitle|.
+%
+%\DescribeOptions{sectemp,widesectemp}
+%The |\section| command uses (by default) the |slide| environment and
+%puts the section title in the title box with font |titlefont|. If
+%you want to change the default use of the |slide| environment for
+%sections to, for instance, the |sectionslide| environment or any
+%other especially designed section template, change the section
+%template preset in your style, using
+%\begin{example}
+% \setkeys[pd]{section}{sectemp=sectionslide}
+%\end{example}
+%This means that if the user asks for |template=slide| in the
+%|\section| command, the |sectionslide| environment will be used
+%silently. To avoid surprises, |sectionslide| should preferably be
+%based on the |slide| environment.
+%
+%A similar option is available in case the user asks for
+%|template=wideslide|. One could for instance do the following.
+%\begin{example}
+% \setkeys[pd]{section}{widesectemp=sectionwideslide}
+%\end{example}
+%Whenever the user requests a |wideslide| to be used for a
+%|\section|, instead, the |sectionwideslide| environment will be
+%used. Other input to the |template| key by the user does not get a
+%special treatment.
+%
+%Notice that these keys are available in the |section| family of keys
+%and that you cannot use them in the |\pddefinetemplate| command.
+%
+%\subsection{Testing the style}\label{sec:styletest}
+%\pf{powerdot} has a test file that should test most of the style.
+%This test file can be produced by running \LaTeX\ over
+%|powerdot.dtx|. This generates |powerdot-styletest.tex| which will
+%help you with the testing job. Feel free to contact us when you
+%would like to contribute your style to \pf{powerdot}. See also
+%section~\ref{sec:questions}.
+%
+%\section{Using \LyX\ for presentations}\label{sec:lyx}
+%\LyX\ \cite{LyXWeb} is a WYSIWYM (What You See Is What You Mean)
+%document processor based on \LaTeX. It supports standard \LaTeX\
+%classes but needs special files, called layout files, in order to
+%support non-standard classes such as \pf{powerdot}.
+%
+%To start using \LyX\ for \pf{powerdot} presentations, copy the
+%layout file |powerdot.layout| to the \LyX\ layout directory. You can
+%find this file in the doc tree of your \LaTeX\ installation:
+%\url{texmf/doc/latex/powerdot}. If you can't find it there, download
+%it from \url{CTAN:/macros/latex/contrib/powerdot}. Once that is
+%done, reconfigure \LyX\ (\texttt{Edit\LyXarrow Reconfigure} and
+%restart \LyX\ afterwards). Now you can use the \pf{powerdot}
+%document class as any other supported class. Go to
+%\texttt{Layout\LyXarrow Document} and select \texttt{powerdot
+%presentation} as document class. For more information, see the \LyX\
+%documentation, which is accessible from the |Help| menu.
+%
+%\subsection{How to use the layout}
+%The \pf{powerdot} \LyX\ layout provides some environments\footnote{Don't
+%confuse these with \LaTeX\ environments.} which can be used in \LyX.
+%Some of these environments (for instance |Title| or |Itemize|) are
+%natural to use since they exist also in the standard document
+%classes such as \pf{article}. For more information on these standard
+%environments, see the \LyX\ documentation.
+%
+%This section will explain how to use the \pf{powerdot} specific
+%environments |Slide|, |WideSlide|, |EmptySlide| and |Note|. These
+%environments correspond to the \pf{powerdot} environments |slide|,
+%|emptyslide|, |wideslide| and |note|.
+%
+%We start with a simple example. The following \LaTeX\ code
+%\begin{example}
+% \begin{slide}{Slide title}
+% Slide content.
+% \end{slide}
+%\end{example}
+%can be obtained using the following \LyX\ environments. The right
+%column represents the text typed into the \LyX\ window and the left
+%column represents the environment applied to this text).
+%\begin{example}
+% Slide Slide title
+% Standard Slide content.
+% EndSlide
+%\end{example}
+%Some remarks concerning this example.
+%\begin{itemize}[leftmargin=0pt,itemsep=0pt,parsep=0pt]
+%\item You can use the environment menu (under the menu bar, top-left
+%corner) to change the environment applied to text.
+%\item The slide title should be typed on the line of the |Slide|
+%environment.
+%\item |EndSlide| finishes the slide and its line is left blank.
+%\end{itemize}
+%
+%In the \LyX\ window, the |Slide| environment (that is, the slide
+%title) is displayed in magenta, the |WideSlide| style in green, the
+%|EmptySlide| style in cyan and the |Note| style in red and hence
+%these are easily identifiable.
+%
+%Here is another example.
+%\begin{example}
+% \begin{slide}{First slide title}
+% The first slide.
+% \end{slide}
+% \begin{note}{First note title}
+% The first note, concerning slide 1.
+% \end{note}
+% \begin{slide}{Second slide title}
+% The second slide.
+% \end{slide}
+%\end{example}
+%This can be done in \LyX\ in the following way.
+%\begin{example}
+% Slide First slide title
+% Standard The first slide.
+% Note First note title
+% Standard The first note, concerning slide 1.
+% Slide Second slide title
+% Standard The second slide.
+% EndSlide
+%\end{example}
+%This example demonstrates that it is often sufficient to insert the
+%|EndSlide| style after the last slide or note only. Only when you
+%want certain material not to be part of a slide, you need to finish
+%the preceding slide manually using the |EndSlide| style. Example:
+%\begin{example}
+% Slide First slide title
+% Standard The first slide.
+% EndSlide
+% [ERT box with some material]
+% Slide Second slide title
+% ...
+%\end{example}
+%
+%Options can be passed to slide environments by using
+%\texttt{Insert\LyXarrow Short title} in front of the slide title.
+%The following example uses the |direct| method (see
+%section~\ref{sec:verbatim}) in the short title argument (delimited by
+%square brackets) to allow for a |lstlisting| environment (defined by
+%the \pf{listings} package) within the slide content.
+%\begin{example}
+% Slide [method=direct]Example of LaTeX source code
+% Standard Here's the \HelloWorld command:
+% [ERT box:
+% \lstset{language=[LaTeX]TeX}
+% \begin{lstlisting}
+% \newcommand{\HelloWorld}{Hello World!}
+% \end{lstlisting}
+% ]
+% EndSlide
+%\end{example}
+%Note that you are not obliged to use a |verbatim| environment to
+%type the |\HelloWord| text into the \LyX\ window because \LyX\
+%directly supports standard verbatim.\footnote{\LyX\ translates
+%special characters into their corresponding \LaTeX\ command. For
+%instance, the backslash character is translated into
+%\cs{textbackslash{}}. Resulting, the font is not the same as in true
+%verbatim and you might want to change that via the
+%\texttt{Layout\LyXarrow Character} dialog.} Consequently, the use of
+%the slide processing methods |direct| and |file| is not necessary
+%when you need standard verbatim, but it is necessary when doing more
+%advanced things, like in the example above.
+%
+%\subsection{Support of syntax}
+%This section lists options, commands and environments that are
+%supported through the \LyX\ interface directly, without using an ERT
+%box (\TeX-mode).
+%
+%All class options (see section~\ref{sec:classopts}) are supported
+%via the \texttt{Layout\LyXarrow Document} dialog (|Layout| pane).
+%Options for the |\pdsetup| command (see section~\ref{sec:setup})
+%should be specified in the |Preamble| pane of the
+%\texttt{Layout\LyXarrow Document} dialog.
+%
+%Table \ref{tab:lyxcommands} lists the \pf{powerdot} commands that
+%are supported in \LyX.
+%\begin{table}[htb]
+%\centering
+%\begin{tabular}{f}
+%Command & Method in \LyX\\\hline
+%\cs{title} & Use \texttt{Title} environment.\\
+%\cs{author} & Use \texttt{Author} environment.\\
+%\cs{date} & Use \texttt{Date} environment.\\
+%\cs{maketitle} & Managed directly by \LyX.\\
+%\cs{section} & Use the \texttt{Section} environment. Options to this
+%command (see section~\ref{sec:section}) can be specified using
+%\texttt{Insert\LyXarrow Short title} in front of the section title.\\
+%\cs{tableofcontents} & Use \texttt{Insert\LyXarrow Lists \&
+%TOC\LyXarrow Table of contents}. You will need an ERT box if you
+%want to use the optional argument, see below.
+%\end{tabular}
+%\caption{Supported \pf{powerdot} commands in \LyX}\label{tab:lyxcommands}
+%\end{table}
+%Table \ref{tab:lyxenvs} lists the \pf{powerdot} environments that,
+%besides the earlier discussed |slide|, |wideslide|, |note| and
+%|emptyslide| environments, are supported in \LyX.
+%\begin{table}[htb]
+%\centering
+%\begin{tabular}{f}
+%Environment & Method in \LyX\\\hline
+%\texttt{itemize} & Use \texttt{Itemize} and \texttt{ItemizeType1}
+%environments. The latter will create a list with |type=1| (see
+%section~\ref{sec:lists}).\\
+%\texttt{enumerate} & Use \texttt{Enumerate} and
+%\texttt{EnumerateType1} environments.\\
+%\texttt{thebibliography} & Use \texttt{Bibliography} environment.
+%\end{tabular}
+%\caption{Supported \pf{powerdot} environments in \LyX}\label{tab:lyxenvs}
+%\end{table}
+%Table \ref{tab:lyxERT} lists commands that can only be done by using
+%an ERT box (via \texttt{Insert\LyXarrow TeX}).
+%\begin{table}[ht]
+%\centering
+%\begin{tabular}{f}
+%Command & Method in \LyX\\\hline
+%\cs{and} & Within \texttt{Author} environment.\\
+%\cs{pause} & \\
+%\cs{item} & An ERT box is only required for the optional argument,
+%not mandatory for overlays specifications.\\
+%\cs{onslide} & And the versions \cs{onslide+} and \cs{onslide*}.\\
+%\cs{twocolumn} & \\
+%\cs{tableofcontents} & Only when using the optional argument.
+%\end{tabular}
+%\caption{\pf{powerdot} commands needing an ERT box in \LyX}\label{tab:lyxERT}
+%\end{table}
+%Note that you may use the clipboard in order to repeat often used
+%commands like |\pause|. Finally, table \ref{tab:lyxadd} lists
+%additional commands and environments that are supported by the layout.
+%\begin{table}[htb]
+%\centering
+%\begin{tabular}{f}
+%Env./Command & Method in \LyX\\\hline
+%\texttt{quote} & Use \texttt{Quote} environment.\\
+%\texttt{quotation} & Use \texttt{Quotation} environment.\\
+%\texttt{verse} & Use \texttt{Verse} environment.\\
+%\cs{caption} & Use \texttt{Caption} environment within standard
+%float environments.
+%\end{tabular}
+%\caption{Additional environments for \LyX}\label{tab:lyxadd}
+%\end{table}
+%
+%\subsection{Compiling with \LyX}
+%First of all, make sure that you have also read
+%section~\ref{sec:compiling}. Then, in order to get a proper
+%PostScript or PDF file, you have to set your \LyX\ document
+%properties depending on which paper and orientation you want. When
+%your \LyX\ document is open, go to the \texttt{Layout\LyXarrow
+%Document} dialog. In the \texttt{Layout} pane, put the |nopsheader|,
+%|orient| and |paper| keys as class options (see
+%section~\ref{sec:classopts} for a description). Then, go to the
+%|Paper| pane and select corresponding paper size and orientation
+%(you may choose |letter| paper in the case you set |paper=screen| in
+%the class options). Finally, go to the |View| (or
+%\texttt{File\LyXarrow Export}) menu and select your output
+%(PostScript or PDF).
+%
+%\subsection{Extending the layout}
+%If you have created a custom style (see section~\ref{sec:writestyle})
+%which defines custom templates, you may want to extend the layout
+%file\footnote{The LPPL dictates to rename a file if you modify it as
+%to avoid confusion.} so that these templates are also supported in
+%\LyX. The explanation below assumes that you have defined a template
+%called |sunnyslide|.
+%
+%To support this new template in \LyX, you have to use the following
+%command.
+%\begin{command}
+% `\cs{pddefinelyxtemplate}\meta{cs}\marg{template}'
+%\end{command}
+%\DescribeMacro{\pddefinelyxtemplate}
+%This will define the control sequence \meta{cs} such that it will
+%create a slide with template \meta{template} (which has been defined
+%using |\pddefinetemplate|. This new control sequence can be used in
+%the layout file as follows.
+%\begin{example}
+% # SunnySlide environment definition
+% Style SunnySlide
+% CopyStyle Slide
+% LatexName lyxend\lyxsunnyslide
+% Font
+% Color Yellow
+% EndFont
+% Preamble
+% \pddefinelyxtemplate\lyxsunnyslide{sunnyslide}
+% EndPreamble
+% End
+%\end{example}
+%Note that you must begin the |LatexName| field with |lyxend|. The
+%definition of the \LyX\ template has been inserted in between
+%|Preamble| and |EndPreamble| which assures that the new \LyX\
+%environment will work in every presentation. After modifying the
+%layout file, don't forget to restart \LyX. See for more information
+%about creating \LyX\ environments, the documentation of \LyX\ in the
+%|Help| menu.
+%
+%\section{Questions}\label{sec:questions}
+%\subsection{Frequently Asked Questions}\label{sec:FAQ}
+%This section is devoted to Frequently Asked Questions. Please read
+%it carefully; your problem might be solved by this section.
+%\begin{itemize}[leftmargin=0pt]
+%\question
+%Does \pf{powerdot} have example files? Where can I find them?
+%\answer
+%\pf{powerdot} comes with several examples that should be in the doc
+%tree of your \LaTeX\ installation. More precisely:
+%\url{texmf/doc/latex/powerdot}. If you can't find them there,
+%download them from \url{CTAN:/macros/latex/contrib/powerdot}
+%\cite{CTAN}.
+%\question I'm getting errors or unexpected output when compiling
+%the simplest example!
+%\answer Did you read section~\ref{sec:compiling}?
+%\question I made a typo in the slide code, ran the file, got an
+%error, corrected the typo and reran, but now get an error that
+%doesn't go away.
+%\answer Remove the |.bm| and |.toc| files and try again.
+%\question |\pause| does not work in the |align|\footnote{There are
+%several environments doing similar things as \texttt{align}. Another
+%example is the \texttt{split} environment, but more (often from the
+%\pf{amsmath} package) can cause similar trouble for \cs{pause}.}
+%environment.
+%\answer |align| does several tricky things, which make it impossible
+%to use |\pause|. Use |\onslide| instead. See
+%section~\ref{sec:onslide}.
+%\question My \pf{pstricks} nodes appear on all overlays. Also: color
+%doesn't seem to work with |\onslide|.
+%\answer Some PostScript tricks like nodes and color do not work with
+%|\onslide|. Use |\onslide*| instead. See an example below.
+%\begin{example}
+% \documentclass{powerdot}
+% \usepackage{pst-node}
+% \begin{document}
+% \begin{slide}{Color}
+% \onslide*{2}{\cnode(0,-5pt){2pt}{A}}
+% This is {\onslide*{2-}{\color{red}} red} text.
+% \onslide*{2}{\cnode(0,-5pt){2pt}{B}}
+% \onslide{2}{\ncline{A}{B}}
+% \end{slide}
+% \end{document}
+%\end{example}
+%\question Do I need to edit style files to change a style a bit?
+%\answer No, you do not need to edit any style file. You can change
+%any part of a certain style using the |\pddefinetemplate| and
+%|\pddefinepalettes| commands. Here is an example that removes the
+%left and right footers from the \pf{default} style, places the slide
+%number in the center footer and adds another palette.
+%\begin{example}
+% \documentclass{powerdot}
+% \pddefinetemplate[slide]{slide}{
+% lfpos=,rfpos=,cftemp=\theslide
+% }{}
+% \pddefinepalettes{mypalette}{
+% \definecolor{pdcolor1}{rgb}{.27,.31,.44}
+% \definecolor{pdcolor2}{rgb}{.85,.85,.92}
+% \definecolor{pdcolor3}{rgb}{.8,.75,.98}
+% }
+% \pdsetup{palette=mypalette}
+% \begin{document}
+% \begin{slide}{Title}
+% \end{slide}
+% \end{document}
+%\end{example}
+%See section~\ref{sec:writestyle} for more information about these
+%two commands.
+%\question Can I contribute to this project?
+%\answer
+%Certainly. If you find bugs\footnote{Make sure that you confirm that
+%the bug is really caused by \pf{powerdot} and not by another package
+%that you use.} or typos, please send a message to the mailinglist
+%(see section~\ref{sec:mailinglist}). If you have developed your own
+%style that is distinct from existing styles and would like to see it
+%included in \pf{powerdot}, please inform us by private e-mail and we
+%will consider your contribution. Notice that included contributions
+%will fall under the overall \pf{powerdot} license and copyright
+%notice, but that your name will be included in the documentation
+%when you make a contribution. This is done to guarantee that we can
+%adapt files if maintenance is needed.
+%\question Hyperlinks in the presentation seem off by 1 page.
+%\answer This might happen in particular PDF viewers when using
+%|paper=smartboard| in combination with continuous view. Use page
+%by page view instead.
+%\end{itemize}
+%
+%If your question has not been answered at this point, advance to the
+%next section to read where to find more answers.
+%
+%\subsection{Mailinglist}\label{sec:mailinglist}
+%\pf{powerdot} has a mailinglist from \url{freelists.org} and has its
+%website here:
+%\begin{center}
+%\url{http://www.freelists.org/list/powerdot}
+%\end{center}
+%There is a link to `List Archive'. Please search this archive before
+%posting a question. Your problem might already have been solved in
+%the past.
+%
+%If that is not the case, use the box on the page to type your e-mail
+%address, choose the action `Subscribe' and click `Go!'. Then follow
+%the instructions that arrive to you by e-mail. At a certain moment,
+%you can login for the first time using an authorization code sent to
+%you by e-mail. After logging in, you can create a password for
+%future sessions using the `Main Menu' button. The other buttons
+%provide you some info and options for your account.
+%
+%When you are all set, you can write to the list by sending an e-mail
+%to
+%\begin{center}
+%\url{powerdot [at] freelists [dot] org}
+%\end{center}
+%
+%When writing to the list, please keep in mind the following very
+%important issues.
+%\begin{enumerate}[leftmargin=0pt,itemsep=0pt,parsep=0pt]
+%\item We are volunteers!
+%\item Keep your questions related to \pf{powerdot}.
+%\item Always supply a \emph{minimal} example demonstrating your
+%problem.
+%\item Don't send big files over the list.
+%\end{enumerate}
+%
+%We hope you will enjoy this service.
+%
+%\section{Source code documentation}\label{sec:source}
+%In case you want regenerate the package files from the source or
+%want to have a look at the source code description, locate
+%|powerdot.dtx|, search in the file for |\OnlyDescription| and remove
+%that and do
+%\begin{example}
+% latex powerdot.dtx
+% latex powerdot.dtx
+% bibtex powerdot
+% makeindex -s gglo.ist -o powerdot.gls powerdot.glo
+% makeindex -s gind.ist -o powerdot.ind powerdot.idx
+% latex powerdot.dtx
+% latex powerdot.dtx
+%\end{example}
+%
+%\StopEventually{}
+%
+%\section{Implementation}\label{sec:imple}
+%\subsection{General construction}
+%This section explains the general idea of the class, how paper
+%dimensions are chosen and how slides are created. We start with the
+%paper.
+%
+%This class uses the same idea as \pf{prosper} and \pf{HA-prosper},
+%namely that we create a background with \pf{pstricks} and position
+%text on it using |\rput| and some |minipage| environments. This is
+%easier than writing a dedicated output routine that can handle all
+%the material, but doesn't break pages when we don't want that. So,
+%when starting to write the class, we first investigated how to deal
+%with landscape slides and paper dimensions.
+%
+%The job of making landscape slides can be done using \pf{geometry}.
+%The paper dimension was more of a problem. As \LaTeX\ doesn't have
+%the huge fonts that we need for presentations, we need to scale the
+%usual fonts somehow. This could be done by using unusual paper
+%dimensions (as \pf{beamer} does) and hence relying on ps2pdf to cut
+%off all the redundant material. But this doesn't produce a usable
+%DVI or PS file. Instead, it was chosen to use DVI magnification. The
+%entire slide is magnified by a factor of 2 and only the top left
+%quarter of the paper is used (but you will never notice that due to
+%the magnification). As we already decided to place all material in
+%|minipage|s using |\rput|, we didn't need the page anymore and it
+%was easiest to use \pf{geometry} to just remove the page margins
+%altogether so that the bottom left corner would be |(0,0)| and the
+%top right corner |(\slidewidth,\slideheight)|.
+%
+%One extra remark on the paper type is necessary. We found that most
+%common configurations of dvips use the |A4size| code when A4
+%dimensions are found. This code doesn't write an explicit PostScript
+%paper command in the PS document and hence programs using this PS
+%(like ps2pdf) don't know what paper to use and revert to the
+%default, which is letter paper in most cases. This, of course, is
+%something that we don't want and hence, \pf{powerdot} will write
+%these commands to the PS itself as to guarantee proper post
+%processing of the PS.
+%
+%Now that we made the decisions on how to create proper DVI, PS and
+%PDF output, the next task was to create an easy interface to
+%overlays. To avoid counting the overlays as is necessary with
+%\pf{prosper}, we implemented a system that first collects the entire
+%body of an environment in a macro which can be reused multiple
+%times. During execution of the body, the overlay commands like
+%|\onslide| will keep a record of the biggest number that they find
+%and that is the number of overlays to produce. Getting the body of
+%the environment is done by collecting all material up to the next
+%|\end| occurrence. If that control sequence has the proper argument
+%(namely the slide that we started with), then we stop scanning and
+%start processing the slide. With normal use, you will not notice
+%this, but when doing special tricks like hiding |\end{slide}| in a
+%macro, the process will fail as it relies on finding |\end{slide}|
+%in the input stream without doing expansions. Often a work around
+%can be found though. Have a look for instance at how |\section|
+%creates a slide.
+%
+%The next task was to provide a simple way to create templates. As
+%the class is based on the idea of having a background with some
+%material spread out over it, the template system follows this idea.
+%One argument can be used to create the background, the other
+%argument controls, via keys and options, several properties of the
+%material that should be placed. By adding an |ifsetup| key, full
+%control could be gained over the design of the template in every
+%possible setup chosen by the user.
+%
+%The final task for the class was to fill in all the `details'. All
+%the mechanisms were present, but sometimes they should not be
+%active. For instance, overlays should not be created in handout
+%mode. Other things to add to the class were counter protection on
+%overlays, handles to the layout of the slide number, footnotes, a
+%bibliography environment, empty slides, etcetera.
+%
+%We hope that this section has made clear a little bit what you will
+%be seeing when reading the next section with coding and why we chose
+%to do it this way.
+%
+% \subsection{The code}
+% \begin{macrocode}
+%<*powerdot>
+% \end{macrocode}
+% Identification.
+% \begin{macrocode}
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesClass{powerdot}
+ [2021/05/19 v1.7 powerdot presentation class (HA)]
+% \end{macrocode}
+% Initializations.
+% \begin{macrocode}
+\newif\ifpd@overlay
+\newif\ifpd@section
+\newif\ifpd@ifsetup
+\newif\ifpd@display
+\newif\ifpd@pauseslide
+\newcounter{note}
+\newcounter{slide}
+\newcounter{pd@pause}
+\newcounter{pd@section}
+\newcounter{pd@overlay}
+\newcounter{pd@trivlist}
+\newcounter{pd@onslidedepth}
+\newbox\pd@tba
+\newbox\pd@tbb
+\newtoks\pd@body
+\newwrite\pd@bmout
+\newwrite\pd@tocout
+\newwrite\pd@vrbout
+\newlength\pd@frsep
+\newlength\pd@colsep
+\newlength\slidewidth
+\newlength\slideheight
+\let\pd@cursetup\@empty
+% \end{macrocode}
+% Setup options section.
+% \begin{macrocode}
+\RequirePackage{xkeyval}[2005/07/10]
+% \end{macrocode}
+% Orientation.
+% \begin{macrocode}
+\define@choicekey*[pd]{class}{orient}[\pd@tempa\pd@orient]{%
+ landscape,portrait}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
+% \end{macrocode}
+% Paper type.
+% \begin{macrocode}
+\define@choicekey*[pd]{class}{paper}[\pd@tempa\pd@paper]{%
+ screen,a4paper,letterpaper,smartboard,169}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
+% \end{macrocode}
+% Display type.
+% \begin{macrocode}
+\define@choicekey*[pd]{class}{display}[\pd@tempa\pd@display]{%
+ slides,notes,slidesnotes}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
+% \end{macrocode}
+% Mode.
+% \begin{macrocode}
+\define@choicekey*[pd]{class}{mode}[\pd@tempa\pd@mode]{%
+ present,print,handout}{\XKV@addtolist@x\pd@cursetup\pd@tempa}
+% \end{macrocode}
+% Pause slide.
+% \begin{macrocode}
+\define@key[pd]{class}{pauseslide}[black]{%
+ \pd@pauseslidetrue
+ \def\pd@pauseslidecolor{#1}%
+}
+% \end{macrocode}
+% Some boolean keys.
+% \begin{macrocode}
+\define@boolkeys[pd]{class}[pd@@]{%
+ nopsheader,hlentries,hlsections,nohandoutpagebreaks,nohandoutframes%
+}[true]
+% \end{macrocode}
+% Clock definitions. Contributed by Alexander Grahn.
+% \begin{macrocode}
+\define@boolkey[pd]{class}[pd@@]{clock}[true]{%
+ \ifpd@@clock
+ \newcount\pd@clockcnt
+ \def\pd@startclock##1##2{%
+ function pdshowtime(){%
+ var pdtime=new Date();%
+ this.getField("pdclock.\the\pd@clockcnt").value=util.printd("##1",pdtime);%
+ this.dirty=false;%
+ }%
+ pdshowtime();%
+ var pdclock_\the\pd@clockcnt=app.setInterval("pdshowtime()",##2);%
+ }%
+ \fi
+}
+% \end{macrocode}
+% The size and style to be used.
+% \begin{macrocode}
+\define@cmdkey[pd]{class}[pd@@]{size}{%
+ \def\pd@tempa##1pt{##1}%
+ \edef\pd@@size{\expandafter\pd@tempa\pd@@size}%
+}
+\define@cmdkey[pd]{class}[pd@@]{style}{}
+% \end{macrocode}
+% Some usual article options.
+% \begin{macrocode}
+\define@key[pd]{class}{fleqn}[]{\input{fleqn.clo}}
+\define@key[pd]{class}{leqno}[]{\input{leqno.clo}}
+% \end{macrocode}
+% Some presets, used in case the user doesn't supply enough input.
+% \begin{macrocode}
+\presetkeys[pd]{class}{%
+ size=11pt,style=default,orient=landscape,paper=screen,%
+ display=slides,hlentries=true,mode=present}{}
+% \end{macrocode}
+% Process all options.
+% \begin{macrocode}
+\ProcessOptionsX[pd]<class>\relax
+% \end{macrocode}
+% \begin{macro}{\pd@warn}
+% \begin{macro}{\pd@error}
+% \marg{msg}\\
+% Warnings and errors.
+% \begin{macrocode}
+\def\pd@warn{\ClassWarning{powerdot}}
+\def\pd@error#1{\ClassError{powerdot}{#1}\@ehd}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@noportrait}
+% The standard error for styles that do not support portrait orientation.
+% \begin{macrocode}
+\def\pd@noportrait{%
+ \ifnum\pd@orient=\@ne\ifnum\pd@mode=2\else\pd@error{%
+ `\pd@@style' style does not support portrait orientation
+ }\fi\fi
+}
+% \end{macrocode}
+% \end{macro}
+% Check paper for print and handout mode. No |screen| allowed.
+% \begin{macrocode}
+\ifnum\pd@mode>0
+ \ifnum\pd@paper=\z@
+% \end{macrocode}
+% Remove erroneous input.
+% \begin{macrocode}
+ \@expandtwoargs\@removeelement{screen}\pd@cursetup\pd@cursetup
+% \end{macrocode}
+% Switch to a4paper.
+% \begin{macrocode}
+ \XKV@addtolist@x\pd@cursetup{a4paper}
+ \def\pd@paper{1}
+ \pd@warn{you can't use `screen' format for this mode;
+ \MessageBreak I've switched to a4paper
+ }
+ \fi
+\fi
+% \end{macrocode}
+% Check orientation for handout mode. No |landscape| allowed.
+% \begin{macrocode}
+\ifnum\pd@mode=2
+ \newbox\pd@textbox
+ \ifnum\pd@orient=\z@
+% \end{macrocode}
+% Remove erroneous input.
+% \begin{macrocode}
+ \@expandtwoargs\@removeelement{landscape}\pd@cursetup\pd@cursetup
+% \end{macrocode}
+% Switch to portrait.
+% \begin{macrocode}
+ \XKV@addtolist@x\pd@cursetup{portrait}
+ \def\pd@orient{1}
+ \pd@warn{you can't use `landscape' for handout mode;
+ \MessageBreak I've switched to portrait
+ }
+ \fi
+\fi
+% \end{macrocode}
+% Pass paper size and orientation to \pf{geometry} package.
+% \begin{macrocode}
+\ifcase\pd@paper
+ \def\pd@tempa{papersize={8.25in,11in}}
+\or
+ \def\pd@tempa{papersize={210mm,297mm}}
+\or
+ \def\pd@tempa{papersize={8.5in,11in}}
+\or
+ \def\pd@tempa{papersize={900pt,1440pt}}
+\or
+ \def\pd@tempa{papersize={594pt,1056pt}}
+\fi
+\ifnum\pd@orient=\z@
+ \edef\pd@tempa{\pd@tempa,landscape}
+\else
+ \edef\pd@tempa{\pd@tempa,portrait}
+\fi
+\PassOptionsToPackage\pd@tempa{geometry}
+% \end{macrocode}
+% Load class and packages.
+% \begin{macrocode}
+\LoadClass{article}
+% \end{macrocode}
+% Load font size definitions. Take into account that article has
+% loaded some already. This trick actually also allows bigger sizes like
+% 14pt or 20pt.
+% \begin{macrocode}
+\let\pd@tempa\newcommand
+\let\newcommand\def
+\input{size\pd@@size.clo}
+\let\newcommand\pd@tempa
+% \end{macrocode}
+% Remaining packages.
+% \begin{macrocode}
+\ifnum\pd@mode=2
+% \end{macrocode}
+% Handout mode.
+% \begin{macrocode}
+ \RequirePackage[margin=2cm,includefoot]{geometry}
+\else
+% \end{macrocode}
+% Magnify DVI by factor 2, no margins at all.
+% The offset is to neutralize the |\vskip| inserted by TeX to
+% go from the top of the letters to the baseline and position chars
+% there. Here we don't want any offset and start at the bottom left
+% corner of the paper.
+% \begin{macrocode}
+ \RequirePackage[mag=2000,margin=0pt,voffset=-\pd@@size pt]{geometry}
+ \geometry{top=.5\paperheight}
+\fi
+% \end{macrocode}
+% Xe\TeX\ support. \pf{hyperref} should not set ps paper size as it doesn't do
+% landscape format we don't want it to redefine internals either.
+% \begin{macrocode}
+\RequirePackage{ifxetex}
+\ifxetex
+ \RequirePackage[setpagesize=false,pdfstartview=Fit,
+ pageanchor=false,bookmarks=false]{hyperref}[2009/12/14]
+ \def\pd@pdftrans{%
+ \@expandtwoargs\in@{,\pd@@trans,}{%
+ ,Split,Blinds,Box,Wipe,Dissolve,Glitter,%
+ Replace,Fly,Push,Cover,Uncover,Fade,}%
+ \ifin@\else
+ \pd@warn{Transition `\pd@@trans' might not be understood by
+ your ps to pdf converter}%
+ \fi
+ \special{pdf:put @thispage %
+ <</Trans<</S/\pd@@trans>>>>%
+ }%
+ }
+ \def\pd@pdbookmark#1#2#3#4{%
+ \pdfstringdef\pd@tempa{#4}%
+ \special{pdf:outline
+ \pd@pdb@@kmark{#1}%
+ <<%
+ /Title(\pd@tempa)%
+ /A<<%
+ /S/GoTo
+ /D(slide.#3)%
+ >>%
+ >>%
+ }%
+ }
+\else
+ \RequirePackage[setpagesize=false,dvips,pdfstartview=Fit,%
+ pageanchor=false,bookmarks=false]{hyperref}
+\fi
+% \end{macrocode}
+% For some strange reason, it doesn't work to put the below in the above.
+% So we do it here as we don't want colored borders.
+% \begin{macrocode}
+\AtBeginDocument{\def\@pdfborder{0 0 0}}
+% \end{macrocode}
+% Necessary for inserting and creating graphics. Notice: \pf{pstricks}
+% needs to be loaded after \pf{graphicx} for proper |\scalebox| definition.
+% We make sure that \pf{xcolor} is loaded.
+% \begin{macrocode}
+\RequirePackage[nosetpagesize]{graphicx}[2017/06/01]
+\RequirePackage{pstricks}[2013/12/12]
+\RequirePackage{pst-ovl}
+\RequirePackage{xcolor}[2004/05/09]
+% \end{macrocode}
+% For lists and verbatim reading of slide content.
+% \changes{v1.5}{2014/01/01}{Fix for latest enumitem (20110915 hv)}
+% \begin{macrocode}
+\RequirePackage{enumitem}[2007/03/12]
+\let\orig@enumerate\enumerate
+\def\enumerate{\@ifnextchar[\enumerate@i{\enumerate@i[]}}
+\def\enumerate@i[#1]{\@ifnextchar[{\enumerate@ii[#1]}{\enumerate@ii[#1][]}}
+\def\enumerate@ii[#1][#2]{%
+ \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi
+ \orig@enumerate[#2]%
+}
+\let\orig@itemize\itemize
+\def\itemize{\@ifnextchar[\itemize@i{\itemize@i[]}}
+\def\itemize@i[#1]{\@ifnextchar[{\itemize@ii[#1]}{\itemize@ii[#1][]}}
+\def\itemize@ii[#1][#2]{%
+ \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi
+ \orig@itemize[#2]%
+}
+\let\orig@description\description
+\def\description{\@ifnextchar[\description@i{\description@i[]}}
+\def\description@i[#1]{\@ifnextchar[{\description@ii[#1]}{\description@ii[#1][]}}
+\def\description@ii[#1][#2]{%
+ \ifx\relax#1\relax\else\setkeys{enumitem}{#1}\fi
+ \orig@description[#2]%
+}
+\RequirePackage{verbatim}
+% \end{macrocode}
+% This is needed for the implementation of the clock.
+% \begin{macrocode}
+\ifpd@@clock
+ \RequirePackage{pdfbase}
+ \ExplSyntaxOn
+ \let\pd@PdfAnnot\pbs_pdfannot:nnnn
+ \let\pd@PdfLastAnn\pbs_pdflastann:
+ \let\pd@AppendToFields\pbs_appendtofields:n
+ \ExplSyntaxOff
+\fi
+% \end{macrocode}
+% Here are some basic properties of the slides.
+% \begin{macrocode}
+\ifnum\pd@mode<2
+ \pagestyle{empty}
+\fi
+% \end{macrocode}
+% \changes{v1.1}{2005/09/19}{Avoid making black slide in print mode}
+% No black slide in handout or print mode.
+% \begin{macrocode}
+\ifnum\pd@mode>0
+ \pd@pauseslidefalse
+\fi
+\setlength\parindent{0pt}
+% \end{macrocode}
+% Slide dimensions.
+% \begin{macrocode}
+\setlength\slidewidth{.5\paperwidth}
+\setlength\slideheight{.5\paperheight}
+% \end{macrocode}
+% Write landscape correction to the ps to avoid ps to be rotated by
+% 180 degrees.
+% \begin{macrocode}
+\ifnum\pd@orient=\z@
+ \special{!/landplus90 true store}
+\fi
+% \end{macrocode}
+% Write paper dimensions.
+% The specials solve a config problem with ghostscript not picking up info from
+% ps, due to the fact that some paper formats defined in config.ps do
+% not write explicit ps commands. For instance, when dvips finds a4 paper dimensions,
+% it writes |%%Papersize: A4|, but no ps command. So ghostscript doesn't
+% find a paper size and takes it's default which could be |letter|
+% in fact.
+% Notice further that screen size is based on letter, but will be cropped in pdf.
+% \begin{macrocode}
+\ifpd@@nopsheader\else
+ \special{papersize=\the\paperwidth,\the\paperheight}
+ \ifcase\pd@paper
+ \special{!%
+ \@percentchar\@percentchar BeginPaperSize: letter
+ ^^Jletter^^J\@percentchar\@percentchar EndPaperSize
+ }
+ \or
+ \special{!%
+ \@percentchar\@percentchar BeginPaperSize: a4
+ ^^Ja4^^J\@percentchar\@percentchar EndPaperSize
+ }
+ \or
+ \special{!%
+ \@percentchar\@percentchar BeginPaperSize: letter
+ ^^Jletter^^J\@percentchar\@percentchar EndPaperSize
+ }
+ \fi
+\fi
+% \end{macrocode}
+% Crop pdf for optimal screen ratio. This does not work in DVI or PS.
+% Note, the ps rotation takes care of orientation irrespective of
+% crop dimensions.
+% \begin{macrocode}
+\ifcase\pd@paper\def\@pdfpagescrop{0 0 594 842}\fi
+% \end{macrocode}
+% \pf{hyperref} writes this to the pdf.
+% \begin{macrocode}
+\def\@pdfcreator{LaTeX with powerdot class}
+% \end{macrocode}
+% Save the number of the last slide at the end of the document.
+% \begin{macrocode}
+\AtEndDocument{%
+ \immediate\write\@auxout{\string\newlabel{lastslide}%
+ {{}{\the\c@slide}{\relax}{}{}}}%
+}
+% \end{macrocode}
+% Set up options. |global| is for global only keys (so to be used only
+% in the preamble. |slide| is only for slides. |glslide| keys can be
+% used in both locations.
+% Create an interface to change the typesetting of the page numbers.
+% This follows the usual \LaTeX\ idea to change typesetting of numbers
+% via |\thepage| etcetera.
+% \begin{macrocode}
+\define@key[pd]{global}{theslide}{\def\theslide{#1}}
+\define@key[pd]{global}{thenote}{\def\thenote{#1}}
+% \end{macrocode}
+% Options to be used by \pf{enumitem}. These store input incrementally
+% in macros used by \pf{enumitem} to store options. By allowing options
+% to be added, both the style and the user can insert options.
+% \begin{macrocode}
+\define@key[pd]{global}{enumerate}{%
+ \ifx\enit@@enum\@undefined
+ \def\enit@@enum{#1}%
+ \else
+ \XKV@addtolist@n\enit@@enum{#1}%
+ \fi
+}
+\define@key[pd]{global}{itemize}{%
+ \ifx\enit@@item\@undefined
+ \def\enit@@item{#1}%
+ \else
+ \XKV@addtolist@n\enit@@item{#1}%
+ \fi
+}
+\define@key[pd]{global}{list}{%
+ \ifx\enit@@list\@undefined
+ \def\enit@@list{#1}%
+ \else
+ \XKV@addtolist@n\enit@@list{#1}%
+ \fi
+}
+% \end{macrocode}
+% Counters that need overlay protection.
+% \begin{macrocode}
+\define@key[pd]{global}{counters}{%
+ \XKV@addtolist@n\pd@@counters{#1}%
+}
+% \end{macrocode}
+% Initialize the counters list.
+% \begin{macrocode}
+\def\pd@@counters{table,figure,equation,footnote,mpfootnote}
+% \end{macrocode}
+% Clock format and refresh rate.
+% \begin{macrocode}
+\define@cmdkeys[pd]{global}[pd@@]{clockformat,clockrefresh}
+% \end{macrocode}
+% Footers and transition effect.
+% \begin{macrocode}
+\define@cmdkeys[pd]{glslide}[pd@@]{lf,cf,rf,trans}
+% \end{macrocode}
+% Palettes.
+% \begin{macrocode}
+\define@cmdkey[pd]{glslide}[pd@@]{palette}{%
+% \end{macrocode}
+% Check whether the chosen palette exists. If yes, execute it, set
+% |\default@color| (for equation numbers etcetera) and copy the
+% current color for |\twocolumn|.
+% \begin{macrocode}
+ \ifnum\pd@mode<2
+ \XKV@ifundefined{pd@pe@\pd@@palette @colors}{%
+ \pd@error{palette `\pd@@palette' not defined}%
+ }{%
+ \@nameuse{pd@pe@\pd@@palette @colors}%
+ \color{pdcolor1}%
+ \let\default@color\current@color
+ \let\pd@color\XC@current@color
+ }%
+ \pd@countcolors
+ \fi
+}
+% \end{macrocode}
+% Slide processing method.
+% \begin{macrocode}
+\define@choicekey*[pd]{glslide}{method}[\pd@tempa\pd@method]{%
+ normal,file,direct}{%
+ \ifnum\pd@method=2
+ \ifx\pd@textbox\@undefined\newbox\pd@textbox\fi
+ \fi
+}
+% \end{macrocode}
+% Random dots. Load |random.tex| if necessary.
+% \begin{macrocode}
+\define@boolkey[pd]{glslide}[pd@@]{randomdots}[true]{%
+ \ifx\randomi\@undefined
+ \InputIfFileExists{random}{\newcount\pd@tempcnta}{%
+ \global\pd@@randomdotsfalse
+ \pd@warn{random.tex not found, random dots canceled}%
+ }%
+ \fi
+ \ifnum\pd@mode=\tw@\global\pd@@randomdotsfalse\fi
+}
+% \end{macrocode}
+% Keys for random dots and the logo.
+% \begin{macrocode}
+\define@cmdkeys[pd]{glslide}[pd@@]{%
+ dminsize,dmaxsize,dbright,dmindots,dmaxdots,dminwidth,dmaxwidth,%
+ dminheight,dmaxheight,dprop,logohook,logopos%
+}
+\define@key[pd]{glslide}{logocmd}{%
+ \ifx\pd@logobox\@undefined\newbox\pd@logobox\fi
+ \sbox\pd@logobox{#1}%
+}
+% \end{macrocode}
+% Initialize some of the keys that we just defined.
+% \begin{macrocode}
+\setkeys[pd]{glslide,global}{%
+ lf=,cf=,rf=,theslide=\arabic{slide} / \pageref*{lastslide},%
+ thenote=note \arabic{note} of slide \arabic{slide},%
+ trans=Replace,dminsize=5pt,dmaxsize=40pt,dminwidth=0pt,%
+ dmaxwidth=\slidewidth,dminheight=0pt,dbright=60,%
+ dmaxheight=\slideheight,dmindots=5,dmaxdots=40,dprop=,%
+ logohook=tl,logopos=,logocmd=,method=normal,%
+ clockformat=HH:MM:ss,clockrefresh=1000%
+%
+}
+% \end{macrocode}
+% \begin{macro}{\pdsetup}
+% The interface for users. Disable global keys |\AtBeginDocument|.
+% \begin{macrocode}
+\def\pdsetup{\setkeys[pd]{global,glslide}}
+\AtBeginDocument{%
+ \disable@keys[pd]{global}{%
+ theslide,thenote,enumerate,itemize,list,counters%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% Local keys: |toc| and |bm|.
+% \begin{macrocode}
+\define@cmdkeys[pd]{slide}[pd@@]{toc,bm}
+% \end{macrocode}
+% \begin{macro}{\pdifsetup}
+% \marg{desired}\marg{yes}\marg{no}\\
+% Execute \meta{yes} if the \meta{desired} setup matches with the
+% current (user) setup. Execute \meta{no} else. We first check whether
+% information in \meta{desired} is complete. If not, we amend it.
+% \begin{macrocode}
+\def\pdifsetup#1{%
+ \edef\pd@tempb{#1}%
+ \pd@pdifsetup\pd@tempb{landscape,portrait}%
+ \pd@pdifsetup\pd@tempb{screen,a4paper,letterpaper,smartboard,169}%
+ \pd@pdifsetup\pd@tempb{slides,notes,slidesnotes}%
+ \pd@pdifsetup\pd@tempb{present,print,handout}%
+ \pd@pdifs@tup\pd@tempb
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pdifsetup}
+% \meta{desired}\marg{check}\\
+% This macro checks whether at least one element of \meta{check}
+% occurs in the list in \meta{desired}. If not, the entire list in
+% \meta{check} is added to \meta{desired}, meaning that later on, any
+% setup for this type will satisfy the check.
+% \begin{macrocode}
+\def\pd@pdifsetup#1#2{%
+ \in@true
+ \@tempcnta\z@
+ \XKV@for@n{#2}\pd@tempa{%
+ \@expandtwoargs\in@{,\pd@tempa,}{,#1,}%
+ \ifin@\advance\@tempcnta\@ne\fi
+ }%
+ \ifnum\@tempcnta=\z@\XKV@addtolist@x#1{#2}\fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pdifs@tup}
+% \marg{desired}\marg{yes}\marg{no}\\
+% Checks whether the \meta{desired} setup matches the current setup.
+% This macro is used internally when setting template keys. The idea
+% is to first correct the input in the |ifsetup| key by amending
+% specifications if they where not there. Then, when setting a
+% template key, we just check whether all elements of the current
+% setup appear in the \meta{desired} setup.
+% \begin{macrocode}
+\def\pd@pdifs@tup#1{%
+ \in@true
+ \XKV@whilist\pd@cursetup\pd@tempa\ifin@\fi{%
+ \@expandtwoargs\in@{,\pd@tempa,}{,#1,}%
+ }%
+ \ifin@\expandafter\@firstoftwo\else\expandafter\@secondoftwo\fi
+}
+% \end{macrocode}
+% \end{macro}
+% Set up the template system.
+% First define all the options and presets available to create
+% templates. All options save their argument to be used later.
+% The |ifsetup| option controls for which the following options should
+% be used. This:
+% |textfont=\raggedright,| |ifsetup={a4paper,portrait},textfont=\small|
+% makes the text font |\small|, but only for a4 portrait slides.
+% \begin{macrocode}
+\def\pd@tempa#1{%
+ \define@key[pd]{template}{#1}[]{%
+ \ifpd@ifsetup\@namedef{pd@@#1}{##1}\fi
+ }%
+}
+% \end{macrocode}
+% Define all keys.
+% \begin{macrocode}
+\XKV@for@n{%
+ titlehook,titlepos,titlewidth,titlefont,%
+ texthook,textpos,textwidth,textfont,textheight,%
+ tochook,tocpos,tocwidth,tocfont,%
+ stochook,stocpos,stocwidth,stocfont,%
+ ntochook,ntocpos,ntocwidth,ntocfont,%
+ tocfrsep,tocsecsep,tocslidesep,%
+ tocsecm,toctcolor,tochlcolor,tochltcolor,%
+ tocsecindent,tocslideindent,%
+ lfhook,lfpos,lffont,lftemp,%
+ cfhook,cfpos,cffont,cftemp,%
+ rfhook,rfpos,rffont,rftemp,%
+ iacolor,%
+ clockhook,clockpos,clockwidth,clockheight,%
+ clockcharsize,clockalign,clockcolor%
+}\pd@tempb{\expandafter\pd@tempa\expandafter{\pd@tempb}}
+% \end{macrocode}
+% The |ifsetup| key first amends missing input using |\pd@pdifsetup|.
+% \begin{macrocode}
+\define@cmdkey[pd]{template}[pd@@]{ifsetup}[]{%
+ \pd@pdifsetup\pd@@ifsetup{landscape,portrait}%
+ \pd@pdifsetup\pd@@ifsetup{screen,a4paper,letterpaper,smartboard,169}%
+ \pd@pdifsetup\pd@@ifsetup{slides,notes,slidesnotes}%
+ \pd@pdifsetup\pd@@ifsetup{present,print,handout}%
+ \pd@pdifs@tup\pd@@ifsetup\pd@ifsetuptrue\pd@ifsetupfalse
+}
+% \end{macrocode}
+% Choice keys for orientation of toc.
+% \begin{macrocode}
+\define@choicekey*[pd]{template}{tocorient}[\pd@tempa\pd@tocorient]{%
+ v,h}{}
+\define@choicekey*[pd]{template}{stocorient}[\pd@tempa\pd@stocorient]{%
+ v,h}{}
+\define@choicekey*[pd]{template}{ntocorient}[\pd@tempa\pd@ntocorient]{%
+ v,h}{}
+% \end{macrocode}
+% \changes{v1.4}{2005/12/10}{Replaced \texttt{\~} by \cs{space} to avoid
+% problems with Spanish babel}
+% Presets so that templates do not need to specify every key.
+% This also initializes some keys as to avoid errors in constructing
+% the slide.
+% \begin{macrocode}
+\setkeys[pd]{template}{%
+ ifsetup,%
+ titlehook=Bl,titlepos=,titlewidth=\slidewidth,%
+ titlefont=\raggedright,texthook=tl,textpos=,%
+ textwidth=\slidewidth,textfont=\raggedright,%
+ textheight=\slideheight,%
+ tochook=tl,tocpos=,tocwidth=.2\slidewidth,%
+ tocfont=\tiny\raggedright,%
+ stochook=tl,stocpos=,stocwidth=.2\slidewidth,%
+ stocfont=\tiny\raggedright,%
+ ntochook=tl,ntocpos=,ntocwidth=.2\slidewidth,%
+ ntocfont=\tiny\raggedright,%
+ tocorient=v,stocorient=v,ntocorient=v,%
+ tocfrsep=.5mm,tocsecsep=2ex,tocslidesep=0ex,%
+ tocsecm=,toctcolor=black,tochlcolor=black,tochltcolor=white,%
+ tocsecindent=0pt,tocslideindent=0pt,%
+ lfhook=Bl,lfpos=,lffont=\scriptsize,lftemp=\pd@@lf,%
+ cfhook=B,cfpos=,cffont=\scriptsize,cftemp=\pd@@cf,%
+ rfhook=Br,rfpos=,rffont=\scriptsize,rftemp=\pd@@rf\ifx\pd@@rf
+ \@empty\else\ifx\theslide\@empty\else\ -- \fi\fi\theslide,%
+ iacolor=lightgray,%
+ clockhook=tr,clockpos=,clockwidth=3cm,clockheight=\baselineskip,%
+ clockcharsize=14pt,clockalign=2,clockcolor=black%
+}
+% \end{macrocode}
+% \begin{macro}{\pddefinepalettes}
+% \marg{name}\marg{commands}\\
+% Save the text color number and start scanning for palettes. |\pd@nopalettes|
+% contains the number of palettes that we have seen in total in the
+% style or preamble.
+% \begin{macrocode}
+\def\pddefinepalettes#1#2{%
+ \ifx\pd@nopalettes\@undefined\@tempcnta\z@\else
+ \@tempcnta\pd@nopalettes
+ \fi
+ \pd@pddefinepalettes{#1}{#2}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pddefinepalettes}
+% \marg{name}\marg{commands}\\
+% Save the current \meta{name} and \meta{commands} to numbered macros
+% to be used later again. If we find another brace |{| after these
+% arguments, repeat the process.
+% \begin{macrocode}
+\def\pd@pddefinepalettes#1#2{%
+ \advance\@tempcnta\@ne
+ \@namedef{pd@pe@\the\@tempcnta @name}{#1}%
+ \@namedef{pd@pe@#1@colors}{#2}%
+ \@ifnextchar\bgroup\pd@pddefinepalettes{%
+ \edef\pd@nopalettes{\the\@tempcnta}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@countcolors}
+% Count the number of colors in the palette. We do this only once.
+% \begin{macrocode}
+\def\pd@countcolors{%
+ \@tempcnta\@ne
+ \@whilesw\ifx\pd@nocolors\@undefined\fi{%
+ \XKV@ifundefined{\string\color@pdcolor\the\@tempcnta}{%
+ \advance\@tempcnta\m@ne
+ \edef\pd@nocolors{\the\@tempcnta}%
+ }{\advance\@tempcnta\@ne}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% Define the startpage to be 2 when using a pauseslide.
+% \begin{macrocode}
+\ifpd@pauseslide\def\@pdfstartpage{2}\fi
+% \end{macrocode}
+% If the style or preamble does not define palettes, do nothing. If
+% there are palettes, but the user didn't specify one, use the first.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \ifx\pd@nopalettes\@undefined\else\ifx\pd@@palette\@undefined
+ \@nameuse{pd@pe@\@nameuse{pd@pe@1@name}@colors}%
+ \color{pdcolor1}%
+ \let\default@color\current@color
+ \let\pd@color\XC@current@color
+ \fi\fi
+% \end{macrocode}
+% Text color is black in handout mode.
+% \begin{macrocode}
+ \ifnum\pd@mode=2
+ \color{black}%
+ \def\pd@@iacolor{black}%
+ \let\default@color\current@color
+ \let\pd@color\XC@current@color
+ \else\pd@countcolors\fi
+% \end{macrocode}
+% Insert the pause slide.
+% \begin{macrocode}
+ \ifpd@pauseslide
+ \begin{pauseslide}[toc=,bm=,trans=Replace,randomdots=false]{}%
+ \end{pauseslide}%
+ \fi
+}
+% \end{macrocode}
+% \begin{macro}{\pddefinetemplate}
+% Define a template. This stores options and the background to macros.
+% \begin{macrocode}
+\def\pddefinetemplate{\@testopt\pd@pddefinetemplate{}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pddefinetemplate}
+% \changes{v1.2}{2005/10/09}{Changed to \cs{pd@namelet} for changed \pf{xcolor}}
+% \changes{v1.3}{2005/12/06}{Made it possible to redefine basis templates and
+% convey the changes to templates based on this basis}
+% \oarg{basis}{name}{options}{background}\\
+% Store options and background and define the environment \meta{name}.
+% \begin{macrocode}
+\def\pd@pddefinetemplate[#1]#2#3#4{%
+% \end{macrocode}
+% The beginning of the environment just gets and sets its arguments
+% and gets the body of the environment.
+% \begin{macrocode}
+ \@namedef{#2}{\pd@getargsandbody{#2}}%
+% \end{macrocode}
+% The end of the environment. We process the body at least once, maybe
+% more times, but that we will find out along the way. In case the
+% body is not eaten in advance, this macro starts an |lrbox|.
+% \begin{macrocode}
+ \@namedef{end#2}{\ifpd@display\pd@slide\fi}%
+% \end{macrocode}
+% If there is no basis, we just store the options and the background.
+% \begin{macrocode}
+ \ifx\@empty#1\@empty
+ \@namedef{pd@template@#2@options}{\setkeys[pd]{template}{#3}}%
+ \@namedef{pd@template@#2@bg}{#4}%
+ \else
+% \end{macrocode}
+% Otherwise, add options and background to existing macros.
+% \begin{macrocode}
+ \XKV@ifundefined{pd@template@#1@options}{%
+ \pd@error{template `#1' undefined}}{%
+ \def\pd@tempa{#1}\def\pd@tempb{#2}%
+% \end{macrocode}
+% If \meta{basis} and \meta{name} are the same, expand options and
+% background to avoid infinite loops.
+% \begin{macrocode}
+ \ifx\pd@tempa\pd@tempb
+ \pd@namelet{pd@template@#2@options}{pd@template@#1@options}%
+ \expandafter
+ \XKV@addtomacro@n\csname pd@template@#2@options\endcsname
+% \end{macrocode}
+% Make sure to reset the |ifsetup| key so that options are for all
+% possible setups again.
+% \begin{macrocode}
+ {\setkeys[pd]{template}{ifsetup,#3}}%
+ \pd@namelet{pd@template@#2@bg}{pd@template@#1@bg}\expandafter
+ \XKV@addtomacro@n\csname pd@template@#2@bg\endcsname{#4}%
+ \else
+% \end{macrocode}
+% Else, use existing macros options and background macros and add the
+% current settings.
+% \begin{macrocode}
+ \@namedef{pd@template@#2@bg}{\@nameuse{pd@template@#1@bg}#4}%
+ \@namedef{pd@template@#2@options}{%
+ \@nameuse{pd@template@#1@options}%
+ \setkeys[pd]{template}{ifsetup,#3}%
+ }%
+ \fi
+ }%
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@getargsandbody}
+% \marg{name}\\
+% First eat the optional argument and the slide title. Then
+% collect the body of the slide: we
+% read every time up to |\end|, we check whether we find the |\end| that
+% has the name of the current slide environment. If not, we add all
+% content and continue the search. If |method| is 1, we use \pf{verbatim}
+% to read the body and write it to a temporary file. If |method| is 2, we do not
+% eat the body at all, but redefine the end of the current environment
+% to finish the |lrbox| that we will start later on.
+% \begin{macrocode}
+\def\pd@getargsandbody#1{\@testopt{\pd@get@rgsandbody{#1}}{}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@get@rgsandbody}
+% \marg{name}\oarg{options}\marg{title}
+% \begin{macrocode}
+\def\pd@get@rgsandbody#1[#2]#3{%
+ \pd@get@rgs@ndbody{#2}{#3}%
+% \end{macrocode}
+% Here are three possible methods to process slides. The first will
+% eat the entire body while scanning for |\end{slide}|. This fixes
+% catcodes. The second writes the body to file. This allows for
+% verbatim and overlays, but may be slow. The third uses an |lrbox| to
+% typeset material directly. That allows for verbatim, but no
+% overlays. Notice that we always use the first method when the slide
+% should not be displayed.
+% \begin{macrocode}
+ \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@
+% \end{macrocode}
+% Start eating the body.
+% \begin{macrocode}
+ \pd@body{}%
+ \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}%
+ \else
+ \ifnum\pd@method=\@ne
+% \end{macrocode}
+% Start verbatim reading and writing to file.
+% \begin{macrocode}
+ \def\pd@tempa{%
+ \immediate\openout\pd@vrbout\jobname.vrb\relax
+ \def\verbatim@processline{%
+ \immediate\write\pd@vrbout{\the\verbatim@line}%
+ }%
+ \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active
+ \verbatim@start
+ }%
+% \end{macrocode}
+% Redefine the end macro to stop verbatim reading and closing the file.
+% Afterwards, execute the slide producing macro.
+% \begin{macrocode}
+ \@namedef{end#1}{%
+ \endgroup\immediate\closeout\pd@vrbout
+ \let\verbatim@processline\pd@orig@verbatim@processline
+ \pd@slide
+ }%
+ \else
+% \end{macrocode}
+% No overlays allowed with this method.
+% \begin{macrocode}
+ \pd@deloverlays
+% \end{macrocode}
+% Create the slide.
+% \begin{macrocode}
+ \let\pd@tempa\pd@sl@de
+% \end{macrocode}
+% Typeset content directly and store it in a box using |lrbox|. We
+% redefine the end to finish this box and position it on the page.
+% \begin{macrocode}
+ \@namedef{end#1}{%
+ \end{pd@minipage}\end{lrbox}%
+ \ifx\pd@@textpos\@empty\else
+ \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}%
+ \fi
+ }%
+ \fi
+ \fi
+ \pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@get@rgs@ndbody}
+% \marg{options}\marg{title}\\
+% A common component in processing slides in \LaTeX\ or \LyX.
+% \begin{macrocode}
+\def\pd@get@rgs@ndbody#1#2{%
+% \end{macrocode}
+% Set user keys.
+% \begin{macrocode}
+ \setkeys[pd]{glslide,slide}{#1}%
+% \end{macrocode}
+% Save title.
+% \begin{macrocode}
+ \def\pd@t@tle{#2}%
+% \end{macrocode}
+% Perform some initial checks to see whether we actually need to process
+% this slide or not.
+% \begin{macrocode}
+ \pd@displaytrue
+ \def\pd@tempa{note}%
+ \ifcase\pd@display
+ \ifx\@currenvir\pd@tempa\relax\pd@displayfalse\fi
+ \or
+ \ifx\@currenvir\pd@tempa\else
+ \def\pd@tempa{titleslide}%
+ \ifx\@currenvir\pd@tempa\else
+ \pd@displayfalse
+ \stepcounter{slide}%
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@get@rgs@ndb@dy}
+% \marg{name}\meta{text}|\end|\marg{envir}\\
+% If \meta{envir} is equal to \meta{name}, we found the end of the
+% environment and stop parsing. Otherwise, we add material to the token
+% and continue.
+% \begin{macrocode}
+\long\def\pd@get@rgs@ndb@dy#1#2\end#3{%
+ \def\pd@tempa{#1}%
+ \def\pd@tempb{#3}%
+ \ifx\pd@tempa\pd@tempb
+ \pd@body\expandafter{\the\pd@body#2}%
+ \def\pd@tempa{\end{#1}}%
+ \else
+ \pd@body\expandafter{\the\pd@body#2\end{#3}}%
+ \def\pd@tempa{\pd@get@rgs@ndb@dy{#1}}%
+ \fi
+ \pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@slide}
+% This macro processes the slide, possibly many times, depending on
+% what we encounter on the first run.
+% \begin{macrocode}
+\def\pd@slide{%
+ \pd@overlayfalse
+ \def\pd@nooverlays{1}%
+ \setcounter{pd@overlay}\@ne
+ \let\pd@labels\@empty
+% \end{macrocode}
+% Save counter values so that these can be restored on overlays.
+% \begin{macrocode}
+ \XKV@for@o\pd@@counters\pd@tempa{%
+ \expandafter\xdef\csname pd@counter@\pd@tempa\endcsname{%
+ \expandafter\the\csname c@\pd@tempa\endcsname
+ }%
+ }%
+ \pd@sl@de
+ \@whilenum\c@pd@overlay<\pd@nooverlays\do{%
+ \pd@overlaytrue
+% \end{macrocode}
+% Restore counters.
+% \begin{macrocode}
+ \XKV@for@o\pd@@counters\pd@tempa{%
+ \setcounter\pd@tempa{\csname pd@counter@\pd@tempa\endcsname}%
+ }%
+ \stepcounter{pd@overlay}%
+% \end{macrocode}
+% Re-initialize the info for random dots.
+% \begin{macrocode}
+ \ifpd@@randomdots
+ \let\pd@trandim\pd@randim
+ \let\pd@tranpos\pd@ranpos
+ \let\pd@trancol\pd@rancol
+ \fi
+ \pd@sl@de
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@sl@de}
+% \changes{v1.1}{2005/09/19}{Added missing \cs{pd@currenttype} initialization}
+% \changes{v1.2}{2005/10/09}{Added \cs{@currentlabel} definition}
+% \changes{v1.3}{2005/12/06}{Template specific \texttt{textfont} properly sets \cs{default@color}}
+% \changes{v1.4}{2005/12/10}{Added exceptions to inhibit logo/randomdots on blackslide/emptyslide}
+% This is the main slide producing macro.
+% \begin{macrocode}
+\def\pd@sl@de{%
+ \stepcounter{slide}\newpage
+ \ifpd@overlay\addtocounter{slide}\m@ne\fi
+ \edef\@currentlabel{\the\c@slide}%
+% \end{macrocode}
+% Initialize the overlays and switch to overlay 0. The material on this
+% overlay will be visible.
+% \begin{macrocode}
+ \pst@Verb{tx@ovlDict begin InitOL /TheOL (0) def end}%
+ \pst@Verb{tx@ovlDict begin (0) BOL end}%
+% \end{macrocode}
+% Load all template settings.
+% \begin{macrocode}
+ \@nameuse{pd@template@\@currenvir @options}%
+% \end{macrocode}
+% Insert background. Execute in a group to avoid local settings getting out.
+% \begin{macrocode}
+ \@nameuse{pd@template@\@currenvir @bg}%
+ \ifpd@@randomdots
+ \ifpd@overlay\else
+ \ifnum\pd@nocolors>\z@
+ \let\pd@randim\@empty
+ \let\pd@ranpos\@empty
+ \let\pd@rancol\@empty
+ \setrannum\pd@tempcnta\pd@@dmindots\pd@@dmaxdots
+ \edef\pd@nodots{\the\pd@tempcnta}%
+ \pd@tempcnta\z@
+ \@whilesw\ifnum\pd@tempcnta<\pd@nodots\fi{%
+ \advance\pd@tempcnta\@ne
+ \setrandim\@tempdima\pd@@dminsize\pd@@dmaxsize
+ \XKV@addtolist@x\pd@randim{\the\@tempdima}%
+ \setrandim\@tempdima\pd@@dminwidth\pd@@dmaxwidth
+ \setrandim\@tempdimb\pd@@dminheight\pd@@dmaxheight
+ \XKV@addtolist@x\pd@ranpos{\the\@tempdima,\the\@tempdimb}%
+ \setrannum\@tempcntb1\pd@nocolors
+ \XKV@addtolist@x\pd@rancol{\the\@tempcntb}%
+ }%
+ \let\pd@trandim\pd@randim
+ \let\pd@tranpos\pd@ranpos
+ \let\pd@trancol\pd@rancol
+ \else
+ \let\pd@nodots\z@
+ \fi
+ \fi
+ \@tempcnta\z@
+ \@whilesw\ifnum\@tempcnta<\pd@nodots\fi{%
+ \advance\@tempcnta\@ne
+ \pd@pop\pd@trandim\pd@tempa\pd@pop\pd@tranpos\pd@tempb
+ \pd@pop\pd@tranpos\pd@tempc\pd@pop\pd@trancol\pd@tempd
+ \ifnum\pd@@dbright<\z@
+ \@tempcntb\pd@@dbright
+ \advance\@tempcntb100
+ \edef\pd@tempd{\pd@tempd!\the\@tempcntb!black}%
+ \else
+ \@tempcntb-\pd@@dbright
+ \advance\@tempcntb100
+ \edef\pd@tempd{\pd@tempd!\the\@tempcntb}%
+ \fi
+ {\ifx\pd@@dprop\@empty\else
+ \expandafter\psset\expandafter{\pd@@dprop}%
+ \fi
+ \psdot[dotsize=\pd@tempa,linecolor=pdcolor\pd@tempd]%
+ (\pd@tempb,\pd@tempc)}%
+ }%
+ \fi
+% \end{macrocode}
+% Insert the logo.
+% \begin{macrocode}
+ \def\pd@tempa{pauseslide}%
+ \def\pd@tempb{emptyslide}%
+ \ifx\pd@@logopos\@empty\else
+ \ifx\pd@logobox\@undefined\else
+ \ifx\@currenvir\pd@tempa\else
+ \ifx\@currenvir\pd@tempb\else
+ \rput[\pd@@logohook](\pd@@logopos){\usebox\pd@logobox}%
+ \fi
+ \fi
+ \fi
+ \fi
+% \end{macrocode}
+% Clock coding. Contributed by Alexander Grahn.
+% \begin{macrocode}
+ \ifpd@@clock
+% \end{macrocode}
+% Extract the color specification, convert it to |rgb| and store it
+% to be used for the clock. This uses some \pf{xcolor} macros.
+% \begin{macrocode}
+ \def\pd@tempa##1,##2,##3\@nil{##1 ##2 ##3}%
+ \extractcolorspec\pd@@clockcolor\pd@tempb
+ \expandafter\convertcolorspec\pd@tempb{rgb}\pd@tempb
+ \edef\pd@tempa{\expandafter\pd@tempa\pd@tempb\@nil}%
+% \end{macrocode}
+% Insert the clock.
+% \changes{v1.4}{2005/12/10}{Added arguments for \texttt{clockformat} and \texttt{clockrefresh} values}
+% \changes{v1.6}{2021/03/25}{Fixed rotation of the clock for smartboard paper}
+% \begin{macrocode}
+ \ifx\pd@@clockpos\@empty\else
+ \@tempdima\pd@@clockcharsize
+ \rput[\pd@@clockhook](\pd@@clockpos){%
+ \makebox[\pd@@clockwidth][l]{\rule{0pt}{\pd@@clockheight}%
+ \pd@PdfAnnot{\pd@@clockwidth}{\pd@@clockheight}{0pt}{%
+ /Subtype/Widget/FT/Tx/T (pdclock.\the\pd@clockcnt) /Ff 1
+ /DA (/Helv \strip@pt\@tempdima\space Tf \pd@tempa\space rg)
+ /MK<</R \ifnum\pd@orient=\z@\ifnum\pd@paper=\thr@@ 0\else 90\fi\else 0\fi /BG []/BC []>>
+ /Q \pd@@clockalign\space
+ /AA <<
+ /PO << /S/JavaScript/JS(\pd@startclock\pd@@clockformat\pd@@clockrefresh) >>
+ /PC << /S/JavaScript/JS(app.clearInterval(pdclock_\the\pd@clockcnt);) >>
+ >>
+ }%
+ }%
+ \pd@AppendToFields{\pd@PdfLastAnn}%
+ \global\advance\pd@clockcnt\@ne
+ }%
+ \fi
+ \fi
+% \end{macrocode}
+% Write transition effect to PDF.
+% \begin{macrocode}
+ \pd@pdftrans
+ \ifpd@overlay\else
+% \end{macrocode}
+% When not an overlay or note, make a bookmark and toc entry.
+% \begin{macrocode}
+ \def\pd@tempa{note}%
+ \ifx\@currenvir\pd@tempa\else
+ \pd@maketocbm0%
+% \end{macrocode}
+% Make a target on this page so that we can make links to this page.
+% We don't use pdf page links as that won't give good link in handout
+% mode with 2 slides per page.
+% \begin{macrocode}
+ \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend
+ \fi
+ \fi
+% \end{macrocode}
+% Initialize numbers and macros for relative stepping and pausing.
+% |\pd@currentstate| remembers the state when doing overlays.
+% \begin{macrocode}
+ \def\pd@reloverlay{1}%
+ \let\pd@closeitem\relax
+ \def\pd@currentstate{0}%
+ \let\pd@currenttype\relax
+ \setcounter{pd@pause}\@ne
+ \let\pd@revert\@firstofone
+ \setcounter{pd@onslidedepth}\z@
+% \end{macrocode}
+% Position the title.
+% \begin{macrocode}
+ \ifx\pd@@titlepos\@empty\else
+ \def\pd@tempa{%
+ \begin{minipage}\pd@@titlewidth
+ \pd@@titlefont\strut
+ \ifpd@section
+ \expandafter\pd@sectiontitle\expandafter{\pd@t@tle}%
+ \else
+ \expandafter\pd@slidetitle\expandafter{\pd@t@tle}%
+ \fi
+ \end{minipage}%
+ }%
+ \rput[\pd@@titlehook](\pd@@titlepos){%
+ \ifpd@pauseslide
+ \hyperlink{pauseslide}{\pd@tempa}%
+ \else
+ \pd@tempa
+ \fi
+ }%
+ \fi
+% \end{macrocode}
+% Position the table of contents, possibly split. No |minipage| when
+% making a horizontal toc.
+% \begin{macrocode}
+ \ifx\pd@@tocpos\@empty\else
+ \rput[\pd@@tochook](\pd@@tocpos){%
+ \ifnum\pd@tocorient=\z@\begin{minipage}\pd@@tocwidth\fi
+ \let\pd@usedtocfont\pd@@tocfont
+ \let\pd@usedtocorient\pd@tocorient
+ \pd@puttoc0%
+ \ifnum\pd@usedtocorient=\z@\end{minipage}\fi
+ }%
+ \fi
+ \ifx\pd@@stocpos\@empty\else
+ \rput[\pd@@stochook](\pd@@stocpos){%
+ \ifnum\pd@stocorient=\z@\begin{minipage}\pd@@tocwidth\fi
+ \let\pd@usedtocfont\pd@@stocfont
+ \let\pd@usedtocorient\pd@stocorient
+ \pd@puttoc1%
+ \ifnum\pd@usedtocorient=\z@\end{minipage}\fi
+ }%
+ \fi
+ \ifx\pd@@ntocpos\@empty\else
+ \rput[\pd@@ntochook](\pd@@ntocpos){%
+ \ifnum\pd@ntocorient=\z@\begin{minipage}\pd@@tocwidth\fi
+ \let\pd@usedtocfont\pd@@ntocfont
+ \let\pd@usedtocorient\pd@ntocorient
+ \pd@puttoc2%
+ \ifnum\pd@usedtocorient=\z@\end{minipage}\fi
+ }%
+ \fi
+% \end{macrocode}
+% Position footers.
+% \begin{macrocode}
+ \ifx\pd@@lfpos\@empty\else
+ \rput[\pd@@lfhook](\pd@@lfpos){\pd@@lffont\pd@@lftemp}%
+ \fi
+ \ifx\pd@@cfpos\@empty\else
+ \rput[\pd@@cfhook](\pd@@cfpos){\pd@@cffont\pd@@cftemp}%
+ \fi
+ \ifx\pd@@rfpos\@empty\else
+ \rput[\pd@@rfhook](\pd@@rfpos){\pd@@rffont\pd@@rftemp}%
+ \fi
+ \ifnum\pd@method<2
+ \ifx\pd@@textpos\@empty\else
+% \end{macrocode}
+% Position the main text box and put the material in, maybe coming
+% from eating the body into |\pd@body| or reading it from a file.
+% \begin{macrocode}
+ \rput[\pd@@texthook](\pd@@textpos){%
+ \pd@sl@d@
+ \ifnum\pd@method=\z@\the\pd@body\else
+ \input\jobname.vrb
+ \fi
+ \end{pd@minipage}%
+ }%
+ \fi
+ \let\pd@tempa\relax
+ \else
+% \end{macrocode}
+% For direct processing, start the |lrbox| to typeset and capture
+% content.
+% \begin{macrocode}
+ \def\pd@tempa{\begin{lrbox}\pd@textbox\pd@sl@d@}%
+ \fi
+ \pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@sl@d@}
+% A common component in |\pd@sl@de|.
+% \begin{macrocode}
+\def\pd@sl@d@{%
+ \begin{pd@minipage}%
+ \let\pd@tempa\color
+ \def\color##1{\pd@tempa{##1}\let\default@color\current@color}%
+ \pd@@textfont
+ \let\color\pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \changes{v1.2}{2005/10/09}{Redefine \cs{pd@slidetitle} in note template}
+% The implementation of notes.
+% The first macro is a temporary counter to find whether the new note
+% still belongs to the current slide or that it belongs to a new slide.
+% \begin{macrocode}
+\def\pd@notet{0}
+% \end{macrocode}
+% Define the template using our mechanism.
+% \begin{macrocode}
+\pddefinetemplate{note}{%
+ titlepos={.04\slidewidth,.92\slideheight},%
+ titlefont=\let\pd@slidetitle\@firstofone\color{black}\Large,%
+ textpos={.07\slidewidth,.82\slideheight},%
+ textfont=\color{black},textwidth=.86\slidewidth,%
+ lfpos={.04\slidewidth,.035\slideheight},%
+ lffont=\color{black}\scriptsize,%
+ cfpos={.5\slidewidth,.035\slideheight},%
+ cffont=\color{black}\scriptsize,%
+ rfpos={.96\slidewidth,.035\slideheight},%
+ rffont=\color{black}\scriptsize,%
+ rftemp=\pd@@rf\ifx\pd@@rf\@empty\else
+ \ifx\thenote\@empty\else\space--\space\fi\fi\thenote,%
+}{%
+ \addtocounter{slide}\m@ne
+% \end{macrocode}
+% If this is another note with the same slide, count it.
+% \begin{macrocode}
+ \ifnum\c@slide=\pd@notet
+ \stepcounter{note}%
+ \else
+ \setcounter{note}{1}%
+ \fi
+ \xdef\pd@notet{\the\c@slide}%
+% \end{macrocode}
+% The background.
+% \begin{macrocode}
+ \psline[linewidth=.5pt](0,.87\slideheight)%
+ (\slidewidth,.87\slideheight)%
+ \psline[linewidth=.5pt](0,.08\slideheight)%
+ (\slidewidth,.08\slideheight)%
+}
+% \end{macrocode}
+% Implement pauseslide.
+% This is an empty slide with just a very big button on it to go back
+% to the original page where we came from.
+% \begin{macrocode}
+\pddefinetemplate{pauseslide}{}{%
+ \addtocounter{slide}\m@ne
+ \hyper@anchorstart{pauseslide}\hyper@anchorend
+ \psframe*[linecolor=\pd@pauseslidecolor](0,0)(\slidewidth,\slideheight)%
+ {\color{\pd@pauseslidecolor}%
+ \rput[cm](.5\slidewidth,.5\slideheight){%
+ \Acrobatmenu{GoBack}{\setlength\fboxsep{10cm}\fbox{GoBack}}}}%
+}
+% \end{macrocode}
+% Empty slides. For special uses like displaying big tables or photos.
+% \begin{macrocode}
+\pddefinetemplate{emptyslide}{textpos={0,\slideheight}}{}
+% \end{macrocode}
+% \begin{macro}{\maketitle}
+% This implementation
+% is more or less similar as what is in \pf{article}. First we make a
+% backup of the original |\maketitle| to be used maybe in handout mode,
+% see below.
+% \begin{macrocode}
+\let\pd@orig@maketitle\maketitle
+\def\maketitle{\@testopt\pd@maketitle{}}
+\def\pd@maketitle[#1]{%
+ \begin{titleslide}[#1,toc=,bm=,trans=Replace,method=normal]{}%
+ \let\footnote\thanks
+ \def\thefootnote{\@fnsymbol\c@footnote}%
+ {\pd@title{\pd@@titlefont\@title}\par}{%
+ \vskip2em\pd@@textfont
+ \begin{tabular}[t]{@{} c @{}}%
+ \@author
+ \end{tabular}\par
+ \vskip1.5em\small\@date
+ }\par
+ \small\@thanks
+ \vfil\null
+ \end{titleslide}%
+ \c@footnote\z@
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@maketocbm}
+% \marg{type}\\
+% \meta{type} indicates the kind of entry that we need to write to toc and
+% or bookmark file. 0 is a normal slide, 1 is a section, 2 is a hidden
+% section. The title of the entry is assumed to be in |\pd@slidetitle|.
+% \begin{macrocode}
+\def\pd@maketocbm#1{%
+% \end{macrocode}
+% Make the bookmark entry so that it allows for easy counting of entries
+% in sections.
+% \begin{macrocode}
+ \def\pd@tempa{\immediate\write\pd@bmout{%
+ \string\pdbookmark{sec.\the\c@pd@section\ifnum#1=\z@.slide\fi}{%
+ \ifnum#1=\z@ sec.\the\c@pd@section\fi}{\the\c@slide}%
+ {\the\@temptokena}%
+ }}%
+% \end{macrocode}
+% Notice that |\pd@@bm| can be undefined at every slide, even after
+% use on one slide, as the definition is done locally in the slide
+% environment. So no resetting is necessary on the start of a slide.
+% \begin{macrocode}
+ \ifx\pd@@bm\@undefined
+ \@temptokena\expandafter{\pd@t@tle}%
+ \else
+ \ifx\pd@@bm\@empty
+ \let\pd@tempa\relax
+ \else
+ \@temptokena\expandafter{\pd@@bm}%
+ \fi
+ \fi
+ \pd@tempa
+% \end{macrocode}
+% Write the toc entry.
+% \begin{macrocode}
+ \def\pd@tempa{\immediate\write\pd@tocout{%
+ \string\pdcontentsline{#1}{\the\c@slide}{\the\@temptokena}%
+ }}%
+ \ifx\pd@@toc\@undefined
+ \@temptokena\expandafter{\pd@t@tle}%
+ \else
+ \ifx\pd@@toc\@empty
+ \let\pd@tempa\relax
+ \else
+ \@temptokena\expandafter{\pd@@toc}%
+ \fi
+ \fi
+ \pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pdbookmark}
+% \marg{sec1}\marg{sec2}\marg{target}\marg{title}\\
+% First we defined |\pdbookmark| to count the number of bookmarks
+% that needs to be nested below every section bookmark. We need to
+% know that for the pdf bookmark specification.
+% \begin{macrocode}
+\def\pdbookmark#1#2#3#4{%
+ \@tempcnta\pd@pdb@@kmark{#2}%
+ \advance\@tempcnta\@ne
+ \@nameedef{pd@be@#2}{\the\@tempcnta}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pdb@@kmark}
+% \changes{v1.1}{2005/09/19}{Solved bug with unexpandable \cs{XKV@ifundefined}
+% when not running the $\varepsilon$-\TeX\ engine (e.g. te\TeX\ 2)}
+% \marg{section}\\
+% Returns the number of slides that we already counter for the
+% current section. Don't use |\XKV@ifundefined| here as that is not
+% expandable when not running $\varepsilon$-\TeX\ engine.
+% \begin{macrocode}
+\def\pd@pdb@@kmark#1{%
+ \@ifundefined{pd@be@#1}0{\csname pd@be@#1\endcsname}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pdbookmark}
+% \changes{v1.2}{2005/10/09}{Solved bug with Acrobat Distiller}
+% \marg{sec1}\marg{sec2}\marg{target}\marg{title}\\
+% Redefine the macro to make the actual bookmark.
+% \begin{macrocode}
+\ifxetex\else
+ \def\pd@pdbookmark#1#2#3#4{%
+% \end{macrocode}
+% Use |\pdfstringdef| to clean the title. Not everything can enter as
+% a bookmark in pdf.
+% \begin{macrocode}
+ \pdfstringdef\pd@tempa{#4}%
+ \pdfmark{pdfmark=/OUT,%
+ Count={\pd@pdb@@kmark{#1}},Dest={slide.#3},%
+ View={/XYZ null null null},Title={\pd@tempa}%
+ }%
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pdcontentsline}
+% \marg{type}\marg{target}\marg{title}\\
+% Saves all input arguments to macros with names like |\pd@te@i|.
+% Further, it computes with a lag the starting and stopping targets
+% for every entry, |\pd@te@i@start| and |\pd@te@i@stop|.
+% \begin{macrocode}
+\def\pdcontentsline#1#2#3{%
+ \ifnum\@tempcnta>\z@
+ \@nameedef{pd@te@\the\@tempcnta @start}{\pd@tempa}%
+ \@namedef{pd@te@\the\@tempcnta @stop}{#2}%
+ \fi
+ \def\pd@tempa{#2}%
+ \advance\@tempcnta\@ne
+ \@namedef{pd@te@\the\@tempcnta}{%
+ \pdcontentsline{#1}{#2}{#3}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \changes{v1.1}{2005/09/19}{Reading \texttt{.bm} and \texttt{.toc}
+% file \cs{AtBeginDocument} to allow for using \pf{inputenc} for toc
+% and bm entries}
+% \changes{v1.4}{2005/12/10}{Solved bug in computing stopping slide for last toc entry}
+% Read the bm and toc files into memory to speed up compilation.
+% Along the way, we compute the starting and stopping target numbers
+% for highlighting toc entries and the number of slides to be nested
+% under a section bookmark entry. At begin document for allowing
+% loading of \pf{inputenc} also for bm and toc entries.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \InputIfFileExists{\jobname.bm}{}{}%
+ \let\pdbookmark\pd@pdbookmark
+ \InputIfFileExists{\jobname.bm}{}{}%
+% \end{macrocode}
+% Rewrite the bookmarks file.
+% \begin{macrocode}
+ \immediate\openout\pd@bmout\jobname.bm\relax
+ \@tempcnta\z@
+ \def\pd@tempa{0}%
+ \InputIfFileExists{\jobname.toc}{}{}%
+% \end{macrocode}
+% Save the number of toc entries.
+% \begin{macrocode}
+ \edef\pd@notocentries{\the\@tempcnta}%
+% \end{macrocode}
+% Compute the starting and stopping number for the last entry.
+% \begin{macrocode}
+ \ifx\r@lastslide\@undefined\@tempcntb\pd@tempa\else
+ \edef\pd@tempb{\expandafter\@secondoffive\r@lastslide}%
+ \@tempcntb\pd@tempb
+ \fi
+ \advance\@tempcntb\@ne
+ \@nameedef{pd@te@\the\@tempcnta @start}{\pd@tempa}%
+ \@nameedef{pd@te@\the\@tempcnta @stop}{\the\@tempcntb}%
+% \end{macrocode}
+% Rewrite the toc file.
+% \begin{macrocode}
+ \immediate\openout\pd@tocout\jobname.toc\relax
+% \end{macrocode}
+% Initialize the |\pdcontentsline| macro for making toc entries.
+% \begin{macrocode}
+ \let\pdcontentsline\pd@pdcontentsline
+}
+% \end{macrocode}
+% \begin{macro}{\pd@puttoc}
+% \marg{type}\\
+% Typeset the table of contents of type \meta{type} from memory.
+% \begin{macrocode}
+\def\pd@puttoc#1{%
+% \end{macrocode}
+% Initialize some numbers that we will use.
+% \begin{macrocode}
+ \@tempcnta\z@
+ \@tempcntb\z@
+ \@tempswatrue
+ \def\pd@toctype{#1}%
+% \end{macrocode}
+% Parse all available toc entries.
+% \begin{macrocode}
+ \@whilenum\@tempcnta<\pd@notocentries\do{%
+ \advance\@tempcnta\@ne
+ \@nameuse{pd@te@\the\@tempcnta}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pdcontentsline}
+% \changes{v1.1}{2005/09/19}{Solved bug using different toc widths}
+% \marg{type}\marg{target}\marg{title}\\
+% Typesets a toc entry.
+% \begin{macrocode}
+\def\pd@pdcontentsline#1#2#3{%
+ \let\pd@tempa\relax
+% \end{macrocode}
+% Full table of contents (sections and slides).
+% \begin{macrocode}
+ \ifcase\pd@toctype
+% \end{macrocode}
+% A normal slide.
+% \begin{macrocode}
+ \ifcase#1\relax
+% \end{macrocode}
+% Slides before section 1.
+% \begin{macrocode}
+ \ifnum\@tempcntb=\z@
+ \let\pd@tempa\pd@tocdisplay
+ \else
+% \end{macrocode}
+% A slide in the current section.
+% \begin{macrocode}
+ \ifnum\@tempcntb=\c@pd@section
+ \let\pd@tempa\pd@tocdisplay
+ \fi
+ \fi
+ \or
+% \end{macrocode}
+% A normal section.
+% \begin{macrocode}
+ \global\advance\@tempcntb\@ne
+ \let\pd@tempa\pd@tocdisplay
+ \or
+% \end{macrocode}
+% A hidden section.
+% \begin{macrocode}
+ \global\advance\@tempcntb\@ne
+ \ifnum\@tempcntb=\c@pd@section
+ \let\pd@tempa\pd@tocdisplay
+ \fi
+ \fi
+ \or
+% \end{macrocode}
+% Typeset only sections.
+% \begin{macrocode}
+ \ifcase#1\relax\or
+% \end{macrocode}
+% A normal section.
+% \begin{macrocode}
+ \global\advance\@tempcntb\@ne
+ \let\pd@tempa\pd@tocdisplay
+ \or
+% \end{macrocode}
+% A hidden section.
+% \begin{macrocode}
+ \global\advance\@tempcntb\@ne
+ \ifnum\@tempcntb=\c@pd@section
+ \let\pd@tempa\pd@tocdisplay
+ \fi
+ \fi
+ \or
+% \end{macrocode}
+% Only slides in current section or before the first section.
+% \begin{macrocode}
+ \ifnum#1=\z@
+% \end{macrocode}
+% An entry in the current section.
+% \begin{macrocode}
+ \ifnum\@tempcntb=\c@pd@section
+ \let\pd@tempa\pd@tocdisplay
+ \fi
+ \else
+% \end{macrocode}
+% Count sections.
+% \begin{macrocode}
+ \global\advance\@tempcntb\@ne
+ \fi
+ \fi
+ \ifpd@@hlentries\ifx\pd@tempa\relax\else
+ \ifnum#1=\z@
+% \end{macrocode}
+% A normal highlighted slide.
+% \begin{macrocode}
+ \ifnum\c@slide<\@nameuse{pd@te@\the\@tempcnta @start}%
+ \else
+ \ifnum\c@slide<\@nameuse{pd@te@\the\@tempcnta @stop}%
+ \let\pd@tempa\pd@tochighlight
+ \fi
+ \fi
+ \else
+ \ifpd@@hlsections
+% \end{macrocode}
+% A highlighted section.
+% \begin{macrocode}
+ \ifnum\@tempcntb=\c@pd@section
+ \let\pd@tempa\pd@tochighlight
+ \fi
+ \else
+% \end{macrocode}
+% A section with a page.
+% \begin{macrocode}
+ \ifnum#2=\c@slide\ifnum\@nameuse{pd@te@\the
+ \@tempcnta @stop}=\c@slide\else
+ \let\pd@tempa\pd@tochighlight
+ \fi\fi
+ \fi
+ \fi
+ \fi\fi
+% \end{macrocode}
+% Build the entry, but only if the entry should be visible.
+% \begin{macrocode}
+ \ifx\pd@tempa\relax\else
+% \end{macrocode}
+% Some skip. Execute the font settings so that skips like |.6ex| work
+% properly.
+% \begin{macrocode}
+ \if@tempswa\@tempswafalse\else
+ \pd@usedtocfont
+ \ifnum\pd@usedtocorient=\z@
+ \ifnum#1=\z@\vskip\pd@@tocslidesep\else\vskip\pd@@tocsecsep\fi
+ \else
+ \ifnum#1=\z@\hskip\pd@@tocslidesep\else\hskip\pd@@tocsecsep\fi
+ \fi
+ \fi
+% \end{macrocode}
+% Add a section marker.
+% \begin{macrocode}
+ \ifnum#1=\z@\else\pd@@tocsecm\fi
+% \end{macrocode}
+% Output the entry. This works as follows.
+% The text |#3| is passed through one macro of |\pd@tocslide| or
+% |\pd@tocsection| which adds a `per entry layout' (eg a bullet).
+% Then |\pd@tempa| (which is |\pd@tocdisplay| or |\pd@tochighlight|)
+% displays the item as requested and |\hyperlink| adds a link to the entry.
+% The lengths |\@tempdima| and |\@tempdimb| contain the horizontal
+% indent and the remaining space for the entry respectively. The first
+% entry does not get an indent if it is a slide.
+% \begin{macrocode}
+ \ifcase\pd@toctype
+ \@tempdimb\pd@@tocwidth
+ \or
+ \@tempdimb\pd@@stocwidth
+ \or
+ \@tempdimb\pd@@ntocwidth
+ \fi
+ \ifnum#1=\z@
+ \ifnum\@tempcntb=\z@\@tempdima\z@\else
+ \@tempdima\pd@@tocslideindent
+ \advance\@tempdimb-\pd@@tocslideindent
+ \fi
+ \hyperlink{slide.#2}{\pd@tempa{\pd@tocslide{#3}}}%
+ \else
+ \@tempdima\pd@@tocsecindent
+ \advance\@tempdimb-\pd@@tocsecindent
+ \hyperlink{slide.#2}{\pd@tempa{\pd@tocsection{#3}}}%
+ \fi
+ \ifnum\pd@usedtocorient=\z@\par\fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% The keys for the |\tableofcontents| macro.
+% \begin{macrocode}
+\define@choicekey[pd]{toc}{content}[\pd@tempa\pd@content]{%
+ all,sections,currentsection,future,futuresections}{}
+\define@choicekey[pd]{toc}{type}[\pd@tempa\pd@type]{0,1}{}
+\presetkeys[pd]{toc}{content=all,type=0}{}
+% \end{macrocode}
+% \begin{macro}{\tableofcontents}
+% Typesets overviews.
+% \begin{macrocode}
+\def\tableofcontents{\@testopt\pd@tableofcontents{}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@tableofcontents}
+% \oarg{options}\\
+% Workhorse.
+% \begin{macrocode}
+\def\pd@tableofcontents[#1]{%
+% \end{macrocode}
+% To keep definitions like |\pd@@type| (reused in |itemize|) local.
+% \begin{macrocode}
+ \begingroup
+% \end{macrocode}
+% Set keys with use input.
+% \begin{macrocode}
+ \setkeys[pd]{toc}{#1}%
+% \end{macrocode}
+% This keeps track of whether we are in a hidden section.
+% \begin{macrocode}
+ \let\pd@tempc\z@
+ \def\pdcontentsline##1##2##3{%
+% \end{macrocode}
+% Count sections in the toc.
+% \begin{macrocode}
+ \ifnum##1>\z@\advance\@tempcntb\@ne\fi
+% \end{macrocode}
+% Used for additional markup like |\bfseries|.
+% \begin{macrocode}
+ \let\pd@tempb\@empty
+% \end{macrocode}
+% The line that is to be typeset.
+% \begin{macrocode}
+ \def\pd@tempa{\hyperlink{slide.##2}{\pd@tempb##3}\par}%
+% \end{macrocode}
+% If a line should not be displayed, then here is the action to be
+% taken depending on the type. 0 leaves out material, 1 typesets it
+% in inactive color.
+% \begin{macrocode}
+ \ifnum\pd@type=\z@
+ \def\pd@tempd{\let\pd@tempa\relax}%
+ \else
+ \def\pd@tempd{\def\pd@tempb{\color\pd@@iacolor}}%
+ \fi
+% \end{macrocode}
+% Update whether we are in a hidden section.
+% \begin{macrocode}
+ \ifcase##1\or\let\pd@tempc\z@\or
+ \ifnum\@tempcntb=\c@pd@section
+ \let\pd@tempc\z@
+ \else
+ \let\pd@tempc\@ne
+ \fi
+ \fi
+% \end{macrocode}
+% If in hidden section, hide it.
+% \begin{macrocode}
+ \ifnum\pd@tempc=\@ne\pd@tempd\fi
+% \end{macrocode}
+% Here are the rules for displaying material, given the input of the user.
+% Case 0 is `all'.
+% \begin{macrocode}
+ \ifcase\pd@content\or
+% \end{macrocode}
+% Case `sections'.
+% \begin{macrocode}
+ \ifnum##1=\z@\let\pd@tempa\relax\fi
+ \or
+% \end{macrocode}
+% Case `currentsection'.
+% \begin{macrocode}
+ \ifnum\@tempcntb=\c@pd@section\else\pd@tempd\fi
+ \or
+% \end{macrocode}
+% Case `future'.
+% \begin{macrocode}
+ \ifnum\@tempcnta<\c@slide\pd@tempd\fi
+ \or
+% \end{macrocode}
+% Case `futuresections'.
+% \begin{macrocode}
+ \ifnum\@tempcntb<\c@pd@section\pd@tempd\fi
+ \ifnum##1=\z@\pd@tempd\fi
+ \fi
+% \end{macrocode}
+% If a section, use bold font.
+% \begin{macrocode}
+ \ifnum##1>\z@\XKV@addtomacro@n\pd@tempb\bfseries\fi
+% \end{macrocode}
+% Finally, typeset the entry and add some spacing.
+% \begin{macrocode}
+ \ifx\pd@tempa\relax\else
+ \if@tempswa\@tempswafalse\else
+ \ifnum##1=\z@\else\vskip5pt\fi
+ \fi
+ \ifnum##1=\z@\ifnum\@tempcntb=\z@\else\hskip15pt\fi\fi
+ \pd@tempa
+ \fi
+ }%
+ \@tempcnta\z@
+ \@tempcntb\z@
+ \@tempswatrue
+% \end{macrocode}
+% Loop over all available toc entries.
+% \begin{macrocode}
+ \@whilenum\@tempcnta<\pd@notocentries\do{%
+ \advance\@tempcnta\@ne
+ \@nameuse{pd@te@\the\@tempcnta}%
+ }%
+% \end{macrocode}
+% Restore everything.
+% \begin{macrocode}
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% Options for parts and sections. The template key allows for modification
+% of user input for normal slide and wide slide. A style can define
+% the environment that should take the place of, eg, |wideslide| when
+% the user requests that template.
+% \begin{macrocode}
+\define@choicekey*[pd]{section}{tocsection}[\pd@tempa\pd@tempb]{%
+ false,true,hidden}{}
+\define@boolkey[pd]{section}[pd@@]{slide}[true]{}
+\define@cmdkey[pd]{section}[pd@@]{template}{%
+ \def\pd@tempa{slide}%
+ \ifx\pd@@template\pd@tempa
+ \let\pd@@template\pd@@sectemp
+ \else
+ \def\pd@tempa{wideslide}%
+ \ifx\pd@@template\pd@tempa
+ \let\pd@@template\pd@@widesectemp
+ \fi
+ \fi
+}
+\presetkeys[pd]{section}{tocsection=true,slide=true,template=slide}{}
+% \end{macrocode}
+% Keys for style developers to overwrite user requests silently.
+% \begin{macrocode}
+\define@cmdkeys[pd]{section}[pd@@]{sectemp,widesectemp}
+\setkeys[pd]{section}{sectemp=slide,widesectemp=slide}
+\AtBeginDocument{\disable@keys[pd]{section}{sectemp,widesectemp}}
+% \end{macrocode}
+% \begin{macro}{\pd@orig@section}
+% Make a backup of the original |\section|, to be used later.
+% \begin{macrocode}
+\let\pd@orig@section\section
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\section}
+% \changes{v1.1}{2005/09/19}{Corrected bug not allowing commas in section titles}
+% Used to create parts in the presentation and sections in the toc.
+% \begin{macrocode}
+\def\section{\@testopt\pd@section{}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@section}
+% \oarg{options}\marg{title}\\
+% Creates the part.
+% \begin{macrocode}
+\def\pd@section[#1]#2{%
+% \end{macrocode}
+% Necessary to keep toc and bm definitions local.
+% \begin{macrocode}
+ \begingroup
+ \pd@sectiontrue
+% \end{macrocode}
+% Extract the keys specific for |\part| first as to know what we are
+% going to produce.
+% \begin{macrocode}
+ \setkeys*[pd]{section}{#1}%
+% \end{macrocode}
+% |\pd@tempb| comes from the |tocsection| key.
+% \begin{macrocode}
+ \ifnum\pd@tempb=\z@
+% \end{macrocode}
+% |\XKV@rm|
+% contains all remaining keys that could not be set in the previous
+% |\setkeys| (namely, keys not in the |part| family).
+% \begin{macrocode}
+ \ifpd@@slide
+ \toks@{#2}%
+ \@temptokena\expandafter{\XKV@rm}%
+ \edef\pd@tempa{%
+ \noexpand\begin{\pd@@template}%
+ [bm={\the\toks@},toc={\the\toks@},%
+ \the\@temptokena]{\the\toks@}%
+ \noexpand\end{\pd@@template}%
+ }%
+ \pd@tempa
+ \fi
+ \else
+% \end{macrocode}
+% Set all slide specific keys as |bm| and |toc|.
+% \begin{macrocode}
+ \setrmkeys*[pd]{slide}%
+% \end{macrocode}
+% Make the toc and bm entries.
+% \begin{macrocode}
+ \stepcounter{pd@section}%
+ \stepcounter{slide}%
+ \def\pd@t@tle{#2}%
+ \pd@maketocbm\pd@tempb
+ \addtocounter{slide}\m@ne
+ \ifpd@@slide
+% \end{macrocode}
+% Produce a slide if necessary.
+% \begin{macrocode}
+ \toks@{#2}%
+ \@temptokena\expandafter{\XKV@rm}%
+ \edef\pd@tempa{%
+ \noexpand\begin{\pd@@template}%
+ [\the\@temptokena,bm=,toc=]{\the\toks@}%
+ \noexpand\end{\pd@@template}%
+ }%
+ \pd@tempa
+ \fi
+ \fi
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\onslide}
+% The normal version puts material on overlay 1, hence invisible in
+% ps or pdf. The starred version eats its argument, hence does not
+% move the cursor. The plus version put material in the inactive
+% color.
+% \begin{macrocode}
+\def\onslide{%
+ \@ifnextchar-\pd@@nslide{\XKV@ifstar{\pd@onslide1}{%
+ \XKV@ifplus{\pd@onslide2}{\pd@onslide0}}}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@onslide}
+% \changes{v1.2}{2005/10/09}{Replaced \cs{ignorespaces} by \cs{@bsphack}
+% \cs{@esphack} in starred version}
+% \marg{type}\marg{overlays}\\
+% The workhorse. First determine whether the material should be
+% visible from the \meta{overlays} information. If not, process it in
+% the chosen way in \meta{type}.
+% \begin{macrocode}
+\def\pd@onslide#1#2{%
+% \end{macrocode}
+% Display or not?
+% \begin{macrocode}
+ \pd@testdisp0{#2}%
+ \if@tempswa
+% \end{macrocode}
+% Display.
+% \begin{macrocode}
+ \let\pd@tempa\@firstofone
+ \else
+ \ifcase#1\relax
+% \end{macrocode}
+% Switch to overlay 1 (invisible), output |#1|, switch back to overlay 0.
+% We record the depth. This allows us to check whether we are in
+% hidden material already. If that is the case, don't step back to
+% overlay 0 as that will make following material visible again.
+% \begin{macrocode}
+ \long\def\pd@tempa##1{%
+ \pst@Verb{tx@ovlDict begin (1) BOL end}%
+ \stepcounter{pd@onslidedepth}%
+ ##1%
+ \addtocounter{pd@onslidedepth}\m@ne
+ \ifnum\c@pd@onslidedepth=\z@\ifnum\pd@currentstate=\z@
+ \pst@Verb{tx@ovlDict begin (0) BOL end}%
+ \fi\fi
+ }%
+ \or
+% \end{macrocode}
+% Eat material.
+% \begin{macrocode}
+ \long\def\pd@tempa##1{\@bsphack\@esphack}%
+ \or
+% \end{macrocode}
+% Put material in inactive color.
+% \begin{macrocode}
+ \long\def\pd@tempa##1{{\color\pd@@iacolor##1}}%
+ \fi
+ \fi
+ \pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@testdisp}
+% \marg{type}\marg{overlays}\\
+% This macro is used by both |\onslide| and |\item|. The former can
+% use relative notation for which \meta{type} should be 0. For the
+% latter, \meta{type} is 1. \meta{overlays} is a specification of
+% overlays where material should be visible.
+% \begin{macrocode}
+\def\pd@testdisp#1#2{%
+ \@tempswafalse
+% \end{macrocode}
+% Parse the comma separated specification.
+% \begin{macrocode}
+ \XKV@for@n{#2}\pd@tempa{\expandafter\pd@t@stdisp\pd@tempa--\@nil#1}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@t@stdisp}
+% \meta{s1}|-|\meta{s2}|-|\meta{s3}|\@nil|\marg{type}\\
+% Separate the input and check in which case we ended up. This macro
+% also computes the number of overlays that is necessary for this
+% slide. Notice several |\relax| at possibly unexpected places. This
+% seemed necessary for \TeX\ to properly set |\@tempswa|.
+% \begin{macrocode}
+\def\pd@t@stdisp#1-#2-#3\@nil#4{%
+ \ifx\@empty#1\@empty\relax
+% \end{macrocode}
+% |-x| case.
+% \begin{macrocode}
+ \ifnum#4=\z@
+% \end{macrocode}
+% Parse input further to find if relative syntax was used.
+% \begin{macrocode}
+ \pd@checkrel#2\@nil\@tempcnta
+ \else
+ \@tempcnta#2%
+% \end{macrocode}
+% The item has no particular starting point, so it starts from overlay
+% 1. Save this for relative |\onslide| syntax in the current item.
+% \begin{macrocode}
+ \def\pd@reloverlay{1}%
+ \fi
+% \end{macrocode}
+% |\@tempcnta| now contains the number of overlays necessary for this
+% part of the specification. Take the maximum.
+% \begin{macrocode}
+ \pd@compnooverlays\@tempcnta
+ \ifnum\c@pd@overlay>\@tempcnta\else\@tempswatrue\fi
+ \else
+% \end{macrocode}
+% |x|, |x-| and |x-y| cases. Check relative syntax and store the
+% corrected number in |\@tempcnta|.
+% \begin{macrocode}
+ \ifnum#4=\z@
+ \pd@checkrel#1\@nil\@tempcnta
+ \else
+ \@tempcnta#1%
+% \end{macrocode}
+% Here, the item has a special starting point. Save that to be able
+% to compute relative syntax in subsequent |\onslide|s.
+% \begin{macrocode}
+ \def\pd@reloverlay{#1}%
+ \fi
+ \ifx\@empty#2\@empty\relax
+% \end{macrocode}
+% |x| and |x-| cases.
+% \begin{macrocode}
+ \pd@compnooverlays\@tempcnta
+ \ifx\@empty#3\@empty\relax
+% \end{macrocode}
+% |x| case.
+% \begin{macrocode}
+ \ifnum\c@pd@overlay=\@tempcnta\@tempswatrue\fi
+ \else
+% \end{macrocode}
+% |x-| case.
+% \begin{macrocode}
+ \ifnum\c@pd@overlay<\@tempcnta\else\@tempswatrue\fi
+ \fi
+ \else
+% \end{macrocode}
+% |x-y| case. Store the final number |y| in |\@tempcntb|, maybe
+% corrected for relative syntax.
+% \begin{macrocode}
+ \ifnum#4=\z@
+ \pd@checkrel#2\@nil\@tempcntb
+ \else
+ \@tempcntb#2%
+ \fi
+ \pd@compnooverlays\@tempcntb
+ \ifnum\c@pd@overlay<\@tempcnta\else
+ \ifnum\c@pd@overlay>\@tempcntb\else\@tempswatrue\fi
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@checkrel}
+% \meta{number}|\@nil|\marg{counter}\\
+% Checks whether \meta{number} starts with a |+| and if yes, adds the
+% current item number in |\pd@reloverlay| to \meta{counter} to make
+% relative syntax possible.
+% \begin{macrocode}
+% Check whether relative syntax has been used.
+\def\pd@checkrel#1#2\@nil#3{%
+ \def\pd@tempa{#1}%
+ \def\pd@tempb{+}%
+ \ifx\pd@tempa\pd@tempb
+ #3#2\advance#3\pd@reloverlay
+ \else#3#1#2\fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@compnooverlays}
+% Keep track of the biggest number that we see as to compute the
+% number of overlays that we need to produce. Notice the |\relax| again.
+% \begin{macrocode}
+\def\pd@compnooverlays#1{%
+ \ifnum#1>\pd@nooverlays\xdef\pd@nooverlays{\the#1}\fi\relax
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@orig@item}
+% Copy of \LaTeX's |\@item|.
+% \begin{macrocode}
+\let\pd@orig@item\@item
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\@item}
+% \oarg{label}\\
+% Creates the item label etcetera. We add an optional argument for
+% overlay specifications.
+% \begin{macrocode}
+\def\@item[#1]{\@ifnextchar<{\pd@item[#1]}{\pd@item[#1]<>}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@item}
+% \oarg{label}\larg{overlays}\\
+% This item allows for hiding the bullet and following content.
+% \begin{macrocode}
+\def\pd@item[#1]<#2>{%
+% \end{macrocode}
+% Possibly switch state.
+% \begin{macrocode}
+ \pd@closeitem
+% \end{macrocode}
+% Enter some corrections when switching list type.
+% \begin{macrocode}
+ \ifx\pd@@type\pd@currenttype\else
+ \ifnum\pd@@type=\z@
+ \pst@Verb{tx@ovlDict begin (1) BOL end}%
+ \else
+ \pst@Verb{tx@ovlDict begin (0) BOL end}%
+ \normalcolor
+ \fi
+ \global\let\pd@currenttype\pd@@type
+ \fi
+% \end{macrocode}
+% Make sure that we are on overlay 0 when the current state is such.
+% Then check if we need hiding.
+% \begin{macrocode}
+ \ifnum\pd@currentstate=\z@
+ \normalcolor\pst@Verb{tx@ovlDict begin (0) BOL end}%
+ \pd@hide{#2}%
+ \else
+% \end{macrocode}
+% Enter this color, just in case no other declarations will follow.
+% \begin{macrocode}
+ \color\pd@@iacolor
+ \fi
+% \end{macrocode}
+% We need to switch state at the next item. Take care of local definition.
+% \begin{macrocode}
+ \ifx\@empty#2\@empty\else
+ \def\pd@closeitem{\gdef\pd@currentstate{0}}%
+ \fi
+% \end{macrocode}
+% Insert |\leavevmode| to avoid ps code to `leak into' |\item|, like
+% which used to be the case when |\item\onslide{2-}{test}\pause|.
+% \begin{macrocode}
+ \pd@orig@item[#1]\leavevmode\ignorespaces
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@orig@@trivlist}
+% \begin{macro}{\@trivlist}
+% Save the current state for later (after getting back from nested
+% lists). And we initialize some helper functions.
+% \begin{macrocode}
+\let\pd@orig@@trivlist\@trivlist
+\def\@trivlist{%
+ \global\expandafter\let\csname pd@currentstate\the\c@pd@trivlist
+ \endcsname\pd@currentstate
+ \ifnum\pd@@type=\z@\let\pd@closeitem\relax\fi
+ \stepcounter{pd@trivlist}%
+ \pd@orig@@trivlist
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@orig@endtrivlist}
+% \begin{macro}{\endtrivlist}
+% At the end of each list, make sure that we re-initialize the state
+% of that level, if necessary.
+% \begin{macrocode}
+\let\pd@orig@endtrivlist\endtrivlist
+\def\endtrivlist{%
+ \addtocounter{pd@trivlist}\m@ne
+ \pd@revert{%
+ \global\expandafter\let\expandafter\pd@currentstate\csname
+ pd@currentstate\the\c@pd@trivlist\endcsname
+ }%
+ \pd@orig@endtrivlist
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@hide}
+% \meta{overlays}\\
+% Hides following material until the end of the current group, usually
+% the end of an environment like |itemize|.
+% \begin{macrocode}
+\def\pd@hide#1{%
+ \ifx\@empty#1\@empty\else
+% \end{macrocode}
+% If still active, we might need to become inactive.
+% \begin{macrocode}
+ \ifnum\pd@currentstate=\z@
+% \end{macrocode}
+% Check the state of this item.
+% \begin{macrocode}
+ \pd@testdisp1{#1}%
+ \if@tempswa\else
+ \ifnum\pd@@type=\z@
+% \end{macrocode}
+% Hide material onto overlay 1.
+% \begin{macrocode}
+ \pst@Verb{tx@ovlDict begin (1) BOL end}%
+ \else
+% \end{macrocode}
+% Switch to inactive color.
+% \begin{macrocode}
+ \color\pd@@iacolor
+ \fi
+ \gdef\pd@currentstate{1}%
+ \fi
+ \fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pause}
+% Hide following material on the current overlay.
+% \begin{macrocode}
+\def\pause{\@testopt\pd@p@use1}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@p@use}
+% \oarg{steps}\\
+% This inserts a |\pd@hide| that hides material for the following
+% overlays, possibly some extra, when the optional argument is used.
+% \begin{macrocode}
+\def\pd@p@use[#1]{%
+ \addtocounter{pd@pause}{#1}%
+ \expandafter\pd@hide\expandafter{\the\c@pd@pause-}%
+ \global\let\pd@revert\@gobble
+ \ignorespaces
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@deloverlays}
+% This macro disables overlays by redefining some internals.
+% \begin{macrocode}
+\def\pd@deloverlays{%
+ \def\pd@hide##1{}%
+ \def\pd@onslide##1##2{\@firstofone}%
+ \let\@trivlist\pd@orig@@trivlist
+ \let\endtrivlist\pd@orig@endtrivlist
+ \def\pd@item[##1]<##2>{\pd@orig@item[##1]\leavevmode\ignorespaces}%
+}
+% \end{macrocode}
+% \end{macro}
+% We insert an extra key in the |enumitem| family to allow for changing
+% the type of the list. 0 uses ps hiding, 1 uses inactive color when
+% items are inactive.
+% \begin{macrocode}
+\define@cmdkey{enumitem}[pd@@]{type}{}
+\setkeys{enumitem}{type=0}
+% \end{macrocode}
+% \begin{macro}{\pd@pdftrans}
+% Inserts a pdf transition effect. It allows custom transition effects
+% like wipes in different directions. But if you do that, it will warn
+% that it might not work.
+% \begin{macrocode}
+\ifxetex\else
+ \def\pd@pdftrans{%
+ \@expandtwoargs\in@{,\pd@@trans,}{%
+ ,Split,Blinds,Box,Wipe,Dissolve,Glitter,%
+ Replace,Fly,Push,Cover,Uncover,Fade,}%
+ \ifin@\else
+ \pd@warn{Transition `\pd@@trans' might not be understood by
+ your ps to pdf converter}%
+ \fi
+ \pdfmark{%
+ pdfmark=/PUT,%
+ Raw={\string{ThisPage\string}%
+ <</Trans << /S /\pd@@trans\space >> >>%
+ }%
+ }%
+ }
+\fi
+% \end{macrocode}
+% \end{macro}
+% Two column keys.
+% \begin{macrocode}
+\define@cmdkeys[pd]{twocolumn}[pd@@]{%
+ lineheight,lfrheight,rfrheight,lcolwidth,rcolwidth,%
+ topsep,bottomsep,indent,lineprop,lfrprop,rfrprop%
+}
+% \end{macrocode}
+% We use two lengths as we need to do some computations with these
+% key settings.
+% \begin{macrocode}
+\define@key[pd]{twocolumn}{colsep}{\setlength\pd@colsep{#1}}
+\define@key[pd]{twocolumn}{frsep}{\setlength\pd@frsep{#1}}
+% \end{macrocode}
+% Presets.
+% \begin{macrocode}
+\presetkeys[pd]{twocolumn}{frsep=1.5mm,colsep=.06\linewidth,%
+ lcolwidth=.47\linewidth,rcolwidth=.47\linewidth,topsep=0cm,%
+ bottomsep=0cm,indent=0cm,lineprop=,lfrprop=,rfrprop=,%
+ lineheight=,lfrheight=,rfrheight=%
+}{}
+% \end{macrocode}
+% \begin{macro}{\twocolumn}
+% \begin{macro}{\pd@twocolumn}
+% Construct two columns and put material in it.
+% \begin{macrocode}
+\def\twocolumn{\@testopt\pd@twocolumn{}}
+\long\def\pd@twocolumn[#1]#2#3{%
+ \setkeys[pd]{twocolumn}{#1}%
+ \sbox\pd@tba{\begin{minipage}\pd@@lcolwidth\pd@@textfont#2\end{minipage}}%
+ \setlength\@tempdima{\the\ht\pd@tba}%
+ \addtolength\@tempdima{\the\dp\pd@tba}%
+ \sbox\pd@tbb{\begin{minipage}\pd@@rcolwidth\pd@@textfont#3\end{minipage}}%
+ \setlength\@tempdimb{\the\ht\pd@tbb}%
+ \addtolength\@tempdimb{\the\dp\pd@tbb}%
+ \setlength\@tempdimc{\pd@maxdim\@tempdima\@tempdimb}%
+ \ifx\pd@@lfrheight\@empty\else
+ \setlength\@tempdimc{\pd@maxdim\pd@@lfrheight\@tempdimc}%
+ \fi
+ \ifx\pd@@lineheight\@empty\else
+ \setlength\@tempdimc{\pd@maxdim\pd@@lineheight\@tempdimc}%
+ \fi
+ \ifx\pd@@rfrheight\@empty\else
+ \setlength\@tempdimc{\pd@maxdim\pd@@rfrheight\@tempdimc}%
+ \fi
+ \begin{pspicture}(-\pd@@indent,\pd@@topsep)(\linewidth,-\@tempdimc)%
+ \psset{linewidth=.25pt,linecolor=\pd@color}%
+ \setlength\@tempdima\pd@@lcolwidth
+ \addtolength\@tempdima\pd@frsep
+ \ifx\pd@@lfrheight\@empty\else
+ \expandafter\psframe\expandafter[\pd@@lfrprop]%
+ (-\pd@frsep,\pd@frsep)(\@tempdima,-\pd@@lfrheight)%
+ \fi
+ \rput[tl](0,0){\usebox\pd@tba}%
+ \setlength\@tempdima\pd@@lcolwidth
+ \addtolength\@tempdima{.5\pd@colsep}%
+ \ifx\pd@@lineheight\@empty\else
+ \expandafter\psline\expandafter[\pd@@lineprop]%
+ (\@tempdima,\pd@frsep)(\@tempdima,-\pd@@lineheight)%
+ \fi
+ \addtolength\@tempdima{.5\pd@colsep}%
+ \setlength\@tempdimc\@tempdima
+ \addtolength\@tempdima{-\pd@frsep}%
+ \setlength\@tempdimb\@tempdima
+ \addtolength\@tempdimb\pd@@rcolwidth
+ \addtolength\@tempdimb{2\pd@frsep}%
+ \ifx\pd@@rfrheight\@empty\else
+ \expandafter\psframe\expandafter[\pd@@rfrprop]%
+ (\@tempdima,\pd@frsep)(\@tempdimb,-\pd@@rfrheight)%
+ \fi
+ \rput[tl](\@tempdimc,0){\usebox\pd@tbb}%
+ \end{pspicture}\par
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{environment}{figure}
+% \begin{environment}{table}
+% Avoid floating |figure| and |table| environments.
+% \begin{macrocode}
+\renewenvironment{figure}[1][]{%
+ \def\@captype{figure}%
+ \par\begin{center}%
+}{\par\end{center}}
+\renewenvironment{table}[1][]{%
+ \def\@captype{table}%
+ \par\begin{center}%
+}{\par\end{center}}
+% \end{macrocode}
+% \end{environment}
+% \end{environment}
+% \begin{macro}{\pddefinelyxtemplate}
+% \meta{cs}\marg{template}
+% Support for \LyX, where slides are delimited by an explicit |\lyxend|.
+% This defines the \meta{cs} to look optional keys, the slide title
+% and finally for |\lyxend| to collect the body of the slide.
+% After that, it creates a slide with \meta{template}.
+% \begin{macrocode}
+\def\pddefinelyxtemplate#1#2{\def#1{\pd@lyxgetargsandbody{#2}}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@lyxgetargsandbody}
+% \marg{template}\\
+% Check for optional keys.
+% \begin{macrocode}
+\def\pd@lyxgetargsandbody#1{\@testopt{\pd@lyxget@rgsandbody{#1}}{}}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@lyxget@rgsandbody}
+% \marg{template}\oarg{options}\marg{title}\\
+% This pretends to be an environment with name \meta{template}. The
+% slide title and body are saved, keys are set and the slide is executed.
+% This all happens in a local group to keep definitions (eg |toc| key)
+% local. We again have three different methods to process the slide.
+% Now, the verbatim version is more complicated as we have to look
+% for |\lyxend| instead of |\end{slide}|.
+% \begin{macrocode}
+\def\pd@lyxget@rgsandbody#1[#2]#3{%
+ \begingroup
+% \end{macrocode}
+% Initial settings and checks.
+% \begin{macrocode}
+ \def\@currenvir{#1}%
+ \pd@get@rgs@ndbody{#2}{#3}%
+ \ifcase\ifnum\pd@method>\z@\ifpd@display\@ne\fi\fi\z@
+% \end{macrocode}
+% Eat the body until |\lyxend|.
+% \begin{macrocode}
+ \let\pd@tempa\pd@lyxget@rgs@ndbody
+ \else
+ \ifnum\pd@method=\@ne
+ \def\pd@tempa{%
+% \end{macrocode}
+% Start writing to a temporary file and redefine |\verbatim@processline|
+% to scan lines for |\lyxend|. We only stop if |\lyxend| occurs on the
+% first character of the input line.
+% \begin{macrocode}
+ \immediate\openout\pd@vrbout\jobname.vrb\relax
+ \def\verbatim@processline{%
+% \end{macrocode}
+% Check for |\lyxend|.
+% \begin{macrocode}
+ \pd@lyxget@rgs@ndb@dy
+ \ifin@
+% \end{macrocode}
+% If we found it, stop. |\pd@tempa| eats the next four tokens which
+% would otherwise make \pf{verbatim} continue with reading.
+% \begin{macrocode}
+ \let\pd@tempa\@gobblefour
+% \end{macrocode}
+% |\next| occurs in the \pf{verbatim} macros. We define it to close
+% the output file, execute the slide, write the remaining part of
+% the line with |\lyxend| to file and read it back in. We need to
+% do this as this content (probably |\lyxslide|) has been sanitized
+% while reading in verbatim mode. We could also use |\scantokens|
+% if we keep in mind that that, just as |\input|, introduces line
+% feeds and end-of-file characters in the input stream which the
+% \pf{verbatim} macros can't handle. Morten H\o gholm proposed the
+% following instead.
+%\begin{example}
+% \documentclass{article}
+% \begin{document}
+% \long\def\ReinsertTokens#1{%
+% \begingroup\endlinechar=-1\everyeof{}%
+% \scantokens{\def\next{\endgroup#1}}\next
+% }
+% \ReinsertTokens{\begin{verbatim}}
+% test
+% \end{verbatim}
+% \end{document}
+%\end{example}
+% We don't use that here as we don't want to force the use of
+% $\varepsilon$-\TeX\ at this moment. Instead, we read back exactly
+% one line via an input stream and execute that.
+% \begin{macrocode}
+ \def\next{%
+ \endgroup\immediate\closeout\pd@vrbout
+ \let\verbatim@processline\pd@orig@verbatim@processline
+ \pd@slide\endgroup
+ \immediate\openout\pd@vrbout\jobname.vrb\relax
+ \immediate\write\pd@vrbout{\pd@lyxrem}%
+ \immediate\closeout\pd@vrbout
+ \immediate\openin\pd@vrbout\jobname.vrb\relax
+ \immediate\read\pd@vrbout to\pd@tempa
+ \immediate\closein\pd@vrbout\pd@tempa
+ }%
+ \else
+% \end{macrocode}
+% Write a line of the body to file.
+% \begin{macrocode}
+ \immediate\write\pd@vrbout{\the\verbatim@line}%
+ \let\pd@tempa\relax
+ \fi
+ \pd@tempa
+ }%
+% \end{macrocode}
+% Start the verbatim reading.
+% \begin{macrocode}
+ \begingroup\let\do\@makeother\dospecials\catcode`\^^M\active
+ \verbatim@start
+ }%
+ \else
+% \end{macrocode}
+% This is the |direct| method, similar as before.
+% \begin{macrocode}
+ \pd@deloverlays
+ \let\pd@tempa\pd@sl@de
+ \def\lyxend{%
+ \end{pd@minipage}\end{lrbox}%
+ \ifx\pd@@textpos\@empty\else
+ \rput[\pd@@texthook](\pd@@textpos){\usebox\pd@textbox}%
+ \fi
+ \endgroup
+ }%
+ \fi
+ \fi
+ \pd@tempa
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@lyxget@args@ndbody}
+% \meta{body}|\lyxend|\\
+% Collect material until |\lyxend|, save that in the token register
+% and start processing the slide, if necessary.
+% \begin{macrocode}
+\long\def\pd@lyxget@rgs@ndbody#1\lyxend{%
+ \pd@body{#1}%
+ \ifpd@display\pd@slide\fi
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macrocode}
+\begingroup\lccode`\!`\\\lowercase{\endgroup
+% \end{macrocode}
+% \begin{macro}{\pd@lyxget@args@ndb@dy}
+% \begin{macro}{\pd@lyxget@args@ndb@dy}
+% These macros check if |\lyxend| occurs in the input line (in
+% sanitize version) and if so, if it occurs on the first character.
+% That allows for including |\lyxend| somewhere in the line, for
+% instance, in a verbatim text.
+% \begin{macrocode}
+\def\pd@lyxget@rgs@ndb@dy{%
+ \@expandtwoargs\in@{!lyxend}{\the\verbatim@line}%
+ \ifin@\expandafter\pd@lyxget@rgs@ndb@d@\the\verbatim@line\@nil\fi
+}
+\def\pd@lyxget@rgs@ndb@d@#1!lyxend#2\@nil{%
+ \ifx\@empty#1\@empty\gdef\pd@lyxrem{#2}\else\in@false\fi
+}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\lyxend}
+% This macro acts mainly as delimiter and doesn't need to be defined
+% but we do it anyway as to make it harmless when there is a superfluous
+% one in the file.
+% \begin{macrocode}
+\def\lyxend{}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\lyxnote}
+% \begin{macro}{\lyxslide}
+% \begin{macro}{\lyxwideslide}
+% \begin{macro}{\lyxemptyslide}
+% These create the standard available templates. Any template can be
+% supported for \LyX\ in this way.
+% \begin{macrocode}
+\pddefinelyxtemplate\lyxnote{note}
+\pddefinelyxtemplate\lyxslide{slide}
+\pddefinelyxtemplate\lyxwideslide{wideslide}
+\pddefinelyxtemplate\lyxemptyslide{emptyslide}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \changes{v1.1}{2005/09/19}{Solved \texttt{itemize} and \pf{frenchb} problem}
+% Some compatibility things. We don't want \pf{frenchb} from
+% \pf{babel} to redefine the |itemize| environment.
+% \begin{macrocode}
+\AtBeginDocument{%
+ \@expandtwoargs\in@{,frenchb.ldf,}{,\@filelist,}%
+ \ifin@
+ \let\bbl@frenchindent\relax
+ \let\bbl@frenchitemize\relax
+ \let\bbl@frenchlistspacing\relax
+ \fi
+% \end{macrocode}
+% \begin{environment}{thebibliography}
+% Redefine the |thebibliography| environment. This is based on
+% \pf{article}, but does not create marks or a section.
+% \begin{macrocode}
+ \renewenvironment{thebibliography}[1]{%
+ \list{\@biblabel{\@arabic\c@enumiv}}{%
+ \settowidth\labelwidth{\@biblabel{#1}}%
+ \leftmargin\labelwidth
+ \advance\leftmargin\labelsep
+ \@openbib@code
+ \usecounter{enumiv}%
+ \let\p@enumiv\@empty
+ \renewcommand\theenumiv{\@arabic\c@enumiv}%
+ }%
+ \sloppy
+ \clubpenalty4000
+ \@clubpenalty \clubpenalty
+ \widowpenalty4000%
+ \sfcode`\.\@m
+ }{%
+ \def\@noitemerr
+ {\@latex@warning{Empty `thebibliography' environment}}%
+ \endlist
+ }%
+ \@ifpackageloaded{CJK}{%
+ \count@=127
+ \@whilenum\count@<255\do{%
+ \advance\count@\@ne
+ \lccode`\~=\count@
+ \catcode\count@=\active
+ \lowercase{\def~{\kern1ex}}%
+ }%
+ \hypersetup{CJKbookmarks=true}%
+ }{}%
+% \end{macrocode}
+% \end{environment}
+% \begin{macrocode}
+}
+\ifnum\pd@mode=\z@
+% \end{macrocode}
+% \begin{macro}{\label}
+% \begin{macro}{\label@in@display}
+% \marg{name}\\
+% We redefine these two macros (|\AtBeginDocument| for \pf{nameref}).
+% For the current slide, we put all label names in a list. If the name
+% reappears, we don't issue the original command anymore. This is necessary
+% to avoid writing the same label multiple times because of overlays.
+% This disables the check for multiply defined labels inside slides,
+% but leaves this system in place over multiple slides. The latter
+% macro is used in \pf{amsmath}.
+% \begin{macrocode}
+ \AtBeginDocument{%
+ \let\pd@orig@label\label
+ \def\label{\pd@label\pd@orig@label}%
+ \let\pd@orig@label@in@display\label@in@display
+ \def\label@in@display{\pd@label\pd@orig@label@in@display}%
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@label}
+% \meta{label-macro}\marg{name}\\
+% Helper macro that checks reappearance of labels on slides.
+% \begin{macrocode}
+ \def\pd@label#1#2{%
+ \@expandtwoargs\in@{,#2,}{,\pd@labels,}%
+ \ifin@\else
+ \global\XKV@addtolist@x\pd@labels{#2}%
+ #1{#2}%
+ \fi
+ }
+% \end{macrocode}
+% \end{macro}
+% No overlays in print of handout mode.
+% \begin{macrocode}
+\else\pd@deloverlays\let\pd@pdftrans\relax\fi
+% \end{macrocode}
+% For handout mode, we make some redefinitions.
+% \begin{macrocode}
+\ifnum\pd@mode=2
+% \end{macrocode}
+% \begin{macro}{\pd@newpage}
+% \begin{macro}{\pd@n@wpage}
+% Alternate between making a |\newpage| and not. This results in
+% two slides per page.
+% \begin{macrocode}
+\def\pd@n@wpage{%
+ \gdef\pd@newpage{%
+ \global\let\pd@newpage\pd@n@wpage
+ \newpage
+ }%
+}
+\let\pd@newpage\pd@n@wpage
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@get@rgsandbody}
+% \changes{v1.2}{2005/10/09}{Added \cs{@currentlabel} definition}
+% \changes{v1.3}{2005/12/06}{Made body text \cs{raggedright}}
+% \changes{v1.4}{2005/12/10}{Fixed \LyX\ handout mode}
+% The new slide environment.
+% \begin{macrocode}
+\def\pd@get@rgsandbody#1[#2]#3{%
+ \setkeys[pd]{glslide,slide}{#2}%
+ \def\pd@t@tle{#3}%
+% \end{macrocode}
+% Determine to include this slide or not.
+% \begin{macrocode}
+ \def\pd@tempa{note}%
+ \let\pd@resa\@currenvir
+ \pd@displaytrue
+ \ifcase\pd@display
+ \ifx\pd@resa\pd@tempa\relax\pd@displayfalse\fi
+ \or
+ \ifx\pd@resa\pd@tempa\else\pd@displayfalse\fi
+ \fi
+% \end{macrocode}
+% No bookmarks or targets for notes.
+% \begin{macrocode}
+ \ifx\pd@resa\pd@tempa\else
+ \stepcounter{slide}%
+ \edef\@currentlabel{\the\c@slide}%
+ \let\pd@tempb\@empty
+ \pd@maketocbm0%
+ \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend
+ \fi
+% \end{macrocode}
+% For \LyX\ handout mode. Reset it immediately to avoid any problems
+% with superfluous occurrences of |\lyxend|.
+% \begin{macrocode}
+ \gdef\lyxend{\gdef\lyxend{}\pd@slide}%
+% \end{macrocode}
+% The |lrbox| will typeset and capture content. This allows for
+% verbatim on slides.
+% \begin{macrocode}
+ \begin{lrbox}\pd@textbox
+% \end{macrocode}
+% $16=2\times7+2\times1$.
+% \begin{macrocode}
+ \@tempdima\linewidth
+ \ifpd@@nohandoutframes\else
+ \advance\@tempdima-16pt
+ \fi
+ \begin{minipage}\@tempdima
+ \subsection*\pd@t@tle
+% \end{macrocode}
+% This |\pd@displaytrue| only acts locally to make sure that |\endslide|
+% is executed.
+% \begin{macrocode}
+ \pd@displaytrue\raggedright
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@lyxget@rgsandbody}
+% In \LyX\ handout mode, we start making slides in the same way as in
+% \LaTeX\ handout mode, but in |\pd@get@rgsandbody|, we need to make
+% |\lyxend| to finish the slide boxes which is normally done by
+% |\end{slide}| (or friends).
+% \begin{macrocode}
+\let\pd@lyxget@rgsandbody\pd@get@rgsandbody
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@slide}
+% This creates the slide, if necessary.
+% \begin{macrocode}
+\def\pd@slide{%
+ \end{minipage}\end{lrbox}%
+% \end{macrocode}
+% If this slide should be visible, include it in a frame.
+% \begin{macrocode}
+ \ifpd@display
+ \ifpd@@nohandoutframes
+ \usebox\pd@textbox
+ \else
+ \fboxrule1pt\fboxsep7pt
+ \fbox{\usebox\pd@textbox}%
+ \fi
+ \par\smallskip
+ \pd@@lf\hfill\ifx\pd@@rf\@empty\else\pd@@rf\ -- \fi
+ \def\pd@tempa{note}%
+ \ifx\pd@resa\pd@tempa
+% \end{macrocode}
+% Determine if this is another note with the same slide.
+% \begin{macrocode}
+ \ifnum\c@slide=\pd@notet
+ \stepcounter{note}%
+ \else
+ \setcounter{note}{1}%
+ \fi
+ \xdef\pd@notet{\the\c@slide}%
+ \thenote
+ \else\theslide\fi
+ \par\bigskip
+ \ifpd@@nohandoutpagebreaks\else\vfill\pd@newpage\fi
+ \fi
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@maketitle}
+% Uses the original \pf{article} |\maketitle| and puts the table of
+% contents below it.
+% \begin{macrocode}
+\def\pd@maketitle[#1]{%
+ \pd@orig@maketitle
+ \vskip50pt
+ \pd@puttoc0%
+ \newpage
+ \stepcounter{slide}%
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pdcontentsline}
+% \changes{v1.1}{2005/09/19}{Solved toc bug in handout mode}
+% \marg{type}\marg{target}\marg{title}\\
+% Make table of contents entries.
+% \begin{macrocode}
+\def\pd@pdcontentsline#1#2#3{%
+ \ifnum#1=\z@
+% \end{macrocode}
+% Slide.
+% \begin{macrocode}
+ \ifnum\@tempcntb>\z@\hskip15pt\fi
+ \hyperlink{slide.#2}{#3}%
+ \leaders\hbox{\hss.\ \hss}\hfill#2\par
+ \else
+% \end{macrocode}
+% Section.
+% \begin{macrocode}
+ \if@tempswa\else\vskip10pt\fi
+ \hyperlink{slide.#2}{\bfseries#3}%
+ {\hfill\bfseries#2}\par
+ \global\advance\@tempcntb\@ne
+ \fi
+ \@tempswafalse
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@section}
+% \oarg{options}\marg{title}\\
+% Like before, but simplified.
+% \begin{macrocode}
+\def\pd@section[#1]#2{%
+ \begingroup
+ \setkeys*[pd]{section}{#1}%
+ \setrmkeys*[pd]{slide}%
+ \def\pd@tempa{%
+ \stepcounter{slide}%
+ \def\pd@t@tle{#2}%
+ \pd@maketocbm\pd@tempb
+ \hyper@anchorstart{slide.\the\c@slide}\hyper@anchorend
+ \pd@orig@section*{#2\normalfont\hfill\theslide}%
+ }%
+ \ifnum\pd@display=\@ne\ifpd@@slide\stepcounter{slide}\fi\else
+ \ifnum\pd@tempb=\z@
+ \ifpd@@slide\pd@tempa\fi
+ \else
+ \stepcounter{pd@section}%
+ \pd@tempa
+ \ifpd@@slide\else\addtocounter{slide}\m@ne\fi
+ \fi
+ \fi
+ \endgroup
+}
+% \end{macrocode}
+% \end{macro}
+% End of handout mode specific definitions.
+% \begin{macrocode}
+\fi
+% \end{macrocode}
+% Here follow some miscellaneous utility macros.
+% \begin{macro}{\@nameedef}
+% \marg{csname}\\
+% Similar as |\@namedef|, but uses |\edef| to define the command with
+% name \meta{csname}.
+% \begin{macrocode}
+\def\@nameedef#1{\expandafter\edef\csname#1\endcsname}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@namelet}
+% \marg{cs1}\marg{cs2}\\
+% Copy the replacement text of macro with name \meta{cs2} to the macro
+% with name \meta{cs1}. We use a private version as |\@namelet| has
+% many conflicting definitions is different packages.
+% \begin{macrocode}
+\def\pd@namelet#1#2{%
+ \expandafter\let\csname#1\expandafter\endcsname\csname#2\endcsname
+}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@pop}
+% \begin{macro}{\pd@p@p}
+% \meta{list}\meta{cmd}
+% Remove the first element of a comma separated \meta{list} and store
+% that in \meta{cmd}.
+% \begin{macrocode}
+\def\pd@pop#1#2{%
+ \@expandtwoargs\in@{,}{#1}%
+ \ifin@\expandafter\pd@p@p#1\@nil#2#1\else\let#2#1\let#1\@empty\fi
+}
+\def\pd@p@p#1,#2\@nil#3#4{\def#3{#1}\def#4{#2}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@maxdim}
+% \marg{dim1}\marg{dim2}\\
+% Compute the maximum of two dimensions.
+% \begin{macrocode}
+\def\pd@maxdim#1#2{\ifdim#1>#2#1\else#2\fi}
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\pd@minipage}
+% \begin{macro}{\endpd@minipage}
+% Adapted version of the |minipage| environment to do normal footnote
+% typesetting.
+% \begin{macrocode}
+\def\pd@minipage{%
+ \leavevmode
+ \@pboxswfalse
+ \setlength\@tempdima\pd@@textwidth
+ \def\@mpargs{{t}{\pd@@textheight}[t]{\pd@@textwidth}}%
+ \setbox\@tempboxa\vbox\bgroup
+ \color@begingroup
+ \hsize\@tempdima
+ \textwidth\hsize
+ \columnwidth\hsize
+ \@parboxrestore
+ \let\@footnotetext\@mpfootnotetext
+ \let\@listdepth\@mplistdepth
+ \@mplistdepth\z@
+ \@minipagerestore
+ \@setminipage
+}
+\def\endpd@minipage{%
+ \par
+ \unskip
+ \ifvoid\@mpfootins\else
+ \vfill
+ \normalcolor
+ \footnoterule
+ \unvbox\@mpfootins
+ \fi
+ \@minipagefalse
+ \color@endgroup
+ \egroup
+ \expandafter\@iiiparbox\@mpargs{\unvbox\@tempboxa}%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \begin{macro}{\pd@orig@verbatim@processline}
+% Backup of |\verbatim@processline| for restoring after verbatim
+% reading of the body of a slide.
+% \begin{macrocode}
+\let\pd@orig@verbatim@processline\verbatim@processline
+% \end{macrocode}
+% \end{macro}
+% \begin{macro}{\psds@ocircle}
+% \begin{macro}{\psds@osquare}
+% Two macros for open circle and open square dots by Herbert Vo\ss.
+% \begin{macrocode}
+\def\psds@ocircle{\pst@gdot{ 0 0 DS 0 360 arc stroke }}
+\def\psds@osquare{%
+ \pst@gdot{
+ DS .886 mul /r ED
+ r r moveto r r neg L r neg r neg L r neg r L
+ closepath stroke }%
+}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% Load style.
+% \begin{macrocode}
+\IfFileExists{powerdot-\pd@@style.sty}{
+ \RequirePackage{powerdot-\pd@@style}
+}{
+ \pd@error{unknown style `\pd@@style'}
+}
+% \end{macrocode}
+% Check integrity of the style file.
+% \begin{macrocode}
+\ifx\titleslide\@undefined
+ \pd@error{`titleslide' environment
+ not defined by style `\pd@@style'}
+\fi
+\ifx\slide\@undefined
+ \pd@error{`slide' environment not
+ defined by style `\pd@@style'}
+\fi
+\ifx\pd@title\@undefined\let\pd@title\@firstofone\fi
+\ifx\pd@slidetitle\@undefined\let\pd@slidetitle\@firstofone\fi
+\ifx\pd@sectiontitle\@undefined\let\pd@sectiontitle\@firstofone\fi
+% \end{macrocode}
+% Define the standard ways to make toc entries and highlighted entries.
+% We do this here so that designers could use |\newcommand| or |\def|
+% in the style file.
+% \begin{macrocode}
+\ifx\pd@tocdisplay\@undefined
+ \def\pd@tocdisplay#1{%
+ \hskip\@tempdima
+ \begin{minipage}[b]\@tempdimb
+ \pd@usedtocfont\color\pd@@toctcolor#1%
+ \end{minipage}%
+ }
+\fi
+\ifx\pd@tochighlight\@undefined
+ \def\pd@tochighlight#1{%
+ \psframebox*[framesep=\pd@@tocfrsep,%
+ fillcolor=\pd@@tochlcolor,boxsep=false]{%
+ \hskip\@tempdima
+ \begin{minipage}[b]\@tempdimb
+ \pd@usedtocfont\color\pd@@tochltcolor#1%
+ \end{minipage}%
+ }%
+ }
+\fi
+\ifx\pd@tocslide\@undefined\let\pd@tocslide\@firstofone\fi
+\ifx\pd@tocsection\@undefined\let\pd@tocsection\@firstofone\fi
+%</powerdot>
+% \end{macrocode}
+%
+% \Finale
+% \endinput
+%
+%<*pddefault>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-default}[2014/01/01 v1.5 default style (HA)]
+\RequirePackage{pifont}
+\definecolor{pdcolor1}{rgb}{.17,.31,.44}
+\definecolor{pdcolor2}{rgb}{.75,.85,.92}
+\definecolor{pdcolor3}{rgb}{.9,.95,.98}
+\pddefinepalettes{blue}{}{red}{
+ \colorlet{pdcolor1}{pdcolor1>wheel,150}
+ \colorlet{pdcolor2}{pdcolor2>wheel,150}
+ \colorlet{pdcolor3}{pdcolor3>wheel,150}
+}{green}{
+ \colorlet{pdcolor1}{pdcolor1>wheel,290}
+ \colorlet{pdcolor2}{pdcolor2>wheel,290}
+ \colorlet{pdcolor3}{pdcolor3>wheel,290}
+}{yellow}{
+ \colorlet{pdcolor1}{pdcolor1>wheel,-150}
+ \colorlet{pdcolor2}{pdcolor2>wheel,-150}
+ \colorlet{pdcolor3}{pdcolor3>wheel,-150}
+}{brown}{
+ \colorlet{pdcolor1}{pdcolor1>wheel,180}
+ \colorlet{pdcolor2}{pdcolor2>wheel,180}
+ \colorlet{pdcolor3}{pdcolor3>wheel,180}
+}{purple}{
+ \colorlet{pdcolor1}{pdcolor1>wheel,45}
+ \colorlet{pdcolor2}{pdcolor2>wheel,45}
+ \colorlet{pdcolor3}{pdcolor3>wheel,45}
+}
+\newbox\pd@imagebox
+\pdifsetup{landscape}{%
+ \sbox\pd@imagebox{\includegraphics[trim=50 20 0 20,clip,%
+ width=.17\slidewidth,height=.1\slideheight]{powerdot-default.ps}%
+ }%
+}{%
+ \sbox\pd@imagebox{\includegraphics[trim=170 0 80 0,clip,%
+ height=.1\slideheight]{powerdot-default.ps}%
+ }%
+}
+\pddefinetemplate{titleslide}{%
+ titlefont=\large\bfseries\centering,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ texthook=t,textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering,
+ textheight=.6\slideheight
+}{%
+ \psframe*[linecolor=pdcolor3,linewidth=0pt]%
+ (0,.8\slideheight)(\slidewidth,0)%
+ \psline[linecolor=pdcolor1]%
+ (0,.8\slideheight)(\slidewidth,.8\slideheight)%
+}
+\pddefinetemplate{basic}{%
+ titlepos={.2\slidewidth,.93\slideheight},
+ titlewidth=.75\slidewidth,textheight=.68\slideheight,
+ titlefont=\large\bfseries\raggedright,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ tocslidesep=.6ex,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor1,
+ tochltcolor=pdcolor3,
+ ifsetup=portrait,
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.52\slidewidth,.09\slideheight},
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.83\slideheight},
+ textwidth=.75\slidewidth
+}{%
+ \psframe*[linecolor=pdcolor3,linewidth=0pt]%
+ (0,\slideheight)(\slidewidth,.9\slideheight)%
+ \psframe*[linecolor=pdcolor2,linewidth=0pt]%
+ (0,0)(\slidewidth,.1\slideheight)%
+ \rput[tl](0,\slideheight){\usebox\pd@imagebox}%
+}
+\pddefinetemplate[basic]{wideslide}{%
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth
+}{}
+\pddefinetemplate[basic]{slide}{%
+ ifsetup=landscape,
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.143\slidewidth,-.05)}
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=solid,fillcolor=pdcolor3,linestyle=none,%
+ linewidth=0pt](0,.9\slideheight)(.17\slidewidth,.1\slideheight)%
+ }{}%
+}
+\pddefinetemplate[slide]{sectionslide}{%
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ ifsetup=portrait,
+ titlewidth=.9\slidewidth,
+ titlepos={.5\slidewidth,.55\slideheight}
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{%
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ titlewidth=.9\slidewidth,
+ titlepos={.5\slidewidth,.55\slideheight}
+}{}
+\setkeys[pd]{section}{%
+ sectemp=sectionslide,widesectemp=sectionwideslide
+}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pddefault>
+%
+%<*pdtycja>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-tycja}[2005/12/10 v1.4 tycja style (HA)]
+\RequirePackage{pifont}
+\RequirePackage{pst-grad}
+\pddefinepalettes{default}{
+ \definecolor{pdcolor1}{rgb}{.09,.27,.47}
+ \definecolor{pdcolor2}{rgb}{1,.81,.42}
+ \definecolor{pdcolor3}{rgb}{1,.97,.84}
+}
+\pddefinetemplate{basic}{
+ lfpos={.03\slidewidth,.04\slideheight},
+ lffont=\scriptsize\color{pdcolor3},
+ cfpos={.5\slidewidth,.04\slideheight},
+ cffont=\scriptsize\color{pdcolor3},
+ rfpos={.97\slidewidth,.04\slideheight},
+ rffont=\scriptsize\color{pdcolor3},
+ clockcolor=pdcolor1,clockhook=tl,clockalign=0,
+ clockpos={0,\slideheight},
+ tocslidesep=.6ex,
+ ifsetup=landscape,
+ textheight=.66\slideheight,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor1,
+ tochltcolor=pdcolor3,
+ tocpos={.845\slidewidth,.81\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.143\slidewidth,-.05)},
+ ifsetup=portrait,
+ toctcolor=pdcolor3,
+ tochlcolor=pdcolor3,
+ tochltcolor=pdcolor1,
+ tocsecsep=.6ex,
+ textheight=.68\slideheight,
+ stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.52\slidewidth,.09\slideheight}
+}{%
+ \psframe*[linecolor=pdcolor3](0,0)(\slidewidth,\slideheight)%
+ \psframe*[linecolor=pdcolor1](0,0)(\slidewidth,.1\slideheight)%
+ \psline[linecolor=pdcolor1]%
+ (0,.85\slideheight)(.1\slidewidth,.85\slideheight)%
+ (.1\slidewidth,.88\slideheight)(\slidewidth,.88\slideheight)%
+}
+\pddefinetemplate[basic]{titleslide}{
+ titlefont=\large\bfseries\centering,texthook=t,
+ textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.75\slidewidth,textfont=\centering,
+ textheight=.55\slideheight,
+ ifsetup=landscape,tocpos,ifsetup=portrait,stocpos,ntocpos
+}{}
+\pddefinetemplate[basic]{slide}{
+ titlehook=Br,titlepos={.81\slidewidth,.93\slideheight},
+ titlewidth=.76\slidewidth,titlefont=\large\bfseries\raggedleft,
+ textpos={.12\slidewidth,.81\slideheight},textwidth=.67\slidewidth,
+ ifsetup=portrait,
+ titlepos={.9\slidewidth,.93\slideheight},titlewidth=.88\slidewidth,
+ textwidth=.76\slidewidth
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
+ (\slidewidth,.1\slideheight)(.83\slidewidth,\slideheight)%
+ }{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
+ (\slidewidth,.1\slideheight)(.92\slidewidth,\slideheight)%
+ }%
+}
+\pddefinetemplate[basic]{wideslide}{
+ titlehook=Br,titlepos={.81\slidewidth,.93\slideheight},
+ titlewidth=.76\slidewidth,titlefont=\large\bfseries\raggedleft,
+ textpos={.12\slidewidth,.81\slideheight},textwidth=.84\slidewidth,
+ ifsetup=landscape,tocpos,ifsetup=portrait,
+ titlepos={.9\slidewidth,.93\slideheight},titlewidth=.88\slidewidth,
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
+ (\slidewidth,.1\slideheight)(.83\slidewidth,\slideheight)%
+ \psframe*[linecolor=pdcolor3]%
+ (.79\slidewidth,.88\slideheight)(\slidewidth,.1\slideheight)%
+ }{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=pdcolor3,gradmidpoint=1,linewidth=0pt]%
+ (\slidewidth,.1\slideheight)(.92\slidewidth,\slideheight)%
+ \psframe*[linecolor=pdcolor3]%
+ (.9\slidewidth,.88\slideheight)(\slidewidth,.1\slideheight)%
+ }%
+ \psline[linecolor=pdcolor1]%
+ (0,.85\slideheight)(.1\slidewidth,.85\slideheight)%
+ (.1\slidewidth,.88\slideheight)(\slidewidth,.88\slideheight)%
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.455\slidewidth,.55\slideheight},
+ titlewidth=.67\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.76\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.76\slidewidth
+}{}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdtycja>
+%
+%<*pdikeda>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-ikeda}[2005/12/10 v1.4 ikeda style (CE,HA)]
+\RequirePackage{calc}
+\RequirePackage{pifont}
+\pddefinepalettes{default}{
+ \definecolor{pdcolor1}{rgb}{.941,.98,1}
+ \definecolor{pdcolor2}{rgb}{.435,.031,.165}
+ \definecolor{pdcolor3}{rgb}{.051,.094,.29}
+ \definecolor{pdcolor4}{rgb}{.051,.329,.29}
+}
+\pddefinetemplate{titleslide}{
+ titlefont=\Large\bfseries\centering,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ textpos={.13\slidewidth,.7\slideheight},
+ textwidth=.75\slidewidth,
+ textfont=\centering,
+ textheight=.56\slideheight
+}{%
+ \psframe*[linecolor=pdcolor2](0,\slideheight)(\slidewidth,0)%
+ \psframe*[linecolor=pdcolor3]%
+ (.05\slidewidth,.95\slideheight)(.95\slidewidth,.05\slideheight)%
+ \psline[linecolor=pdcolor1,linewidth=.01]%
+ (.1\slidewidth,.1\slideheight)(.1\slidewidth,.9\slideheight)%
+ \psline[linecolor=pdcolor1,linewidth=.01]%
+ (.9\slidewidth,.1\slideheight)(.9\slidewidth,.9\slideheight)%
+ \pspolygon[linestyle=none,fillstyle=vlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.1\slidewidth,.1\slideheight)(.25\slidewidth,.07\slideheight)%
+ (.5\slidewidth,.1\slideheight)(.75\slidewidth,.13\slideheight)%
+ (.9\slidewidth,.1\slideheight)%
+ \pspolygon[linestyle=none,fillstyle=hlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.1\slidewidth,.9\slideheight)(.25\slidewidth,.93\slideheight)%
+ (.5\slidewidth,.9\slideheight)(.75\slidewidth,.87\slideheight)%
+ (.9\slidewidth,.9\slideheight)%
+}
+\pddefinetemplate{basic}{
+ titlehook=Bc,titlefont=\large\bfseries\centering,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ tocslidesep=.6ex,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor3,
+ tochltcolor=pdcolor1,
+ ifsetup=portrait,
+ tocsecsep=.6ex,
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,
+ lfpos={.03\slidewidth,.025\slideheight},
+ cfpos={.5\slidewidth,.025\slideheight},
+ rfpos={.97\slidewidth,.025\slideheight},
+ stochook=tr,stocpos={.47\slidewidth,.15\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.53\slidewidth,.15\slideheight},
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.84\slideheight},
+ textwidth=.75\slidewidth,
+ lfpos={.19\slidewidth,.025\slideheight},
+ cfpos={.58\slidewidth,.025\slideheight},
+ rfpos={.97\slidewidth,.025\slideheight}
+}{%
+ \psframe*[linecolor=pdcolor3](0,0)(\slidewidth,\slideheight)%
+}
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ titlewidth=.75\slidewidth,
+ titlepos={.575\slidewidth,.92\slideheight},
+ tocpos={.01\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor3](-.05,-.05)(.143\slidewidth,-.05)},
+ textheight=.72\slideheight,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.88\slideheight},
+ titlewidth=.95\slidewidth,
+ textheight=.64\slideheight
+}{{%
+ \psset{linestyle=none}%
+ \pdifsetup{landscape}{%
+ \psframe*[linecolor=pdcolor2](0,0)(.16\slidewidth,\slideheight)%
+ \setlength\@tempdima{.16\slidewidth-.4cm}%
+ \setlength\@tempdimb{.97\slideheight-.8cm}%
+ \psframe*[linecolor=pdcolor3]%
+ (.16\slidewidth,.97\slideheight)(\@tempdima,\@tempdimb)%
+ \setlength\@tempdima{.16\slidewidth+.4cm}%
+ \psframe*[linecolor=pdcolor2]%
+ (.16\slidewidth,.97\slideheight)(\@tempdima,\@tempdimb)%
+ \pspolygon[fillstyle=solid,fillcolor=pdcolor3]%
+ (0,.935\slideheight)(.02\slidewidth,.945\slideheight)%
+ (.065\slidewidth,.935\slideheight)(.11\slidewidth,.925\slideheight)%
+ (.13\slidewidth,.935\slideheight)%
+ \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.185\slidewidth,.09\slideheight)(.335\slidewidth,.06\slideheight)%
+ (.58\slidewidth,.09\slideheight)%
+ \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.58\slidewidth,.09\slideheight)(.825\slidewidth,.06\slideheight)%
+ (.975\slidewidth,.09\slideheight)%
+ }{%
+ \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.02\slidewidth,.95\slideheight)(.17\slidewidth,.98\slideheight)%
+ (.5\slidewidth,.95\slideheight)%
+ \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.5\slidewidth,.95\slideheight)(.82\slidewidth,.98\slideheight)%
+ (.98\slidewidth,.95\slideheight)%
+ \pd@ikedapbg
+ }%
+}}
+\pddefinetemplate[basic]{wideslide}{
+ lfpos={.03\slidewidth,.025\slideheight},
+ cfpos={.5\slidewidth,.025\slideheight},
+ titlewidth=.95\slidewidth,
+ textwidth=.95\slidewidth,
+ ifsetup=landscape,
+ titlepos={.5\slidewidth,.88\slideheight},
+ textpos={.025\slidewidth,.84\slideheight},
+ textheight=.72\slideheight,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.92\slideheight},
+ textpos={.025\slidewidth,.87\slideheight},
+ textheight=.68\slideheight
+}{{%
+ \psset{linestyle=none}%
+ \pdifsetup{landscape}{%
+ \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.02\slidewidth,.95\slideheight)(.17\slidewidth,.98\slideheight)%
+ (.5\slidewidth,.95\slideheight)%
+ \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.5\slidewidth,.95\slideheight)(.83\slidewidth,.98\slideheight)%
+ (.98\slidewidth,.95\slideheight)%
+ \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.02\slidewidth,.09\slideheight)(.17\slidewidth,.06\slideheight)%
+ (.5\slidewidth,.09\slideheight)%
+ \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor1,hatchwidth=.1\pslinewidth,hatchsep=4pt]%
+ (.5\slidewidth,.09\slideheight)(.83\slidewidth,.06\slideheight)%
+ (.98\slidewidth,.09\slideheight)%
+ }\pd@ikedapbg
+}}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\def\pd@ikedapbg{%
+ \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,.17\slideheight)%
+ \pspolygon[fillstyle=vlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor3,hatchwidth=.1\pslinewidth,hatchsep=1.6pt]%
+ (.05\slidewidth,.1\slideheight)(.08\slidewidth,.08\slideheight)%
+ (.14\slidewidth,.1\slideheight)(.20\slidewidth,.12\slideheight)%
+ (.23\slidewidth,.1\slideheight)%
+ \pspolygon[fillstyle=hlines*,fillcolor=pdcolor2,%
+ hatchcolor=pdcolor3,hatchwidth=.1\pslinewidth,hatchsep=1.6pt]%
+ (.77\slidewidth,.1\slideheight)(.80\slidewidth,.12\slideheight)%
+ (.86\slidewidth,.1\slideheight)(.92\slidewidth,.08\slideheight)%
+ (.95\slidewidth,.1\slideheight)%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\labelitemi{\color{pdcolor2}\footnotesize\ding{110}}
+\def\labelitemii{\color{pdcolor4}\small\ding{115}}
+\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}}
+\def\labelitemiv{\color{pdcolor4}\tiny\ding{115}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdikeda>
+%
+%<*pdfyma>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-fyma}[2005/12/10 v1.3 fyma style (SA,HA)]
+\RequirePackage{pst-grad}
+\definecolor{fymahltcolor}{rgb}{1,0,0}
+\pddefinepalettes{blue}{
+ \definecolor{pdcolor1}{rgb}{.14,.34,.55}
+ \definecolor{pdcolor2}{rgb}{.24,.45,.7}
+ \definecolor{pdcolor3}{rgb}{.88,.95,1}
+}{green}{
+ \definecolor{pdcolor1}{rgb}{.1,.45,.3}
+ \definecolor{pdcolor2}{rgb}{.24,.7,.45}
+ \definecolor{pdcolor3}{rgb}{.88,1,.9}
+}{gray}{
+ \definecolor{pdcolor1}{gray}{0.25}
+ \definecolor{pdcolor2}{gray}{0.55}
+ \definecolor{pdcolor3}{gray}{0.85}
+}{brown}{
+ \definecolor{pdcolor1}{rgb}{.52,.32,.12}
+ \definecolor{pdcolor2}{rgb}{.7,.45,.24}
+ \definecolor{pdcolor3}{rgb}{.97,.92,.92}
+}{orange}{
+ \definecolor{pdcolor1}{rgb}{.8,.23,.24}
+ \definecolor{pdcolor2}{rgb}{.95,.53,.44}
+ \definecolor{pdcolor3}{rgb}{1,.92,.87}
+ \definecolor{fymahltcolor}{rgb}{.23,.25,.5}
+}
+\pddefinetemplate{basic}{
+ titlefont=\large\bfseries\raggedright,
+ clockpos={.96\slidewidth,.97\slideheight},clockcolor=pdcolor1,
+ tocslidesep=.6ex,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor1,
+ tochltcolor=fymahltcolor,
+ ifsetup=portrait,
+ textheight=.67\slideheight,
+ titlepos={.06\slidewidth,.9\slideheight},
+ titlewidth=.75\slidewidth,
+ textpos={.09\slidewidth,.83\slideheight},
+ textwidth=.85\slidewidth,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.48\slidewidth,.12\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntochook=tl,ntocpos={.52\slidewidth,.12\slideheight},
+ lfpos={.06\slidewidth,.045\slideheight},
+ cfpos={.5\slidewidth,.045\slideheight},
+ rfpos={.94\slidewidth,.045\slideheight},
+ ifsetup=landscape,
+ titlepos={.205\slidewidth,.9\slideheight},
+ titlewidth=.75\slidewidth,
+ textheight=.72\slideheight,
+ textpos={.23\slidewidth,.82\slideheight},
+ textwidth=.72\slidewidth,
+ lfpos={.04\slidewidth,.03\slideheight},
+ cfpos={.5\slidewidth,.03\slideheight},
+ rfpos={.96\slidewidth,.03\slideheight},
+ tocpos={.04\slidewidth,.82\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.143\slidewidth,-.05)}
+}{{%
+ \psset{linewidth=.8pt,linecolor=pdcolor2}%
+ \pdifsetup{landscape}{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,%
+ gradend=white,gradmidpoint=0,dimen=outer]%
+ (.03\slidewidth,.97\slideheight)(.97\slidewidth,.055\slideheight)%
+ \psline
+ (.02\slidewidth,.055\slideheight)(.98\slidewidth,.055\slideheight)%
+ \psline
+ (.03\slidewidth,.07\slideheight)(.03\slidewidth,.045\slideheight)%
+ \psline
+ (.97\slidewidth,.07\slideheight)(.97\slidewidth,.045\slideheight)%
+ }{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,%
+ gradend=pdcolor3,gradmidpoint=.85,dimen=outer]%
+ (.03\slidewidth,.97\slideheight)(.97\slidewidth,.03\slideheight)%
+ \psline
+ (.02\slidewidth,.03\slideheight)(.98\slidewidth,.03\slideheight)%
+ \psline
+ (.03\slidewidth,.045\slideheight)(.03\slidewidth,.02\slideheight)%
+ \psline
+ (.97\slidewidth,.045\slideheight)(.97\slidewidth,.02\slideheight)%
+ }%
+ \psline
+ (.02\slidewidth,.97\slideheight)(.98\slidewidth,.97\slideheight)%
+ \psline
+ (.03\slidewidth,.98\slideheight)(.03\slidewidth,.955\slideheight)%
+ \psline
+ (.97\slidewidth,.98\slideheight)(.97\slidewidth,.955\slideheight)%
+}}
+\pddefinetemplate[basic]{titleslide}{
+ texthook=t,textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering,
+ textheight=.6\slideheight,
+ titlefont=\large\bfseries\centering,tocpos,ntocpos,stocpos
+}{}
+\pddefinetemplate[basic]{slide}{}{%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=white,%
+ gradmidpoint=1,linestyle=none,dimen=outer,linewidth=.8pt]%
+ (.03\slidewidth,.97\slideheight)(.195\slidewidth,.055\slideheight)%
+ }{}%
+}
+\pddefinetemplate[basic]{wideslide}{
+ ifsetup=landscape,tocpos,
+ titlepos={.055\slidewidth,.9\slideheight},
+ titlewidth=.75\slidewidth,
+ textpos={.07\slidewidth,.83\slideheight},
+ textwidth=.83\slidewidth
+}{}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.59\slidewidth,.525\slideheight},
+ titlewidth=.5\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.525\slideheight},
+ titlewidth=.68\slidewidth
+}{{%
+ \psset{linewidth=.8pt,linecolor=pdcolor2}%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]%
+ (.34\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
+ \psline
+ (.33\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)%
+ \psline
+ (.33\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)%
+ \psline
+ (.34\slidewidth,.635\slideheight)(.34\slidewidth,.66\slideheight)%
+ \psline
+ (.34\slidewidth,.39\slideheight)(.34\slidewidth,.415\slideheight)%
+ }{%
+ \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]%
+ (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
+ \psline
+ (.15\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)%
+ \psline
+ (.15\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)%
+ \psline
+ (.16\slidewidth,.635\slideheight)(.16\slidewidth,.66\slideheight)%
+ \psline
+ (.16\slidewidth,.39\slideheight)(.16\slidewidth,.415\slideheight)%
+ }%
+ \psline
+ (.84\slidewidth,.635\slideheight)(.84\slidewidth,.66\slideheight)%
+ \psline
+ (.84\slidewidth,.39\slideheight)(.84\slidewidth,.415\slideheight)%
+}}
+\pddefinetemplate[wideslide]{sectionwideslide}{%
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.525\slideheight},
+ titlewidth=.68\slidewidth
+}{{%
+ \psset{linewidth=.8pt,linecolor=pdcolor2}%
+ \psframe[fillstyle=solid,fillcolor=white,linestyle=none,dimen=outer]%
+ (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
+ \psline
+ (.15\slidewidth,.65\slideheight)(.85\slidewidth,.65\slideheight)%
+ \psline
+ (.15\slidewidth,.4\slideheight)(.85\slidewidth,.4\slideheight)%
+ \psline
+ (.16\slidewidth,.635\slideheight)(.16\slidewidth,.66\slideheight)%
+ \psline
+ (.16\slidewidth,.39\slideheight)(.16\slidewidth,.415\slideheight)%
+ \psline
+ (.84\slidewidth,.635\slideheight)(.84\slidewidth,.66\slideheight)%
+ \psline
+ (.84\slidewidth,.39\slideheight)(.84\slidewidth,.415\slideheight)%
+}}
+\def\pd@slidetitle#1{%
+ \settowidth\@tempdima{#1}%
+ \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
+ \psline[linewidth=.8pt,linecolor=pdcolor1]%
+ (0,-.15cm)(\@tempdima,-.15cm)%
+ \parbox[b]\pd@@titlewidth{#1}%
+}
+\def\pd@tochighlight#1{%
+ \begin{minipage}[b]\pd@@tocwidth
+ \pd@usedtocfont\color\pd@@tochltcolor#1%
+ \end{minipage}%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\ensuremath\bullet} #1}}{}
+\def\labelitemi{\small\ensuremath\bullet}
+\def\labelitemii{\small\ensuremath\circ}
+\def\labelitemiii{\scriptsize\ensuremath\bullet}
+\def\labelitemiv{\scriptsize\ensuremath\circ}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{phv}
+\def\sfdefault{phv}
+\def\Hv@scale{.86}
+%</pdfyma>
+%
+%<*pdsimple>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-simple}[2005/12/10 v1.3 simple style (HA)]
+\RequirePackage{pifont}
+\RequirePackage{amssymb}
+\pddefinepalettes{default}{\colorlet{pdcolor1}{black}}
+\pddefinetemplate{titleslide}{
+ titlefont=\large\bfseries\raggedright,
+ clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ texthook=tl,textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,textfont=\tabcolsep0pt,
+ textheight=.66\slideheight
+}{%
+ \psline[linewidth=.8pt](0,.9\slideheight)(\slidewidth,.9\slideheight)%
+ \psline[linewidth=.8pt](0,.1\slideheight)(\slidewidth,.1\slideheight)%
+}
+\pddefinetemplate{basic}{
+ titlepos={.05\slidewidth,.93\slideheight},
+ titlewidth=.9\slidewidth,textheight=.66\slideheight,
+ titlefont=\large\bfseries\raggedright,
+ clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ tocslidesep=.6ex,textheight=.68\slideheight,
+ ifsetup=portrait,
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.52\slidewidth,.09\slideheight},
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.83\slideheight},
+ textwidth=.75\slidewidth
+}{%
+ \psline[linewidth=.8pt](0,.9\slideheight)(\slidewidth,.9\slideheight)%
+ \psline[linewidth=.8pt](0,.1\slideheight)(\slidewidth,.1\slideheight)%
+}
+\pddefinetemplate[basic]{wideslide}{
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth
+}{}
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=gray]%
+ (-.05,-.05)(.143\slidewidth,-.05)}
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=solid,fillcolor=black!10,linestyle=none,%
+ linewidth=.8pt](-.01\slidewidth,.9\slideheight)%
+ (.17\slidewidth,.1\slideheight)%
+ }{}%
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\pd@tochighlight#1{\pd@tocsimple\phantom{#1}}
+\def\pd@tochighlight#1{\pd@tocsimple\@firstofone{#1}}
+\def\pd@tocsimple#1#2{%
+ \@tempdima\pd@@tocwidth
+ \settowidth\@tempdimb{\normalsize\ensuremath\triangleright\hskip1mm}%
+ \advance\@tempdima-\@tempdimb
+ \ifnum\pd@toctype=\@ne\else
+ #1{\normalsize\ensuremath\triangleright\hskip1mm}%
+ \fi
+ \begin{minipage}[b]\@tempdima
+ \pd@usedtocfont#2%
+ \end{minipage}%
+ \ifnum\pd@toctype=\@ne
+ #1{\hskip1mm\normalsize\ensuremath\triangleleft}%
+ \fi
+}
+\def\labelitemi{\footnotesize\ensuremath\square}
+\def\labelitemii{\small--}
+\def\labelitemiii{\tiny\ensuremath\triangleright}
+\def\labelitemiv{\tiny\ding{110}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdsimple>
+%
+%<*pdciment>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-ciment}[2005/12/10 v1.3 ciment style (HA)]
+\RequirePackage{pifont}
+\pddefinepalettes{default}{
+ \colorlet{pdcolor1}{black}
+ \definecolor{pdcolor2}{rgb}{.7,.1,.1}
+ \definecolor{pdcolor3}{rgb}{.2,.2,.2}
+ \definecolor{pdcolor4}{rgb}{.75,.75,.75}
+}
+\pddefinetemplate{basic}{
+ titlepos={.1\slidewidth,.93\slideheight},
+ titlewidth=.85\slidewidth,
+ titlefont=\color{pdcolor2}\large\bfseries\raggedright,
+ clockpos={.99\slidewidth,\slideheight},
+ lfpos={.05\slidewidth,.04\slideheight},
+ lffont=\color{pdcolor3}\scriptsize,
+ cfpos={.5\slidewidth,.04\slideheight},
+ cffont=\color{pdcolor3}\scriptsize,
+ rfpos={.95\slidewidth,.04\slideheight},
+ rffont=\color{pdcolor3}\scriptsize,
+ tocslidesep=.6ex,
+ toctcolor=black,
+ tochlcolor=pdcolor2,
+ tochltcolor=white,
+ ifsetup=portrait,
+ textpos={.05\slidewidth,.85\slideheight},
+ textwidth=.9\slidewidth,textheight=.68\slideheight,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.48\slidewidth,.13\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.52\slidewidth,.13\slideheight},
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.85\slideheight},
+ textwidth=.75\slidewidth,textheight=.7\slideheight
+}{%
+ \psframe[linewidth=0pt,linestyle=none,fillstyle=hlines,%
+ hatchwidth=.4pt,hatchangle=0,hatchcolor=pdcolor4]%
+ (0,0)(\slidewidth,\slideheight)%
+ \pdifsetup{landscape}{%
+ \psline[linecolor=pdcolor2](.05\slidewidth,.09\slideheight)%
+ (.95\slidewidth,.09\slideheight)%
+ }{%
+ \psline[linecolor=pdcolor2](.05\slidewidth,.15\slideheight)%
+ (.95\slidewidth,.15\slideheight)%
+ }%
+}
+\pddefinetemplate[basic]{titleslide}{
+ titlefont=\color{pdcolor2}\large\bfseries\centering,
+ texthook=t,textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering,
+ textheight=.6\slideheight,titlepos,
+ ifsetup=portrait,textheight=.53\slideheight
+}{}
+\pddefinetemplate[basic]{wideslide}{
+ textpos={.05\slidewidth,.85\slideheight},
+ textwidth=.9\slidewidth
+}{}
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
+ (-.05,-.05)(.143\slidewidth,-.05)}
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=solid,fillcolor=pdcolor4,linestyle=none,%
+ linewidth=0pt](0,.85\slideheight)(.17\slidewidth,.15\slideheight)%
+ }{}%
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\color{pdcolor2}\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\color{pdcolor2}\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\def\pd@slidetitle#1{%
+ \psline[linecolor=pdcolor2](0,-.15cm)(.85\slidewidth,-.15cm)%
+ \settowidth\@tempdima{#1}%
+ \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
+ \psline[linecolor=pdcolor2,linewidth=2.5pt]%
+ (0,-.15cm)(\@tempdima,-.15cm)%
+ \parbox[b]\pd@@titlewidth{#1}%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\ding{226}}#1}}{}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdciment>
+%
+%<*pdelcolors>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-elcolors}[2005/12/10 v1.3 elcolors style (HA)]
+\RequirePackage{pifont}
+\pddefinepalettes{default}{
+ \definecolor{pdcolor1}{rgb}{.17,.31,.44}
+ \colorlet{pdcolor2}{yellow!10}
+ \colorlet{pdcolor3}{red!10}
+ \colorlet{pdcolor4}{blue!10}
+ \colorlet{pdcolor5}{rgb,2:pdcolor2,1;pdcolor3,1}
+ \colorlet{pdcolor6}{rgb,2:pdcolor2,1;pdcolor4,1}
+}
+\pddefinetemplate{basic}{
+ titlepos={.95\slidewidth,.93\slideheight},titlehook=Br,
+ titlewidth=.75\slidewidth,textheight=.68\slideheight,
+ titlefont=\large\bfseries\raggedleft,
+ clockcolor=pdcolor1,clockhook=tl,clockalign=0,
+ clockpos={0,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ tocslidesep=.6ex,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor1,
+ tochltcolor=pdcolor4,
+ ifsetup=portrait,
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.42\slidewidth,.13\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.46\slidewidth,.13\slideheight},
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.83\slideheight},
+ textwidth=.68\slidewidth
+}{{%
+ \psset{linewidth=0pt}%
+ \psframe*[linecolor=pdcolor3]%
+ (0,0)(.44\slidewidth,.14\slideheight)%
+ \psframe*[linecolor=pdcolor3]%
+ (\slidewidth,\slideheight)(.56\slidewidth,.86\slideheight)%
+ \psframe*[linecolor=pdcolor2]%
+ (.09\slidewidth,.09\slideheight)(.91\slidewidth,.91\slideheight)%
+ \psframe*[linecolor=pdcolor5]%
+ (.09\slidewidth,.09\slideheight)(.44\slidewidth,.14\slideheight)%
+ \psframe*[linecolor=pdcolor5]%
+ (.91\slidewidth,.91\slideheight)(.56\slidewidth,.86\slideheight)%
+}}
+\pddefinetemplate[basic]{titleslide}{
+ titlefont=\large\bfseries\centering,
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ texthook=t,textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.76\slidewidth,textfont=\centering,
+ textheight=.55\slideheight
+}{}
+\pddefinetemplate[basic]{wideslide}{
+ textpos={.12\slidewidth,.83\slideheight},
+ textwidth=.76\slidewidth
+}{}
+\pdifsetup{portrait}{%
+ \pddefinetemplate[wideslide]{slide}{}{}%
+}{%
+ \pddefinetemplate[basic]{slide}{
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.143\slidewidth,-.05)}
+ }{%
+ \psframe*[linecolor=pdcolor4,linewidth=0pt]%
+ (0,\slideheight)(.17\slidewidth,.2\slideheight)%
+ \psframe*[linecolor=pdcolor6,linewidth=0pt]%
+ (.09\slidewidth,.91\slideheight)(.17\slidewidth,.2\slideheight)%
+ }
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.54\slidewidth,.55\slideheight},
+ titlewidth=.68\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.76\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.76\slidewidth
+}{}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdelcolors>
+%
+%<*pdaggie>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-aggie}[2005/12/10 v1.3 aggie style (JS,HA)]
+\RequirePackage{times}
+\RequirePackage{pifont}
+\RequirePackage{pst-grad}
+\pddefinepalettes{default}{
+ \definecolor{pdcolor1}{rgb}{.17,.31,.44}
+ \definecolor{pdcolor2}{rgb}{.51,.13,.16}
+ \definecolor{pdcolor3}{rgb}{.96,.94,.89}
+ \definecolor{pdcolor4}{rgb}{.89,.85,.69}
+}
+\pddefinetemplate{titleslide}{
+ titlefont=\Large\bfseries\color{pdcolor2}\centering,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ lffont=\tiny,cffont=\tiny,rffont=\tiny,
+ texthook=t,textpos={.5\slidewidth,.65\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering,
+ textheight=.5\slideheight,
+ ifsetup=portrait,
+ textheight=.55\slideheight,
+ lfpos={.03\slidewidth,.03\slideheight},
+ cfpos={.5\slidewidth,.03\slideheight},
+ rfpos={.97\slidewidth,.03\slideheight}
+}{%
+ \psframe*[linecolor=pdcolor3,linewidth=0pt]%
+ (0,.85\slideheight)(\slidewidth,0)%
+ \psline[linecolor=pdcolor2]%
+ (0,.85\slideheight)(\slidewidth,.85\slideheight)%
+ \psellipse[linestyle=solid,linecolor=pdcolor2,fillstyle=solid,%
+ fillcolor=pdcolor4](.5\slidewidth,0)(.7\slidewidth,.1\slidewidth)%
+}
+\pddefinetemplate{basic}{
+ titlepos={.2\slidewidth,.93\slideheight},
+ titlewidth=.75\slidewidth,textheight=.66\slideheight,
+ titlefont=\Large\sl\bfseries\color{pdcolor2}\raggedright,
+ lfpos={.03\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.97\slidewidth,.04\slideheight},
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ lffont=\tiny,cffont=\tiny,rffont=\tiny,
+ tocslidesep=.8ex,
+ textheight=.74\slideheight,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor2,
+ tochltcolor=white,
+ ifsetup=portrait,
+ lfpos={.03\slidewidth,.03\slideheight},
+ cfpos={.5\slidewidth,.03\slideheight},
+ rfpos={.97\slidewidth,.03\slideheight},
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,
+ tocsecsep=.8ex,
+ stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.52\slidewidth,.09\slideheight},
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.83\slideheight},
+ textwidth=.75\slidewidth
+}{%
+}
+\pddefinetemplate[basic]{wideslide}{
+ textpos={.05\slidewidth,.83\slideheight},
+ textwidth=.9\slidewidth,
+ ifsetup=portrait,textheight=.7\slideheight
+}{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,%
+ gradend=white,gradmidpoint=1,gradangle=90,linewidth=0pt]%
+ (0,\slideheight)(\slidewidth,.9\slideheight)%
+ \pd@aggiebg
+}
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
+ (-.05,-.05)(.143\slidewidth,-.05)},
+ ifsetup=portrait,textheight=.7\slideheight
+}{%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=white,%
+ gradmidpoint=0,linestyle=none,linewidth=0pt]%
+ (0,.9\slideheight)(.25\slidewidth,.075\slideheight)%
+ \psellipse*[linecolor=white](.25\slidewidth,.6\slideheight)%
+ (.075\slidewidth,.7\slideheight)%
+ \pd@aggiebg
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\color{pdcolor2}\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\Large\bfseries\color{pdcolor2}\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\def\pd@aggiebg{%
+ \pdifsetup{landscape}{%
+ \psframe*[linecolor=pdcolor4](0,0)(\slidewidth,.075\slideheight)%
+ \psline[linecolor=pdcolor2,linewidth=.5pt]%
+ (0,.075\slideheight)(\slidewidth,.075\slideheight)%
+ }{%
+ \psframe*[linecolor=pdcolor4](0,0)(\slidewidth,.1\slideheight)%
+ \psline[linecolor=pdcolor2,linewidth=.5pt]%
+ (0,.1\slideheight)(\slidewidth,.1\slideheight)%
+ }%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\pd@tocslide#1{\ding{118}\,#1}
+\def\labelitemi{\color{pdcolor2}\footnotesize\ding{108}}
+\def\labelitemii{\color{pdcolor2}\small\ding{70}}
+\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}}
+\def\labelitemiv{\color{pdcolor2}\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\renewcommand\familydefault{\sfdefault}
+%</pdaggie>
+%
+%<*pdhusky>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-husky}[2005/12/10 v1.3 husky style (JS,HA)]
+\RequirePackage{times}
+\RequirePackage{pifont}
+\RequirePackage{pst-grad}
+\pddefinepalettes{default}{
+ \definecolor{pdcolor1}{rgb}{.03,0,.29}
+ \definecolor{pdcolor2}{rgb}{.75,0,0}
+ \definecolor{pdcolor3}{rgb}{.92,.92,.92}
+}
+\pddefinetemplate{titleslide}{
+ titlefont=\Large\rmfamily\bfseries\color{pdcolor2}\centering,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ lffont=\tiny\color{white},
+ cfpos={.5\slidewidth,.04\slideheight},
+ cffont=\tiny\color{white},
+ rfpos={.97\slidewidth,.04\slideheight},
+ rffont=\tiny\color{white},
+ texthook=t,textpos={.5\slidewidth,.75\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering,
+ textheight=.66\slideheight,
+ ifsetup=portrait,
+ textheight=.63\slideheight,
+ lfpos={.03\slidewidth,.03\slideheight},
+ cfpos={.5\slidewidth,.03\slideheight},
+ rfpos={.97\slidewidth,.03\slideheight},
+}{{%
+ \psset{linestyle=none,linecolor=pdcolor3}%
+ \pspolygon*(\slidewidth,.385\slideheight)%
+ (.6\slidewidth,\slideheight)(.85\slidewidth,\slideheight)%
+ (\slidewidth,.57\slideheight)%
+ \pspolygon*(\slidewidth,.25\slideheight)%
+ (.15\slidewidth,\slideheight)(.5\slidewidth,\slideheight)%
+ (\slidewidth,.35\slideheight)%
+ \pspolygon*(\slidewidth,.15\slideheight)%
+ (0,.65\slideheight)(0,\slideheight)(.01\slidewidth,\slideheight)%
+ (\slidewidth,.225\slideheight)%
+ \pspolygon*(\slidewidth,.07\slideheight)%
+ (0,.25\slideheight)(0,.535\slideheight)%
+ (\slidewidth,.13\slideheight)%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=white,gradmidpoint=1,gradangle=90](0,.9\slideheight)%
+ (\slidewidth,.9\slideheight)%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=white,gradmidpoint=1,gradangle=90](0,.893\slideheight)%
+ (\slidewidth,.893\slideheight)%
+ \pd@huskybg
+}}
+\pddefinetemplate{basic}{
+ titlepos={.2\slidewidth,.93\slideheight},
+ titlewidth=.75\slidewidth,textheight=.66\slideheight,
+ titlefont=\Large\rmfamily\slshape\bfseries\color{pdcolor2}\raggedright,
+ clockcolor=pdcolor1,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.03\slidewidth,.04\slideheight},
+ lffont=\tiny\color{white},
+ cfpos={.5\slidewidth,.04\slideheight},
+ cffont=\tiny\color{white},
+ rfpos={.97\slidewidth,.04\slideheight},
+ rffont=\tiny\color{white},
+ tocslidesep=.8ex,
+ toctcolor=black,
+ tochlcolor=pdcolor2,
+ tochltcolor=white,
+ ifsetup=portrait,
+ toctcolor=white,
+ tochlcolor=black,
+ titlepos={.05\slidewidth,.93\slideheight},
+ lfpos={.03\slidewidth,.03\slideheight},
+ cfpos={.5\slidewidth,.03\slideheight},
+ rfpos={.97\slidewidth,.03\slideheight},
+ textpos={.05\slidewidth,.85\slideheight},
+ textheight=.73\slideheight,
+ textwidth=.9\slidewidth,
+ tocsecsep=.8ex,
+ stochook=tr,stocpos={.48\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntochook=tl,ntocpos={.52\slidewidth,.09\slideheight},
+ ntocfont=\tiny\raggedright,
+ ifsetup=landscape,
+ textpos={.2\slidewidth,.83\slideheight},
+ textwidth=.75\slidewidth,
+ textheight=.74\slideheight,
+}{{%
+ \psset{linestyle=none,linecolor=pdcolor3}%
+ \pspolygon*(\slidewidth,.385\slideheight)%
+ (.6\slidewidth,\slideheight)(.85\slidewidth,\slideheight)%
+ (\slidewidth,.57\slideheight)%
+ \pspolygon*(\slidewidth,.25\slideheight)%
+ (.15\slidewidth,\slideheight)(.5\slidewidth,\slideheight)%
+ (\slidewidth,.35\slideheight)%
+ \pspolygon*(\slidewidth,.15\slideheight)%
+ (0,.65\slideheight)(0,\slideheight)(.01\slidewidth,\slideheight)%
+ (\slidewidth,.225\slideheight)%
+ \pspolygon*(\slidewidth,.07\slideheight)%
+ (0,.25\slideheight)(0,.535\slideheight)%
+ (\slidewidth,.13\slideheight)%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=white,gradmidpoint=1,gradangle=90](0,.9\slideheight)%
+ (\slidewidth,.9\slideheight)%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=white,gradmidpoint=1,gradangle=90](0,.893\slideheight)%
+ (\slidewidth,.893\slideheight)%
+ \pd@huskybg
+}}
+\pddefinetemplate[basic]{wideslide}{
+ textwidth=.9\slidewidth,
+ ifsetup=landscape,
+ textpos={.05\slidewidth,.83\slideheight},
+ titlepos={.05\slidewidth,.93\slideheight}
+}{%
+}
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
+ (-.05,-.05)(.143\slidewidth,-.05)},
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,%
+ gradend=black,gradmidpoint=.5](.175\slidewidth,.12\slideheight)%
+ (.18\slidewidth,.95\slideheight)%
+ }{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=white,%
+ gradend=black,gradmidpoint=.25](.025\slidewidth,.12\slideheight)%
+ (.025\slidewidth,\slideheight)%
+ }%
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,
+ titlefont=\LARGE\rmfamily\slshape\bfseries\color{pdcolor2}\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,
+ titlefont=\LARGE\rmfamily\slshape\bfseries\color{pdcolor2}\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\def\pd@huskybg{%
+ \pdifsetup{landscape}{%
+ \psframe*[linecolor=pdcolor2,linewidth=0pt]%
+ (0,0)(\slidewidth,.075\slideheight)%
+ \psline[linecolor=black,linewidth=1pt]%
+ (0,.075\slideheight)(\slidewidth,.075\slideheight)%
+ }{%
+ \psframe*[linecolor=pdcolor2,linewidth=0pt]%
+ (0,0)(\slidewidth,.1\slideheight)%
+ \psline[linecolor=black,linewidth=1pt]%
+ (0,.1\slideheight)(\slidewidth,.1\slideheight)%
+ }%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\pd@tocslide#1{\ding{118}\,#1}
+\def\labelitemi{\color{pdcolor2}\footnotesize\ding{108}}
+\def\labelitemii{\color{pdcolor2}\small\ding{70}}
+\def\labelitemiii{\color{pdcolor2}\tiny\ding{110}}
+\def\labelitemiv{\color{pdcolor2}\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\renewcommand\familydefault{\sfdefault}
+%</pdhusky>
+%
+%<*pdsailor>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-sailor}[2005/12/10 v1.3 sailor style (MH,HA)]
+\RequirePackage{calc}
+\RequirePackage{amssymb}
+\RequirePackage{pst-grad}
+\pddefinepalettes{Sea}{% Sea sailor (default)
+ \definecolor{pdcolor1}{rgb}{.141,.188,.235} % Dark blue #24303C
+ \definecolor{pdcolor2}{rgb}{.298,.392,.490} % Medium blue #4C647D
+ \definecolor{pdcolor3}{rgb}{.522,.592,.647} % Light blue #8597A5
+ \definecolor{pdcolor4}{rgb}{.8627,.8941,.9255} % Lighter blue #DCE4EC
+}{River}{% River variant
+ \definecolor{pdcolor1}{rgb}{.141,.235,.192} % Dark green #243C31
+ \definecolor{pdcolor2}{rgb}{.298,.490,.404} % Medium green #4C7D67
+ \definecolor{pdcolor3}{rgb}{.522,.647,.592} % Light green #85A597
+ \definecolor{pdcolor4}{rgb}{.8627,.9255,.8980} % Lighter green #DCECE5
+}{Wine}{% Wine variant
+ \definecolor{pdcolor1}{rgb}{.235,.141,.161} % Dark red #3C2429
+ \definecolor{pdcolor2}{rgb}{.490,.298,.337} % Medium red #7D4C56
+ \definecolor{pdcolor3}{rgb}{.647,.522,.545} % Light red #A5858B
+ \definecolor{pdcolor4}{rgb}{.9255,.8627,.8745} % Lighter red #ECDCDF
+}{Chocolate}{% Chocolate variant
+ \definecolor{pdcolor1}{rgb}{.235,.212,.141} % Dark brown #3C3624
+ \definecolor{pdcolor2}{rgb}{.490,.443,.298} % Medium brown #7D714C
+ \definecolor{pdcolor3}{rgb}{.647,.616,.522} % Light brown #A59D85
+ \definecolor{pdcolor4}{rgb}{.9255,.9098,.8627} % Lighter brown #ECE8DC
+}{Cocktail}{% Cocktail variant
+ \definecolor{pdcolor1}{rgb}{.180,.141,.235} % Dark violet #2E243C
+ \definecolor{pdcolor2}{rgb}{.380,.298,.490} % Medium violet #614C7D
+ \definecolor{pdcolor3}{rgb}{.576,.522,.647} % Light violet #9385A5
+ \definecolor{pdcolor4}{rgb}{.8902,.8627,.9255} % Lighter violet #E3DCEC
+}
+\pddefinetemplate{basic}{%
+ texthook=tl,
+ titlefont=\Large\bfseries\color{white}\raggedleft,
+ clockhook=tl,clockpos={0,\slideheight},clockalign=0,
+ iacolor=pdcolor3,
+ toctcolor=pdcolor3,
+ tochlcolor=white,
+ tochltcolor=pdcolor1,
+ ifsetup=landscape,
+ lfpos={.02\slidewidth,.02\slideheight},
+ cfpos={.5\slidewidth,.02\slideheight},
+ rfpos={.98\slidewidth,.02\slideheight},
+ tocsecsep=2.5ex,
+ tocslidesep=1.2ex,
+ tocslideindent=1ex,
+ tocpos={.01\slidewidth,.8\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.14\slidewidth,-.05)},
+ ifsetup=portrait,
+ lfpos={.02\slidewidth,.015\slideheight},
+ cfpos={.5\slidewidth,.015\slideheight},
+ rfpos={.98\slidewidth,.015\slideheight},
+ tocsecsep=.1ex,
+ tocslidesep=.1ex,
+ stochook=tr,
+ stocpos={.49\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ stocwidth=.48\slidewidth,
+ ntocpos={.51\slidewidth,.09\slideheight},
+ ntocwidth=.48\slidewidth,
+}{}
+\pddefinetemplate[basic]{topframe}{%
+ titlehook=r,
+ clockcolor=white,
+ ifsetup=landscape,
+ titlewidth=.9\slidewidth,
+ titlepos={.95\slidewidth,.92\slideheight},
+ textheight=.74\slideheight,
+ textpos={.2\slidewidth,.8\slideheight},
+ textwidth=.77\slidewidth,
+ ifsetup=portrait,
+ titlewidth=.94\slidewidth,
+ titlepos={.98\slidewidth,.95\slideheight},
+ textheight=.75\slideheight,
+ textpos={.03\slidewidth,.87\slideheight},
+ textwidth=.94\slidewidth
+}{%
+ \pdifsetup{landscape}{%
+ \pd@sailorroundedtopframe{.15\slideheight}%
+ }{%
+ \pd@sailorroundedtopframe{.1\slideheight}%
+ }%
+}
+\pddefinetemplate[basic]{titleslide}{%
+ texthook=rt,
+ textpos={.95\slidewidth,.77\slideheight},
+ textwidth=.9\slidewidth,
+ textfont=\color{pdcolor1}\raggedleft\tabcolsep0pt,
+ textheight=.72\slideheight,
+ titlefont=\Large\bfseries\color{white},
+ clockcolor=pdcolor1,
+ tocpos,ntocpos,stocpos
+}{{%
+ \psset{linecolor=pdcolor1}%
+ \pdifsetup{landscape}{%
+ \pd@sailorroundedframe{\slidewidth}{.25\slidewidth}{.7\slideheight}%
+ {.17\slideheight}%
+ }{%
+ \pd@sailorroundedframe{\slidewidth}{.25\slidewidth}{.7\slideheight}%
+ {.12\slideheight}%
+ }%
+ \pd@sailorgrad\slidewidth{.5\slideheight}%
+ \psset{linecolor=pdcolor3}%
+ \psarc*(0,.2\slideheight){3pt}{270}{90}%
+ \multips(.08\slidewidth,.2\slideheight)(.08\slidewidth,0){9}{%
+ \qdisk(0,0){3pt}%
+ }%
+}}
+\pddefinetemplate[topframe]{slide}{}{{%
+ \pdifsetup{landscape}{%
+ \pd@sailorgrad{.16\slidewidth}{.5\slideheight}%
+ \psset{linecolor=pdcolor3}%
+ \multips(.16\slidewidth,0.75pt)(0,.01\slideheight){82}{%
+ \qdisk(0,0){.75pt}%
+ }%
+ }\pd@sailortocbg
+}}
+\pddefinetemplate[topframe]{wideslide}{%
+ tocpos,ifsetup=landscape,
+ textpos={.03\slidewidth,.8\slideheight},
+ textwidth=.94\slidewidth
+}{%
+ \pdifsetup{portrait}\pd@sailortocbg{}%
+}
+\pddefinetemplate[slide]{sectionslide}{%
+ titlefont=\Large\bfseries\color{pdcolor1}\centering,
+ titlehook=c,
+ titlewidth=.55\slidewidth,
+ ifsetup=landscape,
+ titlepos={.58\slidewidth,.55\slideheight},
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+}{}
+\pddefinetemplate[basic]{sectionwideslide}{%
+ tocpos,stocpos,ntocpos,
+ titlehook=c,titlewidth=.75\slidewidth,
+ titlepos={.4\slidewidth,.695\slideheight},
+ titlefont=\Large\bfseries\color{white}\centering
+}{{%
+ \pd@sailorgrad\slidewidth{.5\slideheight}%
+ \psset{linecolor=pdcolor1}%
+ \pdifsetup{landscape}{%
+ \pd@sailorroundedframe{0pt}{.75\slidewidth}{.7\slideheight}%
+ {.1\slideheight}%
+ }{%
+ \pd@sailorroundedframe{0pt}{.75\slidewidth}{.7\slideheight}%
+ {.07\slideheight}%
+ }%
+ \psset{linecolor=pdcolor3}%
+ \psarc*(\slidewidth,.2\slideheight){3pt}{90}{270}%
+ \multips(.92\slidewidth,.2\slideheight)(-.08\slidewidth,0){9}{%
+ \qdisk(0,0){3pt}%
+ }%
+}}
+\def\pd@sailorroundedtopframe#1{{%
+ \setlength\@tempdima{\slideheight-#1}%
+ \psset{linewidth=0pt,fillcolor=pdcolor2,fillstyle=solid,linecolor=pdcolor2}%
+ \psframe(#1,\slideheight)(\slidewidth,\@tempdima)%
+ \pswedge*(#1,\slideheight){#1}{180}{275}%
+ \psset{linecolor=pdcolor1,linewidth=.8pt}%
+ \psline(\slidewidth,\@tempdima)(#1,\@tempdima)%
+ \psarc[fillstyle=none](#1,\slideheight){#1}{180}{270}%
+}}
+\def\pd@sailorroundedframe#1#2#3#4{{%
+ \setlength\@tempdima{#3+#4}%
+ \setlength\@tempdimb{#3-#4}%
+ \psset{linewidth=0pt,linecolor=pdcolor2,fillcolor=pdcolor2,fillstyle=solid}%
+ \psframe(#1,\@tempdima)(#2,\@tempdimb)%
+ \ifdim#1>#2\pswedge*(#2,#3){#4}{85}{275}\else\pswedge*(#2,#3){#4}{265}{95}\fi
+ \psset{linecolor=pdcolor1,linewidth=.8pt}%
+ \psline(#1,\@tempdima)(#2,\@tempdima)%
+ \ifdim#1>#2\psarc(#2,#3){#4}{90}{270}\else\psarc(#2,#3){#4}{270}{90}\fi
+ \psline(#1,\@tempdimb)(#2,\@tempdimb)%
+}}
+\def\pd@sailorgrad#1#2{%
+ \psframe[linestyle=none,linewidth=0pt,fillstyle=gradient,%
+ gradbegin=pdcolor4,gradend=white,gradmidpoint=0](0,0)(#1,#2)%
+}
+\def\pd@sailortocbg{{%
+ \psset{linecolor=pdcolor3}%
+ \pd@sailorgrad\slidewidth{.1\slideheight}%
+ \multips(1.5pt,.1\slideheight)(.01\slidewidth,0){100}{%
+ \qdisk(0,0){.75pt}%
+ }%
+}}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\pd@title#1{%
+ \parbox[c][.15\textheight]{.75\slidewidth}{\raggedleft#1}%
+ \vskip-3em\vskip.2\slideheight
+}
+\def\pd@tochighlight#1{%
+ \hskip\@tempdima
+ \begin{minipage}[b]\@tempdimb
+ \pd@usedtocfont\color\pd@@tochltcolor#1%
+ \end{minipage}%
+}
+\def\labelitemi{\footnotesize\color{pdcolor2}\ensuremath\blacksquare}
+\def\labelitemii{\footnotesize\color{pdcolor1}\ensuremath\square}
+\def\labelitemiii{\tiny\color{pdcolor2}\ensuremath\blacksquare}
+\def\labelitemiv{\tiny\color{pdcolor1}\ensuremath\square}
+\pdsetup{list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}}
+\def\rmdefault{phv}
+\def\sfdefault{phv}
+\def\Hv@scale{.85}
+%</pdsailor>
+%
+%<*pdupen>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-upen}[2005/12/10 v1.3 upen style (PRU,HA)]
+\RequirePackage{calc}
+\RequirePackage{pifont}
+\RequirePackage{pst-grad}
+\pddefinepalettes{default}{
+ \colorlet{pdcolor1}{white}
+ \definecolor{pdcolor2}{rgb}{0,.01,.37}
+ \definecolor{pdcolor3}{rgb}{.01,.06,.65}
+ \definecolor{pdcolor4}{rgb}{.98,.78,.18}
+}
+\pddefinetemplate{basic}{
+ titlefont=\large\bfseries\color{pdcolor4},
+ clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight},
+ tocslidesep=.6ex,
+ toctcolor=white,
+ tochlcolor=pdcolor2,
+ tochltcolor=pdcolor4,
+ ifsetup=portrait,
+ textheight=.64\slideheight,
+ titlepos={.12\slidewidth,.87\slideheight},
+ titlewidth=.83\slidewidth,
+ textpos={.12\slidewidth,.78\slideheight},
+ textwidth=.83\slidewidth,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.47\slidewidth,.12\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntochook=tl,ntocpos={.52\slidewidth,.12\slideheight},
+ lfpos={.05\slidewidth,.045\slideheight},
+ cfpos={.5\slidewidth,.045\slideheight},
+ rfpos={.95\slidewidth,.045\slideheight},
+ ifsetup=landscape,
+ titlepos={.175\slidewidth,.87\slideheight},
+ titlewidth=.775\slidewidth,
+ textheight=.7\slideheight,
+ textpos={.175\slidewidth,.77\slideheight},
+ textwidth=.775\slidewidth,
+ lfpos={.05\slidewidth,.03\slideheight},
+ cfpos={.5\slidewidth,.03\slideheight},
+ rfpos={.95\slidewidth,.03\slideheight},
+ tocpos={.02\slidewidth,.77\slideheight},
+ tocwidth=.13\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor4]%
+ (-.05,-.05)(.12\slidewidth,-.05)}
+}{%
+ \pdifsetup{landscape}{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=pdcolor3,gradangle=-90,gradmidpoint=0,linewidth=0pt]%
+ (0,.8\slideheight)(\slidewidth,0)%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor2,%
+ gradend=pdcolor2,gradmidpoint=0,dimen=outer,linewidth=0pt]%
+ (0,.8\slideheight)(\slidewidth,\slideheight)%
+ }{%
+ \psframe[linestyle=none,fillstyle=gradient,gradbegin=pdcolor3,%
+ gradend=pdcolor2,gradmidpoint=0,dimen=outer]%
+ (-.01\slidewidth,1.1\slideheight)(1.05\slidewidth,-.01\slideheight)%
+ }%
+}
+\pddefinetemplate[basic]{titleslide}{
+ texthook=t,textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering\color{pdcolor4},
+ textheight=.63\slideheight,
+ titlefont=\Large\bfseries\centering,tocpos,ntocpos,stocpos
+}{%
+ \setlength\@tempdima{.8\slideheight+.5pt}%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=pdcolor4,%
+ gradangle=90,gradmidpoint=.5,linestyle=none,dimen=outer,linewidth=0pt]%
+ (0,.8\slideheight)(\slidewidth,\@tempdima)%
+ \setlength\@tempdima{.2\slideheight+.5pt}%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor3,gradend=pdcolor4,%
+ gradangle=90,gradmidpoint=.5,linestyle=none,dimen=outer,linewidth=0pt]%
+ (0,.2\slideheight)(\slidewidth,\@tempdima)%
+}
+\pddefinetemplate[basic]{slide}{}{%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=pdcolor3,%
+ gradmidpoint=1,linestyle=none,dimen=outer,linewidth=0pt]%
+ (0,\slideheight)(.15\slidewidth,0)%
+ \pd@upenbg{.15\slidewidth}{.05\slidewidth}%
+ }{\pd@upenbg{.1\slidewidth}{0pt}}%
+}
+\pddefinetemplate[basic]{wideslide}{
+ titlepos={.05\slidewidth,.87\slideheight},
+ titlewidth=.9\slidewidth,
+ textpos={.05\slidewidth,.77\slideheight},
+ textwidth=.9\slidewidth,
+ ifsetup=landscape,tocpos
+}{%
+ \setlength\@tempdima{.8\slideheight-.5pt}%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,%
+ gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]%
+ (.05\slidewidth,.8\slideheight)(.5\slidewidth,\@tempdima)%
+ }{%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,%
+ gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]%
+ (0,.8\slideheight)(.45\slidewidth,\@tempdima)%
+ }%
+}
+\pddefinetemplate[slide]{sectionslide}{
+ titlewidth=.45\slidewidth,titlehook=c,
+ titlefont=\Large\bfseries\centering\color{pdcolor4},
+ ifsetup=landscape,
+ titlepos={.59\slidewidth,.53\slideheight},
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.53\slideheight}
+}{{%
+ \psset{linewidth=.8pt,linecolor=pdcolor3}%
+ \pdifsetup{landscape}{%
+ \psframe[fillstyle=solid,fillcolor=pdcolor2,linestyle=none]%
+ (.34\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
+ }{%
+ \psframe[fillstyle=solid,fillcolor=pdcolor2,linestyle=none]%
+ (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
+ }%
+}}
+\pddefinetemplate[wideslide]{sectionwideslide}{%
+ titlewidth=.62\slidewidth,titlehook=c,
+ titlefont=\Large\bfseries\centering\color{pdcolor4},
+ titlepos={.5\slidewidth,.53\slideheight}
+}{%
+ \psframe*[linecolor=pdcolor2]%
+ (.16\slidewidth,.65\slideheight)(.84\slidewidth,.4\slideheight)%
+}
+\def\pd@upenbg#1#2{%
+ \setlength\@tempdima{#1+.5pt}%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,%
+ gradmidpoint=.4,linestyle=none,dimen=outer,linewidth=0pt]%
+ (#1,.5\slideheight)(\@tempdima,\slideheight)%
+ \setlength\@tempdima{.45\slidewidth+#2}%
+ \setlength\@tempdimb{.8\slideheight-.5pt}%
+ \psframe[fillstyle=gradient,gradbegin=pdcolor2,gradend=white,linewidth=0pt,%
+ gradangle=90,gradmidpoint=.2,linestyle=none,dimen=outer]%
+ (#2,.8\slideheight)(\@tempdima,\@tempdimb)%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\pd@tochighlight#1{%
+ \begin{minipage}[b]\pd@@tocwidth
+ \pd@usedtocfont\color\pd@@tochltcolor#1%
+ \end{minipage}%
+}
+\pdifsetup{landscape}{\def\pd@tocentry#1{{\tiny\ensuremath\bullet}\ #1}}{}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\color{pdcolor4}\small ---}
+\def\labelitemiii{\color{red}\scriptsize\ding{115}}
+\def\labelitemiv{\color{yellow}\tiny\ensuremath\circ}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{phv}
+\def\sfdefault{phv}
+\def\Hv@scale{.85}
+%</pdupen>
+%
+%<*pdbframe>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-bframe}[2005/12/10 v1.2 bframe style (PRU,HA)]
+\RequirePackage{pifont}
+\RequirePackage{pst-blur}
+\pddefinepalettes{default}{
+ \colorlet{pdcolor1}{white}
+ \definecolor{pdcolor2}{rgb}{.7,.1,.1}
+ \definecolor{pdcolor3}{rgb}{.01,.05,.56}
+}
+\pddefinetemplate{basic}{
+ titlehook=B,titlefont=\large\bfseries\centering,
+ clockcolor=pdcolor3,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.05\slidewidth,.04\slideheight},
+ cfpos={.5\slidewidth,.04\slideheight},
+ rfpos={.95\slidewidth,.04\slideheight},
+ tocslidesep=.6ex,
+ toctcolor=white,
+ tochlcolor=pdcolor2,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.91\slideheight},
+ titlewidth=.9\slidewidth,
+ textpos={.05\slidewidth,.85\slideheight},
+ textwidth=.9\slidewidth,textheight=.69\slideheight,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.48\slidewidth,.13\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.52\slidewidth,.13\slideheight},
+ ifsetup=landscape,
+ titlepos={.58\slidewidth,.91\slideheight},
+ titlewidth=.75\slidewidth,
+ textpos={.2\slidewidth,.85\slideheight},
+ textwidth=.75\slidewidth,textheight=.69\slideheight
+}{}
+\pddefinetemplate[basic]{titleslide}{
+ texthook=t,textpos={.5\slidewidth,.75\slideheight},
+ textwidth=.9\slidewidth,textfont=\centering,
+ titlepos,textheight=.59\slideheight
+}\pd@bframebg
+\pddefinetemplate[basic]{wideslide}{
+ titlepos={.5\slidewidth,.91\slideheight},
+ titlewidth=.9\slidewidth,
+ textpos={.05\slidewidth,.85\slideheight},
+ textwidth=.9\slidewidth
+}\pd@bframebg
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ tocpos={.015\slidewidth,.83\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor2]%
+ (-.05,-.05)(.143\slidewidth,-.05)}
+}{{%
+ \psset{linecolor=pdcolor3,shadow=true,blur=true,shadowcolor=gray!60}%
+ \pdifsetup{landscape}{%
+ \psframe*[framearc=.3](0,.87\slideheight)(.17\slidewidth,.15\slideheight)%
+ \psframe*[framearc=.1](.18\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)%
+ \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,.08\slideheight)%
+ }{%
+ \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,.14\slideheight)%
+ \psframe*[framearc=.1](.02\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)%
+ }%
+}}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.575\slidewidth,.55\slideheight},
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\color{white}\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\def\pd@bframebg{{%
+ \pdifsetup{landscape}{%
+ \def\pd@tempa{.08\slideheight}%
+ }{%
+ \def\pd@tempa{.14\slideheight}%
+ }%
+ \psset{linecolor=pdcolor3,shadow=true,blur=true,shadowcolor=gray!60}%
+ \psframe*[framearc=.3](.02\slidewidth,.01\slideheight)(.98\slidewidth,\pd@tempa)%
+ \psframe*[framearc=.1](.02\slidewidth,.87\slideheight)(.98\slidewidth,.15\slideheight)%
+}}
+\def\pd@slidetitle#1{%
+ \settowidth\@tempdima{#1}%
+ \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
+ \rput[B](0,0){\psframebox*[framearc=.3,fillcolor=pdcolor3,%
+ shadow=true,blur=true,shadowcolor=gray!60]{%
+ \parbox[b]\@tempdima{#1}%
+ }%
+ }%
+}
+\def\pd@title#1{%
+ {\let\thanks\@gobble\let\footnote\@gobble\settowidth\@tempdima{#1}}%
+ \ifdim\@tempdima>\pd@@titlewidth\@tempdima\pd@@titlewidth\fi
+ \advance\@tempdima-6pt
+ \psframebox*[framearc=.3,fillcolor=pdcolor2]{\parbox[b]\@tempdima{#1}}%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\pdifsetup{landscape}{\def\pd@tocslide#1{{\tiny\color{yellow}\ding{117}} #1}}{}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{put}
+%</pdbframe>
+%
+%<*pdhoratio>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-horatio}[2005/12/10 v1.1 horatio style (ML,HA)]
+\RequirePackage{pifont}
+\pddefinepalettes{default}{
+ \definecolor{pdcolor1}{HTML}{004477}
+ \definecolor{pdcolor2}{HTML}{5588ae}
+}
+\pddefinetemplate{basic}{
+ titlehook=Bl,
+ titlepos={.2\slidewidth,.91\slideheight},
+ titlewidth=.77\slidewidth,
+ titlefont=\color{white}\large\bfseries\raggedright,
+ clockcolor=white,clockpos={.99\slidewidth,\slideheight},
+ lfpos={.2\slidewidth,.04\slideheight},
+ lffont=\tiny\color{white},
+ cfpos={.585\slidewidth,.04\slideheight},
+ cffont=\tiny\color{white},
+ rfpos={.97\slidewidth,.04\slideheight},
+ rffont=\tiny\color{white},
+ tocslidesep=.6ex,
+ textheight=.68\slideheight,
+ ifsetup=landscape,
+ toctcolor=pdcolor1,
+ tochlcolor=pdcolor1,
+ tochltcolor=white,
+ tocpos={.01\slidewidth,.81\slideheight},
+ tocwidth=.14\slidewidth,
+ tocsecm={\psline[linewidth=.5pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.143\slidewidth,-.05)},
+ ifsetup=portrait,
+ toctcolor=white,
+ tochlcolor=white,
+ tochltcolor=pdcolor1,
+ tocsecsep=.6ex,
+ stochook=tr,stocpos={.55\slidewidth,.09\slideheight},
+ stocfont=\tiny\raggedleft,
+ ntocpos={.57\slidewidth,.09\slideheight}
+}{{%
+ \psset{linecolor=pdcolor1}%
+ \psframe*(0,0)(\slidewidth,.1\slideheight)%
+ \psframe*(0,.85\slideheight)(\slidewidth,\slideheight)%
+ \psset{linecolor=pdcolor2,linewidth=1pt}%
+ \psline(.17\slidewidth,0)(.17\slidewidth,.1\slideheight)%
+ \psline(.17\slidewidth,.85\slideheight)(.17\slidewidth,\slideheight)%
+}}
+\pddefinetemplate[basic]{titleslide}{
+ titlefont=\large\bfseries\centering,
+ texthook=t,
+ textpos={.5\slidewidth,.7\slideheight},
+ textwidth=.75\slidewidth,
+ textfont=\centering,
+ textheight=.57\slideheight,
+ ifsetup=landscape,tocpos,ifsetup=portrait,stocpos,ntocpos
+}{}
+\pddefinetemplate[basic]{slide}{
+ textpos={.2\slidewidth,.81\slideheight},
+ textwidth=.77\slidewidth,
+ ifsetup=portrait,
+ textpos={.05\slidewidth,.81\slideheight},
+ textwidth=.9\slidewidth
+}{%
+ \pdifsetup{landscape}{%
+ \psline[linewidth=1pt,linecolor=pdcolor2]%
+ (.17\slidewidth,0)(.17\slidewidth,\slideheight)%
+ }{}%
+}
+\pddefinetemplate[basic]{wideslide}{
+ textpos={.03\slidewidth,.81\slideheight},
+ textwidth=.94\slidewidth,
+ ifsetup=landscape,tocpos,ifsetup=portrait,
+ textpos={.05\slidewidth,.81\slideheight},
+ textwidth=.9\slidewidth
+}{}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ ifsetup=landscape,
+ titlepos={.6\slidewidth,.55\slideheight},
+ titlewidth=.7\slidewidth,
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth
+}{}
+\pddefinetemplate[wideslide]{sectionwideslide}{
+ titlehook=c,titlefont=\Large\bfseries\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.75\slidewidth
+}{}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\labelitemi{\small\ding{'64}}
+\def\labelitemii{\small\ding{'70}}
+\def\labelitemiii{\small\ding{'63}}
+\def\labelitemiv{\small\ding{'67}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdhoratio>
+%
+%<*pdpaintings>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-paintings}[2005/12/10 v1.1 paintings (TDK,HA)]
+\RequirePackage{times}
+\RequirePackage{pifont}
+\pddefinepalettes{Syndics}{% Rembrandt van Rijn: "The Syndics" - 1662
+ \definecolor{pdcolor1}{rgb}{.06,.06,.06} % Black hat
+ \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Collar of rising man
+ \definecolor{pdcolor3}{rgb}{.22,.09,.09} % Tablecloth lower right
+ \definecolor{pdcolor4}{rgb}{.97,.97,.91} % Book page
+ \definecolor{pdcolor5}{rgb}{.58,.19,.13} % Tablecloth lower left
+ \definecolor{pdcolor6}{rgb}{.42,.2,.22} % Back wall
+ \definecolor{pdcolor7}{rgb}{.84,.71,.55} % Forehead of man in background
+}{Skater}{% Gilbert Stuart: "The Skater (Portrait of William Grant)" - 1782
+ \definecolor{pdcolor1}{rgb}{.09,.06,.09} % Hat
+ \definecolor{pdcolor2}{rgb}{1,.97,.94} % White collar
+ \definecolor{pdcolor3}{rgb}{.26,.22,.19} % Ice
+ \definecolor{pdcolor4}{rgb}{.94,.91,.87} % Sky
+ \definecolor{pdcolor5}{rgb}{.78,.52,.45} % Right cheek
+ \definecolor{pdcolor6}{rgb}{.45,.39,.26} % Ground under small figures
+ \definecolor{pdcolor7}{rgb}{.71,.71,.68} % Frozen lake at left
+}{GoldenGate}{% Giotto: "Meeting of Joachim and Anne at the Golden Gate" - 1305-10
+ \definecolor{pdcolor1}{rgb}{.13,.09,.13} % Dress of woman in black
+ \definecolor{pdcolor2}{rgb}{.94,.94,.91} % Bridge
+ \definecolor{pdcolor3}{rgb}{.06,.09,.22} % Blue sky
+ \definecolor{pdcolor4}{rgb}{.94,.91,.87} % Dress of woman with shawl
+ \definecolor{pdcolor5}{rgb}{.52,.26,.26} % Joachim's robe
+ \definecolor{pdcolor6}{rgb}{.65,.35,.16} % Anne's robe
+ \definecolor{pdcolor7}{rgb}{.91,.84,.42} % Joachim's halo
+}{Lamentation}{% Giotto: "Lamentation of Christ" - 1305-10
+ \definecolor{pdcolor1}{rgb}{.16,.09,.06} % Dark hair of man
+ \definecolor{pdcolor2}{rgb}{.91,.91,.94} % White robe at lower left
+ \definecolor{pdcolor3}{rgb}{.19,.22,.29} % Cloak of Christ
+ \definecolor{pdcolor4}{rgb}{.94,.94,.91} % Skin of Christ
+ \definecolor{pdcolor5}{rgb}{.55,.26,.22} % Mary Magdalene dress
+ \definecolor{pdcolor6}{rgb}{.19,.26,.52} % Sky
+ \definecolor{pdcolor7}{rgb}{.84,.74,.71} % Mary Magdalene sleeve
+}{HolyWood}{% Piero della Francesca: "Discovery of the Holy Wood" - ca. 1455
+ \definecolor{pdcolor1}{rgb}{.19,.21,.19} % Horse's ear
+ \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Attendant's neck
+ \definecolor{pdcolor3}{rgb}{.29,.13,.13} % Attendant's russet dress
+ \definecolor{pdcolor4}{rgb}{.94,.94,.91} % Horse's rear
+ \definecolor{pdcolor5}{rgb}{.22,.35,.55} % Queen of Sheba's dress
+ \definecolor{pdcolor6}{rgb}{.74,.48,.42} % Dusky rose dress
+ \definecolor{pdcolor7}{rgb}{.84,.71,.61} % Queen of Sheba's hand
+}{Europa}{% Titian: "The Rape of Europa" - 1559-62
+ \definecolor{pdcolor1}{rgb}{.09,.06,.03} % Bull's eye
+ \definecolor{pdcolor2}{rgb}{1,.97,.84} % Europa's bodice
+ \definecolor{pdcolor3}{rgb}{.16,.13,.09} % Sea
+ \definecolor{pdcolor4}{rgb}{1,.97,.84} % Europa's breast
+ \definecolor{pdcolor5}{rgb}{.58,.26,.13} % Flying cape
+ \definecolor{pdcolor6}{rgb}{.32,.29,.39} % Deep blue sky
+ \definecolor{pdcolor7}{rgb}{.84,.78,.52} % Bull's right front leg
+}{Moitessier}{% Jean Auguste Dominque Ingres: "Madame Moitessier, Standing" - 1851
+ \definecolor{pdcolor1}{rgb}{.06,.03,.03} % Black dress
+ \definecolor{pdcolor2}{rgb}{.87,.84,.78} % Accessories at lower left
+ \definecolor{pdcolor3}{rgb}{.22,.03,.06} % Deep red wall
+ \definecolor{pdcolor4}{rgb}{1,.97,.91} % Accessories at lower left
+ \definecolor{pdcolor5}{rgb}{.78,.35,.32} % Flower in hair
+ \definecolor{pdcolor6}{rgb}{.58,.55,.71} % Blue jewel on left wrist
+ \definecolor{pdcolor7}{rgb}{1,.78,.65} % Left forearm
+}{MayThird}{% Francisco Goya: "Third of May, 1808" - 1814
+ \definecolor{pdcolor1}{rgb}{0,0,0} % Black sky
+ \definecolor{pdcolor2}{rgb}{.97,.97,.94} % Shirt of victim
+ \definecolor{pdcolor3}{rgb}{.29,.19,.13} % Face of victim
+ \definecolor{pdcolor4}{rgb}{.97,.97,.97} % Left side of lantern
+ \definecolor{pdcolor5}{rgb}{.55,.26,.22} % Blood of man in foreground
+ \definecolor{pdcolor6}{rgb}{.68,.48,.16} % Trousers of victim
+ \definecolor{pdcolor7}{rgb}{.68,.65,.58} % Coattails of foreground soldier
+}{PearlEarring}{% Johannes Vermeer: "Girl with a Pearl Earring" - 1665
+ \definecolor{pdcolor1}{rgb}{.06,.06,.06} % Pupil of eye
+ \definecolor{pdcolor2}{rgb}{.97,.97,.91} % Sclera of left eye
+ \definecolor{pdcolor3}{rgb}{.26,.29,.42} % Blue head scarf
+ \definecolor{pdcolor4}{rgb}{1,1,.9} % Reflection off earring
+ \definecolor{pdcolor5}{rgb}{.71,.61,.39} % Beige head scarf
+ \definecolor{pdcolor6}{rgb}{.65,.35,.29} % Lower lip
+ \definecolor{pdcolor7}{rgb}{.68,.71,.78} % Light blue over forehead
+}{Charon}{% Michelangelo: "Charon" (Detail from "The Last Judgment" - 1534-41
+ \definecolor{pdcolor1}{rgb}{.91,.91,.87} % Sclera of right eye
+ \definecolor{pdcolor2}{rgb}{.13,.13,.13} % Pupil of right eye
+ \definecolor{pdcolor3}{rgb}{.39,.39,.48} % Left ear
+ \definecolor{pdcolor4}{rgb}{.91,.91,.94} % Right forehead
+ \definecolor{pdcolor5}{rgb}{.65,.71,.84} % Sky at upper right
+ \definecolor{pdcolor6}{rgb}{.81,.78,.65} % Right eyebrow
+ \definecolor{pdcolor7}{rgb}{.42,.35,.39} % Moustache
+}
+\pddefinetemplate{titleslide}{
+ titlefont=\LARGE\sl\color{pdcolor4}\centering,
+ clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight},
+ texthook=t,
+ textpos={.5\slidewidth,.65\slideheight},
+ textwidth=.8\slidewidth,
+ textfont=\large\color{pdcolor4}\centering,
+ textheight=.5\slideheight
+}{%
+ \psframe*[linecolor=pdcolor3](0,\slideheight)(\slidewidth,0)%
+}
+\pddefinetemplate{slide}{
+ titlepos={.05\slidewidth,.93\slideheight},
+ titlewidth=.9\slidewidth,
+ titlefont=\bfseries\color{pdcolor4}\raggedright,
+ clockcolor=pdcolor4,clockpos={.99\slidewidth,\slideheight},
+ textpos={.05\slidewidth,.85\slideheight},
+ textwidth=.9\slidewidth,
+ lfpos={.015\slidewidth,.015\slideheight},
+ cfpos={.5\slidewidth,.015\slideheight},
+ rfpos={.985\slidewidth,.015\slideheight},
+ rftemp=\pd@@rf,
+ textheight=.8\slideheight
+}{%
+ \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,.89\slideheight)%
+ \psframe*[linecolor=pdcolor3](0,\slideheight)(\slidewidth,.89\slideheight)%
+}
+\pddefinetemplate[slide]{wideslide}{}{}
+\pddefinetemplate[titleslide]{sectionslide}{
+ titlehook=c,titlefont=\LARGE\color{pdcolor4}\centering,
+ titlepos={.5\slidewidth,.55\slideheight},
+ titlewidth=.8\slidewidth
+}{}
+\setkeys[pd]{section}{
+ sectemp=sectionslide,widesectemp=sectionslide
+}
+\def\labelitemi{\color{pdcolor3}\ensuremath\bullet}
+\def\labelitemii{\color{pdcolor5}\ensuremath\bullet}
+\def\labelitemiii{\color{pdcolor6}\ensuremath\bullet}
+\def\labelitemiv{\color{pdcolor1}\ensuremath\bullet}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt},
+ dmaxheight=.85\slideheight
+}
+\def\familydefault{\sfdefault}
+%</pdpaintings>
+%
+%<*pdklope>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-klope}[2005/12/10 v1.1 klope style (CE,HA)]
+\RequirePackage{pifont}
+\RequirePackage{pst-slpe}
+\pddefinepalettes{Spring}{
+ \definecolor{pdcolor1}{rgb}{.475,.376,.271} % cedar
+ \definecolor{pdcolor2}{rgb}{.682,.749,.376} % moss
+ \definecolor{pdcolor3}{rgb}{1,.949,.749} % sand
+ \definecolor{pdcolor4}{rgb}{.749,.675,.376} % driftwood
+ \colorlet{myiacolor}{pdcolor4}
+ \colorlet{sectitlecolor}{pdcolor2}
+ \colorlet{stitlecolor}{pdcolor3}
+ \colorlet{lgsquare}{pdcolor1}
+ \colorlet{smsquare}{pdcolor4}
+ \colorlet{slidebg}{pdcolor3}
+ \colorlet{slidehbg}{pdcolor2}
+ \colorlet{mytoctcolor}{pdcolor1}
+ \colorlet{mytochltcolor}{pdcolor3}
+ \def\pd@klopebg{%
+ \psframe[linestyle=none,fillstyle=slope,slopebegin=pdcolor3,%
+ slopeend=pdcolor2,slopeangle=270](0,0)(\slidewidth,\slideheight)%
+ }
+}{PastelFlower}{
+ \definecolor{pdcolor1}{rgb}{.349,.5,.5} % sea green
+ \definecolor{pdcolor2}{rgb}{.8,.706,.561} % brown
+ \definecolor{pdcolor3}{rgb}{.812,.902,.902} % sky blue
+ \definecolor{pdcolor4}{rgb}{.8,.561,.561} % rose
+ \colorlet{myiacolor}{pdcolor4}
+ \colorlet{sectitlecolor}{pdcolor4}
+ \colorlet{stitlecolor}{pdcolor3}
+ \colorlet{lgsquare}{pdcolor1}
+ \colorlet{smsquare}{pdcolor4}
+ \colorlet{slidebg}{pdcolor3}
+ \colorlet{slidehbg}{pdcolor2}
+ \colorlet{mytoctcolor}{pdcolor1}
+ \colorlet{mytochltcolor}{pdcolor3}
+ \def\pd@klopebg{%
+ \psframe[linestyle=none,fillstyle=slope,slopebegin=pdcolor3,%
+ slopeend=pdcolor2,slopeangle=270](0,0)(\slidewidth,\slideheight)%
+ }
+}{BlueWater}{
+ \definecolor{pdcolor1}{rgb}{.902,.957,1} % lightblue
+ \definecolor{pdcolor2}{rgb}{.376,.588,.749} % medblue
+ \definecolor{pdcolor3}{rgb}{.749,.635,.376} % lighttan
+ \definecolor{pdcolor4}{rgb}{1,.8,.749} % pink
+ \colorlet{myiacolor}{pdcolor3}
+ \colorlet{sectitlecolor}{pdcolor1}
+ \colorlet{stitlecolor}{pdcolor2}
+ \colorlet{lgsquare}{pdcolor3}
+ \colorlet{smsquare}{pdcolor4}
+ \colorlet{slidebg}{pdcolor2}
+ \colorlet{slidehbg}{pdcolor1}
+ \colorlet{mytoctcolor}{pdcolor3}
+ \colorlet{mytochltcolor}{pdcolor2}
+ \def\pd@klopebg{%
+ \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)%
+ }
+}{BlackWhite}{
+ \definecolor{pdcolor1}{rgb}{0,0,0} % white
+ \definecolor{pdcolor2}{rgb}{1,1,1} % black
+ \definecolor{pdcolor3}{rgb}{.5,.5,.5} % gray
+ \colorlet{myiacolor}{pdcolor3}
+ \colorlet{sectitlecolor}{pdcolor1}
+ \colorlet{stitlecolor}{pdcolor1}
+ \colorlet{lgsquare}{pdcolor1}
+ \colorlet{smsquare}{pdcolor3}
+ \colorlet{slidebg}{pdcolor2}
+ \colorlet{slidehbg}{pdcolor2}
+ \colorlet{mytoctcolor}{pdcolor3}
+ \colorlet{mytochltcolor}{pdcolor1}
+ \def\pd@klopebg{%
+ \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)%
+ }
+}
+\pddefinetemplate{titleslide}{
+ textpos={.15\slidewidth,.75\slideheight},
+ textwidth=.7\slidewidth,
+ titlefont=\bfseries\LARGE\centering,
+ textfont=\centering,
+ textheight=.67\slideheight,
+ clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
+ clockalign=1,clockcolor=pdcolor1
+}{{%
+ \psset{linewidth=0pt}\pd@klopebg
+ \pd@klopesq+-01\pd@klopesq++00\pd@klopesq-+10\pd@klopesq--11%
+}}
+\pddefinetemplate{slide}{
+ titlepos={.15\slidewidth,.93\slideheight},
+ titlewidth=.7\slidewidth,
+ titlefont=\bfseries\Large\color{stitlecolor}\centering,
+ stochook=t,
+ stocpos={.5\slidewidth,.89\slideheight},
+ stocwidth=.7\slidewidth,stocorient=h,
+ toctcolor=mytoctcolor,
+ tochltcolor=mytochltcolor,
+ tocsecsep=4pt,
+ textpos={.05\slidewidth,.8\slideheight},
+ textwidth=.9\slidewidth,
+ textheight=.72\slideheight,
+ lfpos={.015\slidewidth,.015\slideheight},
+ lffont=\tiny,
+ cfpos={.5\slidewidth,.015\slideheight},
+ cffont=\tiny,
+ rfpos={.985\slidewidth,.015\slideheight},
+ rffont=\tiny,
+ iacolor=myiacolor,
+ clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
+ clockalign=1,clockcolor=pdcolor1
+}{{%
+ \psset{linewidth=0pt}%
+ \psframe*[linecolor=slidebg](0,0)(\slidewidth,\slideheight)%
+ \psframe*[linecolor=slidehbg](0,.85\slideheight)(\slidewidth,\slideheight)%
+ \pd@klopesq+-01\pd@klopesq--11%
+ \psset{linewidth=.1pt}%
+ \psline[linecolor=pdcolor1](0,.05\slideheight)(\slidewidth,.05\slideheight)%
+ \psline[linecolor=slidehbg](0,.055\slideheight)(\slidewidth,.055\slideheight)%
+}}
+\pddefinetemplate[slide]{wideslide}{}{}
+\pddefinetemplate[slide]{sectionslide}{
+ titlepos={.15\slidewidth,.55\slideheight},
+ titlefont=\bfseries\LARGE\color{sectitlecolor}\centering,
+ textpos,lfpos,cfpos,rfpos
+}{{%
+ \psframe*[linecolor=slidebg](0,0)(\slidewidth,.5\slideheight)%
+ \pd@klopesq++00\pd@klopesq-+10%
+}}
+\def\pd@klopesq#1#2#3#4{%
+ \@tempdima#3\slidewidth\@tempdimb#4\slideheight
+ \advance\@tempdima#1.3cm\advance\@tempdimb#2.3cm
+ \edef\pd@tempa{\the\@tempdima}\edef\pd@tempb{\the\@tempdimb}%
+ \advance\@tempdima#1.8cm\advance\@tempdimb#2.8cm
+ \psframe*[linecolor=lgsquare](\pd@tempa,\pd@tempb)%
+ (\@tempdima,\@tempdimb)%
+ \@tempdima\pd@tempa\@tempdimb\pd@tempb
+ \advance\@tempdima#1.3cm\advance\@tempdimb#2.3cm
+ \edef\pd@tempa{\the\@tempdima}\edef\pd@tempb{\the\@tempdimb}%
+ \advance\@tempdima#1.7cm\advance\@tempdimb#2.7cm
+ \psframe*[linecolor=smsquare](\pd@tempa,\pd@tempb)%
+ (\@tempdima,\@tempdimb)%
+}
+\def\pd@tocdisplay#1{\pd@usedtocfont\color\pd@@toctcolor#1}
+\def\pd@tochighlight#1{\pd@usedtocfont\color\pd@@tochltcolor#1}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionslide}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdklope>
+%
+%<*pdjefka>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-jefka}[2005/12/10 v1.1 jefka style (CE,HA)]
+\RequirePackage{pifont}
+\pddefinepalettes{brown}{
+ \definecolor{pdcolor1}{RGB}{121,96,69}
+ \definecolor{pdcolor2}{rgb}{1,.949,.749}
+ \definecolor{pdcolor3}{RGB}{190,163,117}
+}{seagreen}{
+ \definecolor{pdcolor1}{HTML}{FFE680}
+ \definecolor{pdcolor2}{rgb}{.349,.5,.5}
+ \definecolor{pdcolor3}{HTML}{FFC080}
+}{blue}{
+ \definecolor{pdcolor1}{rgb}{.902,.957,1}
+ \definecolor{pdcolor2}{HTML}{00487D}
+ \definecolor{pdcolor3}{rgb}{.749,.635,.376}
+}{white}{
+ \definecolor{pdcolor1}{rgb}{0,0,0}
+ \definecolor{pdcolor2}{rgb}{1,1,1}
+ \definecolor{pdcolor3}{rgb}{.5,.5,.5}
+}
+\pddefinetemplate{titleslide}{
+ textpos={.15\slidewidth,.75\slideheight},
+ textwidth=.7\slidewidth,
+ titlefont=\bfseries\LARGE\centering,
+ textfont=\centering,
+ textheight=.67\slideheight,
+ clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
+ clockalign=1,clockcolor=pdcolor1
+}{%
+ \psframe*[linewidth=0pt,linecolor=pdcolor2]%
+ (0,0)(\slidewidth,\slideheight)%
+}
+\pddefinetemplate{slide}{
+ rfpos={.985\slidewidth,.015\slideheight},
+ rffont=\tiny,
+ iacolor=pdcolor3,
+ clockhook=t,clockpos={.5\slidewidth,.045\slideheight},
+ clockalign=1,clockcolor=pdcolor1,
+ titlewidth=.7\slidewidth,
+ titlefont=\bfseries\LARGE\color{pdcolor1}\raggedright,
+ textwidth=.9\slidewidth,
+ titlepos={.05\slidewidth,.93\slideheight},
+ textpos={.05\slidewidth,.87\slideheight},
+ textheight=.76\slideheight
+}{{%
+ \psset{linewidth=0pt}%
+ \psframe*[linecolor=pdcolor2](0,0)(\slidewidth,\slideheight)%
+ \pspolygon*[linecolor=pdcolor1]%
+ (0,0)(.1\slidewidth,0)(0,.1\slideheight)
+ \pspolygon*[linecolor=pdcolor1](\slidewidth,\slideheight)%
+ (.9\slidewidth,\slideheight)(\slidewidth,.9\slideheight)%
+}}
+\pddefinetemplate[slide]{sectionslide}{
+ titlehook=t,titlepos={.5\slidewidth,.55\slideheight},
+ titlefont=\bfseries\LARGE\color{pdcolor1}\centering
+}{}
+\pddefinetemplate[slide]{wideslide}{}{}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionslide}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdjefka>
+%
+%<*pdpazik>
+\NeedsTeXFormat{LaTeX2e}[1995/12/01]
+\ProvidesPackage{powerdot-pazik}[2005/12/10 v1.1 pazik style (CE,HA)]
+\RequirePackage{pifont}
+\RequirePackage{pst-char}
+\RequirePackage{pst-grad}
+\RequirePackage{type1cm}
+\DeclareFixedFont\pd@psmath{OML}{cmm}{m}{it}{2cm}
+\DeclareFixedFont\pd@psroman{OT1}{cmr}{m}{n}{2cm}
+\pddefinepalettes{red}{
+ \definecolor{pdcolor1}{RGB}{225,187,100} % gold
+ \definecolor{pdcolor2}{RGB}{111,24,17} % brick red
+ \definecolor{pdcolor3}{RGB}{0,0,0} % black
+ \colorlet{mytoctcolor}{pdcolor1}
+ \colorlet{mytochlcolor}{pdcolor2!90}
+ \colorlet{mytitlecolor}{pdcolor1}
+ \colorlet{myiacolor}{pdcolor1!65!pdcolor3}
+ \def\pd@pazik@i{\pd@psmath\char25}
+ \def\pd@pazik@ii{\pd@psroman e}
+ \def\pd@pazik@iii{\pd@psroman i}
+ \def\pd@pazik@iv{\pd@psmath\char16}
+}{brown}{
+ \definecolor{pdcolor1}{RGB}{22,80,100} % blue
+ \definecolor{pdcolor2}{rgb}{.749,.635,.376} % tan
+ \definecolor{pdcolor3}{RGB}{0,0,0} % black
+ \colorlet{mytoctcolor}{pdcolor2}
+ \colorlet{mytochlcolor}{pdcolor1}
+ \colorlet{mytitlecolor}{pdcolor2}
+ \colorlet{myiacolor}{pdcolor1!70}
+ \def\pd@pazik@i{\pd@psmath h}
+ \def\pd@pazik@ii{\pd@psmath e}
+ \def\pd@pazik@iii{\pd@psmath c}
+ \def\pd@pazik@iv{\pd@psmath\char11}
+}
+\pddefinetemplate{titleslide}{
+ textpos={.15\slidewidth,.75\slideheight},
+ textwidth=.7\slidewidth,
+ titlefont=\bfseries\LARGE\centering,
+ textfont=\centering,
+ ifsetup=landscape,
+ textheight=.67\slideheight,
+ ifsetup=portrait,
+ textheight=.55\slideheight
+}{{%
+ \psframe*[linestyle=none,linecolor=pdcolor2!90]%
+ (0,0)(\slidewidth,\slideheight)%
+ \psset{linestyle=none,fillstyle=gradient,gradbegin=pdcolor2!90,%
+ gradend=pdcolor3,gradmidpoint=0,linewidth=0pt}%
+ \pdifsetup{landscape}{%
+ \psframe[gradangle=90](0\slidewidth,0\slideheight)%
+ (.15\slidewidth,\slideheight)%
+ \pd@pazik@lbg
+ }{%
+ \psframe[gradangle=180](0\slidewidth,0\slideheight)%
+ (\slidewidth,.2\slideheight)%
+ \pd@pazik@pbg
+ }%
+}}
+\pddefinetemplate{basic}{%
+ titlefont=\bfseries\LARGE\color{mytitlecolor}\raggedright,
+ rfpos={.98\slidewidth,.015\slideheight},
+ lffont=\tiny,cffont=\tiny,rffont=\tiny,
+ iacolor=myiacolor,
+ clockhook=t,
+ clockalign=1,
+ clockcolor=pdcolor1,
+ toctcolor=mytoctcolor,
+ tochltcolor=mytoctcolor,
+ tochlcolor=mytochlcolor,
+ tocfont=\tiny\raggedright,
+ ifsetup=landscape,
+ textheight=.82\slideheight,
+ titlepos={.02\slidewidth,.94\slideheight},
+ titlewidth=.96\slidewidth,
+ ifsetup=portrait,
+ lfpos={.02\slidewidth,.015\slideheight},
+ cfpos={.5\slidewidth,.015\slideheight},
+ clockpos={.5\slidewidth,.035\slideheight},
+ titlepos={.02\slidewidth,.945\slideheight},
+ titlewidth=.96\slidewidth,
+ textpos={.02\slidewidth,.87\slideheight},
+ textwidth=.96\slidewidth,
+}{{%
+ \psframe*[linestyle=none,linecolor=pdcolor2!90]%
+ (0,0)(\slidewidth,\slideheight)%
+ \psset{linestyle=none,fillstyle=gradient,gradbegin=pdcolor2!90,%
+ gradend=pdcolor3,gradmidpoint=0,gradangle=90,linewidth=0pt}%
+ \pdifsetup{landscape}{%
+ \psframe(.145\slidewidth,\slideheight)(\slidewidth,.9\slideheight)%
+ \pd@pazik@lbg
+ }{%
+ \psframe(0,\slideheight)(\slidewidth,.9\slideheight)%
+ \pd@pazik@pbg
+ }%
+}}
+\pddefinetemplate[basic]{slide}{
+ ifsetup=landscape,
+ lfpos={.17\slidewidth,.015\slideheight},
+ cfpos={.575\slidewidth,.015\slideheight},
+ clockpos={.07\slidewidth,.045\slideheight},
+ textpos={.17\slidewidth,.87\slideheight},
+ textwidth=.81\slidewidth,
+ tocwidth=.12\slidewidth,
+ tocslidesep=.3em,tocslideindent=.2em,
+ tocsecm={\psline[linewidth=.2pt,linecolor=pdcolor1]%
+ (-.05,-.05)(.12\slidewidth,-.05)},
+ tocpos={.015\slidewidth,.86\slideheight},
+ ifsetup=portrait,
+ textheight=.65\slideheight,tocsecsep=.2em,
+ stochook=tr,stocpos={.44\slidewidth,.18\slideheight},
+ stocfont=\tiny\raggedleft,
+ tocslidesep=.2em,
+ ntocpos={.56\slidewidth,.18\slideheight},
+ ntocfont=\tiny\raggedright
+}{%
+ \pdifsetup{landscape}{%
+ \psframe*[linestyle=none,linecolor=pdcolor3]%
+ (0,0)(.15\slidewidth,\slideheight)%
+ }{%
+ \psframe*[linestyle=none,linecolor=pdcolor3]%
+ (0,0)(\slidewidth,.2\slideheight)%
+ }%
+}
+\pddefinetemplate[basic]{wideslide}{%
+ ifsetup=landscape,
+ tocpos,textpos={.02\slidewidth,.87\slideheight},
+ textwidth=.96\slidewidth,
+ lfpos={.02\slidewidth,.015\slideheight},
+ cfpos={.5\slidewidth,.015\slideheight},
+ clockpos={.5\slidewidth,.045\slideheight},
+ ifsetup=portrait,
+ textheight=.82\slideheight,
+}{%
+ \pdifsetup{landscape}{%
+ \psframe*[linestyle=none,linecolor=pdcolor3]%
+ (0,\slideheight)(.15\slidewidth,.9\slideheight)%
+ }{}%
+}
+\pddefinetemplate[slide]{sectionslide}{%
+ titlehook=c,
+ titlefont=\bfseries\LARGE\centering,
+ titlewidth=.9\slidewidth,
+ ifsetup=landscape,
+ titlepos={.585\slidewidth,.6\slideheight},
+ ifsetup=portrait,
+ titlepos={.5\slidewidth,.6\slideheight}
+}{%
+}
+\pddefinetemplate[wideslide]{sectionwideslide}{%
+ titlehook=c,
+ titlefont=\bfseries\LARGE\centering,
+ titlepos={.5\slidewidth,.6\slideheight},
+ titlewidth=.9\slidewidth
+}{}
+\def\pd@pazik@lbg{%
+ \psset{fillstyle=solid,fillcolor=pdcolor2}%
+ \rput{-10}(.35\slidewidth,.6\slideheight){\pscharpath{\pd@pazik@i}}%
+ \rput{15}(.4\slidewidth,.3\slideheight){\pscharpath{\pd@pazik@ii}}%
+ \rput{-20}(.8\slidewidth,.2\slideheight){\pscharpath{\pd@pazik@iii}}%
+ \rput{30}(.7\slidewidth,.7\slideheight){\pscharpath{\pd@pazik@iv}}%
+}
+\def\pd@pazik@pbg{%
+ \psset{fillstyle=solid,fillcolor=pdcolor2}%
+ \rput{-10}(.23\slidewidth,.78\slideheight){\pscharpath{\pd@pazik@i}}%
+ \rput{15}(.35\slidewidth,.4\slideheight){\pscharpath{\pd@pazik@ii}}%
+ \rput{-20}(.8\slidewidth,.3\slideheight){\pscharpath{\pd@pazik@iii}}%
+ \rput{30}(.7\slidewidth,.7\slideheight){\pscharpath{\pd@pazik@iv}}%
+}
+\setkeys[pd]{section}{sectemp=sectionslide,widesectemp=sectionwideslide}
+\def\labelitemi{\footnotesize\ding{110}}
+\def\labelitemii{\small\ding{117}}
+\def\labelitemiii{\tiny\ding{110}}
+\def\labelitemiv{\tiny\ding{117}}
+\pdsetup{
+ list={labelsep=1em,leftmargin=*,itemsep=0pt,topsep=5pt,parsep=0pt}
+}
+\def\rmdefault{cmss}
+%</pdpazik>
+%
+%<*pdstyletest>
+%%
+%% For testing, enter your style below.
+%% Switch on only one paper/orient option at a time.
+\documentclass[
+ style=your style,
+ paper=screen,
+%% paper=a4paper,
+%% paper=letterpaper,
+ orient=landscape,
+%% orient=portrait,
+ size=11pt,
+%% hlsections,
+ clock
+]{powerdot}
+
+\pdsetup{
+ lf=left footer,
+ cf=center footer,
+ rf=right footer,
+ randomdots,dprop={dotstyle=ocircle}
+}
+
+%% For testing text height.
+\makeatletter
+\def\textheightrule{%
+ \raisebox\baselineskip{\rule{1cm}\pd@@textheight}%
+}
+\makeatother
+
+\title{This is a test file to test new styles with --
+this title is very long on purpose.\thanks{Adjust textheight
+to position this footnote.}}
+\author{Hendri Adriaens \and Christopher Ellison}
+\date{August 16, 2005}
+
+\begin{document}
+
+\maketitle
+
+\begin{slide}{Test normal slide}
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus
+ elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur
+ dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer
+ id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque
+ habitant morbi tristique senectus et netus et malesuada fames ac
+ turpis egestas. Mauris ut leo. Cras viverra metus rhoncus sem.
+
+ Notice the color of the equation number!
+ \begin{equation}
+ (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
+ \end{equation}
+\end{slide}
+
+\begin{slide}{Test itemize}
+ Some text.\pause
+ \begin{itemize}
+ \item level 1\pause
+ \begin{itemize}
+ \item level 2\pause
+ \begin{itemize}
+ \item level 3\pause
+ \begin{itemize}
+ \item level 4
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+ Some text.\footnote{Adjust textheight
+ to position this footnote.}
+\end{slide}
+
+\section{Normal section}
+
+\begin{slide}{Test enumerate and inactive color}
+ Some text.\pause
+ \begin{enumerate}[type=1]
+ \item level 1\pause
+ \begin{enumerate}
+ \item level 2\pause
+ \begin{enumerate}
+ \item level 3\pause
+ \begin{enumerate}
+ \item level 4
+ \end{enumerate}
+ \end{enumerate}
+ \end{enumerate}
+ \end{enumerate}
+ Some text.
+\end{slide}
+
+\begin{slide}{The rule has height \texttt{textheight}}
+ \textheightrule
+\end{slide}
+
+\section[template=wideslide]{Wide slide section}
+
+\begin{wideslide}{Test wideslide}
+ Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Ut purus
+ elit, vestibulum ut, placerat ac, adipiscing vitae, felis. Curabitur
+ dictum gravida mauris. Nam arcu libero, nonummy eget, consectetuer
+ id, vulputate a, magna. Donec vehicula augue eu neque. Pellentesque
+ habitant morbi tristique senectus et netus et malesuada fames ac
+ turpis egestas. Mauris ut leo. Cras viverra metus rhoncus
+ sem.\footnote{Adjust textheight to position this footnote.}
+
+ Notice the color of the equation number!
+ \begin{equation}
+ (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
+ \end{equation}
+\end{wideslide}
+
+\begin{wideslide}{The rule has height \texttt{textheight}}
+ \textheightrule
+\end{wideslide}
+
+\end{document}
+%</pdstyletest>
+%
+%<*pdstyleexample>
+\documentclass[paper=letterpaper,style=\style]{powerdot}
+\title{Example of the \style\ style}
+\author{Hendri Adriaens \and Christopher Ellison}
+\pddefinetemplate[slide]{slide}{tocpos}{}
+\pdsetup{lf=left footer,rf=right footer}
+\begin{document}
+\maketitle
+\begin{slide}{Example slide}
+ Here is the binomium formula.
+ \begin{equation}\label{binomium}
+ (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
+ \end{equation}
+ We will prove formula (\ref{binomium}) on the blackboard.\\
+ \begin{itemize}
+ \item Here
+ \begin{itemize}
+ \item is
+ \begin{itemize}
+ \item a
+ \begin{itemize}
+ \item list
+ \end{itemize}
+ \item with
+ \end{itemize}
+ \item seven
+ \end{itemize}
+ \item items.
+ \end{itemize}
+\end{slide}
+\end{document}
+%</pdstyleexample>
+%
+%<*pdexample1>
+\documentclass{powerdot}
+
+\title{powerdot example 1}
+\author{Hendri Adriaens \and Christopher Ellison}
+
+\begin{document}
+
+\maketitle
+
+\begin{slide}{Slide 1}
+ \begin{itemize}
+ \item This is the first slide\pause
+ \item There is nothing special about it.
+ \end{itemize}
+\end{slide}
+
+\section{First section}
+
+\begin{slide}{Slide 2}
+ \begin{itemize}
+ \item<1-> Here
+ \begin{itemize}
+ \item<2-> we
+ \begin{itemize}
+ \item<3-> demonstrate
+ \begin{itemize}
+ \item<4-> the itemize environment
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+ \end{itemize}
+\end{slide}
+
+\begin{slide}{Slide 3}
+ \begin{enumerate}[type=1]
+ \item<1> Here
+ \begin{enumerate}
+ \item<2> we
+ \begin{enumerate}
+ \item<3> demonstrate
+ \begin{enumerate}
+ \item<4> the enumerate environment
+ \end{enumerate}
+ \end{enumerate}
+ \end{enumerate}
+ \end{enumerate}
+\end{slide}
+
+\end{document}
+%</pdexample1>
+%
+%<*pdexample2>
+\documentclass[
+ size=12pt,
+ style=ikeda,
+ paper=screen,
+%% Try me!
+%% orient=portrait,
+%% mode=handout,
+%% display=slidesnotes,
+ pauseslide,
+ nohandoutpagebreaks,
+ fleqn
+]{powerdot}
+
+\title{powerdot example 2}
+\author{Hendri Adriaens\and Christopher Ellison}
+
+\pdsetup{
+ lf=Example 2,
+ rf=for powerdot,
+ trans=Wipe,
+ theslide=slide~\arabic{slide},
+ list={itemsep=6pt}
+}
+
+\begin{document}
+
+\maketitle
+
+\begin{slide}{Slide 1}
+ \begin{itemize}
+ \item This is a bigger example\pause
+ \item demonstrating more of the possibilities of powerdot.
+ \end{itemize}
+\end{slide}
+
+\section{This section has a slide}
+
+\begin{slide}{Slide 2}
+ Here is the binomium formula.\pause
+ \begin{equation}\label{binomium}
+ (a+b)^n=\sum_{k=0}^n{n\choose k}a^{n-k}b^k
+ \end{equation}\pause
+ We will prove formula (\ref{binomium}) on the blackboard.\\
+ Click the title of this slide to switch to the black slide.
+\end{slide}
+
+\begin{note}{Note to slide 2}
+ Here we could type the proof that
+ we want to copy to the blackboard.
+\end{note}
+
+\begin{slide}{Slide 3}
+ \begin{itemize}[type=1]
+ \item This happens\dots\pause
+ \item when you change\dots\pause
+ \item the type of itemize.
+ \end{itemize}
+\end{slide}
+
+\section[template=wideslide,tocsection=hidden]{A hidden wide section}
+
+\begin{slide}{Slide 4}
+ \begin{itemize}
+ \item We only treat this material\dots\pause
+ \begin{itemize}
+ \item if we have some time left.\pause
+ \item But don't hesitate\dots\pause
+ \end{itemize}
+ \item to read it yourself.
+ \end{itemize}
+\end{slide}
+
+\begin{wideslide}{Slide 5}
+ This wide slide can contain more material
+ as it is wider and does not have a table
+ of contents.
+\end{wideslide}
+
+\end{document}
+%</pdexample2>
+%
+%<*pdexample3>
+\documentclass[style=klope,clock,hlsections]{powerdot}
+
+\usepackage{amsmath}
+\usepackage{pst-node}
+\usepackage{listings}
+
+\lstnewenvironment{example}[1][]{%
+ \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,%
+ frame=single,backgroundcolor=\color{yellow!20},%
+ xleftmargin=\fboxsep,xrightmargin=\fboxsep,gobble=1%
+ }\lstset{#1}}{}
+\lstnewenvironment{examplesmall}[1][]{%
+ \lstset{basicstyle=\tiny\ttfamily,columns=flexible,%
+ frame=single,backgroundcolor=\color{yellow!20},%
+ xleftmargin=\fboxsep,xrightmargin=\fboxsep,gobble=2%
+ }\lstset{#1}}{}
+
+\title{powerdot example 3 --- verbatim and random dots}
+\author{Hendri Adriaens\and Christopher Ellison}
+
+\pdsetup{
+ lf=Example 3,
+ rf=for powerdot,
+ palette=Spring,
+ randomdots,
+ dprop={dotstyle=ocircle,linewidth=.25pt},
+ dmindots=5,dmaxdots=5,
+ dminsize=600pt,dmaxsize=700pt,
+ dbright=50,
+ logohook=c,
+ logopos={.505\slidewidth,.08\slideheight},
+ logocmd={\includegraphics[scale=.05]{powerdot-default.ps}}
+}
+
+\begin{document}
+
+\maketitle
+
+\begin{slide}{Overview}
+ \begin{enumerate}[type=1]
+ \item This file demonstrates \pause
+ \begin{itemize}
+ \item some uses of \texttt{verbatim} \pause
+ \end{itemize}
+ \item and \pause
+ \begin{itemize}
+ \item some uses of randomdots
+ \end{itemize}
+ \end{enumerate}
+\end{slide}
+
+\section{section}
+
+\begin{slide}[palette=PastelFlower,method=direct,
+ dprop={dotstyle=*},
+ dminsize=5pt,dmaxsize=10pt,
+ dmindots=5,dmaxdots=10]{Name that quote}
+ G\"odel, Escher, Bach: an Eternal Golden Braid \pause
+
+ \verb|G\"odel, Escher, Bach: an Eternal Golden Braid| \pause
+
+ \begin{quote}
+ The two of you may find it amusing to listen
+ to such totally meaningless cacophony, but I assure you it is not at
+ all pleasant for a sensitive composer to be subjected to such
+ excruciating, empty dissonances and meaningless rhythms. Achilles,
+ I thought you had a good feeling for music. Could it be that your
+ previous pieces had merit merely by coincidence?
+ \end{quote}
+\end{slide}
+
+\begin{slide}[palette=BlueWater,
+ dprop={dotstyle=osquare,linewidth=.2pt},
+ dminsize=4pt,dmaxsize=10pt,
+ dmindots=5,dmaxdots=10]{Itemize}
+ \begin{itemize}
+ \item<1> here
+ \item<2> we
+ \item<3> go
+ \end{itemize}
+\end{slide}
+
+\begin{slide}[toc=What day is it?,bm=What day is it?,method=direct,
+ dprop={dotstyle=*},dminsize=4pt,dmaxsize=20pt,
+ dmindots=30,dmaxdots=30]{What day is it?\hfill A test}
+\begin{example}
+ <?php
+ if ($day == "monday")
+ {
+ $callInSick = true;
+ }
+ else
+ {
+ $callInSick = false;
+ }
+ ?>
+\end{example}
+\end{slide}
+
+\section[slide=false]{The \texttt{direct} and \texttt{file} methods}
+
+\begin{slide}[method=direct,randomdots=false]{Quadratic}
+ With \verb|method=direct|, there are no overlays.\pause
+
+ But you can still use display verbatim text.
+
+ \[
+ x \pause = \pause \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \pause
+ \]
+
+ Attempting \pause a \pause pause\ldots\pause
+
+ \verb|Plot[3x,{x,0,10}]|
+\end{slide}
+
+\begin{slide}[method=file,randomdots=false]{Quadratic}
+ With \verb|method=file|, \pause you can display verbatim text and have overlays.\pause
+
+ \[
+ x \pause = \pause \frac{-b \pm \sqrt{b^2 - 4ac}}{2a} \pause
+ \]
+
+ Attempting \pause a \pause pause\ldots\pause
+
+ \verb|Plot[3x,{x,0,10}]|
+\end{slide}
+
+\section[slide=false]{Nodes}
+
+\begin{slide}[method=file,randomdots=false]{Taylor}
+\begin{lstlisting}[escapechar=|,mathescape]
+ e^x |\pause| = 1 + |\pause|x + |\pause|x^2/2! + |\color{red}{\ldots}| |\pause|
+ e^x |\pause| = 1 + |\pause|x + |\pause|$\rnode{A}{\frac{x^2}{2!}}$ + |\color{red}{\ldots}|
+\end{lstlisting}
+\pause\vspace{.1in}
+Notice, \rnode{B}{this} fraction is in \verb|mathmode|.
+\onslide*{11-}{\ncarc[linecolor=blue,arcangle=-5]{->}{B}{A}}\pause \vspace{.1in}
+
+The above (as its own slide) was coded as follows:
+\begin{examplesmall}[escapechar=@]
+ \begin{slide}[method=file]{Taylor}
+ \begin{lstlisting}[escapechar=|,mathescape]
+ e^x |\pause| = 1 + |\pause|x + |\pause|x^2/2! + |\color{red}{\ldots}| |\pause|
+ e^x |\pause| = 1 + |\pause|x + |\pause|$\rnode{A}{\frac{x^2}{2!}}$ + |\color{red}{\ldots}|
+ \end{lstlisting}
+
+ \pause\vspace{.1in}
+
+ Notice, \rnode{B}{this} fraction is in \verb|mathmode|.
+ \onslide*{11-}{\ncarc[linecolor=blue,arcangle=-5]{->}{B}{A}}\pause \vspace{.1in}
+ @\char`\\@end{slide}
+\end{examplesmall}
+\end{slide}
+
+\end{document}
+%</pdexample3>
+%
+%<*preamble>
+\usepackage{url}
+\usepackage{fourier}
+\usepackage{xcolor}
+\usepackage{enumitem}
+\usepackage{graphicx}
+\usepackage{pst-char}
+\usepackage{listings}
+\usepackage{array}
+\usepackage{xkeyval}
+\usepackage[section]{placeins}
+\addtolength\textheight{2cm}
+\addtolength\topmargin{-1cm}
+\lstnewenvironment{command}{%
+ \lstset{columns=flexible,frame=single,backgroundcolor=\color{blue!20},%
+ xleftmargin=\fboxsep,xrightmargin=\fboxsep,escapeinside=`',gobble=1}}{}
+\lstnewenvironment{example}[1][]{%
+ \lstset{basicstyle=\footnotesize\ttfamily,columns=flexible,frame=single,%
+ backgroundcolor=\color{yellow!20},xleftmargin=\fboxsep,%
+ xrightmargin=\fboxsep,gobble=1,%
+% language=[LaTeX]TeX,keywordstyle=\color{blue},%
+% moretexcs=[1]{color,ProvidesPackage},%
+% moretexcs=[2]{onslide,pause,pdsetup,maketitle,tableofcontents},%
+% texcsstyle=[2]\color{red}%
+ }\lstset{#1}}{}
+\def\mktitledecor{%
+ \rput[tl]{90}(-5.5,-26.51){%
+ \psline[linewidth=1pt](0,1.5)(\paperheight,1.5)%
+ \rput[lB](.075\paperheight,.5){\pscharpath[linecolor=blue!50,%
+ fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]%
+ {\Huge\bfseries\sffamily powerdot}%
+ }%
+ \rput[rB](.925\paperheight,.5){\pscharpath[linecolor=blue!50,%
+ fillcolor=yellow!20,fillstyle=solid,linewidth=.5pt]%
+ {\Huge\bfseries Documentation}%
+ }%
+ \psline[linewidth=1pt](0,0)(\paperheight,0)%
+ }%
+}
+\makeatletter
+\def\option#1{%
+ \XKV@for@n{#1}\pd@tempa{%
+ \fcolorbox{black}{red!20}{\texttt\pd@tempa}\quad
+ }%
+ \vspace*{.2cm}%
+}
+\def\tableofcontents{\@starttoc{toc}}
+\renewenvironment{theglossary}{%
+ \section*{Version history}%
+ For more information on bug fixes, typeset the source code
+ documentation (see section~\ref{sec:source}).\par\medskip
+ \GlossaryParms \let\item\@idxitem \ignorespaces
+}{}%
+\def\DescribeMacros{\leavevmode\@bsphack
+ \begingroup\MakePrivateLetters\Describe@Macros}
+\def\Describe@Macros#1{\endgroup\strut
+ \marginpar{\raggedleft
+ \def\@tempa{#1}\count@\z@
+ \XKV@for@o\@tempa\@tempa{%
+ \ifnum\count@>\z@\\\fi\advance\count@\@ne
+ \MacroFont\expandafter\string\@tempa
+ \expandafter\SpecialUsageIndex\expandafter{\@tempa}%
+ }}%
+ \@esphack\ignorespaces
+}
+\def\DescribeOption#1{\leavevmode\@bsphack
+ \marginpar{\raggedleft\PrintDescribeOption{#1}}%
+ \SpecialOptionIndex{#1}\@esphack\ignorespaces}
+\def\PrintDescribeOption#1{\strut\emph{option}\\\MacroFont #1\ }
+\def\SpecialOptionIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (option)\encapchar usage}\@esphack}
+\def\DescribeOptions#1{\leavevmode\@bsphack
+ \marginpar{\raggedleft\strut\emph{options}%
+ \@for\@tempa:=#1\do{%
+ \\\strut\MacroFont\@tempa\SpecialOptionIndex\@tempa
+ }}\@esphack\ignorespaces}
+\def\SpecialEnvIndex#1{\@bsphack
+ \index{#1\actualchar{\protect\ttfamily#1}
+ (environment)\encapchar usage}\@esphack}
+\def\changes@#1#2#3{%
+ \protected@edef\@tempa{%
+ \noexpand\glossary{\textbf{#1}\hfill\emph{(#2)}%
+ \levelchar
+ \ifx\saved@macroname\@empty
+ \space\actualchar\generalname
+ \else
+ \expandafter\@gobble\saved@macroname
+ \actualchar\string\verb\quotechar*%
+ \verbatimchar\saved@macroname\verbatimchar
+ \fi
+ :\levelchar #3}%
+ }%
+ \@tempa\endgroup\@esphack
+}
+\makeatother
+\def\PrintChangesX{%
+ \begingroup
+ \let\efill\relax
+ \PrintChanges
+ \endgroup
+}
+\def\PrintIndexX{%
+ \begingroup
+ \setcounter{IndexColumns}{2}
+ \setlength{\columnsep}{18pt}%
+ \setlength{\columnseprule}{.4pt}%
+ \PrintIndex
+ \endgroup
+}
+\def\larg#1{{\ttfamily\char`\<}\meta{#1}{\ttfamily\char`\>}}
+\def\LyX{L\kern-.1667em\lower.25em\hbox{Y}\kern-.125emX\@}
+\def\LyXarrow{\leavevmode\,$\triangleright$\,\allowbreak}
+\let\pf\textsf
+\def\equals{=}
+\setcounter{tocdepth}{2}
+\newcolumntype{d}{c|l}
+\newcolumntype{e}{c|c|c|c}
+\newcolumntype{f}{l|p{8cm}}
+\RecordChanges
+\CodelineIndex
+\newcounter{FAQ}
+\def\question{%
+ \stepcounter{FAQ}%
+ \parskip4pt plus 2pt minus 1pt
+ \itemsep4pt plus 2pt minus 1pt
+ \parsep4pt plus 2pt minus 1pt
+ \item[\textbf{Q\arabic{FAQ}}]%
+}
+\def\answer{%
+ \parskip0pt
+ \itemsep0pt
+ \parsep0pt
+ \item[\textbf{A\arabic{FAQ}}]%
+}
+\def\styleexample#1{%
+ \IfFileExists{powerdot-styleexample-#1.001}{%
+ \IfFileExists{powerdot-styleexample-#1.002}{%
+ \hspace*{\stretch{1}}%
+ \fbox{\includegraphics[scale=.16,angle=-90,clip]%
+ {powerdot-styleexample-#1.001}}%
+ \hspace*{\stretch{2}}%
+ \fbox{\includegraphics[scale=.16,angle=-90,clip]%
+ {powerdot-styleexample-#1.002}}%
+ \hspace*{\stretch{1}}\par
+ }{\textbf{No example files found for style \pf{#1}.}}%
+ }{\textbf{No example files found for style \pf{#1}.}}%
+}
+%</preamble>
+%
+%<*bib>
+@book{companion,
+ author = {Frank Mittelbach and Michel Goossens},
+ title = {The {\LaTeX} Companion},
+ edition = 2,
+ note = {With Johannes Braams, David Carlisle, and Chris Rowley},
+ series = {Tools and Techniques for Computer Typesetting},
+ publisher = {Addison-Wesley},
+ address = {Boston, Massachusetts},
+ year = 2004,
+ pagenums = {1120},
+ bibliography = {yes},
+ index = {yes},
+ isbn = {0-201-36299-6}
+}
+
+@MISC{PSTricks,
+ author = {{Timothy Van} {Zandt et al.}},
+ title = {\pf{PSTricks} package, v1.07, 2005/05/06},
+ howpublished = {\url{CTAN:/graphics/pstricks}}
+}
+
+@MISC{PSTricksWeb,
+ author = {Herbert Vo\ss},
+ title = {\pf{PSTricks} website},
+ howpublished = {\url{http://pstricks.tug.org}}
+}
+
+@MISC{xkeyval,
+ author = {Hendri Adriaens},
+ title = {\pf{xkeyval} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/xkeyval}}
+}
+
+@MISC{extsizes,
+ author = {James Kilfiger and Wolfgang May},
+ title = {\pf{extsizes} bundle},
+ howpublished = {\url{CTAN:/macros/latex/contrib/extsizes}}
+}
+
+@MISC{prosper,
+ author = {Fr\'ed\'eric Goualard and Peter M\o ller Neergaard},
+ title = {\pf{prosper} class},
+ howpublished = {\url{CTAN:/macros/latex/contrib/prosper}}
+}
+
+@MISC{HA-prosper,
+ author = {Hendri Adriaens},
+ title = {\pf{HA-prosper} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/HA-prosper}}
+}
+
+@MISC{enumitem,
+ author = {Javier Bezos},
+ title = {\pf{enumitem} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/enumitem}}
+}
+
+@MISC{hyperref,
+ author = {Sebastian Rahtz and Heiko Overdiek},
+ title = {\pf{hyperref} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/hyperref}}
+}
+
+@MISC{natbib,
+ author = {Patrick W. Daly},
+ title = {\pf{natbib} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/natbib}}
+}
+
+@MISC{geometry,
+ author = {Hideo Umeki},
+ title = {\pf{geometry} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/geometry}}
+}
+
+@MISC{xcolor,
+ author = {Uwe Kern},
+ title = {\pf{xcolor} package},
+ howpublished = {\url{CTAN:/macros/latex/contrib/xcolor}}
+}
+
+@MISC{graphics,
+ author = {David Carlisle},
+ title = {\pf{graphics} bundle},
+ howpublished = {\url{CTAN:/macros/latex/required/graphics}}
+}
+
+@MISC{random,
+ author = {Donald Arseneau},
+ title = {\texttt{random.tex}},
+ howpublished = {\url{CTAN:/macros/generic/misc}}
+}
+
+@MISC{CTAN,
+ author = {CTAN crew},
+ title = {{The Comprehensive TeX Archive Network}},
+ howpublished = {\url{http://www.ctan.org}}
+}
+
+@MISC{LyXWeb,
+ author = {{\LyX\ crew}},
+ title = {{\LyX\ website}},
+ howpublished = {\url{http://www.lyx.org}}
+}
+
+@MISC{javascript,
+ author = {Adobe Solutions Network},
+ title = {{Acrobat JavaScript Scripting Reference}},
+ howpublished = {\url{http://partners.adobe.com/public/developer/en/acrobat/sdk/pdf/javascript/AcroJS.pdf}}
+}
+%</bib>
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
index 5928a76051..760b4b99c8 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-cn.tex b/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
index 6ff43be01e..dfbedaf726 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
+++ b/macros/latex/contrib/projlib/ProjLib-doc-cn.tex
@@ -4,7 +4,7 @@
%%================================
%% 引入工具集
%%================================
-\usepackage{PLtoolkit}
+\usepackage{PJLtoolkit}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -32,7 +32,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {color,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PLdate,ProjLib
+ {color,CreateTheorem,proofideanameCN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -61,15 +61,15 @@
%%================================
%% 名称
%%================================
-\providecommand{\PLtoolkit}{\textsf{PLtoolkit}}
-\providecommand{\PLamssim}{\textsf{PLamssim}}
-\providecommand{\PLauthor}{\textsf{PLauthor}}
-\providecommand{\PLdatestr}{\textsf{PLdate}}
-\providecommand{\PLdraft}{\textsf{PLdraft}}
-\providecommand{\PLlang}{\textsf{PLlang}}
-\providecommand{\PLlogo}{\textsf{PLlogo}}
-\providecommand{\PLpaper}{\textsf{PLpaper}}
-\providecommand{\PLthm}{\textsf{PLthm}}
+\providecommand{\PJLtoolkit}{\textsf{PJLtoolkit}}
+\providecommand{\PJLamssim}{\textsf{PJLamssim}}
+\providecommand{\PJLauthor}{\textsf{PJLauthor}}
+\providecommand{\PJLdatestr}{\textsf{PJLdate}}
+\providecommand{\PJLdraft}{\textsf{PJLdraft}}
+\providecommand{\PJLlang}{\textsf{PJLlang}}
+\providecommand{\PJLlogo}{\textsf{PJLlogo}}
+\providecommand{\PJLpaper}{\textsf{PJLpaper}}
+\providecommand{\PJLthm}{\textsf{PJLthm}}
%%================================
%% 正文
@@ -78,35 +78,35 @@
\title{\ProjLib{} 工具集\\[.3\baselineskip]\normalsize 使用指南}
\author{许锦文}
-\thanks{对应版本.~~\texttt{\ProjLib{}~2021/05/12}}
+\thanks{对应版本.~~\texttt{\ProjLib{}~2021/05/19}}
\date{2021年5月,北京}
\maketitle
\begin{abstract}
- \ProjLib{} 工具集之设计目的为简化 \LaTeX{} 文档撰写前的准备工作。只需要加载 \PLtoolkit{},多语言设置就已准备就绪,定理类环境已被设置好可供直接使用,并且引入了一系列辅助功能。
+ \ProjLib{} 工具集之设计目的为简化 \LaTeX{} 文档撰写前的准备工作。只需要加载 \PJLtoolkit{},多语言设置就已准备就绪,定理类环境已被设置好可供直接使用,并且引入了一系列辅助功能。
\end{abstract}
% \tableofcontents
-\section{PLtoolkit}
+\section{PJLtoolkit}
\subsection{如何加载}
只需要在导言部分加入这一行即可:
\begin{code}
- \usepackage{PLtoolkit}
+ \usepackage{PJLtoolkit}
\end{code}
\begin{remind}[注意事项]
- 由于其内部使用了 \textsf{cleveref},\PLtoolkit{} 需要放在 \textsf{varioref}、\textsf{hyperref} 的后面。
+ 由于其内部使用了 \textsf{cleveref},\PJLtoolkit{} 需要放在 \textsf{varioref}、\textsf{hyperref} 的后面。
\end{remind}
\medskip
\subsection{选项}
-\PLtoolkit{} 提供下列选项以供选择:
+\PJLtoolkit{} 提供下列选项以供选择:
\begin{itemize}
\item \texttt{draft} 或 \texttt{fast}
\begin{itemize}
@@ -118,37 +118,37 @@
\end{itemize}
\item \texttt{author}
\begin{itemize}
- \item 加载 \PLauthor{}。关于其详细功能,请参阅有关这一宏包的小节。
+ \item 加载 \PJLauthor{}。关于其详细功能,请参阅有关这一宏包的小节。
\end{itemize}
\item \texttt{amssim}
\begin{itemize}
- \item 加载 \PLamssim{}。关于其详细功能,请参阅有关这一宏包的小节。
+ \item 加载 \PJLamssim{}。关于其详细功能,请参阅有关这一宏包的小节。
\end{itemize}
\item \texttt{nothms}
\begin{itemize}
\item 不设定定理类环境。如果你希望使用自己的定理样式,可以使用这一选项。
\end{itemize}
\end{itemize}
-另外,还有一些组件的参数可以作为文档类的全局参数传递,例如 \PLpaper{} 的 \texttt{paperstyle} 和 \texttt{preview} 等。详细信息可以参阅对应的小节。
+另外,还有一些组件的参数可以作为文档类的全局参数传递,例如 \PJLpaper{} 的 \texttt{paperstyle} 和 \texttt{preview} 等。详细信息可以参阅对应的小节。
\section{具体组件}
-\subsection{PLamssim}
+\subsection{PJLamssim}
-\PLamssim{} 用于模拟 \textsf{amsart} 文档类的部分功能,包括:
+\PJLamssim{} 用于模拟 \textsf{amsart} 文档类的部分功能,包括:
\begin{itemize}
- \item \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email|、\lstinline|\dedicatory| 命令 (前三者由 \PLauthor{} 提供)
+ \item \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email|、\lstinline|\dedicatory| 命令 (前三者由 \PJLauthor{} 提供)
\item \lstinline|\keywords| 命令
\item \lstinline|\subjclass| 命令
\item \lstinline|\thanks| 可以写在 \lstinline|\author| 之外
\item \lstinline|abstract| 环境可以放在 \lstinline|\maketitle| 的前面
\end{itemize}
-这些功能只在标准文档类中启用。在 \AmS{} 文档类中,\PLamssim{} 不会起到任何效果。
+这些功能只在标准文档类中启用。在 \AmS{} 文档类中,\PJLamssim{} 不会起到任何效果。
-\subsection{PLauthor}
+\subsection{PJLauthor}
-\PLauthor{} 提供了 \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email| 命令,并且允许输入多组用户信息。标准的输入方式是这样的:
+\PJLauthor{} 提供了 \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email| 命令,并且允许输入多组用户信息。标准的输入方式是这样的:
\begin{code}
\author{(*\meta{author 1}*)}
\address{(*\meta{address 1}*)}
@@ -160,25 +160,25 @@
\end{code}
其中 \lstinline|\address|、\lstinline|\curraddr|、\lstinline|\email| 的相互顺序是不重要的。
-\subsection{PLdate}
+\subsection{PJLdate}
-\PLdatestr{} 提供了 \lstinline|\PLdate|\meta{yyyy-mm-dd} 命令,以将 \meta{yyyy-mm-dd} 转换为对应语言的日期格式显示。例如,在当前的中文语境下,\lstinline|\PLdate{2022-04-01}| 会被显示为:\PLdate{2022-04-01}。
+\PJLdatestr{} 提供了 \lstinline|\PJLdate|\meta{yyyy-mm-dd} 命令,以将 \meta{yyyy-mm-dd} 转换为对应语言的日期格式显示。例如,在当前的中文语境下,\lstinline|\PJLdate{2022-04-01}| 会被显示为:\PJLdate{2022-04-01}。
-关于如何选定语言,请参阅关于 \PLlang{} 的小节。
+关于如何选定语言,请参阅关于 \PJLlang{} 的小节。
-\subsection{PLdraft}
+\subsection{PJLdraft}
-\PLdraft{} 提供了下列命令:
+\PJLdraft{} 提供了下列命令:
\begin{itemize}
\item \lstinline|\dnf| 或 \lstinline|\dnf<...>|。效果为:\dnf~或 \dnf<...>。\\其提示文字与当前语言相对应,例如,在法语模式下将会显示为 \UseOtherLanguage{French}{\dnf}。
\item \lstinline|\needgraph| 或 \lstinline|\needgraph<...>|。效果为:\needgraph~或 \needgraph<...>其提示文字与当前语言相对应,例如,在法语模式下将会显示为 \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-关于如何选定语言,请参阅关于 \PLlang{} 的小节。
+关于如何选定语言,请参阅关于 \PJLlang{} 的小节。
-\subsection{PLlang}
+\subsection{PJLlang}
-\PLlang{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文 (其中中文、日文、俄文需要相应的 \TeX{} 引擎与字体支持)。可以通过下列命令来选定语言:
+\PJLlang{} 提供了多语言支持,包括简体中文、繁体中文、英文、法文、德文、日文、俄文 (其中中文、日文、俄文需要相应的 \TeX{} 引擎与字体支持)。可以通过下列命令来选定语言:
\begin{itemize}
\item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}|,用于指定语言,在其后将使用对应的语言设定。
\begin{itemize}
@@ -215,9 +215,9 @@
例如,\lstinline|\AddLanguageSetting(German){\color{orange}}| 可以让所有德语以橙色显示(当然,还需要再加上 \lstinline|\AddLanguageSetting{\color{black}}| 来修正其他语言的颜色)。
-\subsection{PLlogo}
+\subsection{PJLlogo}
-\PLlogo{} 提供了 \lstinline|\ProjLib| 命令用于绘制 Logo,效果为:\ProjLib{}。它与普通的文字指令效果类似,可以用于不同的字号:
+\PJLlogo{} 提供了 \lstinline|\ProjLib| 命令用于绘制 Logo,效果为:\ProjLib{}。它与普通的文字指令效果类似,可以用于不同的字号:
% \begin{itemize}
% \item \lstinline|\tiny|:\quad {\tiny\ProjLib}
% \item \lstinline|\scriptsize|:\quad {\scriptsize\ProjLib}
@@ -242,9 +242,9 @@
\lstinline|\Huge|:& {\Huge\ProjLib}
\end{longtable}
-\subsection{PLpaper}
+\subsection{PJLpaper}
-\PLpaper{} 主要用于调节纸张颜色。它支持下列选项:
+\PJLpaper{} 主要用于调节纸张颜色。它支持下列选项:
\begin{itemize}
\item \texttt{paperstyle = \meta{paper style name}}
@@ -263,9 +263,9 @@
为了使用的方便,建议把这些选项作为文档类的全局参数,这样对于文档的纸张设定一目了然。
-\subsection{PLthm}
+\subsection{PJLthm}
-\PLthm{} 提供定理类环境的设置。它支持下列选项:
+\PJLthm{} 提供定理类环境的设置。它支持下列选项:
\begin{itemize}
\item \texttt{nothms}
\begin{itemize}
@@ -273,7 +273,7 @@
\end{itemize}
\end{itemize}
-预设的定理类环境包括:\texttt{assumption}、\texttt{axiom}、\texttt{conjecture}、\texttt{convention}、\texttt{corollary}、\texttt{definition}、\texttt{definition-proposition}、\texttt{definition-theorem}、\texttt{example}、\texttt{exercise}、\texttt{fact}、\texttt{hypothesis}、\texttt{lemma}、\texttt{notation}、\texttt{problem}、\texttt{property}、\texttt{proposition}、\texttt{question}、\texttt{remark}、\texttt{theorem},以及相应的带有星号 \lstinline|*| 的无编号版本。这些定理类环境在显示时会依据当前语言而相应变化,例如在中文模式下 \texttt{theorem} 会显示为“定理”,而在英文模式下则会显示为“Theorem”。关于如何选定语言,请参阅关于 \PLlang{} 的小节。
+预设的定理类环境包括:\texttt{assumption}、\texttt{axiom}、\texttt{conjecture}、\texttt{convention}、\texttt{corollary}、\texttt{definition}、\texttt{definition-proposition}、\texttt{definition-theorem}、\texttt{example}、\texttt{exercise}、\texttt{fact}、\texttt{hypothesis}、\texttt{lemma}、\texttt{notation}、\texttt{problem}、\texttt{property}、\texttt{proposition}、\texttt{question}、\texttt{remark}、\texttt{theorem},以及相应的带有星号 \lstinline|*| 的无编号版本。这些定理类环境在显示时会依据当前语言而相应变化,例如在中文模式下 \texttt{theorem} 会显示为“定理”,而在英文模式下则会显示为“Theorem”。关于如何选定语言,请参阅关于 \PJLlang{} 的小节。
在引用定理类环境时,建议使用智能引用 \lstinline|\cref{|\meta{label}\lstinline|}|。这样就不必每次都写上相应环境的名称了。
@@ -350,13 +350,13 @@
\section{目前存在的问题}
\begin{itemize}[itemsep=1em]
- \item \PLauthor{} 仍然处于初步阶段,在很多方面还远远比不上相对成熟的 \textsf{authblk}。
- \item \PLlang{}:针对 \textsf{polyglossia} 的设置仍然存在许多问题,因此现在主要功能都是通过 \textsf{babel} 实现的。
- \item \PLpaper{} 的 \texttt{preview} 功能主要是通过 \textsf{geometry} 宏包实现的,因此在 \textsc{\textsf{Koma}} 文档类中效果不好。
- \item \PLthm{} 对于定理类环境的编号与样式设定目前还无法由用户更改。
- \item \PLthm{}:智能引用针对所有 \PLlang{} 已支持语言的本地化尚不完整,主要是中文、日文与俄文。
+ \item \PJLauthor{} 仍然处于初步阶段,在很多方面还远远比不上相对成熟的 \textsf{authblk}。
+ \item \PJLlang{}:针对 \textsf{polyglossia} 的设置仍然存在许多问题,因此现在主要功能都是通过 \textsf{babel} 实现的。
+ \item \PJLpaper{} 的 \texttt{preview} 功能主要是通过 \textsf{geometry} 宏包实现的,因此在 \textsc{\textsf{Koma}} 文档类中效果不好。
+ \item \PJLthm{} 对于定理类环境的编号与样式设定目前还无法由用户更改。
+ \item \PJLthm{}:智能引用针对所有 \PJLlang{} 已支持语言的本地化尚不完整,主要是中文、日文与俄文。
\item 错误处理功能不完善,在出现一些问题时没有相应的错误提示。
- \item 代码中有许多可优化之处,有些部分耗时过长,特别是 \PLthm{} 对定理类环境的定义。
+ \item 代码中有许多可优化之处,有些部分耗时过长,特别是 \PJLthm{} 对定理类环境的定义。
\end{itemize}
@@ -365,13 +365,13 @@
\subsection{标准文档类}
-在标准文档类中,通常只需简要设置页面尺寸、超链接,再载入 \PLtoolkit{},即可直接开始写作。下面是一段完整的示例。
+在标准文档类中,通常只需简要设置页面尺寸、超链接,再载入 \PJLtoolkit{},即可直接开始写作。下面是一段完整的示例。
\begin{code}
\documentclass{article}
\usepackage[a4paper,margin=.75in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PLtoolkit} % Load the toolkit and use font Palatino
+\usepackage[palatino]{PJLtoolkit} % Load the toolkit and use font Palatino
\UseLanguage{French} % Use French from here
@@ -379,7 +379,7 @@
\title{Le Titre}
\author{Auteur}
-\date{\PLdate{2022-04-01}}
+\date{\PJLdate{2022-04-01}}
\maketitle
@@ -400,20 +400,20 @@ Référence du théorème: \cref{thm:abc} % It is recommended to use clever refe
\end{code}
\bigskip
-如果使用了 \PLamssim{},那么文章中就可以采用 \AmS{} 文档类的写法 (当然,此时原始的写法也是成立的,因此始终添加 \texttt{amssim} 这一参数通常是没有问题的)。此时上文引入 \PLtoolkit{} 的那一行应该写为:
+如果使用了 \PJLamssim{},那么文章中就可以采用 \AmS{} 文档类的写法 (当然,此时原始的写法也是成立的,因此始终添加 \texttt{amssim} 这一参数通常是没有问题的)。此时上文引入 \PJLtoolkit{} 的那一行应该写为:
\begin{code}
-\usepackage[amssim,palatino]{PLtoolkit}
+\usepackage[amssim,palatino]{PJLtoolkit}
\end{code}
\clearpage
\subsection{\texorpdfstring{\AmS{}}{AMS} 文档类}
-在 \AmS{} 文档类中,通常只需简要设置页面尺寸、超链接,再载入 \PLtoolkit{},即可直接开始写作。下面是一段完整的示例。
+在 \AmS{} 文档类中,通常只需简要设置页面尺寸、超链接,再载入 \PJLtoolkit{},即可直接开始写作。下面是一段完整的示例。
\begin{code}
\documentclass{amsart}
\usepackage[a4paper,margin=.75in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PLtoolkit} % Load the toolkit and use font Palatino
+\usepackage[palatino]{PJLtoolkit} % Load the toolkit and use font Palatino
\UseLanguage{French} % Use French from here
@@ -426,7 +426,7 @@ Référence du théorème: \cref{thm:abc} % It is recommended to use clever refe
\author{Auteur 1}
\address{Adresse 1}
\email{\href{Courriel 2}{Courriel 2}}
-\date{\PLdate{2022-04-01}}
+\date{\PJLdate{2022-04-01}}
\subjclass{*****}
\keywords{...}
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
index 0cae81150f..9f651971aa 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
+++ b/macros/latex/contrib/projlib/ProjLib-doc-en.pdf
Binary files differ
diff --git a/macros/latex/contrib/projlib/ProjLib-doc-en.tex b/macros/latex/contrib/projlib/ProjLib-doc-en.tex
index 6cb666433c..82a1aeda3b 100644
--- a/macros/latex/contrib/projlib/ProjLib-doc-en.tex
+++ b/macros/latex/contrib/projlib/ProjLib-doc-en.tex
@@ -4,7 +4,7 @@
%%================================
%% Import toolkit
%%================================
-\usepackage{PLtoolkit}
+\usepackage{PJLtoolkit}
\usepackage{longtable} % breakable tables
\usepackage{hologo} % more TeX logo
@@ -30,7 +30,7 @@
}
\providecommand{\meta}[1]{$\langle${\normalfont\itshape#1}$\rangle$}
\lstset{moretexcs=%
- {color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PLdate,ProjLib
+ {color,CreateTheorem,proofideanameEN,cref,dnf,needgraph,UseLanguage,UseOtherLanguage,AddLanguageSetting,maketitle,address,curraddr,email,keywords,subjclass,thanks,dedicatory,PJLdate,ProjLib
}
}
\lstnewenvironment{code}%
@@ -59,15 +59,15 @@
%%================================
%% 名称
%%================================
-\providecommand{\PLtoolkit}{\textsf{PLtoolkit}}
-\providecommand{\PLamssim}{\textsf{PLamssim}}
-\providecommand{\PLauthor}{\textsf{PLauthor}}
-\providecommand{\PLdatestr}{\textsf{PLdate}}
-\providecommand{\PLdraft}{\textsf{PLdraft}}
-\providecommand{\PLlang}{\textsf{PLlang}}
-\providecommand{\PLlogo}{\textsf{PLlogo}}
-\providecommand{\PLpaper}{\textsf{PLpaper}}
-\providecommand{\PLthm}{\textsf{PLthm}}
+\providecommand{\PJLtoolkit}{\textsf{PJLtoolkit}}
+\providecommand{\PJLamssim}{\textsf{PJLamssim}}
+\providecommand{\PJLauthor}{\textsf{PJLauthor}}
+\providecommand{\PJLdatestr}{\textsf{PJLdate}}
+\providecommand{\PJLdraft}{\textsf{PJLdraft}}
+\providecommand{\PJLlang}{\textsf{PJLlang}}
+\providecommand{\PJLlogo}{\textsf{PJLlogo}}
+\providecommand{\PJLpaper}{\textsf{PJLpaper}}
+\providecommand{\PJLthm}{\textsf{PJLthm}}
%%================================
%% 正文
@@ -76,35 +76,35 @@
\title{\ProjLib{}~~Toolkit\\[.3\baselineskip]\normalsize User Manual}
\author{Jinwen Xu}
-\thanks{Corresponding to: \texttt{\ProjLib{}~2021/05/12}}
+\thanks{Corresponding to: \texttt{\ProjLib{}~2021/05/19}}
\date{May 2021, Beijing}
\maketitle
\begin{abstract}
- The \ProjLib{} toolkit is designed to simplify the preparation before writing \LaTeX{} documents. With \PLtoolkit{} loaded, you no longer need to set up the theorem-like environments nor configure the appropriate multilingual settings. Additionally, a series of auxiliary functionalities have been introduced.
+ The \ProjLib{} toolkit is designed to simplify the preparation before writing \LaTeX{} documents. With \PJLtoolkit{} loaded, you no longer need to set up the theorem-like environments nor configure the appropriate multilingual settings. Additionally, a series of auxiliary functionalities have been introduced.
\end{abstract}
% \tableofcontents
-\section{PLtoolkit}
+\section{PJLtoolkit}
\subsection{How to load it}
Just add the following line to your preamble:
\begin{code}
- \usepackage{PLtoolkit}
+ \usepackage{PJLtoolkit}
\end{code}
\begin{remind}[Attention]
- Since \textsf{cleveref} is used internally, \PLtoolkit{} needs to be placed after \textsf{varioref} and \textsf{hyperref}.
+ Since \textsf{cleveref} is used internally, \PJLtoolkit{} needs to be placed after \textsf{varioref} and \textsf{hyperref}.
\end{remind}
\medskip
\subsection{Options}
-\PLtoolkit{} offers the following options:
+\PJLtoolkit{} offers the following options:
\begin{itemize}
\item \texttt{draft} or \texttt{fast}
\begin{itemize}
@@ -116,37 +116,37 @@ Just add the following line to your preamble:
\end{itemize}
\item \texttt{author}
\begin{itemize}
- \item Load \PLauthor{}. For more information about its functionality, see the section on this package.
+ \item Load \PJLauthor{}. For more information about its functionality, see the section on this package.
\end{itemize}
\item \texttt{amssim}
\begin{itemize}
- \item Load \PLamssim{}. For more information about its functionality, see the section on this package.
+ \item Load \PJLamssim{}. For more information about its functionality, see the section on this package.
\end{itemize}
\item \texttt{nothms}
\begin{itemize}
\item The theorem-like environments will not be defined. You should use this option if you wish to apply your own theorem styles.
\end{itemize}
\end{itemize}
-In addition, there are also some options of the components that can (and should) be passed as global options of the document class, such as \texttt{paperstyle} and \texttt{preview} of \PLpaper{}. For more information, please refer to the corresponding section.
+In addition, there are also some options of the components that can (and should) be passed as global options of the document class, such as \texttt{paperstyle} and \texttt{preview} of \PJLpaper{}. For more information, please refer to the corresponding section.
\section{The components}
-\subsection{PLamssim}
+\subsection{PJLamssim}
-\PLamssim{} is used to simulate some features of the \textsf{amsart} class in a standard class, including:
+\PJLamssim{} is used to simulate some features of the \textsf{amsart} class in a standard class, including:
\begin{itemize}
- \item \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| and \lstinline|\dedicatory| macro(the first three are provided by \PLauthor{})
+ \item \lstinline|\address|, \lstinline|\curraddr|, \lstinline|\email| and \lstinline|\dedicatory| macro(the first three are provided by \PJLauthor{})
\item \lstinline|\keywords| macro
\item \lstinline|\subjclass| macro
\item \lstinline|\thanks| can be written outside \lstinline|\author|
\item The \lstinline|abstract| environment can be placed before \lstinline|\maketitle|
\end{itemize}
-These modifications would only take place in standard classes. In the \AmS{} classes, \PLamssim{} does not have any effect.
+These modifications would only take place in standard classes. In the \AmS{} classes, \PJLamssim{} does not have any effect.
-\subsection{PLauthor}
+\subsection{PJLauthor}
-\PLauthor{} offers \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\email|, and allows you to enter multiple groups of author information. The standard usage is like this:
+\PJLauthor{} offers \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\email|, and allows you to enter multiple groups of author information. The standard usage is like this:
\begin{code}
\author{(*\meta{author 1}*)}
\address{(*\meta{address 1}*)}
@@ -158,25 +158,25 @@ These modifications would only take place in standard classes. In the \AmS{} cla
\end{code}
The mutual order of \lstinline|\address|, \lstinline|\curraddr| and \lstinline|\email| is not important.
-\subsection{PLdate}
+\subsection{PJLdate}
-\PLdatestr{} offers the \lstinline|\PLdate|\meta{yyyy-mm-dd} macro to convert \meta{yyyy-mm-dd} into the date format of the currently selected language. For example, in current English context, \lstinline|\PLdate{2022-04-01}| would become: \PLdate{2022-04-01}.
+\PJLdatestr{} offers the \lstinline|\PJLdate|\meta{yyyy-mm-dd} macro to convert \meta{yyyy-mm-dd} into the date format of the currently selected language. For example, in current English context, \lstinline|\PJLdate{2022-04-01}| would become: \PJLdate{2022-04-01}.
-For details on how to select a language, please refer to the section on \PLlang{}.
+For details on how to select a language, please refer to the section on \PJLlang{}.
-\subsection{PLdraft}
+\subsection{PJLdraft}
-\PLdraft{} offers the following macros:
+\PJLdraft{} offers the following macros:
\begin{itemize}
\item \lstinline|\dnf| or \lstinline|\dnf<...>|. The effect is: \dnf~ or \dnf<...>. \\The prompt text changes according to the current language. For example, it will be displayed as \UseOtherLanguage{French}{\dnf} in French mode.
\item \lstinline|\needgraph| or \lstinline|\needgraph<...>|. The effect is: \needgraph or \needgraph<...>The prompt text changes according to the current language. For example, in French mode, it will be displayed as \UseOtherLanguage{French}{\needgraph}
\end{itemize}
-For details on how to select a language, please refer to the section on \PLlang{}.
+For details on how to select a language, please refer to the section on \PJLlang{}.
-\subsection{PLlang}
+\subsection{PJLlang}
-\PLlang{} offers multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian (among them, Chinese, Japanese, and Russian require appropriate \TeX{} engines and fonts to support). The language can be selected by the following macros:
+\PJLlang{} offers multi-language support, including simplified Chinese, traditional Chinese, English, French, German, Japanese, and Russian (among them, Chinese, Japanese, and Russian require appropriate \TeX{} engines and fonts to support). The language can be selected by the following macros:
\begin{itemize}
\item \lstinline|\UseLanguage{|\meta{language name}\lstinline|}| is used to specify the language. The corresponding setting of the language will be applied after it. It can be used either in the preamble or in the main body. When no language is specified, ``English" is selected by default.
@@ -209,9 +209,9 @@ In addition, you can also add new settings to selected language:
For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make all German text displayed in orange (of course, one then need to add \lstinline|\AddLanguageSetting{\color{black}}| in order to correct the color of the text in other languages).
-\subsection{PLlogo}
+\subsection{PJLlogo}
-\PLlogo{} offers the \lstinline|\ProjLib| macro to draw the logo, which looks like \ProjLib{}. It is similar to ordinary text macros and can be used with different font size macros:
+\PJLlogo{} offers the \lstinline|\ProjLib| macro to draw the logo, which looks like \ProjLib{}. It is similar to ordinary text macros and can be used with different font size macros:
% \begin{itemize}
% \item \lstinline|\tiny|:\quad {\tiny\ProjLib}
% \item \lstinline|\scriptsize|:\quad {\scriptsize\ProjLib}
@@ -237,9 +237,9 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
\end{longtable}
\clearpage
-\subsection{PLpaper}
+\subsection{PJLpaper}
-\PLpaper{} is mainly used to adjust the paper color. It has the following options:
+\PJLpaper{} is mainly used to adjust the paper color. It has the following options:
\begin{itemize}
\item \texttt{paperstyle = \meta{paper style name}}
@@ -258,9 +258,9 @@ For example, \lstinline|\AddLanguageSetting(German){\color{orange}}| can make al
It is recommended to pass these options as global options of the document class. In this way, the paper settings would be clear at a glance.
-\subsection{PLthm}
+\subsection{PJLthm}
-\PLthm{} offers the configuration of theorem-like environments. It has the following option:
+\PJLthm{} offers the configuration of theorem-like environments. It has the following option:
% \vspace{-.3\baselineskip}
\begin{itemize}
\item \texttt{nothms}
@@ -269,7 +269,7 @@ It is recommended to pass these options as global options of the document class.
\end{itemize}
\end{itemize}
-Preset environments include: \texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, ~~\texttt{definition-theorem}, ~~\texttt{example}, ~~\texttt{exercise}, ~~\texttt{fact}, ~~\texttt{hypothesis}, ~~\texttt{lemma}, \\\texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode. For details on how to select a language, please refer to the section on \PLlang{}.
+Preset environments include: \texttt{assumption}, \texttt{axiom}, \texttt{conjecture}, \texttt{convention}, \texttt{corollary}, \texttt{definition}, \texttt{definition-proposition}, ~~\texttt{definition-theorem}, ~~\texttt{example}, ~~\texttt{exercise}, ~~\texttt{fact}, ~~\texttt{hypothesis}, ~~\texttt{lemma}, \\\texttt{notation}, \texttt{problem}, \texttt{property}, \texttt{proposition}, \texttt{question}, \texttt{remark}, \texttt{theorem}, and the corresponding unnumbered version with an asterisk \lstinline|*| in the name. The display of these environments will change according to the current language. For example, \texttt{theorem} will be displayed as ``Theorem" in English mode and ``Théorème" in French mode. For details on how to select a language, please refer to the section on \PJLlang{}.
When referencing a theorem-like environment, it is recommended to use smart reference \lstinline|\cref{|\meta{label}\texttt{\}}. In this way, there is no need to explicitly write down the name of the corresponding environment every time.
@@ -348,13 +348,13 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
\section{Known issues}
\begin{itemize}[itemsep=.6em]
- \item \PLauthor{} is still in its preliminary stage, and thus its effect is still not as good as the relatively mature \textsf{authblk} in some aspects.
- \item \PLlang{}: It is still quite problematic with the configuration of \textsf{polyglossia}, so main features are implemented through \textsf{babel} for now.
- \item \PLpaper{}: the \texttt{preview} option is mainly implemented with the help of package \textsf{geometry}, so it does not work quite as well in the \textsc{\textsf{Koma}} document classes.
- \item \PLthm{}: The numbering and theorem-style settings of the theorem-like environments cannot be accessed by the user at present.
- \item \PLthm{}: The localization of \textsf{cleveref} is not yet complete for all supported languages of \PLlang{}, especially for Chinese, Japanese and Russian.
+ \item \PJLauthor{} is still in its preliminary stage, and thus its effect is still not as good as the relatively mature \textsf{authblk} in some aspects.
+ \item \PJLlang{}: It is still quite problematic with the configuration of \textsf{polyglossia}, so main features are implemented through \textsf{babel} for now.
+ \item \PJLpaper{}: the \texttt{preview} option is mainly implemented with the help of package \textsf{geometry}, so it does not work quite as well in the \textsc{\textsf{Koma}} document classes.
+ \item \PJLthm{}: The numbering and theorem-style settings of the theorem-like environments cannot be accessed by the user at present.
+ \item \PJLthm{}: The localization of \textsf{cleveref} is not yet complete for all supported languages of \PJLlang{}, especially for Chinese, Japanese and Russian.
\item The error handling mechanism is incomplete: there is no corresponding error prompt when some problems occur.
- \item There are many things that can be optimized in the code. Some codes take too long to run, especially the definition of theorem-like environments in \PLthm{}.
+ \item There are many things that can be optimized in the code. Some codes take too long to run, especially the definition of theorem-like environments in \PJLthm{}.
\end{itemize}
@@ -363,13 +363,13 @@ defines an unnumbered environment \lstinline|proofidea*| and a numbered environm
\subsection{Standard classes}
-In standard classes, one usually only need to configure the page size, hyperlinks and load \PLtoolkit{} before actually start writing the document. Below is a complete example.
+In standard classes, one usually only need to configure the page size, hyperlinks and load \PJLtoolkit{} before actually start writing the document. Below is a complete example.
\begin{code}
\documentclass{article}
\usepackage[a4paper,margin=.75in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PLtoolkit} % Load the toolkit and use font Palatino
+\usepackage[palatino]{PJLtoolkit} % Load the toolkit and use font Palatino
\UseLanguage{French} % Use French from here
@@ -377,7 +377,7 @@ In standard classes, one usually only need to configure the page size, hyperlink
\title{Le Titre}
\author{Auteur}
-\date{\PLdate{2022-04-01}}
+\date{\PJLdate{2022-04-01}}
\maketitle
@@ -398,20 +398,20 @@ Référence du théorème: \cref{thm:abc} % It is recommended to use clever refe
\end{code}
\bigskip
-If \PLamssim{} is loaded, then one can adopt the \AmS{} writing style in the document (of course, the original way is also valid, so always adding the option \texttt{amssim} usually does not cause problems). This way, the line that introduces \PLtoolkit{} should be written as:
+If \PJLamssim{} is loaded, then one can adopt the \AmS{} writing style in the document (of course, the original way is also valid, so always adding the option \texttt{amssim} usually does not cause problems). This way, the line that introduces \PJLtoolkit{} should be written as:
\begin{code}
-\usepackage[amssim,palatino]{PLtoolkit}
+\usepackage[amssim,palatino]{PJLtoolkit}
\end{code}
\clearpage
\subsection{The \texorpdfstring{\AmS{}}{AMS} classes}
-In \AmS{} classes, one usually only need to configure the page size, hyperlinks and load \PLtoolkit{} before actually start writing the document. Below is a complete example.
+In \AmS{} classes, one usually only need to configure the page size, hyperlinks and load \PJLtoolkit{} before actually start writing the document. Below is a complete example.
\begin{code}
\documentclass{amsart}
\usepackage[a4paper,margin=.75in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PLtoolkit} % Load the toolkit and use font Palatino
+\usepackage[palatino]{PJLtoolkit} % Load the toolkit and use font Palatino
\UseLanguage{French} % Use French from here
@@ -424,7 +424,7 @@ In \AmS{} classes, one usually only need to configure the page size, hyperlinks
\author{Auteur 1}
\address{Adresse 1}
\email{\href{Courriel 2}{Courriel 2}}
-\date{\PLdate{2022-04-01}}
+\date{\PJLdate{2022-04-01}}
\subjclass{*****}
\keywords{...}
diff --git a/macros/latex/contrib/projlib/ProjLib.dtx b/macros/latex/contrib/projlib/ProjLib.dtx
index 42f43b7ea1..94e4aa5d8e 100644
--- a/macros/latex/contrib/projlib/ProjLib.dtx
+++ b/macros/latex/contrib/projlib/ProjLib.dtx
@@ -16,58 +16,58 @@
%</driver>
\NeedsTeXFormat{LaTeX2e}[2020-10-01]
%
-%<*PLamssim>
-\ProvidesPackage{PLamssim}
- [2021/05/12 Simulate some features of amsart]
-%</PLamssim>
+%<*PJLamssim>
+\ProvidesPackage{PJLamssim}
+ [2021/05/19 Simulate some features of amsart]
+%</PJLamssim>
%
-%<*PLauthor>
-\ProvidesPackage{PLauthor}
- [2021/05/12 Enhanced author information block]
-%</PLauthor>
+%<*PJLauthor>
+\ProvidesPackage{PJLauthor}
+ [2021/05/19 Enhanced author information block]
+%</PJLauthor>
%
-%<*PLdate>
-\ProvidesPackage{PLdate}
- [2021/05/12 Convert yyyy-mm-dd to normal datetime format]
-%</PLdate>
+%<*PJLdate>
+\ProvidesPackage{PJLdate}
+ [2021/05/19 Convert yyyy-mm-dd to normal datetime format]
+%</PJLdate>
%
-%<*PLdraft>
-\ProvidesPackage{PLdraft}
- [2021/05/12 Some useful macros for the draft stage]
-%</PLdraft>
+%<*PJLdraft>
+\ProvidesPackage{PJLdraft}
+ [2021/05/19 Some useful macros for the draft stage]
+%</PJLdraft>
%
-%<*PLlang>
-\ProvidesPackage{PLlang}
- [2021/05/12 Multi-language configuration]
-%</PLlang>
+%<*PJLlang>
+\ProvidesPackage{PJLlang}
+ [2021/05/19 Multi-language configuration]
+%</PJLlang>
%
-%<*PLlogo>
-\ProvidesPackage{PLlogo}
- [2021/05/12 The ProjLib logo]
-%</PLlogo>
+%<*PJLlogo>
+\ProvidesPackage{PJLlogo}
+ [2021/05/19 The ProjLib logo]
+%</PJLlogo>
%
-%<*PLpaper>
-\ProvidesPackage{PLpaper}
- [2021/05/12 Paper style configuration]
-%</PLpaper>
+%<*PJLpaper>
+\ProvidesPackage{PJLpaper}
+ [2021/05/19 Paper style configuration]
+%</PJLpaper>
%
-%<*PLthm>
-\ProvidesPackage{PLthm}
- [2021/05/12 Theorem setup and configuration]
-%</PLthm>
+%<*PJLthm>
+\ProvidesPackage{PJLthm}
+ [2021/05/19 Theorem setup and configuration]
+%</PJLthm>
%
-%<*PLtoolkit>
-\ProvidesPackage{PLtoolkit}
- [2021/05/12 Collective interface of ProjLib Toolkit]
-%</PLtoolkit>
+%<*PJLtoolkit>
+\ProvidesPackage{PJLtoolkit}
+ [2021/05/19 Collective interface of ProjLib Toolkit]
+%</PJLtoolkit>
%
\RequirePackage{kvoptions}
\RequirePackage{etoolbox}
%
-%<*PLamssim>
+%<*PJLamssim>
\ifdefined\subjclass\endinput\fi
-\RequirePackage{PLauthor}
+\RequirePackage{PJLauthor}
\RequirePackage{calc}
\providecommand{\conditionalbfseries}{\bfseries}
@@ -82,53 +82,53 @@
\def\keywordsnameRU{Ключевые слова и фразы}
\ifdefined\keywords\else
- \def\PL@keywords{}
- \newcommand*{\keywords}[1]{\def\PL@keywords{#1}}
+ \def\PJL@keywords{}
+ \newcommand*{\keywords}[1]{\def\PJL@keywords{#1}}
\fi
% dedicatory
\ifdefined\dedicatory\else
- \def\PL@dedicatory{}
- \newcommand*{\dedicatory}[1]{\def\PL@dedicatory{#1}}
+ \def\PJL@dedicatory{}
+ \newcommand*{\dedicatory}[1]{\def\PJL@dedicatory{#1}}
\fi
% \thanks: behave like article-style when in \author, and ams-style (no marker) when outside
\AtEndPreamble{
% In case that \@author changes again
-\let\footnotemark@PLoriginal\footnotemark%
+\let\footnotemark@PJLoriginal\footnotemark%
\let\footnotemark\relax%
-\let\thanks@PLoriginal\thanks%
-\newlength\PL@starlength
-\setlength{\PL@starlength}{\widthof{*}}
-\newcommand*{\PL@prethanks}[1]{\thanks@PLoriginal{\hspace*{-\PL@starlength}#1}}
+\let\thanks@PJLoriginal\thanks%
+\newlength\PJL@starlength
+\setlength{\PJL@starlength}{\widthof{*}}
+\newcommand*{\PJL@prethanks}[1]{\thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}}
% \renewcommand*{\thanks}[1]{%
% \ifx#1\@empty\else%
-% \thanks@PLoriginal{\hspace*{-\PL@starlength}#1}%
+% \thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}%
% \fi}
\renewcommand*{\thanks}[1]{%
\ifx#1\@empty\else%
\apptocmd{\@title}{%
- \thanks@PLoriginal{\hspace*{-\PL@starlength}#1}%
+ \thanks@PJLoriginal{\hspace*{-\PJL@starlength}#1}%
}{}{\FAIL}%
\fi}
-\let\author@PLoriginal\author
+\let\author@PJLoriginal\author
\renewcommand{\author}[1]{%
- \author@PLoriginal{%
- \let\footnotemark\footnotemark@PLoriginal%
- \let\thanks\thanks@PLoriginal%
+ \author@PJLoriginal{%
+ \let\footnotemark\footnotemark@PJLoriginal%
+ \let\thanks\thanks@PJLoriginal%
#1%
\let\footnotemark\relax%
}%
}
-% \pretocmd{\@author}{\let\footnotemark\footnotemark@PLoriginal\let\thanks\thanks@PLoriginal}{}{\FAIL}
+% \pretocmd{\@author}{\let\footnotemark\footnotemark@PJLoriginal\let\thanks\thanks@PJLoriginal}{}{\FAIL}
% \apptocmd{\@author}{\let\footnotemark\relax}{}{\FAIL}
}
%% Modify abstract to allow it before maketitle
-\let\abstract@PLoriginal\abstract%
-\let\endabstract@PLoriginal\endabstract%
-\newif\if@PLamssim@maketitle\@PLamssim@maketitlefalse
-\newif\if@PLamssim@absbefore\@PLamssim@absbeforefalse
+\let\abstract@PJLoriginal\abstract%
+\let\endabstract@PJLoriginal\endabstract%
+\newif\if@PJLamssim@maketitle\@PJLamssim@maketitlefalse
+\newif\if@PJLamssim@absbefore\@PJLamssim@absbeforefalse
\RequirePackage{fancyvrb}
% Taken from https://tex.stackexchange.com/a/596328
% define the same as \protected@write, but with \immediate
@@ -147,18 +147,18 @@
{}{}
%
\renewenvironment{abstract}{%
- \VerbatimOut{\jobname.plabs}%
+ \VerbatimOut{\jobname.pjlabs}%
}{
\endVerbatimOut%
- \if@PLamssim@maketitle%
- \begin{abstract@PLoriginal}%
- \input{\jobname.plabs}%
- \end{abstract@PLoriginal}%
- % \ifx\PL@keywords\@empty\else%
- % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PL@keywords%
+ \if@PJLamssim@maketitle%
+ \begin{abstract@PJLoriginal}%
+ \input{\jobname.pjlabs}%
+ \end{abstract@PJLoriginal}%
+ % \ifx\PJL@keywords\@empty\else%
+ % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
% \fi%
\else%
- \global\@PLamssim@absbeforetrue%
+ \global\@PJLamssim@absbeforetrue%
\fi%
}
@@ -168,37 +168,37 @@
\patchcmd{\@maketitle}{\@date}{%
\ifx\@date\@empty\vspace{-2\baselineskip}%
\else\@date\fi%
- \ifx\PL@dedicatory\@empty\else%
+ \ifx\PJL@dedicatory\@empty\else%
\par\vspace{-\parskip}\bigskip%
- {\itshape\PL@dedicatory}\fi}
+ {\itshape\PJL@dedicatory}\fi}
{}{\FAIL}
% Add keywords to maketitle
\pretocmd{\maketitle}{%
- \ifx\PL@keywords\@empty\else%
- \PL@prethanks{{\conditionalbfseries%
+ \ifx\PJL@keywords\@empty\else%
+ \PJL@prethanks{{\protect\conditionalbfseries%
\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}%
- ~\PL@keywords}%
+ ~\PJL@keywords}%
\fi}{}{\FAIL}
% Add abstract to maketitle
\apptocmd{\maketitle}{%
- \if@PLamssim@absbefore%
- \begin{abstract@PLoriginal}%
- \input{\jobname.plabs}%
- % \ifx\PL@keywords\@empty\else%
- % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PL@keywords%
+ \if@PJLamssim@absbefore%
+ \begin{abstract@PJLoriginal}%
+ \input{\jobname.pjlabs}%
+ % \ifx\PJL@keywords\@empty\else%
+ % \par\smallskip\noindent{\conditionalbfseries\csname keywordsname\csname\languagename ABBR\endcsname\endcsname.}~\PJL@keywords%
% \fi%
- \end{abstract@PLoriginal}%
+ \end{abstract@PJLoriginal}%
\fi%
\global\let\address\relax
\global\let\curraddr\relax
\global\let\email\relax
\global\let\dedicatory\relax
\global\let\keywords\relax
- \global\@PLamssim@maketitletrue
+ \global\@PJLamssim@maketitletrue
}{}{\FAIL}
% Disbale the \newpage in maketitle
-% \let\maketitle@PLoriginal=\maketitle
-% \renewcommand*{\maketitle}{{\let\newpage\relax\maketitle@PLoriginal}}
+% \let\maketitle@PJLoriginal=\maketitle
+% \renewcommand*{\maketitle}{{\let\newpage\relax\maketitle@PJLoriginal}}
}
\newcommand*\subjclass[2][2020]{%
@@ -210,7 +210,7 @@
}{%
\expandafter\let\expandafter\subjclassname\csname subjclassname@#1\endcsname
}%
- \PL@prethanks{{\itshape\subjclassname.}\enspace\@subjclass{}.}
+ \PJL@prethanks{{\itshape\subjclassname.}\enspace\@subjclass{}.}
}
\@namedef{subjclassname@1991}{%
\textup{1991} Mathematics Subject Classification}
@@ -220,68 +220,68 @@
\textup{2010} Mathematics Subject Classification}
\@namedef{subjclassname@2020}{%
\textup{2020} Mathematics Subject Classification}
-%</PLamssim>
+%</PJLamssim>
%
-%<*PLauthor>
+%<*PJLauthor>
\ifdefined\subjclass\endinput\fi
-\RequirePackage{PLlang}
+\RequirePackage{PJLlang}
%%================================
%% Font and style
%%================================
-\def\PLauthor@font@author{\normalsize\normalfont\scshape}
-\def\PLauthor@font@address{\small\normalfont\itshape}
-\def\PLauthor@font@curraddr{\small\normalfont\itshape}
-\def\PLauthor@font@email{\small\normalfont\ttfamily}
+\def\PJLauthor@font@author{\normalsize\normalfont\scshape}
+\def\PJLauthor@font@address{\small\normalfont\itshape}
+\def\PJLauthor@font@curraddr{\small\normalfont\itshape}
+\def\PJLauthor@font@email{\small\normalfont\ttfamily}
%%================================
%% Lengths
%%================================
% Space between author and address
-\newlength{\PLauthor@length@innersep}
-\setlength{\PLauthor@length@innersep}{.3\baselineskip}
+\newlength{\PJLauthor@length@innersep}
+\setlength{\PJLauthor@length@innersep}{.3\baselineskip}
% Space between different author blocks
-\newlength{\PLauthor@length@sep}
-\setlength{\PLauthor@length@sep}{.5\baselineskip}
+\newlength{\PJLauthor@length@sep}
+\setlength{\PJLauthor@length@sep}{.5\baselineskip}
% Space between affiliation and date
-\newlength{\PLauthor@length@aftersep}
-\setlength{\PLauthor@length@aftersep}{.3\baselineskip}
+\newlength{\PJLauthor@length@aftersep}
+\setlength{\PJLauthor@length@aftersep}{.3\baselineskip}
%%================================
%% The macros
%%================================
-\newif\if@PLauthor@affilon
+\newif\if@PJLauthor@affilon
\renewcommand*{\author}[1]{%
\gappto\@author{\phantom{A}\\[-\baselineskip]%
- \vspace{\PLauthor@length@sep}%
- \PLauthor@font@author{#1}\\\phantom{}
- \@PLauthor@affilonfalse}}
+ \vspace{\PJLauthor@length@sep}%
+ \PJLauthor@font@author{#1}\\\phantom{}
+ \@PJLauthor@affilonfalse}}
\providecommand*{\address}[1]{%
\gappto\@author{\phantom{A}\\[-\baselineskip]%
- \if@PLauthor@affilon\else%
- \vspace{\PLauthor@length@innersep}%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
\fi%
- \@PLauthor@affilontrue%
- \PLauthor@font@address{#1}\\\phantom{}}%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@address{#1}\\\phantom{}}%
}
\providecommand*{\curraddr}[1]{%
\gappto\@author{\phantom{A}\\[-\baselineskip]%
- \if@PLauthor@affilon\else%
- \vspace{\PLauthor@length@innersep}%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
\fi%
- \@PLauthor@affilontrue%
- \PLauthor@font@curraddr{#1}\\\phantom{}}%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@curraddr{#1}\\\phantom{}}%
}
\providecommand*{\email}[1]{%
\gappto\@author{\phantom{A}\\[-\baselineskip]%
- \if@PLauthor@affilon\else%
- \vspace{\PLauthor@length@innersep}%
+ \if@PJLauthor@affilon\else%
+ \vspace{\PJLauthor@length@innersep}%
\fi%
- \@PLauthor@affilontrue%
- \PLauthor@font@email{#1}\\\phantom{}}%
+ \@PJLauthor@affilontrue%
+ \PJLauthor@font@email{#1}\\\phantom{}}%
}
%%================================
@@ -291,31 +291,31 @@
\patchcmd{\@maketitle}{\end{tabular}}{}{}{}
\def\@author{} % Remove "No \author given."
\pretocmd{\@maketitle}{%
- \pretocmd{\@author}{\vspace{-\PLauthor@length@sep}}{}{\FAIL}%
+ \pretocmd{\@author}{\vspace{-\PJLauthor@length@sep}}{}{\FAIL}%
\apptocmd{\@author}{%
% Fix the space caused by `\\\phantom{}`
\vspace{-\baselineskip}%
- \if@PLauthor@affilon%
- \vspace{\PLauthor@length@aftersep}%
+ \if@PJLauthor@affilon%
+ \vspace{\PJLauthor@length@aftersep}%
\fi%
}{}{\FAIL}%
}{}{\FAIL}
-%</PLauthor>
+%</PJLauthor>
%
-%<*PLdate>
+%<*PJLdate>
\SetupKeyvalOptions{
- family = @PLdate,
- prefix = @PLdate@,
+ family = @PJLdate,
+ prefix = @PJLdate@,
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\ProcessKeyvalOptions*\relax
-\if@PLdate@draft
- \@PLdate@fasttrue
+\if@PJLdate@draft
+ \@PJLdate@fasttrue
\fi
-\if@PLdate@fast\let\PLdate\relax\endinput\fi
+\if@PJLdate@fast\let\PJLdate\relax\endinput\fi
-\RequirePackage{PLlang}
+\RequirePackage{PJLlang}
% The following line is for "authblk"
\robustify\@latex@warning@no@line
@@ -325,44 +325,44 @@
\RequirePackage{datetime2}
\RequirePackage{zhnumber}
-\let\@DTMdate@PLoriginal\@DTMdate
-\gappto{\PLlang@langconfig@common}{%
- \let\@DTMdate\@DTMdate@PLoriginal%
+\let\@DTMdate@PJLoriginal\@DTMdate
+\gappto{\PJLlang@langconfig@common}{%
+ \let\@DTMdate\@DTMdate@PJLoriginal%
}
-\gappto{\PLlang@langconfig@chinese}{%
+\gappto{\PJLlang@langconfig@chinese}{%
\renewcommand*{\@DTMdate}[1]{%
\expandafter\@dtm@parsedate#1\@dtm@endparsedate%
\zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
}%
}
-\gappto{\PLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@tchinese}{%
\renewcommand*{\@DTMdate}[1]{%
\expandafter\@dtm@parsedate#1\@dtm@endparsedate%
\zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
}%
}
-\gappto{\PLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@japanese}{%
\renewcommand*{\@DTMdate}[1]{%
\expandafter\@dtm@parsedate#1\@dtm@endparsedate%
\zhdate{\@dtm@year/\@dtm@month/\@dtm@day}%
}%
}
-\providecommand*{\PLdate}[1]{\DTMdate{#1}}
-%</PLdate>
+\providecommand*{\PJLdate}[1]{\DTMdate{#1}}
+%</PJLdate>
%
-%<*PLdraft>
+%<*PJLdraft>
\SetupKeyvalOptions{
- family = @PLdraft,
- prefix = @PLdraft@,
+ family = @PJLdraft,
+ prefix = @PJLdraft@,
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\ProcessKeyvalOptions*\relax
-\if@PLdraft@draft
- \@PLdraft@fasttrue
+\if@PJLdraft@draft
+ \@PJLdraft@fasttrue
\fi
-\RequirePackage{PLlang}
+\RequirePackage{PJLlang}
\RequirePackage{xcolor}
\def\dnfFont{\ttfamily}
@@ -386,7 +386,7 @@
\definecolor{dnfColor}{RGB}{21,122,20}
\definecolor{needgraphColor}{RGB}{70,130,180}
-\if@PLdraft@fast
+\if@PJLdraft@fast
\newcommand{\plainBox}[2][-paper]{\textcolor{#1}{%
\setlength{\fboxsep}{1.5pt}%
\setlength{\fboxrule}{1.2pt}%
@@ -421,12 +421,12 @@
\IfNoValueF{#1}{\,: #1}}%
\end{center}%
}
-%</PLdraft>
+%</PJLdraft>
%
-%<*PLlang>
+%<*PJLlang>
\SetupKeyvalOptions{%
- family = @PLlang,
- prefix = @PLlang@
+ family = @PJLlang,
+ prefix = @PJLlang@
}
\DeclareBoolOption[false]{polyglossia}
\ProcessKeyvalOptions*\relax
@@ -445,7 +445,7 @@
\RequirePackage{inputenc}
\fi
-\if@PLlang@polyglossia
+\if@PJLlang@polyglossia
\RequirePackage{polyglossia}
\setdefaultlanguage{english}
\setotherlanguage[frenchpart=false]{french}
@@ -469,15 +469,15 @@
\frenchsetup{PartNameFull=false}
\fi
%
-\let\today@PLoriginal\today
-\newcommand{\PLlang@langconfig@common}{%
+\let\today@PJLoriginal\today
+\newcommand{\PJLlang@langconfig@common}{%
\ifdefined\DTMtoday%
\let\today\DTMtoday%
\else%
- \let\today\today@PLoriginal%
+ \let\today\today@PJLoriginal%
\fi%
}
-\newcommand{\PLlang@langconfig@chinese}{%
+\newcommand{\PJLlang@langconfig@chinese}{%
\def\abstractname{摘要}%
\def\proofname{证明}%
\def\contentsname{目录}%
@@ -492,7 +492,7 @@
\let\today\zhtoday%
\renewcommand{\languagename}{chinese}%
}
-\newcommand{\PLlang@langconfig@tchinese}{%
+\newcommand{\PJLlang@langconfig@tchinese}{%
\def\abstractname{摘要}%
\def\proofname{證明}%
\def\contentsname{目錄}%
@@ -507,81 +507,81 @@
\let\today\zhtoday%
\renewcommand{\languagename}{tchinese}%
}
-\newcommand{\PLlang@langconfig@japanese}{%
+\newcommand{\PJLlang@langconfig@japanese}{%
\selectlanguage{japanese}%
}
-\newcommand{\PLlang@langconfig@english}{%
+\newcommand{\PJLlang@langconfig@english}{%
\selectlanguage{english}%
}
-\newcommand{\PLlang@langconfig@french}{%
+\newcommand{\PJLlang@langconfig@french}{%
\selectlanguage{french}%
% The line below is currently only needed for 'babel', but also works with 'polyglossia'
\def\frenchpartname{Partie}%
}
-\newcommand{\PLlang@langconfig@german}{%
+\newcommand{\PJLlang@langconfig@german}{%
\selectlanguage{ngerman}%
}
-\newcommand{\PLlang@langconfig@russian}{%
+\newcommand{\PJLlang@langconfig@russian}{%
\selectlanguage{russian}%
}
\NewDocumentCommand\AddLanguageSetting{d()m}{%
\IfNoValueTF{#1}%
- {\gappto{\PLlang@langconfig@common}{#2}}%
+ {\gappto{\PJLlang@langconfig@common}{#2}}%
{%
- \ifstrequal{#1}{chinese}{\gappto{\PLlang@langconfig@chinese}{#2}}{}%
- \ifstrequal{#1}{Chinese}{\gappto{\PLlang@langconfig@chinese}{#2}}{}%
- \ifstrequal{#1}{schinese}{\gappto{\PLlang@langconfig@chinese}{#2}}{}%
- \ifstrequal{#1}{SChinese}{\gappto{\PLlang@langconfig@chinese}{#2}}{}%
- \ifstrequal{#1}{simplifiedchinese}{\gappto{\PLlang@langconfig@chinese}{#2}}{}%
- \ifstrequal{#1}{SimplifiedChinese}{\gappto{\PLlang@langconfig@chinese}{#2}}{}%
- \ifstrequal{#1}{tchinese}{\gappto{\PLlang@langconfig@tchinese}{#2}}{}%
- \ifstrequal{#1}{TChinese}{\gappto{\PLlang@langconfig@tchinese}{#2}}{}%
- \ifstrequal{#1}{traditionalchinese}{\gappto{\PLlang@langconfig@tchinese}{#2}}{}%
- \ifstrequal{#1}{TraditionalChinese}{\gappto{\PLlang@langconfig@tchinese}{#2}}{}%
- \ifstrequal{#1}{japanese}{\gappto{\PLlang@langconfig@japanese}{#2}}{}%
- \ifstrequal{#1}{Japanese}{\gappto{\PLlang@langconfig@japanese}{#2}}{}%
- \ifstrequal{#1}{english}{\gappto{\PLlang@langconfig@english}{#2}}{}%
- \ifstrequal{#1}{English}{\gappto{\PLlang@langconfig@english}{#2}}{}%
- \ifstrequal{#1}{french}{\gappto{\PLlang@langconfig@french}{#2}}{}%
- \ifstrequal{#1}{French}{\gappto{\PLlang@langconfig@french}{#2}}{}%
- \ifstrequal{#1}{ngerman}{\gappto{\PLlang@langconfig@german}{#2}}{}%
- \ifstrequal{#1}{german}{\gappto{\PLlang@langconfig@german}{#2}}{}%
- \ifstrequal{#1}{German}{\gappto{\PLlang@langconfig@german}{#2}}{}%
- \ifstrequal{#1}{russian}{\gappto{\PLlang@langconfig@russian}{#2}}{}%
- \ifstrequal{#1}{Russian}{\gappto{\PLlang@langconfig@russian}{#2}}{}%
+ \ifstrequal{#1}{chinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}%
+ \ifstrequal{#1}{Chinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}%
+ \ifstrequal{#1}{schinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}%
+ \ifstrequal{#1}{SChinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}%
+ \ifstrequal{#1}{simplifiedchinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}%
+ \ifstrequal{#1}{SimplifiedChinese}{\gappto{\PJLlang@langconfig@chinese}{#2}}{}%
+ \ifstrequal{#1}{tchinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}%
+ \ifstrequal{#1}{TChinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}%
+ \ifstrequal{#1}{traditionalchinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}%
+ \ifstrequal{#1}{TraditionalChinese}{\gappto{\PJLlang@langconfig@tchinese}{#2}}{}%
+ \ifstrequal{#1}{japanese}{\gappto{\PJLlang@langconfig@japanese}{#2}}{}%
+ \ifstrequal{#1}{Japanese}{\gappto{\PJLlang@langconfig@japanese}{#2}}{}%
+ \ifstrequal{#1}{english}{\gappto{\PJLlang@langconfig@english}{#2}}{}%
+ \ifstrequal{#1}{English}{\gappto{\PJLlang@langconfig@english}{#2}}{}%
+ \ifstrequal{#1}{french}{\gappto{\PJLlang@langconfig@french}{#2}}{}%
+ \ifstrequal{#1}{French}{\gappto{\PJLlang@langconfig@french}{#2}}{}%
+ \ifstrequal{#1}{ngerman}{\gappto{\PJLlang@langconfig@german}{#2}}{}%
+ \ifstrequal{#1}{german}{\gappto{\PJLlang@langconfig@german}{#2}}{}%
+ \ifstrequal{#1}{German}{\gappto{\PJLlang@langconfig@german}{#2}}{}%
+ \ifstrequal{#1}{russian}{\gappto{\PJLlang@langconfig@russian}{#2}}{}%
+ \ifstrequal{#1}{Russian}{\gappto{\PJLlang@langconfig@russian}{#2}}{}%
}%
}
\RequirePackage{setspace}
%
-\def\PL@config@linespacing{\setstretch{1.00}}
-\def\PL@config@CJKlinespacing{\onehalfspacing}
-\newcommand{\PLsetlinespacing}[1]{\renewcommand{\PL@config@linespacing}{#1}}
-\newcommand{\PLsetCJKlinespacing}[1]{\renewcommand{\PL@config@CJKlinespacing}{#1}}
+\def\PJL@config@linespacing{\setstretch{1.00}}
+\def\PJL@config@CJKlinespacing{\onehalfspacing}
+\newcommand{\PJLsetlinespacing}[1]{\renewcommand{\PJL@config@linespacing}{#1}}
+\newcommand{\PJLsetCJKlinespacing}[1]{\renewcommand{\PJL@config@CJKlinespacing}{#1}}
%
\newcommand{\UseLanguageCORE}[1]{%
- \PLlang@langconfig@common%
- \ifstrequal{#1}{chinese}{\PL@config@CJKlinespacing\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\PL@config@CJKlinespacing\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{schinese}{\PL@config@CJKlinespacing\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{SChinese}{\PL@config@CJKlinespacing\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{simplifiedchinese}{\PL@config@CJKlinespacing\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{SimplifiedChinese}{\PL@config@CJKlinespacing\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{tchinese}{\PL@config@CJKlinespacing\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{TChinese}{\PL@config@CJKlinespacing\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{traditionalchinese}{\PL@config@CJKlinespacing\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{TraditionalChinese}{\PL@config@CJKlinespacing\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{japanese}{\PL@config@CJKlinespacing\PLlang@langconfig@japanese}{}%
- \ifstrequal{#1}{Japanese}{\PL@config@CJKlinespacing\PLlang@langconfig@japanese}{}%
- \ifstrequal{#1}{english}{\PL@config@linespacing\PLlang@langconfig@english}{}%
- \ifstrequal{#1}{English}{\PL@config@linespacing\PLlang@langconfig@english}{}%
- \ifstrequal{#1}{french}{\PL@config@linespacing\PLlang@langconfig@french}{}%
- \ifstrequal{#1}{French}{\PL@config@linespacing\PLlang@langconfig@french}{}%
- \ifstrequal{#1}{ngerman}{\PL@config@linespacing\PLlang@langconfig@german}{}%
- \ifstrequal{#1}{german}{\PL@config@linespacing\PLlang@langconfig@german}{}%
- \ifstrequal{#1}{German}{\PL@config@linespacing\PLlang@langconfig@german}{}%
- \ifstrequal{#1}{russian}{\PL@config@linespacing\PLlang@langconfig@russian}{}%
- \ifstrequal{#1}{Russian}{\PL@config@linespacing\PLlang@langconfig@russian}{}%
+ \PJLlang@langconfig@common%
+ \ifstrequal{#1}{chinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{Chinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{schinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{SChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{simplifiedchinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{SimplifiedChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{tchinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{TChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{traditionalchinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{TraditionalChinese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{japanese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@japanese}{}%
+ \ifstrequal{#1}{Japanese}{\PJL@config@CJKlinespacing\PJLlang@langconfig@japanese}{}%
+ \ifstrequal{#1}{english}{\PJL@config@linespacing\PJLlang@langconfig@english}{}%
+ \ifstrequal{#1}{English}{\PJL@config@linespacing\PJLlang@langconfig@english}{}%
+ \ifstrequal{#1}{french}{\PJL@config@linespacing\PJLlang@langconfig@french}{}%
+ \ifstrequal{#1}{French}{\PJL@config@linespacing\PJLlang@langconfig@french}{}%
+ \ifstrequal{#1}{ngerman}{\PJL@config@linespacing\PJLlang@langconfig@german}{}%
+ \ifstrequal{#1}{german}{\PJL@config@linespacing\PJLlang@langconfig@german}{}%
+ \ifstrequal{#1}{German}{\PJL@config@linespacing\PJLlang@langconfig@german}{}%
+ \ifstrequal{#1}{russian}{\PJL@config@linespacing\PJLlang@langconfig@russian}{}%
+ \ifstrequal{#1}{Russian}{\PJL@config@linespacing\PJLlang@langconfig@russian}{}%
}
\newcommand{\UseLanguage}[1]{%
\ifx\@onlypreamble\@notprerr%
@@ -592,79 +592,79 @@
}
\newcommand{\UseOtherLanguage}[2]{%
\begingroup%
- \PLlang@langconfig@common%
- \ifstrequal{#1}{chinese}{\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{Chinese}{\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{schinese}{\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{SChinese}{\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{simplifiedchinese}{\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{SimplifiedChinese}{\PLlang@langconfig@chinese}{}%
- \ifstrequal{#1}{tchinese}{\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{TChinese}{\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{traditionalchinese}{\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{TraditionalChinese}{\PLlang@langconfig@tchinese}{}%
- \ifstrequal{#1}{japanese}{\PLlang@langconfig@japanese}{}%
- \ifstrequal{#1}{Japanese}{\PLlang@langconfig@japanese}{}%
- \ifstrequal{#1}{english}{\PLlang@langconfig@english}{}%
- \ifstrequal{#1}{English}{\PLlang@langconfig@english}{}%
- \ifstrequal{#1}{french}{\PLlang@langconfig@french}{}%
- \ifstrequal{#1}{French}{\PLlang@langconfig@french}{}%
- \ifstrequal{#1}{ngerman}{\PLlang@langconfig@german}{}%
- \ifstrequal{#1}{german}{\PLlang@langconfig@german}{}%
- \ifstrequal{#1}{German}{\PLlang@langconfig@german}{}%
- \ifstrequal{#1}{russian}{\PLlang@langconfig@russian}{}%
- \ifstrequal{#1}{Russian}{\PLlang@langconfig@russian}{}%
+ \PJLlang@langconfig@common%
+ \ifstrequal{#1}{chinese}{\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{Chinese}{\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{schinese}{\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{SChinese}{\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{simplifiedchinese}{\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{SimplifiedChinese}{\PJLlang@langconfig@chinese}{}%
+ \ifstrequal{#1}{tchinese}{\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{TChinese}{\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{traditionalchinese}{\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{TraditionalChinese}{\PJLlang@langconfig@tchinese}{}%
+ \ifstrequal{#1}{japanese}{\PJLlang@langconfig@japanese}{}%
+ \ifstrequal{#1}{Japanese}{\PJLlang@langconfig@japanese}{}%
+ \ifstrequal{#1}{english}{\PJLlang@langconfig@english}{}%
+ \ifstrequal{#1}{English}{\PJLlang@langconfig@english}{}%
+ \ifstrequal{#1}{french}{\PJLlang@langconfig@french}{}%
+ \ifstrequal{#1}{French}{\PJLlang@langconfig@french}{}%
+ \ifstrequal{#1}{ngerman}{\PJLlang@langconfig@german}{}%
+ \ifstrequal{#1}{german}{\PJLlang@langconfig@german}{}%
+ \ifstrequal{#1}{German}{\PJLlang@langconfig@german}{}%
+ \ifstrequal{#1}{russian}{\PJLlang@langconfig@russian}{}%
+ \ifstrequal{#1}{Russian}{\PJLlang@langconfig@russian}{}%
#2%
\endgroup%
}
\UseLanguage{English}
-%</PLlang>
+%</PJLlang>
%
-%<*PLlogo>
+%<*PJLlogo>
\SetupKeyvalOptions{
- family = @PLlogo,
- prefix = @PLlogo@,
+ family = @PJLlogo,
+ prefix = @PJLlogo@,
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
\ProcessKeyvalOptions*\relax
-\if@PLlogo@draft
- \@PLlogo@fasttrue
+\if@PJLlogo@draft
+ \@PJLlogo@fasttrue
\fi
-\if@PLlogo@fast\def\ProjLib{{\normalfont ProjLib}}\endinput\fi
+\if@PJLlogo@fast\def\ProjLib{{\normalfont ProjLib}}\endinput\fi
\RequirePackage{xcolor}
\RequirePackage{graphicx}
\RequirePackage{iftex}
% \ifPDFTeX
% \RequirePackage{fontenc}
-% \newcommand{\PLlogo@font}{\fontfamily{LinuxBiolinumT-TLF}\selectfont}
+% \newcommand{\PJLlogo@font}{\fontfamily{LinuxBiolinumT-TLF}\selectfont}
% \else
% \RequirePackage{fontspec}
-% \newcommand{\PLlogo@font}{\fontspec{LinBiolinum_R.otf}\selectfont}
+% \newcommand{\PJLlogo@font}{\fontspec{LinBiolinum_R.otf}\selectfont}
% \fi
\ifdefined\fontspec
- \newcommand{\PLlogo@font}{\normalfont\fontspec{LinBiolinum_R.otf}\selectfont}
+ \newcommand{\PJLlogo@font}{\normalfont\fontspec{LinBiolinum_R.otf}\selectfont}
\else
\PassOptionsToPackage{T1}{fontenc}
\RequirePackage{fontenc}
- \newcommand{\PLlogo@font}{\normalfont\fontfamily{LinuxBiolinumT-TLF}\selectfont}
+ \newcommand{\PJLlogo@font}{\normalfont\fontfamily{LinuxBiolinumT-TLF}\selectfont}
\fi
-% \DeclareSymbolFont{PLupright}{OT1}{zplm}{b}{n}
-\DeclareSymbolFont{PLupright}{U}{zeur}{b}{n}
-\DeclareMathSymbol{\PLSigma}{\mathalpha}{PLupright}{"06}
+% \DeclareSymbolFont{PJLupright}{OT1}{zplm}{b}{n}
+\DeclareSymbolFont{PJLupright}{U}{zeur}{b}{n}
+\DeclareMathSymbol{\PJLSigma}{\mathalpha}{PJLupright}{"06}
\providecommand*{\ProjLib}{%
\begingroup%
-\PLlogo@font%
+\PJLlogo@font%
\color{blue!60!cyan}P%
\color{blue!45!cyan}r%
\color{blue!30!cyan}o%
\color{green!70!black}\j%
-% \kern-0.235em\raisebox{0.57em}{\scalebox{0.3}{\rotatebox{-10}{$\PLSigma$}}}%
+% \kern-0.235em\raisebox{0.57em}{\scalebox{0.3}{\rotatebox{-10}{$\PJLSigma$}}}%
% \kern-0.01em%
-\kern-0.266em\raisebox{0.56em}{\scalebox{0.4}{\rotatebox{-10}{$\PLSigma$}}}%
+\kern-0.266em\raisebox{0.56em}{\scalebox{0.4}{\rotatebox{-10}{$\PJLSigma$}}}%
\kern-0.065em%
\color{red!20!yellow}L%
\color{red!40!yellow}i%
@@ -674,7 +674,7 @@
\providecommand*{\ProjLibText}{%
\begingroup%
-\PLlogo@font%
+\PJLlogo@font%
\color{blue!60!cyan}P%
\color{blue!45!cyan}r%
\color{blue!30!cyan}o%
@@ -684,21 +684,21 @@
\color{red!60!yellow}b%
\endgroup%
}
-%</PLlogo>
+%</PJLlogo>
%
-%<*PLpaper>
+%<*PJLpaper>
\RequirePackage{ifthen}
\SetupKeyvalOptions{%
- family = @PLpaper,
- prefix = @PLpaper@,
+ family = @PJLpaper,
+ prefix = @PJLpaper@,
setkeys=\kvsetkeys
}
\DeclareStringOption[normal]{paperstyle}
-\DeclareVoidOption{yellowpaper}{\kvsetkeys{@PLpaper}{paperstyle=yellow}}
-\DeclareVoidOption{darkpaper}{\kvsetkeys{@PLpaper}{paperstyle=dark}}
-\DeclareVoidOption{nordpaper}{\kvsetkeys{@PLpaper}{paperstyle=nord}}
+\DeclareVoidOption{yellowpaper}{\kvsetkeys{@PJLpaper}{paperstyle=yellow}}
+\DeclareVoidOption{darkpaper}{\kvsetkeys{@PJLpaper}{paperstyle=dark}}
+\DeclareVoidOption{nordpaper}{\kvsetkeys{@PJLpaper}{paperstyle=nord}}
\DeclareBoolOption[false]{preview}
\ProcessKeyvalOptions*\relax
@@ -706,8 +706,8 @@
%%================================
%% Preview mode
%%================================
-\ifdefined\PLnoPreview\else%
- \if@PLpaper@preview%
+\ifdefined\PJLnoPreview\else%
+ \if@PJLpaper@preview%
\RequirePackage{calc}
\AtEndPreamble{%
\setlength{\paperwidth}{\textwidth*\real{1.05}}%
@@ -727,46 +727,46 @@
\definecolor{paper}{RGB}{255,255,255}
\definecolor{maintext}{RGB}{0,0,0}
-\ifthenelse{\equal{\@PLpaper@paperstyle}{yellow}}
+\ifthenelse{\equal{\@PJLpaper@paperstyle}{yellow}}
{
\definecolor{paper}{RGB}{247,246,233}
}
{\relax}
-\ifthenelse{\equal{\@PLpaper@paperstyle}{dark}}
+\ifthenelse{\equal{\@PJLpaper@paperstyle}{dark}}
{
\definecolor{paper}{RGB}{30,30,30}
\definecolor{maintext}{RGB}{207,207,207}
}
{\relax}
-\ifthenelse{\equal{\@PLpaper@paperstyle}{nord}}
+\ifthenelse{\equal{\@PJLpaper@paperstyle}{nord}}
{
\definecolor{paper}{RGB}{46,52,64}
\definecolor{maintext}{RGB}{214,220,230}
}
{\relax}
-\newcommand{\PLglobalcolor}[1]{%
+\newcommand{\PJLglobalcolor}[1]{%
\color{#1}\global\let\default@color\current@color
}
\pagecolor{paper}
-\PLglobalcolor{maintext}
+\PJLglobalcolor{maintext}
\ifdefined\tcbset%
\tcbset{colupper=maintext,collower=maintext}
\fi
-%</PLpaper>
+%</PJLpaper>
%
-%<*PLthm>
+%<*PJLthm>
\SetupKeyvalOptions{%
- family = @PLthm,
- prefix = @PLthm@
+ family = @PJLthm,
+ prefix = @PJLthm@
}
\DeclareBoolOption[false]{nothms}
\ProcessKeyvalOptions*\relax
-\RequirePackage{PLlang}
+\RequirePackage{PJLlang}
\RequirePackage{amsmath,amsthm}
\RequirePackage{aliascnt}
\PassOptionsToPackage{nameinlink}{cleveref}
@@ -1021,11 +1021,11 @@
\expandafter\def\csname definition-propositionnameRU\endcsname{\definitionnameRU-\propositionnameRU}
\expandafter\def\csname definition-theoremnameRU\endcsname{\definitionnameRU-\theoremnameRU}
-\newif\ifPLthm@IsBook
-\ifdefined\chapter\PLthm@IsBooktrue\else\PLthm@IsBookfalse\fi
-\if@PLthm@nothms\else
+\newif\ifPJLthm@IsBook
+\ifdefined\chapter\PJLthm@IsBooktrue\else\PJLthm@IsBookfalse\fi
+\if@PJLthm@nothms\else
%% Theorem environments
-\ifbool{PLthm@IsBook}{
+\ifbool{PJLthm@IsBook}{
\newaliascnt{highest}{chapter}
}{
\newaliascnt{highest}{section}
@@ -1078,7 +1078,7 @@
\fi
% Some localization of cref
-\gappto{\PLlang@langconfig@chinese}{%
+\gappto{\PJLlang@langconfig@chinese}{%
\crefname{equation}{式}{式}%
\crefname{figure}{图}{图}%
\crefname{table}{表}{表}%
@@ -1095,7 +1095,7 @@
\def\creflastgroupconjunction{~和~}%
\def\crefrangeconjunction{~}%
}
-\gappto{\PLlang@langconfig@tchinese}{%
+\gappto{\PJLlang@langconfig@tchinese}{%
\crefname{equation}{式}{式}%
\crefname{figure}{圖}{圖}%
\crefname{table}{表}{表}%
@@ -1112,7 +1112,7 @@
\def\creflastgroupconjunction{~與~}%
\def\crefrangeconjunction{~}%
}
-\gappto{\PLlang@langconfig@japanese}{%
+\gappto{\PJLlang@langconfig@japanese}{%
\crefname{equation}{式}{式}%
\crefname{figure}{図}{図}%
\crefname{table}{表}{表}%
@@ -1129,7 +1129,7 @@
\def\creflastgroupconjunction{~と~}%
\def\crefrangeconjunction{〜}%
}
-\gappto{\PLlang@langconfig@russian}{%
+\gappto{\PJLlang@langconfig@russian}{%
\crefname{equation}{уравнение}{уравнения}%
\crefname{figure}{рис.}{рис.}%
\crefname{table}{таблица}{таблицы}%
@@ -1146,12 +1146,12 @@
\def\creflastgroupconjunction{~и~}%
\def\crefrangeconjunction{~\textasciitilde~}%
}
-%</PLthm>
+%</PJLthm>
%
-%<*PLtoolkit>
+%<*PJLtoolkit>
\SetupKeyvalOptions{
- family = @PLtoolkit,
- prefix = @PLtoolkit@,
+ family = @PJLtoolkit,
+ prefix = @PJLtoolkit@,
}
\DeclareBoolOption[false]{draft}
\DeclareBoolOption[false]{fast}
@@ -1163,29 +1163,29 @@
\DeclareBoolOption[false]{garamond}
\DeclareBoolOption[false]{biolinum}
\ProcessKeyvalOptions*\relax
-\if@PLtoolkit@draft
- \@PLtoolkit@fasttrue
+\if@PJLtoolkit@draft
+ \@PJLtoolkit@fasttrue
\fi
-\if@PLtoolkit@fast
- \PassOptionsToPackage{fast}{PLdate}
- \PassOptionsToPackage{fast}{PLdraft}
- \PassOptionsToPackage{fast}{PLlogo}
+\if@PJLtoolkit@fast
+ \PassOptionsToPackage{fast}{PJLdate}
+ \PassOptionsToPackage{fast}{PJLdraft}
+ \PassOptionsToPackage{fast}{PJLlogo}
\fi
-\if@PLtoolkit@nothms
- \PassOptionsToPackage{nothms}{PLthm}
+\if@PJLtoolkit@nothms
+ \PassOptionsToPackage{nothms}{PJLthm}
\fi
-\if@PLtoolkit@author
- \RequirePackage{PLauthor}
+\if@PJLtoolkit@author
+ \RequirePackage{PJLauthor}
\fi
-\if@PLtoolkit@amssim
- \RequirePackage{PLamssim}
+\if@PJLtoolkit@amssim
+ \RequirePackage{PJLamssim}
\fi
-\RequirePackage{PLdate}
-\RequirePackage{PLdraft}
-\RequirePackage{PLlogo}
-\RequirePackage{PLpaper}
-\RequirePackage{PLthm}
+\RequirePackage{PJLdate}
+\RequirePackage{PJLdraft}
+\RequirePackage{PJLlogo}
+\RequirePackage{PJLpaper}
+\RequirePackage{PJLthm}
% \RequirePackage{iftex}
% \ifPDFTeX
@@ -1195,38 +1195,38 @@
%
\RequirePackage{mathtools}
-% \PL@font@alreadyset should contain the current font name
+% \PJL@font@alreadyset should contain the current font name
% A message can then be shown as: Font "(font name)" has been set
-\ifdefined\PL@font@alreadyset\else
+\ifdefined\PJL@font@alreadyset\else
-\if@PLtoolkit@palatino
+\if@PJLtoolkit@palatino
\RequirePackage{amssymb}
\RequirePackage{mathpazo}
\PassOptionsToPackage{defaultsups}{newpxtext}
\RequirePackage{newpxtext}
\RequirePackage{newpxmath}
\let\openbox\relax
- \PLsetlinespacing{\setstretch{1.07}}
+ \PJLsetlinespacing{\setstretch{1.07}}
\fi
-\if@PLtoolkit@times
+\if@PJLtoolkit@times
\RequirePackage{amssymb}
\PassOptionsToPackage{defaultsups}{newtxtext}
\RequirePackage{newtxtext}
\RequirePackage{newtxmath}
\let\openbox\relax
- \PLsetlinespacing{\setstretch{1.00}}
+ \PJLsetlinespacing{\setstretch{1.00}}
\fi
-\if@PLtoolkit@garamond
+\if@PJLtoolkit@garamond
\RequirePackage{amssymb}
\RequirePackage{ebgaramond-maths}
\RequirePackage{ebgaramond}
% \RequirePackage{garamondlibre}
- \PLsetlinespacing{\setstretch{1.00}}
+ \PJLsetlinespacing{\setstretch{1.00}}
\fi
-\if@PLtoolkit@biolinum
+\if@PJLtoolkit@biolinum
\RequirePackage{amssymb}
\RequirePackage{mathpazo}
% \RequirePackage[sansmath]{libertinust1math}
@@ -1241,12 +1241,12 @@
ItalicFont = LinBiolinum_RI.otf ,
BoldItalicFont = LinBiolinum_RBO.otf ]
\fi
- \PLsetlinespacing{\setstretch{1.05}}
+ \PJLsetlinespacing{\setstretch{1.05}}
\fi
\fi
\RequirePackage{microtype}
-%</PLtoolkit>
+%</PJLtoolkit>
\endinput \ No newline at end of file
diff --git a/macros/latex/contrib/projlib/ProjLib.ins b/macros/latex/contrib/projlib/ProjLib.ins
index d2432689de..d51b90e70d 100644
--- a/macros/latex/contrib/projlib/ProjLib.ins
+++ b/macros/latex/contrib/projlib/ProjLib.ins
@@ -39,15 +39,15 @@ and version 1.3c or later is part of all distributions of LaTeX version
\def\mypreamble{\copyright\lppllicense}
\usepreamble\mypreamble
-\generate{\file{PLamssim.sty}{\from{ProjLib.dtx}{PLamssim}}}
-\generate{\file{PLauthor.sty}{\from{ProjLib.dtx}{PLauthor}}}
-\generate{\file{PLdate.sty}{\from{ProjLib.dtx}{PLdate}}}
-\generate{\file{PLdraft.sty}{\from{ProjLib.dtx}{PLdraft}}}
-\generate{\file{PLlang.sty}{\from{ProjLib.dtx}{PLlang}}}
-\generate{\file{PLlogo.sty}{\from{ProjLib.dtx}{PLlogo}}}
-\generate{\file{PLpaper.sty}{\from{ProjLib.dtx}{PLpaper}}}
-\generate{\file{PLthm.sty}{\from{ProjLib.dtx}{PLthm}}}
-\generate{\file{PLtoolkit.sty}{\from{ProjLib.dtx}{PLtoolkit}}}
+\generate{\file{PJLamssim.sty}{\from{ProjLib.dtx}{PJLamssim}}}
+\generate{\file{PJLauthor.sty}{\from{ProjLib.dtx}{PJLauthor}}}
+\generate{\file{PJLdate.sty}{\from{ProjLib.dtx}{PJLdate}}}
+\generate{\file{PJLdraft.sty}{\from{ProjLib.dtx}{PJLdraft}}}
+\generate{\file{PJLlang.sty}{\from{ProjLib.dtx}{PJLlang}}}
+\generate{\file{PJLlogo.sty}{\from{ProjLib.dtx}{PJLlogo}}}
+\generate{\file{PJLpaper.sty}{\from{ProjLib.dtx}{PJLpaper}}}
+\generate{\file{PJLthm.sty}{\from{ProjLib.dtx}{PJLthm}}}
+\generate{\file{PJLtoolkit.sty}{\from{ProjLib.dtx}{PJLtoolkit}}}
\obeyspaces
\Msg{*************************************************************}
@@ -55,15 +55,15 @@ and version 1.3c or later is part of all distributions of LaTeX version
\Msg{* To finish the installation you have to move the following *}
\Msg{* files into a directory searched by TeX: *}
\Msg{* *}
-\Msg{* PLamssim.sty *}
-\Msg{* PLauthor.sty *}
-\Msg{* PLdate.sty *}
-\Msg{* PLdraft.sty *}
-\Msg{* PLlang.sty *}
-\Msg{* PLlogo.sty *}
-\Msg{* PLpaper.sty *}
-\Msg{* PLthm.sty *}
-\Msg{* PLtoolkit.sty *}
+\Msg{* PJLamssim.sty *}
+\Msg{* PJLauthor.sty *}
+\Msg{* PJLdate.sty *}
+\Msg{* PJLdraft.sty *}
+\Msg{* PJLlang.sty *}
+\Msg{* PJLlogo.sty *}
+\Msg{* PJLpaper.sty *}
+\Msg{* PJLthm.sty *}
+\Msg{* PJLtoolkit.sty *}
\Msg{* *}
\Msg{* Happy TeXing! *}
\Msg{* *}
diff --git a/macros/latex/contrib/projlib/README.md b/macros/latex/contrib/projlib/README.md
index 450a47e2e5..d88d15a875 100644
--- a/macros/latex/contrib/projlib/README.md
+++ b/macros/latex/contrib/projlib/README.md
@@ -2,45 +2,45 @@
# ProjLib Toolkit
-A collection of tools that help you write LaTeX document. With `PLtoolkit` loaded, you no longer need to set up the theorem-like environments nor to manually configure the appropriate multilingual settings. In addition, a series of auxiliary functionalities are introduced.
+A collection of tools that help you write LaTeX document. With `PJLtoolkit` loaded, you no longer need to set up the theorem-like environments nor to manually configure the appropriate multilingual settings. In addition, a series of auxiliary functionalities are introduced.
-1. `PLamssim.sty`
+1. `PJLamssim.sty`
- Simulate some features of `amsart` in the standard classes
-1. `PLauthor.sty`
+1. `PJLauthor.sty`
- Enhanced author information block
- Offers `\address`, `\curraddr` and `\email`
-1. `PLdate.sty`
- - Offers a macro `\PLdate` to convert `yyyy-mm-dd` to normal datetime format, with multi-language support
-1. `PLdraft.sty`
+1. `PJLdate.sty`
+ - Offers a macro `\PJLdate` to convert `yyyy-mm-dd` to normal datetime format, with multi-language support
+1. `PJLdraft.sty`
- Useful macros during the draft stage: `\dnf` and `\needgraph`, with multi-language support
-1. `PLlang.sty`
+1. `PJLlang.sty`
- Multi-language configuration based on `babel` or `polyglossia`
- Offers `\UseLanguage`, `\UseOtherLanguage` and `\AddLanguageSetting`
- Currently support Chinese (simplified and traditional), English, French, German, Japanese and Russian, *more to be added*
-1. `PLlogo.sty`
+1. `PJLlogo.sty`
- Draw the ProjLib logo
-1. `PLpaper.sty`
+1. `PJLpaper.sty`
- Paper style configuration: yellow theme, dark theme and nord theme
-1. `PLthm.sty`
+1. `PJLthm.sty`
- Theorem setup and configuration
- Offers a macro `\CreateTheorem` for creating theorem-like environments with multi-language support
- Preset environments include: `assumption`, `axiom`, `conjecture`, `convention`, `corollary`, `definition`, `definition-proposition`, `definition-theorem`, `example`, `exercise`, `fact`, `hypothesis`, `lemma`, `notation`, `problem`, `property`, `proposition`, `question`, `remark`, `theorem`, and the corresponding unnumbered version with an asterisk `*` in the name.
-1. `PLtoolkit.sty`, *the all-in-one solution*
+1. `PJLtoolkit.sty`, *the all-in-one solution*
- A collective interface of ProjLib Toolkit, loading all the packages above
- Provide some pre-defined font configuration
-> Since `PLthm.sty` (and thus `PLtoolkit.sty`) uses `cleveref`, it should be loaded after `varioref` and `hyperref`.
+> Since `PJLthm.sty` (and thus `PJLtoolkit.sty`) uses `cleveref`, it should be loaded after `varioref` and `hyperref`.
Demonstration:
```latex
\documentclass{amsart}
\usepackage[a4paper,margin=.75in]{geometry}
\usepackage[hidelinks]{hyperref}
-\usepackage[palatino]{PLtoolkit}
+\usepackage[palatino]{PJLtoolkit}
%% You can also comment the above lines and try the following (require xelatex or lualatex):
% \documentclass[a4paper,allowbf]{lebhart}
-% \usepackage{PLtoolkit}
+% \usepackage{PJLtoolkit}
%% Using \UseLanguage to select language, by default "English" is selected
\UseLanguage{French} % Use French from here
@@ -54,7 +54,7 @@ Demonstration:
\author{Auteur 1}
\address{Adresse 1}
\email{\href{Courriel 2}{Courriel 2}}
-\date{\PLdate{2022-04-01}}
+\date{\PJLdate{2022-04-01}}
\subjclass{*****}
\keywords{...}
diff --git a/macros/latex/contrib/siunitx/CHANGELOG.md b/macros/latex/contrib/siunitx/CHANGELOG.md
index 958d0b50d6..dc30ec5d79 100644
--- a/macros/latex/contrib/siunitx/CHANGELOG.md
+++ b/macros/latex/contrib/siunitx/CHANGELOG.md
@@ -7,6 +7,23 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
## [Unreleased]
+## [v3.0.2]
+
+### Changed
+- Documentation improvements
+- Better default for `product-symbol`
+
+### Fixed
+- Option settings `group-digits = true` and `group-digits = false` (issue #422)
+- Correct position of decimal marker in some tables (issue #423)
+- Coloring of negative numbers in tables (issue #424)
+- Alignment of numbers when printing without a `table-format` (issue #424)
+- Emulation of `\celsius` (issue #426)
+- Allow `\cdot` to work in text mode (issue #430)
+
+### Deprecated
+- Unit macro `\celsius`
+
## [v3.0.1]
### Added
@@ -1253,7 +1270,8 @@ Changelog](https://keepachangelog.com/en/1.0.0/), and this project adheres to
### Added
- First public testing release (as `si`)
-[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.1...HEAD
+[Unreleased]: https://github.com/josephwright/siunitx/compare/v3.0.2...HEAD
+[v3.0.2]: https://github.com/josephwright/siunitx/compare/v3.0.1...v3.0.2
[v3.0.1]: https://github.com/josephwright/siunitx/compare/v3.0.0...v3.0.1
[v3.0.0]: https://github.com/josephwright/siunitx/compare/v2.8e...v3.0.0
[v2.8e]: https://github.com/josephwright/siunitx/compare/v2.8d...v2.8e
diff --git a/macros/latex/contrib/siunitx/siunitx-code.pdf b/macros/latex/contrib/siunitx/siunitx-code.pdf
index dd338db3ac..ca24d4d13e 100644
--- a/macros/latex/contrib/siunitx/siunitx-code.pdf
+++ b/macros/latex/contrib/siunitx/siunitx-code.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.dtx b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
index 40f145a6c6..5287f2c8cf 100644
--- a/macros/latex/contrib/siunitx/siunitx-emulation.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.dtx
@@ -346,6 +346,18 @@
% \begin{macrocode}
\keys_define:nn { siunitx }
{
+ group-digits / false .code:n =
+ {
+ \@@_option_deprecated:nn
+ { group-digits ~ = ~ false }
+ { group-digits ~ = ~ none }
+ } ,
+ group-digits / true .code:n =
+ {
+ \@@_option_deprecated:nn
+ { group-digits ~ = ~ true }
+ { group-digits ~ = ~ all }
+ } ,
separate-uncertainty .choice: ,
separate-uncertainty / false .code:n =
{
@@ -965,6 +977,13 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\celsius}
+% Deprecated but should work.
+% \begin{macrocode}
+\siunitx_declare_unit:Nn \celsius { \degreeCelsius }
+% \end{macrocode}
+% \end{macro}
+%
% \begin{macrocode}
%</interfaces>
% \end{macrocode}
diff --git a/macros/latex/contrib/siunitx/siunitx-emulation.pdf b/macros/latex/contrib/siunitx/siunitx-emulation.pdf
new file mode 100644
index 0000000000..b439f74a67
--- /dev/null
+++ b/macros/latex/contrib/siunitx/siunitx-emulation.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx-number.dtx b/macros/latex/contrib/siunitx/siunitx-number.dtx
index adc798fb2c..45f8ad2562 100644
--- a/macros/latex/contrib/siunitx/siunitx-number.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-number.dtx
@@ -59,6 +59,17 @@
%
% \begin{documentation}
%
+% This submodule is dedicated to parsing and formatting numbers. A small number
+% of \LaTeXe{} math mode commands are assumed to be available as part of the
+% formatted output. The sign commands \cs{mp}, \cs{pm}, \cs{ll}, \cs{le},
+% \cs{gg} and \cs{ge} are used to replace two-character input; \cs{pm}
+% is also required for the output of uncertainties. The standard settings
+% require \cs{times}. For the display of colored negative numbers, the command
+% \cs{color} is assumed to be available. Where the latter may apply, numbers
+% should be printed inside a group: note that \TeX{} grouping is not added
+% \emph{within} formatted numbers as they may need to be decomposed into parts
+% (see \cs{siunitx_number_output:NN}).
+%
% \section{Formatting numbers}
%
% \begin{function}{\siunitx_number_parse:nN, \siunitx_number_parse:VN}
@@ -3085,11 +3096,9 @@
\cs_new:Npn
\@@_output_sign_color:w #1 \@@_output_end:
{
- \exp_not:N \textcolor { \exp_not:V \l_@@_negative_color_tl }
- {
- #1
- \@@_output_end:
- }
+ \exp_not:N \color { \exp_not:V \l_@@_negative_color_tl }
+ #1
+ \@@_output_end:
}
\cs_new:Npn
\@@_output_sign_brackets:w #1 \@@_output_end:
diff --git a/macros/latex/contrib/siunitx/siunitx-symbol.dtx b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
index 6d67c5a29d..1307e2ee0b 100644
--- a/macros/latex/contrib/siunitx/siunitx-symbol.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-symbol.dtx
@@ -259,6 +259,8 @@
% same as |\textmu| support. It's hard to check for the product symbol, so
% we just go with it an hope for the best!
% \begin{macrocode}
+\keys_set:nn { siunitx }
+ { product-symbol = \ifmmode \times \else \texttimes \fi }
\AtBeginDocument
{
\group_begin:
@@ -273,12 +275,36 @@
\keys_set:nn { siunitx }
{
exponent-product =
- \ifmmode \times \else \texttimes \fi ,
- product-symbol =
\ifmmode \times \else \texttimes \fi
}
}
- { \group_end: }
+ {
+ \tl_set:Nn \l_@@_tmpb_tl { 2 \cdot 10 ^ { 1 } }
+ \tl_if_eq:NNTF \l_@@_tmpa_tl \l_@@_tmpb_tl
+ {
+ \group_end:
+ \keys_set:nn { siunitx }
+ {
+ exponent-product =
+ \ifmmode \cdot \else \textperiodcentered \fi
+ }
+ }
+ { \group_end: }
+ }
+ \group_begin:
+ \tl_set:Nn \l_@@_tmpa_tl { \mathrm { m } \cdot \mathrm { s } }
+ \tl_set:Nn \l_siunitx_unit_font_tl { \mathrm }
+ \siunitx_unit_format:nN { m . s } \l_@@_tmpb_tl
+ \tl_if_eq:NNTF \l_@@_tmpa_tl \l_@@_tmpb_tl
+ {
+ \group_end:
+ \keys_set:nn { siunitx }
+ {
+ inter-unit-product =
+ \ifmmode \cdot \else \textperiodcentered \fi
+ }
+ }
+ { \group_end: }
}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx-table.dtx b/macros/latex/contrib/siunitx/siunitx-table.dtx
index d16d2d7780..430a715710 100644
--- a/macros/latex/contrib/siunitx/siunitx-table.dtx
+++ b/macros/latex/contrib/siunitx/siunitx-table.dtx
@@ -315,7 +315,8 @@
%
% \begin{macro}{\@@_collect_loop:}
% \begin{macro}{\@@_collect_group:n}
-% \begin{macro}{\@@_collect_token:N}
+% \begin{macro}{\@@_collect_token:N, \@@_collect_token_aux:N}
+% \begin{macro}{\@@_collect_relax:N}
% \begin{macro}{\@@_collect_search:NnF}
% \begin{macro}{\@@_collect_search_aux:NNn}
% Collecting up the cell content needs a loop: this is done using
@@ -325,7 +326,8 @@
% (\foreign{cf.}~the approach in \pkg{collcell}): the special cases are
% pulled out for manual handling. The flexible lookup approach is more-or-less
% the same idea as in the kernel |case| functions. The |\relax| special case
-% covers the case where |\\| has been expanded in an empty cell.
+% covers the case where |\\| has been expanded in an empty cell. This has to
+% be an explicit token as we can get the same meaning from |\protect|.
% \begin{macrocode}
\cs_new_protected:Npn \@@_collect_loop:
{
@@ -344,14 +346,22 @@
{
\unskip { \@@_collect_loop: }
\end { \tabularnewline \end }
- \relax { \relax }
+ \relax { \@@_collect_relax:N #1 }
\tabularnewline { \tabularnewline }
\siunitx_cell_end: { \siunitx_cell_end: }
}
- {
- \tl_put_right:Nn \l_@@_collect_tl {#1}
- \@@_collect_loop:
- }
+ { \@@_collect_token_aux:N #1 }
+ }
+\cs_new_protected:Npn \@@_collect_token_aux:N #1
+ {
+ \tl_put_right:Nn \l_@@_collect_tl {#1}
+ \@@_collect_loop:
+ }
+\cs_new_protected:Npn \@@_collect_relax:N #1
+ {
+ \str_if_eq:nnTF {#1} { \relax }
+ { \relax }
+ { \@@_collect_token_aux:N #1 }
}
\AtBeginDocument
{
@@ -365,14 +375,11 @@
\tab@setcr { \@@_collect_loop: }
\unskip { \@@_collect_loop: }
\end { \tabularnewline \end }
- \relax { \relax }
+ \relax { \@@_collect_relax:N #1 }
\tabularnewline { \tabularnewline }
\siunitx_cell_end: { \siunitx_cell_end: }
}
- {
- \tl_put_right:Nn \l_@@_collect_tl {#1}
- \@@_collect_loop:
- }
+ { \@@_collect_token_aux:N #1 }
}
}
{ }
@@ -396,6 +403,7 @@
% \end{macro}
% \end{macro}
% \end{macro}
+% \end{macro}
%
% \subsection{Separating collected material}
%
@@ -682,16 +690,26 @@
% \begin{macro}{\@@_center_marker:}
% When centering on the decimal marker, the easiest approach is to simply
% re-box the two parts. That is needed whether or not we are parsing numbers,
-% so is best as a short auxiliary.
+% so is best as a short auxiliary. Notice that we need to allow for the width
+% of the decimal marker itself.
% \begin{macrocode}
\cs_new_protected:Npn \@@_center_marker:
{
+ \hbox_set:Nn \l_@@_tmp_box
+ { \ensuremath { \mathord { \l_siunitx_number_output_decimal_tl } } }
\dim_compare:nNnTF
{ \box_wd:N \l_@@_integer_box }
- > { \box_wd:N \l_@@_decimal_box }
+ >
+ {
+ \box_wd:N \l_@@_decimal_box
+ - \box_wd:N \l_@@_tmp_box
+ }
{
\hbox_set_to_wd:Nnn \l_@@_decimal_box
- { \box_wd:N \l_@@_integer_box }
+ {
+ \box_wd:N \l_@@_integer_box
+ + \box_wd:N \l_@@_tmp_box
+ }
{
\hbox_unpack:N \l_@@_decimal_box
\@@_fil:
@@ -699,7 +717,10 @@
}
{
\hbox_set_to_wd:Nnn \l_@@_integer_box
- { \box_wd:N \l_@@_decimal_box }
+ {
+ \box_wd:N \l_@@_decimal_box
+ - \box_wd:N \l_@@_tmp_box
+ }
{
\@@_fil:
\hbox_unpack:N \l_@@_integer_box
@@ -903,8 +924,11 @@
\c_math_toggle_token
\hbox_set_end:
\@@_center_marker:
- \box_use_drop:N \l_@@_integer_box
- \box_use_drop:N \l_@@_decimal_box
+ \use:c { @@_align_ \l_@@_align_text_tl :n }
+ {
+ \box_use_drop:N \l_@@_integer_box
+ \box_use_drop:N \l_@@_decimal_box
+ }
}
% \end{macrocode}
% For the version where there is space reserved, first format and decompose
@@ -1093,8 +1117,11 @@
{ \@@_print_marker_aux:w #4 }
}
\@@_center_marker:
- \box_use_drop:N \l_@@_integer_box
- \box_use_drop:N \l_@@_decimal_box
+ \use:c { @@_align_ \l_@@_align_text_tl :n }
+ {
+ \box_use_drop:N \l_@@_integer_box
+ \box_use_drop:N \l_@@_decimal_box
+ }
}
\cs_new:Npn \@@_print_marker_aux:w
#1 \q_nil #2 \q_nil #3 \q_nil #4 \q_nil #5 \q_nil #6 \q_nil #7 \q_nil
diff --git a/macros/latex/contrib/siunitx/siunitx.dtx b/macros/latex/contrib/siunitx/siunitx.dtx
index 99932bd943..9e4705dd4d 100644
--- a/macros/latex/contrib/siunitx/siunitx.dtx
+++ b/macros/latex/contrib/siunitx/siunitx.dtx
@@ -121,7 +121,7 @@
%
% Identify the package and give the over all version information.
% \begin{macrocode}
-\ProvidesExplPackage {siunitx} {2021-05-18} {3.0.1}
+\ProvidesExplPackage {siunitx} {2021-05-19} {3.0.2}
{A comprehensive (SI) units package}
% \end{macrocode}
%
diff --git a/macros/latex/contrib/siunitx/siunitx.pdf b/macros/latex/contrib/siunitx/siunitx.pdf
index d09687fc0d..9a362bf17c 100644
--- a/macros/latex/contrib/siunitx/siunitx.pdf
+++ b/macros/latex/contrib/siunitx/siunitx.pdf
Binary files differ
diff --git a/macros/latex/contrib/siunitx/siunitx.tex b/macros/latex/contrib/siunitx/siunitx.tex
index 2fc9e465d0..e7035ee5c8 100644
--- a/macros/latex/contrib/siunitx/siunitx.tex
+++ b/macros/latex/contrib/siunitx/siunitx.tex
@@ -481,7 +481,7 @@ Runs of products of of numbers with units can be handled using the
\begin{function}{\qtyrange}
\begin{syntax}
- \cs{qtyrange}\oarg{options}\marg{number1}\meta{number2}\marg{unit}
+ \cs{qtyrange}\oarg{options}\marg{number1}\marg{number2}\marg{unit}
\end{syntax}
\end{function}
Products of numbers with units can be handled using the \cs{qtyrange}
@@ -3567,7 +3567,7 @@ unzip this in your local \path{texmf} directory.
The package requires \LaTeX3 support as provided in the \pkg{l3kernel} and
\pkg{l3packages} bundles. Both of these are included in \TeX{} Live and
-MiK\TeX{}, or are again available in ready-to-install form from \acro{CTAN}.
+MiK\TeX{}, or are again available in ready-to-install from \acro{CTAN}.
\section{Thanks}