~ubuntu-branches/ubuntu/trusty/pyx/trusty

« back to all changes in this revision

Viewing changes to contrib/pyx.def

  • Committer: Bazaar Package Importer
  • Author(s): Graham Wilson
  • Date: 2004-12-25 06:42:57 UTC
  • Revision ID: james.westby@ubuntu.com-20041225064257-31469ij5uysqq302
Tags: upstream-0.7.1
ImportĀ upstreamĀ versionĀ 0.7.1

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
%%
 
2
%% This is file 'pyx.def',
 
3
%%
 
4
%% Copyright (C) 2003 Michael Schindler <m-schindler@users.sourceforge.net>
 
5
%%
 
6
%% this file is based on `dvips.def' from the Standard LaTeX `Graphics Bundle',
 
7
%% available via ftp from CTAN
 
8
%%
 
9
%% `pyx.def' may be distributed under the terms of the LaTeX Project Public
 
10
%% License, as described in lppl.txt in the base LaTeX distribution.
 
11
%% Either version 1.0 or, at your option, any later version.
 
12
%%
 
13
%%
 
14
% TODO: - documentation
 
15
%
 
16
\ProvidesFile{pyx.def}
 
17
        [2003/06/12 driver-dependant file]
 
18
%
 
19
% %%%%%%  auxiliary macros  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
20
% used in DEF file only:
 
21
% check if #1 is in [0,1]
 
22
%
 
23
\def\c@lor@arg#1{%
 
24
  \dimen@#1\p@
 
25
  \ifdim\dimen@<\z@\dimen@\maxdimen\fi
 
26
  \ifdim\dimen@>\p@
 
27
    \PackageError{color}{Argument `#1' not in range [0,1]}\@ehd
 
28
  \fi}
 
29
%
 
30
% //\
 
31
%
 
32
% %%%%%%  (1a) gray, cmyk, rgb and RGB colors  %%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
33
% used in color.sty:  \color@gray, cmyk, rgb, RGB, hsb
 
34
% these commands are created with \csname as a
 
35
% combination of 'color@' and 'gray'/'cmyk'/'rgb'/'RGB'/'hsb'
 
36
% in color.sty by \@undeclaredcolor
 
37
% gray, cmyk, rgb, hsb all take numbers in [0,1] as first argument(s)
 
38
% RGB takes numbers in [0,255] as first arguments
 
39
%
 
40
\def\color@gray#1#2{%
 
41
  \c@lor@arg{#2}%       % check the argument
 
42
  \edef#1{gray #2}%     % prepare for command
 
43
  }
 
44
%
 
45
\def\color@cmyk#1#2{\c@lor@@cmyk#2\@@#1} % \@@ is only a separator for the arguments!
 
46
\def\c@lor@@cmyk#1,#2,#3,#4\@@#5{%
 
47
  \c@lor@arg{#4}%
 
48
  \c@lor@arg{#1}%
 
49
  \c@lor@arg{#2}%
 
50
  \c@lor@arg{#3}%
 
51
  \edef#5{cmyk #1 #2 #3 #4}%    #5 is always \current@color (only once a \tempa)
 
52
  }
 
53
%
 
54
\def\color@rgb#1#2{\c@lor@@rgb#2\@@#1}
 
55
\def\c@lor@@rgb#1,#2,#3\@@#4{%
 
56
  \c@lor@arg{#1}%
 
57
  \c@lor@arg{#2}%
 
58
  \c@lor@arg{#3}%
 
59
  \edef#4{rgb #1 #2 #3}%
 
60
  }
 
61
%
 
62
\def\color@RGB#1#2{\c@lor@@RGB#2\@@#1}
 
63
\def\c@lor@@RGB#1,#2,#3\@@#4{%
 
64
 \c@lor@RGB@rgb{#1}\@tempa                % renormalise
 
65
 \c@lor@RGB@rgb{#2}\@tempb
 
66
 \c@lor@RGB@rgb{#3}\@tempc
 
67
 \c@lor@@rgb\@tempa,\@tempb,\@tempc\@@#4%  % call with normalised values
 
68
}
 
69
\def\c@lor@RGB@rgb#1#2{%
 
70
  \dimen@#1\p@
 
71
  \divide\dimen@\@cclv         % divide by 255
 
72
  \edef#2{\strip@pt\dimen@}}   % strip the number
 
73
%
 
74
\def\color@hsb#1#2{\c@lor@@hsb#2\@@#1}
 
75
\def\c@lor@@hsb#1,#2,#3\@@#4{%
 
76
  \c@lor@arg{#1}%
 
77
  \c@lor@arg{#2}%
 
78
  \c@lor@arg{#3}%
 
79
  \edef#4{hsb #1 #2 #3}% this is the string defining the color in the special.
 
80
%                      % it is stored in the variable \current@color
 
81
  }
 
82
%% //\
 
83
% %%%%%%  (1b) "texnamed" colors  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
84
% used in color.sty: \color@named \col@...
 
85
% like above with the use of \csname
 
86
%
 
87
\def\color@named#1#2{\c@lor@@named#2,,\@@#1}
 
88
\def\c@lor@@named#1,#2,#3\@@#4{%
 
89
  \@ifundefined{col@#1}%
 
90
    {\PackageError{color}{Undefined color `#1'}\@ehd}%
 
91
  {\edef#4{texnamed #1}}%   % arguments 2,3 are thrown away? Maybe an error detection mechanism
 
92
  } % \col@#1 is defined by \define@color@named
 
93
\def\current@color{texnamed Black}
 
94
\def\define@color@named#1#2{% for \DefineNamedColor only
 
95
  \expandafter\let\csname col@#1\endcsname\@nnil}
 
96
% //\
 
97
% %%%%%%  (1c) "pyxgray", "pyxcmyk", "pyxrgb", "pyxhsb" colors  %%%%%%%%%% ///
 
98
%
 
99
% use with \textcolor[pyxcmyk]{Name}
 
100
% where Name has to be defined in PyX as 'color.cmyk.Name'
 
101
% Attention! PyX has to do the error detection if the color is not defined!
 
102
%
 
103
\def\color@pyx#1#2{\c@olor@@pyx#2,,\@@#1}
 
104
\def\c@olor@@pyx#1,#2,#3\@@#4{%
 
105
  \edef#4{pyx #1}}
 
106
% //\
 
107
% %%%%%%  (1) colors general  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
108
%
 
109
% \set@color is called by \@(un)declaredcolor in color.sty
 
110
% This is the starting string of the special
 
111
%
 
112
\def\set@color{%
 
113
 \special{PyX:color_begin \current@color
 
114
 }\aftergroup\reset@color} % the 'group' is the one in \@textcolor: arguments 1 and 3
 
115
\def\reset@color{\special{PyX:color_end}}
 
116
%
 
117
% BACKGROUND COLOR is disabled
 
118
\def\set@page@color{\PackageError{color}{Please adjust the pagecolor in PyX, not in LaTeX!}}
 
119
% //\
 
120
%
 
121
% %%%%%%  (2) eps-file inclusion %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
122
%
 
123
\def\Ginclude@eps#1{%
 
124
 \message{<#1>}%
 
125
  \bgroup
 
126
  \def\@tempa{!}%
 
127
  \dimen@=0.996264009963\Gin@req@width
 
128
  \@tempdima=0.996264009963\Gin@req@height
 
129
  \special{PyX:epsinclude\space
 
130
    file=\Gin@base\Gin@ext\space
 
131
    llx=\Gin@llx\space
 
132
    lly=\Gin@lly\space
 
133
    urx=\Gin@urx\space
 
134
    ury=\Gin@ury\space
 
135
    \ifx\Gin@scalex\@tempa\else width=\strip@pt\dimen@\space\fi
 
136
    \ifx\Gin@scaley\@tempa\else height=\strip@pt\@tempdima\space\fi
 
137
    \ifGin@clip clip=1\fi}%
 
138
  \egroup}
 
139
%
 
140
% bmp, oztex, pntg, pict file inclusions:
 
141
% not available anymore
 
142
% \Ginclude@bmp eventually used in graphics(x).sty
 
143
% \Ginclude@pntg eventually used in graphics(x).sty
 
144
% \Ginclude@pict eventually used in graphics(x).sty
 
145
%
 
146
\def\Ginclude@bmp#1{%
 
147
  \PackageError{color}{bmp file inclusion is not supported in PyX. Please use eps files.}}
 
148
\def\Ginclude@pntg#1{
 
149
  \PackageError{color}{pntg file inclusion is not supported in PyX. Please use eps files.}}
 
150
\def\Ginclude@pict#1{
 
151
  \PackageError{color}{pict file inclusion is not supported in PyX. Please use eps files.}}
 
152
%
 
153
% general stuff
 
154
%
 
155
%\def\Gin@PS@raw#1{\special{ps: #1}}
 
156
%\def\Gin@PS@restored#1{\special{" #1}}
 
157
%\def\Gin@PS@literal@header#1{\AtBeginDvi{\special{! #1}}}
 
158
%\def\Gin@PS@file@header#1{\AtBeginDvi{\special{header=#1}}}
 
159
%
 
160
\def\Gin@extensions{.eps,.ps}
 
161
\@namedef{Gin@rule@.ps}#1{{eps}{.ps}{#1}}
 
162
\@namedef{Gin@rule@.eps}#1{{eps}{.eps}{#1}}
 
163
\@namedef{Gin@rule@*}#1{{eps}{\Gin@ext}{#1}}
 
164
%
 
165
% //\
 
166
%
 
167
% %%%%%%  (3) rotations  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
168
\def\Grot@start{\special{PyX:rotate_begin \Grot@angle}}
 
169
\def\Grot@end{\special{PyX:rotate_end}}
 
170
% //\
 
171
%
 
172
% %%%%%%  (4) scalings  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% ///
 
173
%
 
174
\def\Gscale@start{\special{PyX:scale_begin \Gscale@x\space \Gscale@y}}
 
175
\def\Gscale@end{\special{PyX:scale_end}}
 
176
% //\
 
177
\endinput
 
178
%
 
179
% vim:fdm=marker:fmr=///,//\\
 
180
%
 
181
%% End of file `pyx.def'.