diff options
author | Karl Berry <karl@freefriends.org> | 2006-08-14 16:28:59 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2006-08-14 16:28:59 +0000 |
commit | 82e9c45dca3f9b792cb960377e48f2cc105ff115 (patch) | |
tree | ee2cdcc672555d318c7cc437b67da660ee47e121 /Master/texmf-dist/tex/latex/vpe/vpe.sty | |
parent | 4b18eaacda17a1d6c4d72b81acf078708905f089 (diff) |
new package vpe for pdf source specials
git-svn-id: svn://tug.org/texlive/trunk@1952 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/vpe/vpe.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/vpe/vpe.sty | 820 |
1 files changed, 820 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/vpe/vpe.sty b/Master/texmf-dist/tex/latex/vpe/vpe.sty new file mode 100644 index 00000000000..0271ce64df6 --- /dev/null +++ b/Master/texmf-dist/tex/latex/vpe/vpe.sty @@ -0,0 +1,820 @@ +% File: vpe.sty +% Project: vpe +% Version: 2000/09/15 v0.1 +% Author: Heiko Oberdiek +% +% Function: Source specials for pdf files. +% +% Copyright: Copyright (C) 2000 Heiko Oberdiek. +% +% This program may be distributed and/or modified under +% the conditions of the LaTeX Project Public License, +% either version 1.2 of this license or (at your option) +% any later version. The latest version of this license +% is in +% http://www.latex-project.org/lppl.txt +% and version 1.2 or later is part of all distributions +% of LaTeX version 1999/12/01 or later. +% +% See file `vpe.txt' for a list of files that +% belong to this project. +% +% Requirement: * Linux/Unix or Windows/Dos +% * enabled \write18 feature. +% * LaTeX2e +% +% Use: * \usepackage{vpe} +% See file `vpe.txt' for further documentation. +% +% History: 2000/09/15 v0.1: first public release +% +% \vpe@ is the prefix for internal command names. +% +\NeedsTeXFormat{LaTeX2e} +\ProvidesPackage{vpe}% +[2000/09/15 v0.1 Source specials for pdf files (HO)] + +\RequirePackage{keyval} + +%*** options + +%*** active/inactive +\DeclareOption{active}{\vpe@oktrue} +\DeclareOption{inactive}{\vpe@okfalse} +\newif\ifvpe@ok +\vpe@oktrue + +%*** dupes +\DeclareOption{dupes}{\vpe@dupestrue} +\DeclareOption{nodupes}{\vpe@dupesfalse} +\newif\ifvpe@dupes +\vpe@dupestrue + +%*** form, revert, acroform +\DeclareOption{form}{\vpe@formtrue} +\DeclareOption{noform}{\vpe@formfalse} +\newif\ifvpe@form +\vpe@formfalse +\DeclareOption{acroform}{\vpe@acroformtrue} +\DeclareOption{noacroform}{\vpe@acroformfalse} +\newif\ifvpe@acroform +\vpe@acroformtrue + +%*** debug +\DeclareOption{debug}{% + \def\vpe@debug#1{\typeout{*** #1 ***}}% +} +\let\vpe@debug\@gobble + +%*** system +\DeclareOption{linux}{\def\vpe@system{linux}} +\DeclareOption{unix}{\def\vpe@system{linux}} +\DeclareOption{win}{\def\vpe@system{win}} +\DeclareOption{dos}{\def\vpe@system{win}} +\let\vpe@system\@empty + + +%*** driver specific options +\DeclareOption{pdftex}{\let\vpe@annot\vpe@annotpdftex} +\DeclareOption{dvips}{\let\vpe@annot\vpe@annotdvips} +\DeclareOption{ps2pdf}{\let\vpe@annot\vpe@annotdvips} +\DeclareOption{pdfmark}{\let\vpe@annot\vpe@annotdvips} +\def\vpe@annotpdftex#1{\pdfannot\vpe@rule{#1}} +\def\vpe@dvips@pdfmark#1{\special{ps:SDict begin[#1 pdfmark end}} +\def\vpe@annotdvips#1{% + \vpe@dvips@pdfmark{% + /Rect[% + currentpoint + exch 1 72 div Resolution mul sub + exch \vpe@depth\space 1 add 72 div Resolution mul add + currentpoint + exch \vpe@width\space 1 add 72 div Resolution mul add + exch \vpe@height\space 1 add 72 div Resolution mul sub% + ]% + #1% + /ANN% + }% +} +\let\vpe@annot\vpe@annotdvips + + +\DeclareOption{everyhbox}{\vpe@everyhboxtrue} +\DeclareOption{noeveryhbox}{\vpe@everyhboxfalse} +\newif\ifvpe@everyhbox + +%*** disable options +\DeclareOption*{% + \expandafter\let\csname vpeorg@\expandafter + \@gobbletwo\CurrentOption\@empty\@empty\endcsname \@empty% +} + +%*** keyval options +\def\vpe@revert#1#2{% + \expandafter\ifx\csname vpe@#1\endcsname\relax + \else + \csname vpe@#1% + \@gobble\iftrue\csname if#1\endcsname + false% + \else + true% + \fi + \endcsname + \fi +} + +\define@key{vpe}{active}[true]{\csname vpe@ok#1\endcsname} +\define@key{vpe}{inactive}[true]{\vpe@revert{ok}{#1}} +\define@key{vpe}{dupes}[true]{\csname vpe@dupes#1\endcsname} +\define@key{vpe}{nodupes}[true]{\vpe@revert{dupes}{#1}} +\define@key{vpe}{form}[true]{\csname vpe@form#1\endcsname} +\define@key{vpe}{noform}[true]{\vpe@revert{form}{#1}} +\define@key{vpe}{acroform}[true]{\csname vpe@acroform#1\endcsname} +\define@key{vpe}{noacroform}[true]{\vpe@revert{acroform}{#1}} +\define@key{vpe}{command}{\def\vpe@command{#1}} +\define@key{vpe}{system}{\def\vpe@system{#1}} +\define@key{vpe}{width}{\def\vpe@width{#1}} +\define@key{vpe}{height}{\def\vpe@height{#1}} +\define@key{vpe}{depth}{\def\vpe@depth{#1}} +\define@key{vpe}{color}{\def\vpe@color{#1}} +\define@key{vpe}{border}{\def\vpe@border{#1}} +\define@key{vpe}{flag}{\def\vpe@flag{#1}} +\define@key{vpe}{attr}{\def\vpe@attr{#1}} +\define@key{vpe}{application}{\def\vpe@application{#1}} +\define@key{vpe}{parameters}{\def\vpe@parameters{#1}} +\define@key{vpe}{progname}{\def\vpe@progname{#1}} +\define@key{vpe}{everyhbox}[true]{\csname vpe@everyhbox#1\endcsname} +\def\vpesetup{\setkeys{vpe}} +\def\vpe@command{vpe} +\def\vpe@width{12} +\def\vpe@height{12} +\def\vpe@depth{2} +\def\vpe@border{0 0 1} +\def\vpe@color{1 1 0} +\def\vpe@flag{0}% 8 = not zoomed, 16 = not rotated +\let\vpe@attr\@empty +\def\vpe@application{pfe.exe} +\def\vpe@parameters{-g $d $s} +\newif\ifvpe@pdftex +\ifx\eTeXversion\@undefined + \def\vpe@progname{latex} +\else + \def\vpe@progname{elatex} +\fi +\ifx\pdfoutput\@undefined +\else + \ifx\pdfoutput\relax + \else + \ifcase\pdfoutput + \else + \let\vpe@annot\vpe@annotpdftex + \vpe@pdftextrue + \ifx\eTeXversion\@undefined + \def\vpe@progname{pdflatex}% + \else + \def\vpe@progname{pdfelatex}% + \fi + \fi + \fi +\fi + +%*** option processing + +\InputIfFileExists{vpe.cfg}{}{} + +\ProcessOptions + +%*** help file +% File for read informations of commands +% launched by \write18: +\newread\vpe@read +\immediate\openout\vpe@read=\jobname.vpe +\immediate\closeout\vpe@read +\openin\vpe@read=\jobname.vpe + +%*** get system info +\ifx\vpe@system\@empty + \immediate\write18{\vpe@command\space -system \jobname.vpe} + \def\vpesystem#1{\gdef\vpe@system{#1}}% + \begingroup + \endlinechar-1 % + \read\vpe@read to \vpe@temp + \vpe@temp + \endgroup + \ifx\vpe@system\@empty + \PackageWarningNoLine{vpe}{% + Option \string`system\string' is not specified and\MessageBreak + the automatic detection failed,\MessageBreak + therefore package loading is aborted% + }% + \closein\vpe@read + \let\VPE\relax + \expandafter\expandafter\expandafter\endinput + \fi +\fi +\let\vpesystem\@gobble + +\newif\ifvpe@linux +\def\vpe@temp{linux} +\ifx\vpe@system\vpe@temp + \vpe@linuxtrue +\else + \def\vpe@temp{win} + \ifx\vpe@system\vpe@temp + \else + \PackageWarningNoLine{vpe}{% + Unknown value `\vpe@system' of option \string`system\string',% + \MessageBreak + therfore package loading is aborted% + }% + \closein\vpe@read + \let\VPE\relax + \expandafter\expandafter\expandafter\endinput + \fi +\fi + +%*** /AcroForm in the catalog for `revert' menu item of AR4.05 +\ifvpe@acroform + \ifvpe@pdftex + \AtEndDocument{% + \@ifundefined{SubmitObject}{% + \pdfcatalog{/AcroForm<</Fields[]/NeedAppearances true>>}% + }{% + % /AcroForm already set by hyperref's pdftex driver + }% + }% + \else + \vpe@dvips@pdfmark{% + \string{Catalog\string}% + <</AcroForm<</Fields[]/NeedAppearances true>>>>% + /PUT% + }% + \fi +\fi + +%*** form variant + +% definition without form: +\def\vpe@insertmark{% + \vpe@annot{% + /Subtype/Link% + \ifx\vpe@border\vpe@borderdefault + \else + /Border[\vpe@border]% + \fi + \ifx\vpe@color\vpe@colordefault + \else + /C[\vpe@color]% + \fi + \ifnum\vpe@flag=0 + \else + /F \vpe@flag + \fi + /A<<% + /Type/Action% + /S/Launch% + \ifvpe@linux + /F(\vpe@temp\vpe@removeslash\vpe@peekfile.vpe)% + \else + /Win<<% + /F(\vpe@application)% + /P(\vpe@temp)% + >>% + \fi + >>% + \vpe@attr + }% +}% + +\ifvpe@form + \ifvpe@pdftex + + \RequirePackage[pdftex]{color} + \RequirePackage{pifont} + + \newcount\vpe@count + \vpe@count0 + + \setbox\@tempboxa=\hbox{% + \color{yellow}% + \raisebox{-.4\totalheight}{% + \ding{56}% + }% + } + \edef\vpe@mark@width{\the\wd\@tempboxa} + \edef\vpe@mark@height{\the\ht\@tempboxa} + \edef\vpe@mark@depth{\the\dp\@tempboxa} + \immediate\pdfxform\@tempboxa + \edef\vpe@mark@objN{ \the\pdflastxform\space 0 R} + \setbox\@tempboxa=\hbox{% + \colorbox{yellow}{% + \color{black}% + \ding{56}% + }% + } + \immediate\pdfxform\@tempboxa + \edef\vpe@mark@objD{ \the\pdflastxform\space 0 R} + + \def\vpe@insertmark{% + \global\advance\vpe@count1 % + \begingroup + \setbox\@tempboxa\hbox{% + \normalfont + \kern\vpe@mark@width + \scriptsize\ttfamily + \setlength{\fboxsep}{0.5ex}% + \colorbox{yellow}{% + \color{black}% + \space\vpe@peekfile, \vpe@line + }% + }% + \dimen@\ht\@tempboxa + \advance\dimen@-\vpe@mark@height + \advance\dimen@-\vpe@mark@depth + \edef\vpe@temp{% + width\the\wd\@tempboxa + height\the\dimen@ + }% + \dimen@\dp\@tempboxa + \advance\dimen@\vpe@mark@height + \advance\dimen@\vpe@mark@depth + \edef\vpe@temp{% + \vpe@temp + depth\the\dimen@ + }% + \immediate\pdfxform\@tempboxa + \pdfannot\vpe@temp{% + /Subtype/Widget% + /FT/Btn% + /Ff 65537% readonly (bit 1) + checkbox button (bit 17) + /T(v\the\vpe@count)% + /AS/X% + /AP<</N<</F \the\pdflastxform\space 0 R>>>>% + }% + \endgroup + \pdfannot width\vpe@mark@width + height\vpe@mark@height + depth\vpe@mark@depth{% + /Subtype/Widget% + /FT/Btn% + /Ff 65536% + /T(m\the\vpe@count)% + /H/P% + /AP<</N\vpe@mark@objN/D\vpe@mark@objD>>% + /AA<<% + /E<<% + /Type/Action% + /S/SetState% + /T(v\the\vpe@count)% + /AS/F% + >>% + /X<<% + /Type/Action% + /S/SetState% + /T(v\the\vpe@count)% + /AS/X% + >>% + >>% + /A<<% + /Type/Action% + /S/Launch% + \ifvpe@linux + /F(\vpe@temp\vpe@removeslash\vpe@peekfile.vpe)% + \else + /Win<<% + /F(\vpe@application)% + /P(\vpe@temp)% + >>% + \fi + >>% + \vpe@attr + }% + }% + \fi +\fi +\let\vpe@formtrue\relax +\let\vpe@formfalse\relax + +%*** src marker + +\def\vpe@src{\vpe@special{\the\inputlineno}} +\def\vpe@src@sphack{\vpe@special@sphack{\the\inputlineno}} +\def\vpe@srcfirst{\vpe@special1} +\def\vpe@srclast{\vpe@special\vpe@peeklast} + +\let\VPE\vpe@src + +\newif\ifvpe@document +\AtBeginDocument{% + \vpe@documenttrue + \vpe@src +} + +\def\vpe@special{% + \ifcase + \ifvpe@ok + \ifvpe@document + \ifnum\lastpenalty=\z@ + \ifdim\lastskip=\z@ + \else 1% + \fi + \else 1% + \fi + \else 1% + \fi + \else 1% + \fi + 0 % + \expandafter\vpe@@special + \else + \expandafter\@gobble + \fi +} +\def\vpe@special@sphack{% + \ifcase + \ifvpe@ok + \ifvpe@document + \ifhmode + \else 1% + \fi + \else 1% + \fi + \else 1% + \fi + 0 % + \expandafter\vpe@@special + \else + \expandafter\@gobble + \fi +} +\let\vpe@lastspecial\@empty +\def\vpe@@special#1{% + \begingroup + \vpe@okfalse % prevent nesting + \let\vpe@temp\vpe@lastspecial + \xdef\vpe@lastspecial{#1 \vpe@peekfile}% + \ifvpe@dupes + \vpe@@@special{#1}% + \else + \ifx\vpe@temp\vpe@lastspecial + \else + \vpe@@@special{#1}% + \fi + \fi + \endgroup +} +\def\vpe@@@special#1{% + \count@=#1\relax + \ifnum\count@<1 \count@=1 \fi + \edef\vpe@line{\the\count@}% + \ifvpe@linux + \let\vpe@temp\@empty + \expandafter\vpe@scan\the\count@\@nil + \vpe@debug{SRC: \vpe@peekfile, \vpe@line\space(\vpe@temp)}% + \else + \let\vpe@temp\vpe@parameters + \expandafter\vpe@setline\vpe@temp$d\@nil{\the\count@}% + \expandafter\vpe@setfile\vpe@temp$s\@nil\vpe@peekfile + \vpe@debug{SRC: \vpe@peekfile, \vpe@line}% + \fi + \vpe@insertmark +} + +\def\vpe@rule{% + width\vpe@width bp height\vpe@height bp depth\vpe@depth bp% +} +\def\vpe@borderdefault{0 0 1} +\def\vpe@colordefault{0 0 0} +\def\vpe@scan#1#2\@nil{% + \count@=#1\relax + \ifnum\count@>\ifx\vpe@temp\@empty 5 \else 4 \fi + \advance\count@ by -5 + \def\p{.}% + \else + \let\p\@empty + \fi + \@whilenum\count@>0 \do{% + \advance\count@ by -1 + \edef\vpe@temp{\vpe@temp/}% + }% + \edef\vpe@temp{\vpe@temp\p./}% + \ifx\\#2\\% + \else + \@ReturnAfterFi{% + \vpe@scan#2\@nil + }% + \fi +} +\long\def\@ReturnAfterFi#1\fi{\fi#1} + +\def\vpe@removeslash#1{% + \if/#1% + \else + #1% + \fi +} + +\def\vpe@setline#1$d#2\@nil#3{% + \ifx\limits#2\limits + \else + \edef\vpe@temp{#1#3\vpe@remline#2\@nil}% + \fi +} +\def\vpe@remline#1$d\@nil{#1} +\def\vpe@setfile#1$s#2\@nil#3{% + \ifx\limits#2\limits + \else + \def\vpe@temp{#1#3\vpe@remfile#2\@nil}% + \fi +} +\def\vpe@remfile#1$s\@nil{#1} + +%*** def check +\def\vpe@redef#1{% + \expandafter\ifx\csname vpeorg@#1\endcsname\@empty + \begingroup + \let\on@line\@empty + \PackageInfo{vpe}{src marker in % + \expandafter\string\csname #1\endcsname\space + disabled% + }% + \endgroup + \expandafter\@gobble + \else + \expandafter\let + \csname vpeorg@#1\expandafter\endcsname + \csname #1\endcsname + \expandafter\@firstofone + \fi +} +% #1: active character or special case (eg: ~, \\) +% #2: string for command names (eg: TILDE, NL) +\def\vpe@redefspecial#1#2{% + \expandafter\ifx\csname vpeorg@#2\endcsname\@empty + \begingroup + \let\on@line\@empty + \PackageInfo{vpe}{src marker in \string#1 disabled}% + \endgroup + \expandafter\@gobble + \else + \expandafter\let\csname vpeorg@#2\endcsname#1% + \expandafter\@firstofone + \fi +} +\def\vpe@check#1{% + \expandafter\ifx\csname vpeorg@#1\endcsname\@empty + \begingroup + \let\on@line\@empty + \PackageInfo{vpe}{src marker in % + \expandafter\string\csname #1\endcsname\space + disabled% + }% + \endgroup + \expandafter\@gobble + \else + \expandafter\@firstofone + \fi +} + +%*** file name stack +\newcount\vpe@sp % stack pointer +\global\vpe@sp=0 + +\newif\ifvpe@stack +\vpe@stacktrue +\AtEndDocument{\global\vpe@stackfalse} + +\def\vpe@push#1{% + \ifvpe@stack + \global\advance\vpe@sp by 1 + \vpe@debug{PUSH(\the\vpe@sp): #1}% + \immediate\write18{% + \vpe@command\space + -sty + -progname=\vpe@progname\space + \ifx\vpe@debug\@gobble\else -v \fi + #1 % + \jobname.vpe% + }% + \gdef\vpe@file{#1}% + \gdef\vpe@last{10000}% + \ifeof\vpe@read + \vpe@debug{EOF: \jobname.vpe}% + \else + \begingroup + \endlinechar-1 % + \read\vpe@read to \vpe@temp + \vpe@temp + \endgroup + \fi + \vpe@debug{% + LEVEL: \the\vpe@sp, FILE: \vpe@file, LAST: \vpe@last + }% + \expandafter\xdef\csname vpeF\the\vpe@sp\endcsname{\vpe@file}% + \expandafter\xdef\csname vpeL\the\vpe@sp\endcsname{\vpe@last}% + \fi +} +\def\vpeentry#1#2{% + \gdef\vpe@file{#1}% + \gdef\vpe@last{#2}% +} +\def\vpe@pop{% + \ifvpe@stack + \global\advance\vpe@sp by -1 % + \vpe@debug{POP(\the\vpe@sp)}% + \fi +} +\def\vpe@peekfile{% + \csname vpeF\the\vpe@sp\endcsname +} +\def\vpe@peeklast{% + \csname vpeL\the\vpe@sp\endcsname +} + +\vpe@push{\jobname} + +\AtEndDocument{% + \vpe@debug{MAKE SYMBOL LINKS}% + \immediate\write18{% + \vpe@command\space + \ifx\vpe@debug\@gobble\else -v \fi\jobname.pdf% + }% +} + +%*** file input +\def\vpe@doinput#1#2{% + \VPE + \vpe@push{#2}% + \vpe@srcfirst + #1{#2}% + \vpe@srclast + \vpe@pop + \VPE +} + +\vpe@redef{input}{% + \def\input{\@ifnextchar\bgroup\vpe@input\vpeorg@input} + \def\vpe@input{\vpe@doinput\vpeorg@input} +} +\vpe@redef{@input}{% + \def\@input#1{% + \IfFileExists{#1}\@firstofone\@gobble\vpe@doinput + \vpeorg@@input{#1}% + }% +} + +\vpe@redef{include}{\def\include{\vpe@doinput\vpeorg@include}} + +\vpe@redef{newpage}{% + \def\newpage{% + \VPE + \vpeorg@newpage + \vpe@emptyeverypar + }% +} +\vpe@redef{clearpage}{\def\clearpage{\vpeorg@clearpage\VPE}} + +%*** everypar +\def\vpe@everypar{\everypar\expandafter{\the\everypar\VPE}} +\def\vpe@emptyeverypar{% + \edef\vpe@temp{\the\everypar}% + \ifx\vpe@temp\@empty + \everypar{\VPE}% + \fi +} +\iffalse +\vpe@redef{everypar}{% + \def\everypar#1#{\vpe@everypar} + \def\vpe@everypar#1{% + \vpeorg@everypar{#1\VPE}% + }% +} +\fi +\vpe@redef{document}{% + \def\document{% + \global\vpe@stackfalse + \vpeorg@document + \global\vpe@stacktrue + \VPE + \vpe@emptyeverypar + \ignorespaces + }% +} +\vpe@redef{@item}{% + \def\@item[#1]{% + \vpeorg@@item[{#1}]% + \VPE + \vpe@doubleeverypar + \ignorespaces + }% +} +\iffalse +\vpe@redef{@verbatim}{% + \def\@verbatim{% + \vpeorg@@verbatim + \vpe@everypar + }% +} +\fi +\vpe@check{@doendpe}{% + \def\@doendpe{% + \@endpetrue + \def\par{% + \@restorepar + \everypar{\VPE}% + \par + \@endpefalse + }% + \everypar{% + {\setbox\z@\lastbox}% + \everypar{\VPE}% + \@endpefalse + \VPE + }% + }% +} +\vpe@redef{@arrayparboxrestore}{% + \def\@arrayparboxrestore{% + \vpeorg@@arrayparboxrestore + \vpe@everypar + }% +} +\vpe@redef{@xsect}{% + \def\@xsect#1{% + \vpeorg@@xsect{#1}% + \vpe@doubleeverypar + \ignorespaces + }% +} +\vpe@redef{@afterheading}{% + \def\@afterheading{% + \vpeorg@@afterheading + \vpe@doubleeverypar + }% +} +\vpe@redef{@setminipage}{% + \def\@setminipage{% + \vpeorg@@setminipage + \vpe@doubleeverypar + }% +} +\def\vpe@doubleeverypar{% + \expandafter\vpe@@doubleeverypar\the\everypar\everypar!!\@nil +} +\def\vpe@@doubleeverypar#1\everypar#2#3\@nil{% + \def\vpe@temp{#2}% + \ifx\vpe@temp\@empty + \everypar\expandafter{\the\everypar\vpe@everypar}% + \fi + \vpe@everypar +} +\vpe@redef{@startsection}{% + \def\@startsection{% + \if@nobreak + \let\vpe@orgeverypar\everypar + \let\everypar\vpe@tempeverypar + \fi + \vpeorg@@startsection + }% +} +\def\vpe@tempeverypar#1{% + \let\everypar\vpe@orgeverypar + \everypar{#1\VPE}% +} + +\vpe@check{everymath}{\everymath{\VPE}} + +\ifvpe@everyhbox + \everyhbox\expandafter{\the\everyhbox\VPE}% +\fi + +\vpe@redef{newline}{\def\newline{\VPE\vpeorg@newline}} +\vpe@redefspecial{\\}{NL}{\def\\{\VPE\vpeorg@NL}} +\vpe@redef{tabularnewline}{% + \def\tabularnewline{\VPE\tabularnewline} +} + +\vpe@redef{mbox}{% + \def\mbox{\VPE\vpe@mbox} + \long\def\vpe@mbox#1{\vpeorg@mbox{#1\VPE}} +} + +\vpe@redefspecial{~}{TILDE}{\def~{\VPE\vpeorg@TILDE}} + +\vpe@redef{ref}{\def\ref{\VPE\vpeorg@ref}} +\vpe@redef{cite}{\def\cite{\VPE\vpeorg@cite}} + +\vpe@redef{item}{\def\item{\VPE\vpeorg@item}} +\vpe@redef{trivlist}{\def\trivlist{\VPE\vpeorg@trivlist}} +\vpe@redef{endtrivlist}{\def\endtrivlist{\VPE\vpeorg@endtrivlist}} + +\vpe@redef{@bsphack}{\def\@bsphack{\vpeorg@@bsphack\VPE}} +\vpe@redef{@esphack}{\def\@esphack{\VPE\vpeorg@@esphack}} +\vpe@redef{@Esphack}{\def\@Esphack{\VPE\vpeorg@@Esphack}} +\vpe@redef{@xaddvskip}{\def\@xaddvskip{\vpeorg@@xaddvskip\VPE}} + +\vpe@redef{@tabularcr}{\def\@tabularcr{\VPE\vpeorg@@tabularcr}} +\vpe@redef{@arraycr}{\def\@arraycr{\VPE\vpeorg@@arraycr}} + +\vpe@redef{hrule}{\def\hrule{\VPE\vpeorg@hrule}} +\vpe@redef{vrule}{\def\vrule{\VPE\vpeorg@vrule}} +\endinput |