summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/oberdiek/picture.sty
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/latex/oberdiek/picture.sty')
-rw-r--r--Master/texmf-dist/tex/latex/oberdiek/picture.sty198
1 files changed, 198 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/latex/oberdiek/picture.sty b/Master/texmf-dist/tex/latex/oberdiek/picture.sty
new file mode 100644
index 00000000000..e88796af38b
--- /dev/null
+++ b/Master/texmf-dist/tex/latex/oberdiek/picture.sty
@@ -0,0 +1,198 @@
+%%
+%% This is file `picture.sty',
+%% generated with the docstrip utility.
+%%
+%% The original source files were:
+%%
+%% picture.dtx (with options: `package')
+%%
+%% This is a generated file.
+%%
+%% Copyright (C) 2006 by Heiko Oberdiek <oberdiek@uni-freiburg.de>
+%%
+%% 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 2005/12/01 or later.
+%%
+%% This work has the LPPL maintenance status "maintained".
+%%
+%% This Current Maintainer of this work is Heiko Oberdiek.
+%%
+%% This work consists of the main source file picture.dtx
+%% and the derived files
+%% picture.sty, picture.pdf, picture.ins, picture.drv,
+%% picture-example.tex.
+%%
+\NeedsTeXFormat{LaTeX2e}
+\ProvidesPackage{picture}%
+ [2006/08/26 v1.0 Dimens for picture macros (HO)]
+\def\Pc@calcname{calc}
+\def\Pc@etexname{etex}
+\def\Pc@plainname{plain}
+\@ifpackageloaded{calc}{%
+ \let\Pc@method\Pc@calcname
+}{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname dimexpr\endcsname\relax
+ \let\Pc@method\Pc@plainname
+ \else
+ \let\Pc@method\Pc@etexname
+ \fi
+}
+\DeclareOption{plain}{%
+ \let\Pc@method\Pc@plainname
+}
+\DeclareOption{etex}{%
+ \begingroup\expandafter\expandafter\expandafter\endgroup
+ \expandafter\ifx\csname dimexpr\endcsname\relax
+ \PackageError{picture}{%
+ e-TeX is not available%
+ }\@ehc
+ \else
+ \let\Pc@method\Pc@etexname
+ \fi
+}
+\DeclareOption{calc}{%
+ \let\Pc@method\Pc@calcname
+}
+\ProcessOptions*
+\begingroup
+ \let\on@line\@empty
+ \PackageInfo{picture}{Calculation method: \Pc@method}
+\endgroup
+\ifx\Pc@method\Pc@calcname
+ \RequirePackage{calc}%
+\fi
+\ifx\Pc@method\Pc@calcname
+ \def\Pc@tokslength#1{%
+ \begingroup
+ \let\calc@error\Pc@calc@error
+ \setlength\dimen@{#1\unitlength}\Pc@next\Pc@nil{#1}%
+ }%
+ \let\PcOrg@calc@error\calc@error
+ \def\Pc@calc@error#1{%
+ \expandafter\ifx\expandafter\unitlength\noexpand#1\relax
+ \def\calc@next##1!{%
+ \endgroup
+ \aftergroup\afterassignment
+ \aftergroup\Pc@next
+ }%
+ \else
+ \@ReturnAfterFi{%
+ \PcOrg@calc@error{#1}%
+ }%
+ \fi
+ }%
+ \expandafter\@firstofone
+\else
+ \expandafter\@gobble
+\fi
+{%
+ \long\def\@ReturnAfterFi#1\fi{\fi#1}%
+}
+\ifx\Pc@method\Pc@etexname
+ \def\Pc@tokslength#1{%
+ \begingroup
+ \afterassignment\Pc@next
+ \dimen@=\dimexpr#1\unitlength\Pc@nil{#1}%
+ }%
+\fi
+\ifx\Pc@method\Pc@plainname
+ \def\Pc@tokslength#1{%
+ \begingroup
+ \afterassignment\Pc@next
+ \dimen@=#1\unitlength\Pc@nil{#1}%
+ }%
+\fi
+\def\Pc@next#1\Pc@nil#2{%
+ \ifx\\#1\\%
+ \endgroup
+ \Pc@addtoks{{#2}}%
+ \else
+ \expandafter\endgroup
+ \expandafter\Pc@addtoks\expandafter{%
+ \expandafter{\the\dimen@\@gobble}%
+ }%
+ \fi
+}
+\let\Pc@nil\message
+\def\Pc@addtoks#1{%
+ \toks@=\expandafter{\the\toks@#1}%
+}
+\def\Pc@init#1{%
+ \begingroup
+ \toks@={#1}%
+}
+\def\Pc@finish#1{%
+ \expandafter\endgroup
+ \expandafter#1\the\toks@
+}
+\def\picture@redefine#1#2{%
+ \begingroup
+ \edef\reserved@a{%
+ \noexpand\noexpand
+ \expandafter\noexpand
+ \csname PcOrg@\expandafter\@gobble\string#1\endcsname
+ }%
+ \toks0{#1}%
+ \Pc@first#2&0%
+}
+\def\Pc@first#1&{%
+ \toks1={#1}%
+ \toks2={\Pc@init{#1}}%
+ \Pc@scanlength
+}
+\def\Pc@scanlength#1{%
+ \ifcase#1 %
+ \expandafter\Pc@last
+ \else
+ \toks1=\expandafter{\the\toks1 ###1}%
+ \toks2=\expandafter{\the\toks2 \Pc@tokslength{###1}}%
+ \expandafter\Pc@scannext
+ \fi
+}
+\def\Pc@scannext#1&{%
+ \ifx\\#1\\%
+ \else
+ \toks1=\expandafter{\the\toks1 #1}%
+ \toks2=\expandafter{\the\toks2 \Pc@addtoks{#1}}%
+ \fi
+ \Pc@scanlength
+}
+\def\Pc@last{%
+ \edef\x{%
+ \endgroup
+ \let\reserved@a\the\toks0 %
+ \def\the\toks0 \the\toks1 {%
+ \the\toks2 %
+ \noexpand\Pc@finish\reserved@a
+ }%
+ }%
+ \x
+}
+\picture@redefine\@picture{(&1,&2)(&3,&4)}
+\picture@redefine\put{(&1,&2)}
+\picture@redefine\multiput{(&1,&2)}
+\picture@redefine\@multiput{(&1,&2)}
+\picture@redefine\line{(#1,#2)&3}
+\picture@redefine\vector{(#1,#2)&3}
+\picture@redefine\dashbox{&1(&2,&3)}
+\picture@redefine\@circle{&1}
+\picture@redefine\@dot{&1}
+\picture@redefine\@bezier{#1(&2,&3)(&4,&5)(&6,&7)}
+\picture@redefine\@imakepicbox{(&1,&2)}
+\@ifpackageloaded{pspicture}{%
+ \picture@redefine\@oval{[&1](&2,&3)}
+ \picture@redefine\Line{(&1,&2)}
+ \picture@redefine\Curve{(&1,&2)}
+ \picture@redefine\Vector{(&1,&2)}
+}{
+ \picture@redefine\@oval{(&1,&2)}
+}
+\endinput
+%%
+%% End of file `picture.sty'.