diff options
author | Karl Berry <karl@freefriends.org> | 2010-06-12 00:48:49 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-06-12 00:48:49 +0000 |
commit | b7d09128d54f9b6bb737e80e906499037529904e (patch) | |
tree | 68ea16ac010aeee726f77bcec9162525feb14a7e /Master/texmf-dist/tex/generic/xypic/xypdf.tex | |
parent | 457703ea12a711958a619ba5f9e665242c1dcfe7 (diff) |
xypic 3.8.1 (11jun10)
git-svn-id: svn://tug.org/texlive/trunk@18907 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xypdf.tex')
-rw-r--r-- | Master/texmf-dist/tex/generic/xypic/xypdf.tex | 523 |
1 files changed, 523 insertions, 0 deletions
diff --git a/Master/texmf-dist/tex/generic/xypic/xypdf.tex b/Master/texmf-dist/tex/generic/xypic/xypdf.tex new file mode 100644 index 00000000000..5a573463545 --- /dev/null +++ b/Master/texmf-dist/tex/generic/xypic/xypdf.tex @@ -0,0 +1,523 @@ +%% +%% This is file `xypdf.tex', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% xypdf.dtx (with options: `basic') +%% +%% The xypdf package for TeX and LaTeX +%% Copyright (c) 2010 by Daniel Müllner (M\"ullner) +%% <http://www.math.uni-bonn.de/people/muellner> +%% -------------------------------------------------------------------------- +%% +%% 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 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 +%% <http://www.gnu.org/licenses/>. +%% +%% -------------------------------------------------------------------------- +%% +%% This file is part of the xypdf package for TeX and LaTeX2e. The xypdf +%% package may be distributed and/or modified under the conditions of the +%% GNU General Public License as published by the Free Software Foundation, +%% either version 2 of the License, or (at your option) any later version. +%% The distribution consists of the following files: +%% +%% xypdf.dtx - Documented source code +%% xypdf.ins - Installation script +%% xypdf.pdf - Documentation (generated from xypdf.dtx) +%% +%% The files with the TeX code are generated by the following command: +%% +%% latex xypdf.ins +%% +%% This generates the files xypdf.tex, xypdf-co.tex, xypdf-cu.tex, +%% xypdf-fr.tex, xypdf-li.tex and xypdf-ro.tex. +%% +%% -------------------------------------------------------------------------- +%% +%% The xypdf package improves the output quality of the Xy-pic package when +%% PDF documents are generated. It produces generic PDF code for graphical +%% elements like lines, curves and circles instead of approximating these +%% elements with glyphs in special fonts as the original Xy-pic package does. +%% The xypdf package works with both TeX and LaTeX in the occurrences of +%% pdfTeX, XeTeX and eTeX with dvipdfm(x) to generate PDF files. It is being +%% integrated and distributed together with Xy-pic, starting with Xy-pic +%% version 3.8. +%% +%% The copyright for the xypdf package is by its author, Daniel Müllner +%% (Muellner, M\"ullner). +%% + +\ifx\xyloaded\undefined\input xy \fi +\xyprovide{pdf}{PDF driver}{1.4}{Daniel M\"ullner\newline}{\url{http://www.math.uni-bonn.de/people/muellner}}{} +\ifx\makeatletter\undefined\input miniltx \fi +\newcommand*\xypdfdate{2010/05/13} +\newdriver{\xyaddsupport{pdf}\xP@pdf@on +\xyaddsupport{color}\xP@color@on +\xyaddsupport{curve}\xP@curve@on +\xyaddsupport{frame}\xP@frame@on +\xyaddsupport{rotate}\xP@rotate@on +} +\xyaddunsupport{pdf}\xP@pdf@off +\xyaddunsupport{color}\xP@color@off +\xyaddunsupport{curve}\xP@curve@off +\xyaddunsupport{frame}\xP@frame@off +\xyaddunsupport{rotate}\xP@rotate@off +\newcommand*\xypdfon{\xP@pdf@on +\xP@color@on +\xP@curve@on +\xP@frame@on +\xP@line@on +\xP@rotate@on +} +\newcommand*\xypdfoff{\xP@pdf@off +\xP@color@off +\xP@curve@off +\xP@frame@off +\xP@line@off +\xP@rotate@off +} +\ifx\unexpanded\@undefined +\PackageError{xypdf}{eTeX is needed for the xypdf package}{} +\fi +\newcommand*\xP@testpdfsave{\ifpdf +\ifx\pdfsave\@undefined +\PackageError{xypdf}{pdfTeX version 1.40.0 or higher is needed for the xypdf^^Jpackage with PDF output}{}\fi +\fi +\let\xP@testpdfsave\@undefined +} +\ifx\PackageWarning\@undefined +\newcommand*\xP@warning[2]{{\newlinechar`\^^J\@warning{Package #1 Warning: #2\@empty.}}} +\else +\newcommand*\xP@warning{\PackageWarning} +\fi +\newcommand*\xP@pdf@on{} +\newcommand*\xP@pdf@off{} +\newcommand*\xP@color@on{} +\newcommand*\xP@color@off{} +\newcommand*\xP@curve@on{} +\newcommand*\xP@curve@off{} +\newcommand*\xP@frame@on{} +\newcommand*\xP@frame@off{} +\newcommand*\xP@line@on{} +\newcommand*\xP@line@off{} +\newcommand*\xP@rotate@on{} +\newcommand*\xP@rotate@off{} +\newcommand*\xP@hook[2]{\edef\next@{\let\expandafter\noexpand\csname xP@old@#2\endcsname +\expandafter\noexpand\csname#2\endcsname}\next@ +\expandafter\edef\csname xP@#1@on\endcsname{\unexpanded\expandafter\expandafter\expandafter{\csname xP@#1@on\endcsname}\let\expandafter\noexpand\csname#2\endcsname +\expandafter\noexpand\csname xP@#2\endcsname +}\expandafter\edef\csname xP@#1@off\endcsname{\unexpanded\expandafter\expandafter\expandafter{\csname xP@#1@off\endcsname}\let\expandafter\noexpand\csname#2\endcsname +\expandafter\noexpand\csname xP@old@#2\endcsname +}} +\newcommand*\xP@defpdfliteral{\ifpdf +\newcommand*\xP@literal[1]{\pdfsave\pdfliteral{##1}\pdfrestore} +\newcommand*\xP@cm[5]{\pdfsave +\pdfsetmatrix{##1 ##2 ##3 ##4}##5\pdfrestore +} +\@ifundefined{@pdfcolorstack}{\def\@pdfcolorstack{\z@}}{}\newcommand*\xP@setcolor[3]{\pdfcolorstack\@pdfcolorstack push{##1 ##2 ##1 ##3}} +\newcommand*\xP@resetcolor{\pdfcolorstack\@pdfcolorstack pop\relax}\else +\newcommand*\xP@literal{\xP@warning{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}} +\newcommand*\xP@setcolor[3]{\special{pdf:bcolor[##1]}} +\newcommand*\xP@resetcolor{\special{pdf:ecolor}}\fi +\let\xP@defpdfliteral\@undefined +} +\DN@{\@firstofone} +\DNii@{xy} +\ifx\@currname\nextii@ +\ifx\AtEndOfPackage\@undefined +\else +\DN@{\AtEndOfPackage}\fi +\fi +\next@ +{\RequirePackage{ifpdf}\xP@testpdfsave +\xP@defpdfliteral} +\ifx\pdfdecimaldigits\@undefined +\newcommand*\xP@digits{2} +\else +\@ifdefinable\xP@digits\relax +\xdef\xP@digits{\the\pdfdecimaldigits} +\ifnum\pdfdecimaldigits<2 +\xP@warning{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 +{\@makeother\p\@makeother\t\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{pdf}{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\boxz@\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{pdf}{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{pdf}{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 +\global\dimen@i +\ifnum\count@>\z@ +\dimexpr\@tempdimb/\count@\relax +\else +\z@ +\fi +}\@tempdima\dimen@i +\edef\xP@pattern{1 J 1 j [\ifdim\@tempdima>\z@ +\xP@precdim\@tempdima]\xP@precdim\@tempdima +\else +]0 \fi +d}\else +\@tempdima +\ifdim\@tempdimb>\xydashl@ +\dimexpr\@tempdimb/(2*((\@tempdimb+\xydashl@)/(2*\xydashl@))-1)\relax +\else +\z@ +\fi +\edef\xP@pattern{1 J 1 j [\ifdim\@tempdima>\z@\xP@precdim\@tempdima\fi +]0 d}\fi +\global\let\xP@lastpattern\xP@dashmacro +} +\newcommand*\xP@setcldashpat{{\count@\numexpr2*((\@tempdimb-\xydashl@/3)/(2*\xydashl@))\relax +\xdef\@gtempa{1 J 1 j [\ifnum\count@>\z@\xP@precdim{\@tempdimb/\count@}\fi]\ifnum\count@>\z@\xP@precdim{\@tempdimb*3/2/\count@}\else0 \fi d}}\edef\xP@pattern{\@gtempa}} +\xP@hook{pdf}{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@precdim\xP@preclw\xP@precdim\@tempdima +\fi +]0 d}\fi +\global\let\xP@lastpattern\xP@dotmacro +} +\newcommand*\xP@setcldottedpat{\@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{\dimexpr\xP@preclw+\@tempdima/2\relax}d}} +\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@min[2]{\ifdim#1<#2#1\else#2\fi} +\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 +\unless\ifdim\@tempdimc=\@tempdimb +\@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{pdf}{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{pdf}{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{pdf}{cirrestrict@@} +\newcommand*\xP@cirrestrict@@{\count@\z@\relax} +\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 +} +\outer\def\@tempa{\alloc@1\dimen\dimendef\insc@unt} +\let\xP@newdimen\newdimen +\ifx\newdimen\@tempa +\def\xP@newdimen{\alloc@1\dimen\dimendef\insc@unt} +\fi +\outer\def\@tempa#1{\count@=\escapechar\escapechar=-1 +\expandafter\expandafter\expandafter +\def\@if#1{true}{\let#1=\iftrue}\expandafter\expandafter\expandafter +\def\@if#1{false}{\let#1=\iffalse}\@if#1{false}\escapechar=\count@} +\let\@tempa\relax +\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} +\newcommand*\xP@brokensquigglemacro{brokensquiggle} +\renewcommand*\xyinside@{\global\let\xP@lastpattern\@empty +\saveXyStyle@ \aftergroup\xycheck@end +\setboxz@h\bgroup +\plainxy@ +\X@c=\z@\Y@c=\z@\czeroEdge@ +\X@p=\z@\Y@p=\z@\U@p=\z@\D@p=\z@\L@p=\z@\R@p=\z@\Edge@p={\zeroEdge}\X@min=\hsize\X@max=-\hsize\Y@min=\hsize\Y@max=-\hsize +\mathsurround=\z@ +\expandafter\POS\everyxy@@ +} +\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 +\let\@tempa\@undefined +\let\nextii@\@undefined +\DN@{\xywithoption{color}{\message{Xy-pic pdf driver: `color' extension support}\@ifundefined{xypdf-co@loaded}{\input xypdf-co\relax}{\message{not reloaded}}}\xywithoption{curve}{\message{Xy-pic pdf driver: `curve' extension support}\@ifundefined{xypdf-cu@loaded}{\input xypdf-cu\relax}{\message{not reloaded}}}\xywithoption{frame}{\message{Xy-pic pdf driver: `frame' extension support}\@ifundefined{xypdf-fr@loaded}{\input xypdf-fr\relax}{\message{not reloaded}}}\xywithoption{line}{\message{Xy-pic pdf driver: `line' extension support}\@ifundefined{xypdf-li@loaded}{\input xypdf-li\relax}{\message{not reloaded}}}\xywithoption{rotate}{\message{Xy-pic pdf driver: `rotate' extension support}\@ifundefined{xypdf-ro@loaded}{\input xypdf-ro\relax}{\message{not reloaded}}}} +\next@ +\xyendinput +%% +%% End of file `xypdf.tex'. |