summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-01-13 00:03:09 +0000
committerKarl Berry <karl@freefriends.org>2006-01-13 00:03:09 +0000
commit919e354c6de81f3d10b2f9b9fccb8bca88c2bee9 (patch)
tree9c159b07454a9ea0715493999ee2c4b87250c584
parentae93734a22bdfdde08d69ec20c7b9404d8e8dc15 (diff)
ppower4
git-svn-id: svn://tug.org/texlive/trunk@1211 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/background.sty116
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/mpmulti.sty132
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/pause.sty185
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/pp4link.sty29
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/pp4slide.sty46
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/texpause.sty40
6 files changed, 548 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/ppower4/background.sty b/Master/texmf-dist/tex/latex/ppower4/background.sty
new file mode 100644
index 00000000000..a83880837e7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ppower4/background.sty
@@ -0,0 +1,116 @@
+%% background.sty 26 Apr 2002
+%%-------------------------------------------------------------
+%% History:
+%% added options ignore and dvipdfm
+%% runs with vlatex and dvipdfm 10 Nov 2001
+%% added some macros for including things into 26 Apr 2002
+%% the background:
+%% \bgadd{...} add something to the top left corner
+%% \bgaddcenter{...} add something to the center
+%% \bgclear clear all added elements
+%% examples:
+%% \bgadd{\vspace{1cm}\hspace{2cm}\includegraphics[width=3cm]{pic.png}}
+%% \bgcenter{Centered Text}
+%%
+%%
+%% Take care: because we have to insert a pdf comment starting with
+%% the letter '%' the catcode of '%' will be changed temporarily.
+
+
+
+%% Options
+\newif\ifbackground@ignore \background@ignorefalse
+\newif\ifbackground@dvipdfm \background@dvipdfmfalse
+\newif\ifbackground@bgadd \background@bgaddfalse
+
+\DeclareOption{ignore}{\background@ignoretrue}
+\DeclareOption{dvipdfm}{\background@dvipdfmtrue}
+\DeclareOption{bgadd}{\background@bgaddtrue}
+
+\ProcessOptions
+
+
+%% requires package pause.sty
+\ifbackground@dvipdfm
+ \RequirePackage[dvipdfm]{pause}
+\else
+ \RequirePackage{pause}
+\fi
+
+
+%%
+%% background picture macros, based on a macro by
+%% Rolf Niepraschk (niepraschk@ptb.de)
+%%
+
+\ifbackground@bgadd
+ \RequirePackage{eso-pic}
+
+ \ifbackground@ignore
+ \def\bgadd#1{}
+ \def\bgaddcenter#1{}
+ \def\bgclear{}
+ \else
+ \def\bgadd#1{%
+ \AddToShipoutPicture{
+ \setlength{\unitlength}{1pt}% default
+ \put(0,\strip@pt\paperheight){%
+ \parbox[t][\paperheight]{\paperwidth}{\vspace{0pt}#1}
+ }
+ }
+ }
+
+ \def\bgaddcenter#1{%
+ \bgadd{%
+ \vfill
+ \centering#1
+ \vfill
+ }
+ }
+
+ \def\bgclear{\ClearShipoutPicture}
+ \fi
+\fi
+
+
+
+\def\hpagecolor{\@ifnextchar [{\bg@hpagecolorTwo}{\bg@hpagecolor}}%
+\def\vpagecolor{\@ifnextchar [{\bg@vpagecolorTwo}{\bg@vpagecolor}}%
+
+
+\ifbackground@ignore
+ \ifx\pagecolor\undefined
+ % a dummy definition
+ \newcommand\pagecolor[1]{}%
+ \message{Warning, pagecolor definitions ignored for non pdf processing}%
+ \fi
+ \def\bg@hpagecolorTwo[#1]#2{}%
+ \def\bg@vpagecolorTwo[#1]#2{}%
+ \def\bg@hpagecolor#1{}%
+ \def\bg@vpagecolor#1{}%
+\else
+{\catcode`\%=11\catcode`\!=14 !make '!' the comment character for now
+\gdef\pagecolor#1{\@ifundefined{\string\color @#1}!
+ {\message{pagecolor: color #1 is undefined}}!
+ { \pdfliteral{%mbackground \pppp@colortostring{#1}}}!
+ }!
+\gdef\bg@vpagecolorTwo[#1]#2{\@ifundefined{\string\color @#1}!
+ {\message{vpagestripes: color #1 is undefined}}!
+ {\@ifundefined{\string\color @#2}!
+ {\message{vpagestripes: color #2 is undefined}}!
+ {\pdfliteral{%gradbackground vt \pppp@colortostring{#1}/\pppp@colortostring{#2}}}}!
+ }!
+\gdef\bg@hpagecolorTwo[#1]#2{\@ifundefined{\string\color @#1}!
+ {\message{pagestripes: color #1 is undefined}}!
+ {\@ifundefined{\string\color @#2}!
+ {\message{pagestripes: color #2 is undefined}}!
+ {\pdfliteral{%gradbackground ht \pppp@colortostring{#1}/\pppp@colortostring{#2}}}}!
+ }!
+\gdef\bg@hpagecolor#1{\@ifundefined{\string\color @#1}!
+ {\message{hpagecolor: color #1 is undefined}}!
+ {\pdfliteral{%gradbackground ho \pppp@colortostring{#1}}}}!
+\gdef\bg@vpagecolor#1{\@ifundefined{\string\color @#1}!
+ {\message{vpagecolor: color #1 is undefined}}!
+ {\pdfliteral{%gradbackground vo \pppp@colortostring{#1}}}}!
+}%
+\fi
diff --git a/Master/texmf-dist/tex/latex/ppower4/mpmulti.sty b/Master/texmf-dist/tex/latex/ppower4/mpmulti.sty
new file mode 100644
index 00000000000..d8502e21118
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ppower4/mpmulti.sty
@@ -0,0 +1,132 @@
+%% mpmulti.sty 09 Sep 2002
+%%------------------------------------------------------------
+%% History:
+%% Initial version 14 Apr 2000
+%% Introduced keyword parameters 12 Jun 2000
+%% Introduced new parameters (start,format), changed the
+%% global code to take several file counting strings (eg
+%% bla-*.mps, foo-*.jpg, etc.), added compatibility with
+%% \graphicspath (Jean-Christophe Dubacq) 06 Dec 2001
+%% Generalized the format option, added the end
+%% handling and documented extended features in here
+%% 09 Sep 2002
+%%
+%% Purpose:
+%% include multiple metapost pictures and overlay them,
+%% inserting a transition effect between them
+%%
+%% Synopsis:
+%%
+%% \multiinclude[pause=transitioncommand,
+%% graphics={option for includegraphics},
+%% format=filenameformat,
+%% start=number,
+%% end=number]{basefilename}
+%%
+%% Include all metapost generated graphics found in
+%% files with the basename "filename", which
+%% have a number attached or in the extension.
+%% Insert the transitioncommand between the files (defaults
+%% to \pause).
+%% Further options allow to specify additional specifications
+%% for includegraphics, can change the number to start with
+%% (default 0) or the number to end with (default 1000000).
+%% By default the filenames are as created by mpost in the format
+%% "filename.n", where "n" represents the number.
+%% The option format with the values like "mps", "png" or "jpg" this
+%% can be changed to "filename-n.format", e.g. "example-0.mps"
+%% instead of "example.0".
+%% Complaints are only written, if the first file is not found.
+%% Otherwise including will silently stop.
+%%
+%% Requires:
+%% pause.sty for definitions of transition commands.
+%% The keyval package for options processing.
+%%
+%%
+\RequirePackage{pause}
+\RequirePackage{keyval}
+%%
+%% The command should process the optional arguments.
+%%
+\def\multiinclude{%
+ \@ifnextchar [\@mpmulti{\@mpmulti[]}}
+%%
+\newif\if@mpm@groptions\@mpm@groptionsfalse
+%% We describe the keys and their default values
+\define@key{mpm}{format}[\@mpm@defaultformat]{%
+ \global\def\@mpm@format##1{##1-\the\@mpm@count.#1}}
+\define@key{mpm}{start}[0]{\global\def\@mpm@start{#1}\relax}
+\define@key{mpm}{end}[1000000]{\global\def\@mpm@end{#1}\relax}
+\define@key{mpm}{pause}[\pause]{\global\def\@mpm@pause{#1}\relax}
+\define@key{mpm}{graphics}{\@mpm@groptionstrue
+ \global\def\@mpm@graphics{\string#1}}
+\def\@mpm@defaultformat#1{#1.\the\@mpm@count}
+\let\@mpm@format=\@mpm@defaultformat
+%%
+%% We need a local counter
+%%
+\newcount\@mpm@count
+%%
+%% Implement the basic functionality.
+%% Try to include the first file unconditionally.
+%% This will produce an error message, if no such file can be found.
+%% Afterwards we are going to check for more files and stop, when we
+%% do not find another file. As long as we find files, these are
+%% overlapped to the previous parts.
+%%
+\def\@mpmulti[#1]#2{%
+ %% reset the options
+ \def\@mpm@pause{\pause}%
+ \global\def\@mpm@graphics{}%
+ \global\def\@mpm@start{0}%
+ \global\def\@mpm@end{1000000}%
+ %% get the arguments
+ \setkeys{mpm}{#1}%
+ %% Insert the first part of the figure
+ %% and make sure we look also in other places according to path.
+ \let\@mpm@oldinp@th\input@path\let\input@path\Ginput@path
+ \@mpm@count=\@mpm@start
+ \if@mpm@groptions
+ \edef\@mpm@do@include{\noexpand\includegraphics[\@mpm@graphics]{\@mpm@format{#2}}}%
+ \@mpm@do@include
+ \else
+ \includegraphics{\@mpm@format{#2}}%
+ \fi
+ \def\@mpmdoit{% Do it by conditional tail recursion.
+ %% Select the next filename and advance counter
+ \edef\@mpmfilename{\@mpm@format{#2}}%
+ %% If the file exists,
+ \IfFileExists{\@mpmfilename}{%
+ %% insert the user defined transition (or the default),
+ \@mpm@pause
+ %% then process the next part and set up to try again.
+ \llap{\if@mpm@groptions
+ \edef\@mpm@do@include{\noexpand
+ \includegraphics[\@mpm@graphics]{\@mpmfilename}}%
+ \@mpm@do@include
+ \else
+ \includegraphics{\@mpmfilename}%
+ \fi}%
+ \ifnum\@mpm@count<\@mpm@end\relax
+ \advance\@mpm@count by 1\relax
+ \let\@mpmnext\@mpmdoit
+ \else
+ \let\@mpmnext\relax
+ \fi
+ }{%
+ %% If no more files exist, set up to stop.
+ \let\@mpmnext\relax
+ }%
+ %% Whatever we had to do (without nesting all the IfFileExists)
+ \@mpmnext
+ }%
+ %% Finally we must start it once, if there is more than one file
+ %% supposed to be available.
+ \ifnum\@mpm@count<\@mpm@end\relax
+ \advance\@mpm@count by 1\relax % start counting
+ \@mpmdoit % and run the show
+ \fi
+ %% and reset the input path after all
+ \let\input@path\@mpm@oldinp@th
+}%
diff --git a/Master/texmf-dist/tex/latex/ppower4/pause.sty b/Master/texmf-dist/tex/latex/ppower4/pause.sty
new file mode 100644
index 00000000000..3f31153ac55
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ppower4/pause.sty
@@ -0,0 +1,185 @@
+%% pause.sty 18 Jun 2002
+%%-----------------------------------------------------------
+%% History:
+%% The initial version was created 11 Jun 1999
+%% Updated to allow options 10 Mar 2000
+%% Restructured after tests 03 Apr 2000
+%% Added procesing for random builds 07 May 2000
+%% Supply test for new enough pdftex 09 May 2000
+%% No need for pdftex 14 any more 31 May 2000
+%% Added commands for highligthing etc. 12 Jun 2000
+%% Added options ignore, nomarkers and dvipdfm
+%% runs with vlatex and dvipdfm 10 Nov 2001
+%% Update comment section 13 Jun 2002
+%% Make catcodes safe for pdfliteral 18 Jun 2002
+%%
+%% Because we need a color definition this can be used
+%% primarily with LaTeX. Thus we can also rely on \@ifnextchar
+%% and LaTeX option processing.
+%%
+%% insert small colored chunks to mark spots in the pdf file,
+%% where a break should be made during display.
+%% This method needs postprocessing by another program.
+%% But one can preview the formatted text, where stops are indicated
+%% as small colored chunks. These will vanish during postprocessing.
+%%
+%% Take care: because we have to insert pdf comments starting with
+%% the letter '%' the catcode of '%' will be changed temporarily.
+
+%% must define all optional variants to support creating a file
+%% without pdf elements
+
+
+%% Options
+\newif\ifpause@ignore \pause@ignorefalse
+\newif\ifpause@nomarkers \pause@nomarkersfalse
+\newif\ifpause@dvipdfm \pause@dvipdfmfalse
+
+\DeclareOption{ignore}{\pause@ignoretrue}
+\DeclareOption{nomarkers}{\pause@nomarkerstrue}
+\DeclareOption{dvipdfm}{\pause@dvipdfmtrue}
+
+\ProcessOptions
+
+
+%% warning if ignore and nomarkers
+\ifpause@ignore
+ \ifpause@nomarkers
+ \message{Warning, options ignore and nomarkers used together}
+ \fi
+\fi
+
+%% We need to make sure that , and : are not active characters while
+%% we read these macro definitions.
+%% Save their current catcode settings now and restore them at the end
+\def\pppp@x#1{\catcode`\noexpand#1=\the\catcode`#1\relax}%
+\xdef\pppp@restoreCatcodes{\relax
+ \pppp@x\:\relax
+ \pppp@x\,\relax
+}
+\catcode`\,=12\relax
+\catcode`\:=12\relax
+
+\def\pauseDissolve{\pause[trans='Dissolve']}
+\def\pauseReplace{\pause[trans='Replace']}
+\def\pauseHBlinds{\pause[trans='Blinds,H']}
+\def\pauseVBlinds{\pause[trans='Blinds,V']}
+\def\pauseHOSplit{\pause[trans='Split,H,O']}
+\def\pauseHISplit{\pause[trans='Split,H,I']}
+\def\pauseVOSplit{\pause[trans='Split,V,O']}
+\def\pauseVISplit{\pause[trans='Split,V,I']}
+\def\pauseOBox{\pause[trans='Box,O']}
+\def\pauseIBox{\pause[trans='Box,I']}
+\def\pauseWipe#1{\pause[trans='Wipe,#1']}
+\def\pauseGlitter#1{\pause[trans='Glitter,#1']}
+\def\pause{\@ifnextchar [{\pppp@pause}{\pppp@pause[]}}
+
+
+
+%% dvipdfm support
+\ifpause@dvipdfm
+ {\catcode`\^^M=12
+ \gdef\pdfliteral#1{\special{pdf: content
+ #1
+ }}}
+
+ \message{Using color settings for dvipdfm}
+
+ \RequirePackage[dvipdfm]{color}
+
+ %% This is for the support of the dvipdfm color philosophy
+ \def\pppp@gettail #1 #2:{#2}
+ \def\pppp@gethead #1 #2:{#1}
+ \def\pppp@tail #1{\expandafter\pppp@gettail #1:}
+ \def\pppp@tailtail #1{\expandafter\pppp@gettail\pppp@gettail #1::}
+ \def\pppp@head #1{\expandafter\pppp@gethead #1:}
+ \def\pppp@removebrackets[#1]{#1}
+
+
+ % maps dvipdfm color arguments to pdf color commands
+ \def\pppp@dvipdfmmap #1{\expandafter\pppp@grayorother#1:}
+ \def\pppp@dvipdfmmapper#1{\csname dvipdfmmapel@#1\endcsname}
+ \def\pppp@dvipdfmmapvalue#1{\expandafter\def\csname dvipdfmmapel@#1\endcsname}
+
+ \def\pppp@grayorother#1#2:{\pppp@dvipdfmmapper{#1}[#1#2]}
+ \def\pppp@rgborcmyk #1 #2 #3 #4 #5 #6:{\pppp@dvipdfmmapper{#6}[#2 #3 #4 #5]}
+
+ % for the latest dvipdfm.def-File
+ \pppp@dvipdfmmapvalue{c}[#1]{\pppp@tail{#1} k \pppp@tail{#1} K}
+ \pppp@dvipdfmmapvalue{r}[#1]{\pppp@tail{#1} rg \pppp@tail{#1} RG}
+ \pppp@dvipdfmmapvalue{g}[#1]{\pppp@tail{#1} g \pppp@tail{#1} G}
+
+ % for dvipdfm.def with bg-error
+ \pppp@dvipdfmmapvalue{b}[#1]{\pppp@tail{#1} g \pppp@tail{#1} G}
+
+ % support of the older format ([...],...)
+ \pppp@dvipdfmmapvalue{0}[#1]{#1 g #1 G}
+ \pppp@dvipdfmmapvalue{1}[#1]{#1 g #1 G}
+ \pppp@dvipdfmmapvalue{[}[#1]{\expandafter\pppp@removebrackets[\expandafter\pppp@rgborcmyk #1 :}
+ \pppp@dvipdfmmapvalue{}[#1]{#1rg #1RG}
+ \pppp@dvipdfmmapvalue{ }[#1]{#1 k #1 K}
+
+ \def\pppp@colortostring #1{\expandafter\pppp@dvipdfmmap\csname\string\color@#1\endcsname}
+\else
+ \RequirePackage{color}
+ \def\pppp@colortostring #1{\csname\string\color@#1\endcsname}
+\fi
+
+
+\definecolor{pp4red}{rgb}{0.9,0.5,0}
+
+%% We need to make sure that our argument parameters do not contain
+%% active characters when we are called. This means we better set the
+%% catcodes for some common delimiters in our arguments. Let's hope
+%% that nobody is going to change the letters and digits, too.
+\gdef\pppp@catcodes{%
+ \catcode`\+12\relax
+ \catcode`\-12\relax
+ \catcode`\:12\relax
+ \catcode`\=12\relax
+ }
+%% now we need a section where % can be written to pdf files.
+%% thus make ! a comment character
+{\catcode`\%=11\catcode`\!=14
+\gdef\pppp@marker#1{!
+ \ifpause@ignore
+ \relax
+ \else
+ \pdfliteral{%pause}!
+ \ifpause@nomarkers
+ \relax
+ \else
+ \color{pp4red}\vrule width 2truemm height 5truemm\hss ! the marker
+ \fi
+ \pdfliteral{%esuap #1}!
+ \fi}
+ \gdef\pppp@pause[#1]{!
+ \ifvmode
+ \vbox to 0pt{\vss\hsize0pt\noindent\hbox to 0pt{\pppp@marker{#1}}}\else!hmode or mmode
+ \null\hbox to 0pt{\pppp@marker{#1}}\null!
+ !\null\hbox to 0pt{\pppp@marker{#1}}\null
+ \fi}
+
+
+ \ifpause@ignore
+ !! define dummies, if \pause should be ignored
+ \gdef\pauselevel#1{\relax}!
+ \gdef\pausecolors#1#2#3{}!
+ \gdef\pausecolorreset{\relax}
+ \gdef\pausebuild{\relax}
+ \gdef\pausehighlight{\relax}
+ \else
+ \gdef\pauselevel{\bgroup\pppp@catcodes\pppp@pauselevel}!
+ \gdef\pppp@pauselevel#1{\pdfliteral{%pauselevel #1}\egroup}!
+ \gdef\pausecolors#1#2#3{!
+ \pdfliteral{%pausecolor \pppp@colortostring{#1}\space \pppp@colortostring{#2}\space \pppp@colortostring{#3}}}!
+ \gdef\pausecolorreset{!
+ \pdfliteral{%pausecolor reset}}!
+ \gdef\pausebuild{!
+ \pdfliteral{%pausecolor appear}}!
+ \gdef\pausehighlight{!
+ \pdfliteral{%pausecolor highlight}}!
+ \fi
+}
+
+\pppp@restoreCatcodes
diff --git a/Master/texmf-dist/tex/latex/ppower4/pp4link.sty b/Master/texmf-dist/tex/latex/ppower4/pp4link.sty
new file mode 100644
index 00000000000..91aa8ef9a8b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ppower4/pp4link.sty
@@ -0,0 +1,29 @@
+%% pp4link.sty 18 Jun 2000
+%%----------------------------------------------------------
+%% History:
+%% initial version 05 May 2000
+%% updated to insert an anchor unconditionally 18 Jun 2000
+%%
+%% Make links to the first part of a built sequence of slides prepared
+%% with PPower4.
+%%
+%% Usage:
+%% Mark the target page with \toptarget{label}
+%%
+%% Install a hyperlink to it with \toplink{label}{text}
+%% "text" will be the active link to the target page.
+%%
+%% Notes:
+%% 1. "label" may consist only of letters, not digits or special
+%% characters.
+%% 2. You will need two runs of (pdf)LaTeX on your file.
+%% 3. The link will only be working after postprocessing with PPower4
+%%
+\RequirePackage{hyperref}
+\def\toplink#1#2{%
+ \csname pppplink@#1\endcsname{#2}%
+}
+\def\toptarget#1{%
+ \hypertarget{first.\arabic{page}}{}%
+ \protected@write\@auxout{}%
+ {\gdef\string\pppplink@#1{\string\hyperlink{first.\arabic{page}}}}}
diff --git a/Master/texmf-dist/tex/latex/ppower4/pp4slide.sty b/Master/texmf-dist/tex/latex/ppower4/pp4slide.sty
new file mode 100644
index 00000000000..3dd58826c8a
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ppower4/pp4slide.sty
@@ -0,0 +1,46 @@
+%% pp4slide.sty 10 Feb 2000
+%%------------------------------------------------------------
+%% initally named pdfslide.sty on 30 Aug 99
+%% renamed to avoid conflict with other package.
+%%
+%% Adapt foiltex to be used to prepare slides in pdf format
+%% using backgrounds and partial builds.
+%%
+%% Disable some pdf commands, when not used in pdf(la)tex.
+%%
+%% Special (PDF) effects:
+%% - make background blue, write normally in white and
+%% headings in yellow.
+%% - use colorful labels in itemized lists.
+%% - avoid footline usage, because that would interfere with
+%% partial builds of a page. Move the page number to the
+%% upper right corner. This means also suppression of Logo
+%% etc.
+%% - make sure that links are displayed in text color, not
+%% with frames.
+%% - Do not use paragraph indentation and justified text on
+%% slides (shouldn't that be the default?)
+\rightfooter{} % no more page numbers bottom right
+\MyLogo{} % no logo bottom left
+\rightheader{\rlap{\quad\textsf{\tiny\thepage}}} % page number
+\parindent 0pt % do not indent paragraphs
+\rightskip 0pt plus 1fil % allow ragged right
+%% select colors
+\RequirePackage{color}
+%% for the frames/page numbers etc.
+\renewcommand\Black{\color{white}}
+%% for the headline etc.
+\renewcommand\normalcolor{\color{yellow}}
+%% for the background
+\pagecolor{blue}
+%% for the text
+\color{white}
+%% choose some colored item labels
+\renewcommand{\labelitemi}{\textcolor{red}{$\bullet$}}
+\renewcommand{\labelitemii}{\textcolor{yellow}{$\star$}}
+\renewcommand{\labelitemiii}{\textcolor{magenta}{$\ast$}}
+\renewcommand{\labelitemiv}{\textcolor{cyan}{$\circ$}}
+% Make hyperlinks colored, not framed, if hypersetup is used
+\ifx\hypersetup\undefined\relax\else
+\hypersetup{colorlinks=true}
+\fi
diff --git a/Master/texmf-dist/tex/latex/ppower4/texpause.sty b/Master/texmf-dist/tex/latex/ppower4/texpause.sty
new file mode 100644
index 00000000000..2608258bda7
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/ppower4/texpause.sty
@@ -0,0 +1,40 @@
+%% texpause.sty Version 1.2 10 Feb 2000
+%%---------------------------------------------------------------
+%% This is a quick hack to enable repeated pages with incremental
+%% contents e.g. for displaying slides uncovering step by step.
+%%
+%% The initial version (numbered 1.0) was written 07 May 99.
+%% Version 1.1 was created 25 May 99 and fixed a naming problem.
+%% Version 1.2 removed test for \pdfoutput on 10 Feb 2000
+%%
+%% Possible extensions: make the page numbering optional (maybe using
+%% subnumbering)
+%% Make action optional (for printed versions via pdf).
+%%
+%% Plan of attack (should work with TeX and LaTeX):
+%% - Get some ressources, i.e. one counter, one token register and one
+%% box.
+%% - When activated save the current page count in the counter and the
+%% output routine in the token register.
+%% - Setup a new output routine, which saves away a copy of the
+%% current page.
+%% - Trigger this output routine to save the cumulated page contents.
+%% - Restore the former output routine and run it with the restored
+%% saved contents.
+%% - Reset the page count and reinsert the contents once again,
+%% removing the last glue item on the page.
+%%
+\newbox\p@uses@vebox
+\newtoks\p@uses@veoutput
+\newcount\p@uses@vepage
+\def\pause{\global\p@uses@vepage=\count0\relax %save pagenumber
+ \p@uses@veoutput=\output % make backup copy of output routine
+ \output={\global\setbox\p@uses@vebox=\box255}% copy current contents
+ % only, when triggered
+ \vfill\eject %trigger now
+ \output=\p@uses@veoutput % restore output routine
+ \unvcopy\p@uses@vebox % insert contents
+ \eject % now really show the output
+ \global\count0=\p@uses@vepage\relax %restore page number
+ \unvbox\p@uses@vebox\vskip-\lastskip % and insert again for next turn
+}%