diff options
author | Karl Berry <karl@freefriends.org> | 2006-01-13 00:03:09 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-01-13 00:03:09 +0000 |
commit | 919e354c6de81f3d10b2f9b9fccb8bca88c2bee9 (patch) | |
tree | 9c159b07454a9ea0715493999ee2c4b87250c584 /Master/texmf-dist/tex/latex/ppower4/pause.sty | |
parent | ae93734a22bdfdde08d69ec20c7b9404d8e8dc15 (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.sty | 185 |
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 |