summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/seminar/doc
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /macros/latex/contrib/seminar/doc
Initial commit
Diffstat (limited to 'macros/latex/contrib/seminar/doc')
-rwxr-xr-xmacros/latex/contrib/seminar/doc/run.sh8
-rw-r--r--macros/latex/contrib/seminar/doc/seminar-doc.pdfbin0 -> 251653 bytes
-rw-r--r--macros/latex/contrib/seminar/doc/seminar-doc.tex1932
-rw-r--r--macros/latex/contrib/seminar/doc/semsamp1.pdfbin0 -> 31355 bytes
-rw-r--r--macros/latex/contrib/seminar/doc/semsamp1.tex110
-rw-r--r--macros/latex/contrib/seminar/doc/semsamp2.pdfbin0 -> 44373 bytes
-rw-r--r--macros/latex/contrib/seminar/doc/semsamp2.tex297
-rw-r--r--macros/latex/contrib/seminar/doc/semsamp3.pdfbin0 -> 38948 bytes
-rw-r--r--macros/latex/contrib/seminar/doc/semsamp3.tex68
-rw-r--r--macros/latex/contrib/seminar/doc/tvz-code.sty291
-rw-r--r--macros/latex/contrib/seminar/doc/tvz-hax.sty266
-rw-r--r--macros/latex/contrib/seminar/doc/tvz-user.sty215
12 files changed, 3187 insertions, 0 deletions
diff --git a/macros/latex/contrib/seminar/doc/run.sh b/macros/latex/contrib/seminar/doc/run.sh
new file mode 100755
index 0000000000..0ca093e020
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/run.sh
@@ -0,0 +1,8 @@
+#!/bin/bash
+#latex semsamp1 && dvips -T 297mm,210mm semsamp1 && ps2pdf semsamp1.ps
+latex semsamp1 && dvips semsamp1 && ps2pdf semsamp1.ps
+latex semsamp2 && dvips -T 297mm,210mm semsamp2 && ps2pdf semsamp2.ps
+latex semsamp3 && dvips -T 297mm,210mm semsamp3 && ps2pdf semsamp3.ps
+rm *.log *.aux *.dvi *.ps *.tmp *.out *.los
+
+
diff --git a/macros/latex/contrib/seminar/doc/seminar-doc.pdf b/macros/latex/contrib/seminar/doc/seminar-doc.pdf
new file mode 100644
index 0000000000..2227746eae
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/seminar-doc.pdf
Binary files differ
diff --git a/macros/latex/contrib/seminar/doc/seminar-doc.tex b/macros/latex/contrib/seminar/doc/seminar-doc.tex
new file mode 100644
index 0000000000..94aef0b7f0
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/seminar-doc.tex
@@ -0,0 +1,1932 @@
+%% BEGIN sem-user.tex
+\def\FileDate{93/04/01}
+\def\FileVersion{1.0}
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+%%
+%%
+%% This LaTeX file prints the User's Guide for seminar.sty.
+%% You must have my tvz-hax.sty, tvz-user.sty, and fancybox.sty,
+%% which are distributed with seminar.sty.
+%%
+%% This is distributed with the index file sem-user.ind.
+%% To make an new index, run, e.g.:
+%% makeindex sem-user.idx
+%%
+%% STYLE OPTIONS:
+%% `a4' : For A4 paper.
+%% `twoside' : For two-sided printing.
+%% `2up' : For two-up printing. (Uses non-standard font magnifications.
+%% See 2up.doc for details.)
+%%
+
+\documentstyle[12pt]{tvz-user}
+
+\makeindex
+
+% Used with twoside option:
+\def\theheadertitle{seminar.sty: User's Guide}
+
+% No headers, 1in top margin
+\setlength{\topmargin}{0pt}
+\setlength{\headheight}{0pt}
+\setlength{\headsep}{0pt}
+\setlength{\textheight}{8.75in}
+\setlength{\footskip}{.625in}
+\papersizeadjust
+
+% Change part environment:
+\renewcommand{\part}[1]{%
+ \clearpage
+ \refstepcounter{part}
+ \addcontentsline{toc}{part}{\protect\numberline{\thepart}#1}%
+ \hrule height 1pt\relax
+ \vskip 1ex
+ \hbox to\columnwidth{\strut\huge\bf\thepart\hfil#1}%
+ \vskip 1ex
+ \hrule height 1pt\relax
+ \vskip 3ex}
+
+\def\MainFont{\tt} % For macro definitions.
+
+\ShortVerb
+\ShortMeta
+
+\let\filedate\FileDate
+
+\begin{document}
+
+\thispagestyle{empty}
+
+\null
+\vfill
+
+\begin{center}
+ {\huge\bf seminar.sty}\\[9pt]
+ {\LARGE\bf A \bLaTeX\ style for slides and notes}\\[14pt]
+ {\LARGE\bf User's Guide}\par
+ \vskip 1.5em
+ \large
+ \renewcommand{\thefootnote}{\fnsymbol{footnote}}
+ Timothy Van Zandt\\
+ {\normalsize\tt Timothy.VAN-ZANDT@insead.edu}
+ \vskip 1em
+ \thefiledate\\ Version \FileVersion\par
+\end{center}
+\par
+\setlength{\unitlength}{1cm}
+\thicklines
+\centerline{\lower.8in\hbox{%
+\begin{picture}(0,0)
+\put(2,-11){\framebox(4,2){}}
+\put(2,-11){\line(-2,3){1}}
+\put(2,-9){\line(-2,3){1}}
+\put(6,-9){\line(-2,3){1}}
+\put(1,-9.5){\line(0,1){2}}
+\put(1,-7.5){\line(1,0){4}}
+\put(5.8,-8.7){\line(0,1){2}}
+\put(5.0,-6.7){\oval(1.6,1.6)[tr]}
+\put(5.0,-5.9){\line(-1,0){.7}}
+\put(3.1,-6.4){\framebox(1.2,1){}}
+\put(3.1,-6.4){\line(-1,2){.3}}
+\put(3.1,-5.4){\line(-1,3){.3}}
+\put(4.3,-5.4){\line(-1,3){.3}}
+\put(2.8,-5.8){\line(0,1){1.3}}
+\put(2.8,-4.5){\line(1,0){1.2}}
+\put(0,6.2){\oval(14,10)}
+\put(.02,6.18){\oval(14,10)}
+\thinlines
+\put(2.8,-5.8){\line(-4,3){9.6}}
+\put(2.8,-4.5){\line(-3,5){9.35}}
+\put(4,-4.5){\line(1,6){2.6}}
+\put(6.8,1.4){\line(-1,-3){2.5}}
+\end{picture}}}
+\par
+\bigskip
+\rightskip=0pt plus 2em\relax
+\parshape=20
+0cm 2.3cm
+0cm 2.9cm
+0cm 3.5cm
+0cm 4.1cm
+0cm 4.7cm
+0cm 5.3cm
+0cm 5.9cm
+0cm 6.5cm
+0cm 7.1cm
+0cm 7.7cm
+0cm 8.3cm
+0cm 8.3cm
+0cm 8.3cm
+0cm 7.3cm
+0cm 7.3cm
+0cm 7.3cm
+0cm 7.3cm
+0cm 7.3cm
+0cm 7.3cm
+0cm 7.3cm
+seminar.sty is a \LaTeX\ style for typesetting slides or
+transparencies, and accompanying notes. Here are some of its special features:
+It is compatible with \AmS-\LaTeX, and you can use PostScript and \AmS{}
+fonts. Slides can be landscape and portrait. There is support for color and
+frames. The magnification can be changed easily.
+Overlays can be produced from a single slide environment. Accompanying notes,
+such as the text of a presentation, can be put
+ outside the slide environments. The slides, notes or both together
+ can then be typeset in a variety of formats.
+
+\vfill
+
+\twosideclearpage
+\pagenumbering{roman}
+\tableofcontents
+
+\twosideclearpage
+
+\section*{Getting Started}
+\addcontentsline{toc}{section}{Getting Started}
+\markboth{Getting Started}{Getting Started}
+
+"seminar.sty" is a \LaTeX{} document style for typesetting slides, and more.
+
+You should know how to use \LaTeX, as described in Leslie Lamport's \LaTeX:
+{\em User's Guide and Reference Manual}.
+
+Let's get started:
+\begin{enumerate}
+\item If you are installing "seminar.sty", read the the accompanying read-me
+file, and put the input files where your \TeX\ looks for inputs.
+
+\item Typeset the sample file, "semsamp1.tex", to see that everything is
+working. You can use \LaTeX\ or \AmS-\LaTeX.
+
+\item Read Appendix \ref{short-fonts}, on page \pageref{short-fonts}.
+
+\item To start making landscape slides, use
+\begin{LVerbatim}
+ \documentstyle{seminar}
+ \begin{document}
+ \begin{slide}
+ foo
+ \end{slide}
+ \end{document}
+\end{LVerbatim}
+and print out your document in landscape mode.
+
+\item To start making portrait slides, include the \o{portrait} style option,
+and use the \e{slide*} environment instead of \e{slide}:
+\begin{LVerbatim}
+ \documentstyle[portrait]{seminar}
+ \begin{document}
+ \begin{slide*}
+ foo
+ \end{slide*}
+ \end{document}
+\end{LVerbatim}
+
+\item If you have used \SliTeX, see Section \ref{slitex}.
+
+\item For A4 paper, use the "a4" style option.
+
+\item When you are ready to explore "seminar.sty"'s special features, skim the
+{\em User's Guide}, including the appendices.
+
+\item Play around with the sample file "semsamp2.tex" to try out some of
+"seminar.sty"'s special features.
+
+\item When you run into problems, look for help in Part \ref{Help}.
+
+\end{enumerate}
+
+\twosideclearpage
+
+\pagenumbering{arabic}
+
+\part{Just slides}
+
+\section{Landscape and portrait slides}
+
+"seminar.sty" is a \LaTeX\ (or \AmS-\LaTeX) document style. Thus, begin your
+document with
+\begin{LVerbatim}
+ \documentstyle{seminar}
+\end{LVerbatim}
+
+The slide environments are\MainEnvIndex{slide}\MainEnvIndex{slide*}%
+\begin{LVerbatim}
+ \begin{slide} ... \end{slide}
+ \begin{slide*} ... \end{slide*}
+\end{LVerbatim}
+\e{slide} is for landscape slides and \e{slide*} is for portrait slides.
+
+By default, the document is typeset in landscape mode, but if you include the
+\O{portrait} style option, the document is typeset in portrait mode.
+Typesetting the document in landscape mode is different from printing it in
+landscape mode; you may have to take care of the latter when printing with
+your dvi driver (see Appendix \ref{S-landscape}).
+
+If you have both landscape and portrait slides in your file, there are two
+ways to print the slides:
+\begin{itemize}
+ \item If you dvi driver supports rotation, then you can print all the slides
+at once. See Appendix \ref{S-landscape} for details.
+ \item You can first print your landscape slides by putting the command
+\begin{MD}
+ \landscapeonly
+\end{MD}
+in the preamble, and then print the portrait slides by inserting instead the
+command
+\begin{MD}
+ \portraitonly
+\end{MD}
+and including the \o{portrait} style option.
+\end{itemize}
+
+\section{The height and width of slides\label{slidedim}}
+
+The dimensions of the slides are set by the lengths
+\begin{MD}
+ \slidewidth\\
+ \slideheight
+\end{MD}
+The ``width'' refers to the width of a slide when looking at it in landscape
+orientation, whether it is a landscape or portrait slide (and the same goes
+for ``height''). The default width is 8.5 inches and the default height is 6.3
+inches.
+
+The slide environments have an optional argument that lets you change the
+dimensions of a single slide, as in
+\begin{LVerbatim}
+ \begin{slide*}[7.5in,6in]
+\end{LVerbatim}
+The first dimension is the slide's ``width'', and the second dimension is the
+slides ``height''. If you remember what we said about what ``width'' and
+``height'' mean, you will see that the above example begins a portrait slide
+that is 7.5 inches high and 6 inches wide.
+
+
+\section{Margins within a slide}
+
+When a slide is not full, the material is vertically centered within the
+slide. The command
+\begin{MD}
+ \centerslidesfalse
+\end{MD}
+cause the material to be flush to the top, instead. The command
+\begin{MD}
+ \centerslidestrue
+\end{MD}
+switches back to vertical centering.
+
+The right margin in slides is ragged by default. You can change this with the
+command
+\begin{MD}
+ \raggedslides[len]
+\end{MD}
+<len> should be the maximum space between the end of the line and the right
+margin. The argument is optional; \n\raggedslides\ is equivalent to
+\begin{LVerbatim}
+ \raggedslides[1fil]
+\end{LVerbatim}
+which gives a ragged right margin, as in \LaTeX's "flushleft" environment (the
+default). On the other hand,
+\begin{LVerbatim}
+ \raggedslides[0pt]
+\end{LVerbatim}
+gives a justified margin, and
+\begin{LVerbatim}
+ \raggedslides[2em]
+\end{LVerbatim}
+gives a semi-ragged margin. Note that as a margin becomes less ragged,
+hyphenation becomes more likely and more material fits on a slide.
+
+\section{Page breaking within a slide environment\label{S-pagebreak}}
+
+A slide environment can contain more than one ``page'' of slides; \TeX\ will
+break slides into pages automatically.
+
+If the mere idea disturbs you, put the command
+\begin{LVerbatim}
+ \extraslideheight{10in}
+\end{LVerbatim}
+in your document. You can then divide slides into pages yourself by starting
+new slide environments or using the
+\begin{MD}
+ \newslide
+\end{MD}
+command within a slide environment. And you need read this section no further.
+
+If instead you use the command
+\begin{LVerbatim}
+ \extraslideheight{0pt}
+\end{LVerbatim}
+then \TeX\ will break pages the way you would expect. This is a quick and
+dirty way to break a whole paper or a long proof into slides.
+
+However, dividing material into slides is usually too delicate a matter to be
+left up to \TeX, and ultimately you will make all the page breaks yourself. On
+the other hand, automatic page breaking can still be helpful at the early
+stages, letting \TeX\ find preliminary page breaks for you.
+
+Setting the "\extraslideheight" to "0pt" doesn't give you much flexibility
+about where to put the page breaks. Of course, you can always put a page break
+earlier than the one found by \TeX, but occasionally you will prefer to let a
+slide overflow by a small amount rather than rewrite the whole slide.
+
+Therefore, by default, "seminar.sty" uses\MainIndex{\extraslideheight}%
+\begin{LVerbatim}
+ \extraslideheight{10pt}
+\end{LVerbatim}
+This adds on an extra "10pt" to the target slide height (as determined by
+"\slideheight" for landscape slides and "\slidewidth" for portrait slides)
+{\em for the purpose of page-breaking only}.
+
+If the resulting slide exceeds the slide height, you will get a message like
+\begin{LVerbatim}
+ LaTeX Error: Slide 3 overfull by 9pt.
+\end{LVerbatim}
+"seminar.sty" then tries to reduce the slide to its maximum height by
+squeezing out rubber vertical space (e.g., tightening up the interline
+spacing). If the slide is still too full, you will get another warning like:
+\begin{LVerbatim}
+ Overfull \vbox by 4.4pt while output was active.
+\end{LVerbatim}
+You can go back and look for a way to make the slide shorter, or you can
+insert a "\newslide" command to change the page-break, or you can just ignore
+these warnings.
+
+The recommended value to give in the argument of "\extraslideheight" is the
+largest length by which you might be willing to let a slide overflow.
+
+After you have decided on the page breaks, you can shut up the warnings about
+overfull slides and "\vbox"'s with
+\begin{LVerbatim}
+ \renewcommand{\slidefuzz}{1in}
+\end{LVerbatim}
+The value of \n\slidefuzz\ (which should be length, even though \n\slidefuzz\
+is an ordinary command sequence) is the threshold above which "seminar.sty"
+gives a warning about an overfull slide. The default definition is "2pt".
+
+
+\section{Margins on the page\label{S-slidemargins}}
+
+After "seminar.sty" makes a slide (or a slide page) as described above, it
+(optionally) frames the slide. This is described in Section \ref{S-frames}.
+For making and framing the slide, "seminar.sty" does not need to know anything
+about the paper you are printing on, or the margins you want. Hence, none of
+\LaTeX's standard page parameters are relevant within a slide environment.
+(However, for the sake of consistency, "seminar.sty" sets "\textwidth" to the
+width of the slide and "\textheight" to the height of the slide within a slide
+environment.)
+
+Now "seminar.sty" has to do something with the finished slide. As you read
+this User's Guide, you will find that there are various options. However,
+right now we are making slides for printing on transparencies, and so we have
+to position the slide on the transparency and add headers and footers.
+"seminar.sty" does not use \LaTeX's page parameters for this either. Instead,
+it uses the following parameters:
+\begin{center}
+ \begin{tabular}{lc}
+ {\em Parameter:} & \em Default:\\
+ \N\slideleftmargin & .5in\\
+ \N\sliderightmargin & .5in\\
+ \N\slidetopmargin & .5in\\
+ \N\slidebottommargin & .5in
+ \end{tabular}
+\end{center}
+There are commands, to be set with "\renewcommand".\footnote{The only true
+length parameters (meaning that thay should be set with "\setlength") in
+"seminar.sty" are \n\slidewidth, \n\slideheight, \n\slideframewidth,
+\n\slideframesep, \n\semin, and \n\semcm.}
+
+\begin{figure}
+\hrule height 1pt\relax
+\begin{center}
+\setlength\unitlength{.7cm}
+\begin{picture}(13,11.5)(-1,-1.5)
+\thicklines
+\put(0,0){\framebox(11,8.5){\Huge My slide}}
+\put(5.5,4.25){\fancyoval(8.5,6){}}
+
+\thinlines
+\put(0,8.65){\line(0,1){.3}}
+\put(.75,8.65){\line(0,1){.3}}
+\put(.5,8.8){\vector(1,0){.25}}
+\put(.5,8.8){\vector(-1,0){.5}}
+\put(.375,9.1){\makebox(0,0)[b]{\n\slideleftmargin}}
+
+\put(10.25,8.65){\line(0,1){.3}}
+\put(11,8.65){\line(0,1){.3}}
+\put(10.75,8.8){\vector(1,0){.25}}
+\put(10.75,8.8){\vector(-1,0){.5}}
+\put(10.625,9.1){\makebox(0,0)[b]{\n\sliderightmargin}}
+
+\put(0,-.15){\line(0,-1){.3}}
+\put(11,-.15){\line(0,-1){.3}}
+\put(5.5,-.3){\vector(1,0){5.5}}
+\put(5.5,-.3){\vector(-1,0){5.5}}
+\put(5.5,-.6){\makebox(0,0)[t]{\n\paperheight}}
+
+\put(-.15,0){\line(-1,0){.3}}
+\put(-.15,.75){\line(-1,0){.3}}
+\put(-.3,.5){\vector(0,1){.25}}
+\put(-.3,.5){\vector(0,-1){.5}}
+\put(-.6,.375){\makebox(0,0)[r]{\n\slidebottommargin}}
+
+\put(-.15,8.5){\line(-1,0){.3}}
+\put(-.15,7.75){\line(-1,0){.3}}
+\put(-.3,8){\vector(0,1){.5}}
+\put(-.3,8){\vector(0,-1){.25}}
+\put(-.6,8.125){\makebox(0,0)[r]{\n\slidetopmargin}}
+
+\put(11.15,0){\line(1,0){.3}}
+\put(11.15,8.5){\line(1,0){.3}}
+\put(11.3,4.25){\vector(0,1){4.25}}
+\put(11.3,4.25){\vector(0,-1){4.25}}
+\put(11.6,4.25){\makebox(0,0)[l]{\n\paperwidth}}
+
+\put(.75,7.75){\makebox(0,0)[bl]{Here is my header}}
+\put(10.25,7.75){\makebox(0,0)[br]{9/30/99}}
+\put(.75,.75){\makebox(0,0)[tl]{Here is my footer}}
+\put(10.25,.75){\makebox(0,0)[tr]{7-9}}
+\end{picture}
+
+\caption{Slide margins.\label{SlideMargins}}
+\end{center}
+\hrule height 1pt\relax
+\end{figure}
+
+Look at Figure \ref{SlideMargins}. Note that the headers and footers lie {\em
+inside} the top and bottom margins, respectively. The slide is then centered
+horizontally and vertically between the margins.
+
+
+\section{Magnification and lengths}
+
+"seminar.sty" changes \TeX's magnification so that the output is larger than
+when typesetting an article. This means, for example, that if you paste some
+input from a paper you are writing with \LaTeX\ into a slide, it will look
+pretty much the same in the slide, except that it is magnified. For example,
+"\vspace{.5in}" produces a space that gets bigger along with the fonts and
+everything else. Of course, it won't look identical, since "seminar.sty" uses
+its own spacing parameters and margins.
+
+\TeX's standard magnifications are in magsteps. $n$ magsteps means a
+magnification of $1.2^n$. "seminar.sty"'s default magnification is 4 magsteps,
+but you can change this with the command
+\begin{MD}
+ \slidesmag{n}
+\end{MD}
+<n> should be an integer between $-5$ and 9.
+
+As noted above, lengths grow with the magnification. For spacing, like the
+parameter "\parindent" or using "\\[2pt]" to add a little extra space between
+lines, this is great, because it is easier to think in unmagnified dimensions.
+Setting "\parindent" to ".5cm" will look the same (relative to everything
+else) whatever the magnification.
+
+However, if you want to set the unit in a "picture" environment to 1cm, {\em
+as it appears on the slide}, use
+\begin{LVerbatim}
+ \setslidelength{\unitlength}{1cm}
+\end{LVerbatim}
+"\setslidelength" is like \LaTeX's "\setlength", but it scales the size down
+so that the resulting size after magnification is, in this example, 1cm (in
+the process, it removes any stretch from rubber lengths).%
+\footnote{If you know what {\tt true} dimensions are, you may be wondering why
+they haven't been mentioned. These are not recommended because you will not be
+able to print the slides two-up or use the {\tt article} format.}
+There is also a
+\begin{MD}
+ \addtoslidelength{cmd}{len}
+\end{MD}
+command.
+
+"seminar.sty" also provides the lengths
+\begin{MD}
+ \semin\\
+ \semcm
+\end{MD}
+which are equal to an inch and a centimeter, scaled down to ``before
+magnification'' size. For example,
+\begin{LVerbatim}
+ \rule{1pt}{4\semcm}
+\end{LVerbatim}
+makes a line 4 centimeters long on the transparency,.\footnote{Suppose you
+want to use another unit, such as millimeters, instead of centimeters. Then
+try this:
+\begin{LVerbatim}
+ \newcommand{\semmm}{\semcm}
+ \renewcommand{\semcmlength}{1mm}
+ \setslidelength{\semmm}{1mm}
+\end{LVerbatim}}
+
+"\textwidth", "\textheight", "\columnwidth" and "\linewidth" all have the
+expected values in slides. (But "\slidewidth" and "\slideheight" do not.)
+Thus, this would
+\begin{LVerbatim}
+ \rule{1pt}{.5\textwidth}
+\end{LVerbatim}
+make a line that is 1/2 the width of the slide.
+
+For help getting an EPS file to be the right size, see page \pageref{EPS}.
+
+Finally, there are some parameters that "seminar.sty" scales for you, and
+hence you can (and should) set them at their magnified values (the actual size
+on transparencies):
+\begin{itemize}
+ \item "\slidewidth" and "\slideheight"
+ \item "\slideframewidth" and "\slideframesep" (see Section \ref{S-frames}).
+ \item The slide margin parameters (see Section \ref{S-slidemargins}).
+ \item The \LaTeX\ page parameters, {\em when they are set in the
+preamble}.\footnote{The \LaTeX\ page parameters are listed on page 163 of
+Lamport's {\em \LaTeX\ User's Guide and Reference Manual}. They are used for
+notes (see Section \ref{S-notes}) and the \o{article} option (see Sections
+\ref{S-twoup} and \ref{S-article}), but not for printing slides onto
+transparencies. Lamport warns that resetting page parameters in the middle of
+the document is tricky; here it is more so, because you do have to worry about
+scaling them. But you can use "\setslidelength" for this.}
+\end{itemize}
+
+Note that the warnings about overfull slides (see Section \ref{S-pagebreak})
+report unmagnified dimensions.
+
+
+\section{Font sizes}
+
+The "\slidesmag" command lets you change the magnification of your document.
+You can effectively fine tune the magnification by using the "11pt" and "12pt"
+style options. For example, instead of increasing the magnification from 4 to
+5, you can switch to the "12pt" style option. There are differences---e.g.,
+magnification affects the space you get from "\hspace{1in}"---but the fonts
+will at least be roughly the same size either way. The "11pt" option gives a
+half-step, somewhat like "\slidesmag{4.5}", if the latter were permitted.
+
+Sometimes you want to use smaller font sizes for a single slide, in order to
+fit in that little bit of extra material, or to use larger font sizes, so that
+the few things you have to say on a slide don't look too lonely. You can't
+changing the magnification in the middle of the document, but you can change
+the size of the fonts with the command
+\begin{MD}
+ \ptsize{n}
+\end{MD}
+This switches to the font sizes that are in effect when you use the "<n>pt"
+option. Actually, <n> can be 8, 9, 10, 11, 12, 14 or 17, whether you have
+"art<n>.sty" or not.
+
+
+\section{Spacing parameters\label{S-spacing}}
+
+\begin{figure}
+\hrule height 1pt
+\begin{center}
+\begin{tabular}{llc}
+{\em Command:} & {\em Initializes:} & {\em Default} \\[2pt]
+\N\slideparskip & "\parskip" & "1ex minus .2ex"\\
+\N\slideparindent & "\parindent" & "0pt"\\
+\N\slidefootnotesep & "\footnotesep" & "1.2ex"\\
+\N\slideleftmargini & "\leftmargini" & "1.8em" \\
+\N\slideleftmarginii & "\leftmarginii" & "1.4em" \\
+\N\slideleftmarginiii & "\leftmarginiii" & "1em" \\
+\N\slidelabelsep & "\labelsep" & ".5em" \\
+\N\slideitemsep & "\itemsep" & ".8ex minus .2ex" \\
+\N\slidepartopsep & "\partopsep" & "1ex minus .2ex" \\
+\N\slidestretch & "\baselinestretch" & "1.2"\\
+\N\slidearraystretch & "\arraystretch" & "1.2"
+\end{tabular}
+
+\caption{Slide spacing parameters.\label{SpacingDefaults}}
+\end{center}
+\hrule height 1pt
+\end{figure}
+
+The commands in Figure \ref{SpacingDefaults} are used to initialize some of
+the spacing parameters at the beginning of each slide environment and when
+"\ptsize" is used in a slide environment. These are spacing parameters that
+should depend on the size of fonts and that in \LaTeX's "article" style would
+be set in "art10.sty", etc. These commands should all be changed with
+"\renewcommand", even though, except for the "stretch" parameters, their
+values should be lengths.
+Note that "ex" and "em" units are used because these are the units that depend
+of font sizes.
+
+Outside a slide environment, redefine the commands on the left if you want to
+change these spacing parameters. Within a slide environment, reset the
+parameters directly, or redefine the commands on the left and then use the
+"\ptsize" command.
+
+In other \LaTeX\ styles, the extra distance between lines that is inserted
+when "\baselinestretch" exceeds 1 is eaten up by tall or deep lines. E.g., if
+the line contains a table or a large math operator, there is probably no
+extra space at all. The advantage of this system is that the distance between
+baselines does not fluctuate with every tilde. The disadvantage is that lines
+can end up too close.
+
+In "seminar.sty", on the other hand, fraction
+\begin{MD}
+ \slideskip
+\end{MD}
+of the extra space cannot be eaten, but up to fraction
+\begin{MD}
+ \slideshrink
+\end{MD}
+of this extra space that cannot be eaten can be removed if there is too much
+material on the slide. This gives you added flexibility about how much
+material to include on a slide. Both \n\slideskip\ and \n\slideshrink\ can be
+set with "\renewcommand" to a number between 0 and 1. The default value of
+\n\slideskip\ is ".75" and the default value of \n\slideshrink\ is ".25". Set
+\n\slideskip\ to "0" to revert to \LaTeX's usual behavior, as described above.
+
+For example, suppose you are using a 10pt font, \n\slidestretch\ is "1.2",
+\n\slideskip\ is ".75", and \n\slideshrink\ is ".25". The "\baselineskip" for
+a 10pt font is normally 12pt, leaving a little space between the lines. Then
+"\baselineskip" is set to
+\begin{center}
+ "\slidestretch" $\times$ "12pt" $=$ 1.2$\times$12pt $=$ 14.4pt
+\end{center}
+The extra space between lines that is inserted is thus 2.4pt, and
+\begin{center}
+ "\slideskip" $\times$ 2.4pt $=$ .75$\times$2.4pt $=$ 1.8pt
+\end{center}
+of this cannot be eaten by tall or deep lines. However, the space between
+lines can be reduced by up to
+\begin{center}
+ "\slideshrink" $\times$ 1.8pt $=$ .25$\times$1.8pt $=$ .45pt
+\end{center}
+if the slide would otherwise be too long.
+
+
+\section{Slide frames\label{S-frames}}
+
+Slides can be framed. The command
+\begin{MD}
+ \slideframe[commands]{style}
+\end{MD}
+specifies the frame style to use. Valid frame styles are "none" and "plain",
+unless you use macros that define additional styles. For example, the
+\o{fancybox} style option defines the frames "shadow", "double", "oval" and
+"Oval" (corresponding to the "\shadowbox", "\doublebox", "\ovalbox" and
+"\Ovalbox" commands defined in that style option). The \o{semcolor}
+ option defines the styles "scplain", "scdouble", and "scshadow".
+
+All the frame styles use the lengths
+\begin{MD}
+ \slideframewidth\\
+ \slideframesep
+\end{MD}
+which are the (magnified) width of the line (default 4pt) and the distance
+between the slide and the frame (default .4in), respectively.
+
+\n\slideframe's optional argument is for commands that you want to use to
+customize the slide frame style. For example:
+\begin{LVerbatim}
+ \slideframe[\setlength{shadowsize}{12pt}]{shadow}\\
+ \slideframe[\psset{fillstyle=gradient}]{scplain}
+\end{LVerbatim}
+
+If you want to build your own custom slide frame, use the command
+\begin{MD}
+ \newslideframe{style}[commands]{frame command}
+\end{MD}
+<style> is the name of the frame, "[<commands>]", which is optional, will be
+inserted before the frame command and before the <commands> given by
+"\slideframe"'s optional argument. These commands can be used to set some
+default parameter values. Then the final argument should frame "#1".
+
+For example, if "\myframe{foo}" frames "foo", and if "\myframe" uses the
+length "\baldness" as a parameter, then you might write
+\begin{LVerbatim}
+ \newslideframe{wildframe}[\setlength{\baldness}{.2cm}]%
+ {\myframe{#1}}
+\end{LVerbatim}
+You can still override the default value of "\baldness", as in
+\begin{LVerbatim}
+ \slideframe[\setlength{\baldness}{.1cm}]{wildframe}
+\end{LVerbatim}
+
+There is a starred version of \n\slideframe\ that adds the frame to previously
+specified frames.\footnote{If using color or PostScript images, note that each
+frame gets added to the background.} This can be used for special tricks. For
+example, if you are using the \o{fancybox} and \o{semcolor} options, then
+\begin{LVerbatim}
+ \newslideframe{draft}%
+ {\boxput{\rput{30}{\Huge\gray DRAFT}}{#1}}
+ \slideframe{draft}
+ \slideframe*{scdouble}
+\end{LVerbatim}
+puts the word ``DRAFT'' in the background of each slide, gray and rotated 30
+degrees, and then adds a double frame.\footnote{Use "\boxput*" to put "DRAFT"
+in the foreground. See "fancybox.doc" for details.}
+
+
+\part{Advanced Features}
+
+\section{Counters}
+
+The counter for slides is \C{slide}. The default definition of \N\theslide\ is
+"\arabic{slide}". You can use "\label" and "\ref" to cross-reference slides,
+and the page number in slide environments is set to
+\n\theslide.\footnote{However, these page or slide cross-references are not
+always accurate when you let \TeX\ break pages for you within a slide.} Thus,
+you can write, for example,
+\begin{LVerbatim}
+ See equation (\ref{foo}) on Slide \pageref{foo}.
+\end{LVerbatim}
+
+You may want some counters, such as equation counters, to be reset with each
+new slide environment or \n\newslide\ command. By default, only the "footnote"
+counter is reset this way, but you can specify your own (comma-separated) list
+of counters to be reset with the command
+\begin{MD}
+ \slidereset{list}
+\end{MD}
+If you want to reset additional counters, rather than replace the list
+entirely, use
+\begin{MD}
+ \addtoslidereset{list}
+\end{MD}
+
+There is another way in which the footnote counter gets special treatment. The
+command
+\begin{MD}
+ \theslidefootnote
+\end{MD}
+is used for the counter text instead of "\thefootnote". The default definition
+is
+\begin{LVerbatim}
+ \alph{footnote}
+\end{LVerbatim}
+
+\section{Selectively including or excluding slides}
+
+The commands
+\begin{MD}
+ \onlyslides{list}\\
+ \notslides{list}
+\end{MD}
+can be used to include or exclude only those slides in the given list. The
+argument should expand to a comma-separated list of numbers or ranges. The
+numbers do not need to be in order, the list can contain numbers that do not
+correspond to any slide, and there can be duplicate numbers. Negative numbers
+should be enclosed in curly braces. Since the argument is first expanded, you
+can use the "\ref" command in the argument. For example,
+\begin{LVerbatim}
+ \onlyslides{{-2},\ref{dp}-10,\ref{chart},0,17-999}
+\end{LVerbatim}
+is legal. If "\label{dp}" appears in slide 5 and "\label{chart}" appears in
+slide 12, this is equivalent to:
+\begin{LVerbatim}
+ \onlyslides{{-2},5-10,12,0,17-999}
+\end{LVerbatim}
+
+\section{Printing your slides two-up\label{S-twoup}}
+
+Printing your slides two-up is useful both for previewing slides and for
+making hard copies to distribute or for proofreading.
+
+One way to print your slides two-up is to include the \O{article} style
+option. This is described further below.
+
+Another way is to include the command
+\begin{MD}
+ \twoup[n]
+\end{MD}
+in the preamble. This inputs "2up.tex", which contains generic macros for
+two-up printing, and sets the parameters to values that are likely to work.
+Including the optional argument "[<n>]" increases the two-up magnification by
+$n$ magsteps. $n$ can be a positive or negative integer. If you are not able
+to get the right layout, then include the \O{2up} style option, read the
+documentation of "2up.tex", and set the parameters yourself, rather than using
+the \n\twoup\ command.
+
+The \o{article} style option is also called the article {\em format} (as
+opposed to the slides format). In the article format without the \o{portrait}
+option, the slides are centered horizontally and vertically, two to a page (if
+they fit---landscape slides do fit by default). With the portrait option, the
+slides are printed side-by-side, two to a page. In the \o{article} format, you
+can mix landscape and portrait slides with different orientations, but this
+does not work well with the \o{portrait} option.
+
+You can change the article format's magnification with
+\begin{MD}
+ \articlemag{n}
+\end{MD}
+This command works like the "\slidesmag" command (page \pageref{+slidesmag}).
+The default is
+\begin{LVerbatim}
+ \articlemag{0}
+\end{LVerbatim}
+Increase the article magnification if the slides look too lonely; decrease it
+if they are not coming out two-up.
+
+The size of the slides depends on the {\em difference} between the
+magnifications in the slides and article format. E.g., since the default
+slides magnification is 4 magsteps, the slides are scaled down in the article
+format by 4 magsteps. When you change the slides magnification with
+\n\slidesmag, you also have to change the article magnification with
+\n\articlemag\ by the same amount if you want the size of the slides in the
+article format to remain the same. However, when the article magnification in
+magsteps is negative , you will be using non-standard font magnifications
+(which will produce terrible results if you cannot generate the needed
+fonts---see Appendix \ref{bitmaps} for advice).
+
+Whether or not landscape slides (or rotated portrait slides) come out two-up
+in the article format without the \o{portrait} option depends on (i) the
+difference between the slides and article magnification, (ii) the values of
+\n\slidewidth\ and \n\slideheight\, (iii) the size of the slide frame, and
+(iv) the article format's page parameters. With the default values of
+(ii)--(iv), the slides will still come out two-up if you change the difference
+between the slides and article magnification to 3 (e.g., increase the value of
+\n\articlemag\ by 1). Try this if you want the slides to be larger.
+
+If you use the \o{article} option {\em and} the \n\twoup\ command, then your
+slides should be printed four-up!
+
+You will notice labels on the side or bottom of each slide in the \o{article}
+format. The command
+\begin{MD}
+ \slidestyle{style}
+\end{MD}
+determines where these labels go. There are three predefined slide styles:
+\begin{description}
+\item[\tt empty] No captions or labels are used.
+\item[\tt left] The labels go on the left of each slide (the default when the
+\o{portrait} option is not used).
+\item[\tt bottom] The labels go on the bottom (the default with the
+\o{portrait} option).
+\end{description}
+The label you get is the value of \N\slidelabel. The default definition of
+\n\slidelabel\ is
+\begin{LVerbatim}
+ \bf Slide \theslide
+\end{LVerbatim}
+
+\section{Notes\label{S-notes}}
+
+In addition to slides, you can include a few comments following each slide to
+remind you of what to say, or even the entire text of your presentation for
+your own benefit or to be distributed to others. These comments or text,
+referred to in this documentation as ``notes'', do not go inside any special
+environment. However, a slide cannot go in the middle of a paragraph of notes.
+
+To include notes this way, you have to use one of the following style options,
+which determine what is printed:
+\begin{quote}
+ \begin{tabular}{ll}
+ \O{slidesonly} & Only the slides are printed.\\
+ \O{notes} & Both notes and slides are printed.\\
+ \O{notesonly} & Only the notes are printed.\\
+ \end{tabular}
+\end{quote}
+These style options are referred to as {\em selections} in this documentation.
+
+The pages of notes following slide 5 are numbered 5.1, 5.2, etc.
+
+You can use the "portrait" option to print out your notes, even if you don't
+use this option when printing the slides.
+
+With the "notesonly" selection, the slides are not printed, but they are
+processed. This means that one can still refer in the notes to slides or to
+equations in slides.
+
+The fact that various spacing parameters are initialized at the beginning of
+each slide (see Section \ref{S-spacing}) means that when you reset these
+parameters outside a slide environment, only the notes are affected. This lets
+you use different values for notes and slides. The command \N\slidefonts\ can
+be used for any special font commands that should apply only to slides. Also,
+the command \N\everyslide\ is executed at the beginning of every slide, and
+you can use this for any other customizations you want to include.
+
+You can also use the "11pt" or "12pt" style option for your notes, without
+changing the size of the fonts in the slides, by using the "\ptsize" command
+to set the font sizes for slides. For example, suppose that the "12pt"
+document style option is used, but the preamble contains the command
+\begin{LVerbatim}
+ \ptsize{11}
+\end{LVerbatim}
+and the second slide begins with the command
+\begin{LVerbatim}
+ \ptsize{9}
+\end{LVerbatim}
+Then the notes use the "12pt" font size declarations, all the slides but the
+second one use the "11pt" font size declarations, and the second slide uses
+the "9pt" font size declarations.
+
+Notes are typeset using \LaTeX's standard output routines, and \LaTeX's
+standard page parameters.
+
+ Finally, it is even possible to use a different page style for notes and
+slides. The page style for notes is set by the "\pagestyle" and
+"\thispagestyle" commands. The command
+\begin{MD}
+ \slidepagestyle{style}
+\end{MD}
+sets a different page style for the slides. If the argument is empty, then the
+page style for slides reverts to the one for notes.\footnote{There is no
+"\thisslidepagestyle" command.}
+
+With the command
+\begin{MD}
+ \onlynotestoo
+\end{MD}
+the "\onlyslides" and "\notslides" commands apply to the notes as well.
+
+
+\section{How notes are omitted\label{omit}}
+
+In the previous section, it was stated that notes are not enclosed in a
+special environment. "seminar.sty" omits notes using special
+macros\footnote{Defined in {\tt xcomment.sty}} that comment out everything
+{\em outside} the slide environments (and a few other environments mentioned
+below). Global declarations that should be processed even when slides are
+omitted go in \e{allversions*} environments, described below.
+
+"seminar.sty" also let you use a more conventional approach to notes. If you
+put the command
+\begin{MD}
+ \noxcomment
+\end{MD}
+in the preamble, then the notes go inside \E{note} environments, and you can
+put all the global declarations outside any environment. "xcomment.sty" is
+used to make \e{note} a comment environment when note should be omitted, and
+otherwise the \e{note} environment does nothing. This mode of operation is
+more robust than omitting everything outside the slide environments, but
+remembering to insert the
+\begin{LVerbatim}
+ \begin{note} ... \end{note}
+\end{LVerbatim}
+is more tedious.
+
+Here are a few technicalities that have to do with "xcomment.sty" and that
+apply whether or not you use \n\noxcomment.
+\begin{enumerate}
+\item The text that follows the beginning of a slide environment (when not
+using \n\noxcomment) or the end of a \e{note} environment {\em must have
+balanced curly braces}.
+\item "\input" and "\include" commands are followed, even when found in
+omitted notes, but you must use the \LaTeX\ syntax "\input{<file>}" (as
+opposed to \verb*+\input <file> +), and the inputted file must end with
+"\endinput" (this is a good practice anyway).
+\item In omitted text, "%" is still a comment character (hence it is possible
+to comment out a slide or note environment).
+\item A temporary file, "\jobname.tmp", is created (this is of no
+consequence---just in case you wanted to know where it comes from).
+\end{enumerate}
+
+The rest of this section deals with special considerations when omitting
+everything outside the slide environments.
+
+If you might want to make a global change to one of the slide parameters after
+the document preamble, you cannot include it in a slide environment because
+the change will be local, and you cannot include it in the notes because the
+change won't be processed when the notes are omitted.
+
+To get around this problem, an environment \E{allversions*} is provided. It is
+processed even when notes are omitted, and any parameter changes or command
+definitions made within the environment are global. Don't generate any output
+within this environment.
+
+On a rare occasion you might want to include some text that should be typeset
+even when the other notes are omitted (e.g., a list of the slides, or a cover
+page). The \E{allversions} environment is provided for this purpose.
+
+If you do any serious hacking, you might want to add to the list of
+environments that should be included with the "slidesonly" selection. Do this
+with the command
+\begin{MD}
+ \addtoslidelist{list}
+\end{MD}
+where <list> is a comma separated list of environments, without spaces.
+
+\section{The article format\label{S-article}}
+
+The \o{article} style option was described in Section \ref{S-twoup} as a way
+to print your slides two-up. This option is also a good way to print your
+notes.
+
+The \o{article} option gets its name because your document is typeset somewhat
+like it would be with \LaTeX's "article" style. (It uses \LaTeX's standard
+page parameters, but some of the default values are different.) It is also
+called the article {\em format}; the slides format is what you get without the
+\o{article} option.
+
+You probably don't want to use the \o{portrait} style option with the
+\o{article} format except when you are only printing portrait slides. But you
+are welcome to experiment.
+
+With the \o{notesonly} selection, you can make the notes as big as you want
+using the \n\articlemag\ command (e.g., for easy reading while giving a
+presentation). Just as in the \o{slides} format, the page parameters are
+scaled at the beginning of the document so that they can be set with their
+true dimensions in the preamble.
+
+The commands
+\begin{MD}
+ \setartlength{cmd}{len}\\
+ \addtoartlength{cmd}{len}
+\end{MD}
+are analogous to "\setslidelength" and "\addtoslidelength", but they scale the
+lengths so that they end up at the specified size after magnification in the
+"article" format. You never would use such a command in slide environments or
+to set slide parameters, but you might use these in the notes if you were
+planning on typesetting your notes with the "article" format rather than the
+"slides" format.
+
+You can change the placement of slides in the \o{article} format using the
+\begin{MD}
+ \slideplacement{name}
+\end{MD}
+command. Here are the valid placement names:
+\begin{description}
+ \item[float] The slides are floated. This is the default with the \o{notes}
+selection and the \o{portrait} option.
+ \item[float*] Like "float", but if the notes are printed in a two-column
+format the slides extend across both columns (e.g., like "table" versus
+"table*"). This is the default with the \o{notes} selection without the
+\o{portrait} option.
+ \item[onepercol] Each slide is centered horizontally and vertically within a
+single column. This is the default when only slides are printed and the
+\o{portrait} option is used.
+ \item[twopercol] Each slide is centered horizontally, two or one per column,
+depending on how many fit. This is the default when only slides are printed
+and the \o{portrait} option is not used.
+ \item[here] Each slide is centered horizontally, separated from adjoining
+text or other slides by the rubber length \N\slidesep. The default value of
+\n\slidesep\ is "\intextskip". This is useful with the \o{notes} selection
+when you want the slides to precede accompanying comments and when you do not
+mind large spaces at the bottom of pages.
+ \item[here*] This is like "here*", but with "here*" the length \n\slidesep\
+is not lost when it falls at the beginning of a page or after a slide.
+\end{description}
+
+If you want each slide environment to begin a new page (with any of the
+selections), put the command
+\begin{MD}
+ \slideclearpagetrue
+\end{MD}
+in the preamble.
+
+The \o{notesonly} selection has a starred version, \O{notesonly*}, which
+produces a slide marker for each slide environment, like this one:
+\begin{center}
+\leavevmode
+\vbox{%
+\hrule height 1pt
+\kern 8pt
+\hbox to \linewidth{\hss \LARGE\bf Slide 4 \hss}%
+\kern 8pt
+\hrule height 1pt}
+\end{center}
+
+
+Commands that are irrelevant in the "article" format are simply ignored. The
+idea is that it should be possible to switch back and forth between the two
+formats without making any other changes in the document. However, this is not
+entirely possible. Changing "\parindent" or "\textwidth" in the preamble
+affects both formats. You can get around this using the \n\ifarticle\
+conditional. For example,
+\begin{LVerbatim}
+ \ifarticle
+ blah blah
+ \else
+ blee blee
+ \fi
+\end{LVerbatim}
+The "\else" part is optional.
+
+
+\section{Page styles}
+
+The page styles "empty", "plain", "headings" and "myheadings" work like in
+\LaTeX's article style. There is also a page style "align" which puts "+"
+signs in the corners, like in \SliTeX.\footnote{See question \ref{Pagestyle}
+in Section \ref{tips} for suggestions on defining new page styles.} You can
+change the size of the fonts used in headers and footers in the slides format
+by setting the commands
+\begin{MD}
+ \slideheadfont\\
+ \slidefootfont
+\end{MD}
+to the desired size, using "\renewcommand" (but any explicit font declarations
+in a page style override these commands). The default definition of these
+commands is "\scriptsize".
+
+
+\section{Other style options\label{options}}
+
+The style options described so far, "portrait", "article", "slidesonly",
+"notes", and "notesonly", were designed specifically for "seminar.sty". There
+are other such style options described elsewhere in this documentation:
+"semrot" (page \pageref{o+semrot}), \o{semlayer} (page \pageref{o+semlayer}).
+\o{semcolor} (page \pageref{o+semcolor}), "semhelv" (page
+\pageref{o+semhelv}), "semlcmss" (page \pageref{o+semlcmss}), and "a4" (page
+\pageref{o+a4}).
+
+Here are two more style options that are part of the "seminar.sty" package,
+but that can be used with other document styles:
+\begin{description}
+\item[fancybox] "fancybox.sty" is specific to slides, but it contains commands
+and documentation that are useful for making slides.
+
+\item[slidesec] This sets up some sectioning/heading commands for slides, and
+lets you print a list of slides or a table of contents. See the file
+"slidesec.sty" for details.
+\end{description}
+
+It is impossible to predict, much less describe, the consequences of using all
+the other available \LaTeX{} style option with each selection and format.
+Since this document style is an extension of \LaTeX's "article" style, style
+options and commands that do not work with \SliTeX{} may well work here. Just
+about any style option that works with \LaTeX's "article" style will work with
+the "article" format. When unsure of the effect of an option, just try it and
+see for yourself what happens.
+
+\section{Overlays\label{S-overlays}}
+
+For overlays, you must use both the \O{semlayer} and \o{semcolor} style
+options (see page \pageref{o+semcolor}).
+
+Overlays have two purposes. First, you can use overlays to gradually add
+layers of information on a slide during a presentation. Second, you can use
+overlays to make color layers; each layer is printed in black-on-white on
+paper, and then you use some kind of color copying service to put each layer
+on a transparency in a different color. This is not nearly as nice as having a
+color printer or using a color printing service, but it's the next best thing.
+
+"seminar.sty" lets you make both types of overlays (and the main slide) from a
+single slide environment. The command\footnote{You can also write
+\begin{Ex}
+ "\begin{overlay}{<n>}" $\ldots$ "\end{overlay}"
+\end{Ex}}
+\begin{MD}
+ \overlay{n}
+\end{MD}
+puts whatever is in its scope (\TeX\ group) on overlay $n$, where
+$n=0,\ldots,9$. Actually, overlay 0 refers to the main slide, but you might
+use "\overlay{0}" because overlay commands can be nested. As implemented by
+the "semcolor" style option, these overlay commands can be used just about
+anywhere, including in math mode, tables, and around an included graphics file
+(if it is a conforming EPS file, at least). Also, it is all right to use
+non-consecutive overlay numbers.
+
+For color layers, you have to start by defining some colors using the command
+\begin{MD}
+ \colorlayers{colors}
+\end{MD}
+<colors> should be a comma separated list of color names, without spaces, as
+in
+\begin{LVerbatim}
+ \colorlayers{red,green,blue}
+\end{LVerbatim}
+Then you can use the command "\red" just like the command \n\overlay"{<n>}";
+everything in its scope goes on a red color layer.
+
+The "\colorlayers" command obeys the usual rules on scope. You can use this
+command any time, including in a slide environment. The command is cumulative,
+meaning that previously defined color layers continue to exist. The command
+was purposely defined so that it does not complain when a color name is
+already defined; this makes it easier to switch from some other color system
+to a layer system. However, you should be careful not to inadvertently
+redefine some command that you need. Fortunately, there are no \TeX{}
+primitives whose names are the names of colors.
+
+When you print out the slides, the main slide is printed, followed by each of
+the color layers (if any) for the main slide. Then each of the overlays is
+printed, together with each of its color layers. Only overlays or color layers
+that are actually used (i.e., that are not empty) are printed.
+
+You can turn overlays and color layers on and off with the commands
+\begin{MD}
+ \overlaystrue\\
+ \overlaysfalse\\
+ \layerstrue\\
+ \layersfalse
+\end{MD}
+These commands can be used at any time, and they obey the usual scoping rules.
+The default is for overlays to be active in the "slides" format and suppressed
+in the "article" format.
+
+The counter \C{overlay} keeps track of the overlays. The default definition of
+\N\theoverlay\ is:
+\begin{LVerbatim}
+ \theslide-\alph{overlay}
+\end{LVerbatim}
+Overlays can be cross-referenced.
+
+The command \N\currlayer\ is set to the name of the current color layer.
+\N\thelayer\ makes a label for layers; its default definition is:
+\begin{LVerbatim}
+ \theoverlay-\currlayer
+\end{LVerbatim}
+Color layers cannot be cross-referenced.
+
+For example, if slide 7 has overlays 1 and 2 and colors "red" and "green",
+then the main slide is numbered 7, followed by layers 7-red and 7-green,
+followed by overlay 7-a, followed by layers 7-a-red and 7-a-green, followed by
+overlay 7-b, followed by layers 7-b-red and 7-b-green.
+
+The caption used in the slide styles is \n\overlaylabel\ for overlays and
+\N\layerlabel\ for layers. The defaults are, respectively,
+\begin{LVerbatim}
+ \bf Overlay \theoverlay
+ \bf Layer \thelayer
+\end{LVerbatim}
+
+By default the overlays and layers use the same page styles in the "slides"
+format as their ``owner.'' You can specify special page styles with the
+commands:
+\begin{MD}
+ \overlaypagestyle{style}\\
+ \layerpagestyle{style}
+\end{MD}
+
+Finally, by default the overlays and layers use the same frame style as their
+``owner.'' You can specify special frame styles with the commands:
+\begin{MD}
+ \overlayframe[commands]{style}\\
+ \layerframe[commands]{style}
+\end{MD}
+
+
+\part{Help\label{Help}}
+
+Road map:
+\begin{itemize}
+ \item If you just want to figure out how to do something, check Section
+\ref{tips}, ``Tips and tricks.''
+ \item If you are trying to decipher an error message, check Section
+\ref{errors}, ``Errors.''
+ \item If you are trying to solve some system-dependent problem that has
+arisen, check Section \ref{trouble}, ``Troubleshooting.''
+ \item To convert \SliTeX\ files, see Section \ref{slitex}, ``Converting
+\SliTeX\ files''.
+\end{itemize}
+
+\section{Tips and tricks\label{tips}}
+
+\faq{How can I fit more material in the slides?}
+
+Or alternatively, make the little material you have fill up the slide.
+
+Let us count the ways:
+\begin{enumerate}
+\item Change the magnification with \n\slidesmag"{<n>}" (affects all the
+slides).
+\item Change the height and/or width of one or all the slides.
+\item Use "\ptsize{<n>}".
+\item Change \n\slidestretch.
+\item Use the \n\raggedslides\ command, which changes the propensity to
+hyphenate.
+\end{enumerate}
+
+\faq{How do I include an Encapsulated PostScript figure?\label{EPS}}
+
+The only thing tricky about including EPS files is getting the size right. For
+example, suppose the you want to include a postscript file in a slide using
+the "epsf.sty" macros, and you want it to be 6 inches wide. Then this will do
+the trick:
+\begin{LVerbatim}
+ \setslidelength{\epsfxsize}{6in}
+ \epsffile{mypic.eps}
+\end{LVerbatim}
+
+If you include the command
+\begin{MD}
+ \espfslidesize
+\end{MD}
+(e.g., in the preamble), then "epsf.sty" will take care of scaling the size
+for you, and so you can just set "\epsfxsize" and "\epsfysize" to their
+magnified sizes (using "\setlength" rather than "\setslidelength"). Or you can
+not set these parameters at all, and then the eps file appears at its natural
+size on the slide.
+
+Either way, this will have the expected effect:
+\begin{LVerbatim}
+ \setlength{\epsfysize}{.8\textheight}
+ \epsffile{mypic.eps}
+\end{LVerbatim}
+
+"psfig.tex" does not handle magnification properly. By using magnified
+dimensions, without "\setslidelength", as in
+\begin{LVerbatim}
+ \psfig{file=mypic.eps,width=6in}
+\end{LVerbatim}
+the picture should appear correctly within a slide, but then it will not scale
+properly if you try to use the \o{article} option or the \n\twoup\ command.
+The solution, if using Rokicki's "dvips", is to use "epsf.sty" (written by the
+man himself).
+
+\faq{How can I print just selected overlays, layers or pages of notes in the
+{\tt slides} format?}
+
+The "\onlyslides" and "\notslides" commands affect only slides. If a slide is
+omitted, so are all its overlays and color layers. To be more selective, you
+have to use your dvi driver to select the pages to be printed.
+
+In the "slides" format, the page numbers recognized by dvi drivers correspond
+to the numbers of the slides. This means that a slide and all the overlays,
+layers and notes that correspond to that slide have the same page number. Some
+drivers allow one to select occurrence $n$ of a page number. E.g., with
+"dvips",
+\begin{LVerbatim}
+ dvips -p2.1 -l2.4 myslides
+\end{LVerbatim}
+will print the first through fourth page of overlays or notes that follow
+slide 2.
+
+If your dvi driver does not support such selection, and you would prefer that
+the driver recognize physical page numbers, then put the command
+\N\truepagenumbers\ in the preamble.
+
+
+\faq{How do I define custom page styles?}
+\label{Pagestyle}
+
+There is nothing special about defining new page styles in "seminar.sty".
+However, to make it easier to do this in the preamble, the commands
+\begin{MD}
+ \newpagestyle{style}{header}{footer}\\
+ \renewpagestyle{style}{header}{footer}
+\end{MD}
+are provided.\footnote{%
+ You can also use the macros in "fancyheadings.sty", which is available from
+various archives. However, you have to set the pagestyle {\em after}
+"\begin{document}".
+Otherwise, the dimensions get screwed up. If using the \o{slidesonly}
+selection, then you also need to enclose the "\pagestyle" command in
+an \e{allversions*} environment. E.g.,
+\begin{LVerbatim}
+ \begin{allversions*}
+ \pagestyle{fancy}
+ \end{allversions*}
+\end{LVerbatim}}
+
+<style> is the name of the page style, and <header> is the header, and
+<footer> is the footer. These can only be used for simple page styles that are
+the same for odd and even pages, and that do not do anything special with
+section marks.
+
+Headers and footers are set in an "\hbox" the width of the page
+("\textwidth"). You can use stretchable space such as "\hspace*{\fill}" or
+"\hfil" to center some information or put it flush against the margins. See
+the definitions of page styles in "latex.tex" and "article.sty" for examples.
+
+Here is an example: Professor Starr wants lots of information in the headers
+and footers for the slides, and so she defines the page style
+"mypagestyle":\footnote{{\tt\string\thedate} is set with the {\tt\string\date}
+command.}
+\begin{LVerbatim}
+ \newpagestyle{mypagestyle}%
+ {\sl Big U \hfil \thedate \hfil \thepage}%
+ {\hfil File \jobname.tex; printed \today\hfil}
+\end{LVerbatim}
+Prof.\ Starr wants to use the standard "headings" page style for notes and the
+"mypagestyle" page style for slides, and she wants overlays to just have the
+overlay number. Therefore, she defines another page style for the overlays:
+\begin{LVerbatim}
+ \newpagestyle{myoverlays}{\hfil \thepage}{}
+\end{LVerbatim}
+and she puts
+\begin{LVerbatim}
+ \pagestyle{headings}
+ \slidepagestyle{mypagestyle}
+ \overlaypagestyle{myoverlays}
+\end{LVerbatim}
+in the preamble.
+
+\faq{How do I change a parameter only for the {\tt slides} format?}
+\label{conditionals}
+
+The conditionals
+\begin{MD}
+ \ifarticle\ $\ldots$ "\else" $\ldots$ "\fi"\\
+ \ifslidesonly\ $\ldots$ "\else" $\ldots$ "\fi"\\
+ \ifnotes\ $\ldots$ "\else" $\ldots$ "\fi"\\
+ \ifnotesonly\ $\ldots$ "\else" $\ldots$ "\fi"\\
+ \ifportrait\ $\ldots$ "\else" $\ldots$ "\fi"
+\end{MD}
+allow one to select for what versions material is to be processed. "\ifnotes"
+is true if and only if the "notes" selection is in effect, and so on. The
+"\else" clause is optional. See {\em The \TeX book}, Chapter 20, for more
+information about using conditionals.
+
+For example, the first line below sets the slide rotation to "right" in the
+"article" format only. The second line changes the page style for the "notes"
+and "notesonly" selections and "article" format:
+\begin{LVerbatim}
+ \ifarticle\sliderotation{right}\fi
+ \ifarticle\ifslidesonly\else\pagestyle{myheadings}\fi\fi
+\end{LVerbatim}
+
+\faq{Why does extra space get inserted at the top of a slide when I begin the
+slide with a color or overlay command (when using the \o{semcolor} option)?}
+
+Color and overlay commands with the "semcolor" option use "\special"'s. \TeX{}
+adds the space "\parskip" between the "\special"'s and the first material in
+the slide.
+
+Here is the workaround: If that material is an ordinary paragraph, put the
+command "\leavevmode" just after the color or overlay command. In other cases,
+if you are sure this is the problem, put "\vskip-\parskip" just before the
+color or overlay command.
+
+\section{Errors\label{errors}}
+
+There are several errors that identify themselves as being from "seminar.sty",
+but the error messages are so self-explanatory that that there is no need to
+describe them here. Instead, this section explains a few especially cryptic
+\TeX{} error messages that can arise when using "seminar.sty". These errors
+may also arise for reasons that are not particular to the "seminar.sty"
+macros. See your favorite \TeX{} and \LaTeX{} manuals for more help in
+debugging your documents.
+
+\error"! File ended while scanning use of \next."
+
+You are missing an "\end{document}" on the main file or an "\endinput" on a
+file that is input.
+
+
+\error"! File ended within \read."
+
+You may have an unmatched curly brace following "\begin{slide}" on the same
+line. See Section \ref{omit}.
+
+
+\error"! Paragraph ended before \begin@slide was complete."
+
+You have not specified the optional argument for the "slide" or "slide*"
+environment correctly (see Section \ref{slidedim}), or the first character in
+a slide environment is a "[" (put a pair "{}" of braces before the "[").
+
+\section{Troubleshooting\label{trouble}}
+\setcounter{faq}{0}
+
+\faq{A few slides do not come out two-up with the \o{article} option.}
+
+First, read Section \ref{S-twoup} carefully. If the slides still do not come
+out twoup, it might be that there is extraneous output between the slides. Try
+putting the commands
+\begin{LVerbatim}
+ \slideplacement{here*}
+ \setlength{\slidesep}{8pt plus 1fill}
+\end{LVerbatim}
+in the preamble ("8pt" should be one-half the minimum distance between
+slides). If this solves the problem, look for the extraneous output, or just
+leave those commands in the preamble.
+
+
+\faq{What kind of incompatibilities are there between {\tt seminar.sty} and
+other macros?}
+
+Of course, whenever you load macros that are not part of the standard \LaTeX{}
+distribution and that were not designed to work with "seminar.sty", problems
+may arise because of name conflicts. What are listed here are changes made to
+\LaTeX{} commands that may conflict with other macros that also redefine these
+command. The problems listed here are very unlikely to occur, however, unless
+you have a habit of seriously hacking the standard \LaTeX{} macro files.
+
+\begin{enumerate}
+\item This style modifies the definitions of the \LaTeX{} primitive
+"\document". It generally will not be upset by, nor will it void,
+modifications to "\document" made before "seminar.sty" is input. However,
+subsequent modifications of "\document" may cause problems.
+
+\item "xcomment.sty", which is input by "seminar.sty" with the "slidesonly"
+selection, modifies the definition of "\end" within included environments.
+This is generally compatible with modifications to "\end" made outside
+environments, but may conflict with modifications to "\end" made inside
+environments.
+\end{enumerate}
+
+\faq{Why are the landscape slides displayed sideways and the portrait slides
+displayed upside down on my previewer?}
+
+This document style makes frequent use of landscape mode. Some DVI-to-PS
+converters, such as older versions of Rokicki's "dvips", use their own
+PostScript macros to print a landscape document, rather than simply
+instructing PostScript to use landscape mode.
+If the PostScript output of such a converter is viewed using a PostScript
+previewer that does not allow you to choose the orientation of the display,
+the output will be positioned correctly on the page, but the page will always
+be displayed in portrait mode. When viewing slides without the "portrait"
+option, the landscape slides will be sideways, and the portrait slides will be
+upside-down!
+
+There is nothing this style can do to coerce the page to be displayed in
+landscape mode. There are various ways to minimize neck strain, however:
+\begin{enumerate}
+\item The direction in which the portrait slides are rotated can be reversed,
+so that they end up right-side-up. Just put
+\begin{LVerbatim}
+ \sliderotation{right}
+\end{LVerbatim}
+before the beginning of the document (assuming that you are using rotation
+macros).
+\item You can also get the portrait slides to be displayed right-side-up by
+using the "portrait" style option (Section \ref{options}).
+\item In the "article" format, the document is typeset in portrait mode
+(unless the "portrait" option is used), and so the landscape slides are
+right-side-up. You can use this format when composing and proof-reading the
+slides.
+\end{enumerate}
+
+\faq{Why is my dvi driver soooo slow?}
+
+Probably it cannot find the right font bitmaps, and so it is either
+automatically generating new ones, or it is scaling the ones it can find.
+Either way, as long as you can somehow generate the missing font bitmaps, this
+problem is transitory. See Appendix \ref{bitmaps} for details.
+
+\faq{Why does \TeX{} complain about missing circle fonts?}
+
+Older versions of the NFSS use the names "circle10" and "circlew10" for the
+\LaTeX circle fonts, instead of the otherwise standard names "lcircle10" and
+"lcirclew10". You can copy your ".pk" and ".tfm" files to the new names, or
+get a new version of the NFSS.
+
+\section{Converting \SliTeX\ files}\label{slitex}
+
+"seminar.sty" can do everything \SliTeX\ can do, and much
+more\footnote{However, color layers and overlays require PSTricks and a
+PostScript printer.} Here is a brief and incomplete description of how to do
+with "seminar.sty" what you can do with \SliTeX, and how to convert \SliTeX\
+files.
+
+\begin{itemize}
+ \item Use "seminar" as your document style, instead of "slides".
+
+ \item Run \LaTeX\ or \AmS-\LaTeX, instead of \SliTeX.
+
+ \item With "seminar.sty", the preamble and slides can all go in the same
+file.
+
+ \item The default in "seminar.sty" is to get landscape slides. If you want
+to convert a \SliTeX\ file containing portrait slides, add the "portrait"
+style option, and replace your "slide" environments by "slide*" environments.
+
+ \item With "seminar.sty", notes do not need to go in a separate environment.
+To convert a \SliTeX\ file containing "note" environments, define a note
+environment that does nothing:
+\begin{LVerbatim}
+ \newenvironment{note}{}{}
+\end{LVerbatim}
+
+ \item For color layers:
+ \begin{itemize}
+ \item Use the "\colorlayers" command instead of the "\colors" command.
+ \item Delete the argument to the "slide" and "slide*" environments that
+lists the color layers.
+ \item Include the \o{semlayer} style option.
+ \end{itemize}
+
+ \item "seminar.sty" does not use separate environments for overlays:
+ \begin{itemize}
+ \item Remove the "overlay" environments.
+ \item Replace "\invisible" commands by "\overlay{1}", "\overlay{2}", etc.
+ \item Include the \o{semlayer} style option.
+ \end{itemize}
+
+ \item To actually produce the overlays and color layers, you have to have
+PSTricks and a PostScript printer, and you must include the \o{semcolor} style
+option.
+
+ \item Use \n\onlyslides"{<list>}" and \n\onlynotestoo\ instead of
+"\onlynotes".
+\end{itemize}
+
+
+\begingroup
+\def\addcontentsline#1#2#3{}%
+\def\thepart{Appendices:}
+\part{Configuration}
+\endgroup
+\begingroup
+\def\thepart{}
+\addcontentsline{toc}{part}{Appendices:\hspace{1em}Configuration}
+\endgroup
+\appendix
+
+Before reading this appendix, you should follow the installation instructions
+in the file "sem-read.me" that is distributed with "seminar.sty".
+
+\section{The short story about fonts}\label{short-fonts}
+
+"seminar.sty" is a \LaTeX{} style, and you can use whatever fonts that are
+compatible with \LaTeX\ (or \AmS-\LaTeX). However, you are likely to want to
+use special fonts with "seminar.sty"; see Appendix \ref{fonts} for help.
+Furthermore, you are likely to want to use fonts in sizes that are larger than
+the standard sizes; see Appendix \ref{bitmaps} for help.
+
+But if you don't want to read these appendices, you can just use whatever
+\LaTeX\ fonts you know how to use (e.g., the standard Computer Modern fonts).
+To be sure you need only standard font magnifications:\footnote{This is not a
+consideration if you are using only PostScript or other scalable fonts.}
+\begin{itemize}\label{font-res}
+ \item Don't use the "11pt" or "12pt" style options (or the \n\ptsize{}
+command).
+ \item Don't change the document magnification (or only use 0--4 magsteps).
+ \item Don't use any font size larger than "\large".
+ \item Don't use the \n\twoup\ command.
+\end{itemize}
+
+\section{Choosing fonts\label{fonts}}
+
+So that you can use different fonts for the notes and the slides (if you
+want), the command "\slidefonts" is invoked at the beginning of every slide
+environment. Define it to set up any special fonts for the slides.
+
+Here are the font configurations that come ready-to-use with "seminar.sty".
+You might also use these as a starting point for your own configurations.
+\begin{enumerate}
+\item You can just use the regular old Computer Modern fonts that you probably
+grew up on. For this, you don't have to do anything at all. Ain't that easy?
+But see the next section about font bitmaps.
+
+\item The \O{semhelv} style option sets up the PostScript Helvetica text fonts
+for the slides. The Computer Modern fonts are still used for math and for the
+notes with the \o{article} format. You need a PostScript printer, a dvi-to-ps
+driver that supports PostScript fonts (e.g., Rokicki's "dvips"), and the New
+Font Selection Scheme. You should also check the font file names used in
+"semhelv.sty", and change them if necessary to match the names on your system.
+
+This combination of fonts is highly recommended because sans serif fonts look
+good for slides, Helvetica is a resident font in just about all PostScript
+printers, and the fonts are scalable and thus there is no problem of needing
+new bitmaps.
+
+\item The \O{semlcmss} style option sets up the \SliTeX\ sans serif fonts for
+the slides, and uses the Computer Modern fonts for notes with the \o{article}
+format. The \SliTeX\ fonts are ugly, but they might be the only usable sans
+serif font you have on your system and you are really dying for that kind of
+font. Also, they usually come ready for printing magnified documents, and so
+you won't need too many new font bitmaps. You must have the New Font Selection
+Scheme. "semlcmss" uses
+\begin{LVerbatim}
+ \slidesmag{4}
+ \ptsize{10}
+\end{LVerbatim}
+Deviating from this will increase the need for new font bitmaps.
+\end{enumerate}
+
+The New Font Selection Scheme (NFSS) mentioned above is a macro package for
+\LaTeX{} that greatly simplifies using non-standard fonts. The NFSS was
+written by Frank Mittelbach and Rainer Sch\"opf, and is available from various
+archives, including:
+\begin{center}
+"ftp.uni-stuttgart.de"
+\end{center}
+It is far easier to take the 10 minutes or so that are required (in theory, at
+least) to install the NFSS, than it is to try to muck around with \LaTeX's
+font primitives.
+
+
+\section{Font bitmaps\label{bitmaps}}
+
+If you are only using PostScript or other scalable fonts, or if you obey the
+restrictions listed on page \pageref{font-res}, then you can ignores this
+appendix.
+
+To use "seminar.sty", you may need font bitmap sizes that are not currently
+found on your system. This section describes how to avoid this and what to do
+about it. First, a few paragraphs about magnification and font bitmaps.
+
+\TeX's Metafont fonts are designed for a type size, such as 5pt. Most font
+families are available at least in the sizes 5pt, 6pt, 7pt, 8pt, 9pt and 10pt.
+Some are also available in the sizes 12pt and 17pt (and others), but often any
+size above 10pt is obtained by scaling the 10pt fonts. Table \ref{font-mag}
+lists the possible magnifications for fonts, depending on which option you are
+using ("10pt", "11pt" or "12pt"), and depending on the \LaTeX{} type size
+declaration that is in effect (e.g., "\small"). The magnifications are given
+in magsteps, which is \TeX's standard unit for font magnifications. $n$
+magsteps means a magnification of $1.2^n$.
+
+\begin{table}
+\hrule height 1pt\relax
+\begin{center}
+\begin{tabular}{l|c|c|c|}
+\multicolumn{1}{l}{size} &
+\multicolumn{1}{c}{default (10pt)} &
+ \multicolumn{1}{c}{11pt option} &
+ \multicolumn{1}{c}{12pt option}\\
+\cline{2-4} "\tiny" & 0 & 0 & 0\\
+\cline{2-4} "\scriptsize" & 0 & 0 & 0\\
+\cline{2-4} "\footnotesize" & 0 & 0 & 0 \\
+\cline{2-4} "\small" & 0 & 0 & 1/2 \\
+\cline{2-4} "\normalsize" & 0 & 1/2 & 1 \\
+\cline{2-4} "\large" & 1 & 1 & 2 \\
+\cline{2-4} "\Large" & 2 & 2 & 3 \\
+\cline{2-4} "\LARGE" & 3 & 3 & 4\\
+\cline{2-4} "\huge" & 4 & 4 & 5\\
+\cline{2-4} "\Huge" & 5 & 5 & 5\\
+\cline{2-4}
+\end{tabular}
+
+\caption{Font magnification in magsteps ($n$ means a magnification of $1.2^n$)
+for a font that is available in 5pt, 6pt, 7pt, 8pt, 9pt and 10pt
+sizes.\label{font-mag}}
+\end{center}
+\hrule height 1pt\relax
+\end{table}
+
+Both the "article" and the "slides" formats may also magnify the document. By
+default, the magnification of the "slides" format is 4 magsteps, and the
+magnification of the "article" format is 0. To find the total font
+magnification, add the magnification listed in the table to the magnification
+of the document. E.g., in the "slides" format with the "12pt" option (or the
+command "\ptsize{12}" at the beginning of a slide), the "\large" command may
+invoke fonts that have a magnification of up to 7 magsteps.
+
+Most systems have font bitmaps for 0, 1/2, 1, 2, 3, 4 and 5 magsteps. If you
+obey the restrictions listed on page \pageref{font-res}, then you will only
+need fonts in these standard magnifications. However, if you want to use other
+font magnifications, then check with your system administrator to determine
+which of the following applies to you (or just plunge ahead and see what
+happens):
+\begin{enumerate}
+\item If you have Metafont and "dvips" or some other driver that automatically
+generates font bitmaps as needed, and if this feature is enabled, then you
+will simply notice that it takes a long time to print documents at first,
+because the driver has to wait for the new font bitmaps to be made.
+Eventually, you will have generated all the extra bitmaps you need, and this
+delay will go away.
+\item If you have Metafont, but your dvi driver does not automatically
+generate needed bitmaps, then you just need to keep track of what font bitmaps
+you are missing as you use "seminar.sty" and occasionally run Metafont to make
+them. You will also notice a delay when a font bitmap is missing, because your
+driver will probably scale the closest bitmap it finds, and this can take time
+on some systems.
+\item If you do not even have Metafont, then you have to try to get by without
+the extra bitmaps. Scaled fonts look lousy, but an occasional scaled font in a
+heading is not so bad.
+\end{enumerate}
+
+Of course, PostScript and other scalable fonts do not present any problem, and
+so it is a good idea to use these as much as possible. The Computer Modern
+fonts are available from Blue Sky Research in PostScript Type I format. If you
+do not have PostScript versions of the CM fonts, and you instead use other
+PostScript fonts for text, then you are likely to still need bitmapped fonts
+for mathematics. However, since mathematics is usually set at "\normalsize" or
+smaller, this is not a big problem.
+
+If you are installing "seminar.sty" on a multi-user system, then hopefully you
+will make the needed fonts available.
+
+\section{Color}
+
+You can use whatever color commands you ordinarily use with \LaTeX. You might
+try the \o{semcolor} style option, which lets you use the PSTricks color
+commands for printing on a color PostScript printer. The \o{semcolor} option
+combined with the \o{semlayer} option (see Section \ref{S-overlays}) lets you
+print color layers.
+
+\section{Landscape printing and slide rotation\label{S-landscape}}
+
+If your dvi driver supports a "\special" for landscape printing, then you can
+define \N\printlandscape\ in the preamble of your document to invoke this
+command. E.g., for "dvips" put the line
+\begin{LVerbatim}
+ \renewcommand{\printlandscape}{\special{landscape}}
+\end{LVerbatim}
+in the preamble. Otherwise, "seminar.sty" will display a message reminding you
+to print your document in landscape mode, when appropriate.
+
+You can print both landscape and portrait slides in one shot if you can rotate
+the portrait slides when printing in landscape mode or the landscape slides
+when printing in portrait mode. If you are using a PostScript printer, you
+probably are using a dvi driver that supports rotation; otherwise, you
+probably are not. Here are suggestions for setting up rotation:
+\begin{itemize}
+\item The \o{semcolor} option provides an interface to the rotation macros in
+PSTricks (see Appendix \ref{S-semcolor}); it works with many popular dvi-to-ps
+drivers.
+
+\item If you are using Rokicki's "dvips" and want rotation but do not want to
+load the entire PSTricks package, then use the \O{semrot} option instead of
+the \o{semcolor} option.
+
+\item If the \o{semcolor} and \o{semrot} options do not work for you, but you
+have your own rotation macros, then you have to define the commands
+\begin{MD}
+ \leftsliderotation\\
+ \rightsliderotation
+\end{MD}
+so that they rotate something left and right, respectively. For example,
+\begin{LVerbatim}
+ \renewcommand{\leftsliderotation}[1]{\rotateleft{#1}}
+\end{LVerbatim}
+\end{itemize}
+
+In any case, you can determine the direction of rotation using
+\begin{MD}
+ \sliderotation{direction}
+\end{MD}
+where valid directions are "none", "left" and "right". The default is "left".
+
+By default, the headers and footers aren't rotated, but you can switch between
+rotating and not rotating the headers with the commands:
+\begin{MD}
+ \rotateheaderstrue\\
+ \rotateheadersfalse
+\end{MD}
+
+\section{The semcolor style option\label{S-semcolor}}
+
+The \O{semcolor} option sets up an interface between "seminar.sty" and the
+PSTricks package. PSTricks is a collection of PostScript macros for \TeX. It
+works with Rokicki's "dvips", and several other dvi-to-ps drivers. You can
+probably get the PSTricks package from wherever you obtained "seminar.sty", or
+check the archives listed in the PSTricks read-me file, "read-me.pst", which
+is distributed with "seminar.sty".
+
+What the \o{semcolor} style option gives you, compared to just using the
+PSTricks package, is:
+\begin{description}
+\item[Color] A small patch to make the PSTricks color commands more robust in
+slides.
+\item[Rotation] The rotations "left" and "right" are defined. "left" is the
+default.
+\item[Framing] The frame styles "scplain" (using "\psframebox"), "scdouble"
+(using "\psdblframebox") and "scshadow" (using "\psshadowbox").
+\item[Overlays] Overlays and layers, when used in conjunction with the
+\o{semlayer} option.
+\end{description}
+
+\section{A4 and other paper sizes\label{S-papersizes}}
+
+Use the \O{a4} option when using A4 paper. Note that this option does not
+correspond to an independent file.
+
+If you want to configure seminar.sty for A4 paper by default (without having
+to include style options), then you can do one of the following:
+\begin{enumerate}
+
+ \item Add the following line to "seminar.con" (see Appendix
+\ref{S-configfile}):
+\begin{LVerbatim}
+ \input{sem-a4.sty}
+\end{LVerbatim}
+
+ \item Add the following lines to "seminar.con" (these lines are just the
+contents of "sem-a4.sty"):
+\begin{LVerbatim}
+ \def\paperwidth{210mm}
+ \def\paperheight{297mm}
+ \input sem-page.sty
+ \slidewidth 222mm
+ \slideheight 152mm
+\end{LVerbatim}
+
+ \item Create a file such as "mysem.sty", to be used as a document {\em
+style} (rather than style {\em option}), with the following lines:
+\begin{LVerbatim}
+ \def\paperwidth{210mm}
+ \def\paperheight{297mm}
+ \input seminar.sty
+ \slidewidth 222mm
+ \slideheight 152mm
+\end{LVerbatim}
+
+\end{enumerate}
+
+For other paper sizes, you can create a style option by modifying
+"sem-a4.sty". Then any of the options described above is available to you,
+(with the appropriate parameter values). However, this will give satisfactory
+results only for paper sizes that are close to A4 or 8.5in by 11in.
+
+Note that for any paper size, even 8.5in by 11in, the page parameters that are
+set this way are just suggested defaults, and most people will want to
+customize them. Because of the variety of ways in which "seminar.sty"
+documents can be printed, this is a little more complex than with most
+document styles. Examine "sem-page.sty" to see what page parameters need to be
+set, and when.
+
+\section{Configuration file\label{S-configfile}}
+
+You can put customizations to "seminar.sty" in a file named "seminar.con".
+This file is optional. It is loaded by "seminar.sty" if it exists, {\em
+before} loading the style option files. E.g., "seminar.con" might contain the
+following lines:
+\begin{LVerbatim}
+ \input semhelv.sty
+ \input semcolor.sty
+ \renewcommand{\printlandscape}{\special{landscape}}
+ \endinput
+\end{LVerbatim}
+
+\clearpage
+\PrintUserIndex
+
+\end{document}
+%% END sem-user.tex
diff --git a/macros/latex/contrib/seminar/doc/semsamp1.pdf b/macros/latex/contrib/seminar/doc/semsamp1.pdf
new file mode 100644
index 0000000000..3024550bec
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/semsamp1.pdf
Binary files differ
diff --git a/macros/latex/contrib/seminar/doc/semsamp1.tex b/macros/latex/contrib/seminar/doc/semsamp1.tex
new file mode 100644
index 0000000000..9f896093fc
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/semsamp1.tex
@@ -0,0 +1,110 @@
+\listfiles
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+%% BEGIN semsamp1.tex
+%
+% This is a sample document for seminar.sty, v0.93 (and maybe later).
+%
+% Try this with and without the article option:
+
+\documentclass[fancybox,article]{seminar}
+
+\def\printlandscape{\special{landscape}} % Works with dvips.
+
+\articlemag{1}
+
+%\twoup % Try me.
+
+\newpagestyle{327}%
+ {Economics 327 \hspace{\fill}\rightmark \hspace{\fill}\thepage}{}%
+\pagestyle{327}
+
+\markright{Choice under uncertainty}
+
+\slideframe{Oval}
+
+\newcommand{\heading}[1]{%
+ \begin{center}
+ \large\bf
+ \shadowbox{#1}%
+ \end{center}
+ \vspace{1ex minus 1ex}}
+
+\newcommand{\BF}[1]{{\bf #1:}\hspace{1em}\ignorespaces}
+
+\begin{document}
+
+
+\begin{slide}
+\heading{A heading}
+
+One thing this example illustrates is how the {\tt article} style option is
+good for printing slides two-up, for distribution to a seminar audience or
+class, or just for proofreading.
+
+\BF{Definition}
+$p$ (weakly) first-order stochastically dominates $q$ if for every $\bar z\in
+Z$,
+\[
+ p(z\leq \bar z) \leq q(z\leq \bar z)
+\]
+\end{slide}
+
+
+\begin{slide}
+\heading{Problems with stochastic dominance as a DT}
+
+\begin{center}
+ \begin{tabular}{|r|l|}\hline
+ $z$ & $p(z)$\\ \hline
+ \$999 & .01\\ \hline
+ \$1,000,000 & .99 \\ \hline
+ \end{tabular}%
+ \hspace{1cm}%
+ \begin{tabular}{|r|l|}\hline
+ $z$ & $q(z)$\\ \hline
+ \$1,000 & 1\\ \hline
+ \end{tabular}
+\end{center}
+\end{slide}
+
+\begin{slide}
+\heading{Candidate Theory \#3: Expected utility}
+
+Let $Z$ be an arbitrary set of outcomes. Let $u:Z\rightarrow R$ be a utility
+representation of the DM's preferences over the elements of $Z$ as certain
+outcomes. (I.e., $u(y)\geq u(z)$ iff $y \geq z$.)
+
+\end{slide}
+
+
+\begin{slide}
+\heading{Expected utility \& the St.\ Petersburg Paradox}
+
+This can get around even St.\ Petersburg Paradox, because we don't require
+that utility be linear in money:
+
+\begin{center}
+ \begin{tabular}{r|c|c|c|c|c}\cline{2-6}
+ Prize & \$2 & \$4 & \$8 & \$16 & $\ldots$\\ \cline{2-6}
+ $u(z)=\log_2(z)$ & 1 & 2 & 3 & 4 & $\ldots$ \\ \cline{2-6}
+ Prob. & 1/2 & 1/4 & 1/8 & 1/16 & $\ldots$\\ \cline{2-6}
+ \end{tabular}
+\end{center}
+
+Expected utility is $\sum_{k=1}^\infty k/2^k = 2$, and so lottery gives same
+expected utility as getting \$4 for sure.
+\end{slide}
+
+
+\end{document}
+%% END semsamp1.tex
diff --git a/macros/latex/contrib/seminar/doc/semsamp2.pdf b/macros/latex/contrib/seminar/doc/semsamp2.pdf
new file mode 100644
index 0000000000..117ef173f9
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/semsamp2.pdf
Binary files differ
diff --git a/macros/latex/contrib/seminar/doc/semsamp2.tex b/macros/latex/contrib/seminar/doc/semsamp2.tex
new file mode 100644
index 0000000000..b332a31414
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/semsamp2.tex
@@ -0,0 +1,297 @@
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+
+%% BEGIN semsamp2.tex
+% This is a sample document for seminar.sty, v0.93 (and maybe later).
+%
+% This file contains both landscape and portrait mode slides.
+% Choose one of the following to print them out:
+% - If using PSTricks, try the semcolor style option.
+% - If using Rokicki's dvips, try the semrot style option.
+% - To print the landscape slides, put \landscapeonly in the preamble.
+% To print the portrait slides, include the portrait style option and
+% put \portraitonly in the preamble.
+%
+%
+\documentclass[%
+ slidesonly,% Try notes or notesonly instead.
+ %notes,% Use instead of slidesonly to typeset the notes.
+ %notesonly,% Use instead of slidesonly to typeset notes and slides.
+ semcolor,% Try me if using PSTricks.
+ semrot,% Try me if using Rokicki's dvips.
+ %semhelv,% Try me if using a PostScript printer.
+ %article,% Try me.
+ %portrait,% Try me.
+ %sem-a4,% Try me if using A4 paper.
+ semlayer% This must be included, but you need the semcolor option to
+ ]{seminar} % actually see the overlays.
+
+\slidesmag{5}
+\articlemag{1}
+
+%\twoup % Try me for twoup printing.
+
+%\portraitonly % To print only portrait slides
+%\landscapeonly % To print only landscape slides
+
+%\notslides{\ref{questions}-7,1} %Try me: The slides are omitted.
+%\onlyslides{\ref{questions}-7,1} %Try me: Only these slides are included.
+%\onlynotestoo %Try me: For selecting notes as well.
+
+%\colorlayers{red,blue} % Try deleting this if using the semcolor option,
+ % to get \blue and \red to use PostScript color.
+
+%\overlaysfalse % Suppress overlays with semcolor option.
+%\layersfalse % Suppress color layers with semcolor option.
+
+\rotateheaderstrue % Try this out if using rotation macros.
+
+
+\title{Example for seminar.sty}
+\author{Policarpa Salabarrieta}
+\date{July 21, 1991}
+
+\newcommand\sref[1]{SLIDE \ref{#1}}
+\newcommand\heading[1]{\begin{center}\large\bf #1\end{center}}
+
+\newpagestyle{MH}%
+ {University of Guaduas, March 13, 1998\hfil\thepage}{}
+\pagestyle{MH}
+
+\begin{document}
+
+\maketitle % This won't show up when \onlynotestoo is in effect.
+
+\begin{slide}
+ \ifslidesonly % Title slide only for slidesonly selection.
+ \maketitle
+ \addtocounter{slide}{-1}
+ \slidepagestyle{empty}
+ \fi
+\end{slide}
+
+This is a lot of gobbledy-gook intended only to illustrate some of the
+features of seminar.sty.
+
+ The phrase information overload rings a bell with just about anyone.
+Certainly you all receive more working papers or more applications for
+graduate school than you can readily read. Nevertheless, the term information
+overload is ill-defined. (\sref{too_much}, top)
+
+ A message like this when you check your email conjures up the notion of
+information overload. More generally, information overload always means too
+much information, in some sense or another. But what does ``too much'' mean?
+(\sref{too_much}, bottom) It might just mean that people cannot process all
+the information they receive. That is certainly true for everyone. A claim
+that is much stronger, and that is implicit when people complain about
+informaton overload, is that people {\em should} receive less information, by
+some criterion.
+
+\begin{slide}\label{too_much}%
+\begin{center}
+ \large\bf
+ Information overload = ``Too much'' information
+\end{center}
+\smallskip
+
+\begin{verse} \bf\tt
+ You have 134 unread messages:\\
+ Do you want to read them now?
+\end{verse}
+
+\begin{enumerate}
+ {\overlay2
+ \item People {\overlay1 cannot process all} the information they receive.}
+ \item People {\em should} receive less information.
+ \end{enumerate}
+\end{slide}
+
+ In this paper, I use the term ``information overload'' in both senses.
+(\sref{overload}, bottom). Specifically, I say that an {\em individual} is
+overloaded with information if she receives more information than she can
+process. But I say that there is information overload in a {\em network} if
+there is some mechanism that makes the senders and/or receivers better off by
+restricting the flow of information. This latter notion of information
+overload is an equilibrium property, and it depends on what we mean by
+``better off.''
+
+\begin{slide*}\label{overload}
+\ptsize{12}
+
+\begin{itemize}{\overlay1
+ \item There is information {\overlay0 overload in a network if} there is
+some mechanism that, compared to the {\em status quo}, makes the senders
+and/or receivers better off by restricting the flow} of information.'
+
+ \item There is information overload in a network if there is some mechanism
+that, compared to the {\em status quo}, makes the senders and/or receivers
+better off by restricting the flow of information.
+\end{itemize}
+
+\end{slide*}
+
+(\sref{questions})
+ The purpose of my paper is to show why there can be information overload in
+a network and what kind of mechanisms can make the receivers and/or senders
+better off. Since the cost of communication is one factor that restricts
+communication, I am thus also going to look at how the welfare of the senders
+and receivers depends on the cost of communication.
+
+ Most messages don't become jumbled and we can choose which ones to process.
+But some of us may have a bias towards choosing to process more information
+than we should, like the graduate student who feels compelled to read every
+article on the usual lengthy reading list, and just ends up getting confused
+and ruffling through the papers.
+
+
+\begin{slide}[7.3in,5.5in] \label{questions}
+\heading{Questions}
+
+\begin{itemize}
+ {\overlay1 \item When could {\blue there be overload} in networks?}
+ \item What mechanims make the receivers and senders better off?
+ \item How does the welfare {\red of the senders} and receivers depend on the
+cost of communication?
+\end{itemize}
+\end{slide}
+
+
+However, experiments in consumer research and psychology have failed to find
+that such a bias is prevalent. This is in spite of the fact that it is common
+for stress and cognitive strain to increase with information load. We may
+incur such stress and strain because the information we choose to process is
+valuable to us.
+
+More commonly, then, we can and do choose to process roughly as much
+information as we can handle efficiently. This is called screening. But when
+we choose which messages to begin to process, we're ignorant of their
+contents, since otherwise there would be no reason to process them in the
+first place. Therefore, if we receive more junk mail, then some of the
+important mail gets crowded out, and we are effectively less informed.
+
+\begin{slide} \label{informed}
+\begin{center}
+ {\bf Being more informed} \par
+ \smallskip
+ is always better,\par
+ \medskip
+ \overlay1{but it's not the same as \par
+ \smallskip
+ {\bf receiving more information}}
+\end{center}
+\end{slide}
+
+ Why would the senders communicate too many messages in the first place? If I
+present too much material in this seminar, you have to choose which parts to
+ignore and I would rather make that decision myself, since I know what I most
+want to get across. Thus, it is in my interest not to overload you with
+information. Generally, whenever there is a single sender of messages, that
+sender will prefer to screen rather than have the receiver screen, because the
+sender has an interest in which messages the receiver processes.
+But when there are more senders, one sender's messages tend to crowd out the
+messages of the other senders, as in this example here. If the senders don't
+take this external cost into account when sending messages, they may
+collectively overload the receiver. (\sref{akbar})
+
+There are several reasons that our scarcity of attention, that is, our limited
+capacity to process information, can mean that we become less informed when we
+receive more information. I have a cartoon here to illustrate these reasons.
+(\sref{akbar})
+
+\begin{slide}\label{akbar}\def\slidefuzz{15pt}
+ {\large A tax $\tau$ on communication is said to support
+$\tilde{\cal{X}}(c)$ if $\tilde{\cal{X}}(c)$ is an equilibrium for
+$\Gamma(c+\tau)$.}
+\medskip
+
+ {\bf Proposition 6.} {\em Assume $\tilde{\cal{X}}(c)$ is not an equilibrium
+for $\Gamma(c)$.\vspace{-3pt}
+\begin{enumerate}
+ \item If $\mbox{supp}(\gamma)=[0,1]^n$, there is no tax that supports
+$\tilde{\cal{X}}(c)$.
+ \item If $\mbox{supp}(\gamma)=S^{n-1}$, there is a tax that supports
+$\tilde{\cal{X}}(c)$ if and only if $m=1$, $p_j>c\, \forall j$, and
+ \begin{enumerate}
+ \item $n=2$; or
+ \item $n=3$ and $p_i^{-1}+p_j^{-1}\geq p_k^{-1}$ for all distinct
+$i,j,k$; or
+ \item $n=4$ and $p_1=p_2=p_3=p_4$.
+\end{enumerate}
+\end{enumerate}}
+\end{slide}
+
+ If, by restricting communication, we eliminate the less relevant messages,
+then we can become more informed. But how can we achieve this? Restricting the
+flow of information shifts the task of screening messages from the receivers
+to the senders. Unlike the receivers, the senders do know the contents of the
+messages they originate. If the senders' interests coincide with those of the
+receiver and if the senders have sufficient knowledge about the receivers,
+then the senders will choose the messages which are most relevant to the
+receivers. This may make the receivers, and even the senders, better off.
+
+ The network in Slide \ref{architectures} attains the minimal delay $c(8,24)
+= 6$ using 8 processors. It is an example of the efficient one-shot networks
+described by Foo. We will focus on a class of networks that are similar to the
+Foo networks but that may differ slightly. For $q$, $c$ and $n$ such that $1
+\leq q \leq \lfloor n/2 \rfloor$ and $c(q,n) \leq c \leq n$, let $R_{nqc}$ be
+the class of essential networks for adding $n$ items using $q$ processors in
+$c$ cycles that have the following properties:
+
+\begin{slide*}\label{architectures}
+\heading{Architecture}
+
+\begin{center}
+\setlength{\unitlength}{1.65in}
+\begin{picture}(1.1,1.6)(3.5,5.0)
+\put(4.0,6.5){\circle*{.04}}
+\put(4.1,6.5){1}
+\put(4.0,6.0){\circle*{.04}}
+\put(4.1,6.0){2}
+\put(4.0,6.1){\vector(0,1){.3}}
+\put(3.5,6.0){\circle*{.04}}
+\put(3.6,6.0){3}
+\put(3.6,6.1){\vector(1,1){.3}}
+\put(4.0,5.5){\circle*{.04}}
+\put(4.1,5.5){4}
+\put(4.0,5.6){\vector(0,1){.3}}
+\put(4.5,6.0){\circle*{.04}}
+\put(4.6,6.0){5}
+\put(4.4,6.1){\vector(-1,1){.3}}
+\put(4.5,5.5){\circle*{.04}}
+\put(4.6,5.5){6}
+\put(4.4,5.6){\vector(-1,1){.3}}
+\put(3.5,5.5){\circle*{.04}}
+\put(3.6,5.5){7}
+\put(3.5,5.6){\vector(0,1){.3}}
+\put(4.0,5.0){\circle*{.04}}
+\put(4.1,5.0){8}
+\put(4.0,5.1){\vector(0,1){.3}}
+\end{picture}
+\end{center}
+\end{slide*}
+
+Why would the senders communicate too many messages in the first place? If I
+present too much material in this seminar, you have to choose which parts to
+ignore and I would rather make that decision myself, since I know what I most
+want to get across. Thus, it is in my interest not to overload you with
+information.
+
+Generally, whenever there is a single sender of messages, that sender will
+prefer to screen rather than have the receiver screen, because the sender has
+an interest in which messages the receiver processes. But when there are more
+senders, one sender's messages tend to crowd out the messages of the other
+senders, as in this example here. If the senders don't take this external cost
+into account when sending messages, they may collectively overload the
+receiver. (\sref{architectures})
+
+\end{document}
+%% END semsamp2.tex
diff --git a/macros/latex/contrib/seminar/doc/semsamp3.pdf b/macros/latex/contrib/seminar/doc/semsamp3.pdf
new file mode 100644
index 0000000000..96b83e558a
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/semsamp3.pdf
Binary files differ
diff --git a/macros/latex/contrib/seminar/doc/semsamp3.tex b/macros/latex/contrib/seminar/doc/semsamp3.tex
new file mode 100644
index 0000000000..3d6b5923a9
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/semsamp3.tex
@@ -0,0 +1,68 @@
+\listfiles
+%%
+%% Ein Beispiel der DANTE-Edition
+%%
+%%
+%% Copyright (C) 2012 Herbert Voss
+%%
+%% It 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.
+%%
+%% See http://www.latex-project.org/lppl.txt for details.
+%%
+%%
+%% ====
+% Show page(s) 1,3
+%%
+\documentclass[landscape,rules]{exaseminar}
+\pagestyle{empty}
+\setlength\textwidth{172.40709pt}
+% use **dvips -T 297mm,210mm <file>**!
+\usepackage[utf8]{inputenc}
+\usepackage[scaled]{helvet}
+\def\FileDate{June 2002}
+\def\FileInfoB{Backgrounds}
+\def\FileVersion{1.0}
+\StartShownPreambleCommands
+\documentclass{seminar}
+\usepackage{sem-dem}% General utility macros
+\HyperSetUp\hypersetup{pdfpagemode=UseOutlines}% Open the document with bookmarks shown
+\newcommand\MySeminarOutlinePresentation{%
+ \SeminarOutlinePresentation{Where we are}{LightBlue}{RoyalBlue}{yellow}%
+ \SeminarHeader{\LARGE\HLe{Demonstration of \MakeLowercase{\FileInfoB}}}}
+\VerbatimFootnotes % To allow verbatim material in footnotes
+\StopShownPreambleCommands
+\begin{document}
+\SeminarFirstSlide \SeminarListOfSlides
+\renewcommand{\slidestretch}{1}% Komprimieren der Zeilen
+\begin{slide}
+ \slideheading{Introduction}
+ \begin{dinglist}{\DingListSymbolA}
+ \item The \emph{full screen} backgrounds, which are the ones well suited
+ for screen presentations, are managed by the
+ \Verb+\SeminarNewSlideFrameBackground+ and
+ \Verb+\SeminarSlideFrameBackground+ macros.\footnote{They are built on the
+ model of the \Verb[fontsize=\footnotesize]+\newslideframe+ and
+ \Verb[fontsize=\footnotesize]+\slideframe+ ones, which cannot be used for
+ this goal (there is a design incompatibility in the management of the
+ slide headers).}
+
+ \item We can overlap several partial \emph{backgrounds} with the
+ `\textsf{fancybox}' package (using it \Verb+\boxput+ macro), calling the
+ \Verb+\slideframe[*]+ macro, eventually several times (see the
+ \HLe{Seminar} documentation and FAQ). See examples on
+ slide~12 and in the file \href{file:sem-dem2.pdf}{sem-dem2.pdf}.
+
+ \item We show here several kinds of backgrounds:
+ \begin{dinglist}{\DingListSymbolB}\setlength{\labelwidth}{4mm}
+ \item \HLe{solid} backgrounds,
+ \item \HLe{gradient} backgrounds, using the \textsf{pst-grad} PSTricks package,
+ \item \HLe{gradient} backgrounds, using the \textsf{pst-slpe} PSTricks package,
+ \item \HLe{composite} backgrounds, based on PSTricks graphics (you can
+ obviously rather use the others \AllTeX{} packages for algorithmic graphics),
+ \item backgrounds with \HLe{external images}.
+ \end{dinglist}
+ \end{dinglist}
+\end{slide}
+\end{document}
diff --git a/macros/latex/contrib/seminar/doc/tvz-code.sty b/macros/latex/contrib/seminar/doc/tvz-code.sty
new file mode 100644
index 0000000000..68a52701aa
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/tvz-code.sty
@@ -0,0 +1,291 @@
+%% BEGIN tvz-code.sty
+%% 93/04/01
+%% Tim Van Zandt Timothy.VAN-ZANDT@insead.edu
+%%
+%% Lousy hacks for typesetting the documented code for the
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+%% seminar.sty and PSTricks packages.
+
+\input tvz-hax.sty
+\input doc.sty % Tested with v1.7k
+\input art11.sty
+
+
+%%%%%%%%%%%%%%%%%%% PAGE PARAMETERS %%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Paragraphs are marked by space rather than indentation:
+\parindent 0pt
+\parskip 4pt plus 1pt minus 1pt
+
+% Textwidth just wide enough for 78 characters of code.
+\setbox\@tempboxa=\hbox{\small\tt f}
+\textwidth 78\wd\@tempboxa
+\oddsidemargin\paperwidth\relax
+\advance\oddsidemargin -\textwidth
+\divide\oddsidemargin 2
+\advance\oddsidemargin -1in
+\setbox\@tempboxa=\hbox{\tiny 999\ }
+\advance\oddsidemargin\wd\@tempboxa
+\evensidemargin\oddsidemargin
+
+\if@twoside
+ \advance\oddsidemargin .3in
+ \advance\evensidemargin -.3in
+\fi
+
+% No headers, 1in top margin
+\topmargin 0pt
+\headheight 0pt
+\headsep 0pt
+
+% Total bottom margin 1in, text height 9in
+\textheight 9in
+\footskip .625in
+
+% Now adjust for different paper size:
+\@tempdima=\paperheight
+\advance\@tempdima-11in
+\divide\@tempdima 2
+\advance\topmargin \@tempdima
+
+% Marginal notes always on left.
+\marginparwidth 3.5cm
+\marginparsep .5cm
+\reversemarginpar
+
+
+%%%%%%%%%%%%%%%%%%% MACROCODE PATCH FOR SHORT META %%%%%%%%%%%
+
+\expandafter\def\expandafter\macrocode\expandafter{%
+ \expandafter\DeleteShortMeta
+ \macrocode}
+
+%%%%%%%%%%%%%%%%%%%% DOC PREAMBLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newbox\junkbox
+\def\DocInput#1{%
+ \MakePercentIgnore
+ \setbox\junkbox=\hbox\bgroup
+ \input{#1}%
+ \MakePercentComment}
+\let\EndDocPreamble\egroup
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%% VERBATIM %%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Use fancybox.sty's LVerbatim environment. Each line should contain
+% percent plus three spaces (or other char), including blank lines. E.g.,
+% \begin{LVerbatim}
+% foo
+% bar
+% \end{LVerbatim}
+
+\def\EveryVerbatimLine#1#2#3#4{}
+\begingroup
+ \catcode`\%=12
+ \catcode`\ =\active
+ \global\EndVerbatimTokens{% }
+\endgroup
+\AltGetVerbatim
+
+
+%%%%%%%%%%%%%%%%%% INDEXING %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Things are faster without \MakeIndex
+
+\def\MakeIndex{\makeindex\EnableCrossrefs}
+\DisableCrossrefs
+
+% Use \codelabel[int]{foo} to label last line of code plus int.
+% E.g., to label first and then last line of some code:
+% \codelabel[1]{foo}
+% \begin{macrocode}
+% foo
+% bar
+% \end{macrocode}
+% \codelabel{foo}
+
+\def\codelabel{\@ifnextchar[{\@codelabel}{\@codelabel[0]}}
+\def\@codelabel[#1]#2{%
+ \@bsphack
+ \begingroup
+ \advance\c@CodelineNo #1
+ \def\@currentlabel{\the\c@CodelineNo}%
+ \label{#2}%
+ \endgroup
+ \@esphack}
+
+% Definitions in code are indexed by page number, but other occurences
+% are indexed by the line of code.
+
+\CodelineIndex
+\def\SpecialMainPageIndex#1{%
+ {\let\special@index\index\SpecialMainIndex{#1}}}
+\renewcommand{\theCodelineNo}{{\rm\tiny\arabic{CodelineNo}}}
+
+% Index numbers for main definitions are set in bold rather than underlined.
+
+\def\main#1{{\bf #1}}
+
+% two column index
+
+\setcounter{IndexColumns}{2}
+
+% Customize index prologue:
+
+\def\index@prologue{%
+ \section*{Index}\markboth{Index}{Index}%
+ \addcontentsline{toc}{section}{Index}%
+ The {\bf bold} numbers denote the pages where the entries are defined,
+ and all other numbers indicate the {\em lines of code} where
+ the entries are used.}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% MACRO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% A change to the macro environment; prints macro names within the margins
+% of the text, instead of as marginal notes. Use one \macro command,
+% with comma separated macro names.
+
+\newif\iffirst@macroname
+\newif\ifnestedmacro
+
+\def\macro{%
+ \ifnum\macro@level=\z@
+ \def\next{\MakePrivateLetters \m@cro@}%
+ \else
+ \def\next{\@latexerr{Nested \string\begin{macro}}\@eha
+ \endgroup\end{macro}\macro@level=\z@\begin{macro}}
+ \fi
+ \next}
+\def\m@cro@#1{%
+ \first@macronametrue
+ \m@@cro@@#1,\@nil,}
+\def\m@@cro@@#1,{%
+ \def\@tempa{#1}\def\@tempb{\@nil}%
+ \ifx\@tempa\@tempb
+ \let\next\finishm@@cro@@
+ \else
+ {\advance\c@CodelineNo\@ne\SpecialMainPageIndex{#1}\nobreak}%
+ \DoNotIndex{#1}%
+ \iffirst@macroname
+ \edef\saved@macronames{\string#1}%
+ \first@macronamefalse
+ \else
+ \def\comma{\noexpand\comma}%
+ \edef\saved@macronames{\saved@macronames\comma\string#1}%
+ \fi
+ \let\next\m@@cro@@
+ \fi
+ \next}
+\def\finishm@@cro@@{%
+ \advance\macro@level\@ne
+ \def\comma{{\rm, }}%
+ \ListMacroNames{\saved@macronames}}
+
+\let\endmacro\relax
+
+\def\ListMacroNames{%
+ \@startsection{subsubsection}{3}{\z@}{-2.25ex plus -.5ex minus-.2ex}%
+ {1.3ex plus.2ex}{\csname reset@font\endcsname\large\tt}*}
+
+\MacroIndent 0pt
+
+\def\MacroFont{\small\tt}
+
+
+%%%%%%%%%%%%%%%%%%%%% DoNot Index %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\DoNotIndex{\ ,\!,\[,\\,\],\^,\`,\{,\},\~}
+\DoNotIndex{\@warning,\active}
+\DoNotIndex{\begingroup,\catcode,\char,\csname,\def,\do}
+\DoNotIndex{\docdate,\dospecials,\edef,\else,\endcsname,\endgroup}
+\DoNotIndex{\expandafter,\fi,\filedate,\fileversion}
+\DoNotIndex{\gdef,\if,\ifcat}
+\DoNotIndex{\ifx,\immediate,\lccode,\let}
+\DoNotIndex{\lowercase,\next,\noexpand}
+\DoNotIndex{\relax,\space,\the}
+\DoNotIndex{\toks@,\typeout,\write}
+\DoNotIndex{\@M,\@arabic,\@author,\@auxout,\@bsphack,\@car,\@date}
+\DoNotIndex{\@dblarg,\@dblfloat,\@eha,\@empty,\@esphack,\@evenfoot}
+\DoNotIndex{\@evenhead,\@float,\@gobble,\@gobbletwo,\@gtempa,\@ifnextchar}
+\DoNotIndex{\@ifundefined,\@ixpt,\@latexerr,\@listI,\@listi,\@listii}
+\DoNotIndex{\@listiii,\@listiv,\@listv,\@listvi,\@makefnmark,\@mkboth}
+\DoNotIndex{\@namedef,\@nameuse,\@mne,\@nil,\@normalsize,\@oddfoot}
+\DoNotIndex{\@oddhead,\@tempa,\@tempb,\@tempc,\@tempd}
+\DoNotIndex{\@tempdima,\@testfalse,\@testtrue,\test@member}
+\DoNotIndex{\@thanks,\@thefnmark,\@title}
+\DoNotIndex{\@topnum,\@viiipt,\@viipt,\@vipt,\@vpt,\@xiipt}
+\DoNotIndex{\@xipt,\@xpt,\@xivpt,\@xviipt,\@xxpt,\@xxvpt}
+\DoNotIndex{\addcontentsline}
+\DoNotIndex{\advance,\aftergroup,\baselinestretch,\begin}
+\DoNotIndex{\belowdisplayshortskip,\belowdisplayskip,\bf,\bgroup}
+\DoNotIndex{\box,\c@@page,\c@page,\c@secnumdepth,\clearpage,\columnsep}
+\DoNotIndex{\columnwidth,\copy,\dimen@,\dimen@i,\dimen@ii,\divide}
+\DoNotIndex{\dp,\ds@article,\ds@notes,\ds@notesonly}
+\DoNotIndex{\ds@slidesonly,\egrou,\end,\end@dblfoloat,\end@float}
+\DoNotIndex{\endinput,\fnsymbol,\footheight,\footnotesep,\footskip}
+\DoNotIndex{\global,\globaldefs,\hbox,\headheight,\headsep,\hfil}
+\DoNotIndex{\hrule,\hskip,\hss,\ht,\Huge,\huge}
+\DoNotIndex{\if@filesw,\if@test,\if@twocolumn,\if@twoside}
+\DoNotIndex{\ifcase,\ifdim,\ifvmode,\ignorespaces}
+\DoNotIndex{\input,\interlinepenalty,\itemsep,\ixpt,\label}
+\DoNotIndex{\labelsep,\labelwidth,\LARGE,\large,\Large}
+\DoNotIndex{\leavevmode,\leftmargin,\leftmargini,\leftmarginii}
+\DoNotIndex{\leftmarginiii,\leftmarginiv,\leftmarginv}
+\DoNotIndex{\leftmarginvi,\leftmark,\leftskip,\lineskip}
+\DoNotIndex{\magstep,\marginparsep,\marginparwidth,\markboth}
+\DoNotIndex{\markright,\medbreak,\multiply,\newbox,\newcount}
+\DoNotIndex{\newcounter,\newdimen,\newif,\newlabel,\newpage}
+\DoNotIndex{\newtoks,\nobreak,\nointerlineskip,\normallineskip}
+\DoNotIndex{\normalsize,\null,\number,\numberline,\oddsidemargin}
+\DoNotIndex{\offinterlineskip,\or,\par,\parbox,\parskip,\partopsep}
+\DoNotIndex{\prevdepth,\protect,\ref,\refstepcounter,\rightmrk}
+\DoNotIndex{\rm,\scriptsize,\section,\sectionmark,\setbox,\setcounter}
+\DoNotIndex{\sl,\small,\stepcounter,\string,\textheight,\textwidth}
+\DoNotIndex{\thefootnote,\thepage,\thesection,\thesubsection}
+\DoNotIndex{\thispagestyle,\tiny,\topmargin,\topsep,\uppercase}
+\DoNotIndex{\vbox,\vfill,\viiipt,\viipt,\vipt,\vpt,\vskip,\vss}
+\DoNotIndex{\wd,\xcommentloaded@,\xdef,\xiipt,\xipt,\xivpt,\xpt}
+\DoNotIndex{\xviipt,\xxpt,\xxvpt,\z@}
+\DoNotIndex{\abovedisplayskip,\abovedisplayshortskip,\@currentlabel}
+\DoNotIndex{\@dottedtocline,\@ne\@setsize,\@starttoc,\@tempboxa,\@}
+\DoNotIndex{\arraystretch,\centerline,\egroup,\end@dblfloat}
+\DoNotIndex{\evensidemargin,\footnotesize,\ifnum,\parindent,\parsep}
+\DoNotIndex{\rightmark,\@afterindenttrue,\@ne,\if@specialpage.\long}
+\DoNotIndex{\fboxrule,\fboxsep,\@for,\vfil}
+\DoNotIndex{\@@fortmp,\@@tempa,\@@tempb,\@ehd,\@for,\@fortmp,\@m}
+\DoNotIndex{\@mparswitchfalse,\@mparswitchtrue,\@nnil,\@spaces}
+\DoNotIndex{\@specialstyle,\@temptokena,\@twosidefalse,\@twosidetrue}
+\DoNotIndex{\@whilenum,\alph,\arabic,\count@,\errhelp,\errmessage}
+\DoNotIndex{\fbox,\index,\minipage,\newcommand,\overfullrule}
+\DoNotIndex{\pagestyle,\raggedright,\ref@stepcounter,renewcommand}
+\DoNotIndex{\semcolor@loaded,today,\@tempcnta,\@tempcntb,\trivlist,\t,\p}
+\DoNotIndex{\today,\item,\@colht,\@currenvir,\@thefoot,\@thehead}
+\DoNotIndex{\@totalleftmargin,\allowbreak,\@captype,\@footnotetext}
+\DoNotIndex{\@listdepth,\@minipagefalse,\@minipagetrue,\@mpfn,\@mpfootins}
+\DoNotIndex{\endtrivlist,\everypar,\hsize,\ifvoid,\lastskip}
+\DoNotIndex{\linewidth,\skip,\thempfn,\thempfootnote,\topskip,\unvbox}
+\DoNotIndex{\@@input,\@@par,\@acci,\@accii,\@acciii,\@cclv,\@height}
+\DoNotIndex{\@maxdepth,\@tempdimb,\@tempg,\@temph,\@texttop,\@twocolumnfalse}
+\DoNotIndex{\@xfloat,\addvspace,\alloc@,\bigskipamount,\botmark,\chardef}
+\DoNotIndex{\closein,\closeout,\count,\countdef,\dimen,\glossary,\goodbreak}
+\DoNotIndex{\insc@unt,\intextsep,\kern,\mag,\marginpar,\maxdepth,\medskip}
+\DoNotIndex{\moveleft,\newinsert,\newskip,\onecolumn,\openin,\openout}
+\DoNotIndex{\read,\renewcommand,\repeat,\rightskip,\strut,\vfuzz,\voffset}
+\DoNotIndex{\vsize}
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput
+
+%% END tvz-code.sty
diff --git a/macros/latex/contrib/seminar/doc/tvz-hax.sty b/macros/latex/contrib/seminar/doc/tvz-hax.sty
new file mode 100644
index 0000000000..f8a4798fcc
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/tvz-hax.sty
@@ -0,0 +1,266 @@
+%% BEGIN tvz-hax.sty
+%% 93/04/01
+%% Tim Van Zandt Timothy.VAN-ZANDT@insead.edu
+%%
+%% These are some lousy hacks for typesetting the code
+%% and User's Guide in the Seminar and PSTricks packages.
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% PAPER SIZES %%%%%%%%%%%%%%%%%%%%%%
+
+% Default paper size is 8.5in by 11in.
+% Just include the `a4' style option for A4 paper size.
+% For other paper sizes, define \paperwidth and \paperheight
+% before the \documentstyle command.
+
+\@ifundefined{paperwidth}{\def\paperwidth{8.5in}}{}
+\@ifundefined{paperheight}{\def\paperheight{11in}}{}
+\@namedef{ds@a4}{\def\paperwidth{210mm}\def\paperheight{297mm}}
+
+
+%%%%%%%%%%%%%%%%%%%% INPUTS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\newif\iftwoup
+\@namedef{ds@2up}{\input 2up.tex \twouptrue}
+
+\input article.sty
+\input fancybox.sty % Version 0.93 or later.
+
+\iftwoup
+ \if@twoside
+ \targetlayout{twosided}
+ \fi
+\fi
+
+\if@twoside
+ \def\twosideclearpage{%
+ \clearpage
+ \ifodd\c@page\else
+ \thispagestyle{empty}%
+ \null\leavevmode
+ \clearpage
+ \fi}
+\else
+ \let\twosideclearpage\clearpage
+\fi
+
+
+%%%%%%%%%%%%%%%%%%%%% MISC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\arraystretch{1.2}
+
+\hfuzz 1pt
+
+% Just in case I'm using AmS-LaTeX.
+\def\makeatother{\catcode`\@=12\relax}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% SHORT META %%%%%%%%%%%%%%%%%%%%%%%%
+
+% Works in verbatim environments, unless specially designed.
+\begingroup
+ \catcode`\<=\active
+ \gdef\ShortMeta{%
+ \catcode`\<=\active
+ \def<##1>{{\MetaFont ##1\/}}}
+\endgroup
+\def\DeleteShortMeta{\catcode`\<=12\relax}
+\def\MetaFont{\sl} % For meta arguments.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%% FILE VERSIONS %%%%%%%%%%%%%%%%%%%%%
+
+% \GetVersion{file} scans first ten lines of <file> for
+% \filedate and \fileversion definitions.
+%
+% \CheckVersion{file} scans <scans> file for \filedate and \fileversion
+% and then compares these witha \FileDate and \FileVersion.
+%
+\def\GetVersion#1{%
+ \immediate\openin1=#1
+ \count@=0
+ \let\fileversion\relax
+ \let\filedate\relax
+ \@testtrue
+ \loop
+ \if@test
+ \advance\count@1
+ \immediate\read1 to \@tempa
+ \@tempa
+ \ifnum\count@=10
+ \@latexerr{Couldn't find fileversion}\@eha
+ \@testfalse
+ \else
+ \ifx\fileversion\relax
+ \@testtrue
+ \else
+ \ifx\filedate\relax
+ \@testtrue
+ \else
+ \@testfalse
+ \fi
+ \fi
+ \fi
+ \repeat}
+
+\def\CheckVersion#1{%
+ \GetVersion{#1}
+ \ifx\FileVersion\fileversion
+ \ifx\FileDate\filedate\else
+ \@latexerr{Doc date (\FileDate) and file date (\filedate)
+ do not match}\@eha
+ \fi
+ \else
+ \@latexerr{Doc version (\FileVersion) and file version (\fileversion)
+ do not match}\@eha
+ \fi}
+
+% This expands the date, as defined in \filedate.
+
+\def\expanddate#1/#2/#3/{%
+ \number#3{}
+ \month=#2
+ \ifcase\month\or
+ January \or February \or March \or April \or May \or June \or
+ July \or August \or September \or October \or November \or December
+ \fi
+ 19#1}
+\def\thefiledate{\expandafter\expanddate\filedate/}
+\date{\thefiledate}
+
+
+%%%%%%%%%%%%%%%%% LOGOS %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\AmS{{\protect\the\textfont\tw@
+ A\kern-.1667em\lower.5ex\hbox{M}\kern-.125em S}}
+
+\def\b@LaTeX{%
+ \begingroup
+ \csname reset@font\endcsname
+ \rm\bf
+ L\kern-.32em
+ \raise.36ex\hbox{%
+ \ifx\@currsize\Huge\LARGE\else
+ \ifx\@currsize\huge\Large\else
+ \ifx\@currsize\LARGE\large\else
+ \ifx\@currsize\Large\normalsize\else
+ \ifx\@currsize\large\small\else
+ \ifx\@currsize\normalsize\footnotesize\else
+ \ifx\@currsize\small\scriptsize\else
+ \ifx\@currsize\footnotesize\scriptscriptsize
+ \fi\fi\fi\fi\fi\fi\fi\fi
+ \bf A}%
+ \kern-.15em
+ T\kern-.1667em
+ \lower.7ex\hbox{E}\kern-.125em
+ X%
+ \endgroup}
+\def\bLaTeX{\b@LaTeX}
+
+
+%%%%%%%%%%%%%%% PAGE STYLE %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% The `docheadings' page style uses footers rather than headers.
+
+\def\ps@docheadings{%
+ \let\@mkboth\markboth
+ \def\@oddhead{}%
+ \let\@evenhead\@oddhead%
+ \def\@oddfoot{%
+ \small\sf
+ \rightmark
+ \hfil
+ \thepage}%
+ \def\@evenfoot{%
+ \small\sf
+ \thepage
+ \hfil
+ \theheadertitle}%
+ \def\sectionmark##1{\markright {##1}}}%
+\pagestyle{docheadings}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%% Table of Contents %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% Tighten up spacing in TOC:
+
+\newskip\tempskip
+\def\TOCshrink{.5}
+\def\TableOfContents{%
+ \begin{quote}
+ \begin{center} \Large\bf Contents \end{center}
+ \def\numberline##1{\hbox to 0pt{\hss##1\hskip 1em}}%
+ \let\oldaddvspace\addvspace
+ \def\addvspace##1{%
+ \tempskip##1\relax
+ \oldaddvspace{\TOCshrink\tempskip}}
+ \@starttoc{toc}%
+ \end{quote}}
+\def\tableofcontents{%
+ \clearpage
+ \markright{Table of contents}%
+ \TableOfContents
+ \clearpage}
+
+
+%%%%%%%%%%%%%%%%%%%%%%%% code and examples %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+% `Ex' is an environment for putting samples of code.
+% It is a variant of
+% \begin{quote}\tt ... \end{quote}.
+% It is NOT verbatim.
+
+\def\NotNested{%
+ \def\begin##1{%
+ \@latexerr{Bad nesting of environments.
+ Perhaps missing \end{\@currenvir}}\@eha
+ \end{\@currenvir}%
+ \begin{##1}}}
+
+\def\Ex{%
+ \NotNested
+ \list{}{}\item[]%
+ \if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin
+ \rightskip\z@
+ \parindent\z@
+ \parskip\z@
+ \parfillskip\@flushglue
+ \hfuzz 1pt
+ \@@par
+ \global\@inlabelfalse}
+\def\endEx{\endlist}
+
+% Various things to make it easier to write code and examples:
+
+\begingroup
+ \catcode`\{=12 \catcode`\}=12
+ \catcode`\(=1 \catcode`\)=2
+ \catcode`\+=0 \catcode`\\=12
+ +gdef+|(\) % \| = character \
+ +gdef+{({) % \{ = character {
+ +gdef+}(}) % \} = character }
++endgroup
+\def\Backslash{\protect\|}
+
+% Define some functional font commands:
+
+\def\MainFont{\tt} % For macro definitions.
+\def\UsageFont{\tt} % For in-line macro names.
+\def\InlineFont{\tt} % For other in-line snipets of code.
+\def\DisplayFont{\tt} % For displayed code.
+
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\endinput
+%% END tvz-hax.sty
diff --git a/macros/latex/contrib/seminar/doc/tvz-user.sty b/macros/latex/contrib/seminar/doc/tvz-user.sty
new file mode 100644
index 0000000000..f203fa2cf3
--- /dev/null
+++ b/macros/latex/contrib/seminar/doc/tvz-user.sty
@@ -0,0 +1,215 @@
+%%
+%% This file may be distributed and/or modified under the conditions of
+%% the LaTeX Project Public License, either version 1.2 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.2 or later is part of all distributions of LaTeX version
+%% 1999/12/01 or later.
+%%
+%% BEGIN tvz-user.sty
+%% 93/04/01
+
+\input tvz-hax.sty
+
+\def\papersizeadjust{%
+ \@tempdima=\paperwidth\relax
+ \advance\@tempdima-8.5in
+ \divide\@tempdima 2
+ \advance\oddsidemargin\@tempdima
+ \advance\evensidemargin\@tempdima
+ \@tempdima=\paperheight
+ \advance\@tempdima-11in
+ \divide\@tempdima 2
+ \advance\topmargin\@tempdima}
+
+\begingroup
+ \catcode`\"=\active
+ \gdef\ShortVerb{%
+ \catcode`\"=\active
+ \def"{\Verb"}}%
+ \gdef\DeleteShortVerb{\catcode`\"=12\relax}
+\endgroup
+
+% Paragraphs are marked by large space rather than indentation:
+\setlength{\parindent}{0pt}
+\setlength{\parskip}{7pt plus 1pt minus 1pt}
+
+% Reduce \topsep:
+\def\@listI{%
+ \leftmargin\leftmargini
+ \parsep 5\p@ plus2.5\p@ minus\p@
+ %\topsep 10\p@ plus4\p@ minus6\p@
+ \topsep 5\p@ plus2\p@ minus2\p@
+ \itemsep 5\p@ plus2.5\p@ minus\p@}
+\let\@listi\@listI
+\@listi
+\def\@listii{%
+ \leftmargin\leftmarginii
+ \labelwidth\leftmarginii
+ \advance\labelwidth-\labelsep
+ %\topsep 5\p@ plus2.5\p@ minus\p@
+ \topsep 2\p@ plus.5\p@ minus\p@
+ \parsep 2.5\p@ plus\p@ minus\p@
+ \itemsep \parsep}
+\def\@listiii{%
+ \leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii
+ \advance\labelwidth-\labelsep
+ %\topsep 2.5\p@ plus\p@ minus\p@
+ \topsep 1\p@ plus.2\p@ minus.2\p@
+ \parsep \z@
+ \partopsep \p@ plus\z@ minus\p@
+ \itemsep \topsep}
+
+\skip\footins 20pt plus 4pt minus 2pt
+
+%%%%%%%%%%%%%%%%%%%%%%% Special hacks for User's Guides %%%%%%%%%%%%%%%%%%%%%
+%%
+%% Listing questions
+\newcounter{faq}[section]
+\def\thefaq{\arabic{faq}}
+\let\l@faq\@gobbletwo
+\def\faq{\@startsection{faq}{2}{\z@}%
+ {3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}{\faqfont}}
+\def\faqfont{\normalsize\sf}
+\def\faqmark#1{}
+%%
+%% Listing errors
+\def\error{\vskip 2ex\noindent}
+%%
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\@ifundefined{AmSTeX}
+ {\def\AmSTeX{\leavevmode\hbox{$\cal A\kern-.2em\lower.376ex%
+ \hbox{$\cal M$}\kern-.2em\cal S$-\TeX}}}{}
+\@ifundefined{BibTeX}
+ {\def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em%
+ T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}}}{}
+\@ifundefined{SliTeX}
+ {\def\SliTeX{{\rm S\kern-.06emL\kern-.18em\raise.32ex\hbox
+ {\sc i}\kern -.03em\TeX}}}{}
+\@ifundefined{PlainTeX}{\def\PlainTeX{{\sc Plain}\kern2pt\TeX}}{}
+
+%%%%%%%%%%%%%%% Special indexing for User's Guides %%%%%%%%%%%%%%%%%%%%%%%%%
+%%
+%%
+\@ifundefined{actualchar}{\def\actualchar{@}}{}
+\@ifundefined{quotechar}{\def\quotechar{"}}{}
+\@ifundefined{levelchar}{\def\levelchar{!}}{}
+\@ifundefined{encapchar}{\def\encapchar{|}}{}
+\@ifundefined{verbatimchar}{\def\verbatimchar{+}}{}
+%%
+%% These are the indexing commands:
+%%
+%% Commands: \MainIndex \UsageIndex
+%% Environments: \MainEnvIndex \UsageEnvIndex
+%% Style options: \MainOptionIndex \UsageOptionIndex
+%% Counters: \MainCntIndex \UsageCntIndex
+\def\@Index#1{\@bsphack\index{#1}\@esphack}
+\def\Index#1#2{%
+ \@bsphack
+ \index{\expandafter\@gobble\string#2\actualchar\string
+ \verb\quotechar*\verbatimchar\string#2\verbatimchar
+ \encapchar #1}}
+{\catcode`\!=0 !catcode`!\=12!gdef!special@gobble#1{!if\#1!else#1!fi}}
+\def\MainIndex{\Index{main}}
+\def\UsageIndex{\Index{usage}}
+\def\SpecialIndex#1#2#3{%
+ \@Index{#3\actualchar{\tt #3} (#1)\encapchar #2}%
+ \@Index{#1s:\levelchar{\tt #3}\encapchar #2}}
+\def\MainEnvIndex{\SpecialIndex{environment}{main}}
+\def\UsageEnvIndex{\SpecialIndex{environment}{usage}}
+\def\MainOptionIndex{\SpecialIndex{option}{main}}
+\def\UsageOptionIndex{\SpecialIndex{option}{usage}}
+\def\MainCntIndex{\SpecialIndex{counter}{main}}
+\def\UsageCntIndex{\SpecialIndex{counter}{usage}}
+%%
+%% Font for index page numbers:
+\def\main#1{{\bf #1}}
+\def\usage#1{{#1}}
+%%
+%% These combine various functions:
+%%
+%% Commands: \Main \Usage
+%% Environments: \MainEnv \UsageEnv
+%% Style options: \MainOption \UsageOption
+%% Counters: \MainCnt \UsageCnt
+%%
+%% The "Main" ones
+%% * Index argument.
+%% * Print argument with \MainFont
+%% * Create label +foo, e+foo or o+foo.
+%%
+%% The "Usage" ones
+%% * Index argument.
+%% * Print argument with \UsageFont.
+%%
+\def\SpecialLabel#1#2+{\label{+#2}}
+\def\LabelIndex#1{\MainIndex{#1}\expandafter\SpecialLabel\string#1+}
+\def\Main#1{%
+ \MainIndex{#1}%
+ \expandafter\SpecialLabel\string#1+%
+ {\MainFont\string#1}}
+\def\Usage#1{\UsageIndex{#1}{\UsageFont\string#1}}
+\def\MainEnv#1{%
+ \MainEnvIndex{#1}%
+ \label{e+#1}%
+ {\MainFont #1}}
+\def\UsageEnv#1{\UsageEnvIndex{#1}{\UsageFont #1}}
+\def\MainOption#1{%
+ \MainOptionIndex{#1}%
+ \label{o+#1}%
+ {\MainFont #1}}
+\def\UsageOption#1{\UsageOptionIndex{#1}{\UsageFont #1}}
+\def\MainCnt#1{%
+ \MainCntIndex{#1}%
+ \label{c+#1}%
+ {\MainFont #1}}
+\def\UsageCnt#1{\UsageCntIndex{#1}{\UsageFont #1}}
+%%
+%% These are abbreviations.
+%%
+\def\N{\Main}
+\def\n{\Usage}
+\def\E{\MainEnv}
+\def\e{\UsageEnv}
+\def\O{\MainOption}
+\def\o{\UsageOption}
+\def\C{\MainCnt}
+\def\c{\UsageCnt}
+%%
+%% This is for listing commands in a description environment.
+\def\xitem#1{\item[\Main{#1}]}
+%%
+%%
+\renewcommand{\EveryVerbatimLine}[2]{}
+\VerbatimFootnotes
+
+%% User's guide and documented code have different index prologue.
+\def\PrintUserIndex{{\let\ps@plain\@empty\@input{\jobname.ind}}}
+
+\begingroup
+ \catcode`\<=1 \catcode`\>=2
+ \catcode`\{=13 \catcode`\}=12
+ \catcode`\[=13
+ \gdef\@MD<%
+ \catcode`\{=13 \catcode`\}=12 \catcode`\[=13
+ \def{##1}<\{<\MetaFont ##1\/>\}>%
+ \def[##1]<\string[<\MetaFont ##1\/>]>>
+\endgroup
+\def\MD{%
+ \NotNested
+ \Ex
+ \begingroup
+ \@MD
+ \def\end{\par\endgroup\end}%
+ \def\\{\@centercr\Main}%
+ \MainFont
+ \Main}
+\def\endMD{\endEx}
+
+\endinput
+%% END tvz-user.sty