%% %% 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. %% %% Project: picture %% Version: 2020-04-22 v1.6 %% %% Copyright (C) %% 2006-2009 Heiko Oberdiek %% 2016-2020 Oberdiek Package Support Group %% %% This work may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either %% version 1.3c of this license or (at your option) any later %% version. This version of this license is in %% https://www.latex-project.org/lppl/lppl-1-3c.txt %% and the latest version of this license is in %% https://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". %% %% The Current Maintainers of this work are %% Heiko Oberdiek and the Oberdiek Package Support Group %% https://github.com/ho-tex/picture/issues %% %% 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}% [2020-04-22 v1.6 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 \@ifpackagelater{calc}{2007/08/22}{% v4.3 \def\Pc@calc@error#1{% \expandafter\ifx\expandafter\unitlength\noexpand#1\relax \def\calc@next##1!{% \endgroup \aftergroup\afterassignment \aftergroup\Pc@next }% \expandafter\@firstoftwo \else \expandafter\@secondoftwo \fi {% \calc@next{#1}% }{% \PcOrg@calc@error{#1}% }% }% }{% \def\Pc@calc@error#1{% \expandafter\ifx\expandafter\unitlength\noexpand#1\relax \def\calc@next##1!{% \endgroup \aftergroup\afterassignment \aftergroup\Pc@next }% \expandafter\@gobble \else \expandafter\@firstofone \fi {% \PcOrg@calc@error{#1}% }% }% }% \fi \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)}% } \@ifpackageloaded{pict2e}{% \AtBeginDocument{% \picture@redefine\@cbezier{[#1](&2,&3)(&4,&5)(&6,&7)(&8,&9)}% } \picture@redefine\pIIe@arc@@{(#1,#2)&3} \picture@redefine\polyline{(&1,&2)} \picture@redefine\@polyline{(&1,&2)} \picture@redefine\@polygon{(&1,&2)} \picture@redefine\@@polygon{(&1,&2)} \picture@redefine\moveto{(&1,&2)} \picture@redefine\lineto{(&1,&2)} \picture@redefine\curveto{(&1,&2)(&3,&4)(&5,&6)} }{} \def\Pc@checkpackage#1{% \@ifpackageloaded{#1}{% }{% \AtBeginDocument{% \@ifpackageloaded{#1}{% \PackageWarningNoLine{picture}{% Package `#1' is loaded after `picture'.\MessageBreak Load package `picture' afterwards to get full support% \MessageBreak of its additional syntax with length specifications% }% }{}% }% }% } \Pc@checkpackage{pict2e} \Pc@checkpackage{pspicture} \endinput %% %% End of file `picture.sty'.