summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2006-08-14 00:00:58 +0000
committerKarl Berry <karl@freefriends.org>2006-08-14 00:00:58 +0000
commitf68c66c2fd38fcd1146a01bbe28f58ed0efc6f79 (patch)
tree6c52bf9ca94926efe01ce319c811ec0379eef72f /Master/texmf-dist/tex/latex/oberdiek
parent42bc6d37351f5002d650f9a782eeb7972c7a1703 (diff)
oberdiek update to get kvoptions 2.2 (2aug06)
git-svn-id: svn://tug.org/texlive/trunk@1948 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/refcount.sty124
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/telprint.sty254
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/vpe.sty820
3 files changed, 254 insertions, 944 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/refcount.sty b/Master/texmf-dist/tex/latex/oberdiek/refcount.sty
deleted file mode 100644
index 12baec3f1c1..00000000000
--- a/Master/texmf-dist/tex/latex/oberdiek/refcount.sty
+++ /dev/null
@@ -1,124 +0,0 @@
-% File: refcount.sty
-% Version: 2000/09/07 v2.0
-% Author: Heiko Oberdiek <oberdiek@ruf.uni-freiburg.de>
-%
-% Function: Converting references to numbers.
-%
-% Copyright: Copyright (C) 1998, 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.
-%
-% Use:
-% * Commands similar to LaTeX's \setcounter and \addtocounter,
-% but that extracts the number value from a reference:
-% \setcounterref, \addtocounterref
-% \setcounterpageref, \addtocounterpageref
-% They take two arguments:
-% \...counter...ref{<LaTeX counter>}{<reference>}
-% An undefined references produces the usual LaTeX warning
-% and its value is assumed to be zero.
-% Example:
-% \newcounter{ctrA}
-% \newcounter{ctrB}
-% \refstepcounter{ctrA}\label{ref:A}
-% \setcounterref{ctrB}{ref:A}
-% \addtocounterpageref{ctrB}{ref:A}
-% * Commands that can be used in expandible contexts:
-% \getrefnumber, \getpagerefnumber
-% They take one argument, the reference:
-% \get...refnumber{<reference>}
-% Because warnings and assignments cannot be used in
-% expandible contexts, undefined references do not
-% produce a warning, their values are assumed to be zero.
-% Example:
-% \label{ref:here}% somewhere
-% \ifodd\getpagerefnumber{ref:here}%
-% reference is on an odd page
-% \else
-% reference is on an even page
-% \fi
-% * The default for undefined references can be changed
-% with macro \setrefcountdefault, for example this
-% package calls:
-% \setrefcountdefault{0}
-% * This method of extracting the number is more safe
-% than the use of the reference directly, because
-% there are packages such as hyperref, that add
-% additional stuff, so that the reference cannot
-% be used as number any more.
-% * If the reference does not contain a number,
-% assignments to a counter will fail of course.
-% * Tested with packages hyperref and calc.
-%
-% History:
-% 1998/04/08 v1.0:
-% * First public release, written as answer in the
-% newsgroup `comp.text.tex' in the thread
-% `Re: Adding a \ref to a counter?', date: 1998/08/04.
-% 2000/09/07 v2.0:
-% * Documentation added.
-% * LPPL 1.2
-% * Package rewritten, new commands added.
-%
-\NeedsTeXFormat{LaTeX2e}
-\ProvidesPackage{refcount}
- [2000/09/07 v2.0 Converting references to numbers (HO)]
-
-\def\setrefcountdefault#1{%
- \def\rc@default{#1}%
-}
-\setrefcountdefault{0}
-
-% \def\@car#1#2\@nil{#1} % defined in LaTeX kernel
-\def\rc@cartwo#1#2#3\@nil{#2}
-
-% Generic command for "\{set,addto}counter{page,}ref":
-% #1: \setcounter, \addtocounter
-% #2: \@car (for \ref), \@cartwo (for \pageref)
-% #3: LaTeX counter
-% #4: reference
-\def\rc@set#1#2#3#4{%
- \expandafter\ifx\csname r@#4\endcsname\relax
- \protect\G@refundefinedtrue % LaTeX: rerun warning
- \@latex@warning{Reference `#4' on page \thepage\space
- undefined}%
- #1{#3}{\rc@default}%
- \else
- #1{#3}{%
- \expandafter\expandafter\expandafter#2%
- \csname r@#4\endcsname\rc@default\rc@default\@nil
- }%
- \fi
-}
-
-% user commands:
-
-\newcommand*{\setcounterref}{\rc@set\setcounter\@car}
-\newcommand*{\addtocounterref}{\rc@set\addtocounter\@car}
-\newcommand*{\setcounterpageref}{\rc@set\setcounter\rc@cartwo}
-\newcommand*{\addtocounterpageref}{\rc@set\addtocounter\rc@cartwo}
-
-\newcommand*{\getrefnumber}[1]{%
- \expandafter\ifx\csname r@#1\endcsname\relax
- \rc@default
- \else
- \expandafter\expandafter\expandafter\@car
- \csname r@#1\endcsname\@nil
- \fi
-}
-\newcommand*{\getpagerefnumber}[1]{%
- \expandafter\ifx\csname r@#1\endcsname\relax
- \rc@default
- \else
- \expandafter\expandafter\expandafter\rc@cartwo
- \csname r@#1\endcsname\rc@default\rc@default\@nil
- \fi
-}
-\endinput
diff --git a/Master/texmf-dist/tex/latex/oberdiek/telprint.sty b/Master/texmf-dist/tex/latex/oberdiek/telprint.sty
new file mode 100644
index 00000000000..3216a52dca6
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/oberdiek/telprint.sty
@@ -0,0 +1,254 @@
+% File: telprint.sty
+% Version: 2006/02/12 v1.6
+% Author: Heiko Oberdiek
+% Email: <oberdiek@uni-freiburg.de>
+%
+% Copyright: Copyright (C) 2006 Heiko Oberdiek.
+%
+% This work may be distributed and/or modified under
+% the conditions of the LaTeX Project Public License,
+% either version 1.3 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.3 or later is part of all distributions
+% of LaTeX version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% This Current Maintainer of this work is Heiko Oberdiek.
+%
+% Function: This is a very old package that I have written
+% to format phone numbers. It follows German
+% conventions and the documentation is in German
+% at the end of this file. :-(
+% It follows a short overview in English:
+%
+% Use: LaTeX:
+% \usepackage{telprint}
+% \telprint{123/456-789}
+% plain:
+% \input telprint.sty
+% \telprint{123/456-789}
+%
+% \telprint{...} formats the explicitly given number.
+% Digits, spaces and some special characters
+% ('+', '/', '-', '(', ')', '~', ' ') are supported.
+% Numbers are divided into groups of two digits from the right.
+% Examples:
+% \telprint{0761/12345} ==> 07\,61/1\,23\,45
+% \telprint{01234/567-89} ==> 0\,12\,34/5\,67\leavevmode\hbox{-}89
+% \telprint{+49 (6221) 297} ==> +49~(62\,21)~2\,97
+%
+% The output of the configured by
+% \telhyphen, \telslash, \telleftparen, \telrightparen, \telplus,
+% \teltilde.
+% Example:
+% \telslash{\,/\,}
+% \telprint{12/34} ==> 12\,/\,34
+%
+% \telspace configures the space between digit groups.
+%
+% \telnumber only formats a number in digit groups; special
+% characters are not recognized.
+%
+%
+\ifx\telprint\UnDeFiNeD
+% \fi in derselben Zeile wie \endinput oder \expandafter verwenden!
+\else\endinput\fi
+
+\message{Package `telprint' 1.6, 12.02.2006 %
+ Copyright (c) 1996, 1997, 2004, 2005, 2006 by Heiko Oberdiek.}
+
+\ifx\DeclareRobustCommand\UnDeFiNeD
+ \def\DeclareRobustCommand*#1[1]{\def#1##1}
+ \def\TELreset{\let\DeclareRobustCommand=\UnDeFiNeD}
+ \immediate\write-1{Package `telprint' warning: %
+ Macros are not robust!}
+\else
+ \let\TELreset=\relax
+\fi
+
+\DeclareRobustCommand*{\telspace}[1]{\def\TELspace{#1}}
+\telspace{{}$\,${}}
+
+\DeclareRobustCommand*{\telhyphen}[1]{\def\TELhyphen{#1}}
+\telhyphen{\leavevmode\hbox{-}}% \hbox zur Verhinderung der Trennung
+
+\DeclareRobustCommand*{\telslash}[1]{\def\TELslash{#1}}
+\telslash{/}%
+
+\DeclareRobustCommand*{\telleftparen}[1]{\def\TELleftparen{#1}}
+\telleftparen{(}%
+
+\DeclareRobustCommand*{\telrightparen}[1]{\def\TELrightparen{#1}}
+\telrightparen{)}%
+
+\DeclareRobustCommand*{\telplus}[1]{\def\TELplus{#1}}
+\telplus{+}%
+
+\DeclareRobustCommand*{\teltilde}[1]{\def\TELtilde{#1}}
+\teltilde{~}%
+
+\newtoks\TELtoks
+
+\def\TELnumber#1#2\TELnumberEND{%
+ \begingroup
+ \def\0{#2}%
+ \expandafter\endgroup
+ \ifx\0\empty
+ \TELtoks=\expandafter{\the\TELtoks#1}%
+ \ifnum\TELswitch=0
+ \def\TELx{\TELspace}\def\TELy{}%
+ \else
+ \def\TELx{}\def\TELy{\TELspace}%
+ \fi
+ \the\TELtoks
+ \else
+ \ifnum\TELswitch=0
+ \TELtoks=\expandafter{\the\TELtoks#1\TELx}%
+ \def\TELswitch{1}%
+ \else
+ \TELtoks=\expandafter{\the\TELtoks#1\TELy}%
+ \def\TELswitch{0}%
+ \fi
+ \TELnumber#2\TELnumberEND
+ \fi
+}
+
+\DeclareRobustCommand*{\telnumber}[1]{%
+ \TELtoks={}%
+ \def\TELswitch{0}%
+ \TELnumber#1{}\TELnumberEND
+}
+
+
+\def\TELsplit{\futurelet\TELfuture\TELdosplit}
+
+\def\TELdosplit#1#2\TELsplitEND
+{%
+ \def\TELsp{ }%
+ \expandafter\ifx\TELsp\TELfuture
+ \let\TELfuture=\relax
+ \expandafter\telnumber\expandafter{\the\TELtoks}~%
+ \telprint{#1#2}% Das Leerzeichen kann nicht #1 sein!
+ \else
+ \def\TELfirst{#1}%
+ \ifx\TELfirst\empty
+ \expandafter\telnumber\expandafter{\the\TELtoks}%
+ \TELtoks={}%
+ \else\if-\TELfirst
+ \expandafter\telnumber\expandafter{\the\TELtoks}\TELhyphen
+ \telprint{#2}%
+ \else\if/\TELfirst
+ \expandafter\telnumber\expandafter{\the\TELtoks}\TELslash
+ \telprint{#2}%
+ \else\if(\TELfirst
+ \expandafter\telnumber\expandafter{\the\TELtoks}\TELleftparen
+ \telprint{#2}%
+ \else\if)\TELfirst
+ \expandafter\telnumber\expandafter{\the\TELtoks}\TELrightparen
+ \telprint{#2}%
+ \else\if+\TELfirst
+ \expandafter\telnumber\expandafter{\the\TELtoks}\TELplus
+ \telprint{#2}%
+ \else\def\TELtemp{~}\ifx\TELtemp\TELfirst
+ \expandafter\telnumber\expandafter{\the\TELtoks}\TELtilde
+ \telprint{#2}%
+ \else
+ \TELtoks=\expandafter{\the\TELtoks#1}%
+ \TELsplit#2{}\TELsplitEND
+ \fi\fi\fi\fi\fi\fi\fi
+ \fi
+}
+
+\DeclareRobustCommand*{\telprint}[1]{%
+ \TELtoks={}%
+ \TELsplit#1{}\TELsplitEND
+}
+
+\TELreset\let\TELreset=\UnDeFiNeD
+
+\endinput
+
+% _History_
+% * Version 1.0 vom 28.11.1996
+% - Erste lauffaehige Version.
+% - Nur '-' und '/' als zulaessige Sonderzeichen.
+% * Version 1.1 vom 16.09.1997
+% - Dokumentation und Kommentare (Posting in de.comp.text.tex).
+% - Erweiterung um Sonderzeichen '(', ')', '+', '~' und ' '.
+% - Trennungsverhinderung am "hyphen".
+% * Version 1.2 vom 16.10.1997
+% - Schutz vor wiederholtem Einlesen.
+% - Unter LaTeX2e Nutzung des \DeclareRobustCommand-Features.
+% * Version 1.3 vom 09.12.1997
+% - Temporaere Variable eingespart.
+% * Version 1.4 vom 02.11.2004
+% - Fehler in der Dokumentation korrigiert.
+% * Version 1.5 vom 30.09.2005
+% - Konfigurierbare Symbolde: '/', '(', ')', '+' und '~'.
+% * Version 1.6 vom 12.02.2006
+% - LPPL 1.3.
+% - Kurze Uebersicht in Englisch.
+% - CTAN.
+%
+% _Dokumentation_
+% * \telprint#1
+% Der eigentliche Anwenderbefehl zur formatierten Ausgabe von
+% Telefonnummern. Diese duerfen dabei nur als Zahlen angegeben
+% werden(, da sie tokenweise analysiert werden).
+% Als Trenn- oder Sonderzeichen werden unterstuetzt:
+% '+', '/', '-', '(', ')', '~', ' '
+% Einfache Leerzeichen werden erkannt und durch Tilden ersetzt, um
+% Trennungen in der Telefonnummer zu verhindern. (Man beachte aus
+% gleichem Grunde die \hbox bei '-'.)
+% Beispiele:
+% \telprint{0761/12345} ==> 07\,61/1\,23\,45
+% \telprint{01234/567-89} ==> 0\,12\,34/5\,67\leavevmode\hbox{-}89
+% \telprint{+49 (6221) 297} ==> +49~(62\,21)~2\,97
+%
+% Der Rest enthaelt eher Technisches:
+% * \telspace#1
+% Mit diesem Befehl wird der Abstand zwischen den Zifferngruppen
+% angegeben (Default: \,).
+% (Durch \telspace{} kann dieser zusaetzliche Abstand abgestellt
+% werden.)
+% * \telhyphen#1
+% Dieser Befehl gibt die Art des Bindestriches, wie er ausgegeben
+% werden soll. In der Eingabe darf jedoch nur der einfache
+% Bindestrich stehen:
+% \telprint{123-45}, jedoch NIE \telprint{123--45}!
+% Kopka-Bindestrich-Fans geben an:
+% \telhyphen{\leavevmode\hbox{--}}
+% * \telslash#1, \telleftparen#1, \telrightparen#1, \telplus#1,
+% \teltilde
+% Diese Befehle konfigurieren die Zeichen '/', '(', ')', '+'
+% und '~'. Sie funktionieren analog zu \telhyphen.
+% * \telnumber#1
+% Richtung interner Befehl: Er dient dazu, eine Zifferngruppe
+% in Zweiergruppen auszugeben.
+% Die einzelnen Zahlen werden im Tokenregister \TELtoks
+% gespeichert. Abwechselnd werden dabei zwischen zwei Token
+% (Zahlen) \TELx bzw. \TELy eingefuegt, abhaengig von dem
+% wechselnden Wert von \TELswitch. Zum Schluss kann dann einfach
+% festgestellt werden ob die Nummer nun eine geradzahlige oder
+% ungeradzahlige Zahl von Ziffern aufwies. Dem entsprechend wird
+% \TELx mit dem Zusatzabstand belegt und \TELy leer definiert
+% oder umgekehrt. )
+% * \TEL... interne Befehle, Technisches:
+% \TELsplit dient zur Aufteilung einer zusammengesetzten
+% Telefonnummer (Vorwahl, Hauptnummer, Nebenstelle). In dieser
+% Implementation werden als Trennzeichen nur '/' und '-' erkannt.
+% Die einzelnen Bestandteile wie Vorwahl werden dann dem Befehl
+% \telnumber zur Formatierung uebergeben.
+% * Die Erkennung von einfachen Leerzeichen ist um einiges
+% schwieriger: Die Tokentrennung ueber Parameter #1#2 funktioniert
+% nicht fuer einfache Leerzeichen, da TeX sie _niemals_ als
+% eigenstaendige Argumente behandelt!!! (The TeXbook, Chapter 20,
+% p. 201)
+% (Anmerkung am Rande: Deshalb funktionieren die entsprechenden
+% Tokenmakros auf S. 149 des Buches "Einfuehrung in TeX" von
+% N. Schwarz (3. Aufl.) nicht, wenn im Tokenregister als erstes
+% ein einfaches Leerzeichen steht!)
+%
diff --git a/Master/texmf-dist/tex/latex/oberdiek/vpe.sty b/Master/texmf-dist/tex/latex/oberdiek/vpe.sty
deleted file mode 100644
index 0271ce64df6..00000000000
--- a/Master/texmf-dist/tex/latex/oberdiek/vpe.sty
+++ /dev/null
@@ -1,820 +0,0 @@
-% 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