summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/generic/xypic/xypdf.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/tex/generic/xypic/xypdf.tex')
-rw-r--r--Master/texmf-dist/tex/generic/xypic/xypdf.tex523
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'.