From c79d7ee153ff5a211e8293d577718c66a6556f4a Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Wed, 14 Apr 2010 00:41:13 +0000 Subject: xypdf update (13apr10) git-svn-id: svn://tug.org/texlive/trunk@17858 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/tex/latex/xypdf/xypdf.sty | 76 +++++++++++++++++++---------- 1 file changed, 49 insertions(+), 27 deletions(-) (limited to 'Master/texmf-dist/tex/latex/xypdf') diff --git a/Master/texmf-dist/tex/latex/xypdf/xypdf.sty b/Master/texmf-dist/tex/latex/xypdf/xypdf.sty index 39b96dbc1b1..64b20311002 100644 --- a/Master/texmf-dist/tex/latex/xypdf/xypdf.sty +++ b/Master/texmf-dist/tex/latex/xypdf/xypdf.sty @@ -39,7 +39,7 @@ %% \NeedsTeXFormat{LaTeX2e} \ProvidesPackage{xypdf} - [2010/04/08 v1.2 PDF output for the Xy-pic package] + [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 @@ -49,6 +49,11 @@ \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 @@ -155,6 +160,25 @@ decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 fo \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 @@ -220,11 +244,9 @@ decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 fo \global\let\xP@lastpattern\xP@dotmacro } \newcommand*\xP@abs[1]{\ifdim#1<\z@\multiply#1\m@ne\fi} -\ifx\ifpdfabsdim\@undefined -\newcommand*\xP@ifabsless[2]{\ifdim\ifdim#1<\z@-\fi#1<\ifdim#2<\z@-\fi#2} -\@gobble\fi -\else \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} @@ -364,27 +386,6 @@ decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 fo \let\doSpecialRotate@@\xP@specialrotate \CheckCommand*\xyscale@[2]{\xyundefinedRotate@{scale}{#1,#2}@@} \let\xyscale@@\xP@scale -\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 -} \newcommand*\xP@trig[1]{\@tempdima\dimexpr#1\relax \@tempdimb\@tempdima \divide\@tempdimb23592960 @@ -434,6 +435,27 @@ decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 fo }\@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} @@ -1535,6 +1557,7 @@ decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 fo {\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{} @@ -1561,7 +1584,6 @@ decimals.^^JIt is recommended to set \string\pdfdecimaldigits\space to 2 or 3 fo \fi \fi } -\xP@endgobble \@ifdefinable\ifxP@cont\relax \@ifdefinable\xP@conttrue\relax \@ifdefinable\xP@contfalse\relax -- cgit v1.2.3