]> AND Private Git Repository - LiCO.git/blob - PeCO-EO/graphicx.sty
Logo AND Algorithmique Numérique Distribuée

Private GIT Repository
Michel - Still some points to be checked in section 5.2
[LiCO.git] / PeCO-EO / graphicx.sty
1 %%\r
2 %% This is file `graphicx.sty',\r
3 %% generated with the docstrip utility.\r
4 %%\r
5 %% The original source files were:\r
6 %%\r
7 %% graphicx.dtx  (with options: `package')\r
8 %% \r
9 %% graphicx.dtx Copyright (C) 1994      David Carlisle Sebastian Rahtz\r
10 %%              Copyright (C) 1995 1996 1997 1999 David Carlisle\r
11 %%\r
12 %% This file is part of the Standard LaTeX `Graphics Bundle'.\r
13 %% It may be distributed under the terms of the LaTeX Project Public\r
14 %% License, as described in lppl.txt in the base LaTeX distribution.\r
15 %% Either version 1.0 or, at your option, any later version.\r
16 %%\r
17 \NeedsTeXFormat{LaTeX2e}[1995/12/01]\r
18 \ProvidesPackage{graphicx}\r
19           [1999/02/16 v1.0f  Enhanced LaTeX Graphics (DPC,SPQR)]\r
20 \DeclareOption{unknownkeysallowed}\r
21   {\PassOptionsToPackage\CurrentOption{keyval}}\r
22 \DeclareOption*{\PassOptionsToPackage\CurrentOption{graphics}}\r
23 \ProcessOptions\r
24 \RequirePackage{keyval,graphics}\r
25 \define@key{Gin}{bb}\r
26            {\Gin@bboxtrue\Gread@parse@bb#1 \\}\r
27 \define@key{Gin}{bbllx}\r
28            {\Gin@bboxtrue\Gin@defaultbp\Gin@llx{#1}}\r
29 \define@key{Gin}{bblly}\r
30            {\Gin@bboxtrue\Gin@defaultbp\Gin@lly{#1}}\r
31 \define@key{Gin}{bburx}\r
32            {\Gin@bboxtrue\Gin@defaultbp\Gin@urx{#1}}\r
33 \define@key{Gin}{bbury}\r
34            {\Gin@bboxtrue\Gin@defaultbp\Gin@ury{#1}}\r
35 \define@key{Gin}{hiresbb}[true]{%\r
36   \edef\Gread@BBox{%\r
37     \@percentchar\@percentchar\r
38     \csname if#1\endcsname HiRes\fi\r
39     BoundingBox}}\r
40 \let\KV@Gin@natwidth\KV@Gin@bburx\r
41 \let\KV@Gin@natheight\KV@Gin@bbury\r
42 \define@key{Gin}{viewport}\r
43            {\let\Gin@viewport@code\Gin@viewport\Gread@parse@vp#1 \\}\r
44 \define@key{Gin}{trim}\r
45            {\let\Gin@viewport@code\Gin@trim\Gread@parse@vp#1 \\}\r
46 \def\Gread@parse@vp#1 #2 #3 #4 #5\\{%\r
47   \Gin@defaultbp\Gin@vllx{#1}%\r
48   \Gin@defaultbp\Gin@vlly{#2}%\r
49   \Gin@defaultbp\Gin@vurx{#3}%\r
50   \Gin@defaultbp\Gin@vury{#4}}%\r
51 \def\Gin@viewport{%\r
52   \let\Gin@ollx\Gin@llx\r
53   \let\Gin@olly\Gin@lly\r
54   \let\Gin@ourx\Gin@urx\r
55   \let\Gin@oury\Gin@ury\r
56   \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vurx\p@\r
57                       \edef\Gin@urx{\strip@pt\dimen@}%\r
58   \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vury\p@\r
59                       \edef\Gin@ury{\strip@pt\dimen@}%\r
60   \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@\r
61                       \edef\Gin@llx{\strip@pt\dimen@}%\r
62   \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@\r
63                       \edef\Gin@lly{\strip@pt\dimen@}}\r
64 \def\Gin@trim{%\r
65   \let\Gin@ollx\Gin@llx\r
66   \let\Gin@olly\Gin@lly\r
67   \let\Gin@ourx\Gin@urx\r
68   \let\Gin@oury\Gin@ury\r
69   \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@\r
70                       \edef\Gin@llx{\strip@pt\dimen@}%\r
71   \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@\r
72                       \edef\Gin@lly{\strip@pt\dimen@}%\r
73   \dimen@\Gin@urx\p@\advance\dimen@ -\Gin@vurx\p@\r
74                       \edef\Gin@urx{\strip@pt\dimen@}%\r
75   \dimen@\Gin@ury\p@\advance\dimen@ -\Gin@vury\p@\r
76                       \edef\Gin@ury{\strip@pt\dimen@}}\r
77 \let\Gin@vllx\Gin@llx\let\Gin@vlly\Gin@llx\r
78 \let\Gin@vurx\Gin@llx\let\Gin@vury\Gin@llx\r
79 \define@key{Gin}{angle}\r
80            {\Gin@esetsize\r
81             \@tempswatrue\r
82             \edef\@tempa{\toks@{\noexpand\Gin@erotate{#1}{\the\toks@}}}%\r
83             \@tempa}\r
84 \define@key{Gin}{origin}[c]{%\r
85   \def\Gin@erotate{\Grot@box@kv[origin=#1]}}\r
86 \define@key{Gin}{width}{\def\Gin@ewidth{#1}}\r
87 \define@key{Gin}{height}{\def\Gin@eheight{#1}}\r
88 \define@key{Gin}{totalheight}{%\r
89   \def\Gin@eresize{\totalheight}\def\Gin@eheight{#1}}\r
90 \define@key{Gin}{keepaspectratio}[true]{%\r
91   \lowercase{\Gin@boolkey{#1}}{iso}}\r
92 \define@key{Gin}{scale}{%\r
93   \if@tempswa\r
94     \edef\@tempa{\toks@{\noexpand\Gscale@box{#1}[#1]{\the\toks@}}}%\r
95     \@tempa\r
96   \else\r
97     \def\Gin@req@sizes{%\r
98       \def\Gin@scalex{#1}\let\Gin@scaley\Gin@exclamation\r
99       \Gin@req@height\Gin@scalex\Gin@nat@height\r
100       \Gin@req@width\Gin@scalex\Gin@nat@width}%\r
101   \fi\r
102   \@tempswatrue}\r
103 \define@key{Gin}{draft}[true]{%\r
104   \lowercase{\Gin@boolkey{#1}}{draft}}\r
105 \define@key{Gin}{clip}[true]{%\r
106   \lowercase{\Gin@boolkey{#1}}{clip}}\r
107 \define@key{Gin}{type}{%\r
108   \def\Ginclude@graphics##1{%\r
109     \begingroup\r
110     \def\Gin@base{##1}%\r
111     \edef\@tempa{{#1}{\Gin@eread}{\Gin@ecom{##1\Gin@eext}}}%\r
112     \expandafter\Gin@setfile\@tempa\r
113     \endgroup}}\r
114 \define@key{Gin}{ext}{\def\Gin@eext{#1}}\r
115 \let\Gin@eext\@empty\r
116 \define@key{Gin}{read}{%\r
117  \def\Gin@eread{#1}%\r
118  \def\@tempa{*}\ifx\@tempa\Gin@eread\def\Gin@eread{\Gin@eext}\fi}\r
119 \let\Gin@eread\@empty\r
120 \define@key{Gin}{command}{\def\Gin@ecom##1{#1}}\r
121 \let\Gin@ecom\@firstofone\r
122 \def\Gin@boolkey#1#2{%\r
123   \csname Gin@#2\ifx\relax#1\relax true\else#1\fi\endcsname}\r
124 \def\Gin@eresize{\height}\r
125 \def\Gin@esetsize{%\r
126   \let\@tempa\Gin@exclamation\r
127   \if@tempswa\r
128     \edef\@tempa{\toks@{\noexpand\r
129              \Gscale@@box\noexpand\Gin@eresize\r
130               {\Gin@ewidth}{\Gin@eheight}{\the\toks@}}}%\r
131     \@tempa\r
132   \else\r
133     \ifx\Gin@ewidth\@tempa\r
134       \ifx\Gin@eheight\@tempa\r
135       \else\r
136          \let\Gin@@eheight\Gin@eheight\r
137          \def\Gin@req@sizes{%\r
138            \Gscale@div\Gin@scaley\Gin@@eheight\Gin@nat@height\r
139            \let\Gin@scalex\Gin@exclamation\r
140            \setlength\Gin@req@height\Gin@@eheight\r
141            \Gin@req@width\Gin@scaley\Gin@nat@width}%\r
142       \fi\r
143     \else\r
144       \ifx\Gin@eheight\@tempa\r
145          \let\Gin@@ewidth\Gin@ewidth\r
146          \def\Gin@req@sizes{%\r
147            \Gscale@div\Gin@scalex\Gin@@ewidth\Gin@nat@width\r
148            \let\Gin@scaley\Gin@exclamation\r
149            \setlength\Gin@req@width\Gin@@ewidth\r
150            \Gin@req@height\Gin@scalex\Gin@nat@height}%\r
151       \else\r
152          \let\Gin@@ewidth\Gin@ewidth\r
153          \let\Gin@@eheight\Gin@eheight\r
154          \def\Gin@nosize##1{%\r
155            \KV@Gin@natwidth\Gin@@ewidth\r
156            \KV@Gin@natheight\Gin@@eheight}%\r
157          \def\Gin@req@sizes{%\r
158            \Gscale@div\Gin@scalex\Gin@@ewidth\Gin@nat@width\r
159            \Gscale@div\Gin@scaley\Gin@@eheight\Gin@nat@height\r
160            \ifGin@iso\r
161              \ifdim\Gin@scaley\p@>\Gin@scalex\p@\r
162                \let\Gin@scaley\Gin@scalex\r
163              \else\r
164                \let\Gin@scalex\Gin@scaley\r
165              \fi\r
166            \fi\r
167            \Gin@req@width\Gin@scalex\Gin@nat@width\r
168            \Gin@req@height\Gin@scaley\Gin@nat@height}%\r
169        \fi\r
170      \fi\r
171   \fi\r
172   \let\Gin@ewidth\Gin@exclamation\r
173   \let\Gin@eheight\Gin@ewidth}\r
174 \newdimen\Gin@req@height\r
175 \newdimen\Gin@req@width\r
176 \let\Gin@outer@scalex\relax\r
177 \let\Gin@outer@scaley\relax\r
178 \let\Gin@angle\relax\r
179 \let\Gin@ewidth\Gin@exclamation\r
180 \let\Gin@eheight\Gin@ewidth\r
181 \def\Gin@scalex{1}\r
182 \let\Gin@scaley\Gin@exclamation\r
183 \def\Gin@i{%\r
184  \def\Gin@req@sizes{%\r
185    \Gin@req@height\Gin@nat@height\r
186    \Gin@req@width\Gin@nat@width}%\r
187  \@ifnextchar[\Gin@ii{\Gin@ii[]}}\r
188 \def\Gin@ii[#1]#2{%\r
189     \def\@tempa{[}\def\@tempb{#2}%\r
190     \ifx\@tempa\@tempb\r
191       \def\@tempa{\Gin@iii[#1][}%\r
192       \expandafter\@tempa\r
193     \else\r
194      \begingroup\r
195        \@tempswafalse\r
196        \toks@{\Ginclude@graphics{#2}}%\r
197        \setkeys{Gin}{#1}%\r
198        \Gin@esetsize\r
199        \the\toks@\r
200      \endgroup\r
201      \fi}\r
202 \def\rotatebox{%\r
203   \@ifnextchar[\Grot@box@kv\Grot@box@std}\r
204 \def\Grot@box@std#1#2{%\r
205   \Grot@setangle{#1}%\r
206   \setbox\z@\hbox{{#2}}%\r
207   \Grot@x\z@\r
208   \Grot@y\z@\r
209   \Grot@box}\r
210 \def\Grot@box@kv[#1]#2#3{%\r
211   \@begin@tempboxa\hbox{#3}%\r
212     \Grot@x\width \divide\Grot@x\tw@\r
213     \Grot@y\height \advance\Grot@y-\depth \divide\Grot@y\tw@\r
214     \setkeys{Grot}{#1}%\r
215     \setbox\z@\box\@tempboxa\r
216     \Grot@setangle{#2}%\r
217     \Grot@box\r
218   \@end@tempboxa}\r
219 \define@key{Grot}{origin}[c]{%\r
220  \@tfor\@tempa:=#1\do{%\r
221     \if l\@tempa \Grot@x\z@\else\r
222     \if r\@tempa \Grot@x\width\else\r
223     \if t\@tempa \Grot@y\height\else\r
224     \if b\@tempa \Grot@y-\depth\else\r
225     \if B\@tempa \Grot@y\z@\fi\fi\fi\fi\fi}}\r
226 \define@key{Grot}{x}{\setlength\Grot@x{#1}}\r
227 \define@key{Grot}{y}{\setlength\Grot@y{#1}}\r
228 \define@key{Grot}{units}{%\r
229   \def\Grot@setangle##1{%\r
230   \dimen@##1\p@\r
231   \dimen@ii#1\p@\r
232   \divide\dimen@ii360\relax\r
233   \divide\dimen@\dimen@ii\r
234   \edef\Grot@angle{\number\dimen@}}}\r
235 \let\Gin@erotate\Grot@box@std\r
236 \endinput\r
237 %%\r
238 %% End of file `graphicx.sty'.\r