talks/20091108-Riverside/xypdfpdf.tex
author scott@6e1638ff-ae45-0410-89bd-df963105f760
Fri, 30 Oct 2009 21:05:16 +0000
changeset 153 f58334ec3d1d
permissions -rw-r--r--
...
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
153
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     1
%% xypdfpdf.tex from $Id: xypdfpdf.doc,v $
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     2
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     3
%% Xy-pic ``PDF-PDF'' PDF support.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     4
%% Copyright (c) 1999-1999 Ross Moore <ross@mpce.mq.edu.au>
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     5
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     6
%% This file is part of the Xy-pic package for graphs and diagrams in TeX.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     7
%% See the companion README and INSTALL files for further information.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     8
%% Copyright (c) 1991-1999 Kristoffer H. Rose <krisrose@ens-lyon.fr>
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
     9
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    10
%% The Xy-pic package is free software; you can redistribute it and/or modify
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    11
%% it under the terms of the GNU General Public License as published by the
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    12
%% Free Software Foundation; either version 2 of the License, or (at your
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    13
%% option) any later version.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    14
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    15
%% The Xy-pic package is distributed in the hope that it will be useful, but
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    16
%% WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    17
%% or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    18
%% for more details.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    19
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    20
%% You should have received a copy of the GNU General Public License along
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    21
%% with this package; if not, write to the Free Software Foundation, Inc.,
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    22
%% 675 Mass Ave, Cambridge, MA 02139, USA.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    23
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    24
%% As a special exception, you may use this file and all files derived
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    25
%% from it without restrictions. This special exception was added with
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    26
%% version 3.7 of Xy-pic.
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    27
%%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    28
\expandafter\ifx\csname xypdf-pdfloaded\endcsname\empty
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    29
 \message{not reloaded}\endinput \fi
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    30
\expandafter\let\csname xypdf-pdfloaded\endcsname=\empty \xycatcodes
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    31
\global\newif\ifPDFspecials@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    32
\xylet@\PDFmacro@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    33
\xylet@\PDFdict@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    34
\xylet@\PDFspecial@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    35
\xylet@\PDFread@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    36
\xylet@\PDFinclude@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    37
\xylet@\PDFraw@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    38
\xylet@\xyPDFobeylines@@=\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    39
\xylet@\PDFspecialdict@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    40
\xydef@\UnloadPDFpdf@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    41
 \let\PDFmacro@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    42
 \let\PDFdict@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    43
 \let\PDFspecial@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    44
 \let\PDFread@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    45
 \let\PDFinclude@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    46
 \let\PDFraw@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    47
 \let\xyPDFobeylines@@=\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    48
 \let\PDFspecialdict@@=\eat@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    49
}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    50
\xydef@\UnloadPDF@{\UnloadPDFpdf@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    51
 \expandafter\ifx\csname xypdfloaded\endcsname\unknown\PDFspecials@false
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    52
 \else\expandafter\NoPDFspecials\fi}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    53
\xylet@\UnloadPDF@@=\UnloadPDF@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    54
\ifx\undefined\dvitype@\xydef@\dvitype@{null}\fi
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    55
\xylet@\xyrealshipout@=\shipout
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    56
\xydef@\xyPDFshipout@{\xyrealshipout@}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    57
\xydef@\firstPDF@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    58
 \global\let\firstPDF@@=\relax \global\let\firstPDF@=\relax}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    59
\xylet@\firstPDF@@=\firstPDF@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    60
\xylet@\dumpPDFdict@@=\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    61
\xydef@\installxypdf@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    62
 \xyinputorelse@{xypdfpdf}{\xydrivernoload@{pdfpdf}}\xycatcodes
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    63
 \installxypdf@@ \installxypdf@x }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    64
\xylet@\installxypdf@@=\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    65
\xylet@\setupxyPDF@@=\PDFspecials@true
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    66
\xywithoption{pdf}{\let\setupxyPDF@@=\setupxyPDF@}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    67
\xydef@\installxypdf@x{
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    68
 \let\firstPDF@=\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    69
 \let\XYpredict@=\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    70
 \setupxyPDF@@ }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    71
\xydef@\setupxyPDF@{\PDFspecials@true}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    72
\let\realinstallxypdf@x=\installxypdf@x
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    73
\ifx\undefined\AfterBeginDocument
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    74
 \def\installxypdf@x{\xysetup@@{\realinstallxypdf@x}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    75
\else
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    76
 \def\installxypdf@x{\AfterBeginDocument{\realinstallxypdf@x}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    77
\fi
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    78
\xydef@\xydefaultdriver@{dvipdf}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    79
\xydef@\xyPDFdriver#1{\def\xydefaultdriver@{#1}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    80
\xydef@\installxypdf@orig{\DN@{}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    81
 \ifx\xydriversselected@@\empty
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    82
 \DN@{\expandafter\defaultinstallpdf@\expandafter{\xydefaultdriver@}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    83
 \else \def\do##1{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    84
 \expandafter\ifx\csname##1@xy@pdf\endcsname\relax
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    85
 \DN@{\defaultinstallpdf@{##1}}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    86
 \xydriversselected@@ 
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    87
 \else \DN@##1{}\fi\fi \next@ }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    88
\xydef@\defaultinstallpdf@#1#2{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    89
 \xywarning@{no driver specified, using #1 }%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    90
 \xyrequire{#1}\csname #1@xy@pdf\endcsname{}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    91
\xydef@\null@xy@pdf{\installxypdf@}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    92
\xydefcsname@{shape [!...]}#1{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    93
 \expandafter\ifx\csname xypdf-sloaded\endcsname\empty \DN@{\xyPDFescapestyle@{#1}@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    94
 \else\ifxyPDFshapes@\DN@{\xyPDFshapechar@{#1}@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    95
 \else \DN@{\xyPDFcharwarning@}\fi\fi \next@ }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    96
\xydefcsname@{shape [pdfxy]}{\ifxyPDFshapes@\DN@{\xyPDFpdfxy@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    97
 \else \DN@{\xyPDFcharwarning@}\fi \next@ }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    98
\xydef@\xyPDFpdfxy@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
    99
 \setboxz@h{\dimen@=\L@p \advance\dimen@-\R@p 
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   100
 \dimen@ii=-\U@p \raise\dimen@ii\hbox to\z@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   101
 \kern\dimen@\xyPDFcurrpt@\kern-\dimen@}\boxz@}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   102
\xydef@\xyPDFcurrpt@{\ifxyPDFshapes@\expandafter\xyPDFcurrpt@@\fi}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   103
\xydef@\xyPDFcurrpt@@@{\PDFspecial@@{xyi}\PDFraw@@{userdict begin xyx end}}%%%%<<<<<--- here
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   104
\ifx\undefined\xyPDFcurrpt@@ \xylet@\xyPDFcurrpt@@=\xyPDFcurrpt@@@ \fi
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   105
\xywarnifdefined\xyPDFshapechar@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   106
\xywarnifdefined\xyPDFsplitshape@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   107
{\xyuncatcodes \catcode`@=11
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   108
 \gdef\xyPDFshapechar@#1@@{\xyPDFsplitshape@#1<><>@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   109
 \gdef\xyPDFsplitshape@#1<>#2<>#3@@{\xyPDFsplitPDF@{#1}{#2}}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   110
\xydef@\xyPDFrawA@#1{\expandafter\xyPDFrawAA@ #1{}{}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   111
\xydef@\xyPDFrawAA@#1#2{\PDFraw@@{ #1 #2}\PDFmessage{ #1 #2 }}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   112
\xydef@\xyPDFrawZ@#1{\PDFraw@@{ #1}\PDFmessage{ #1 }}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   113
\xydef@\modPDFboxz@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   114
 \expandafter\DN@\expandafter{\xyPDFpre@{}}\ifx\next@\empty\else
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   115
 \setboxz@h{\expandafter\xyPDFrawA@\expandafter{\xyPDFpre@{}}\boxz@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   116
 \expandafter\xyPDFrawZ@\expandafter{\xyPDFpost@}}\DN@{}\fi}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   117
\xydef@\modPDFdrop@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   118
 \expandafter\DNii@\expandafter{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   119
 \expandafter\xyPDFrawA@\expandafter{\xyPDFpre@{}}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   120
 \DN@##1{\expandafter\def\expandafter\tmp@\expandafter{\nextii@ ##1}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   121
 \expandafter\next@\expandafter{\Drop@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   122
 \expandafter\DNii@\expandafter{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   123
 \expandafter\xyPDFrawZ@\expandafter{\xyPDFpost@}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   124
 \DN@##1{\expandafter\def\expandafter\Drop@@\expandafter{\tmp@ ##1}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   125
 \expandafter\next@\expandafter{\nextii@}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   126
\xydef@\modPDFconnect@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   127
 \expandafter\DNii@\expandafter{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   128
 \expandafter\xyPDFrawA@\expandafter{\xyPDFpre@{}}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   129
 \DN@##1{\expandafter\def\expandafter\tmp@\expandafter{\nextii@ ##1}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   130
 \expandafter\next@\expandafter{\Connect@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   131
 \expandafter\DNii@\expandafter{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   132
 \expandafter\xyPDFrawZ@\expandafter{\xyPDFpost@}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   133
 \DN@##1{\expandafter\def\expandafter\Connect@@\expandafter{\tmp@ ##1}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   134
 \expandafter\next@\expandafter{\nextii@}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   135
\xydef@\xyPDFpre@{{}{}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   136
\xydef@\xyPDFpost@{}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   137
\xydef@\PDFmessage@#1{\W@{PDF: #1}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   138
\xydef@\PDFignore@#1{}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   139
\xydef@\showPDFmessages{\let\PDFmessage=\PDFmessage@}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   140
\xydef@\hidePDFmessages{\let\PDFmessage=\PDFignore@}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   141
\xylet@\PDFtracing=\showPDFmessages
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   142
\hidePDFmessages
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   143
\xydef@\PDFmacro@#1{\PDFmacro@@{#1}\PDFmessage{#1}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   144
\xydef@\includeXYPDFdict@{\relax}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   145
\xydef@\xyPDFdictknown@{}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   146
\xywarnifdefined\obeyoutlines@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   147
{\catcode`\^^M=\active%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   148
 \gdef\obeyoutlines@{\catcode`\^^M=\active \def^^M{^^J}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   149
 \newlinechar=`\^^J\obeyspaces}}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   150
\xynew@{if}\ifxyPDFshapes@ \xyPDFshapes@true 
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   151
\xydef@\xyPDFcharwarning@@{\xyPDFcharmessage@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   152
 \gdef\xyPDFcharwarning@@{\xyPDFcharmessage@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   153
 \xywarning@{...no further PDF warnings will be given}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   154
 \global\let\xyPDFcharwarning@@=\relax }}
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   155
\xydef@\xyPDFcharmessage@{\xywarning@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   156
 the current <driver> does not fully support PDF effects}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   157
\xydef@\newxyshape#1#2#3{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   158
 \DN@{#3}\ifx\next@\empty
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   159
 \xydefcsname@{shape [#1]}{\csname xyshape@#1@\endcsname}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   160
 \else \expandafter\def\csname shape [#1]\endcsname{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   161
 \csname xyshape@#1@\endcsname}\fi
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   162
 \DN@{#2}\ifx\next@\empty
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   163
 \expandafter\def\csname xyshape@#1@\endcsname{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   164
 \xyundefinedEffect@{#1}{}@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   165
 \else \expandafter\def\csname xyshape@#1@\endcsname{#2}\fi }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   166
\xydef@\xyundefinedEffect@#1#2@@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   167
 \xywarning@{The #1 #2 effect is not implemented with the current driver}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   168
\xydef@\newxyPDFshape#1#2{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   169
 \expandafter\DN@\expandafter{\csname shape [#1]\endcsname}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   170
 \DNii@{\relax}\ifx\next@\nextii@ \newxyshape{#1}{}\relax\fi
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   171
 \expandafter\DNii@\expandafter{\csname xyPDFshape@#1@\endcsname}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   172
 \expandafter\def\nextii@{#2}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   173
 \ifx\nextii@\empty\expandafter\def\next@{\xyPDFnotimplemented@@`#1'@@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   174
 \else
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   175
 \edef\tmp@{\noexpand\let\expandafter\noexpand\next@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   176
 \expandafter\noexpand\nextii@}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   177
 \expandafter\tmp@\fi }
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   178
\xydef@\xyPDFnotimplemented@@#1@@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   179
 \xywarning@{This PostScript effect is not implemented yet}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   180
\xydef@\xyPDFnotfinished@@{%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   181
 \xywarning@{This effect is not reliable yet; box sizes may be wrong}}%
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   182
\installxypdf@
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   183
\endinput
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   184
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   185
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   186
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   187
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   188
scott@6e1638ff-ae45-0410-89bd-df963105f760
parents:
diff changeset
   189