summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/graphics/graphics.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/graphics/graphics.dtx')
-rw-r--r--Master/texmf-dist/source/latex/graphics/graphics.dtx117
1 files changed, 96 insertions, 21 deletions
diff --git a/Master/texmf-dist/source/latex/graphics/graphics.dtx b/Master/texmf-dist/source/latex/graphics/graphics.dtx
index 94f199678ee..b8d50b41753 100644
--- a/Master/texmf-dist/source/latex/graphics/graphics.dtx
+++ b/Master/texmf-dist/source/latex/graphics/graphics.dtx
@@ -19,7 +19,7 @@
%<driver> \ProvidesFile{graphics.drv}
% \fi
% \ProvidesFile{graphics.dtx}
- [2017/04/14 v1.1b Standard LaTeX Graphics (DPC,SPQR)]
+ [2017/06/01 v1.2a Standard LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -564,16 +564,18 @@
% \begin{option}{dvipdfm}
% \changes{v1.0k}{1999/01/13}
% {dvipdfm added}
-% Mark Wick's dvipdfm driver.
+% \changes{v1.2a}{2017/06/01}
+% {make dvipdfm an alias for dvipdfmx}
+% Mark Wick's dvipdfm driver (now merged with xdvipdfmx).
% \begin{macrocode}
-\DeclareOption{dvipdfm}{\def\Gin@driver{dvipdfm.def}}
+\DeclareOption{dvipdfm}{\def\Gin@driver{dvipdfmx.def}}
% \end{macrocode}
% \end{option}
%
% \begin{option}{dvipdfmx}
% \changes{v1.0m}{2005/11/14}
% {dvipdfmx added}
-% The driver for the dvipdfmx project.
+% The driver for the dvipdfmx project (also supports xdvipdfmx).
% \begin{macrocode}
\DeclareOption{dvipdfmx}{\def\Gin@driver{dvipdfmx.def}}
% \end{macrocode}
@@ -1204,6 +1206,43 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\Gin@page}
+% \changes{v1.2a}{2017/06/01}
+% {New macro}
+% In the standard interface this is a no-op, but needs to be defined
+% to allow the caching code to be set up.
+% \begin{macrocode}
+\let\Gin@page\@empty
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Gin@pagebox}
+% \changes{v1.2a}{2017/06/01}
+% {New macro}
+% In the standard interface always points to the |cropbox|.
+% \begin{macrocode}
+\def\Gin@pagebox{cropbox}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\ifGin@interpolate}
+% \changes{v1.2a}{2017/06/01}
+% {New macro}
+% In the standard setting a no-op.
+% \begin{macrocode}
+\newif\ifGin@interpolate
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\Gin@log}
+% \changes{v1.2a}{2017/06/01} {New macro} In the standard interface
+% this prints to the log but can be changed via keys in \textsf{graphicx}.
+% \begin{macrocode}
+\let\Gin@log\wlog
+% \end{macrocode}
+% \end{macro}
+%
+%
% \begin{macro}{\Gin@req@sizes}
% \begin{macro}{\Gin@scalex}
% \begin{macro}{\Gin@scaley}
@@ -1265,6 +1304,10 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\Gread@generic}
+% \changes{v1.2a}{2017/06/01}
+% {New macro}
+% \begin{macro}{\Gread@generic@aux}
% \begin{macro}{\Gread@eps}
% Read an EPS file (|#1|) and search for a line
% starting with |%%BoundingBox| and returns the result
@@ -1274,8 +1317,29 @@
% {Fix the catcodes of \cs{endlinechar} and ctrl-D}
% \changes{v0.7a}{1995/04/11}
% {Fix more catcodes, for binary headers of eps files}
-% \begin{macrocode}
-\def\Gread@eps#1{%
+% \changes{v1.2a}{2017/06/01}
+% {Split to allow code reuse by \cs{Gread@extractbb} in
+% \texttt{dvipdfmx.def} driver}
+% \begin{macro}{\Gread@eps@aux}
+% \begin{macrocode}
+\def\Gread@generic#1#2{%
+ \edef\Gread@attr@hash{%
+ \ifx\Gin@pagebox\@empty\else
+ :\Gin@pagebox
+ \fi
+ \ifx\Gin@page\@empty\else
+ :P\Gin@page
+ \fi
+ }%
+ \@ifundefined{#1 bbox\Gread@attr@hash}%
+ {\Gread@generic@aux{#1}{#2}}
+ {%
+ \expandafter\global\expandafter\let\expandafter\@gtempa
+ \csname #1 bbox\Gread@attr@hash\endcsname
+ }%
+ \expandafter\Gread@parse@bb\@gtempa\\%
+}
+\def\Gread@generic@aux#1#2{%
\begingroup
% \end{macrocode}
% Make it reasonably safe to have binary headers in the EPS file
@@ -1306,8 +1370,29 @@
% information file, if possible.
% \changes{v0.4d}{1994/05/06}
% {Improve the error message if the info file is not there.}
+% \changes{v1.2a}{2017/06/01}
+% {Allow for spaces in name of a file}
% \begin{macrocode}
- \immediate\openin\@inputcheck#1 %
+ \immediate\openin\@inputcheck"#1" %
+ #2{#1}%
+% \end{macrocode}
+% \changes{v0.3i}{1994/03/23}
+% {Wording of error message improved}
+% \changes{v1.0}{1996/05/29}
+% {Use \cs{@gtempa} not \cs{g@tempa} /2090}
+% \begin{macrocode}
+ \ifGin@bbox\else
+ \@latex@error
+ {Cannot determine size of graphic in #1 (no BoundingBox)}%
+ \@ehc
+ \gdef\@gtempa{0 0 72 72 }%
+ \fi
+ \endgroup
+}
+\def\Gread@eps#1{%
+ \Gread@generic{#1}\Gread@eps@aux
+}
+\def\Gread@eps@aux#1{%
\ifeof\@inputcheck
\@latex@error{File `#1' not found}\@ehc
\else
@@ -1330,21 +1415,11 @@
\repeat
\immediate\closein\@inputcheck
\fi
+}
% \end{macrocode}
-% \changes{v0.3i}{1994/03/23}
-% {Wording of error message improved}
-% \changes{v1.0}{1996/05/29}
-% {Use \cs{@gtempa} not \cs{g@tempa} /2090}
-% \begin{macrocode}
- \ifGin@bbox\else
- \@latex@error
- {Cannot determine size of graphic in #1 (no BoundingBox)}%
- \@ehc
- \gdef\@gtempa{0 0 72 72 }%
- \fi
- \endgroup
- \expandafter\Gread@parse@bb\@gtempa\\}
-% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
% \end{macro}
%
% \begin{macro}{\Gread@find@bb}