From 9bd05083b0cdaa8563456b28988e94011dd5a949 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 12 Jun 2010 00:49:09 +0000 Subject: xypdf 1.4 (8jun10) git-svn-id: svn://tug.org/texlive/trunk@18908 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/xypdf/xypdf.sty | 1594 +-------------------------- 1 file changed, 14 insertions(+), 1580 deletions(-) (limited to 'Master/texmf-dist/tex') diff --git a/Master/texmf-dist/tex/latex/xypdf/xypdf.sty b/Master/texmf-dist/tex/latex/xypdf/xypdf.sty index 64b20311002..2b35b87b69f 100644 --- a/Master/texmf-dist/tex/latex/xypdf/xypdf.sty +++ b/Master/texmf-dist/tex/latex/xypdf/xypdf.sty @@ -1,1596 +1,30 @@ -%% -%% This is file `xypdf.sty', -%% generated with the docstrip utility. -%% -%% The original source files were: -%% -%% xypdf.dtx (with options: `package') -%% +%% The xypdf package for TeX and LaTeX %% Copyright (c) 2010 by Daniel M\"ullner (Müllner) %% %% -------------------------------------------------------------------- -%% +%% %% This program is free software: you can redistribute it and/or modify %% it under the terms of the GNU General Public License as published by -%% the Free Software Foundation, either version 3 of the License, or +%% the Free Software Foundation, either version 2 of the License, or %% (at your option) any later version. -%% +%% %% This program is distributed in the hope that it will be useful, %% but WITHOUT ANY WARRANTY; without even the implied warranty of %% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the %% GNU General Public License for more details. -%% +%% %% The GNU General Public License is available at %% . -%% -%% -------------------------------------------------------------------- -%% -%% This file is part of the LaTeX2e xypdf package. The package -%% consists of the following files: -%% -%% README - This file, the distribution guide -%% xypdf.dtx - Documented source code -%% xypdf.ins - Installation script -%% xypdf.pdf - Documentation (generated from xypdf.dtx) -%% -%% The LaTeX style file xypdf.sty is generated by the following command: -%% -%% latex xypdf.ins -%% +%% \NeedsTeXFormat{LaTeX2e} -\ProvidesPackage{xypdf} - [2010/04/12 v1.3 PDF output for the Xy-pic package] -\@ifpackageloaded{xy}\relax -{\PackageError{xypdf}{Load the Xy-pic package before this package} -{Insert `\string\usepackage[]{xy}' before -`\string\usepackage{xypdf}'}} -\xywithoption{ps}{\PackageError{xypdf}{Do not load Xy-pic with a Postscript backend}{}} -\ifx\unexpanded\@undefined -\PackageError{xypdf}{eTeX is needed for the xypdf package}{} -\fi -\RequirePackage{ifpdf} -\ifpdf -\ifx\pdfsave\@undefined -\PackageError{xypdf}{pdfTeX version 1.40.0 or higher is needed for the xypdf^^Jpackage with PDF output}{} -\fi -\fi -\newcommand*\xypdfon{} -\newcommand*\xypdfoff{} -\newcommand*\xP@hook[1]{\edef\next@{\let\expandafter\noexpand\csname xP@old@#1\endcsname -\expandafter\noexpand\csname#1\endcsname}\next@ -\edef\xypdfon{\unexpanded\expandafter{\xypdfon}\let\expandafter\noexpand\csname#1\endcsname -\expandafter\noexpand\csname xP@#1\endcsname -}\edef\xypdfoff{\unexpanded\expandafter{\xypdfoff}\let\expandafter\noexpand\csname#1\endcsname -\expandafter\noexpand\csname xP@old@#1\endcsname -}} -\AtEndOfPackage{\xypdfon -\let\xP@hook\@undefined -\let\xP@tempvar\@undefined -\let\@tempa\@undefined -\let\next@\undefined -\let\xP@gobblepart\@undefined -\let\xP@endgobble\@undefined -} -\ifpdf -\newcommand*\xP@literal[1]{\pdfsave\pdfliteral{#1}\pdfrestore} -\newcommand*\xP@cm[5]{\pdfsave -\pdfsetmatrix{#1 #2 #3 #4}#5\pdfrestore -} -\else -\newcommand*\xP@literal{\PackageWarning{xypdf}{The produced DVI file is NOT PORTABLE. Convert it with^^Jdvipdfm(x) to the PDF format but do not expect the DVI file itself to be^^Jdisplayed correctly\@gobble}\global\let\xP@literal\xP@literal@ -\xP@literal -} -\newcommand*\xP@literal@[1]{\special{pdf:content #1}} -\newcommand*\xP@cm[5]{\special{pdf:btrans matrix #1 #2 #3 #4 0 0}#5\special{pdf:etrans}} -\fi -\ifx\pdfdecimaldigits\@undefined -\newcommand*\xP@digits{2} -\else -\@ifdefinable\xP@digits\relax -\xdef\xP@digits{\the\pdfdecimaldigits} -\ifnum\pdfdecimaldigits<2 -\PackageWarning{xypdf}{The precision in \string\pdfdecimaldigits\space is only \xP@digits\space -decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 for best output quality\@gobble} -\fi -\fi -\newcommand*\xP@dim[1]{\expandafter\xP@removePT\the\dimexpr(#1)*800/803\relax\space} -\newcommand*\xP@precdim[1]{\xP@EARPT\dimexpr(#1)*800/803\relax\space} -\newcommand*\xP@EARPT{\expandafter\removePT@\the} -\newcommand*\xP@coor[1]{\xP@dim{#1}\xP@dim} -\@ifdefinable\xP@removePT\relax -{\catcode`\p=12\catcode`\t=12\gdef\xP@removePT#1pt{\xP@removePT@#10000@}} -\@ifdefinable\xP@removePT@\relax -\ifcase\xP@digits -\def\xP@removePT@#1.#2#3@{\ifnum#2<5 -#1\else -\the\numexpr-\if-#1-\else-#1+\fi\@ne\relax -\fi -} -\or -\def\xP@removePT@#1#2.#3#4#5@{\ifnum#4<5 -#1#2\if#30\else -.#3\fi -\else -\expandafter\xP@removePT -\the\dimexpr#1#2.#3pt+\if#1--\fi.12pt\relax -\fi -} -\or -\def\xP@removePT@#1#2.#3#4#5#6@{\ifnum#5<5 -#1#2\if#40\if#30\else -.#3\fi -\else -.#3#4\fi -\else -\expandafter\xP@removePT -\the\dimexpr#1#2.#3#4pt+\if#1--\fi786sp\relax -\fi -} -\or -\def\xP@removePT@#1#2.#3#4#5#6#7@{\ifnum#6<5 -#1#2\if#50\if#40\if#30\else -.#3\fi -\else -.#3#4\fi -\else -.#3#4#5\fi -\else -\expandafter\xP@removePT -\the\dimexpr#1#2.#3#4#5pt+\if#1--\fi79sp\relax -\fi -} -\or -\def\xP@removePT@#1#2.#3#4#5#6#7#8@{\ifnum#7<5 -#1#2\if#60\if#50\if#40\if#30\else -.#3\fi -\else -.#3#4\fi -\else -.#3#4#5\fi -\else -.#3#4#5#6\fi -\else -\expandafter\xP@removePT -\the\dimexpr#1#2.#3#4#5#6pt+\if#1--\fi8sp\relax -\fi -} -\else -\let\xP@dim\xP@precdim -\fi -\AtBeginDocument{{\setbox0\hbox{$ $}}\@ifdefinable\xP@lw\relax -\@ifdefinable\xP@preclw\relax -\edef\xP@preclw{\the\fontdimen8\textfont3}\edef\xP@lw{\xP@dim\xP@preclw}\PackageInfo{xypdf}{Line width: \xP@preclw}} -\xP@hook{line@} -\newcommand*\xP@line@{\setboxz@h{\xP@setsolidpat -\xP@stroke{0 0 m \xP@coor{\cosDirection\xydashl@}{\sinDirection\xydashl@}l}}\U@c\sinDirection\xydashl@ -\D@c\z@ -\ifdim\U@c<\z@ -\multiply\U@c\m@ne -\xP@swapdim\U@c\D@c -\fi -\ht\z@\U@c -\dp\z@\D@c -\R@c\cosDirection\xydashl@ -\L@c\z@ -\ifdim\R@c<\z@ -\multiply\R@c\m@ne -\xP@swapdim\L@c\R@c -\fi -\hskip\L@c\box\z@\hskip\R@c -\edef\tmp@{\egroup\U@c\the\U@c\D@c\the\D@c\L@c\the\L@c\R@c\the\R@c}\tmp@ -\Edge@c={\rectangleEdge}\edef\Upness@{\ifdim\z@<\U@c1\else0\fi}\edef\Leftness@{\ifdim\z@<\L@c1\else0\fi}\def\Drop@@{\styledboxz@}\def\Connect@@{\solid@}} -\xP@hook{solid@} -\newcommand*\xP@solid@{\straight@\xP@solidSpread} -\@ifdefinable\xP@solidSpread\relax -\def\xP@solidSpread#1\repeat@{{\@tempswatrue -\ifdim\X@p=\X@c -\ifdim\Y@p=\Y@c -\@tempswafalse -\fi -\fi -\if@tempswa -\xP@setsolidpat -\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\X@c\Y@c l}\fi -}} -\newcommand*\xP@pattern{} -\newcommand*\xP@setsolidpat{\def\xP@pattern{1 J 1 j []0 d}\global\let\xP@lastpattern\xP@solidmacro -} -\newcommand*\xP@stroke[1]{\xP@literal{\xP@lw w \xP@pattern\space#1 S}} -\xP@hook{dash@} -\newcommand\xP@dash@{\line@\def\Connect@@{\straight@\xP@dashedSpread}} -\@ifdefinable\xP@dashedSpread\relax -\def\xP@dashedSpread#1\repeat@{{\xP@veclen -\ifdim\@tempdimb>\z@ -\xP@setdashpat -\xP@savec -\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\X@c\Y@c l}\fi -}} -\newcommand*\xP@setdashpat{\xP@testcont\xP@dashmacro -\ifxP@splinecont -{\count@\numexpr2*((\@tempdimb-\xydashl@/3)/(2*\xydashl@))\relax -\xdef\@gtempa{\ifnum\count@>\z@\xP@dim{\@tempdimb/\count@}\fi}}\edef\xP@pattern{1 J 1 j [\@gtempa]\ifx\@gtempa\empty0 \else\@gtempa\fi d}\else -\edef\xP@pattern{1 J 1 j [\ifdim\@tempdimb>\xydashl@ -\xP@dim{\@tempdimb/(2*((\@tempdimb+\xydashl@)/(2*\xydashl@))-1)}\fi -]0 d}\fi -\global\let\xP@lastpattern\xP@dashmacro -} -\xP@hook{point@} -\newcommand*\xP@point@{\xP@zerodot\egroup\Invisible@false -\Hidden@false\def\Leftness@{.5}\def\U@pness@{.5}\ctipEdge@ -\def\Drop@@{\styledboxz@}\def\Connect@@{\straight@\xP@dottedSpread}} -\newcommand*\xP@zerodot{\hb@xt@\z@{\hss -\vbox to\z@{\vss\hrule\@width\xP@preclw\@height\xP@preclw\vss}\hss}} -\@ifdefinable\xP@dottedSpread\relax -\def\xP@dottedSpread#1\repeat@{{\xP@veclen -\ifdim\@tempdimb>\z@ -\xP@setdottedpat -\xP@savec -\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\X@c\Y@c l}\fi -}} -\newcommand*\xP@setdottedpat{\xP@testcont\xP@dotmacro -\ifxP@splinecont -\@tempdima\dimexpr\@tempdimb/(\@tempdimb/131072+1)-\xP@preclw\relax -\edef\xP@pattern{0 J [\ifdim\@tempdima>\z@ -\xP@precdim\xP@preclw\xP@precdim\@tempdima -\fi -]\xP@precdim{\xP@preclw+1sp}d}\else -\advance\@tempdimb-\xP@preclw -\ifdim\@tempdimb<\z@\@tempdimb\z@\fi -\@tempdima\dimexpr\@tempdimb/(\@tempdimb/131072+1)-\xP@preclw\relax -\edef\xP@pattern{0 J [\ifdim\@tempdima>\z@ -\xP@lw\xP@dim\@tempdima -\fi -]0 d}\fi -\global\let\xP@lastpattern\xP@dotmacro -} -\newcommand*\xP@abs[1]{\ifdim#1<\z@\multiply#1\m@ne\fi} -\newcommand*\xP@ifabsless[2]{\ifpdfabsdim#1<#2} -\ifx\ifpdfabsdim\@undefined -\renewcommand*\xP@ifabsless[2]{\ifdim\ifdim#1<\z@-\fi#1<\ifdim#2<\z@-\fi#2} -\@gobble\fi -\fi -\newcommand*\xP@swapdim[2]{\@tempdima#1#1#2#2\@tempdima} -\newcommand*\xP@swapnum[2]{\@tempcnta#1#1#2#2\@tempcnta} -\newcommand*\xP@max[2]{\ifdim#1>#2#1\else#2\fi} -\newcommand*\xP@Max[2]{#1\ifdim#2<\z@\xP@max#1{-#2}\else\xP@max#1#2\fi} -\newcommand*\xP@sqrt{\loop -\@tempdimb\dimexpr(\@tempdimc+(\@tempdima*\p@/\@tempdimc))/2\relax -\ifdim\@tempdimc=\@tempdimb\else -\@tempdimc\@tempdimb\relax -\repeat -} -\newcommand*\xP@veclen{{\xP@veclen@ -\global\dimen@i\@tempdimb -}\@tempdimb\dimen@i -} -\newcommand*\xP@veclen@{\xP@abs\d@Y -\ifdim\d@X=\z@ -\@tempdimb\d@Y -\else -\xP@abs\d@X -\ifdim\d@Y=\z@ -\@tempdimb\d@X -\else -\@tempswatrue -\ifdim\d@X>5931641sp\relax\@tempswafalse\fi -\ifdim\d@Y>5931641sp\relax\@tempswafalse\fi -\if@tempswa -\count@\@ne -\loop -\@tempdima\dimexpr\d@X*\d@X/\p@+\d@Y*\d@Y/\p@\relax -\ifdim\@tempdima<4096pt -\@tempcnta\ifdim\@tempdima<1024pt\ifdim\@tempdima<256pt8\else4\fi\else\tw@\fi -\multiply\d@X\@tempcnta -\multiply\d@Y\@tempcnta -\multiply\count@\@tempcnta -\repeat -\@tempdimc\dimexpr(\d@X+\d@Y)*3/4\relax -\xP@sqrt -\@tempdimb\dimexpr\@tempdimb/\count@\relax -\else -\ifdim\d@X>83042982sp\relax\@tempswatrue\fi -\ifdim\d@Y>83042982sp\relax\@tempswatrue\fi -\if@tempswa -\@tempdima\dimexpr\d@X/182*\d@X/11927552+\d@Y/182*\d@Y/11927552\relax -\@tempdimc\dimexpr(\d@X+\d@Y)*3/728\relax -\xP@sqrt -\multiply\@tempdimb182\relax -\else -\@tempdima\dimexpr\d@X*\d@X/12845056+\d@Y*\d@Y/12845056\relax -\@tempdimc\dimexpr(\d@X+\d@Y)*3/56\relax -\xP@sqrt -\multiply\@tempdimb14\relax -\fi -\fi -\fi -\fi -} -\xP@hook{squiggledSpread@} -\@ifdefinable\xP@squiggledSpread@\relax -\def\xP@squiggledSpread@#1\repeat@{{\xP@veclen -\ifdim\@tempdimb>\z@ -\edef\@tempa{\xP@coor\X@p\Y@p m }\toks@\expandafter{\@tempa}\@tempcnta\numexpr\@tempdimb/\xybsqll@\relax -\ifnum\@tempcnta<\tw@\@tempcnta\tw@\fi -\@tempdima\dimexpr\d@X/\@tempcnta\relax -\@tempdimc\dimexpr\d@Y/\@tempcnta\relax -\xP@testcont\xP@oddsquigglemacro -\ifxP@splinecont -\def\xP@squigsign{-}\else -\let\xP@squigsign\empty -\fi -\count@\z@ -\loop -\xP@append\toks@{\xP@coor{\X@p+\d@X*\count@/\@tempcnta+(\@tempdima --\xP@squigsign\ifodd\count@-\fi\@tempdimc)*147546029/534618434}{\Y@p+\d@Y*\count@/\@tempcnta+(\@tempdimc -+\xP@squigsign\ifodd\count@-\fi\@tempdima)*147546029/534618434}}\advance\count@\@ne -\xP@append\toks@{\xP@coor{\X@p+\d@X*\count@/\@tempcnta-(\@tempdima --\xP@squigsign\ifodd\count@-\fi\@tempdimc)*147546029/534618434}{\Y@p+\d@Y*\count@/\@tempcnta-(\@tempdimc -+\xP@squigsign\ifodd\count@-\fi\@tempdima)*147546029/534618434}\xP@coor{\X@p+\d@X*\count@/\@tempcnta}{\Y@p+\d@Y*\count@/\@tempcnta}c }\ifnum\count@<\@tempcnta -\repeat -\xP@setsolidpat -\global\expandafter\let\expandafter\xP@lastpattern -\ifodd\numexpr\count@\if\xP@squigsign-+1\fi\relax -\xP@oddsquigglemacro -\else -\xP@evensquigglemacro -\fi -\xP@savec -\xP@stroke{\the\toks@}\fi -}} -\newcommand*\xP@squigsign{} -\newcommand*\xP@append[2]{{\edef\@tempa{#1{\the#1#2}}\expandafter}\@tempa -} -\xP@hook{circhar@@} -\newcommand*\xP@circhar@@[1]{\expandafter\xP@circhar@@@\ifcase#1 000{-173517671/654249180}{65307479/619869377}{-34221476/65864945}{225058681/768398401}{-543339720/768398401}\or -0{-543339720/768398401}{181455824/967576667}{-554561898/619869377}{826676217/1870772527}{-1}{543339720/768398401}{-1}\or -0{-1}{173517671/654249180}{-1}{34221476/65864945}{-554561898/619869377}{543339720/768398401}{-543339720/768398401}\or -0{-543339720/768398401}{181455824/967576667}{-34221476/65864945}{225058681/768398401}{-173517671/654249180}{225058681/768398401}0\or -0{543339720/768398401}{181455824/967576667}{34221476/65864945}{225058681/768398401}{173517671/654249180}{225058681/768398401}0\or -01{173517671/654249180}1{34221476/65864945}{554561898/619869377}{543339720/768398401}{543339720/768398401}\or -0{543339720/768398401}{181455824/967576667}{554561898/619869377}{826676217/1870772527}1{543339720/768398401}1\or -000{173517671/654249180}{65307479/619869377}{34221476/65864945}{225058681/768398401}{543339720/768398401}\fi} -\newcommand\xP@circhar@@@[8]{\xP@setsolidpat -\xP@stroke{\xP@coor{\R@*#1}{\R@*#2}m -\xP@coor{\R@*#3}{\R@*#4}\xP@coor{\R@*#5}{\R@*#6}\xP@coor{\R@*#7}{\R@*#8}c}\vrule width\z@ height\R@ depth\R@ -\kern\dimexpr\R@*#7\relax -} -\xP@hook{cirrestrict@@} -\newcommand*\xP@cirrestrict@@{\count@\z@\relax} -\newcommand*\xP@optionalsection[1]{\expandafter\ifx\csname xy#1loaded\endcsname\relax -\xywithoption{#1}{\xP@optionerror{#1}}\expandafter\xP@gobblepart -\else -\message{`#1' extension support,}\fi -} -\newcommand*\xP@optionerror[1]{\PackageError{xypdf}{Load the Xy-pic "#1" option before the xypdf package}{}} -\@ifdefinable\xP@gobblepart\relax -\def\xP@gobblepart#1\xP@endgobble{} -\newcommand*\xP@endgobble{\relax} -\xP@optionalsection{rotate} -\newcommand*\xP@scale[2]{\setboxz@h{\hskip\L@p -\hskip-\R@p -\lower\U@p\hbox{\xP@cm{#1}00{#2}{\raise\U@p\hb@xt@\z@{\hskip-\L@p\boxz@\hss}}}}\global\let\xP@lastpattern\empty -} -\newcommand\xP@rotate{\xP@rotate@\xP@trigfromdir} -\@ifdefinable\xP@specialrotate\relax -\def\xP@specialrotate#1@@{\xP@rotate@\xP@trig{#1pt}} -\newcommand*\xP@rotate@[2]{\setboxz@h{#1{#2}\hskip\L@p -\hskip-\R@p -\lower\U@p\hbox{\xP@cm\cosDirection\sinDirection -{\if-\sinDirection\else-\sinDirection\fi}\cosDirection -{\raise\U@p\hb@xt@\z@{\hskip-\L@p\boxz@\hss}}}}\global\let\xP@lastpattern\empty -} -\CheckCommand*\xyRotate@@[1]{\xyundefinedRotate@{rotate}{#1}@@} -\let\xyRotate@@\xP@rotate -\def\@tempa#1@@{\xyundefinedRotate@{special rotate}{#1}@@} -\@check@eq\doSpecialRotate@@\@tempa -\let\doSpecialRotate@@\xP@specialrotate -\CheckCommand*\xyscale@[2]{\xyundefinedRotate@{scale}{#1,#2}@@} -\let\xyscale@@\xP@scale -\newcommand*\xP@trig[1]{\@tempdima\dimexpr#1\relax -\@tempdimb\@tempdima -\divide\@tempdimb23592960 -\advance\@tempdima-23592960\@tempdimb -\ifdim\@tempdima<\z@\advance\@tempdima360pt\fi -\@tempdimb\@tempdima -\divide\@tempdimb5898240 -\ifcase\@tempdimb -\xP@sinpoly -\edef\sinDirection{\xP@EARPT\@tempdimb}\@tempdima\dimexpr90pt-\@tempdima\relax -\xP@sinpoly -\edef\cosDirection{\xP@EARPT\@tempdimb}\or -\@tempdima\dimexpr180pt-\@tempdima\relax -\xP@sinpoly -\edef\sinDirection{\xP@EARPT\@tempdimb}\@tempdima\dimexpr90pt-\@tempdima\relax -\xP@sinpoly -\edef\cosDirection{\xP@EARPT\dimexpr-\@tempdimb\relax}\or -\@tempdima\dimexpr\@tempdima-180pt\relax -\xP@sinpoly -\edef\sinDirection{\xP@EARPT\dimexpr-\@tempdimb\relax}\@tempdima\dimexpr90pt-\@tempdima\relax -\xP@sinpoly -\edef\cosDirection{\xP@EARPT\dimexpr-\@tempdimb\relax}\or -\@tempdima\dimexpr360pt-\@tempdima\relax -\xP@sinpoly -\edef\sinDirection{\xP@EARPT\dimexpr-\@tempdimb\relax}\@tempdima\dimexpr90pt-\@tempdima\relax -\xP@sinpoly -\edef\cosDirection{\xP@EARPT\@tempdimb}\else -\PackageError{xypdf}{Unexpected case in sin/cos calculation}{Feel free to contact the author of the xypdf package with a minimal example.}\fi -} -\newcommand*\xP@sinpoly{{\ifdim\@tempdima<49pt -\ifdim\@tempdima<27pt -\@tempdimb\dimexpr((\@tempdima*-529771058/16039085-1384933sp)*\@tempdima/268756075+10714164sp)*\@tempdima/613777813\relax -\else -\advance\@tempdima-27pt -\@tempdimb\dimexpr(((\@tempdima*-743101305/20672414-238989613sp)*\@tempdima/80975565+42661556sp)*\@tempdima/622461739+2\p@)*157520747/693945047\relax -\fi -\else -\ifdim\@tempdima<70pt -\advance\@tempdima-49pt -\@tempdimb\dimexpr(((\@tempdima*-348406699/107952940-55079229sp)*\@tempdima/866635628+408805sp)*\@tempdima/26926757+\p@)*135751711/179873976\relax -\else -\advance\@tempdima-70pt -\@tempdimb\dimexpr(((\@tempdima*-1015850353/137849442-460519207sp)*\@tempdima/8742349+142263941sp)*\@tempdima/972432199+23\p@)*31253604/764969669\relax -\fi -\fi -\global\dimen@i\@tempdimb -}\@tempdimb\dimen@i -} -\xP@endgobble -\newcommand*\xP@trigfromdir[1]{{\Direction#1\relax -\count@-\Direction -\advance\count@4096 -\divide\count@2048 -\ifcase\count@ -\d@X\K@\p@ -\d@Y\numexpr\Direction-3*\K@\relax\p@ -\or -\d@X\numexpr\Direction-\K@\relax\p@ -\d@Y-\K@\p@ -\or -\d@X-\K@\p@ -\d@Y\numexpr-\Direction-\K@\relax\p@ -\or -\d@X\numexpr-\Direction-3*\K@\relax\p@ -\d@Y\K@\p@ -\else -\PackageError{xypdf}{Unexpected case in direction calculation}{Feel free to contact the author of the xypdf package with a minimal example.}\fi -\xP@veclen -\xdef\@gtempa{\def\noexpand\cosDirection{\xP@EARPT\dimexpr\d@X*\p@/\@tempdimb\relax}\def\noexpand\sinDirection{\xP@EARPT\dimexpr\d@Y*\p@/\@tempdimb\relax}}}\@gtempa -} -\xP@optionalsection{curve} -\newcommand*\xP@tempvar[2]{\@ifdefinable#1\relax -\let#1#2} -\xP@tempvar\xP@bigdim\quotPTK@ -\xP@tempvar\xP@parA\L@p -\xP@tempvar\xP@velA\U@p -\xP@tempvar\xP@parB\R@p -\xP@tempvar\xP@velB\D@p -\xP@tempvar\xP@parC\X@origin -\xP@tempvar\xP@velC\Y@origin -\xP@tempvar\xP@parD\X@xbase -\xP@tempvar\xP@velD\Y@xbase -\xP@tempvar\xP@parE\X@ybase -\xP@tempvar\xP@velE\Y@ybase -\xP@tempvar\xP@lenA\X@min -\xP@tempvar\xP@lenB\Y@min -\xP@tempvar\xP@partlen\X@max -\xP@tempvar\xP@oldpartlen\Y@max -\xP@tempvar\xP@tolerance\almostz@ -\xP@tempvar\xP@A\L@p -\xP@tempvar\xP@B\U@p -\xP@tempvar\xP@C\R@p -\xP@tempvar\xP@D\D@p -\xP@tempvar\xP@E\X@origin -\xP@tempvar\xP@F\Y@origin -\xP@tempvar\xP@G\X@xbase -\xP@tempvar\xP@H\Y@xbase -\xP@tempvar\xP@I\X@ybase -\xP@tempvar\xP@J\Y@ybase -\xP@tempvar\xP@K\X@min -\xP@tempvar\xP@L\Y@min -\xP@tempvar\xP@fa\X@max -\xP@tempvar\xP@fd\Y@max -\xP@tempvar\xP@tm\almostz@ -\xP@tempvar\xP@xm\K@dXdY -\xP@tempvar\xP@ym\K@dYdX -\@tempcnta\count11\relax -\newdimen\xP@off -\newdimen\xP@ta -\newdimen\xP@tb -\newdimen\xP@tc -\newdimen\xP@M -\newdimen\xP@oldobj -\newdimen\xP@Tax -\newdimen\xP@Tay -\newdimen\xP@Tdx -\newdimen\xP@Tdy -\newdimen\xP@Tmx -\newdimen\xP@Tmy -\newdimen\xP@xa -\newdimen\xP@ya -\newdimen\xP@xb -\newdimen\xP@yb -\newdimen\xP@xc -\newdimen\xP@yc -\newdimen\xP@xd -\newdimen\xP@yd -\count11\@tempcnta -\xP@tempvar\xP@a\X@ybase -\xP@tempvar\xP@b\Y@ybase -\xP@tempvar\xP@c\X@min -\xP@tempvar\xP@valA\Y@min -\xP@tempvar\xP@valB\X@max -\xP@tempvar\xP@devA\Y@max -\xP@tempvar\xP@devB\almostz@ -\xP@tempvar\xP@ti\K@dXdY -\xP@tempvar\xP@tip\K@dYdX -\xP@tempvar\xP@sa\xP@Tax -\xP@tempvar\xP@sb\xP@Tay -\xP@tempvar\xP@sc\xP@Tdx -\xP@tempvar\xP@Ab\xP@Tdy -\xP@tempvar\xP@AAb\xP@Tmx -\xP@tempvar\xP@Aba\xP@Tmy -\xP@tempvar\xP@Abb\xP@xa -\xP@tempvar\xP@Abc\xP@ya -\xP@tempvar\xP@AAba\xP@xb -\xP@tempvar\xP@AAbb\xP@yb -\xP@tempvar\xP@AAbc\xP@xc -\xP@tempvar\xP@dta\xP@yc -\xP@tempvar\xP@dtb\xP@xd -\xP@tempvar\xP@dtc\xP@yd -\xP@tempvar\xP@temppar\X@origin -\xP@tempvar\xP@tempvel\Y@origin -\xP@tempvar\xP@posX\X@xbase -\xP@tempvar\xP@posY\Y@xbase -\xP@tempvar\xP@oldpar\X@ybase -\xP@tempvar\xP@lastpar\Y@ybase -\xP@tempvar\xP@tempvel@\X@min -\xP@tempvar\xP@parinc\Y@min -\xP@tempvar\xP@squiglen\almostz@ -\xP@tempvar\xP@scaleone\K@ -\xP@tempvar\xP@scaletwo\KK@ -\xP@tempvar\xP@scalethree\Direction -\xP@hook{splinesolid@} -\newcommand*\xP@splinesolid@{\xP@spline\xP@setsolidpat} -\xP@hook{splinedashed@} -\newcommand*\xP@splinedashed@{\xP@spline\xP@setdashpat} -\xP@hook{splinedotted@} -\newcommand*\xP@splinedotted@{\xP@spline\xP@setdottedpat} -\newcommand*\xP@spline[1]{\readsplineparams@ -\ifdim\dimen5<\dimen7 -\xP@preparespline -\ifdim\@tempdimb>\z@ -#1\xP@stroke{\xP@coor\X@p\Y@p m \xP@coor\L@c\U@c\xP@coor\R@c\D@c\xP@coor\X@c\Y@c c}\xP@savec -\fi -\fi -} -\newcommand*\xP@preparespline{\ifx\splineinfo@\squineinfo@ -\L@c\dimexpr(\X@p+2\A@)/3\relax -\U@c\dimexpr(\Y@p+2\B@)/3\relax -\R@c\dimexpr(\X@c+2\A@)/3\relax -\D@c\dimexpr(\Y@c+2\B@)/3\relax -\fi -\xP@shavespline -\xP@bezierlength -} -\newcommand*\xP@inibigdim{\xP@bigdim5040pt} -\newcommand*\xP@shavespline{\xP@shaveprec{\dimen5*\xP@bigdim/\p@}{\dimen7*\xP@bigdim/\p@}} -\newcommand*\xP@shaveprec[2]{{\xP@inibigdim -\A@\dimexpr#1\relax -\B@\dimexpr#2\relax -\@tempswatrue -\ifdim\A@=\z@\ifdim\B@=\xP@bigdim\@tempswafalse\fi\fi -\if@tempswa -\L@p\dimexpr\L@c-\X@p\relax -\U@p\dimexpr\R@c-\L@p-\L@c\relax -\R@p\dimexpr\X@c-3\R@c+3\L@c-\X@p\relax -\D@p\dimexpr\U@c-\Y@p\relax -\X@min\dimexpr\D@c-\D@p-\U@c\relax -\Y@min\dimexpr\Y@c-3\D@c+3\U@c-\Y@p\relax -\xdef\@gtempa{\X@p\the\dimexpr\X@p+(3\L@p+(3\U@p+\R@p*\A@/\xP@bigdim)*\A@/\xP@bigdim)*\A@/\xP@bigdim\relax -\Y@p\the\dimexpr\Y@p+(3\D@p+(3\X@min+\Y@min*\A@/\xP@bigdim)*\A@/\xP@bigdim)*\A@/\xP@bigdim\relax -\L@c\the\dimexpr\X@p+(2\A@+\B@)*\L@p/\xP@bigdim+((\A@+2\B@)*\U@p/\xP@bigdim+\R@p*\A@/\xP@bigdim*\B@/\xP@bigdim)*\A@/\xP@bigdim\relax -\U@c\the\dimexpr\Y@p+(2\A@+\B@)*\D@p/\xP@bigdim+((\A@+2\B@)*\X@min/\xP@bigdim+\Y@min*\A@/\xP@bigdim*\B@/\xP@bigdim)*\A@/\xP@bigdim\relax -\R@c\the\dimexpr\X@p+(2\B@+\A@)*\L@p/\xP@bigdim+((\B@+2\A@)*\U@p/\xP@bigdim+\R@p*\B@/\xP@bigdim*\A@/\xP@bigdim)*\B@/\xP@bigdim\relax -\D@c\the\dimexpr\Y@p+(2\B@+\A@)*\D@p/\xP@bigdim+((\B@+2\A@)*\X@min/\xP@bigdim+\Y@min*\B@/\xP@bigdim*\A@/\xP@bigdim)*\B@/\xP@bigdim\relax -\X@c\the\dimexpr\X@p+(3\L@p+(3\U@p+\R@p*\B@/\xP@bigdim)*\B@/\xP@bigdim)*\B@/\xP@bigdim\relax -\Y@c\the\dimexpr\Y@p+(3\D@p+(3\X@min+\Y@min*\B@/\xP@bigdim)*\B@/\xP@bigdim)*\B@/\xP@bigdim\relax}\else -\global\let\@gtempa\relax -\fi -}\@gtempa -} -\newcommand*\xP@bezierlength{{\xP@inibigdim -\@tempdimb\z@ -\xP@parA\z@ -\xP@velocity\z@\xP@velA -\xP@parC.5\xP@bigdim -\xP@velocity\xP@parC\xP@velC -\xP@velocity\xP@bigdim\xP@velE -\xP@oldpartlen\dimexpr(\xP@velA+4\xP@velC+\xP@velE)/6\relax -\xP@tolerance\xP@max{1sp}{\dimexpr\xP@oldpartlen/100000\relax}\xP@arclength\xP@parC\xP@velC\xP@bigdim\xP@velE\xP@oldpartlen -\global\dimen@i\@tempdimb -}\@tempdimb\dimen@i -} -\newcommand*\xP@velocity[2]{{\@tempdima\dimexpr#1\relax -\xP@tangent -\global\dimen@i\@tempdimb -}#2\dimen@i -} -\newcommand*\xP@tangent{\d@X3\xP@precbeziertan\X@p\L@c\R@c\X@c\@tempdima -\d@Y3\xP@precbeziertan\Y@p\U@c\D@c\Y@c\@tempdima -\xP@veclen -} -\newcommand*\xP@tangentvec[1]{{\@tempdima#1\relax -\xP@tangent -\ifdim\@tempdimb=\z@ -\L@p\dimexpr\X@c-\X@p+(\L@c-\R@c)*3\relax -\U@p\dimexpr\Y@c-\Y@p+(\U@c-\D@c)*3\relax -\d@X\dimexpr\L@p*\@tempdima/\xP@bigdim+(\X@p-2\L@c+\R@c)\relax -\d@Y\dimexpr\U@p*\@tempdima/\xP@bigdim+(\Y@p-2\U@c+\D@c)\relax -\xP@veclen -\ifdim\@tempdimb=\z@ -\d@X\L@p -\d@Y\U@p -\xP@veclen -\ifdim\@tempdimb=\z@ -\PackageWarning{xypdf}{Cannot determine a tangent vector to a curve}\@tempdimb\p@ -\fi -\fi -\fi -\global\dimen@i\d@X -\global\dimen3\d@Y -\global\dimen5\@tempdimb -}\d@X\dimen@i -\d@Y\dimen3\relax -\@tempdimb\dimen5\relax -} -\newcommand*\xP@arclength[5]{\xP@parE#3\xP@velE#4\xP@parC#1\xP@velC#2\xP@oldpartlen#5\xP@parB\dimexpr(\xP@parC+\xP@parA)/2\relax -\xP@velocity\xP@parB\xP@velB -\xP@parD\dimexpr(\xP@parE+\xP@parC)/2\relax -\xP@velocity\xP@parD\xP@velD -\xP@lenA -\dimexpr(\xP@velA+4\xP@velB+\xP@velC)/6*(\xP@parC-\xP@parA)/\xP@bigdim\relax -\xP@lenB -\dimexpr(\xP@velC+4\xP@velD+\xP@velE)/6*(\xP@parE-\xP@parC)/\xP@bigdim\relax -\xP@partlen\dimexpr\xP@lenA+\xP@lenB\relax -{\@tempdima\dimexpr\xP@oldpartlen-\xP@partlen\relax -\expandafter}\ifdim\ifdim\@tempdima<\z@-\fi\@tempdima>\xP@tolerance -\edef\next@{\noexpand\xP@arclength\xP@parB\xP@velB\xP@parC\xP@velC\xP@lenA -\noexpand\xP@arclength{\the\xP@parD}{\the\xP@velD}{\the\xP@parE}{\the\xP@velE}{\the\xP@lenB}}\else -\xP@parA\xP@parE -\xP@velA\xP@velE -\advance\@tempdimb\xP@partlen -\DN@{}\fi -\next@ -} -\CheckCommand*\@crv@[2]{\DN@{#1#2}\ifx\next@\empty \edef\next@{\crv@defaultshape}\ifx\bstartPLACE@\empty \xdef\crvSTYLE@@{{\crv@defaultshape}}\fi -\else -\ifx\bstartPLACE@\empty \gdef\crvSTYLE@@{#1{#2}}\fi -\fi -\ifx\next@\empty \crv@noobject \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{-}\ifx\next@\tmp@ \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{=}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{=}}}\else\def\tmp@{2-}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{2.}}}\else\def\tmp@{3-}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{3.}}}\else\def\tmp@{--}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@specialtemplate@{--}}\else\def\tmp@{==}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{2--}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{3--}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{--}}}\else\def\tmp@{.}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else\def\tmp@{:}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{2.}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{..}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else -\DN@{\expandafter\crv@\crv@othertemplate{\dir#1{#2}}}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \next@} -\xP@hook{@crv@} -\newcommand*\xP@@crv@[2]{\DN@{#1#2}\ifx\next@\empty \edef\next@{\crv@defaultshape}\ifx\bstartPLACE@\empty \xdef\crvSTYLE@@{{\crv@defaultshape}}\fi -\else -\ifx\bstartPLACE@\empty \gdef\crvSTYLE@@{#1{#2}}\fi -\fi -\ifx\next@\empty \crv@noobject \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{-}\ifx\next@\tmp@ \DN@{\crv@{}{\xy@@crvaddstack@}}\else\def\tmp@{=}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{=}}}\else\def\tmp@{2-}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{2.}}}\else\def\tmp@{3-}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{3.}}}\else\def\tmp@{--}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@specialtemplate@{--}}\else\def\tmp@{==}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{2--}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{--}}}\else\def\tmp@{3--}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{--}}}\else\def\tmp@{.}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else\def\tmp@{:}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{2.}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{:}}}\else\def\tmp@{3.}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{.}}}\else\def\tmp@{~}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir{~}}}\else\def\tmp@{2~}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir2{~}}}\else\def\tmp@{3~}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@normaltemplate{\dir3{~}}}\else\def\tmp@{..}\ifx\next@\tmp@ -\DN@{\expandafter\crv@\crv@specialtemplate@{.}}\else -\DN@{\expandafter\crv@\crv@othertemplate{\dir#1{#2}}}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\next@} -\CheckCommand*\xysplinespecialcases@{\ifx\empty\xycrvdrop@ -\ifx\empty\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir{-}}\ifx\next@\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir 2{-}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir{=}}\ifx\next@\xycrvconn@ \DN@{\splineribboned@}\else \DN@{ \dir {2.}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir 3{-}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir {3.}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir{--}}\ifx\next@\xycrvconn@ \DN@{\splinedashed@}\else \DN@{ \dir{.}}\ifx\next@\xycrvconn@ \DN@{\splinedotted@}\else \DN@{ \dir{:}}\ifx\next@\xycrvconn@ \DN@{\splinedbldotted@}\else \ifdim\splinetol@>\z@ \else \splinedefaulttol@ \fi -\DN@{\splineset@@}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi -\else -\DN@{\splineset@@}\fi \ifInvisible@\DN@{}\fi \next@ } -\xP@hook{xysplinespecialcases@} -\newcommand*\xP@xysplinespecialcases@{\ifx\empty\xycrvdrop@ -\ifx\empty\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir{-}}\ifx\next@\xycrvconn@ \DN@{\splinesolid@}\else \DN@{ \dir 2{-}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir{=}}\ifx\next@\xycrvconn@ \DN@{\splineribboned@}\else \DN@{ \dir {2.}}\ifx\next@\xycrvconn@ \DN@{\splinedoubled@}\else \DN@{ \dir 3{-}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir {3.}}\ifx\next@\xycrvconn@ \DN@{\splinetrebled@}\else \DN@{ \dir{--}}\ifx\next@\xycrvconn@ \DN@{\splinedashed@}\else \DN@{ \dir{.}}\ifx\next@\xycrvconn@ \DN@{\splinedotted@}\else \DN@{ \dir{:}}\ifx\next@\xycrvconn@ \DN@{\splinedbldotted@}\else \DN@{ \dir2{.}}\ifx\next@\xycrvconn@ \DN@{\splinedbldotted@}\else \DN@{ \dir3{.}}\ifx\next@\xycrvconn@ \DN@{\xP@splinetrbldotted}\else \DN@{ \dir2{--}}\ifx\next@\xycrvconn@ \DN@{\xP@splinedbldashed}\else \DN@{ \dir3{--}}\ifx\next@\xycrvconn@ \DN@{\xP@splinetrbldashed}\else \DN@{ \dir{~}}\ifx\next@\xycrvconn@ \DN@{\xP@splinesquiggled}\else \DN@{ \dir2{~}}\ifx\next@\xycrvconn@ \DN@{\xP@splinedblsquiggled}\else \DN@{ \dir3{~}}\ifx\next@\xycrvconn@ \DN@{\xP@splinetrblsquiggled}\else \ifdim\splinetol@>\z@ \else \splinedefaulttol@ \fi -\DN@{\splineset@@}\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi -\else -\DN@{\splineset@@}\fi \ifInvisible@\DN@{}\fi \next@ } -\xP@hook{splinedoubled@} -\newcommand*\xP@splinedoubled@{\xP@checkspline\xP@splinemultsolid\xP@doublestroke} -\xP@hook{splineribboned@} -\@ifdefinable\xP@splineribboned@\relax -\let\xP@splineribboned@\xP@splinedoubled@ -\xP@hook{splinetrebled@} -\newcommand*\xP@splinetrebled@{\xP@checkspline\xP@splinemultsolid\xP@trblstroke} -\newcommand*\xP@doublestroke{\xydashh@/2,-\xydashh@/2} -\newcommand*\xP@trblstroke{\xydashh@,\z@,-\xydashh@} -\newcommand*\xP@checkspline[1]{\readsplineparams@ -\let\next@\@gobble -\ifdim\dimen5<\dimen7 -\xP@preparespline -\ifdim\@tempdimb>\z@ -\ifdim\@tempdimb<2\dimexpr\xP@preclw\relax -\let\next@\xP@splinemultsolid -\else -\let\next@#1\fi -\fi -\fi -\next@ -} -\newcommand*\xP@splinemultsolid[1]{{\xP@inibigdim -\@temptokena{}\xP@setsolidpat -\@for\@tempa:={#1}\do{\xP@paintsolid\z@\xP@bigdim}\xP@stroke{\the\@temptokena}}} -\newcommand*\xP@paintsolid[2]{{\xP@savepts -\xP@a#1\relax -\xP@c#2\relax -\xP@movetotrue -\xP@paintsolid@ -\xdef\@gtempa{\the\@temptokena}}\@temptokena\expandafter{\@gtempa}} -\newcommand*\xP@paintsolid@{\xP@b\xP@c -\xP@off\dimexpr\@tempa\relax -\ifdim\xP@off=\z@ -\xP@shaveprec\xP@a\xP@c -\else -\loop -\xP@restorepts -\xP@offsetsegment -\xP@testoffset -\ifxP@offsetok -\else -\xP@b\dimexpr\xP@a+(\xP@b-\xP@a)*7/10\relax -\repeat -\fi -\xP@append\@temptokena{\ifxP@moveto\xP@coor\X@p\Y@p m \fi -\xP@coor\L@c\U@c\xP@coor\R@c\D@c\xP@coor\X@c\Y@c c }\xP@movetofalse -\ifdim\xP@b<\xP@c\relax -\xP@a\xP@b -\expandafter\xP@paintsolid@ -\fi -} -\@ifdefinable\ifxP@moveto\relax -\@ifdefinable\xP@movetotrue\relax -\@ifdefinable\xP@movetofalse\relax -\newif\ifxP@moveto -\newcommand*\xP@savepts{\xP@xa\X@p -\xP@ya\Y@p -\xP@xb\L@c -\xP@yb\U@c -\xP@xc\R@c -\xP@yc\D@c -\xP@xd\X@c -\xP@yd\Y@c -} -\newcommand*\xP@restorepts{\X@p\xP@xa -\Y@p\xP@ya -\L@c\xP@xb -\U@c\xP@yb -\R@c\xP@xc -\D@c\xP@yc -\X@c\xP@xd -\Y@c\xP@yd -} -\@ifdefinable\xP@tmx\relax -\@ifdefinable\xP@tmy\relax -\newcommand*\xP@Tmxy{*\xP@Tmx/\xP@Tmy} -\newcommand*\xP@Tmyx{*\xP@Tmy/\xP@Tmx} -\newcommand*\xP@Tmzero{*\z@} -\newcommand*\xP@offsetsegment{{\xP@tangentvec\xP@a -\xP@xa\dimexpr\xP@precbezierpoly\X@p\L@c\R@c\X@c\xP@a/8+\d@Y*\xP@off/\@tempdimb\relax -\xP@ya\dimexpr\xP@precbezierpoly\Y@p\U@c\D@c\Y@c\xP@a/8-\d@X*\xP@off/\@tempdimb\relax -\xP@scaleT -\xP@Tax\d@X -\xP@Tay\d@Y -\xP@E\@tempdimb -\xP@tangentvec\xP@b -\xP@xd\dimexpr\xP@precbezierpoly\X@p\L@c\R@c\X@c\xP@b/8+\d@Y*\xP@off/\@tempdimb\relax -\xP@yd\dimexpr\xP@precbezierpoly\Y@p\U@c\D@c\Y@c\xP@b/8-\d@X*\xP@off/\@tempdimb\relax -\xP@scaleT -\xP@Tdx-\d@X -\xP@Tdy-\d@Y -\xP@F\@tempdimb -\xP@M\z@ -\xP@Max\xP@M\xP@Tdx -\xP@Max\xP@M\xP@Tdy -\xP@L\dimexpr\xP@Tax*\xP@Tdx/\xP@M+\xP@Tay*\xP@Tdy/\xP@M\relax -\xP@tm\dimexpr(\xP@a+\xP@b)/2\relax -\ifdim\xP@L>\dimexpr\xP@E*\xP@F/\xP@M*49/50\relax -\d@X-\dimexpr\xP@Tay+\xP@Tdy\relax -\d@Y\dimexpr\xP@Tax+\xP@Tdx\relax -\xP@veclen -\xP@A\dimexpr\X@c-\X@p\relax -\xP@B\dimexpr\Y@c-\Y@p\relax -\xP@M\z@ -\xP@Max\xP@M\xP@A -\xP@Max\xP@M\xP@B -\ifdim\xP@M=\z@ -\xP@A\dimexpr\R@c-\L@c\relax -\xP@B\dimexpr\D@c-\U@c\relax -\xP@Max\xP@M\xP@A -\xP@Max\xP@M\xP@B -\fi -\xP@M\dimexpr\d@X*\xP@A/\xP@M+\d@Y*\xP@B/\xP@M\relax -\ifdim\xP@M<\z@ -\multiply\d@X\m@ne -\multiply\d@Y\m@ne -\fi -\else -\xP@tangentvec\xP@tm -\fi -\xP@xm\dimexpr\xP@precbezierpoly\X@p\L@c\R@c\X@c\xP@tm -+8\d@Y*\xP@off/\@tempdimb\relax -\xP@ym\dimexpr\xP@precbezierpoly\Y@p\U@c\D@c\Y@c\xP@tm --8\d@X*\xP@off/\@tempdimb\relax -\xP@Tmx\d@X -\xP@Tmy\d@Y -\xP@ifabsless\xP@Tmy\xP@Tmx -\let\xP@tmy\xP@Tmyx -\let\xP@tmx\empty -\else -\ifdim\xP@Tmy=\z@ -\let\xP@tmx\xP@Tmzero -\let\xP@tmy\xP@Tmzero -\else -\let\xP@tmy\empty -\let\xP@tmx\xP@Tmxy -\fi -\fi -\xP@fa\p@ -\xP@fd\p@ -\xP@tm\p@ -\count@\z@ -\loop -\xP@offsetpoints -\@tempswafalse -\ifnum10>\count@ -\xP@objfun\xP@oldobj -\ifdim\xP@oldobj>\xP@maxobjfun\relax\@tempswatrue\fi -\fi -\if@tempswa -\xP@offsetloop -\repeat -\xdef\@gtempa{\X@p\the\xP@xa\Y@p\the\xP@ya -\L@c\the\xP@xb\U@c\the\xP@yb\R@c\the\xP@xc\D@c\the\xP@yc -\X@c\the\xP@xd\Y@c\the\xP@yd\relax}}\@gtempa -} -\newcommand*\xP@scaleT{\xP@B6.28\xP@off -\xP@abs\xP@B -\xP@C\dimexpr\d@X*\xP@B/\@tempdimb\relax -\xP@D\dimexpr\d@Y*\xP@B/\@tempdimb\relax -\xP@A\dimexpr\xP@b-\xP@a\relax -\d@X\dimexpr\xP@C+\d@X*\xP@A/\xP@bigdim\relax -\d@Y\dimexpr\xP@D+\d@Y*\xP@A/\xP@bigdim\relax -\@tempdimb\dimexpr\xP@B+\@tempdimb*\xP@A/\xP@bigdim\relax -} -\newcommand*\xP@offsetloop{\xP@C\dimexpr\xP@C/2\relax -\xP@G\dimexpr\xP@G/2\relax -\xP@ta\dimexpr2\p@-\xP@tm\relax -\xP@tb\dimexpr\xP@tm*\xP@ta/\p@\relax -\xP@A\dimexpr\xP@Tax*\xP@tb/\p@*\xP@ta/\p@\relax -\xP@B\dimexpr\xP@Tdx*\xP@tb/\p@*\xP@tm/\p@\relax -\xP@E\dimexpr\xP@Tay*\xP@tb/\p@*\xP@ta/\p@\relax -\xP@F\dimexpr\xP@Tdy*\xP@tb/\p@*\xP@tm/\p@\relax -\xP@tb\dimexpr2\p@-3\xP@tm\relax -\xP@tc\dimexpr\xP@tb+2\p@\relax -\xP@I\dimexpr(2\xP@Tay\xP@tmx-2\xP@Tax\xP@tmy)*\xP@tb/\p@*\xP@ta/\p@\relax -\xP@J\dimexpr(2\xP@Tdy\xP@tmx-2\xP@Tdx\xP@tmy)*\xP@tc/\p@*\xP@tm/\p@\relax -\xP@K\dimexpr((\xP@yd-\xP@ya+(\xP@yb-\xP@yc)*3) -*\xP@tm/\p@+(\xP@yc-2\xP@yb+\xP@ya)*2)*12\xP@tmx --((\xP@xd-\xP@xa+(\xP@xb-\xP@xc)*3) -*\xP@tm/\p@+(\xP@xc-2\xP@xb+\xP@xa)*2)*12\xP@tmy\relax -\xP@solvelinearsystem -\ifxP@validsol -\xP@correctsol -\ifdim\xP@ta=\z@ -\ifdim\xP@tb=\z@ -\ifdim\xP@tc=\z@ -\xP@validsolfalse -\fi\fi\fi -\fi -\ifxP@validsol -\else -\xP@applinsys -\advance\xP@fa-\xP@ta -\advance\xP@fd-\xP@tb -\advance\xP@tm-\xP@tc -\ifdim\xP@tm<\z@\xP@tm\z@\fi -\ifdim\xP@tm>2\p@\xP@tm2\p@\fi -\fi -\advance\count@\@ne -} -\newcommand*\xP@maxsol{3pt} -\newcommand*\xP@correctsol{\xP@M\z@ -\xP@Max\xP@M\xP@ta -\xP@Max\xP@M\xP@tb -\xP@Max\xP@M\xP@tc -\ifdim\xP@M>\xP@maxsol -\xP@ta\dimexpr\xP@maxsol*\xP@ta/\xP@M\relax -\xP@tb\dimexpr\xP@maxsol*\xP@tb/\xP@M\relax -\xP@tc\dimexpr\xP@maxsol*\xP@tc/\xP@M\relax -\fi -\advance\xP@fa-\xP@ta -\advance\xP@fd-\xP@tb -\xP@M\xP@tm -\advance\xP@tm-\xP@tc -\ifdim\xP@tm<\z@\xP@tm\z@\fi -\ifdim\xP@tm>2\p@\xP@tm2\p@\fi -{\xP@offsetpoints -\xP@objfun\xP@M -\expandafter}\ifdim\xP@M>\xP@oldobj -\advance\xP@fa\xP@ta -\advance\xP@fd\xP@tb -\xP@tm\xP@M -\xP@validsolfalse -\fi -} -\newcommand*\xP@objfun[1]{\xP@D\dimexpr\xP@bezierpoly\xP@xa\xP@xb\xP@xc\xP@xd\xP@tm-\xP@xm\relax -\xP@H\dimexpr\xP@bezierpoly\xP@ya\xP@yb\xP@yc\xP@yd\xP@tm-\xP@ym\relax -\xP@C\xP@beziertan\xP@xa\xP@xb\xP@xc\xP@xd\xP@tm -\xP@G\xP@beziertan\xP@ya\xP@yb\xP@yc\xP@yd\xP@tm -\xP@L\dimexpr\xP@G\xP@tmx-\xP@C\xP@tmy\relax -#1\z@ -\xP@Max#1\xP@D -\xP@Max#1\xP@H -\xP@Max#1\xP@L -#1\ifdim#1>4843165sp -\maxdimen -\else -\dimexpr\xP@D*\xP@D/\p@+\xP@H*\xP@H/\p@+\xP@L*\xP@L/\p@\relax -\fi -} -\newcommand*\xP@offsetpoints{\xP@xb\dimexpr\xP@xa+\xP@Tax*\xP@fa/196608\relax -\xP@yb\dimexpr\xP@ya+\xP@Tay*\xP@fa/196608\relax -\xP@xc\dimexpr\xP@xd+\xP@Tdx*\xP@fd/196608\relax -\xP@yc\dimexpr\xP@yd+\xP@Tdy*\xP@fd/196608\relax -} -\newcommand*\xP@bezierpoly[5]{\dimexpr(((#4-#1+(#2-#3)*3)*#5/\p@+(#1-2#2+#3)*6)*#5/\p@+(#2-#1)*12)*#5/\p@ -+#1*8\relax -} -\newcommand*\xP@precbezierpoly[5]{\dimexpr(((#4-#1+(#2-#3)*3)*2*#5/\xP@bigdim+(#1-2#2+#3)*6)*2*#5/\xP@bigdim -+(#2-#1)*12)*2*#5/\xP@bigdim+#1*8\relax -} -\newcommand*\xP@beziertan[5]{\dimexpr((#4-#1+(#2-#3)*3)*3*#5/32768+(#1-2#2+#3)*24)*#5/\p@+(#2-#1)*24\relax -} -\newcommand*\xP@precbeziertan[5]{\dimexpr((#4-#1+(#2-#3)*3)*#5/\xP@bigdim+(#1-2#2+#3)*2)*#5/\xP@bigdim -+#2-#1\relax -} -\@ifdefinable\xP@varone\relax -\@ifdefinable\xP@vartwo\relax -\@ifdefinable\xP@varthree\relax -\@ifdefinable\ifxP@validsol\relax -\@ifdefinable\xP@validsoltrue\relax -\@ifdefinable\xP@validsolfalse\relax -\newif\ifxP@validsol -\newcommand*\xP@solvelinearsystem{{\xP@scalerow\xP@A\xP@B\xP@C\xP@D -\xP@scalerow\xP@E\xP@F\xP@G\xP@H -\xP@scalerow\xP@I\xP@J\xP@K\xP@L -\xP@scalecol\xP@A\xP@E\xP@I\xP@scaleone -\xP@scalecol\xP@B\xP@F\xP@J\xP@scaletwo -\xP@scalecol\xP@C\xP@G\xP@K\xP@scalethree -\let\xP@varone\xP@ta -\let\xP@vartwo\xP@tb -\let\xP@varthree\xP@tc -\count@\m@ne -\@tempcnta\m@ne -\xP@ifabsless\xP@A\xP@B\@tempcnta\z@\xP@M\xP@B -\else\xP@M\xP@A\fi -\xP@ifabsless\xP@M\xP@C\@tempcnta\@ne\xP@M\xP@C\fi -\xP@ifabsless\xP@M\xP@E\@tempcnta\m@ne\count@\z@\xP@M\xP@E\fi -\xP@ifabsless\xP@M\xP@F\@tempcnta\z@\count@\z@\xP@M\xP@F\fi -\xP@ifabsless\xP@M\xP@G\@tempcnta\@ne\count@\z@\xP@M\xP@G\fi -\xP@ifabsless\xP@M\xP@I\@tempcnta\m@ne\count@\@ne\xP@M\xP@I\fi -\xP@ifabsless\xP@M\xP@J\@tempcnta\z@\count@\@ne\xP@M\xP@J\fi -\xP@ifabsless\xP@M\xP@K\@tempcnta\@ne\count@\@ne\fi -\ifcase\count@ -\xP@swapdim\xP@A\xP@E -\xP@swapdim\xP@B\xP@F -\xP@swapdim\xP@C\xP@G -\xP@swapdim\xP@D\xP@H -\or -\xP@swapdim\xP@A\xP@I -\xP@swapdim\xP@B\xP@J -\xP@swapdim\xP@C\xP@K -\xP@swapdim\xP@D\xP@L -\fi -\ifcase\@tempcnta -\xP@swapdim\xP@A\xP@B -\xP@swapdim\xP@E\xP@F -\xP@swapdim\xP@I\xP@J -\let\xP@varone\xP@tb -\let\xP@vartwo\xP@ta -\xP@swapnum\xP@scaleone\xP@scaletwo -\or -\xP@swapdim\xP@A\xP@C -\xP@swapdim\xP@E\xP@G -\xP@swapdim\xP@I\xP@K -\let\xP@varone\xP@tc -\let\xP@varthree\xP@ta -\xP@swapnum\xP@scaleone\xP@scalethree -\fi -\multiply\xP@E\m@ne -\multiply\xP@I\m@ne -\ifdim\xP@A=\z@ -\else -\advance\xP@F\dimexpr\xP@B*\xP@E/\xP@A\relax -\advance\xP@G\dimexpr\xP@C*\xP@E/\xP@A\relax -\advance\xP@H\dimexpr\xP@D*\xP@E/\xP@A\relax -\advance\xP@J\dimexpr\xP@B*\xP@I/\xP@A\relax -\advance\xP@K\dimexpr\xP@C*\xP@I/\xP@A\relax -\advance\xP@L\dimexpr\xP@D*\xP@I/\xP@A\relax -\fi -\count@\m@ne -\xP@ifabsless\xP@F\xP@G\@tempcnta\z@\xP@M\xP@G -\else\@tempcnta\m@ne\xP@M\xP@F\fi -\xP@ifabsless\xP@M\xP@J\@tempcnta\m@ne\count@\z@\xP@M\xP@J\fi -\xP@ifabsless\xP@M\xP@K\@tempcnta\z@\count@\z@\fi -\ifnum\count@=\z@ -\xP@swapdim\xP@F\xP@J -\xP@swapdim\xP@G\xP@K -\xP@swapdim\xP@H\xP@L -\fi -\ifnum\@tempcnta=\z@ -\xP@swapdim\xP@B\xP@C -\xP@swapdim\xP@F\xP@G -\xP@swapdim\xP@J\xP@K -\let\@tempa\xP@varthree -\let\xP@varthree\xP@vartwo -\let\xP@vartwo\@tempa -\xP@swapnum\xP@scaletwo\xP@scalethree -\fi -\ifdim\xP@F=\z@ -\else -\advance\xP@K\dimexpr-\xP@G*\xP@J/\xP@F\relax -\advance\xP@L\dimexpr-\xP@H*\xP@J/\xP@F\relax -\fi -\xP@ifabsless{\dimexpr\xP@L/60\relax}{\dimexpr\xP@K/\xP@scalethree\relax}\xP@validsoltrue -\xP@varthree\dimexpr\xP@L*(\xP@scalethree*\p@)/\xP@K\relax -\else -\xP@validsolfalse -\fi -\xP@checkabs{\xP@H/8191}{\xP@F/\xP@scaletwo}\xP@checkabs{\xP@G/\xP@scalethree/136}{\xP@F/\xP@scaletwo}\ifxP@validsol -\xP@vartwo\dimexpr\xP@H*(\xP@scaletwo*\p@)/\xP@F --\xP@varthree*\xP@scaletwo/\xP@scalethree*\xP@G/\xP@F\relax -\xP@checkabs\xP@vartwo{60pt}\fi -\xP@checkabs{\xP@D/5461}{\xP@A/\xP@scaleone}\xP@checkabs{\xP@B/\xP@scaletwo/91}{\xP@A/\xP@scaleone}\xP@checkabs{\xP@C/\xP@scalethree/91}{\xP@A/\xP@scaleone}\ifxP@validsol -\xP@varone\dimexpr\xP@D*(\xP@scaleone*\p@)/\xP@A --\xP@vartwo*\xP@scaleone/\xP@scaletwo*\xP@B/\xP@A --\xP@varthree*\xP@scaleone/\xP@scalethree*\xP@C/\xP@A\relax -\xP@checkabs\xP@varone{60pt}\fi -\xdef\@gtempa{\ifxP@validsol -\xP@ta\the\xP@ta\relax -\xP@tb\the\xP@tb\relax -\xP@tc\the\xP@tc\relax -\noexpand\xP@validsoltrue -\else -\noexpand\xP@validsolfalse -\fi -}}\@gtempa -} -\newcommand*\xP@scalerow[4]{\xP@M\z@ -\xP@Max\xP@M#1\xP@Max\xP@M#2\xP@Max\xP@M#3\xP@Max\xP@M#4\count@134217727 -\loop -\divide\xP@M\tw@ -\ifdim\xP@M>\z@ -\divide\count@\tw@ -\repeat -\advance\count@\@ne -\multiply#1\count@ -\multiply#2\count@ -\multiply#3\count@ -\multiply#4\count@ -} -\newcommand*\xP@scalecol[4]{\xP@M\z@ -\xP@Max\xP@M#1\xP@Max\xP@M#2\xP@Max\xP@M#3#416777215 -\loop -\divide\xP@M\tw@ -\ifdim\xP@M>\z@ -\divide#4\tw@ -\repeat -\advance#4\@ne -\multiply#1#4\multiply#2#4\multiply#3#4} -\newcommand*\xP@checkabs[2]{\xP@ifabsless{\dimexpr#1\relax}{\dimexpr#2\relax}\else\xP@validsolfalse\fi} -\newcommand*\xP@applinsys{{\xP@applinsys@ -\xP@ta\xP@dta -\xP@tb\xP@dtb -\xP@tc\xP@dtc -\xP@checkapp -\if@tempswa -\xP@modobj -\xP@applinsys@ -\xP@checkapp -\if@tempswa -\xP@modsol -\xP@modobj -\xP@applinsys@ -\xP@modsol -\fi -\fi -\xdef\@gtempa{\xP@ta\the\xP@ta\relax -\xP@tb\the\xP@tb\relax -\xP@tc\the\xP@tc\relax -}}\@gtempa -} -\newcommand*\xP@checkapp{\@tempswatrue -\ifdim\xP@dta=\z@ -\ifdim\xP@dtb=\z@ -\ifdim\xP@dtc=\z@ -\@tempswafalse -\fi\fi\fi -} -\newcommand*\xP@modobj{\advance\xP@D -\dimexpr-\xP@A*\xP@dta/\p@-\xP@B*\xP@dtb/\p@-\xP@C*\xP@dtc/\p@\relax -\advance\xP@H -\dimexpr-\xP@E*\xP@dta/\p@-\xP@F*\xP@dtb/\p@-\xP@G*\xP@dtc/\p@\relax -\advance\xP@L -\dimexpr-\xP@I*\xP@dta/\p@-\xP@J*\xP@dtb/\p@-\xP@K*\xP@dtc/\p@\relax -} -\newcommand*\xP@modsol{\advance\xP@ta\xP@dta -\advance\xP@tb\xP@dtb -\advance\xP@tc\xP@dtc -} -\newcommand*\xP@applinsys@{{\xP@sa\z@ -\xP@Max\xP@sa\xP@A -\xP@Max\xP@sa\xP@B -\xP@Max\xP@sa\xP@C -\xP@Max\xP@sa\xP@E -\xP@Max\xP@sa\xP@F -\xP@Max\xP@sa\xP@G -\xP@Max\xP@sa\xP@I -\xP@Max\xP@sa\xP@J -\xP@Max\xP@sa\xP@K -\xP@sa\ifdim\xP@sa<5460pt\thr@@\xP@sa\else\maxdimen\fi -\xP@sb\z@ -\xP@Max\xP@sb\xP@D -\xP@Max\xP@sb\xP@H -\xP@Max\xP@sb\xP@L -\ifdim\xP@sb>\z@ -\xP@D\dimexpr\xP@D*\maxdimen/\xP@sb\relax -\xP@H\dimexpr\xP@H*\maxdimen/\xP@sb\relax -\xP@L\dimexpr\xP@L*\maxdimen/\xP@sb\relax -\fi -\xP@Aba\dimexpr\xP@A*\xP@D/\xP@sa+\xP@E*\xP@H/\xP@sa+\xP@I*\xP@L/\xP@sa\relax -\xP@Abb\dimexpr\xP@B*\xP@D/\xP@sa+\xP@F*\xP@H/\xP@sa+\xP@J*\xP@L/\xP@sa\relax -\xP@Abc\dimexpr\xP@C*\xP@D/\xP@sa+\xP@G*\xP@H/\xP@sa+\xP@K*\xP@L/\xP@sa\relax -\xP@AAba\dimexpr\xP@A*\xP@Aba/\xP@sa+\xP@B*\xP@Abb/\xP@sa -+\xP@C*\xP@Abc/\xP@sa\relax -\xP@AAbb\dimexpr\xP@E*\xP@Aba/\xP@sa+\xP@F*\xP@Abb/\xP@sa -+\xP@G*\xP@Abc/\xP@sa\relax -\xP@AAbc\dimexpr\xP@I*\xP@Aba/\xP@sa+\xP@J*\xP@Abb/\xP@sa -+\xP@K*\xP@Abc/\xP@sa\relax -\xP@sc\z@ -\xP@Max\xP@sc\xP@Aba -\xP@Max\xP@sc\xP@Abb -\xP@Max\xP@sc\xP@Abc -\xP@Max\xP@sc\xP@AAba -\xP@Max\xP@sc\xP@AAbb -\xP@Max\xP@sc\xP@AAbc -\ifdim\xP@sc=\z@ -\xP@AAb\z@ -\else -\xP@Ab\dimexpr\xP@Aba*\xP@bigdim/\xP@sc*\xP@Aba/\xP@sc -+\xP@Abb*\xP@bigdim/\xP@sc*\xP@Abb/\xP@sc -+\xP@Abc*\xP@bigdim/\xP@sc*\xP@Abc/\xP@sc -\relax -\xP@AAb\dimexpr\xP@AAba*\xP@bigdim/\xP@sc*\xP@AAba/\xP@sc -+\xP@AAbb*\xP@bigdim/\xP@sc*\xP@AAbb/\xP@sc -+\xP@AAbc*\xP@bigdim/\xP@sc*\xP@AAbc/\xP@sc -\relax -\fi -\xdef\@gtempa{\ifdim\xP@AAb=\z@ -\xP@dta\z@ -\xP@dtb\z@ -\xP@dtc\z@ -\else -\xP@dta\the\dimexpr\xP@Aba*\xP@sb/\xP@sa*\p@/\xP@AAb*\xP@Ab/\maxdimen -\relax -\xP@dtb\the\dimexpr\xP@Abb*\xP@sb/\xP@sa*\p@/\xP@AAb*\xP@Ab/\maxdimen -\relax -\xP@dtc\the\dimexpr\xP@Abc*\xP@sb/\xP@sa*\p@/\xP@AAb*\xP@Ab/\maxdimen -\relax -\fi -}}\@gtempa -} -\@ifdefinable\ifxP@offsetok\relax -\@ifdefinable\xP@offsetoktrue\relax -\@ifdefinable\xP@offsetokfalse\relax -\newif\ifxP@offsetok -\newcommand*\xP@maxdev{.1pt} -\newcommand*\xP@maxobjfun{.005pt} -\newcommand*\xP@testoffset{{\gdef\xP@afteroffsetok{\xP@offsetoktrue}\def\xP@offsetokif{\ifdim\xP@ti<1.85pt}\xP@ti.1pt -\loop -\xP@tip\dimexpr\xP@a+(\xP@b-\xP@a)*\xP@ti/131072\relax -\L@p-\xP@precbezierpoly\xP@xa\xP@xb\xP@xc\xP@xd\xP@tip -\U@p-\xP@precbezierpoly\xP@ya\xP@yb\xP@yc\xP@yd\xP@tip -\xP@valA\dimexpr\xP@bezierpoly\X@p\L@c\R@c\X@c\xP@ti+\L@p\relax -\xP@valB\dimexpr\xP@bezierpoly\Y@p\U@c\D@c\Y@c\xP@ti+\U@p\relax -\d@X3\xP@precbeziertan\xP@xa\xP@xb\xP@xc\xP@xd\xP@tip -\d@Y3\xP@precbeziertan\xP@ya\xP@yb\xP@yc\xP@yd\xP@tip -\xP@veclen -\@tempdimc\dimexpr(\xP@b-\xP@a)*\@tempdimb/\xP@bigdim\relax -\xP@abs\@tempdimc -\ifdim.01pt<\@tempdimc -\xP@devA\dimexpr\xP@valA*\d@X/\@tempdimb+\xP@valB*\d@Y/\@tempdimb\relax -\xP@devB\dimexpr\xP@valA*\d@Y/\@tempdimb-\xP@valB*\d@X/\@tempdimb-8\xP@off -\relax -\xP@abs\xP@devA -\xP@abs\xP@devB -\@tempdima\dimexpr\xP@devA+\xP@devB\relax -\else -\ifdim\@tempdimc=\z@ -\@tempdima\z@ -\else -{\d@X\xP@valA -\d@Y\xP@valB -\xP@veclen@ -\global\dimen@i\@tempdimb -}\@tempdima\dimen@i -\advance\@tempdima\ifdim\xP@off>\z@-\fi8\xP@off -\xP@abs\@tempdima -\fi -\fi -\ifdim\@tempdima>\xP@maxdev -\divide\L@p8\relax -\divide\U@p8\relax -{\xP@transformcoor\X@p\Y@p -\xP@transformcoor\L@c\U@c -\xP@transformcoor\R@c\D@c -\xP@transformcoor\X@c\Y@c -\xP@findzero -}\fi -\xP@offsetokif -\advance\xP@ti.1pt -\repeat -\expandafter}\xP@afteroffsetok -} -\newcommand*\xP@afteroffsetok{} -\newcommand*\xP@offsetokif{} -\newcommand*\xP@transformcoor[2]{\advance#1\L@p -\advance#2\U@p -\@tempdima\dimexpr#1*\d@X/\@tempdimb+#2*\d@Y/\@tempdimb\relax -#2\dimexpr#2*\d@X/\@tempdimb-#1*\d@Y/\@tempdimb\relax -#1\@tempdima -} -\newcommand*\xP@findzero{\xP@setleftvalue{.05}\xP@setrightvalue{.05}\ifdim\xP@valB<\z@\xP@reversecoeff\fi -\ifdim\xP@valA>\z@ -\@tempswatrue -\@for\@tempa:={.1,.15,.2,.25,.35,.5,1.1}\do{\if@tempswa -\xP@setleftvalue\@tempa -\ifdim\xP@valA<\z@\@tempswafalse\fi -\if@tempswa -\xP@setrightvalue\@tempa -\ifdim\xP@valB<\z@ -\@tempswafalse -\xP@reversecoeff -\fi -\fi -\fi -}\if@tempswa -\L@p\xP@ti -\xP@valA\xP@bezierpoly\X@p\L@c\R@c\X@c\L@p -\ifdim\xP@valA<\z@ -\xP@setrightvalue{.05}\else -\U@p\L@p -\xP@valB\xP@valA -\fi -\fi -\fi -\loop -\ifnum\numexpr\U@p-\L@p\relax>\@ne -\xP@ti\dimexpr(\L@p+\U@p)/2\relax -\xP@devA\xP@bezierpoly\X@p\L@c\R@c\X@c\xP@ti -\ifdim\xP@devA>\z@ -\U@p\xP@ti -\xP@valB\xP@devA -\else -\L@p\xP@ti -\xP@valA\xP@devA -\fi -\repeat -\xP@ifabsless\xP@valB\xP@valA -\L@p\U@p -\xP@valA\xP@valB -\fi -\xP@valB\dimexpr\xP@bezierpoly\Y@p\U@c\D@c\Y@c\L@p+8\xP@off\relax -\xP@abs\xP@valA -\xP@abs\xP@valB -\ifdim\dimexpr\xP@valA+\xP@valB\relax>\xP@maxdev\relax -\xP@failed -\fi -} -\newcommand*\xP@failed{\global\let\xP@offsetokif\iffalse -\gdef\xP@afteroffsetok{\xP@offsetokfalse}} -\newcommand*\xP@reversecoeff{\multiply\X@p\m@ne -\multiply\L@c\m@ne -\multiply\R@c\m@ne -\multiply\X@c\m@ne -\multiply\xP@valA\m@ne -\multiply\xP@valB\m@ne -} -\newcommand*\xP@setleftvalue[1]{\L@p\dimexpr\xP@ti-#1\p@\relax -\ifdim\L@p<-.1pt\L@p-.1pt\fi -\xP@valA\xP@bezierpoly\X@p\L@c\R@c\X@c\L@p -} -\newcommand*\xP@setrightvalue[1]{\U@p\dimexpr\xP@ti+#1\p@\relax -\ifdim\U@p>2.1\p@\U@p2.1\p@\fi -\xP@valB\xP@bezierpoly\X@p\L@c\R@c\X@c\U@p -} -\newcommand*\xP@splinedbldashed{\xP@checkspline\xP@splinemultdashed\xP@doublestroke} -\newcommand*\xP@splinetrbldashed{\xP@checkspline\xP@splinemultdashed\xP@trblstroke} -\newcommand*\xP@splinemultdashed[1]{\xP@testcont\xP@dashmacro -\@tempcnta -\ifxP@splinecont -\numexpr2*((\@tempdimb-\xydashl@/3)/(2*\xydashl@))\relax -\else -\numexpr2*((\@tempdimb+\xydashl@)/(2*\xydashl@))-1\relax -\fi -\ifnum\@tempcnta>\@ne -\xP@splinemultdashed@#1\else -\ifnum\@tempcnta=\@ne -\xP@splinemultsolid#1 -\else -\xP@savec -\fi -\fi -\global\let\xP@lastpattern\xP@dashmacro -} -\newcommand*\xP@splinemultdashed@[1]{{\xP@inibigdim -\@tempdima\dimexpr\@tempdimb/\@tempcnta\relax -\xP@temppar\z@ -\toks@{}\xP@savec -\ifodd\@tempcnta -\else -\xP@slide -\fi -\@tempcnta\z@ -\loop -\advance\@tempcnta\@ne -\xP@append\toks@{\ifodd\@tempcnta\noexpand\xP@paintdash\fi -{\the\xP@temppar}}\xP@oldpar\xP@temppar -\xP@slide -\ifdim\xP@temppar<\xP@bigdim -\repeat -\xP@lastpar -\ifodd\@tempcnta -\xP@temppar -\xP@append\toks@{{\the\xP@temppar}}\else -\xP@oldpar -\fi -\@temptokena{}\xP@setsolidpat -\global\let\xP@lastpattern\xP@dashmacro -\@for\@tempa:={#1}\do{\the\toks@}\xP@stroke{\the\@temptokena}}} -\newcommand*\xP@paintdash[2]{\xP@paintsolid{\dimexpr#1*\xP@bigdim/\xP@lastpar\relax}{\dimexpr#2*\xP@bigdim/\xP@lastpar\relax}} -\xP@hook{splinedbldotted@} -\newcommand*\xP@splinedbldotted@{\let\xP@normalmult\@ne -\xP@checkspline\xP@splinemultdotted\xP@doublestroke} -\newcommand*\xP@splinetrbldotted{\let\xP@normalmult\tw@ -\xP@checkspline\xP@splinemultdotted\xP@trblstroke} -\newcommand*\xP@multidottedpat{\def\xP@pattern{0 J [\xP@lw\xP@dim{\xydashh@-\xP@preclw}]0 d}\global\let\xP@lastpattern\xP@dotmacro -} -\@ifdefinable\xP@normalmult\relax -\newcommand\xP@splinemultdotted[1]{{\xP@inibigdim -\xP@temppar\z@ -\xP@testcont\xP@dotmacro -\ifxP@splinecont -\@tempdimc\dimexpr\@tempdimb/(\@tempdimb/131072+1)\relax -\@tempdima\dimexpr\@tempdimc-\xP@preclw/2\relax -\xP@slide -\@tempdima\@tempdimc -\else -\@tempdima\dimexpr\xP@preclw/2\relax -\xP@slide -\@tempdima\dimexpr\@tempdimb-\xP@preclw\relax -\ifdim\@tempdima<\z@\@tempdima\z@\fi -\@tempdima\dimexpr\@tempdima/(\@tempdima/131072+1)\relax -\fi -\xP@savec -\toks@{}\ifdim\xP@temppar<\xP@bigdim -\loop -\xP@append\toks@{\noexpand\xP@paintdot{\the\xP@temppar}}\xP@oldpar\xP@temppar -\xP@slide -\ifdim\xP@temppar<\xP@bigdim -\repeat -\xP@velocity\xP@bigdim\xP@tempvel -\ifdim -\ifdim\xP@preclw<\xP@tempvel -\dimexpr2\xP@bigdim-\xP@oldpar-\xP@preclw*\xP@bigdim/\xP@tempvel\relax -\else --\maxdimen -\fi<\xP@temppar -\xP@temppar\xP@oldpar -\else -\xP@append\toks@{\noexpand\xP@paintdot{\the\xP@temppar}}\fi -\@tempdima\dimexpr\xP@preclw/2\relax -\xP@slide -\xP@lastpar\xP@temppar -\@temptokena{}\the\toks@ -\xP@multidottedpat -\xP@stroke{\the\@temptokena}\else -\global\let\xP@lastpattern\empty -\fi -}} -\newcommand*\xP@slide{{\xP@slide@ -\global\dimen@i\xP@temppar -}\xP@temppar\dimen@i -} -\newcommand*\xP@slide@{\xP@velocity\xP@temppar\xP@tempvel -\@tempdimc\dimexpr\xP@bigdim*\@tempdima/\@tempdimb\relax -\count@\z@ -\@tempswatrue -\loop -\xP@velocity{\xP@temppar+\@tempdimc}\xP@tempvel@ -\ifdim\dimexpr\@tempdima*4/13\relax>\xP@tempvel@ -\@tempswafalse -\else -\xP@parinc\dimexpr\@tempdima*\xP@bigdim/\xP@tempvel@ --(\xP@tempvel+\xP@tempvel@)/2*\@tempdimc/\xP@tempvel@\relax -\advance\@tempdimc\xP@parinc -\ifdim\@tempdimc>.12\xP@bigdim -\@tempswafalse -\else -\ifdim\xP@parinc=\z@ -\@tempswafalse -\else -\ifnum\count@=9\relax -\@tempswafalse -\fi -\fi -\fi -\fi -\if@tempswa -\advance\count@\@ne -\repeat -\ifdim\xP@temppar<5461pt -\ifdim\@tempdimc>.1\xP@bigdim -\@tempswatrue -\fi -\fi -\if@tempswa -{\dimen5\xP@temppar -\advance\xP@temppar.1\xP@bigdim -\ifdim\xP@temppar>5461pt\xP@temppar5461pt\fi -\dimen7\xP@temppar -\xP@shaveprec{\dimen5}{\dimen7}\xP@bezierlength -\global\dimen@i\dimexpr\@tempdima-\@tempdimb\relax -\global\dimen3\xP@temppar -}\@tempdima\dimen@i -\xP@temppar\dimen3\relax -\expandafter\xP@slide@ -\else -\advance\xP@temppar\@tempdimc -\fi -} -\newcommand*\xP@paintdot[1]{\@tempdima\dimexpr#1*\xP@bigdim/\xP@lastpar\relax -\xP@tangent -\xP@posX\dimexpr\xP@precbezierpoly\X@p\L@c\R@c\X@c\@tempdima/8\relax -\xP@posY\dimexpr\xP@precbezierpoly\Y@p\U@c\D@c\Y@c\@tempdima/8\relax -\@tempdima\dimexpr(\xydashh@+\xP@preclw/\xP@normalmult)/2\relax -\L@p\dimexpr\d@Y*\@tempdima/\@tempdimb\relax -\U@p\dimexpr-\d@X*\@tempdima/\@tempdimb\relax -\xP@append\@temptokena{\xP@coor{\xP@posX+\L@p*\xP@normalmult}{\xP@posY+\U@p*\xP@normalmult}m \xP@coor{\xP@posX-\L@p*(\xP@normalmult+\@ne)}{\xP@posY-\U@p*(\xP@normalmult+\@ne)}l }} -\newcommand*\xP@splinesquiggled{\xP@checkspline\xP@splinesquiggled@\z@} -\newcommand*\xP@splinedblsquiggled{\xP@checkspline\xP@splinesquiggled@\xP@doublestroke} -\newcommand*\xP@splinetrblsquiggled{\xP@checkspline\xP@splinesquiggled@\xP@trblstroke} -\newcommand*\xP@splinesquiggled@[1]{{\xP@inibigdim -\xP@testcont\xP@oddsquigglemacro -\ifxP@splinecont -\def\xP@squigsign{-}\else -\let\xP@squigsign\empty -\fi -\xP@savec -\@tempcnta=\numexpr\@tempdimb/\xybsqll@\relax -\ifnum\@tempcnta<\tw@\@tempcnta\tw@\fi -\multiply\@tempcnta\tw@ -\@tempdima\dimexpr\@tempdimb/\@tempcnta\relax -\xP@squiglen\@tempdima -\xP@temppar\z@ -\toks@{}\@tempcnta\z@ -\loop -\advance\@tempcnta\@ne -\xP@append\toks@{\noexpand\xP@paintsquiggle{\the\xP@temppar}}\xP@oldpar\xP@temppar -\xP@slide -\ifdim\xP@temppar<\xP@bigdim -\repeat -\xP@lastpar -\ifodd\@tempcnta -\xP@oldpar -\advance\@tempcnta\m@ne -\else -\xP@temppar -\xP@append\toks@{\noexpand\xP@paintsquiggle{\the\xP@temppar}}\fi -\@temptokena{}\xP@setsolidpat -\global\expandafter\let\expandafter\xP@lastpattern -\ifodd\numexpr\@tempcnta/2\if\xP@squigsign-+1\fi\relax -\xP@oddsquigglemacro -\else -\xP@evensquigglemacro -\fi -\@for\@tempa:={#1}\do{\let\xP@dosquiggle\xP@dosquiggle@ -\count@\z@ -\the\toks@ -}\xP@stroke{\the\@temptokena}}} -\newcommand*\xP@paintsquiggle[1]{\@tempdima\dimexpr#1*\xP@bigdim/\xP@lastpar\relax -\xP@tangent -\xP@posX\dimexpr\xP@precbezierpoly\X@p\L@c\R@c\X@c\@tempdima/8-\d@Y*(\@tempa)/\@tempdimb\relax -\xP@posY\dimexpr\xP@precbezierpoly\Y@p\U@c\D@c\Y@c\@tempdima/8+\d@X*(\@tempa)/\@tempdimb\relax -\L@p\dimexpr\d@X*\xP@squiglen/\@tempdimb\relax -\U@p\dimexpr\d@Y*\xP@squiglen/\@tempdimb\relax -\R@p\dimexpr\L@p*543339720/1311738121\relax -\D@p\dimexpr\U@p*543339720/1311738121\relax -\X@min\dimexpr\L@p*362911648/967576667\relax -\Y@min\dimexpr\U@p*362911648/967576667\relax -\X@max\dimexpr(\L@p+\xP@squigsign\U@p)*173517671/654249180\relax -\Y@max\dimexpr(\L@p-\xP@squigsign\U@p)*173517671/654249180\relax -\xP@dosquiggle -\ifnum\count@=\thr@@\relax\count@\z@\else\advance\count@\@ne\fi -} -\@ifdefinable\xP@dosquiggle@\relax -\newcommand*\xP@dosquiggle@{\edef\next@{\xP@coor{\xP@posX}{\xP@posY}m -\xP@coor{\xP@posX+\Y@max}{\xP@posY+\xP@squigsign\X@max}}\let\xP@dosquiggle\xP@dosquiggle@@ -} -\newcommand*\xP@dosquiggle@@{\xP@append\@temptokena{\next@\expandafter\xP@coor -\ifcase\count@ -{\xP@posX-\Y@max}{\xP@posY-\xP@squigsign\X@max}\xP@coor\xP@posX\xP@posY -\or -{\xP@posX-\xP@squigsign\D@p-\X@min}{\xP@posY+\xP@squigsign\R@p-\Y@min}\xP@coor{\xP@posX-\xP@squigsign\D@p}{\xP@posY+\xP@squigsign\R@p}\or -{\xP@posX-\X@max}{\xP@posY+\xP@squigsign\Y@max}\xP@coor\xP@posX\xP@posY -\or -{\xP@posX+\xP@squigsign\D@p-\X@min}{\xP@posY-\xP@squigsign\R@p-\Y@min}\xP@coor{\xP@posX+\xP@squigsign\D@p}{\xP@posY-\xP@squigsign\R@p}\fi c }\edef\next@{\expandafter\xP@coor -\ifcase\count@ -{\xP@posX+\Y@max}{\xP@posY+\xP@squigsign\X@max}\or -{\xP@posX-\xP@squigsign\D@p+\X@min}{\xP@posY+\xP@squigsign\R@p+\Y@min}\or -{\xP@posX+\X@max}{\xP@posY-\xP@squigsign\Y@max}\or -{\xP@posX+\xP@squigsign\D@p+\X@min}{\xP@posY-\xP@squigsign\R@p+\Y@min}\fi -}} -\xP@endgobble -\newcommand*\xP@lastX{} -\newcommand*\xP@lastY{} -\newcommand*\xP@lastpattern{} -\newcommand*\xP@solidmacro{solid} -\newcommand*\xP@dotmacro{dot} -\newcommand*\xP@dashmacro{dash} -\newcommand*\xP@evensquigglemacro{evensquiggle} -\newcommand*\xP@oddsquigglemacro{oddsquiggle} -\CheckCommand*\xy{\ifmmode\expandafter\xymath@\else\expandafter\xynomath@\fi} -\renewcommand*\xy{\global\let\xP@lastpattern\empty -\ifmmode\expandafter\xymath@\else\expandafter\xynomath@\fi} -\newcommand*\xP@savec{\xdef\xP@lastX{\the\X@c}\xdef\xP@lastY{\the\Y@c}} -\@ifdefinable\ifxP@splinecont\relax -\@ifdefinable\xP@splineconttrue\relax -\@ifdefinable\xP@splinecontfalse\relax -\newif\ifxP@splinecont -\newcommand*\xP@testcont[1]{\xP@splinecontfalse -\ifxP@cont -\ifx\xP@lastpattern#1\ifdim\xP@lastX=\X@p -\ifdim\xP@lastY=\Y@p -\xP@splineconttrue -\fi -\fi -\fi -\fi -} -\@ifdefinable\ifxP@cont\relax -\@ifdefinable\xP@conttrue\relax -\@ifdefinable\xP@contfalse\relax -\newif\ifxP@cont -\newcommand*\xypdfcontpatternon{\xP@conttrue} -\newcommand*\xypdfcontpatternoff{\xP@contfalse} -\xP@conttrue +\PackageWarning{xypdf}{The file `xypdf.sty' has become obsolete and is now^^J% + just a wrapper for `xypdf.tex'. Since version 1.4, the xypdf package has been^^J% + integrated into the Xy-pic package. Make sure that you have Xy-pic version 3.8^^J% + or later. Then write \string\usepackage[pdf]{xy} or \string\xyoption{pdf} instead of^^J% + \string\usepackage{xypdf} in your document\@gobble} +\RequirePackage[\@ptionlist{xy.sty}]{xy} +\xyrequire{pdf} +\ProvidesPackage{xypdf}[2010/05/13 v1.4 PDF output for the Xy-pic package (obsolete^^Jstyle file!)] \endinput %% %% End of file `xypdf.sty'. -- cgit v1.2.3