summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:39:55 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:39:55 +0000
commit661380740cba9728be71d20fc9de02348db3c811 (patch)
tree1c97e989a55a4639b3c708ee52e1e94d960ccd53
parent0e5cfb9361c44f956cdbac26d6df0ac9ce9eefdb (diff)
seminary
git-svn-id: svn://tug.org/texlive/trunk@1475 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/latex/seminar/2up.sty3
-rw-r--r--Master/texmf-dist/tex/latex/seminar/2up.tex371
-rw-r--r--Master/texmf-dist/tex/latex/seminar/fancybox.sty975
-rw-r--r--Master/texmf-dist/tex/latex/seminar/npsfont.sty193
-rw-r--r--Master/texmf-dist/tex/latex/seminar/semcolor.sty66
-rw-r--r--Master/texmf-dist/tex/latex/seminar/seminar.bg2252
-rw-r--r--Master/texmf-dist/tex/latex/seminar/seminar.bug197
-rw-r--r--Master/texmf-dist/tex/latex/seminar/seminar.cls1207
-rw-r--r--Master/texmf-dist/tex/latex/seminar/semlayer.sty146
-rw-r--r--Master/texmf-dist/tex/latex/seminar/semrot.sty70
-rw-r--r--Master/texmf-dist/tex/latex/seminar/slidesec.sty200
-rw-r--r--Master/texmf-dist/tex/latex/seminar/xcomment.sty182
12 files changed, 3862 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/seminar/2up.sty b/Master/texmf-dist/tex/latex/seminar/2up.sty
new file mode 100644
index 00000000000..ec109716932
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/2up.sty
@@ -0,0 +1,3 @@
+\ProvidesPackage{2up}[1998/03/13 package wrapper for 2up.tex]
+\input 2up.tex
+\endinput
diff --git a/Master/texmf-dist/tex/latex/seminar/2up.tex b/Master/texmf-dist/tex/latex/seminar/2up.tex
new file mode 100644
index 00000000000..51b72e80116
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/2up.tex
@@ -0,0 +1,371 @@
+%% BEGIN 2up.tex/2up.sty
+%%
+\def\fileversion{1.2}
+\def\filedate{93/01/28}
+%%
+%% COPYRIGHT 1992, 1993 by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%% DESCRIPTION:
+%% 2up.tex/2up.sty provides two-up printing for Generic TeX (e.g.,
+%% Plain, LaTeX, AmSTeX and AmS-LaTeX). It produces a standard dvi file,
+%% and does not involve an additional dvi or PostScript filter. It has a
+%% flexible interface for specifying paper size and layout.
+%%
+%% INSTALLATION:
+%% Put this file where your TeX looks for inputs, under the name 2up.tex.
+%% Name a copy 2up.sty to use as a LaTeX style option, or create a file
+%% 2up.sty with the lines:
+%% \input 2up.tex
+%% \endinput
+%%
+%% DOCUMENTATION:
+%% Input 2up.tex, or include 2up as a LaTeX style option. There is a
+%% good chance you will get the desired layout. (But you will probably
+%% need to generate new font bitmaps to get high quality output.) See
+%% 2up.doc, which might be appended to this file, for detailed
+%% documentation.
+%%
+%% CODE:
+%
+\csname TwoUpLoaded\endcsname
+\let\TwoUpLoaded\endinput
+%
+\edef\TheAtCode{\the\catcode`\@}
+\catcode`\@=11\relax
+\message{\space\space v\fileversion\space\space \filedate\space\space <tvz>}
+%
+% Parameter registers:
+\newdimen\@targetwidth
+\newdimen\@targetheight
+\newdimen\@sourcewidth
+\newdimen\@sourceheight
+\newdimen\pageseplength
+\newdimen\pagesepwidth
+\newdimen\pagesepoffset
+\newif\if@sidebyside
+\@sidebysidetrue
+\newif\if@twosided
+%
+% Registers used by output routine.
+\newif\if@leftpage
+\@leftpagetrue
+\newbox\@leftpage
+\newbox\@rightpage
+\newcount\@physicalpage
+%
+% Since pages are shipped out half as often:
+\multiply\maxdeadcycles by 2
+%
+% Registers used only for booklet layout:
+\begingroup
+ \let\newcount\relax
+ \gdef\booklet@registers{%
+ \newcount\bookletpage
+ \bookletpage=0
+ \newcount\leftpagenumber
+ \newcount\rightpagenumber
+ \multiply\maxdeadcycles by 20}
+\endgroup
+%
+% A useful extension of the \magstep macro.
+\def\magstepminus#1{%
+ \ifcase#1 \@m\or 833\or 694\or 579\or 482\or 401\fi\relax}
+%
+% \@targetwidth and \@targetheight are set to the *unmagnified* dimensions
+% of the target page. \inv@targetmag is the inverse of the target
+% magnification.
+{\catcode`\p=12\catcode`\t=12\gdef\@@inv@@mag#1pt#2{\def#2{#1}}}
+\def\target#1#2#3{%
+ \mag #1\relax
+ \@targetwidth=1000pt
+ \divide\@targetwidth by #1\relax
+ \expandafter\@@inv@@mag\the\@targetwidth\inv@targetmag
+ \@targetwidth=#2\relax
+ \@targetwidth=\inv@targetmag\@targetwidth
+ \@targetheight=#3\relax
+ \@targetheight=\inv@targetmag\@targetheight}
+%
+% Like \target, but for the source:
+\def\source#1#2#3{%
+ \@sourcewidth=1000pt
+ \divide\@sourcewidth by #1\relax
+ \expandafter\@@inv@@mag\the\@sourcewidth\inv@sourcemag
+ \@sourcewidth=#2\relax
+ \@sourcewidth=\inv@sourcemag\@sourcewidth
+ \@sourceheight=#3\relax
+ \@sourceheight=\inv@sourcemag\@sourceheight}
+%
+% \targetlayout does a loop that reads the comma separated arguments.
+% There can be no extraneous spaces.
+\def\targetlayout#1{\process@targetlayout#1,stop,}
+\def\process@targetlayout#1,{%
+ \expandafter\let\expandafter\next\csname target@#1\endcsname
+ \ifx\next\relax
+ \begingroup
+ \errhelp{Valid target layouts are "topbottom", "twosided",
+ "booklet", "Booklet" and "dvidvi".}%
+ \errmessage{`#1' is invalid 2up target layout - ignored.}%
+ \endgroup
+ \expandafter\process@targetlayout
+ \else
+ \next
+ \fi}
+\def\target@stop{}
+\def\target@booklet{%
+ \booklet@registers
+ \def\ship@@@leftpage{\save@booklet\@leftpage}%
+ \def\ship@@@rightpage{\save@booklet\@rightpage}%
+ \@leftpagefalse
+ \def\twoup@eject{\twoup@eject@booklet}%
+ \expandafter\process@targetlayout}
+\def\target@Booklet{%
+ \def\booklet@@loop{\Booklet@@loop}%
+ \target@booklet}
+\def\target@twosided{%
+ \@twosidedtrue
+ \expandafter\process@targetlayout}
+\def\target@topbottom{%
+ \def\make@@halfpage{\make@@halftopbottom}%
+ \def\make@fullpage{\make@fulltopbottom}%
+ \@sidebysidefalse
+ \expandafter\process@targetlayout}
+\def\target@dvidvi{%
+ \def\ship@@@leftpage{\ship@dvidvi\@leftpage}%
+ \def\ship@@@rightpage{\ship@dvidvi\@rightpage}%
+ \expandafter\process@targetlayout}
+%
+% TeX's \shipout primitive is saved as \&normal@shipout, and then \shipout
+% is defined to save each page to \@leftpage or \@rightpage and to print out
+% every two. With the twosided layout, filler pages are added when needed.
+\expandafter\let\csname &normal@shipout\endcsname\shipout
+\def\shipout{%
+ \if@leftpage
+ \global\@leftpagefalse
+ \def\next{\afterassignment\ship@leftpage\global\setbox\@leftpage=}%
+ \if@twosided
+ \ifodd\count\z@
+ \global\setbox\@leftpage=\hbox{}%
+ \make@@halfpage\@leftpage\ship@@@leftpage
+ \def\next{\shipout}%
+ \fi
+ \fi
+ \else
+ \global\@leftpagetrue
+ \def\next{\afterassignment\ship@rightpage\global\setbox\@rightpage=}%
+ \if@twosided
+ \ifodd\count\z@
+ \else
+ \global\setbox\@rightpage=\hbox{}%
+ \make@@halfpage\@rightpage\ship@@@rightpage
+ \def\next{\shipout}%
+ \fi
+ \fi
+ \fi
+ \next}
+%
+% The job of \ship@leftpage and \ship@rightpage is to invoke \ship@@leftpage
+% or \ship@@rightpage at the right time. \shipout is followed either
+% (i) by an \hbox, \vbox or \vtop, in which case \ship@leftpage is invoked
+% after the opening {. \@leftpage is void, and \ship@leftpage invokes
+% \ship@@leftpage after the closing }, or
+% (ii) by a \box or \copy, in which case \ship@leftpage is invoked after
+% the full assignment. \@leftpage is not voide, and \ship@leftpage invokes
+% \ship@@leftpage immediately.
+\def\ship@leftpage{%
+ \ifvoid\@leftpage\aftergroup\ship@@leftpage\else\ship@@leftpage\fi}
+\def\ship@rightpage{%
+ \ifvoid\@rightpage\aftergroup\ship@@rightpage\else\ship@@rightpage\fi}
+%
+% \ship@@leftpage/\ship@@rightpage take the output box, and first make it
+% into a fully-size source page (with \make@halfpage) and then this is
+% centered horizontally and vertically in half of a target page (with
+% \make@@halfpage). Then they are shipped individually or together.
+\def\ship@@leftpage{\make@halfpage\@leftpage\ship@@@leftpage}
+\def\ship@@rightpage{\make@halfpage\@rightpage\ship@@@rightpage}
+\def\make@halfpage#1{%
+ \dp#1=\z@
+ \setbox#1=\vbox to\@sourceheight{%
+ \vskip \inv@sourcemag in
+ \vskip \voffset
+ \hbox to\@sourcewidth{\hskip\inv@sourcemag in\hskip\hoffset\box#1\hss}%
+ \vss}%
+ \make@@halfpage#1}
+%
+% The definition of \make@@halfpage depends on the target layout.
+\def\make@@halfsidebyside#1{%
+ \global\setbox#1=\vbox to\@targetheight{\vss
+ \hbox to.5\@targetwidth{\hss\box#1\hss}\vss}}
+\def\make@@halftopbottom#1{%
+ \global\setbox#1=\vbox to.5\@targetheight{\vss
+ \hbox to\@targetwidth{\hss\box#1\hss}\vss}}
+\def\make@@halfpage{\make@@halfsidebyside}
+%
+% The pages are generaly shipped in pairs:
+\def\ship@twoup{%
+ \begingroup
+ \voffset=-\inv@targetmag in
+ \hoffset=\voffset
+ \global\advance\@physicalpage by 1
+ \count\z@=\@physicalpage
+ \csname &normal@shipout\endcsname\make@fullpage
+ \endgroup}
+\let\ship@@@leftpage\relax
+\def\ship@@@rightpage{\ship@twoup}
+%
+% The definition of \make@fullpage depends on the layout:
+\def\make@fullsidebyside{%
+ \hbox{\box\@leftpage\pagesep@sidebyside\box\@rightpage}}
+\def\make@fulltopbottom{%
+ \vbox{\offinterlineskip\box\@leftpage\pagesep@topbottom\box\@rightpage}}
+\def\make@fullpage{\make@fullsidebyside}
+%
+% A vertical or horizontal rule can be inserted. These can be redefined
+% for other tricks:
+\def\pagesep@sidebyside{%
+ \begingroup
+ \advance\pageseplength by \pagesepoffset
+ \pagesepwidth=\inv@targetmag\pagesepwidth
+ \kern -.5\pagesepwidth
+ \vrule height \inv@targetmag\pageseplength
+ depth -\inv@targetmag\pagesepoffset
+ width \pagesepwidth
+ \kern -.5\pagesepwidth
+ \endgroup}
+\def\pagesep@topbottom{%
+ \begingroup
+ \pagesepwidth=\inv@targetmag\pagesepwidth
+ \vskip -.5\pagesepwidth
+ \moveright\inv@targetmag\pagesepoffset\hbox{%
+ \vrule height\pagesepwidth width\inv@targetmag\pageseplength}%
+ \vskip -.5\pagesepwidth
+ \endgroup}
+%
+% With the dvidvi layout, the pages are shipped individually:
+\def\ship@dvidvi#1{%
+ \begingroup
+ \voffset=-\inv@targetmag in
+ \hoffset=\voffset
+ \csname &normal@shipout\endcsname\box#1%
+ \endgroup}
+%
+% With the booklet or Booklet layout, the pages are saved rather than
+% shipped.
+\begingroup
+\let\newbox\relax
+\gdef\save@booklet#1{%
+ \begingroup
+ \globaldefs=1
+ \advance\bookletpage by 1
+ \expandafter\newbox\csname bookletbox\the\bookletpage\endcsname
+ \expandafter\setbox\csname bookletbox\the\bookletpage\endcsname\box#1%
+ \endgroup}
+\endgroup
+%
+% The pages are then printed at the end with the following macros:
+\def\make@bookletpage#1{%
+ \setbox\ifodd#1\@rightpage\else\@leftpage\fi=%
+ \expandafter\box\csname bookletbox\the#1\endcsname}
+\def\booklet@loop{%
+ \count\z@\rightpagenumber
+ \make@bookletpage\leftpagenumber
+ \make@bookletpage\rightpagenumber
+ \ship@twoup
+ \booklet@@loop}
+\def\booklet@@loop{%
+ \advance\rightpagenumber by 2
+ \advance\leftpagenumber by -2
+ \ifnum\leftpagenumber<1\else\expandafter\booklet@loop\fi}
+\def\Booklet@@loop{%
+ \advance\rightpagenumber by 1
+ \advance\leftpagenumber by -1
+ \ifnum\leftpagenumber<\rightpagenumber\else\expandafter\booklet@loop\fi}
+%
+% This one is easy:
+\def\twoupemptypage{\shipout\hbox{}}
+%
+% This clears a whole target page if there is a saved left page. Note that
+% this does not invoke the output routine; i.e., it is not like \clearpage
+% or \supereject. See \twoupclearpage and \twoupeject below.
+\def\twoup@eject{%
+ \if@leftpage\else
+ \global\setbox\@rightpage\hbox{}%
+ \make@@halfpage\@rightpage\ship@@@rightpage
+ \global\@leftpagetrue
+ \fi}
+%
+% This is the definition of \twoup@eject with the booklet option:
+\def\twoup@eject@booklet{%
+ \leftpagenumber\bookletpage
+ \advance\leftpagenumber by 3
+ \divide\leftpagenumber by 4
+ \multiply\leftpagenumber by 4
+ \rightpagenumber=1
+ \ifnum\leftpagenumber>\bookletpage
+ \setbox\@leftpage\hbox{}%
+ \make@@halfpage\@leftpage
+ \loop
+ \setbox\@rightpage\copy\@leftpage
+ \save@booklet\@rightpage
+ \ifnum\leftpagenumber>\bookletpage
+ \repeat
+ \fi
+ \booklet@loop}
+%
+% This modification is needed for \LaTeX in order to get the last page
+% printed out if the final page is a left page (the catcode business is
+% because \enddocument is \let to \bye in amstex):
+\begingroup
+\expandafter\ifx\csname @latexerr\endcsname\relax
+ \catcode`\>=14\else\catcode`\>=9\fi\relax
+>>\gdef\twoupclearpage{\clearpage\twoup@eject}
+>>\expandafter\@temptokena\expandafter{\enddocument}
+>>\xdef\enddocument{\noexpand\twoupclearpage\the\@temptokena}
+\endgroup
+%
+% For most other macro packages we could just leave be and all pages would
+% always be printed because of the way the \end primitive works (except that
+% TeX will go bonkers with the booklet layout). However,
+% sometimes a blank filler page would be printed *with* headings. We prefer
+% the filler page to be truly blank. To achieve this, we hack the definition
+% of \end. This may cause problems with some macros.
+\expandafter\ifx\csname @latexerr\endcsname\relax
+ \let\twoup@@@end\end
+ \def\end{\twoup@eject\twoup@@@end}
+ \def\twoupeject{\par\vfil\supereject\twoup@eject}
+\fi
+%
+% This is one workaround for the page cross-references problem
+\def\TwoupWrites{%
+ \let\TwoupSaved@write\write
+ \let\TwoupSaved@read\read
+ \let\TwoupSaved@openout\openout
+ \let\TwoupSaved@closeout\closeout
+ \def\write{\TwoupSaved@write-1{}\immediate\TwoupSaved@write}%
+ \def\read{\TwoupSaved@write-1{}\immediate\TwoupSaved@read}%
+ \def\openout{\TwoupSaved@write-1{}\immediate\TwoupSaved@openout}%
+ \def\closeout{\TwoupSaved@write-1{}\immediate\TwoupSaved@closeout}%
+ \let\TwoupWrites\relax}
+%
+% Defaults:
+\def\twouparticle{%
+ \target{\magstepminus1}{11in}{8.5in}%
+ \source{\magstep0}{8.5in}{11in}}
+\def\twoupplain{%
+ \target{\magstepminus2}{11in}{8.5in}%
+ \source{\magstep0}{8.5in}{11in}}
+\def\twouplegaltarget{%
+ \target{\magstepminus1}{14in}{8.5in}%
+ \source{\magstep0}{8.5in}{11in}}%
+\def\twouplandscape{%
+ \target{\magstepminus2}{8.5in}{11in}%
+ \source{\magstep0}{11in}{8.5in}%
+ \targetlayout{topbottom}}
+\expandafter\ifx\csname @latexerr\endcsname\relax
+ \twoupplain\else\twouparticle\fi
+\pagesepwidth 0pt
+\pageseplength 6.5in
+\pagesepoffset 1in
+%
+\expandafter\catcode`\@=\TheAtCode\relax
+\endinput
+%% END 2up.tex/2up.sty
diff --git a/Master/texmf-dist/tex/latex/seminar/fancybox.sty b/Master/texmf-dist/tex/latex/seminar/fancybox.sty
new file mode 100644
index 00000000000..2abe7e2f5ef
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/fancybox.sty
@@ -0,0 +1,975 @@
+%% BEGIN fancybox.sty
+%%
+%% With corrections and suggestions from:
+%% - Marcin Wolinski <wolinski@melkor.mimuw.edu.pl>
+%% - Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>
+%%
+\def\fileversion{1.3}
+\def\filedate{2000/09/19}
+% DG/SR modification begin - September 19, 2000
+% (suggested by Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>)
+\@ifundefined{ProvidesPackage}{}{%
+ \ProvidesPackage{fancybox}[\filedate\space\fileversion]}
+% DG/SR modification end
+% DG/SR modification begin - May 16, 1997
+\providecommand\@begindvi{} % For rather old versions of LaTeX 2e
+% DG/SR modification end
+% DG/SR modification begin - Feb. 27, 1997
+% Now defined only in latex209.def
+\def\@lquote{\leavevmode{\kern\z@}`}
+% DG/SR modification end
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%% DESCRIPTION:
+%% fancybox.sty is a LaTeX style option, consisting of:
+%% * Variants of \fbox: \shadowbox, \doublebox, \ovalbox, \Ovalbox.
+%% * Helpful tools for using box macros.
+%% * Extensive documentation about how to use box macros.
+%% * Flexible verbatim macros.
+%%
+%% INSTALLATION:
+%% Put this file where your TeX looks for inputs.
+%%
+%% DOCUMENTATION:
+%% See fancybox.doc, which might be appended to this file.
+%%
+%% CODE:
+\expandafter\ifx\csname fb@framepage\endcsname\relax\else
+ \expandafter\endinput
+\fi
+\typeout{Style option: `fancybox' v\fileversion \space <\filedate> (tvz)}
+
+\newbox\@fancybox
+\@ifundefined{@tempdimc}{\newdimen\@tempdimc}{}
+
+%% \shadowbox
+
+\newdimen\shadowsize
+\shadowsize 4pt
+
+\def\shadowbox{\VerbBox\@shadowbox}
+\def\@shadowbox#1{%
+ \setbox\@fancybox\hbox{\fbox{#1}}%
+ \leavevmode\vbox{%
+ \offinterlineskip
+ \dimen@=\shadowsize
+ \advance\dimen@ .5\fboxrule
+ \hbox{\copy\@fancybox\kern-.5\fboxrule\lower\shadowsize\hbox{%
+ \vrule \@height\ht\@fancybox \@depth\dp\@fancybox \@width\dimen@}}%
+ \vskip-\dimen@
+ \moveright\shadowsize\vbox{%
+ \hrule \@width\wd\@fancybox \@height\dimen@}}}
+
+% \fancyoval
+
+\def\cornersize{\@ifstar{\@cornersize}{\@@cornersize}}
+\def\@cornersize#1{%
+ \@tempdima=#1\relax
+ \edef\the@cornersize{\number\@tempdima sp}}
+\def\@@cornersize#1{%
+ \edef\the@cornersize{#1\noexpand\@tempdimb}}
+\cornersize{.5}
+
+% This is just a simple change to \oval, making use of the \cornersize
+% parameter instead of making the corner arcs are large as possible.
+
+\def\fancyoval(#1,#2){\@ifnextchar[{\fancy@oval(#1,#2)}{\fancy@oval(#1,#2)[]}}
+
+\def\fancy@oval(#1,#2)[#3]{%
+ \begingroup
+ \fancy@@oval{#1\unitlength}{#2\unitlength}{#3}%
+ \@put{-.5\wd\@tempboxa}{-.5\ht\@tempboxa}{\ht\@tempboxa=\z@\box\@tempboxa}%
+ \endgroup}
+
+\def\fancy@@oval#1#2#3{%
+ \boxmaxdepth \maxdimen
+ \@ovttrue \@ovbtrue \@ovltrue \@ovrtrue
+ \@tfor\@tempa :=#3\do{\csname @ov\@tempa false\endcsname}%
+ \@ovxx#1\relax
+ \advance\@ovxx-\@wholewidth
+ \@ovyy#2\relax
+ \advance\@ovyy-\@wholewidth
+ \@tempdimb \ifdim \@ovyy >\@ovxx \@ovxx\else \@ovyy \fi
+ \advance\@tempdimb-2\p@
+ \ifdim\@tempdimb>\the@cornersize\relax
+ \@tempdimb=\the@cornersize
+ \fi
+ \@getcirc\@tempdimb
+ \@ovro\ht\@tempboxa \@ovri\dp\@tempboxa
+ \@ovdx\@ovxx \advance\@ovdx-\@tempdima \divide\@ovdx \tw@
+ \@ovdy\@ovyy \advance\@ovdy-\@tempdima \divide\@ovdy \tw@
+ \@circlefnt
+ \setbox\@tempboxa\hbox{%
+ \if@ovr \@ovvert32\kern -\@tempdima \fi
+ \if@ovl \kern \@ovxx \@ovvert01\kern -\@tempdima \kern -\@ovxx \fi
+ \if@ovt \@ovhorz \kern -\@ovxx \fi
+ \if@ovb \raise \@ovyy \@ovhorz \fi}%
+ \advance\@ovdx\@ovro
+ \advance\@ovdy\@ovro
+ \advance\@ovxx\@wholewidth
+ \wd\@tempboxa=\@ovxx
+ \dp\@tempboxa=\z@}
+
+% \ovalbox
+
+\def\ovalbox{\VerbBox{\@ovalbox\thinlines}}
+\def\Ovalbox{\VerbBox{\@ovalbox\thicklines}}
+\def\@ovalbox#1#2{%
+ \begingroup
+ #1\relax
+ \setbox\@fancybox\hbox{{#2}}%
+ \@tempdimc\fboxsep \advance\@tempdimc\@wholewidth
+ \@tempdima\ht\@fancybox \advance\@tempdima\dp\@fancybox
+ \advance\@tempdima2\@tempdimc
+ \@tempdimb\wd\@fancybox \advance\@tempdimb2\@tempdimc
+ \fancy@@oval\@tempdimb\@tempdima{}%
+ \@tempdima\dp\@fancybox \advance\@tempdima\@tempdimc
+ \wd\@tempboxa=\z@
+ \leavevmode\hbox{%
+ \lower\@tempdima\box\@tempboxa
+ \kern\@tempdimc\box\@fancybox\kern\@tempdimc}%
+ \endgroup}
+
+% \doublebox
+
+\def\doublebox{\VerbBox\@doublebox}
+\def\@doublebox#1{%
+ \begingroup
+ \setbox\@fancybox\hbox{{#1}}%
+ \fboxrule=.75\fboxrule
+ \setbox\@fancybox\hbox{\fbox{\box\@fancybox}}%
+ \fboxrule=2\fboxrule
+ \fboxsep=\fboxrule
+ \advance\fboxsep .5pt
+ \fbox{\box\@fancybox}%
+ \endgroup}
+
+% Frames for seminar.sty:
+
+\@ifundefined{newslideframe}{}{%
+ \newslideframe{shadow}{\shadowbox{#1}}
+ \newslideframe{double}{\doublebox{#1}}
+ \newslideframe{oval}{\ovalbox{#1}}
+ \newslideframe{Oval}{\Ovalbox{#1}}}
+
+% Sbox environment
+
+\newbox\@Sbox
+
+\def\Sbox{\global\setbox\@Sbox\hbox\bgroup\ignorespaces}
+
+\def\endSbox{%
+ \@testtrue\ifhmode\ifinner\@testfalse\fi\fi
+ \if@test\@latexerr{Misplaced \string\endSbox! Should be in LR mode}\@ehd\fi
+ \egroup}
+
+\def\TheSbox{%
+ \ifvoid\@Sbox
+ \@latexerr{\string\TheSbox\space is empty!}\@ehd
+ \else
+ \box\@Sbox
+ \fi}
+
+\def\beginsbox#1{\setbox#1\hbox\bgroup\ignorespaces}
+
+\def\endsbox{\endSbox}
+
+% \VerbBox
+
+\newtoks\do@VerbBox
+
+\def\VerbBox#1{%
+ \do@VerbBox{#1}%
+ \afterassignment\begin@VerbBox
+ \setbox\@fancybox=\hbox}
+\def\begin@VerbBox{\aftergroup\end@VerbBox}
+\def\end@VerbBox{\the\do@VerbBox{\box\@fancybox}}%
+
+% \Btrivlist
+
+\def\@Blistrestore{%
+ \let\par\relax
+ \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii
+ \lineskip\normallineskip \baselineskip\normalbaselineskip}
+
+\def\Btrivlist#1{\@ifnextchar[{\@Btrivlist{#1}}{\@Btrivlist{#1}[]}}
+\def\@Btrivlist#1[#2]{%
+ \@Blistrestore
+ \let\\=\@Btrivlistcr
+ \fb@beginvbox{#2}%
+ \halign\bgroup
+ \if#1l\else\@empty\hfil\fi
+ \ignorespaces##\unskip
+ \if#1r\@empty\else\hfil\fi\cr}
+\def\endBtrivlist{\crcr\egroup\egroup\if@pboxsw$\fi}
+
+\def\fb@beginvbox#1{%
+ \leavevmode
+ \@pboxswfalse
+ \if#1b\@empty\vbox\else\if#1t\@empty\vtop\else
+ \ifmmode\vcenter\else\@pboxswtrue$\vcenter\fi
+ \fi\fi\bgroup}
+
+\def\@Btrivlistcr{\@ifstar
+ {\@ifnextchar[{@@Btrivlistcr}{\cr}}{\@ifnextchar[{\@@Btrivlistcr}{\cr}}}
+\def\@@Btrivlistcr[#1]{\cr\noalign{\vskip #1}}
+
+\def\Bcenter{\Btrivlist{c}}
+\def\endBcenter{\endBtrivlist}
+
+\def\Bflushleft{\Btrivlist{l}}
+\def\endBflushleft{\endBtrivlist}
+
+\def\Bflushright{\Btrivlist{r}}
+\def\endBflushright{\endBtrivlist}
+
+% \Blist
+
+\def\Blist#1#2{\@ifnextchar[{\@Blist{#1}{#2}}{\@Blist{#1}{#2}[]}}
+
+\def\@Blist#1#2[#3]{%
+ \ifnum\@listdepth>5
+ \@toodeep
+ \else
+ \global\advance\@listdepth\@ne
+ \fi
+ \itemindent\z@
+ \csname @list\romannumeral\the\@listdepth\endcsname
+ \def\@itemlabel{#1}%
+ \let\makelabel\@mklab
+ \@nmbrlistfalse
+ \@Blistrestore
+ \let\\=\@Blistcr
+ \let\item\Bitem
+ \@Bitemswfalse
+ #2\relax
+ \fb@beginvbox{#3}%
+ \halign\bgroup
+ \ignorespaces##&\hskip\labelsep\ignorespaces##\unskip\hfil\cr}
+
+\def\endBlist{\endBtrivlist\global\advance\@listdepth\m@ne}
+
+\newif\if@Bitemsw
+
+\def\Bitem{\@ifnextchar({\@Bitemcr\Bitem@skip}{\@Bitemcr\@Bitem}}
+
+\def\@Bitemcr{%
+ \if@Bitemsw
+ \def\next{\cr\noalign{\vskip\itemsep}}%
+ \else
+ \def\next{\global\@Bitemswtrue}%
+ \fi
+ \next}
+
+\def\Bitem@skip(#1){\noalign{\vskip #1}\@Bitem}
+
+\def\@Bitem{\@ifnextchar[{\Bitem@label}{\Bitem@nolabel}}
+
+\def\Bitem@label[#1]{\makelabel{#1}&}
+
+\def\Bitem@nolabel{%
+ \if@nmbrlist
+ \expandafter\advance\csname c@\@listctr\endcsname1 \fi
+ \makelabel{\@itemlabel}%
+ &%
+ \if@nmbrlist\refstepcounter{\@listctr}\fi}
+
+\def\@Blistcr{\@ifstar
+ {\@ifnextchar[{@@Blistcr}{\cr&}}{\@ifnextchar[{\@@Blistcr}{\cr&}}}
+
+\def\@@Blistcr[#1]{\cr\noalign{\vskip #1}&}
+
+% \Bitemize
+
+\def\Bitemize{%
+ \ifnum\@itemdepth>3
+ \@toodeep
+ \else
+ \advance\@itemdepth\@ne
+ \fi
+ \edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
+ \Blist{\csname\@itemitem\endcsname}{\def\makelabel####1{\hfil####1}}}
+\def\endBitemize{\endBlist}
+
+% \Bdescription
+
+\def\Bdescription{\Blist{}{\def\makelabel####1{\bf####1\hfil}}}
+\def\endBdescription{\endBlist}
+
+% \Benumerate
+
+\def\Benumerate{%
+ \ifnum\@enumdepth>3
+ \@toodeep
+ \else
+ \advance\@enumdepth\@ne
+ \fi
+ \edef\@enumctr{enum\romannumeral\the\@enumdepth}%
+ \Blist{\csname label\@enumctr\endcsname}%
+ {\usecounter{\@enumctr}\def\makelabel####1{\hfil####1}}}
+\def\endBenumerate{\endBlist}
+
+% Beqnarray
+
+\def\Beqnarray{%
+ \stepcounter{equation}%
+ \let\@currentlabel\theequation
+ \def\@eqnnum{{\csname reset@font\endcsname\rm (\theequation)}}%
+ \global\@eqnswtrue\m@th
+ \global\@eqcnt\z@
+ \tabskip\@centering
+ \let\\\@eqncr
+ \vbox\bgroup
+ \halign\bgroup
+ \@eqnsel
+ \hskip\@centering
+ $\displaystyle\tabskip\z@{##}$%
+ &\global\@eqcnt\@ne
+ \hskip 2\arraycolsep
+ \hfil${##}$\hfil
+ &\global\@eqcnt\tw@
+ \hskip 2\arraycolsep
+ $\displaystyle\tabskip\z@{##}$%
+ \hfil
+ \tabskip\@centering
+ &\if@eqnsw\hskip 1em\fi
+ \hfil{##}\tabskip\z@
+ \cr}
+
+\def\endBeqnarray{%
+ \@@eqncr
+ \egroup
+ \global\advance\c@equation\m@ne
+ \egroup
+ \global\@ignoretrue}
+
+\@namedef{Beqnarray*}{\def\@eqncr{\nonumber\@seqncr}\Beqnarray}
+\@namedef{endBeqnarray*}{\nonumber\endBeqnarray}
+
+% \fb@outputage
+
+% Here we insert various hooks for rotating or framing the page.
+% Otherwise, it is the usual \@outputpage
+
+\def\fb@outputpage{%
+ \begingroup
+ \catcode`\ =10
+ \let\-\@dischyph
+ \let\'\@acci
+ \let\`\@accii
+ \let\=\@acciii
+ \if@specialpage
+ \global\@specialpagefalse\@nameuse{ps@\@specialstyle}%
+ \fi
+ \if@twoside
+ \ifodd\count\z@
+ \let\@thehead\@oddhead
+ \let\@thefoot\@oddfoot
+ \let\@themargin\oddsidemargin
+ \else
+ \let\@thehead\@evenhead
+ \let\@thefoot\@evenfoot
+ \let\@themargin\evensidemargin
+ \fi
+ \fi
+ \csname reset@font\endcsname
+ \normalsize
+ \baselineskip\z@
+ \lineskip\z@
+ \let\par\@@par
+ \ifx\this@fancypage\@empty\else
+ \this@fancypage
+ \gdef\this@fancypage{}%
+ \fi
+ \ifx\the@fancypage\@empty\else
+ \setbox\@outputbox\hbox{\the@fancypage{\box\@outputbox}}%
+ \fi
+ \ifx\fb@@rotatepage\@empty\else
+ \setbox\@outputbox\hbox{\fb@@rotatepage{\box\@outputbox}}%
+ \fi
+ \setbox\@outputbox\vbox{%
+ \@tempdima=\wd\@outputbox
+ \setbox\@tempboxa=\hbox to\@tempdima{%
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \@thehead}%
+ \ht\@tempboxa\headheight
+ \dp\@tempboxa\z@
+ \box\@tempboxa
+ \vskip\headsep
+ \box\@outputbox
+ \baselineskip\footskip
+ \hbox to\@tempdima{%
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \@thefoot}}
+ \ifx\the@@fancypage\@empty\else
+ \setbox\@outputbox\hbox{\the@@fancypage{\box\@outputbox}}%
+ \fi
+ \setbox\@outputbox\vbox{%
+ \ifnum\fancyput@flag>-1 \do@fancyput\fi
+ \vskip\topmargin
+ \moveright\@themargin\box\@outputbox}%
+ \ifx\fb@rotatepage\@empty\else
+ \setbox\@outputbox\hbox{\lower\ht\@outputbox\box\@outputbox}%
+ \dp\@outputbox\z@
+ \wd\@outputbox\z@
+ \setbox\@outputbox\hbox{\fb@rotatepage{\box\@outputbox}}%
+ \expandafter\fb@setoffsets\fb@theoffsets
+ \fi
+% DG/SR modification begin - September 19, 2000
+% (suggested by Marcin Wolinski <wolinski@melkor.mimuw.edu.pl> and
+% Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>)
+ \let\protect\noexpand
+% DG/SR modification end
+ \shipout\box\@outputbox
+ \global\@colht\textheight
+ \endgroup
+ \stepcounter{page}%
+ \let\firstmark\botmark}
+
+% \fancypage
+
+\def\the@fancypage{}
+\def\the@@fancypage{}
+\def\this@fancypage{}
+
+\def\fancypage#1#2{%
+% DG/SR modification begin - May 16, 1997
+ \@begindvi % Need today by LaTeX 2e
+% DG/SR modification end
+ \def\the@fancypage{#1}%
+ \def\the@@fancypage{#2}%
+ \def\@outputpage{\fb@outputpage}}
+
+\def\thisfancypage#1#2{%
+% DG/SR modification begin - May 16, 1997
+ \@begindvi % Need today by LaTeX 2e
+% DG/SR modification end
+ \gdef\@outputpage{\fb@outputpage}%
+ \gdef\this@fancypage{\def\the@fancypage{#1}\def\the@@fancypage{#2}}}
+
+% \fancyput
+
+% Token registers used to make it easier to put definitions in argument.
+% Boxes not processed until output so that contents can depend, e.g., on
+% current page or marks or whatever. This makes everything slightly more
+% complicated than one would expect.
+
+\newtoks\the@fancyput
+\newtoks\this@fancyput
+\def\fancyput@flag{-1}%
+
+% \fancyput@flag=-1 if no fancyput, 0 if regular fancyput, 1 if thisfancyput.
+
+\def\fancyput{%
+% DG/SR modification begin - May 16, 1997
+ \@begindvi % Need today by LaTeX 2e
+% DG/SR modification end
+ \def\@outputpage{\fb@outputpage}
+ \@ifstar{\@testtrue\@fancyput}{\@testfalse\@fancyput}}
+\def\@fancyput{\@ifnextchar({\@@fancyput}{\@@fancyput(\z@,\z@)}}
+\def\@@fancyput(#1,#2)#3{%
+ \if@test
+ \expandafter\the@fancyput\expandafter{\the\the@fancyput\do{#1}{#2}{#3}}%
+ \else
+ \the@fancyput{\do{#1}{#2}{#3}}%
+ \fi
+ \gdef\fancyput@flag{\z@}}
+
+\def\thisfancyput{%
+% DG/SR modification begin - May 16, 1997
+ \@begindvi % Need today by LaTeX 2e
+% DG/SR modification end
+ \gdef\@outputpage{\fb@outputpage}
+ \@ifstar{\@testtrue\@thisfancyput}{\@testfalse\@thisfancyput}}
+\def\@thisfancyput{\@ifnextchar({\@@thisfancyput}{\@@thisfancyput(\z@,\z@)}}
+\def\@@thisfancyput(#1,#2)#3{%
+ \if@test
+ \ifnum\fancyput@flag=\z@
+ \expandafter\global\expandafter\this@fancyput\expandafter{%
+ \the\this@fancyput\do{#1}{#2}{#3}}%
+ \else
+ \expandafter\global\expandafter\this@fancyput\expandafter{%
+ \the\the@fancyput\do{#1}{#2}{#3}}%
+ \fi
+ \else
+ \global\this@fancyput{\do{#1}{#2}{#3}}%
+ \fi
+ \gdef\fancyput@flag{1}}
+
+\def\do@fancyput{%
+ \def\do##1##2##3{\raise##2\hbox to\z@{\kern##1\relax##3\hss}}%
+ \setbox\@tempboxa=\hbox to\z@{%
+ \kern-\hoffset
+ \raise\voffset\hbox{%
+ \ifnum\fancyput@flag=\z@\the\the@fancyput\else\the\this@fancyput\fi}%
+ \hss}%
+ \ht\@tempboxa=\z@ \dp\@tempboxa=\z@
+ \box\@tempboxa
+ \gdef\fancyput@flag{\z@}%
+ \global\this@fancyput{}}
+
+% \Landscape
+
+\def\UsePageParameters{%
+ \clearpage
+ \global\@colht\textheight
+ \onecolumn}
+
+\def\fb@rotatepage{}
+
+
+\def\Landscape{\@ifstar{\@testtrue\@Landscape}{\@testfalse\@Landscape}}
+\def\@Landscape#1#2#3{%
+% DG/SR modification begin - May 16, 1997
+ \@begindvi % Need today by LaTeX 2e
+% DG/SR modification end
+ \clearpage
+ \def\fb@rotatepage{#3}%
+ \def\@outputpage{\fb@outputpage}%
+ \@tempdima#1\relax
+ \@tempdimb#2\relax
+ \if@test
+ \edef\fb@theoffsets{{\voffset}{\hoffset}{\number\@tempdima sp}}%
+ \else
+ \edef\fb@theoffsets{{\hoffset}{\voffset}{\number\@tempdimb sp}}%
+ \fi
+ \advance\@tempdimb-\@tempdima
+ \advance\textwidth\@tempdimb
+ \advance\textheight-\@tempdimb
+ \UsePageParameters}
+\def\endLandscape{\clearpage\aftergroup\UsePageParameters}
+
+\def\fb@setoffsets#1#2#3{%
+ \@tempdima#1%
+ \advance#1#2%
+ #2#3
+ \advance#2-2in
+ \advance#2-\@tempdima}
+
+\@namedef{Landscape*}{\@testtrue\@Landscape}
+\@namedef{endLandscape*}{\endLandscape}
+
+% \LandScape
+
+\def\fb@@rotatepage{}
+
+\def\LandScape#1{%
+% DG/SR modification begin - May 16, 1997
+ \@begindvi % Need today by LaTeX 2e
+% DG/SR modification end
+ \clearpage
+ \def\fb@@rotatepage{#1}%
+ \def\@outputpage{\fb@outputpage}%
+ \@tempdima\textheight
+ \textheight\textwidth
+ \textwidth\@tempdima
+ \UsePageParameters}
+\def\endLandScape{\clearpage\aftergroup\UsePageParameters}
+
+% \GenericCaption
+
+\def\GenericCaption#1{%
+ \par
+ \begingroup
+ \@parboxrestore
+ \normalsize
+ \vskip 10\p@
+ \setbox\@tempboxa\hbox{#1}%
+ \ifdim\wd\@tempboxa>\hsize
+ #1\par
+ \else
+ \hbox to\hsize{\hfil\box\@tempboxa\hfil}%
+ \fi
+ \endgroup
+ \par}
+
+% \landfloat
+
+\def\landfloat#1#2{%
+ \gdef\curr@landfloat{#1}%
+ \gdef\float@rotation{#2}%
+ \begin{#1}[p]%
+ \setbox\@tempboxa\vbox\bgroup
+ \hsize\@colht
+ \@parboxrestore}
+\def\endlandfloat{%
+ \par\vskip\z@
+ \egroup
+ \setbox\@tempboxa\hbox{\float@rotation{\box\@tempboxa}}%
+ \centerline{\box\@tempboxa}%
+ \expandafter\end\expandafter{\curr@landfloat}}
+
+% \boxput
+
+\def\boxput{\@ifstar{\@testtrue\@boxput}{\@testfalse\@boxput}}
+\def\@boxput{\@ifnextchar({\@@boxput}{\@@boxput(0,0)}}
+\long\def\@@boxput(#1,#2)#3#4{%
+ \setbox\@fancybox\hbox{{#4}}%
+ \setbox\@tempboxa\vbox to\z@{\vss\hbox to\z@{\hss{#3}\hss}\vss}%
+ \@tempdima=#1\wd\@fancybox
+ \advance\@tempdima\wd\@fancybox
+ \divide\@tempdima 2
+ \ifcat a#2\relax
+ \@tempdimb=\z@
+ \else
+ \@tempdimb=.5\ht\@fancybox
+ \advance\@tempdimb.5\dp\@fancybox
+ \@tempdimc=\@tempdimb
+ \advance\@tempdimc-\dp\@fancybox
+ \@tempdimb=#2\@tempdimb
+ \advance\@tempdimb\@tempdimc
+ \fi
+ \setbox\@tempboxa\hbox to \z@{%
+ \if@test\kern-\wd\@fancybox\fi
+ \kern\@tempdima\raise\@tempdimb\box\@tempboxa\hss}%
+ \ht\@tempboxa=\z@ \dp\@tempboxa=\z@
+ \leavevmode
+ \if@test
+ \hbox{\box\@fancybox\box\@tempboxa}%
+ \else
+ \hbox{\box\@tempboxa\box\@fancybox}%
+ \fi}
+
+% \Vfootnotes
+
+\def\VerbatimFootnotes{\let\@footnotetext\V@footnotetext}
+
+\long\def\V@footnotetext{%
+ \afterassignment\V@@footnotetext
+ \let\@tempa}
+\def\V@@footnotetext{%
+ \insert\footins\bgroup
+ \csname reset@font\endcsname
+ \footnotesize
+ \interlinepenalty\interfootnotelinepenalty
+ \splittopskip\footnotesep
+ \splitmaxdepth\dp\strutbox
+ \floatingpenalty \@MM
+ \hsize\columnwidth
+ \@parboxrestore
+ \edef\@currentlabel{\csname p@footnote\endcsname\@thefnmark}%
+ \@makefntext{}%
+ \rule{\z@}{\footnotesep}%
+ \bgroup
+ \aftergroup\V@@@footnotetext
+ \ignorespaces}
+\def\V@@@footnotetext{\strut\egroup}
+
+% Verbatim
+
+% The main idea is to separate the reading and formatting of the
+% verbatim listing. It's pretty simple.
+
+\def\Verbatim@Codes{%
+ \let\do\@makeother
+ \dospecials
+ \Verbatim@ObeyThings
+ \ThisVerbCodes\relax\gdef\ThisVerbCodes{}}
+
+\def\EveryVerbatimCodes{}
+
+% \Verbatim is redefined temporarilly in \Get@Verbatim to scan the
+% verbatim text. \Verbatim is used so that error messages are more
+% enlightening. \next checks whether \Verbatim found its argument,
+% and attempts to recover if not.
+%
+% Heuristically, if current environment is `foo' and argument of
+% \Get@Verbatim is \The@Verbatim, then definition of \Verbatim is
+%
+% \def\Verbatim#1^^M#2^^M\the\EndVerbatimTokens\end{foo}{%
+% \xdef\The@Verbatim{\noexpand\Every@VerbatimLine#2}%
+% \endgroup\end{foo}}
+%
+% \The@Verbatim is then equal to the verbatim text, with spaces
+% replaced by \Verbatim@Space, tabs replaced by \Verbatim@Tab,
+% and ` replaced by \@lquote. In addition, each line begins with
+% \Every@VerbatimLine, and each line but the last ends with
+% \Verbatim@Par. It is then possible to redefine these when formatting
+% the verbatim text. To insert each line as an argument to \foo, use
+% \def\Every@VerbatimLine#1\Verbatim@Par{\foo{#1}}
+% \The@Verbatim\Verbatim@Par
+%
+\newtoks\EndVerbatimTokens
+\begingroup
+ \catcode`\|=0
+ \catcode`\[=1
+ \catcode`\]=2
+ \catcode`\{=12
+ \catcode`\}=12
+ \catcode`\^^M=13%
+ \catcode`\\=12%
+ |gdef|Get@Verbatim#1[%
+ |begingroup%
+ |Verbatim@Codes|EveryVerbatimCodes%
+ |let|protect|noexpand%
+ |VerbatimEnvironment%
+ |edef|next[|noexpand|def|noexpand|Verbatim####1|noexpand^^M####2%
+ |noexpand^^M|the|EndVerbatimTokens\end{|@VerbEnvir}]%
+ |edef|endVerbatim[|noexpand|endgroup|noexpand|end[|@VerbEnvir]]%
+ |global|let|@VerbEnvir|relax%
+ |next[|@nil|xdef#1[|noexpand|Every@VerbatimLine##2]|endVerbatim]%
+ |def|next[|@ifnextchar|@nil[|@gobble]% If \@nil is there, then
+ [|gdef#1[]|endVerbatim|end[document]]]% \Verbatim found its argument.
+ |expandafter|next|Verbatim]% Otherwise, try to recover.
+ |gdef|AltGet@Verbatim#1[%
+ |begingroup%
+ |Verbatim@Codes|EveryVerbatimCodes%
+ |def^^M##1^^M##2[%
+ |ifx|@nil##2|@empty|else%
+ |noexpand|Verbatim@Par|noexpand|Every@VerbatimLine##1%
+ |expandafter^^M|expandafter##2%
+ |fi]%
+ |let|protect|noexpand%
+ |VerbatimEnvironment%
+ |edef|next[|noexpand|def|noexpand|Verbatim####1|noexpand^^M####2%
+ \end{|@VerbEnvir}]%
+ |edef|endVerbatim[|noexpand|endgroup|noexpand|end[|@VerbEnvir]]%
+ |global|let|@VerbEnvir|relax%
+ |next[|@nil|xdef#1[|noexpand|Every@VerbatimLine##2^^M|@nil]|endVerbatim]%
+ |def|next[|@ifnextchar|@nil[|@gobble]%
+ [|gdef#1[]|endVerbatim|end[document]]]%
+ |expandafter|next|Verbatim]%
+|endgroup
+\def\AltGetVerbatim{\let\Get@Verbatim\AltGet@Verbatim}
+
+% It is enough to not use \begin or \end when defining new verbatim
+% environments, as the default is for \Get@Verbatim to look for the
+% end of the current environment, but using \VerbatimEnvironment
+% is easier to explain to users.
+
+\def\VerbatimEnvironment{%
+ \ifx\@VerbEnvir\relax\xdef\@VerbEnvir{\@currenvir}\fi}
+
+\let\@VerbEnvir\relax
+
+\def\The@VerbatimErr{%
+ \gdef\The@Verbatim{\@latexerr{Misplaced \string\end{Verbatim}}\@ehd}}
+\The@VerbatimErr
+
+\begingroup
+\catcode`\^^M=\active%
+\catcode`\ =\active%
+\catcode`\^^I=\active%
+\gdef\Verbatim@ObeyThings{%
+\catcode`\^^M=\active%
+\catcode`\ =\active%
+\catcode`\^^I=\active%
+\catcode``=\active%
+\def^^M{\noexpand\Verbatim@Par\noexpand\Every@VerbatimLine}%
+\def^^I{\noexpand\Verbatim@Tab}%
+\def {\noexpand\Verbatim@Space}%
+\Verbatim@NoLigs}%
+\gdef\Verbatim@DontObeyLines{\outer\def^^M{}}%
+\endgroup
+
+\def\SaveVerbatim{\@bsphack\Get@Verbatim}
+
+\def\endSaveVerbatim{\@esphack}
+
+{\catcode``13 \gdef\Verbatim@NoLigs{\def`{\noexpand\@lquote}}}
+
+\def\Verbatim@Prep{%
+ \frenchspacing
+ \ThisVerb\relax\gdef\ThisVerb{}%
+ \VerbatimFont
+ \EveryVerbatim
+ \let\Every@VerbatimLine\EveryVerbatimLine
+ \def\Verbatim@Space{\leavevmode\penalty\@M\VerbatimSpace}%
+ \def\Verbatim@Tab{\leavevmode\penalty\@M\VerbatimTab}}%
+
+\def\Verb@Prep{%
+ \frenchspacing
+ \ThisVerb\relax\gdef\ThisVerb{}%
+ \VerbFont
+ \EveryVerb
+ \let\Every@VerbatimLine\EveryVerbatimLine
+ \def\Verbatim@Space{\leavevmode\penalty\@M\VerbSpace}%
+ \def\Verbatim@Tab{\leavevmode\penalty\@M\VerbTab}}%
+
+\def\Verbatim@Par{\leavevmode\null\@@par\penalty\interlinepenalty}
+
+% Parameter initialization:
+
+\def\VerbatimSpace{\ }
+
+{\catcode`\ =12\gdef\ttspace{{\tt }}}
+
+\def\VerbSpace{\ }
+
+\def\VerbatimTab{\ \ \ \ \ \ \ \ }
+
+\def\VerbTab{\ }
+
+\def\EveryVerbatim{}
+
+\def\EveryVerb{}
+
+\def\ThisVerb{}
+
+\def\EveryVerbatimLine{}%
+
+\def\EveryVerbOutLine{}
+
+\def\VerbatimFont{\tt}
+
+\def\VerbFont{\tt}
+
+\def\VerbatimFuzz{2pt}%
+
+\def\EveryVerbatimCodes{}
+
+\def\EveryVerbCodes{}
+
+\def\EveryVerbOutCodes{}
+
+\def\ThisVerbCodes{}
+
+\def\Verbatim@List#1{%
+ \if@minipage\else\vskip\parskip\fi
+ \leftskip\@totalleftmargin
+ \@rightskip\@flushglue \rightskip\@rightskip
+ \parindent\z@
+ \parskip\z@
+ \parfillskip\@flushglue
+ \hfuzz\VerbatimFuzz\relax
+ \@@par
+ \global\@inlabelfalse %Prevents vspace from being inserted when
+ \Verbatim@Prep %first line exceeds \hsize.
+ #1%
+ \Verbatim@Par}%
+
+\def\UseVerbatim#1{%
+ \begingroup\trivlist\item[]\Verbatim@List{#1}\endtrivlist\endgroup}
+
+\def\Verbatim{\Get@Verbatim\The@Verbatim}
+\def\endVerbatim{\UseVerbatim\The@Verbatim\The@VerbatimErr}
+
+\def\LUseVerbatim#1{%
+ \begingroup\list{}{}\item[]\Verbatim@List{#1}\endlist\endgroup}
+
+\def\LVerbatim{\Get@Verbatim\The@Verbatim}
+\def\endLVerbatim{\LUseVerbatim\The@Verbatim\The@VerbatimErr}
+
+\def\BUseVerbatim{%
+ \@ifnextchar[{\@BUseVerbatim}{\@BUseVerbatim[]}}
+\def\@BUseVerbatim[#1]#2{%
+ \begingroup
+ \Verbatim@Prep
+ \let\Verbatim@Par\@Btrivlistcr
+ \@Btrivlist{l}[#1]%
+ #2%
+ \endBtrivlist
+ \endgroup}%
+
+\def\BVerbatim{%
+ \catcode`\^^M=13\relax
+ \@ifnextchar[{\@BVerbatim}{\@BVerbatim[]}}
+\def\@BVerbatim[#1]{\def\@tempa{[#1]}\Get@Verbatim\The@Verbatim}
+\def\endBVerbatim{
+ \expandafter\@BUseVerbatim\@tempa\The@Verbatim\The@VerbatimErr}
+
+\newwrite\Verbatim@Outfile
+\def\VerbatimOut#1{%
+ \@bsphack
+ \begingroup
+ \immediate\openout\Verbatim@Outfile #1\relax
+ \def\EveryVerbatimCodes{\EveryVerbOutCodes}%
+ \Get@Verbatim\The@Verbatim}
+\def\endVerbatimOut{%
+ \Verbatim@ObeyThings
+ \def\Verbatim@Par{^^J}%
+ \def\Verbatim@Space{\space}%
+ \def\Verbatim@Tab{\space}%
+ \def\@lquote{\string`}%
+ \ThisVerb\relax\gdef\ThisVerb{}%
+ \let\Every@VerbatimLine\EveryVerbOutLine
+ \immediate\write\Verbatim@Outfile{\The@Verbatim}%
+ \immediate\closeout\Verbatim@Outfile
+ \endgroup
+ \The@VerbatimErr
+ \@esphack}
+
+% This one is a little tricky because:
+% * we want to ignore the ^^M at the end of the last line,
+% * we want to handle files that end with newline and files that don't
+% * we want comment characters to work properly,
+% * we want to expand each line before inserting \Every@VerbatimLine and
+% \Verbatim@Par,
+%
+% \The@GVerbatim is used as scratch with global redefinition.
+\newread\Verbatim@Infile
+\def\Verbatim@Input#1#2{%
+ \begingroup
+ \Verbatim@Codes\EveryVerbatimCodes
+ \immediate\openin\Verbatim@Infile #1\relax
+ \ifeof\Verbatim@Infile
+ \@latexerr{No verbatim file #1}\@ehd
+ \else
+ \def\The@GVerbatim{}\Verbatim@NextLine
+ \ifeof\Verbatim@Infile
+ \@latexerr{Verbatim file #1 is empty}\@ehd
+ \else
+ \let\The@Verbatim\The@GVerbatim
+ \def\The@GVerbatim{}\Verbatim@NextLine
+ #2{\Verbatim@@Input}%
+ \fi
+ \fi
+ \immediate\closein\Verbatim@Infile
+ \endgroup}
+\def\Verbatim@@Input{%
+ \let\protect\noexpand
+ \edef\The@Verbatim{%
+ \noexpand\Every@VerbatimLine
+ \The@Verbatim
+ \ifeof\Verbatim@Infile\else\noexpand\Verbatim@Par\fi}%
+ \let\protect\relax
+ \The@Verbatim
+ \ifeof\Verbatim@Infile\else
+ \let\The@Verbatim\The@GVerbatim
+ \def\The@GVerbatim{}\Verbatim@NextLine
+ \expandafter\Verbatim@@Input
+ \fi}%
+\begingroup\catcode`\^^M=\active%
+\gdef\Verbatim@NextLine{%
+ \ifeof\Verbatim@Infile\else%
+ \immediate\read\Verbatim@Infile to\@tempa%
+ \expandafter\Verbatim@@NextLine\@tempa^^M\relax^^M\@nil%
+ \fi}%
+% #2 is empty if line ends in ^^M, #2=\relax otherwise.
+\gdef\Verbatim@@NextLine#1^^M#2^^M#3\@nil{%
+ \expandafter\gdef\expandafter\The@GVerbatim\expandafter{\The@GVerbatim#1}%
+ \ifx#2\@empty\@empty\else\expandafter\Verbatim@NextLine\fi}%
+\endgroup%
+
+\def\UseVerb#1{\begingroup\Verb@Prep#1\endgroup}
+
+\def\SaveVerb{\@ifnextchar[{\Save@Verb}{\Save@Verb[]}}
+
+\long\def\Save@Verb[#1]#2{%
+ \begingroup
+ \Verbatim@Codes\Verbatim@DontObeyLines\EveryVerbCodes
+ \Save@@Verb{#1}{#2}}
+
+\long\def\Save@@Verb#1#2#3{%
+ \let\protect\noexpand
+ \def\next{\@ifnextchar\@nil{\@gobble}{\endgroup}}%
+ \long\def\Verb##1#3{\@nil\xdef#2{##1}\endgroup#1}%
+ \expandafter\next\Verb}
+
+\def\Verb{\Save@Verb[\UseVerb{\The@Verbatim}]{\The@Verbatim}}
+
+\def\VerbatimInput#1{\begingroup\Verbatim@Input{#1}\UseVerbatim\endgroup}
+
+\def\LVerbatimInput#1{\begingroup\Verbatim@Input{#1}\LUseVerbatim\endgroup}
+
+\def\BVerbatimInput{\@ifnextchar[{\@BVerbatimInput}{\@BVerbatimInput[]}}
+\def\@BVerbatimInput[#1]#2{%
+ \begingroup\Verbatim@Input{#2}{\@BUseVerbatim[#1]}\endgroup}
+
+\endinput
+%% END fancybox.sty
diff --git a/Master/texmf-dist/tex/latex/seminar/npsfont.sty b/Master/texmf-dist/tex/latex/seminar/npsfont.sty
new file mode 100644
index 00000000000..88f687e7bd7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/npsfont.sty
@@ -0,0 +1,193 @@
+%% BEGIN npsfont.sty
+%%
+\def\fileversion{v1.0}
+\def\filedate{91/11/20}
+%%
+%% Style option npsfont.sty, for use with LaTeX 2.09
+%% and the New Font Selection Scheme.
+%%
+%% COPYRIGHT 1992, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%% Copying of part or all of this file is allowed under the following
+%% conditions only:
+%% (1) You may freely distribute unchanged copies of the file. Please
+%% include the documentation when you do so.
+%% (2) You may modify a renamed copy of the file, but only for personal
+%% use or use within an organization.
+%% (3) You may copy fragments from the file, for personal use or for use
+%% in a macro package for distribution, as long as credit is given
+%% where credit is due.
+%%
+%% You are NOT ALLOWED to take money for the distribution or use of
+%% this file or modified versions or fragments thereof, except for
+%% a nominal charge for copying etc.
+%%
+% DESCRIPTION:
+%
+% Defining new PostScript fonts with the New Font Selection Scheme is easy,
+% but these macros make it easier. They save on keystrokes, and most
+% importantly, they make it easy to change the file names used for fonts
+% because you only have to type the file name once instead of 12 times (for
+% the 12 standard LaTeX sizes). An optional argument lets you scale the fonts.
+%
+% These macros are substitutes for the NFSS's \new@fontshape command. For
+% information on the purpose of this command, and on how to select fonts that
+% are defined with it, see the documentation of the NFSS. If you don't have
+% the NFSS, it is available from
+% rusmv1.rus.uni-stuttgart.de
+% in
+% soft/tex/latex-style-supported/New-Font-Selection
+% and from
+% ymir.claremont.edu
+% in
+% [.anonymous.tex.inputs.latex-mainz]
+% The NFSS is undoubtably the best way to use PostScript fonts (or any non-
+% standard fonts) with LaTeX, and is well worth upgrading to.
+%
+% USAGE:
+%
+% \newpsfont[<scaling>]{<family>}{<series>}{<shape>}{<filename>}
+%
+% \newpsfamily[<scaling>]{<family>}{
+% {<series 1>}{<shape 1>}{<filename 1>},
+% {<series 2>}{<shape 2>}{<filename 2>},
+% . . .
+% {<series n>}{<shape n>}{<filename n>}}
+%
+% The scaling argument is optional. Like the \new@fontshape command, these
+% commands can only be used in the preamble.
+%
+% EXAMPLE:
+%
+% Suppose the Helvetica-Oblique virtual font on your system has the name
+% phvro.vf. The following defines the <helvetica> family, <m>edium series, and
+% <it>alic shape to be the Helvetica-Oblique font, at the standard LaTeX
+% font sizes, scaled by .82:
+%
+% \newpsfont[.82]{helvetica}{m}{it}{phvro}
+%
+% This is equivalent to:
+%
+% \new@fontshape{helvetica}{m}{it}{%
+% <5>phvro at 4.1pt%
+% <6>phvro at 4.92pt%
+% <7>phvro at 5.74pt%
+% <8>phvro at 6.56pt%
+% <9>phvro at 7.38pt%
+% <10>phvro at 8.2pt%
+% <11>phvro at 8.979pt%
+% <12>phvro at 9.84pt%
+% <14>phvro at 11.808pt%
+% <17>phvro at 14.1696pt%
+% <20>phvro at 17.0068pt%
+% <25>phvro at 20.4016pt}{}
+%
+% The following command sets up the standard Helvetica family:
+%
+% \newpsfamily[.82]{helvetica}{%
+% {m}{n}{phvr}, %Helvetica
+% {m}{it}{phvro}, %Helvetica-Oblique
+% {m}{sl}{phvro}, %Helvetica-Oblique
+% {bx}{n}{phvb}, %Helvetica-Bold
+% {bx}{it}{phvbo}, %Helvetica-BoldOblique
+% {bx}{sl}{phvbo}} %Helvetica-BoldOblique
+%
+% (Don't forget the commas.) It is equivalent to:
+%
+% \newpsfont[.82]{helvetica}{m}{n}{phvr} %Helvetica
+% \newpsfont[.82]{helvetica}{m}{it}{phvro} %Helvetica-Oblique
+% \newpsfont[.82]{helvetica}{m}{sl}{phvro} %Helvetica-Oblique
+% \newpsfont[.82]{helvetica}{bx}{n}{phvb} %Helvetica-Bold
+% \newpsfont[.82]{helvetica}{bx}{it}{phvbo} %Helvetica-BoldOblique
+% \newpsfont[.82]{helvetica}{bx}{sl}{phvbo} %Helvetica-BoldOblique
+% \extra@def{helvetica}{}{}
+%
+% WHY SCALE FONTS?:
+%
+% Disclaimer: The suggestions that follow come from someone who doesn't know
+% anything about fonts.
+%
+% Mixing fonts that are not designed to be used together is not for purists,
+% but many of us do it anyway. Scaling the fonts can at least correct for
+% differences in the x-heights. This is important if you use Computer
+% Modern fonts for in-line math and some other fonts for text.
+%
+% To find out the x-height of the 10pt size of a font, load this style and
+% use the command
+%
+% \showxheight{<filename>}
+%
+% E.g., \showxheight{phvr} and \showxheight{cmr10} displays
+%
+% x-height of cmr10 at 10pt is 4.30554pt
+% x-height of phvr at 10pt is 5.24998pt
+%
+% on the terminal. Scaling the Helvetica fonts by 4.30554/5.24990 = .82
+% gets the x-heights of these fonts in line. It is best to set the x-heights
+% the same for the medium weight, normal shaped fonts, and then scale the
+% rest of the fonts in the same family by the same amount.
+%
+% David Jones has a psfonts.sty that sets up the standard PostScript fonts,
+% all scaled so that the x-heights match that of the Computer Modern medium
+% roman font. It is available via anonymous ftp from theory.lcs.mit.edu in
+% /pub/dmjones.
+%
+% IMPLEMENTATION:
+%
+% \scale@stdsizes has at its argument a scaling factor. It uses \font@scale
+% to define \scaled@sizes to be the macro whose argument is the name of a
+% font, and which expands to the definitions of the standard \LaTeX{} sizes
+% for New Font Selection Schemes \new@fontshape command.
+%
+\message{\space\space\fileversion\space\space\filedate
+ \space\space<tvz>}
+\@ifundefined{new@psfontshape}{}{\endinput}
+\def\font@scale#1#2#3{\dimen@=#2\dimen@=#3\dimen@
+ \edef\scaled@sizes##1{\scaled@sizes{##1}<#1>##1 at\number\dimen@ sp}}
+\def\scale@stdsizes#1{%
+ \edef\scaled@sizes##1{}%
+ \font@scale{5}{5pt}{#1}%
+ \font@scale{6}{6pt}{#1}%
+ \font@scale{7}{7pt}{#1}%
+ \font@scale{8}{8pt}{#1}%
+ \font@scale{9}{9pt}{#1}%
+ \font@scale{10}{10pt}{#1}%
+ \font@scale{11}{10.95pt}{#1}%
+ \font@scale{12}{12pt}{#1}%
+ \font@scale{14}{14.4pt}{#1}%
+ \font@scale{17}{17.28pt}{#1}%
+ \font@scale{20}{20.74pt}{#1}%
+ \font@scale{25}{24.88pt}{#1}}
+\def\new@psfontshape#1#2#3#4{%
+ \new@fontshape{#1}{#2}{#3}{\scaled@sizes{#4}}{}}
+\def\new@psfont[#1]#2#3#4#5{%
+ \scale@stdsizes{#1}%
+ \new@psfontshape{#2}{#3}{#4}{#5}}
+\def\newpsfont{%
+ \@ifnextchar [{\new@psfont}{\new@psfont[1]}}
+\def\newpsfamily{%
+ \@ifnextchar [{\new@psfamily}{\new@psfamily[1]}}
+\def\new@psfamily[#1]#2#3{%
+ \scale@stdsizes{#1}%
+ \@for\@tempa:=#3\do{%
+ \edef\@tempb{\noexpand\new@psfontshape{#2}\@tempa}
+ \@tempb}%
+ \extra@def{#2}{}{}}
+\def\showxheight#1{%
+ \font\@tempfont=#1 at 10pt%
+ \typeout{^^J x-height of #1 at 10pt is \the\fontdimen5\@tempfont}}
+% The commands are added to \@preamblecmds to save memory.
+\begingroup
+ \def\do{\noexpand\do\noexpand}
+ \xdef\@preamblecmds{\@preamblecmds
+ \do\font@scale
+ \do\scale@stdsizes
+ \do\scaled@sizes
+ \do\new@psfontshape
+ \do\new@psfont
+ \do\newpsfont
+ \do\newpsfamily
+ \do\new@psfamily}
+\endgroup
+\endinput
+%% END npsfont.sty
diff --git a/Master/texmf-dist/tex/latex/seminar/semcolor.sty b/Master/texmf-dist/tex/latex/seminar/semcolor.sty
new file mode 100644
index 00000000000..03a58cd842f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/semcolor.sty
@@ -0,0 +1,66 @@
+%%
+%% This is file `semcolor.sty', version 1.01
+%%
+%% IMPORTANT NOTICE:
+%%
+%% semcolor.sty Copyright (C) 1993 Timothy Van Zandt
+%%
+%% This package may be distributed under the terms of the LaTeX Project
+%% Public License, as described in lppl.txt in the base LaTeX distribution.
+%% Either version 1.0 or, at your option, any later version.
+%%
+\def\fileversion{1.01}
+\def\filedate{2004/05/18}
+%%
+%% LaTeX style option `semcolor.sty'.
+%% For use with LaTeX v2.09 and the `seminar' document style.
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%% See seminar.sty or seminar.doc for copying restrictions.
+%%
+%% You must install the PSTricks package v0.9 or later to use semcolor.sty.
+%%
+\@ifundefined{SemcolorFrameOps}{}{\endinput}
+\typeout{Style Option: `semcolor' for doc style `seminar'
+ \fileversion\space <\filedate> (tvz)}
+% RN modification begin -- 2004/05/04; Rolf.Niepraschk@ptb.de
+%\input{pstricks}
+\ProvidesFile{semcolor.sty}[\filedate\space v\fileversion\space (tvz)]
+\RequirePackage{pstricks}
+% RN modification end
+%
+% Set up the frame styles:
+\def\SemcolorFrameOps{\psset{%
+ fillstyle=none,%
+ linewidth=\slideframewidth,%
+ framesep=\slideframesep,%
+ cornersize=absolute,%
+ linearc=.5cm,%
+ shadowsize=2pt,%
+ shadowcolor=darkgray}}%
+\newslideframe{scplain}[\SemcolorFrameOps]{\psframebox{#1}}
+\newslideframe{scdouble}[\SemcolorFrameOps]{\psdblframebox{#1}}
+\newslideframe{scshadow}[\SemcolorFrameOps]{\psshadowbox{#1}}
+\slideframe{scplain}
+%
+% Rotation:
+\def\leftsliderotation#1{\rotateleft{#1}}
+\def\rightsliderotation#1{\rotateright{#1}}
+\sliderotation{left}
+%
+% Color:
+\addto@hook\after@slidepage{\pstVerb{0 setgray}}
+%
+% Overlays:
+\def\make@overlay#1{%
+ \setbox\@slidebox=\hbox{%
+ \pst@initoverlay{#1}%
+ \pst@Verb{(0) BOL}%
+ \copy\@@slidebox
+ \pst@Verb{(all) BOL}}}
+\def\@overlay{\pst@overlay}
+\addto@hook\before@newslide{\def\curr@overlay{0}}
+\@ifundefined{overlaystrue}{}{\ifarticle\else\overlaystrue\layerstrue\fi}
+%
+\endinput
+%% END semcolor.sty
diff --git a/Master/texmf-dist/tex/latex/seminar/seminar.bg2 b/Master/texmf-dist/tex/latex/seminar/seminar.bg2
new file mode 100644
index 00000000000..4ecd0ab188f
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/seminar.bg2
@@ -0,0 +1,252 @@
+%%%%%%%%%%%%%%%%%%%%%%%%%%% -*- Mode: Latex -*- %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+%% seminar.bg2 --- Corrections for compatibility problems and new bugs
+%% found in the Seminar package, waiting Seminar 98
+%% (see also the seminar.bug file in Seminar distribution)
+%%
+%% Disclaimer: this file is mine and doesn't engage TVZ!
+%%
+%% Note: insert this file after \usepackage{graphicx} if you use Graphicx
+%% and after \usepackage{longtable} if you use LongTable
+%%
+%% Author : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
+%% Created the : 1995
+%% Last mod. by : Denis GIROU (CNRS/IDRIS - France) <Denis.Girou@idris.fr>
+%% Last mod. the : Fri Jan 9 10:31:26 1998
+%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+
+\def\fileversion{1.6}
+\def\filedate{November 20, 1997}
+\typeout{seminar.bg2: various corrections for the Seminar document class added
+since seminar.bug (waiting Seminar 98)^^J%
+(Version \fileversion\space of <\filedate> (D.G.))}
+
+\edef\TheAtCode{\the\catcode`\@}
+\catcode`\@=11
+
+% 1 - To correct a bug in the note environment
+% (reported by Denis Girou (CNRS/IDRIS) - <Denis.Girou@idris.fr> - 1995)
+\@savsf=1
+
+% 2 - To correct several bugs to generate a list of slides with subsection
+% entries
+% (reported by Denis Girou (CNRS/IDRIS) - <Denis.Girou@idris.fr> - Jul. 18, 1995)
+% - To clear the subheading when a new heading is defined
+% (reported by Axel Thimm - <thimm@physik.fu-berlin.de> - June 5, 1997)
+% - To assure coherence between heading and subheading when used in header/footer,
+% for article mode
+% (reported by Axel Thimm - <thimm@physik.fu-berlin.de> - June 5, 1997)
+% - Improvements (\refstepcounter and \@addtoreset) by Jeremy Gibbons
+% <jgibbons@brookes.ac.uk> - Sep. 30, 1997
+
+% Used by the \slide@subheading macro but undefined
+\def\theslidesubsection{\theslidesection.\arabic{slidesubsection}}
+
+\def\slide@heading[#1]#2{%
+% Modification D.G. begin - Oct. 15, 1997
+% \stepcounter{slidesection}%
+ \refstepcounter{slidesection}%
+ \@addtoreset{slidesubsection}{slidesection}
+% Modification D.G. end
+ \addtocontents{los}{\protect\l@slide
+ {\the\c@slidesection}{\ignorespaces#1}{\@SCTR}}%
+% Modification D.G. begin - May 30, 1997
+% \gdef\theslideheading{#1}%
+% Modification D.G. end
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\edef\@currentlabel{\csname p@slidesection\endcsname\theslidesection}%
+ \makeslideheading{#2}}%
+ \fi
+% Modification D.G. begin - May 30, 1997
+ \gdef\theslideheading{#1}%
+% Modification D.G. end
+% Modification D.G. begin - Aug. 1, 1997
+ \gdef\theslidesubheading{}%
+% Modification D.G. end
+}
+
+\def\slide@subheading[#1]#2{%
+% Modification D.G. begin - Oct. 15, 1997
+% \stepcounter{slidesection}%
+ \refstepcounter{slidesubsection}%
+% Modification D.G. end
+ \addtocontents{los}{\protect\l@subslide
+ {\the\c@slidesubsection}{\ignorespaces#1}{\@SCTR}}%
+% Modification D.G. begin - May 30, 1997
+% \gdef\theslidesubheading{#1}%
+% Modification D.G. end
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\edef\@currentlabel{\csname p@slidesubsection\endcsname
+% Modification D.G. begin - Jul. 18, 1995
+% \theslidesubsection}\makeslideheading{#2}}%
+ \theslidesubsection}\makeslidesubheading{#2}}%
+% Modification D.G. end
+ \fi
+% Modification D.G. begin - May 30, 1997
+ \gdef\theslidesubheading{#1}%
+% Modification D.G. end
+}
+
+% 3 - To correct a bug in the \slidecontents macro
+% (reported by Denis Roegel (LORIA) - <Denis.Roegel@loria.fr> - Sep. 22, 1996)
+
+\long\def\@gobblethree #1#2#3{}
+
+\def\slide@contents{%
+ \def\l@slide##1##2##3{%
+% Modification Denis Roegel begin - Sep. 22, 1996
+% \slide@cline{\slidenumberline{$\bullet$}{##2}}{##3}}%
+% \let\l@subslide\@gobbletwo
+% Modification Denis Roegel end
+ \slide@cline{\slidenumberline{##1}{##2}}{##3}}%
+ \let\l@subslide\@gobblethree
+ \@startlos}
+
+% 4 - To solve incompatibily between the Graphicx package and Seminar.
+% The \espfslidesize Seminar macro work only with the old version of
+% the EpsFig package, so with \includegraphics the PostScript files are
+% always scaled without the possibility to leave them to there natural
+% size. And also these files are not correctly scaled when we switch
+% from normal to article mode under Seminar. So, we must redefined the
+% \epsfslidesize macro of Seminar and modify few internal macros of
+% Graphicx.
+% (Note: I consider only the GraphicX package, not the GraphicS one)
+% (reported by Karl Tombre (LORIA) - <Karl.Tombre@loria.fr> - and Denis Roegel
+% (LORIA) - <Denis.Roegel@loria.fr> - Jan. 16, 1997)
+
+\def\GraphicsNotScaled{%
+\ifx\Gin@viewport\undefined
+\else % Graphicx package detected
+\def\Gin@i{%
+ \def\Gin@req@sizes{%
+% Modification Denis Girou begin - May 16, 1997
+ \Gin@nat@height=\inverseslidesmag\Gin@nat@height
+ \Gin@nat@width=\inverseslidesmag\Gin@nat@width
+% Modification Denis Girou end
+ \Gin@req@height\Gin@nat@height
+ \Gin@req@width\Gin@nat@width}%
+ \@ifnextchar[\Gin@ii{\Gin@ii[]}}
+% Modification Denis Girou begin - Feb. 19, 1997
+%\define@key{Gin}{width}{\def\Gin@ewidth{#1}}
+%\define@key{Gin}{height}{\def\Gin@eheight{#1}}
+%\define@key{Gin}{totalheight}{%
+%\def\Gin@eresize{\totalheight}\def\Gin@eheight{#1}}
+\define@key{Gin}{width}{%
+\@tempdima=##1\@tempdima=\inverseslidesmag\@tempdima\def\Gin@ewidth{\@tempdima}}
+\define@key{Gin}{height}{%
+\@tempdima=##1\@tempdima=\inverseslidesmag\@tempdima\def\Gin@eheight{\@tempdima}}
+\define@key{Gin}{totalheight}{%
+\def\Gin@eresize{\totalheight}%
+\@tempdima=##1\@tempdima=\inverseslidesmag\@tempdima\def\Gin@eheight{\@tempdima}}
+% Modification Denis Girou end
+\fi}
+
+\def\epsfslidesize{%
+\let\epsfsize\slide@epsfsize
+% Modification Denis Girou begin - Feb. 19, 1997
+\GraphicsNotScaled}
+% Modification Denis Girou end
+
+% 5 - To solve incompatibily between the LongTable package and Seminar
+% (reported by Bhaskar Manda (UIUC) - <bhaskar@or4.me.uiuc.edu> - May 7, 1997)
+% - Problem in article format seen later
+% (reported by Axel Thimm - <thimm@physik.fu-berlin.de> - June 5, 1997)
+
+% From seminar.cls
+\def\slide@outputLT{% (from \slide@output)
+ \@makeslide
+ \@testfalse
+ \ifnotesonly\else
+ \iflandscape
+ \ifnum\@landscapeonly>-1 \os@test\fi
+ \else
+ \ifnum\@landscapeonly<1 \os@test\fi
+ \fi
+ \fi
+ \if@test
+ \reset@slideoutput
+% Modification Denis Girou begin - May 13, 1997
+% \@@makeslide
+ \@@makeslideLT
+% Modification D.G. end
+ \process@slide
+ \fi
+ \refstepcounter{slide}}
+\def\@@makeslideLT{% (from \@@makeslide)
+ \overfullslide@warning
+ \setbox\@slidebox\hbox{%
+ \vfuzz=\slidefuzz\relax
+ \vbox to\slide@vsize{%
+% Modification Denis Girou begin - May 13, 1997
+ \box\@outputbox
+% Modification D.G. end
+ \ifcenterslides\vskip\z@ plus .0001fil \fi
+ \unvbox\@slidebox
+ \vskip\z@ plus .0001fil}%
+ \the\after@slidepage}%
+ \wd\@slidebox\textwidth}
+
+% From LongTable
+\def\LT@output{%
+ \ifnum\outputpenalty <-\@Mi
+ \ifnum\outputpenalty > -\LT@end@pen
+ \LT@err{floats and marginpars not allowed in a longtable}\@ehc
+ \else
+ \setbox\z@\vbox{\unvbox\@cclv}%
+ \ifdim \ht\LT@lastfoot>\ht\LT@foot
+ \dimen@\pagegoal
+ \advance\dimen@-\ht\LT@lastfoot
+ \ifdim\dimen@<\ht\z@
+ \setbox\@cclv\vbox{\unvbox\z@\copy\LT@foot\vss}%
+ \@makecol
+% Modification Denis Girou begin - May 13, 1997
+% \@outputpage
+ \slide@outputLT
+% Modification D.G. end
+ \setbox\z@\vbox{\box\LT@head}%
+ \fi
+ \fi
+ \global\@colroom\@colht
+ \global\vsize\@colht
+ \vbox
+ {\unvbox\z@\box\ifvoid\LT@lastfoot\LT@foot\else\LT@lastfoot\fi}%
+ \fi
+ \else
+ \setbox\@cclv\vbox{\unvbox\@cclv\copy\LT@foot\vss}%
+ \@makecol
+% Modification Denis Girou begin - May 13, 1997
+% \@outputpage
+% \global\vsize\@colroom % Work for slides, but not for notes...
+ \slide@outputLT
+% Modification D.G. end
+ \copy\LT@head
+ \fi}
+
+% We must adjust \textheight. Sometimes, you must increase it a little by
+% something like \addtolength{\textheight}{5mm}
+% But if you use slides like \begin{slide*}[15cm,10cm]
+% you must define locally \textheight=15cm
+\addtolength{\textheight}{-\headheight}
+
+% 6 - To allow automatic changes of language dependant labels,
+% for instance by loading french.sty after Seminar
+% (suggested by Bernard Gaulle (IDRIS) - <gaulle@idris.fr> - Nov. 20, 1997)
+% Modification Denis Girou begin - Nov. 20, 1997
+% From seminar.cls
+\def\slidename{Slide}
+\def\slidelabel{\bf\slidename{} \theslide}
+% From slidesec.sty
+\def\listslidename{List of Slides}%
+\def\listofslides{\section*{\listslidename%
+\@mkboth{\expandafter\MakeUppercase\listslidename}%
+ {\expandafter\MakeUppercase\listslidename}}%
+ \def\l@slide##1##2##3{%
+ \slide@undottedcline{\slidenumberline{##3}{##2}}{}}%
+ \let\l@subslide\l@slide
+ \@startlos}
+% Modification Denis Girou end
+
+\catcode`\@=\TheAtCode\relax
+\endinput
+%% END seminar.bg2
diff --git a/Master/texmf-dist/tex/latex/seminar/seminar.bug b/Master/texmf-dist/tex/latex/seminar/seminar.bug
new file mode 100644
index 00000000000..49b063fac58
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/seminar.bug
@@ -0,0 +1,197 @@
+%% BEGIN seminar.bug
+% LAST MODIFIED: December 1997
+% The latest version of this file can be obtained from Princeton.EDU.
+
+% This file list some bugs and latebreaking news for seminar.sty,
+% version 1.0, released April 1, 1993.
+
+% 1. Typo in the user's guide: \espfslidesize should be \epsfslidesize.
+
+% 2. fancyheadings.sty does not work well with slides.
+% WORKAROUND: Ignore the footnote in the User's Guide that discusses this.
+% Instead:
+%
+% - If you want the width of the header to be "\textwidth"
+% (the usual state of affairs), then put
+%
+% \renewcommand{\headwidth}{\textwidth}
+%
+% in the preamble and do not change "\headwidth" after that.
+%
+% - If you want to set the width to something else, then you have to scale
+% it appropriately. E.g., use
+%
+% \setslidelength{\headwidth}{<dim>}
+%
+% or, if are using the "fancy" page style with both the article and
+% slides formats, use
+% \ifarticle
+% \setartlength{\headwidth}{<dim1>}
+% \else
+% \setslidelength{\headwidth}{<dim2>}
+% \fi
+
+% 3. Some people prefer that the headers/footers automatically adjust their
+% size to the width of the framed slide (I don't, which I guess is why
+% seminar.sty does not work this way.) I have added an option for this.
+% Put the command
+%
+% \autoslidemarginstrue
+%
+% in the preamble. You must also input this file (seminar.bug), which
+% contains the patch.
+
+% 4. The optional argument in \twoup[int] does not work with the
+% portrait option and slides format.
+% PATCH: Input this file.
+
+% 5. Slide labels can come out in the wrong size font.
+% PATCH: Input this file.
+
+% 6. When \newslide is used inside a list environment, subsequent nested
+% list environments can have the wrong line width.
+% PATCH: Input this file.
+
+% 7. \overlaypagestyle and \layerpagestyle commands ignored.
+% PATCH: Input this file, AFTER inputting semlayer.sty.
+
+% 8. boxedEPS.tex won't work inside slide environments (because seminar.sty
+% erroneously modifies \read so that it is preceded by \immediate).
+% PATCH: Input this file.
+
+%%%% PATCHES
+
+\edef\TheAtCode{\the\catcode`\@}
+\catcode`\@=11
+
+% 3.
+\newif\ifautoslidemargins
+\ifarticle\else
+ \def\output@slide{%
+ \begingroup
+ \hoffset=-\inverseslidesmag in
+ \voffset=-\inverseslidesmag in
+ \setslidelength\@tempdima{%
+ \ifportrait\paperwidth\else\paperheight\fi}%
+ \setslidelength\@tempdimb{%
+ \ifportrait\paperheight\else\paperwidth\fi}%
+ \ifrotateheaders
+ \@ifrotateslide{%
+ \dimen@=\@tempdima
+ \@tempdima=\@tempdimb
+ \@tempdimb=\dimen@}%
+ \fi
+ % \oddsidemargin, \evensidemargin, \headheight, \footheight
+ % used for scratch:
+ % Some page styles like to know \textwidth:
+ \setslidelength\headheight\slidetopmargin
+ \setslidelength\footheight\slidebottommargin
+ \ifautoslidemargins
+ \textwidth=\wd\@slidebox
+ \oddsidemargin=\@tempdima
+ \advance\oddsidemargin-\textwidth
+ \divide\oddsidemargin 2
+ \else
+ \setslidelength\oddsidemargin\slideleftmargin
+ \setslidelength\evensidemargin\sliderightmargin
+ \textwidth=\@tempdima
+ \advance\textwidth-\oddsidemargin
+ \advance\textwidth-\evensidemargin
+ \fi
+ \setbox\@slidebox=\hbox to \@tempdima{%
+ \kern\oddsidemargin
+ \vbox to\@tempdimb{%
+ \ifnum\fancyput@flag>-1
+ \hbox{\kern-\oddsidemargin\do@fancyput}%
+ \fi
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \vbox to\headheight{%
+ \vfill
+ \hbox{%
+ \slideheadfont\relax\strut
+ \hbox to\textwidth{\@oddhead}}%
+ \kern\z@}%
+ \vfill
+ \hbox to\textwidth{\hss\box\@slidebox\hss}%
+ \vfill
+ \vbox to\footheight{%
+ \hbox{%
+ \slidefootfont\relax\strut
+ \hbox to\textwidth{\@oddfoot}}%
+ \vfill}}%
+ \hss}%
+ \ifrotateheaders\@ifrotateslide\rotate@slide\fi
+ \insert@specials
+ \shipout\box\@slidebox
+ \endgroup
+ \let\firstmark\botmark}
+ \@ifundefined{fancyput@flag}{\def\fancyput@flag{-1}}{}
+\fi
+
+% 4.
+\ifarticle\else
+ \ifportrait
+ \def\@twoup[#1]{%
+ \@tempcnta=\the@slidesmag\relax
+ \@tempcntb=\@tempcnta
+ \advance\@tempcntb by #1\relax
+ \advance\@tempcntb by -3\relax
+ \ifnum\@tempcntb>-6\relax
+ \@@input 2up.tex
+ \source{\@magstep\@tempcnta}{\paperwidth}{\paperheight}%
+ \target{\@magstep\@tempcntb}{\paperheight}{\paperwidth}%
+ \printlandscapetrue
+ \else
+ \@seminarerr{Slides magnification is too low for
+ \string\twoup\space to handle}\@eha
+ \fi
+ \def\slidesmag##1{\@semtwoupmagerr\slidesmag}}
+ \fi
+\fi
+
+% 5.
+\def\reset@slideoutput{%
+ \let\par\@@par
+ \reset@font
+ \normalsize
+ \def\baselinestretch{1}%
+ \@nameuse{1\@ptsize @semptsize}%
+ \catcode`\ =10
+ \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii}
+
+% 6.
+\def\extraslideheight#1{%
+ \@tempdima #1\relax
+ \edef\X@SlideHeight{\number\@tempdima sp}
+ \ifslide\set@slideheight\fi}
+\def\set@slideheight{%
+ \iflandscape
+ \vsize=\inverseslidesmag\slideheight
+ \else
+ \vsize=\inverseslidesmag\slidewidth
+ \fi
+ \edef\slide@vsize{\number\vsize sp}%
+ \textheight\vsize
+ \advance\vsize\X@SlideHeight\relax}
+\def\newslide{%
+ \par\penalty-\@M
+ \def\do##1{\setcounter{##1}\z@}\slide@reset
+ \the\before@newslide}
+
+% 7. Must be input after semlayer.sty.
+\def\layer@prep{%
+ \ifarticle\else\pagestyle{\layer@pagestyle}\fi
+ \let\thepage\thelayer
+ \ifx\thelayerframe\@empty\else\let\theslideframe\thelayerframe\fi
+ \let\slidelabel\layerlabel}
+\def\overlay@prep{%
+ \ifarticle\else\pagestyle{\overlay@pagestyle}\fi
+ \let\thepage\theoverlay
+ \ifx\theoverlayframe\@empty\else\let\theslideframe\theoverlayframe\fi
+ \let\slidelabel\overlaylabel}
+
+\catcode`\@=\TheAtCode\relax
+\endinput
+%% END seminar.bug
diff --git a/Master/texmf-dist/tex/latex/seminar/seminar.cls b/Master/texmf-dist/tex/latex/seminar/seminar.cls
new file mode 100644
index 00000000000..e5a5ae22d29
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/seminar.cls
@@ -0,0 +1,1207 @@
+%% BEGIN seminar.cls
+%% LaTeX2e seminar class, derived by Sebastian Rahtz from
+%% `seminar.sty', generated on <1993/10/8>. Fixes from David Carlisle
+%% and Denis Girou.
+%%
+%\def\fileversion{1.0}
+%\def\filedate{1993/04/01}
+\def\fileversion{1.4}
+\def\filedate{1997/10/13}
+%%
+%% LaTeX document style `seminar', for use with LaTeX v2.09.
+%% This is a style for typesetting notes and slides.
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%% Copying of part or all of any file in the seminar.sty package
+%% is allowed under the following conditions only:
+%% (1) You may freely distribute unchanged copies of the files. Please
+%% include the documentation when you do so.
+%% (2) You may modify a renamed copy of any file, but only for personal
+%% use or use within an organization.
+%% (3) You may copy fragments from the files, for personal use or for use
+%% in a macro package for distribution, as long as credit is given
+%% where credit is due.
+%%
+%% You are NOT ALLOWED to take money for the distribution or use of
+%% these files or modified versions or fragments thereof, except for
+%% a nominal charge for copying etc.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesClass{seminar}[\filedate, \fileversion]
+\typeout{%
+ Document Style: `seminar' v\fileversion \space <\filedate> (tvz)}
+\def\test@member#1#2{%
+ \edef\@tempg{,#2,#1,}%
+ \edef\@temph{####1,#1,}%
+ \expandafter\def\expandafter\@temph\@temph##2\@nil{%
+ \def\@tempg{##2}%
+ \ifx\@tempg\@empty\@testfalse\else\@testtrue\fi}%
+ \expandafter\@temph\@tempg\@nil}
+\def\addto@hook#1#2{#1\expandafter{\the#1#2}}
+\@ifundefined{reset@font}{\def\reset@font{\normalsize\rm}}{}
+\def\@seminarerr#1#2{%
+ \edef\@tempc{#2}\expandafter\errhelp\expandafter{\@tempc}%
+ \typeout{^^JSeminar.sty error.\space\space\space
+ Type \space H <return> \space for immediate help.^^J}%
+ \errmessage{#1^^J}}
+\def\notslide@err#1{\message{Cannot use \string#1 in slide environments}}
+\def\new@slidebox{\alloc@4\box\chardef\insc@unt}
+\newdimen\slidewidth \slidewidth 8.5in
+\newdimen\slideheight \slideheight 6.3in
+\paperwidth 8.5in
+\paperheight 11in
+\def\addto@preamblecmds#1{%
+ \begingroup
+ \def\do{\noexpand\do\noexpand}%
+ \xdef\@preamblecmds{\@preamblecmds\do#1}%
+ \endgroup}
+\addto@preamblecmds{\addto@preamblecmds\do\@preamblecmds}
+\def\sem@temp#1{\@ifundefined{if#1}%
+ {\def\@tempa{\csname newif\endcsname}
+ \expandafter\@tempa\csname if#1\endcsname}{}}
+\sem@temp{article}{}
+\sem@temp{slidesonly}{}
+\sem@temp{notes}{}
+\sem@temp{notesonly}{}
+\sem@temp{notesonlystar}{}
+\sem@temp{portrait}{}
+\DeclareOption{article}{\articletrue}
+\DeclareOption{noxcomment}{\def\xcomment@hook{}}
+\DeclareOption{slidesonly}{\slidesonlytrue\notesfalse\notesonlyfalse}
+\DeclareOption{notes}{\notestrue\slidesonlyfalse\notesonlyfalse}
+\DeclareOption{notesonly}{\notesonlytrue\slidesonlyfalse\notesfalse}
+\DeclareOption{notesonly*}{%
+ \notesonlytrue\slidesonlyfalse\notesfalse\notesonlystartrue}
+\DeclareOption{portrait}{\portraittrue}
+\DeclareOption{a4}{%
+ \paperwidth 210mm
+ \paperheight 297mm
+ \slidewidth 222mm
+ \slideheight 152mm\relax}
+\DeclareOption{a4paper}{\ds@a4}%
+\DeclareOption{semrot}{\AtEndOfClass{\input{semrot.sty}}}
+\DeclareOption{semhelv}{\AtEndOfClass{\input{semhelv.sty}}}
+\DeclareOption{semcolor}{\AtEndOfClass{\input{semcolor.sty}}}
+\DeclareOption{semlcmss}{\AtEndOfClass{\input{semlcmss.sty}}}
+\DeclareOption{slidesec}{\AtEndOfClass{\input{slidesec.sty}}}
+\DeclareOption{semlayer}{\AtEndOfClass{\input{semlayer.sty}}}
+\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
+\ProcessOptions
+\ifnotesonly\else\notesonlystarfalse\fi
+\newdimen\footheight % seminar.sty v1.0 uses it, but its not in LaTeX2e.
+% Don't want these changed by article.cls:
+\let\sem@paperheight\paperheight
+\let\sem@paperwidth\paperwidth
+\let\paperheight\footheight
+\let\paperwidth\footheight
+\LoadClass{article}
+\renewcommand\normalsize{%
+ \@setfontsize\normalsize\@xpt\@xiipt
+ \abovedisplayskip 10\p@ \@plus2\p@ \@minus5\p@
+ \abovedisplayshortskip \z@ \@plus3\p@
+ \belowdisplayshortskip 6\p@ \@plus3\p@ \@minus3\p@
+ \belowdisplayskip \abovedisplayskip
+ \let\@listi\@slide@listi}
+\let\paperheight\sem@paperheight
+\let\paperwidth\sem@paperwidth
+\RequirePackage{sem-page}
+\newtoks\before@document
+\newtoks\after@document
+\let\xcomment@hook\relax
+\before@document{\endgroup\the\before@document\begingroup}
+\after@document{\the\after@document\xcomment@hook}
+\expandafter\@temptokena\expandafter{\document}
+\edef\document{\the\before@document\the\@temptokena\the\after@document}
+\before@document{}
+\after@document{}
+\newtoks\before@enddocument
+\before@enddocument{\the\before@enddocument}
+\expandafter\@temptokena\expandafter{\enddocument}
+\edef\enddocument{\the\before@enddocument\the\@temptokena}
+\before@enddocument{}
+\newif\ifprintlandscape
+\ifportrait
+ \ifarticle\printlandscapetrue\fi
+\else
+ \ifarticle\else\printlandscapetrue\fi
+\fi
+\addto@hook\before@document{\ifprintlandscape\printlandscape\fi}
+\addto@preamblecmds{\printlandscape}
+\def\printlandscape{\addto@hook\before@enddocument{%
+ \typeout{^^J%
+ *******************************************************^^J%
+ ***** !! PRINT THIS DOCUMENT IN LANDSCAPE MODE !! *****^^J%
+ *******************************************************}}}
+\def\slide{%
+ \NestedSlide@Error{slide}%
+ \landscapetrue
+ \@ifnextchar[{\begin@slide}{\begin@slide[\slidewidth,\slideheight]}}
+\def\endslide{\end@slide}
+\@namedef{slide*}{%
+ \NestedSlide@Error{slide*}%
+ \landscapefalse
+ \@ifnextchar[{\begin@slide}{\begin@slide[\slidewidth,\slideheight]}}%
+\@namedef{endslide*}{\end@slide}
+\newcounter{slide}
+\def\theslide{\arabic{slide}}
+\newcount\slide@count
+\newbox\@slidebox
+\newbox\not@slidebox
+\newif\ifslide
+\newif\iflandscape
+\def\@landscapeonly{0}
+\def\landscapeonly{\def\@landscapeonly{1}}
+\def\portraitonly{\def\@landscapeonly{-1}}
+\def\NestedSlide@Error#1{%
+ \ifslide
+ \endgroup
+ \@seminarerr{Nested slide environments. Perhaps missing
+ \string\end{\@currenvir}. May be fatal}\@ehd
+ \expandafter\end\expandafter{\@currenvir}%
+ \ifslide\expandafter\end\expandafter{\@currenvir}\fi
+ \begingroup
+ \def\@currenvir{#1}%
+ \fi}
+\def\begin@slide[#1,#2]{%
+ \slide@clearpage
+ \setlength\slidewidth{#1}%
+ \setlength\slideheight{#2}%
+ \begingroup
+ \ifarticle
+ \output{%
+ \advance\count@ 1
+ \global\setbox\not@slidebox\box\@cclv}%
+ \par\@@par\penalty-\@M
+ \fi
+ \output{\slide@output}%
+ \slidetrue
+ \ifarticle\global\slide@count=\z@\fi
+ \refstepcounter{slide}%
+ \ifnotesonlystar\xdef\first@slidemarker{\the\c@slide}\fi
+ \def\do##1{\setcounter{##1}\z@}\slide@reset
+ \ifarticle\else
+ \edef\page@textheight{\number\textheight sp}%
+ \edef\page@textwidth{\number\textwidth sp}%
+ \fi
+ \set@slidesize
+ \slidebox@restore
+ \the\slide@hook
+ \the\before@newslide
+ \everyslide}
+\def\end@slide{%
+ \par\penalty-\@M
+ \xdef\@tempg{\@currenvir}%
+ \endgroup
+ \ifslide
+ \@seminarerr{Perhaps missing `\string\end{\@tempg}',
+ \iffalse{\fi`\string}' or `\string\endgroup'}\@ehd
+ \def\next{\endgroup\ifslide\expandafter\next\fi}%
+ \next
+ \fi
+ \begingroup
+ \output{\setbox\@tempboxa\box\@cclv}%
+ \@@par\penalty-\@M
+ \endgroup
+ \global\advance\c@slide-1
+ \def\do##1{\setcounter{##1}{\@nameuse{saved@c@##1}}}%
+ \slide@reset
+ \ifarticle\outputloop@savedslides\fi
+ \the\after@slide}
+\let\slideclearpagetrue\relax
+\let\slideclearpagefalse\relax
+\ifarticle
+ \def\slide@clearpage{\par\penalty\z@}
+ \ifnotes
+ \def\slideclearpagetrue{\def\slide@clearpage{\clearpage}}
+ \def\slideclearpagefalse{\def\slide@clearpage{\par\penalty\z@}}
+ \else
+ \ifnotesonly
+ \def\slideclearpagetrue{\def\slide@clearpage{\clearpage}}
+ \def\slideclearpagefalse{\def\slide@clearpage{\par\penalty\z@}}
+ \fi
+ \fi
+\else
+ \def\slide@clearpage{\clearpage}
+\fi
+\newtoks\slide@hook
+\def\everyslide{}
+\newtoks\after@slide
+\def\slidebox@restore{%
+ \def\thepage{\theslide}%
+ \def\newpage{\newslide}%
+ \def\clearpage{\newslide}%
+ \def\thispagestyle##1{\notslide@err{\thispagestyle}}%
+ \pagestyle{\slide@pagestyle}%
+ \@twocolumnfalse
+ \def\twocolumn{\notslide@err{\twocolumn}}%
+ \def\onecolumn{\notslide@err{\onecolumn}}%
+ \def\marginpar##1{\notslide@err{\marginpar}}%
+ \def\thanks{\slidethanks}%
+ \def\maketitle{\slidemaketitle}%
+ \fix@floats
+ \fix@whatsits
+ \slide@footnotes
+ \def\do##1{\expandafter\xdef\csname
+ saved@c@##1\endcsname{\the\@nameuse{c@##1}}}%
+ \slide@reset
+ \topskip\z@ \maxdepth\z@
+ \slide@listparameters
+ \slidefonts
+ \def\baselinestretch{\slidestretch}%
+ \def\arraystretch{\slidearraystretch}%
+ \sem@ptsize{\slide@ptsize}}
+\def\date#1{\gdef\@date{#1}\gdef\thedate{#1}}
+\def\author#1{\gdef\@author{#1}\gdef\theauthor{#1}}
+\def\title#1{\gdef\@title{#1}\gdef\thetitle{#1}}
+\date{\today}
+\let\slidethanks\thanks
+\def\thethanks{\@thanks}%
+\def\slidemaketitle{%
+ \par
+ \begin{center}\bf
+ {\large \thetitle}\par\vskip 1ex
+ \begin{tabular}[t]{c} \theauthor \end{tabular}\par\vskip 1ex
+ \thedate
+ \end{center}%
+ \thethanks\par}
+\def\fix@floats{%
+ \def\@xfloat##1[##2]{%
+ \expandafter\let\csname end##1\endcsname\end@float
+ \par\medskip\vbox\bgroup\def\@captype{##1}\parindent\z@
+ \ignorespaces}%
+ \def\end@float{\par\vskip\z@\egroup\medskip}%
+ \def\@dblfloat{\@float}\def\end@dblfloat{\end@float}%
+ \def\endfigure{\end@float}\def\endtable{\end@float}}
+\let\normal@write\write
+\let\normal@read\read
+\let\normal@openout\openout
+\let\normal@closeout\closeout
+% changed as per DPC 1997/09/16
+\def\fix@whatsits{%
+ \long\def \protected@write##1##2##3{%
+ \begingroup
+ ##2%
+ \let\protect\noexpand
+ \immediate\normal@write##1{##3}%
+ \endgroup
+ \if@nobreak\ifvmode\nobreak\fi\fi}%
+}
+% end change
+\newinsert\slide@footins
+\skip\slide@footins=\bigskipamount
+\count\slide@footins=1000
+\dimen\slide@footins=4in
+\def\theslidefootnote{\alph{footnote}}
+\def\slide@footnotes{%
+ \def\thefootnote{\theslidefootnote}%
+ \let\footins\slide@footins
+ \interfootnotelinepenalty\@M}
+\def\slidefonts{}
+\def\slidestretch{1.18}
+\def\slidearraystretch{1.2}
+\def\raggedslides{\@ifnextchar[{\@raggedslides}{\@raggedslides[1fil]}}
+\def\@raggedslides[#1]{%
+ \edef\slide@@rightskip{#1}%
+ \ifslide\slide@rightskip\fi}
+\def\slide@rightskip{%
+ \@rightskip\z@ plus \slide@@rightskip\relax \rightskip\@rightskip}
+\def\slide@@rightskip{1fil}
+\newcount\slide@listdepth
+\def\slide@listparameters{%
+ \let\@listdepth\slide@listdepth
+ \slide@listdepth\z@
+ \def\@listi{\slide@listi}%
+ \def\@listii{\slide@listii}%
+ \def\@listiii{\slide@listiii}%
+ \let\@listiv\relax\let\@listv\relax\let\@listvi\relax}
+\def\slide@listi{%
+ \leftmargin\leftmargini
+ \labelwidth\leftmargini \advance\labelwidth-\labelsep
+ \parsep\parskip \divide\parsep2
+ \partopsep\slidepartopsep\relax
+ \advance\partopsep-\parskip
+ \ifdim\partopsep<\z@\partopsep\z@\fi
+ \itemsep\slideitemsep\relax
+ \ifdim\parsep<\itemsep
+ \topsep\itemsep \advance\topsep-\parsep
+ \else
+ \itemsep\parsep \topsep\z@
+ \fi}
+\def\slide@listii{%
+ \leftmargin\leftmarginii
+ \labelwidth\leftmarginii \advance\labelwidth-\labelsep
+ \divide\itemsep2 \divide\parsep2
+ \divide\topsep2 \divide\partopsep2\relax}%
+\def\slide@listiii{%
+ \leftmargin\leftmarginiii
+ \labelwidth\leftmarginiii \advance\labelwidth-\labelsep
+ \itemsep \z@ \parsep\z@ \topsep\z@}%
+\def\slideleftmargini{1.8em}
+\def\slideleftmarginii{1.4em}
+\def\slideleftmarginiii{1em}
+\def\slidelabelsep{.5em}
+\def\slideitemsep{.8ex minus .2ex}
+\def\slidepartopsep{1ex minus .2ex}
+\newbox\saved@specials
+\def\save@slidespecials{%
+ \begingroup
+ \output{%
+ \global\setbox\saved@specials=\box\@cclv
+ \global\wd\saved@specials=\z@
+ \global\dp\saved@specials=\z@
+ \global\ht\saved@specials=\z@}%
+ \hbox{}\penalty-\@M
+ \global\let\saved@texttop\@texttop
+ \gdef\@texttop{%
+ \ifvoid\saved@specials\else\box\saved@specials\nointerlineskip\fi
+ \saved@texttop
+ \global\let\@texttop\saved@texttop}%
+ \endgroup}
+\addto@hook\after@document{\save@slidespecials}
+\ifarticle\else
+ \def\insert@specials{%
+ \ifvoid\saved@specials\else
+ \setbox\@slidebox\hbox{\box\saved@specials\box\@slidebox}%
+ \fi
+ \global\let\insert@specials\relax}
+\fi
+\def\extraslideheight#1{%
+ \@tempdima #1\relax
+ \edef\X@SlideHeight{\number\@tempdima sp}
+ \ifslide\set@slidesize\fi}
+\extraslideheight{6pt}
+\def\set@slidesize{%
+ \iflandscape
+ \hsize=\inverseslidesmag\slidewidth
+ \vsize=\inverseslidesmag\slideheight
+ \else
+ \hsize=\inverseslidesmag\slideheight
+ \vsize=\inverseslidesmag\slidewidth
+ \fi
+ \edef\slide@vsize{\number\vsize sp}%
+ \textheight\vsize
+ \advance\vsize\X@SlideHeight\relax
+ \textwidth\hsize\columnwidth\hsize\linewidth\hsize}
+\def\newslide{%
+ \par\penalty-\@M
+ \def\do##1{\setcounter{##1}\z@}\slide@reset
+ \the\before@newslide
+ \set@slidesize}
+\newtoks\before@newslide
+\def\slide@reset{\do{footnote}}
+\def\slidereset#1{\def\slide@reset{}\addtoslidereset{#1}}
+\def\addtoslidereset#1{%
+ \edef\@tempa{#1}\expandafter\addto@slidereset\@tempa,\@nil,}
+\def\addto@slidereset#1,{%
+ \ifx\@nil#1\else
+ \@ifundefined{c@#1}%
+ {\@seminarerr{Counter `#1' not defined}\@ehd}%
+ {\expandafter\def\expandafter\slide@reset\expandafter{%
+ \slide@reset\do{#1}}}%
+ \expandafter\addto@slidereset
+ \fi}
+\def\slide@output{%
+ \@makeslide
+ \@testfalse
+ \ifnotesonly\else
+ \iflandscape
+ \ifnum\@landscapeonly>-1 \os@test\fi
+ \else
+ \ifnum\@landscapeonly<1 \os@test\fi
+ \fi
+ \fi
+ \if@test
+ \reset@slideoutput
+ \@@makeslide
+ \process@slide
+ \fi
+ \refstepcounter{slide}}
+\def\reset@slideoutput{%
+ \let\par\@@par
+ \reset@font
+ \def\baselinestretch{1}%
+ \@nameuse{1\@ptsize @semptsize}%
+ \catcode`\ =10
+ \let\-\@dischyph \let\'\@acci \let\`\@accii \let\=\@acciii}
+\newif\ifcenterslides
+\centerslidestrue
+\providecommand\@begindvi{} % added 1997/04/15 SPQR, to cope with very
+ % old LaTeXs
+\def\@makeslide{%
+ \setbox\@slidebox\vbox{%
+ \@begindvi % added 1997/04/15 SPQR
+ \unvbox\@cclv
+ \ifvoid\slide@footins\else
+ \vskip\skip\slide@footins
+ \footnoterule
+ \unvbox\slide@footins
+ \fi
+ \vskip\z@}}
+\def\@@makeslide{%
+ \overfullslide@warning
+ \setbox\@slidebox\hbox{%
+ \vfuzz=\slidefuzz\relax
+ \vbox to\slide@vsize{%
+ \ifcenterslides\vskip\z@ plus .0001fil \fi
+ \unvbox\@slidebox
+ \vskip\z@ plus .0001fil}%
+ \the\after@slidepage}%
+ \wd\@slidebox\textwidth}
+\def\overfullslide@warning{%
+ \dimen@\ht\@slidebox
+ \advance\dimen@-\slide@vsize\relax
+ \ifdim\dimen@>\slidefuzz\relax
+ \@warning{Slide \theslide\space overfull by \the\dimen@}%
+ \fi}
+\def\slidefuzz{2pt}
+\newtoks\after@slidepage
+\newif\ifrotateheaders
+\def\sliderotation#1{\@ifundefined{semsr@#1}%
+ {\@latexerr{Slide rotation `#1' not defined.}\@eha}%
+ {\@nameuse{semsr@#1}}}
+\def\semsr@left{%
+ \def\rotate@slide{%
+ \setbox\@slidebox\hbox{\leftsliderotation{\box\@slidebox}}}}
+\def\semsr@right{%
+ \def\rotate@slide{%
+ \setbox\@slidebox\hbox{\rightsliderotation{\box\@slidebox}}}}
+\def\semsr@none{\let\rotate@slide\relax}
+\sliderotation{none}
+\def\leftsliderotation#1{%
+ \@seminarerr{\string\leftsliderotation\space has not been defined}%
+ \@ehd}
+\let\rightsliderotation\leftsliderotation
+\def\@ifrotateslide#1{%
+ \ifx\rotate@slide\relax\else
+ \iflandscape\ifportrait#1\fi\else\ifportrait\else#1\fi\fi
+ \fi}
+\def\process@slide{%
+ \slideframewidth=\inverseslidesmag\slideframewidth
+ \slideframesep=\inverseslidesmag\slideframesep
+ \fboxrule\slideframewidth
+ \fboxsep\slideframesep
+ \ifarticle
+ \@ifrotateslide\rotate@slide
+ \else
+ \ifrotateheaders\else\@ifrotateslide\rotate@slide\fi
+ \fi
+ \process@@slide}
+\def\process@@slide{\finish@slide\output@slide}
+\def\finish@slide{%
+ \theslideframe
+ \add@slidelabel\slidelabel}
+\ifarticle
+ \def\output@slide{%
+ \global\advance\slide@count1
+ \@ifundefined{slidebox@\the\slide@count}%
+ {{\globaldefs=1\expandafter
+ \new@slidebox\csname slidebox@\the\slide@count\endcsname}}{}%
+ \expandafter\global\expandafter\setbox\csname
+ slidebox@\the\slide@count\endcsname\box\@slidebox}
+\else
+ \def\output@slide{%
+ \begingroup
+ \hoffset=-\inverseslidesmag in
+ \voffset=-\inverseslidesmag in
+ \setslidelength\@tempdima{%
+ \ifportrait\paperwidth\else\paperheight\fi}
+ \setslidelength\@tempdimb{%
+ \ifportrait\paperheight\else\paperwidth\fi}
+ \ifrotateheaders
+ \@ifrotateslide{%
+ \dimen@=\@tempdima
+ \@tempdima=\@tempdimb
+ \@tempdimb=\dimen@}
+ \fi
+ % \oddsidemargin, \evensidemargin, \headheight, \footheight
+ % used for scratch:
+ \setslidelength\oddsidemargin\slideleftmargin
+ \setslidelength\evensidemargin\sliderightmargin
+ \setslidelength\headheight\slidetopmargin
+ \setslidelength\footheight\slidebottommargin
+ % Some page styles like to know \textwidth:
+ \textwidth=\@tempdima
+ \advance\textwidth-\oddsidemargin
+ \advance\textwidth-\evensidemargin
+ \setbox\@slidebox=\hbox to \@tempdima{%
+ \kern\oddsidemargin
+ \vbox to\@tempdimb{%
+ \ifnum\fancyput@flag>-1
+ \hbox{\kern-\oddsidemargin\do@fancyput}%
+ \fi
+ \let\label\@gobble
+ \let\index\@gobble
+ \let\glossary\@gobble
+ \vbox to\headheight{%
+ \vfill
+ \hbox{%
+ \slideheadfont\relax\strut
+ \hbox to\textwidth{\@oddhead}}%
+ \kern\z@}%
+ \vfill
+ \hbox to\textwidth{\hss\box\@slidebox\hss}%
+ \vfill
+ \vbox to\footheight{%
+ \hbox{%
+ \slidefootfont\relax\strut
+ \hbox to\textwidth{\@oddfoot}}%
+ \vfill}}%
+ \hss}%
+ \ifrotateheaders\@ifrotateslide\rotate@slide\fi
+ \insert@specials
+ \shipout\box\@slidebox
+ \endgroup
+ \let\firstmark\botmark}
+ \@ifundefined{fancyput@flag}{\def\fancyput@flag{-1}}{}
+\fi
+\newskip\slidesep
+\slidesep\intextsep
+\ifarticle
+ \def\fps@fslide{htbp}
+ \def\ftype@fslide{32}
+ \def\float@savedslide{%
+ \begingroup\@float{fslide}%
+ \centerline{\box\@slidebox}%
+ \end@float\endgroup}%
+ \@namedef{float*@savedslide}{%
+ \begingroup\@dblfloat{fslide}%
+ \centerline{\box\@slidebox}%
+ \end@dblfloat\endgroup}%
+ \def\center@slide{\hbox{%
+ \kern-\@totalleftmargin
+ \hbox to \columnwidth{\hss\box\@slidebox\hss}}}%
+ \def\onepercol@savedslide{%
+ \vbox to .996\textheight{\vss\center@slide\vss}\goodbreak}%
+ \def\twopercol@savedslide{%
+ \dimen@.5\textheight
+ \advance\dimen@-\slidesep
+ \ifdim\ht\@slidebox>\dimen@
+ \onepercol@savedslide
+ \else
+ \vbox to .498\textheight{\vss\center@slide\vss}\goodbreak
+ \fi}
+ \def\here@savedslide{%
+ \addvspace\slidesep\center@slide\addvspace\slidesep}
+ \@namedef{here*@savedslide}{%
+ \goodbreak \hrule \@height\z@ \nobreak \vskip\slidesep \nobreak
+ \center@slide
+ \nobreak \vskip\slidesep \nobreak \hrule\@height\z@ \goodbreak}
+\fi
+\ifarticle
+ \def\slideplacement#1{\@ifundefined{#1@savedslide}%
+ {\@seminarerr{Slide placement `#1' undefined}\@ehd}%
+ {\expandafter\let\expandafter\output@savedslide
+ \csname #1@savedslide\endcsname}}
+\else
+ \def\slideplacement#1{}
+\fi
+\ifarticle
+ \ifnotes
+ \ifportrait
+ \slideplacement{float}
+ \else
+ \slideplacement{float*}
+ \fi
+ \else
+ \ifportrait
+ \slideplacement{onepercol}
+ \else
+ \slideplacement{twopercol}
+ \fi
+ \fi
+\fi
+\ifarticle
+ \def\outputloop@savedslides{%
+ \global\maxdepth\@maxdepth
+ \ifvoid\not@slidebox\else
+ \dimen@=\dp\not@slidebox
+ \unvbox\not@slidebox
+ \hrule height\z@
+ \prevdepth\dimen@
+ \penalty\z@
+ \fi
+ \edef\slide@@count{\the\slide@count\relax}%
+ \slide@count\z@
+ \loop
+ \ifnum\slide@count<\slide@@count
+ \advance\slide@count1
+ \expandafter\setbox\expandafter\@slidebox\expandafter\box
+ \csname slidebox@\the\slide@count\endcsname
+ \output@savedslide
+ \repeat
+ \ifnotesonlystar\make@slidemarker\fi}
+\fi
+\def\make@slidemarker{%
+ \addvspace\slidesep
+ \moveleft\@totalleftmargin
+ \vbox{%
+ \hsize\columnwidth
+ \hrule height 1pt
+ \kern 8pt
+ \hbox to \columnwidth{%
+ \hss
+ \LARGE\bf\the@slidemarker
+ \hss}%
+ \kern 8pt
+ \hrule height 1pt}%
+ \addvspace\slidesep}
+\def\the@slidemarker{%
+ Slide%
+ \ifnum\c@slide=\first@slidemarker\else
+ s {\c@slide\first@slidemarker\relax\theslide} --\fi
+ { }\theslide}%
+\ifarticle
+ \let\c@note\c@page
+ \def\p@note{\p@page}
+ \def\thenote{\thepage}
+\else
+ \newcounter{note}
+ \def\thenote{\theslide-\arabic{note}}
+ \def\thepage{\thenote}
+ \addto@hook\after@slide{\setcounter{note}{1}}
+ \expandafter\def\expandafter\@outputpage\expandafter{%
+ \@outputpage\stepcounter{note}}
+\fi
+\ifarticle\else
+ \let\c@page\c@slide
+ \countdef\c@slide=0
+ \c@slide=0
+ \c@page=1
+\fi
+\ifarticle
+ \let\truepagenumbers\relax
+\else
+ \def\truepagenumbers{%
+ \let\c@slide\c@page
+ \countdef\c@page=0
+ \c@page=1
+ \c@slide=0
+ \let\truepagenumbers\relax}
+\fi
+\addto@preamblecmds{\truepagenumbers}
+\newdimen\slideframewidth \slideframewidth 4pt
+\newdimen\slideframesep \slideframesep .3in
+\def\newslideframe#1{%
+ \@ifnextchar[{\@newslideframe{#1}}{\@newslideframe{#1}[]}}
+\def\@newslideframe#1[#2]{%
+ \@namedef{semsfops@#1}{#2}%
+ \@namedef{semsf@#1}##1}
+\newslideframe{plain}{\fbox{#1}}
+\def\slideframe{\@slideframe{slide}}
+\def\@slideframe#1{%
+ \@ifstar{\@testtrue\@@slideframe{#1}}{\@testfalse\@@slideframe{#1}}}
+\def\@@slideframe#1{%
+ \@ifnextchar[{\@@@slideframe{#1}}{\@@@slideframe{#1}[]}}
+\def\@@@slideframe#1[#2]#3{%
+ \def\@tempa{none}%
+ \def\@tempb{#3}%
+ \ifx\@tempa\@tempb
+ \@namedef{the#1frame}{\relax}%
+ \else
+ \ifx\@tempb\@empty
+ \@namedef{the#1frame}{}%
+ \else
+ \@ifundefined{semsf@#3}%
+ {\@seminarerr{Slide frame `#3' undefined}\@eha}%
+ {\if@test
+ \@@@@slideframe{#1}[#2]{#3}%
+ \else
+ \@namedef{the#1frame}{\setbox\@slidebox=\hbox{{%
+ \@nameuse{semsfops@#3}#2\@nameuse{semsf@#3}{\box\@slidebox}}}}%
+ \fi}%
+ \fi
+ \fi}
+\def\@@@@slideframe#1[#2]#3{%
+ \expandafter\let\expandafter\@tempa\csname the#1frame\endcsname
+ \edef\next{%
+ \noexpand\def\expandafter\noexpand\csname the#1frame\endcsname}%
+ \expandafter\next\expandafter{\@tempa
+ \setbox\@slidebox=\hbox{{%
+ \@nameuse{semsfops@#3}%
+ #2%
+ \@nameuse{semsf@#3}{\box\@slidebox}}}}}%
+\slideframe{plain}
+\def\slidestyle#1{\@ifundefined{ss@#1}%
+ {\@seminarerr{Slide style `#1' undefined}\@eha}%
+ {\@nameuse{ss@#1}}}
+\def\ss@empty{\let\add@slidelabel\@gobble}
+\def\ss@left{\def\add@slidelabel##1{%
+ \setbox\@slidebox=\hbox{%
+ \vbox to \ht\@slidebox{\vss
+ \hbox to 0pt{\hss##1\hskip 15pt}%
+ \vss}\box\@slidebox}}}
+\def\ss@bottom{\def\add@slidelabel##1{%
+ \setbox\@slidebox=\vbox{\copy\@slidebox\vskip 9pt
+ \hbox to\wd\@slidebox{\hss##1\hss}}}}%
+\ifarticle
+ \ifportrait\slidestyle{bottom}\else\slidestyle{left}\fi
+\else
+ \slidestyle{empty}
+\fi
+\def\slidelabel{\bf Slide \theslide}
+\def\newpagestyle#1#2#3{%
+ \expandafter\newcommand\csname ps@#1\endcsname{%
+ \def\@oddhead{#2}\let\@evenhead\@oddhead
+ \def\@oddfoot{#3}\let\@evenfoot\@oddfoot}}
+\def\renewpagestyle#1#2#3{%
+ \expandafter\renewcommand\csname ps@#1\endcsname{%
+ \def\@oddhead{#2}\let\@evenhead\@oddhead
+ \def\@oddfoot{#3}\let\@evenfoot\@oddfoot}}
+\def\@ifgoodps#1{%
+ \@ifundefined{ps@#1}{\@seminarerr{Page style `#1' undefined}\@eha}}
+\def\slidepagestyle#1{%
+ \@ifgoodps{#1}%
+ {\ifslide\pagestyle{#1}\else\edef\slide@pagestyle{#1}\fi}}
+\def\ps@{}
+\slidepagestyle{}
+\ifarticle
+ \def\ps@align{}
+\else
+ \def\ps@align{%
+ \def\@oddhead{\thepage\hfil+}\let\@evenhead\@oddhead
+ \def\@oddfoot{+\hfil+}\let\@evenfoot\@oddfoot}
+\fi
+\def\slideheadfont{\scriptsize}
+\def\slidefootfont{\scriptsize}
+\def\magstep#1{\ifcase#1 \@m\or 1200\or 1440\or 1728\or
+ 2074\or 2488\or 2986\or 3583\or 4300\or 5160\fi\relax}
+\def\magstepminus#1{%
+ \ifcase#1 \@m\or 833\or 694\or 579\or 482\or 401\fi\relax}
+\def\@magstep#1{%
+ \ifnum#1<\z@\magstepminus{-#1}\else\magstep#1\fi}
+{\catcode`\p=12\catcode`\t=12
+ \gdef\@@inv@@mag#1pt#2{\def#2{#1}}}
+\def\invert@mag#1{\@tempdima=1000pt
+ \divide\@tempdima by #1\relax
+ \expandafter\@@inv@@mag\the\@tempdima#1}
+\def\@slidesmag#1{%
+ \@tempcnta=#1\relax%
+ \ifnum\@tempcnta>0
+ \edef\inverseslidesmag{\the\@tempcnta}%
+ \invert@mag\inverseslidesmag
+ \ifarticle\else\mag\@tempcnta\fi
+ \else
+ \@seminarerr{\string\@slidesmag\space argument must be an
+ integer equal to 1000 times the magnification}\@eha
+ \fi}
+\def\@articlemag#1{%
+ \@tempcnta=#1\relax%
+ \ifnum\@tempcnta>0
+ \edef\inverseartmag{\the\@tempcnta}%
+ \invert@mag\inverseartmag
+ \ifarticle\mag\@tempcnta\fi
+ \else
+ \@seminarerr{\string\articlemag\space argument must be an
+ integer equal to 1000 times the magnification}\@eha
+ \fi}
+\addto@preamblecmds{\@slidesmag\do\@articlemag}
+\newdimen\semin
+\newdimen\semcm
+\def\@semmagerr#1{%
+ \@seminarerr{\string#1 argument must be an integer
+ between -5 and 9}\@eha}
+\def\slidesmag#1{%
+ \@tempcnta=#1\relax
+ \ifnum\@tempcnta>-6
+ \ifnum\@tempcnta<10
+ \edef\the@slidesmag{\the\@tempcnta}%
+ \@slidesmag{\@magstep\@tempcnta}%
+ \else
+ \@semmagerr\slidesmag
+ \fi
+ \else
+ \@semmagerr\slidesmag
+ \fi
+ \setslidelength\semin\seminlength
+ \setslidelength\semcm\semcmlength}
+\def\seminlength{1in}
+\def\semcmlength{1cm}
+\def\articlemag#1{%
+ \@tempcnta=#1\relax
+ \ifnum\@tempcnta>-6
+ \ifnum\@tempcnta<10
+ \edef\the@articlemag{\the\@tempcnta}%
+ \@articlemag{\@magstep\@tempcnta}%
+ \else
+ \@semmagerr\articlemag
+ \fi
+ \else
+ \@semmagerr\articlemag
+ \fi}
+\addto@preamblecmds{\slidesmag\do\articlemag}
+\def\setslidelength#1#2{%
+ #1=#2\relax
+ #1=\inverseslidesmag#1}%
+\def\addtoslidelength#1#2{%
+ \dimen@=#2\relax
+ \advance#1 by \inverseslidesmag\dimen@}
+\def\setartlength#1#2{%
+ #1=#2\relax
+ #1=\inverseartmag#1}
+\def\addtoartlength#1#2{%
+ \dimen@=#2\relax
+ \advance#1 by \inverseartmag\dimen@}
+\def\slide@epsfsize#1#2{%
+ \ifdim\epsfxsize=0pt
+ \ifdim\epsfysize=0pt
+ \inverseslidesmag#1%
+ \else
+ 0pt
+ \fi
+ \else
+ \inverseslidesmag\epsfxsize
+ \fi
+ \epsfysize
+ \ifdim\epsfysize=0pt
+ \ifdim\epsfxsize=0pt
+ \inverseslidesmag#2%
+ \else
+ 0pt
+ \fi
+ \else
+ \inverseslidesmag\epsfysize
+ \fi}
+\def\epsfslidesize{\let\epsfsize\slide@epsfsize}
+\slidesmag{4}
+\articlemag{0}
+\def\do@pageparameters{%
+ \do\oddsidemargin
+ \do\evensidemargin
+ \do\marginparwidth
+ \do\marginparsep
+ \do\topmargin
+ \do\headheight
+ \do\headsep
+ \do\textheight
+ \do\textwidth
+ \do\topskip
+ \do\footskip
+ \do\footheight}
+\ifarticle
+ \def\scale@pageparameters{%
+ \begingroup
+ \def\do##1{\global##1=\inverseartmag##1\relax}%
+ \do@pageparameters
+ \endgroup}
+\else
+ \def\scale@pageparameters{%
+ \begingroup
+ \def\do##1{\global##1=\inverseslidesmag##1\relax}%
+ \do@pageparameters
+ \endgroup}
+\fi
+\addto@hook\before@document{\scale@pageparameters}
+\addto@preamblecmds{\scale@pageparameters\do\do@pageparameters}
+\def\allversions{}
+\let\endallversions\relax
+\@namedef{allversions*}{\@bsphack\globaldefs=1}
+\@namedef{endallversions*}{\@esphack}
+\def\slide@list{slide,slide*,allversions,allversions*}
+\def\addtoslidelist#1{\xdef\slide@list{\slide@list,#1}}
+\addto@preamblecmds{\addtoslidelist}
+\ifslidesonly
+ \@ifundefined{xcomment@@@}{\@@input xcomment.sty }{}
+ \def\xcomment@hook{\@xcomment{@@@}{\slide@list}}
+ \newxcomment[]{note}
+\else
+ \def\note{\@bsphack}%
+ \def\endnote{\@esphack}%
+\fi
+\def\noxcomment{\def\xcomment@hook{}}
+\def\os@list{}
+\newif\if@os
+\def\onlyslides#1{\def\os@list{#1}\@ostrue
+ \def\os@warning{\@warning{\string\onlyslides\space argument
+ contains undefined references}}}
+\def\notslides#1{\def\os@list{#1}\@osfalse
+ \def\os@warning{\@warning{\string\notslides\space argument
+ contains undefined references}}}
+\addto@preamblecmds{\onlyslides\do\notslides}
+\addto@hook\after@document{%
+ \ifx\os@list\@empty\else\os@expandlist\fi}
+\def\os@expandlist{%
+ \let\os@@warning\relax
+ \begingroup
+ \def\ref##1{\@ifundefined{r@##1}{?}%
+ {\noexpand\@car\@nameuse{r@##1}\noexpand\@nil}}%
+ \edef\@tempd{\os@list}%
+ \xdef\os@list{}%
+ \@for\@tempc:=\@tempd
+ \do{\expandafter\os@expandrange\@tempc-:-:\@nil}%
+ \os@@warning
+ \endgroup
+ \let\os@expandrange\relax
+ \let\os@checknum\relax
+ \let\os@expandlist\relax}
+\def\os@expandrange#1-#2-#3\@nil{%
+ \def\@tempa{?}\def\@tempb{#1}%
+ \ifx\@tempa\@tempb
+ \let\os@@warning\os@warning
+ \else
+ \@tempcnta=#1\relax
+ \def\@tempb{#2}%
+ \ifx\@tempa\@tempb
+ \let\os@@warning\os@warning
+ \else
+ \def\@tempa{:}%
+ \ifx\@tempa\@tempb
+ \@tempcntb=\@tempcnta
+ \else
+ \@tempcntb=#2\relax
+ \fi
+ \advance\@tempcnta by -1
+ \advance\@tempcntb by 1
+ \ifx\os@list\@empty
+ \xdef\os@list{\the\@tempcnta+\the\@tempcntb}%
+ \else
+ \xdef\os@list{\os@list,\the\@tempcnta+\the\@tempcntb}%
+ \fi
+ \fi
+ \fi}
+\def\os@test{%
+ \@testtrue
+ \iflandscape
+ \ifnum\@landscapeonly=-1 \@testfalse\fi
+ \else
+ \ifnum\@landscapeonly=1 \@testfalse\fi
+ \fi
+ \if@test
+ \ifx\os@list\@empty\else
+ \if@os\@testfalse\fi
+ \@for\@tempa:=\os@list\do{\expandafter\os@testrange\@tempa\@nil}%
+ \fi
+ \fi}
+\def\os@testrange#1+#2\@nil{%
+ \ifnum\c@slide>#1
+ \ifnum\c@slide<#2
+ \if@os\@testtrue\else\@testfalse\fi
+ \fi
+ \fi}
+\def\onlynotestoo{%
+ \ifnotes\@testtrue\else\ifnotesonly\@testtrue\else\@testfalse\fi\fi
+ \if@test
+ \@ifundefined{xcomment@@@}{%
+ \edef\sem@temp{\the\catcode`\@}%
+ \catcode`\@=11
+ \@@input xcomment.sty
+ \catcode`\@=\sem@temp\relax}{}%
+ \def\xcomment@hook{\@xcomment{@@@}{\slide@list}}%
+ \addto@hook\after@slide\onlynotes@too
+ \fi}
+\def\onlynotes@too{%
+ \os@test
+ \if@test\gdef\do@end{}\else\gdef\do@end{\xc@begin}\fi}
+\addto@preamblecmds\onlynotestoo
+\def\ptsize#1{%
+ \@ifundefined{#1@semptsize}%
+ {\@seminarerr{\string\ptsize\space `#1' not valid.}\@eha}%
+ {\ifslide
+ \sem@ptsize{#1}\large\normalsize
+ \else
+ \edef\slide@ptsize{#1}%
+ \fi}}
+\edef\slide@ptsize{1\@ptsize}%
+\def\slidefontsizes{\ptsize} %For backwards compatibility??
+\def\slide@setsize#1#2#3#4{%
+ \@setsize{#1}{#2}{#3}{#4}%
+ \set@slideskip{#2}}
+\def\slide@@setsize#1#2#3#4{%
+ \slide@setsize{#1}{#2}{#3}{#4}\slidedisplayskips}
+\def\set@slideskip#1{%
+ \normallineskiplimit=#1
+ \advance\normallineskiplimit-\normalbaselineskip
+ \multiply\normallineskiplimit-1
+ \normallineskiplimit\slideskip\normallineskiplimit
+ \ifdim\normallineskiplimit<1pt\normallineskiplimit=1pt\fi
+ \normallineskip=\normallineskiplimit
+ minus \slideshrink\normallineskiplimit
+ \dimen@=\normalbaselineskip
+ \normalbaselineskip=\dimen@ minus \slideshrink\normallineskiplimit
+ \normalbaselines}
+\def\slideskip{.75}
+\def\slideshrink{.25}
+\def\slidedisplayskips{%
+ \abovedisplayskip 1.75ex minus .35ex
+ \belowdisplayskip \abovedisplayskip
+ \abovedisplayshortskip .2ex minus .2ex
+ \belowdisplayshortskip 1ex minus .2ex}
+\def\sem@ptsize#1{%
+ \@nameuse{#1@semptsize}%
+ \large\normalsize
+ \leftmargini\slideleftmargini\relax
+ \leftmarginii\slideleftmarginii\relax
+ \leftmarginiii\slideleftmarginiii\relax
+ \labelsep\slidelabelsep\relax
+ \parskip\slideparskip\relax
+ \parindent\slideparindent\relax
+ \slide@rightskip
+ \slide@listi
+ \skip\footins\slidefootins\relax
+ \footnotesep\slidefootnotesep\relax}
+\def\slidefootins{2ex minus .8ex}
+\def\slidefootnotesep{1.2ex}
+\def\slideparindent{\z@}
+\def\slideparskip{1ex minus .2ex}
+\@namedef{8@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{9.5pt}\viiipt\@viiipt}%
+ \def\small{\slide@@setsize\small{8pt}\viipt\@viipt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{8pt}\vipt\@vipt}%
+ \def\scriptsize{\slide@setsize\scriptsize{7pt}\vipt\@vipt}%
+ \def\tiny{\slide@setsize\tiny{6pt}\vpt\@vpt}%
+ \def\large{\slide@setsize\large{12pt}\xpt\@xpt}%
+ \def\Large{\slide@setsize\Large{14pt}\xiipt\@xiipt}%
+ \def\LARGE{\slide@setsize\LARGE{17pt}\xivpt\@xivpt}%
+ \def\huge{\slide@setsize\huge{20pt}\xviipt\@xviipt}%
+ \def\Huge{\slide@setsize\Huge{25pt}\xxpt\@xxpt}}
+\@namedef{9@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{11pt}\ixpt\@ixpt}%
+ \def\small{\slide@@setsize\small{9.5pt}\viiipt\@viiipt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{8pt}\viipt\@viipt}%
+ \def\scriptsize{\slide@setsize\scriptsize{7pt}\vipt\@vipt}%
+ \def\tiny{\slide@setsize\tiny{6pt}\vpt\@vpt}%
+ \def\large{\slide@setsize\large{12pt}\xpt\@xpt}%
+ \def\Large{\slide@setsize\Large{14pt}\xiipt\@xiipt}%
+ \def\LARGE{\slide@setsize\LARGE{17pt}\xivpt\@xivpt}%
+ \def\huge{\slide@setsize\huge{20pt}\xviipt\@xviipt}%
+ \def\Huge{\slide@setsize\Huge{25pt}\xxpt\@xxpt}}
+\@namedef{10@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{12pt}\xpt\@xpt}%
+ \def\small{\slide@@setsize\small{11pt}\ixpt\@ixpt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{9.5pt}\viiipt\@viiipt}%
+ \def\scriptsize{\slide@setsize\scriptsize{8pt}\viipt\@viipt}%
+ \def\tiny{\slide@setsize\tiny{6pt}\vpt\@vpt}%
+ \def\large{\slide@setsize\large{14pt}\xiipt\@xiipt}%
+ \def\Large{\slide@setsize\Large{18pt}\xivpt\@xivpt}%
+ \def\LARGE{\slide@setsize\LARGE{22pt}\xviipt\@xviipt}%
+ \def\huge{\slide@setsize\huge{25pt}\xxpt\@xxpt}%
+ \def\Huge{\slide@setsize\Huge{30pt}\xxvpt\@xxvpt}}
+\@namedef{11@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{13.6pt}\xipt\@xipt}%
+ \def\small{\slide@@setsize\small{12pt}\xpt\@xpt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{11pt}\ixpt\@ixpt}%
+ \def\scriptsize{\slide@setsize\scriptsize{9.5pt}\viiipt\@viiipt}%
+ \def\tiny{\slide@setsize\tiny{7pt}\vipt\@vipt}%
+ \def\large{\slide@setsize\large{14pt}\xiipt\@xiipt}%
+ \def\Large{\slide@setsize\Large{18pt}\xivpt\@xivpt}%
+ \def\LARGE{\slide@setsize\LARGE{22pt}\xviipt\@xviipt}%
+ \def\huge{\slide@setsize\huge{25pt}\xxpt\@xxpt}%
+ \def\Huge{\slide@setsize\Huge{30pt}\xxvpt\@xxvpt}}
+\@namedef{12@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{14.5pt}\xiipt\@xiipt}%
+ \def\small{\slide@@setsize\small{13.6pt}\xipt\@xipt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{12pt}\xpt\@xpt}%
+ \def\scriptsize{\slide@setsize\scriptsize{9.5pt}\viiipt\@viiipt}%
+ \def\tiny{\slide@setsize\tiny{7pt}\vipt\@vipt}%
+ \def\large{\slide@setsize\large{18pt}\xivpt\@xivpt}%
+ \def\Large{\slide@setsize\Large{22pt}\xviipt\@xviipt}%
+ \def\LARGE{\slide@setsize\LARGE{25pt}\xxpt\@xxpt}%
+ \def\huge{\slide@setsize\huge{30pt}\xxvpt\@xxvpt}%
+ \let\Huge\huge}
+\@namedef{14@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{18pt}\xivpt\@xivpt}%
+ \def\small{\slide@@setsize\small{14.5pt}\xiipt\@xiipt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{13.6pt}\xipt\@xipt}%
+ \def\scriptsize{\slide@setsize\scriptsize{12pt}\xpt\@xpt}%
+ \def\tiny{\slide@setsize\tiny{9.5pt}\viiipt\@viiipt}%
+ \def\large{\slide@setsize\large{22pt}\xviipt\@xviipt}%
+ \def\Large{\slide@setsize\Large{25pt}\xxpt\@xxpt}%
+ \def\LARGE{\slide@setsize\LARGE{30pt}\xxvpt\@xxvpt}%
+ \let\huge\LARGE
+ \let\Huge\LARGE}
+\@namedef{17@semptsize}{%
+ \def\normalsize{\slide@@setsize\normalsize{22pt}\xviipt\@xviipt}%
+ \def\small{\slide@@setsize\small{18pt}\xivpt\@xivpt}%
+ \def\footnotesize{\slide@@setsize\footnotesize{14.5pt}\xiipt\@xiipt}%
+ \def\scriptsize{\slide@setsize\scriptsize{13.6pt}\xipt\@xipt}%
+ \def\tiny{\slide@setsize\tiny{12pt}\xpt\@xpt}%
+ \def\large{\slide@setsize\large{25pt}\xxpt\@xxpt}%
+ \def\Large{\slide@setsize\Large{30pt}\xxvpt\@xxvpt}%
+ \let\LARGE\Large
+ \let\huge\Large
+ \let\Huge\Large}
+\def\twoup{\@ifnextchar[{\@twoup}{\@twoup[0]}}
+\ifarticle
+ \ifportrait
+ \def\@twoup[#1]{%
+ \@tempcnta=\the@articlemag\relax
+ \@tempcntb=\@tempcnta
+ \advance\@tempcntb by #1\relax
+ \advance\@tempcntb by -2\relax
+ \ifnum\@tempcntb>-6\relax
+ \@@input 2up.tex
+ \source{\@magstep\@tempcnta}{\paperheight}{\paperwidth}%
+ \target{\@magstep\@tempcntb}{\paperwidth}{\paperheight}%
+ \targetlayout{topbottom}%
+ \printlandscapefalse
+ \else
+ \@seminarerr{Article magnification is too low for
+ \string\twoup\space to handle}\@eha
+ \fi
+ \def\articlemag##1{\@semtwoupmagerr\articlemag}}
+ \else
+ \def\@twoup[#1]{%
+ \@tempcnta=\the@articlemag\relax
+ \@tempcntb=\@tempcnta
+ \advance\@tempcntb by #1\relax
+ \advance\@tempcntb by -2\relax
+ \ifnum\@tempcntb>-6\relax
+ \@@input 2up.tex
+ \source{\@magstep\@tempcnta}{\paperwidth}{\paperheight}%
+ \target{\@magstep\@tempcntb}{\paperheight}{\paperwidth}%
+ \if@twoside
+ \targetlayout{twosided}%
+ \fi
+ \printlandscapetrue
+ \else
+ \@seminarerr{Article magnification is too low for
+ \string\twoup\space to handle}\@eha
+ \fi
+ \def\articlemag##1{\@semtwoupmagerr\articlemag}}
+ \fi
+\else
+ \ifportrait
+ \def\@twoup[#1]{%
+ \@tempcnta=\the@slidesmag\relax
+ \@tempcntb=\@tempcnta
+ \advance\@tempcntb by #1\relax
+ \advance\@tempcntb by -3\relax
+ \ifnum\@tempcntb>-6\relax
+ \@@input 2up.tex
+ \source{\@magstep\@tempcnta}{\paperwidth}{\paperheight}%
+ \advance\@tempcnta by -3
+ \target{\@magstep\@tempcnta}{\paperheight}{\paperwidth}%
+ \printlandscapetrue
+ \else
+ \@seminarerr{Slides magnification is too low for
+ \string\twoup\space to handle}\@eha
+ \fi
+ \def\slidesmag##1{\@semtwoupmagerr\slidesmag}}
+ \else
+ \def\@twoup[#1]{%
+ \@tempcnta=\the@slidesmag\relax
+ \@tempcntb=\@tempcnta
+ \advance\@tempcntb by #1\relax
+ \advance\@tempcntb by -3\relax
+ \ifnum\@tempcntb>-6\relax
+ \@@input 2up.tex
+ \source{\@magstep\@tempcnta}{\paperheight}{\paperwidth}%
+ \target{\@magstep\@tempcntb}{\paperwidth}{\paperheight}%
+ \targetlayout{topbottom}%
+ \printlandscapefalse
+ \else
+ \@seminarerr{Slides magnification is too low for
+ \string\twoup\space to handle}\@eha
+ \fi
+ \def\slidesmag##1{\@semtwoupmargerr\slidesmag}}%
+ \fi
+\fi
+\def\@semtwoupmagerr#1{%
+ \@seminarerr{\string#1 must come before \string\twoup}\@eha}
+\addto@preamblecmds{\twoup\do\@twoup}
+\openin1 seminar.con
+\ifeof1\else\closein1 \relax\@@input seminar.con\fi
+\endinput
+%%
+%% END `seminar.cls'.
+
diff --git a/Master/texmf-dist/tex/latex/seminar/semlayer.sty b/Master/texmf-dist/tex/latex/seminar/semlayer.sty
new file mode 100644
index 00000000000..a428d3796e9
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/semlayer.sty
@@ -0,0 +1,146 @@
+%% BEGIN semlayer.sty
+%%
+%% This is file `semlayer.sty', generated
+%% on <1993/4/2> with the docstrip utility (2.0r).
+%%
+%% The original source files were:
+%%
+%% semlayer.doc
+%%
+\def\fileversion{1.0}
+\def\filedate{93/04/01}
+%%
+%% LaTeX style option `semlayer.sty'.
+%% For use with LaTeX v2.09 and the `seminar' document style.
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%% See seminar.sty or seminar.doc for copying restrictions.
+%%
+\addto@hook\before@newslide{%
+ \global\def\overlay@list{}%
+ \setcounter{overlay}{0}}
+\newbox\@@slidebox
+\def\process@@slide{%
+ \ifx\overlay@list\@empty
+ \finish@slide
+ \output@slide
+ \else
+ \setbox\@@slidebox\box\@slidebox
+ \make@overlay{0}%
+ \finish@slide
+ \output@slide
+ {\let\theoverlay\theslide\layer@loop{0}}%
+ \overlay@loop
+ \fi}
+\def\overlay@loop{%
+ \begingroup
+ \overlay@prep
+ \c@overlay=1
+ \@whilenum\c@overlay<10
+ \do{%
+ \test@member{\the\c@overlay}{\overlay@list}%
+ \if@test
+ \make@overlay{\the\c@overlay}%
+ \finish@slide
+ \output@slide
+ \fi
+ \layer@loop{\the\c@overlay}%
+ \advance\c@overlay by 1}%
+ \endgroup}
+\def\layer@loop#1{%
+ \begingroup
+ \layer@prep
+ \@for\currlayer:=\layer@list\do{%
+ \test@member{#1-\currlayer}{\overlay@list}%
+ \if@test
+ \make@overlay{#1-\currlayer}%
+ \finish@slide
+ \output@slide
+ \fi}%
+ \endgroup}
+\def\layer@prep{%
+ \ifarticle\pagestyle{\layer@pagestyle}\fi
+ \let\thepage\thelayer
+ \ifx\thelayerframe\@empty\else\let\theslideframe\thelayerframe\fi
+ \let\slidelabel\layerlabel}
+\def\overlay@prep{%
+ \ifarticle\pagestyle{\overlay@pagestyle}\fi
+ \let\thepage\theoverlay
+ \ifx\theoverlayframe\@empty\else\let\theslideframe\theoverlayframe\fi
+ \let\slidelabel\overlaylabel}
+\def\layerframe{\@slideframe{layer}}
+\def\overlayframe{\@slideframe{overlay}}
+\def\thelayerframe{}
+\def\theoverlayframe{}
+\def\overlaylabel{\bf Overlay \theoverlay}
+\def\layerlabel{\bf Layer \thelayer}
+\newcounter{overlay}
+\def\theoverlay{\theslide-\alph{overlay}}
+\def\currlayer{}
+\def\thelayer{\theoverlay-\currlayer}
+\newif\ifoverlays
+\newif\iflayers
+\@ifundefined{@overlay}%
+ {\let\@overlay\relax}%
+ {\ifarticle\else\overlaystrue\layerstrue\fi}
+\def\nooverlays@err{%
+ \@seminarerr{You need to use additional macros for overlays,
+ e.g., semcolor.sty}\@ehd
+ \global\overlaysfalse
+ \global\layersfalse}
+\@ifundefined{@overlay}{}{}
+\def\overlay#1{%
+ \ifoverlays\ifx\@overlay\relax\nooverlays@err\fi\fi
+ \ifslide
+ \@tempcnta=#1
+ \@testfalse
+ \ifnum\@tempcnta>-1 \ifnum\@tempcnta<10 \@testtrue\fi\fi
+ \if@test
+ \c@overlay=\@tempcnta
+ \ifnum\c@overlay=0
+ \advance\c@slide by -1
+ \refstepcounter{slide}%
+ \else
+ \advance\c@overlay by -1
+ \refstepcounter{overlay}%
+ \ifoverlays
+ \xdef\overlay@list{\overlay@list,\the\c@overlay}%
+ \fi
+ \fi
+ \ifoverlays
+ \@overlay{\the\c@overlay}%
+ \fi
+ \else
+ \@seminarerr{\string\overlay\space argument must be
+ an integer between 0 and 9}\@eha
+ \fi
+ \else
+ \@seminarerr{\string\overlay\space can only be used
+ in slide environments}\@eha
+ \fi
+ \ignorespaces}
+\def\colorlayers#1{%
+ \edef\@tempc{#1}%
+ \edef\layer@list{\layer@list,#1}%
+ \def\@tempa##1{%
+ \@namedef{##1}{%
+ \iflayers\ifx\@overlay\relax\nooverlays@err\fi\fi
+ \ifslide
+ \iflayers
+ \xdef\overlay@list{\overlay@list,\the\c@overlay-##1}%
+ \@overlay{\the\c@overlay-##1}%
+ \fi
+ \else
+ \@seminarerr{Color layer `##1' can only be used in
+ slide environments}\@eha
+ \fi}}
+ \@for\@tempb:=\@tempc\do{%
+ \expandafter\@tempa\expandafter{\@tempb}}}
+\def\layer@list{}
+\def\overlaypagestyle#1{\@ifgoodps{#1}{\edef\overlay@pagestyle{#1}}}
+\def\layerpagestyle#1{\@ifgoodps{#1}{\edef\layer@pagestyle{#1}}}
+\overlaypagestyle{}
+\layerpagestyle{}
+\endinput
+%%
+%% End of file `semlayer.sty'.
diff --git a/Master/texmf-dist/tex/latex/seminar/semrot.sty b/Master/texmf-dist/tex/latex/seminar/semrot.sty
new file mode 100644
index 00000000000..dbaa0162aee
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/semrot.sty
@@ -0,0 +1,70 @@
+%% BEGIN sem-rot.sty
+\def\fileversion{1.0}
+\def\filedate{93/04/01}
+%%
+%% LaTeX style option `semrot.sty'.
+%% For use with LaTeX v2.09 and the `seminar' document style.
+%%
+%% COPYRIGHT 1993, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%% See seminar.sty or seminar.doc for copying restrictions.
+%%
+%% The following is just an interface for seminar.sty:
+\def\leftsliderotation#1{\@rotate[l]{#1}}
+\def\rightsliderotation#1{\@rotate[r]{#1}}
+\sliderotation{left}
+%%
+%% And the rest is rotate.sty, as distributed with Rokicki's dvips.
+%%
+% These macros allow you to rotate or flip a \TeX\ box. Very useful for
+% sideways tables or upsidedown answers.
+%
+% To use, create a box containing the information you want to rotate.
+% (An hbox or vbox will do.) Now call \@rotr\boxnum to rotate the
+% material and create a new box with the appropriate (flipped) dimensions.
+% \@rotr rotates right, \@rotl rotates left, \@rotu turns upside down, and
+% \@rotf flips. These boxes may contain other rotated boxes.
+%
+\newdimen\@rotdimen
+\newbox\@rotbox
+
+\def\@vspec#1{\special{ps:#1}}% passes #1 verbatim to the output
+\def\@rotstart#1{\@vspec{gsave currentpoint currentpoint translate
+ #1 neg exch neg exch translate}}% #1 can be any origin-fixing transformation
+\def\@rotfinish{\@vspec{currentpoint grestore moveto}}% gets back in synch
+%
+% First, the rotation right. The reference point of the rotated box
+% is the lower right corner of the original box.
+%
+\def\@rotr#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1%
+ \hbox to\@rotdimen{\hskip\ht#1\vbox to\wd#1{\@rotstart{90 rotate}%
+ \box#1\vss}\hss}\@rotfinish}
+%
+% Next, the rotation left. The reference point of the rotated box
+% is the upper left corner of the original box.
+%
+\def\@rotl#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1%
+ \hbox to\@rotdimen{\vbox to\wd#1{\vskip\wd#1\@rotstart{270 rotate}%
+ \box#1\vss}\hss}\@rotfinish}%
+%
+% Upside down is simple. The reference point of the rotated box
+% is the upper right corner of the original box. (The box's height
+% should be the current font's xheight, \fontdimen5\font,
+% if you want that xheight to be at the baseline after rotation.)
+%
+\def\@rotu#1{\@rotdimen=\ht#1\advance\@rotdimen by\dp#1%
+ \hbox to\wd#1{\hskip\wd#1\vbox to\@rotdimen{\vskip\@rotdimen
+ \@rotstart{-1 dup scale}\box#1\vss}\hss}\@rotfinish}%
+%
+% And flipped end for end is pretty ysae too. We retain the baseline.
+%
+\def\@rotf#1{\hbox to\wd#1{\hskip\wd#1\@rotstart{-1 1 scale}%
+ \box#1\hss}\@rotfinish}%
+%
+% Now the user interface for LaTeX: \rotate[type]{text} where
+% ``type'' is `l' for left, `r' for right, `u' for upside-down, or
+% `f' for flip. `l' is the default.
+%
+\def\rotate{\@ifnextchar[{\@rotate}{\@rotate[l]}}
+\def\@rotate[#1]#2{\setbox\@rotbox=\hbox{#2}\@nameuse{@rot#1}\@rotbox}
+\endinput
+%% END sem-rot.sty
diff --git a/Master/texmf-dist/tex/latex/seminar/slidesec.sty b/Master/texmf-dist/tex/latex/seminar/slidesec.sty
new file mode 100644
index 00000000000..81abef8d08e
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/slidesec.sty
@@ -0,0 +1,200 @@
+%% BEGIN slidesec.sty
+\def\fileversion{v0.9}
+\def\filedate{92/05/07}
+%%
+%% Style option slidesec.sty, for use with LaTeX 2.09 or SliTeX.
+%%
+%% COPYRIGHT 1992, by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%% Copying of part or all of this file is allowed under the following
+%% conditions only:
+%% (1) You may freely distribute unchanged copies of the file. Please
+%% include the documentation when you do so.
+%% (2) You may modify a renamed copy of the file, but only for personal
+%% use or use within an organization.
+%% (3) You may copy fragments from the file, for personal use or for use
+%% in a macro package for distribution, as long as credit is given
+%% where credit is due.
+%%
+%% You are NOT ALLOWED to take money for the distribution or use of
+%% this file or modified versions or fragments thereof, except for
+%% a nominal charge for copying etc.
+%%
+% DISCLAIMER:
+%
+% Someone who actually uses something like this should rewrite it.
+%
+% DESCRIPTION:
+%
+% This file contains macros for sections, headings, tables of contents,
+% and lists of slides, for slides. It can probably be used with your
+% favorite LaTeX slide package (e.g., seminar.sty).
+% However:
+%% If the counter used to keep track of slides is not slide ,
+%% then change the following line:
+\def\@SCTR{\theslide}
+%%
+% ACKNOWLEDGEMENTS:
+%
+% The idea comes from Young U. Ryu's lslides.sty.
+%
+% USAGE:
+%
+% \slideheading[#1]{#2}
+% * Analogous to \section.
+% * [#1] is optional; \slideheading{#1} is same as \slideheading[#1]{#2}.
+% * Advances slidesection counter.
+% * Sets \theslideheading to #1; can be used, e.g., in headers and footers.
+% * Adds #1 to slide contents file.
+% * If #2 is non-empty, invokes \makeslideheading{#2} to make a heading.
+% Default definition of \makeslideheading is
+% \begin{center}\large\bf #2 \end{center}
+% but you can redefine this to suit your tastes.
+%
+% \slidesubheading[#1]{#2}
+% * Analogous to \subsection.
+% * Like \slideheading, but add "sub" to all the names.
+%
+% \slideheading and \slidesubheading are meant to be used at most once in
+% a slide, but this is not a binding restriction.
+%
+% You may want to define abbreviated forms. E.g.,
+% \newcommand{heading}{\slideheading}
+% \newcommand{subheading}{\slidesubheading}
+%
+% \listofslides
+% * Analogous to \listoftables.
+%
+% \slidecontents
+% * Analogous to \tableofcontents
+%
+% \Slidecontents
+% * List \slidecontents, but puts some check marks and stuff to
+% indicate what you have covered so far and what is coming up.
+% Meant to be used in the middle of a presentation.
+%
+% To change fonts and otherwise customize what you get from \listofslides,
+% \slidecontents, and \Slidecontents, you have to hack at the definitions
+% of these macros.
+%
+% BUGS:
+%
+% These macros have not been tested very much.
+%
+% IMPLEMENTATION:
+%
+\@ifundefined{@startlos}{}{\endinput}
+\typeout{File `slidesec.sty' \fileversion\space\space
+ \filedate\space\space <tvz>}
+%
+% If we use \@starttoc{los} to read in \jobname.los, then its contents
+% are destroyed and we can't read it again. \@startlos is like \@starttoc,
+% but it sets the flae \los@flag to 1, and then we add a few commands
+% to \enddocument that open \filename.los if \los@flag=1.
+%
+\def\los@flag{0}%
+\def\@startlos{%
+ \begingroup\makeatletter\@input{\jobname.los}\endgroup
+ \gdef\los@flag{1}\global\@nobreakfalse}
+\newtoks\@temptokenb
+\@temptokena{%
+ \ifnum\los@flag=1\if@filesw
+ \newwrite\tf@los\immediate\openout\tf@los\jobname.los\relax
+ \fi\fi}
+\expandafter\@temptokenb\expandafter{\enddocument}
+\edef\enddocument{\the\@temptokena\the\@temptokenb}
+%
+\newcounter{slidesection}
+\newcounter{slidesubsection}
+\def\theslidesection{\arabic{slidesection}}
+\def\thesubslidesection{\theslidesection.\arabic{subslidesection}}
+%
+\def\slideheading{\@dblarg\slide@heading}%
+\def\slide@heading[#1]#2{%
+ \stepcounter{slidesection}%
+ \addtocontents{los}{\protect\l@slide
+ {\the\c@slidesection}{\ignorespaces#1}{\@SCTR}}%
+ \gdef\theslideheading{#1}%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\edef\@currentlabel{\csname p@slidesection\endcsname\theslidesection}%
+ \makeslideheading{#2}}%
+ \fi}
+\def\slidesubheading{\@dblarg\slide@subheading}
+\def\slide@subheading[#1]#2{%
+ \stepcounter{slidesection}%
+ \addtocontents{los}{\protect\l@subslide
+ {\the\c@slidesubsection}{\ignorespaces#1}{\@SCTR}}%
+ \gdef\theslidesubheading{#1}%
+ \def\@tempa{#2}%
+ \ifx\@tempa\@empty\else
+ {\edef\@currentlabel{\csname p@slidesubsection\endcsname
+ \theslidesubsection}\makeslideheading{#2}}%
+ \fi}
+\def\theslideheading{}\def\theslidesubheading{}
+%
+\def\makeslideheading#1{%
+ \begin{center}\large\bf #1\end{center}}
+\def\makeslidesubheading{\makeslideheading}
+%
+\def\@undottedtocline#1#2#3#4#5{\vskip \z@ plus .2pt
+ \bgroup
+ \leftskip #2\relax \parindent #2\relax\@afterindenttrue
+ \interlinepenalty\@M
+ \leavevmode
+ \@tempdima #3\relax \advance\leftskip \@tempdima
+ \hbox{}\hskip -\leftskip
+ #4\par
+ \egroup}
+\def\slide@dottedcline{\@dottedtocline{1}{1.5em}{2.3em}}
+\def\slide@undottedcline{\@undottedtocline{1}{1.5em}{2.3em}}
+\def\slide@cline{\slide@dottedcline}
+%
+\def\slidenumberline#1{\hbox to\@tempdima{\hss#1\hskip 1em}}
+%
+\def\listofslides{\section*{List of Slides%
+ \@mkboth{LIST OF SLIDES}{LIST OF SLIDES}}%
+ \def\l@slide##1##2##3{%
+ \slide@undottedcline{\slidenumberline{##3}{##2}}{}}%
+ \let\l@subslide\l@slide
+ \@startlos}
+%
+\def\slidecontents{\@ifstar%
+ {\def\slide@cline{\slide@undottedcline}\slide@contents}%
+ {\def\slide@cline{\slide@dottedcline}\slide@contents}}
+\def\slide@contents{%
+ \def\l@slide##1##2##3{%
+ \slide@cline{\slidenumberline{$\bullet$}{##2}}{##3}}%
+ \let\l@subslide\@gobbletwo
+ \@startlos}
+%
+\def\Slidecontents{\@ifstar%
+ {\def\slide@cline{\slide@undottedcline}\Slide@contents}%
+ {\def\slide@cline{\slide@dottedcline}\Slide@contents}}
+\def\Slide@contents{%
+ \def\l@slide##1##2##3{%
+ \ifcase\lslide@flag
+ \message{##1 ** \the\c@slidesection}
+ \ifnum##1>\c@slidesection
+ \def\lslide@flag{1}{\large\slide@cline{%
+ \slidenumberline{$\Rightarrow\bullet$}{##2}}{##3}}%
+ \else
+ {\large\slide@cline{%
+ \slidenumberline{$\surd\;\bullet$}{##2}}{##3}}%
+ \fi
+ \or
+ \def\lslide@flag{2}{\large\slide@cline{%
+ \slidenumberline{$\bullet$}{##2}}{##3}}%
+ \or
+ {\large\slide@cline{%
+ \slidenumberline{$\bullet$}{##2}}{##3}}%
+ \fi}%
+ \def\l@subslide##1##2##3{%
+ \ifnum\lslide@flag=1
+ \@undottedtocline{2}{3.8em}{3.2em}{##2}{}%
+ \fi}%
+ \def\lslide@flag{0}%
+ \@startlos}
+%
+\endinput
+%% END slidesec.sty
diff --git a/Master/texmf-dist/tex/latex/seminar/xcomment.sty b/Master/texmf-dist/tex/latex/seminar/xcomment.sty
new file mode 100644
index 00000000000..a117aced289
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/seminar/xcomment.sty
@@ -0,0 +1,182 @@
+%%
+%% This is file `xcomment.sty', generated
+%% on <1993/2/17> with the docstrip utility (2.0r).
+%%
+%% The original source files were:
+%%
+%% xcomment.doc
+%%
+\def\fileversion{1.2}
+\def\filedate{93/02/12}
+%%
+%% Style option `xcomment' for use with LaTeX v2.09.
+%% This is a style for comment and "inverse" comment environments.
+%%
+%% COPYRIGHT 1992, 1993 by Timothy Van Zandt, Timothy.VAN-ZANDT@insead.edu
+%%
+%% Input file: xcomment.sty.
+%% Documented code: xcomment.doc.
+%% For printing documentation: xcomment.tex.
+%%
+%% You may find xcomment.doc and xcomment.tex appended to xcomment.sty.
+%%
+%% For Licensing info, see sem-read.me
+%%
+\@ifundefined{xcomment@@@}{}{\endinput}
+\typeout{Style-Option: `xcomment' v\fileversion \space <\filedate> (tvz) }
+\def\newxcomment{\@ifnextchar [{\@newxcommentwitharg}%
+ {\@newxcomment}}
+\def\@newxcomment#1{%
+ \expandafter\def\csname #1\endcsname##1{\@xcomment{#1}{##1}}}%
+\def\@newxcommentwitharg[#1]#2{%
+ \expandafter\def\csname #2\endcsname{\@xcomment{#2}{#1}}}
+\newxcomment{xcomment}
+\def\envirsep{\par}
+\def\rescanfile#1{\def\@rescanfile{#1}}
+\rescanfile{\jobname.tmp}
+\def\norescanfile{\let\@rescanfile\relax}
+\def\@nofloat#1{\hrule height\z@\nobreak\vfill\vbox\bgroup\def\@captype{#1}}
+\def\end@nofloat{\egroup\nobreak\vfill\nobreak\hrule height\z@\medbreak}
+\def\nofloat#1{\@for\@tempa:=#1\do{\@namedef{#1}{\@nofloat{#1}}%
+ \@namedef{end#1}{\end@nofloat}}}
+\def\xc@makeother#1{%
+ \ifnum\the\catcode`#1=0\catcode`#112%
+ \else \ifnum\the\catcode`#1=1\catcode`#112%
+ \else \ifnum\the\catcode`#1=2\catcode`#112%
+ \else \ifnum\the\catcode`#1=6\catcode`#112%
+ \fi\fi\fi\fi\relax}
+\newwrite\tokout
+\newread\tokin
+\def\rescan#1{%
+ \ifx\@rescanfile\relax\else
+ \ifx\@rescanfile\@empty #1{}\else
+ \immediate\openout\tokout=\@rescanfile
+ \immediate\write\tokout{{\the#1}\relax}%
+ \immediate\closeout\tokout
+ \openin\tokin=\@rescanfile
+ \read\tokin to\@tempd
+ \closein\tokin
+ \expandafter#1\@tempd%
+ \fi\fi}
+\def\@xcomment#1#2{%
+ \ifx\@preamblecmds\@notprerr
+ \def\xc@csname{#1}%
+ \edef\xc@envirlist{#2}%
+ \ifx\xc@envirlist\@empty \@bsphack \else
+ \begingroup
+ \def\@envirsep{}%
+ \@ifundefined{normal@begin}{\let\normal@begin\begin}{}%
+ \@ifundefined{normal@end}{\let\normal@end\end}{}%
+ \def\begin##1{\do@begin{##1}\normal@begin{##1}}%
+ \def\end##1{\normal@end{##1}\do@end}%
+ \def\do@begin##1{\@ifundefined{##1}{}{\def\do@end{}}}%
+ \let\do@end\xc@begin
+ \fi
+ \let\next\xc@begin
+ \else
+ \expandafter\@temptokena\expandafter{\document\@xcomment{@@@}{#2}}%
+ \edef\document{\the\@temptokena}%
+ \let\next\relax
+ \fi
+ \next}
+\def\end@xcomment{\ifx\xc@envirlist\@empty \@esphack \else \endgroup \fi}%
+\def\xc@begin{%
+ \begingroup
+ \let\do\xc@makeother
+ \dospecials
+ \ifx\xcommentchar\@empty\else
+ \expandafter\catcode\expandafter`\xcommentchar=14
+ \fi
+ \catcode`\^^M\active
+ \xcomment@}
+\def\xcommentchar{\%}
+\begingroup
+\catcode`\!=12
+\catcode`\[=12
+\catcode`\]=12
+\catcode`\"=12
+\lccode`\!=`\\
+\lccode`\[=`\{
+\lccode`\]=`\}
+\lccode`\"=`\%
+\catcode`\~=\active
+\lccode`\~=`\^^M
+\lowercase{
+ \gdef\xcomment@#1~{\xcomment@@#1\@nnil!\@nil}
+ \gdef\xcomment@@#1!{\xcomment@@@}
+ \gdef\xcomment@@@#1\@nil{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \let\next\xcomment@
+ \else
+ \def\next{\xcomment@@#1\@nil}%
+ \@testtrue
+ \xc@checkbegin#1\relax begin[]\relax\relax
+ \if@test
+ \xc@checkend#1\relax end[]\relax\relax
+ \if@test
+ \xc@checkinput#1\relax input[]\relax\relax
+ \if@test
+ \xc@checkinclude#1\relax include[]\relax\relax
+ \if@test
+ \xc@checkendinput#1\relax endinputss\relax\relax
+ \fi\fi\fi\fi\fi
+ \next}
+ \gdef\xc@checkbegin#1begin[#2]#3\relax#4\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \def\@tempa{#2}%
+ \@for\@tempb:=\xc@envirlist\do{%
+ \ifx\@tempa\@tempb\def\next{\xc@end{#2}#3\@nil}\fi}%
+ \fi}
+ \gdef\xc@checkend#1end[#2]#3\relax#4\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \@testfalse
+ \def\@tempa{#2}\def\@tempb{document}%
+ \ifx\@tempa\@tempb
+ \def\next{\endgroup\end@xcomment\end{document}}%
+ \else
+ \ifx\@tempa\xc@csname
+ \def\next{\end@@xcomment{#2}#3\@nil}%
+ \fi\fi\fi}
+ \gdef\xc@checkinput#1input[#2]#3\relax#4\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \def\next{\expandafter\xcomment@\@@input #2 \xcomment@@#3\@nil}%
+ \@testfalse
+ \fi}
+ \gdef\xc@checkendinput#1endinput#2#3\relax#4\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty\ifcat\noexpand#2a\relax\else
+ \let\next\endinput
+ \fi\fi}
+ \gdef\xc@checkinclude#1include[#2]#3\relax#4\relax{%
+ \def\@tempa{#1}%
+ \ifx\@tempa\@empty
+ \def\next{%
+ \global\let\xc@savedinput\@@input
+ \def\@@input{%
+ \global\let\@@input\xc@savedinput
+ \expandafter\xcomment@\@@input}%
+ \include{#2}%
+ \global\let\@@input\xc@savedinput
+ \xcomment@@#3\@nil}%
+ \@testfalse
+ \fi}
+ \gdef\end@@xcomment#1#2\@nnil!\@nil{%
+ \endgroup
+ \toks@{#2 }\rescan{\toks@}%
+ \edef\next{\noexpand\end@xcomment\noexpand\end{#1}\the\toks@}%
+ \next}%
+ \gdef\xc@end#1#2\@nnil!\@nil{%
+ \endgroup
+ \@envirsep \let\@envirsep\envirsep
+ \toks@{#2 }\rescan{\toks@}%
+ \edef\next{\noexpand\normal@begin{#1}\the\toks@}%
+ \next}%
+ }% END OF LOWERCASE
+\endgroup
+\endinput
+%%
+%% End of file `xcomment.sty'.