summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/ppower4/pause.sty
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 /Master/texmf-dist/tex/latex/ppower4/pause.sty
parentae93734a22bdfdde08d69ec20c7b9404d8e8dc15 (diff)
ppower4
git-svn-id: svn://tug.org/texlive/trunk@1211 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/ppower4/pause.sty')
-rw-r--r--Master/texmf-dist/tex/latex/ppower4/pause.sty185
1 files changed, 185 insertions, 0 deletions
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