summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/graphics
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2014-05-09 22:39:48 +0000
committerKarl Berry <karl@freefriends.org>2014-05-09 22:39:48 +0000
commit610c45beb863b008027a871701c889fe40bed7fb (patch)
tree5b879b56850db183fd749a497edd1d91172edf69 /Master/texmf-dist/source/latex/graphics
parent18fa80c232cf479ae713b01b17d48bdc1d653aac (diff)
latex2e 2014/05/01 (via latex-tds)
git-svn-id: svn://tug.org/texlive/trunk@33946 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/graphics')
-rw-r--r--Master/texmf-dist/source/latex/graphics/color.dtx47
-rw-r--r--Master/texmf-dist/source/latex/graphics/drivers.dtx52
-rw-r--r--Master/texmf-dist/source/latex/graphics/epsfig.dtx4
-rw-r--r--Master/texmf-dist/source/latex/graphics/graphics.dtx44
-rw-r--r--Master/texmf-dist/source/latex/graphics/graphicx.dtx60
-rw-r--r--Master/texmf-dist/source/latex/graphics/grfguide.tex213
-rw-r--r--Master/texmf-dist/source/latex/graphics/keyval.dtx55
-rw-r--r--Master/texmf-dist/source/latex/graphics/lscape.dtx6
8 files changed, 332 insertions, 149 deletions
diff --git a/Master/texmf-dist/source/latex/graphics/color.dtx b/Master/texmf-dist/source/latex/graphics/color.dtx
index 03c02429a44..7a545b98fd5 100644
--- a/Master/texmf-dist/source/latex/graphics/color.dtx
+++ b/Master/texmf-dist/source/latex/graphics/color.dtx
@@ -19,7 +19,7 @@
%<driver> \ProvidesFile{color.drv}
% \fi
% \ProvidesFile{color.dtx}
- [2005/11/14 v1.0j Standard LaTeX Color (DPC)]
+ [2014/04/23 v1.1a Standard LaTeX Color (DPC)]
%
% \iffalse
%<*driver>
@@ -41,7 +41,7 @@
% \date{\filedate}
% \maketitle
%
-% \CheckSum{432}
+% \CheckSum{440}
%
%
% \title{The implementation of the \LaTeX\ Colour interface.}
@@ -52,15 +52,15 @@
%
% The user level documentation of this package is contained in the
% document \emph{Packages in the `graphics' bundle} in the file
-% \texttt{grfguide.tex}.
-%
+% \texttt{grfguide.tex}.
+%
% \StopEventually{}
%
%
% \section{Options}
%
% \changes{v0.2a}{1994/04/13}
-% {TEMP KLUDGE for Feb 94 release of 2e:
+% {TEMP KLUDGE for Feb 94 release of 2e:
% Add extra groups}
% \changes{v0.2d}{1994/05/13}
% {All support for Feb 1994 release removed (so used optional arg
@@ -421,7 +421,7 @@
% Since December 95, in fact this command has one other difference
% from |\color|. It calls |\leavevmode| to ensure the start of
% horizontal mode. Specifically this means that a construction
-% such as
+% such as
%\begin{verbatim}
% xxx\parbox[t]{1cm}{\textcolor{red}{a}.....
%\end{verbatim}
@@ -457,6 +457,25 @@
% \end{macrocode}
% \end{macro}
%
+% \begin{macro}{\nopagecolor}
+% |\nopagecolor| (suggested by Heiko Oberdiek) removes any currently specified page colour
+% returning to the default transparent background. It is not yet supported by all driver options
+% and so generates a warning if there is no definition in the driver file.
+%
+% \changes{v1.1a}{2014/04/23}
+% {add \cs{nopagecolor} graphics/3873}
+% \begin{macrocode}
+\def\nopagecolor{%
+ \@ifundefined{no@page@color}{%
+ \PackageInfo{color}{\string\nopagecolor\space is not supported}%
+ }{%
+ \no@page@color
+ }%
+}
+% \end{macrocode}
+% \end{macro}
+%
+%
% \section{Defining Colours}
%
% \begin{macro}{\definecolor}
@@ -503,7 +522,7 @@
%
% Driver files may opt to define a `named' colour model.
% Placing colour names rather than numeric specifications into the dvi
-% file has certain advantages, in that post processing software can
+% file has certain advantages, in that post processing software can
% tune the colour specifications to the particular technology being
% used, and more easily make colour separations for that colour.
% The disadvantage is that the driver must `know' the colour
@@ -516,7 +535,7 @@
%
% The `color2' drivers (textures) use a special postscript operator
% that takes both the name and the cmyk equivalent. so if the names are
-% no being used, fall back' definitions in the cmyk model are available.
+% not being used, `fall back' definitions in the cmyk model are available.
% These drivers also allow a numeric value to affect the `density'
% of the colour to use.
%
@@ -567,8 +586,8 @@
%
% \begin{macro}{\c@lor@special}
% Some drivers can not support all the features of this package. They
-% should always put a \meta{whatsit} in the current list though. the
-% following macro has most of the features of |\special|, but does not
+% should always put a \meta{whatsit} in the current list though. The
+% following macro has most of the features of |\special|, but does not
% put anything into the |dvi| file. It does write to the log file or the
% terminal (depending on the value of |#1|).
% \begin{macrocode}
@@ -627,7 +646,7 @@
% conjunction with colour. It will have no effect until the |color|
% package is also loaded.
% \changes{v0.2b}{1994/04/18}
-% {Only reset the colour with \cmd{\reset@font} not
+% {Only reset the colour with \cmd{\reset@font} not
% \cmd{\normalfont}}
% \changes{v0.2d}{1994/05/13}
% {Stop changing \cs{reset@font}. Use the new \cs{normalfont}
@@ -649,7 +668,7 @@
% the truth as the `macro layer' of \TeX\ does not know where the output
% routine is going to re-insert floats. This is why drivers must
% maintain their own stack of colours in order to fully support these
-% commands.
+% commands.
%
% For dvips, the |\current@color| it is something like `|Black|' or
% `|rgb 0 1 0|', but other packages should not rely on any particular
@@ -661,7 +680,7 @@
% are not known at this point.
%
% \section{Higher Level Commands}
-%
+%
% With the basic colour primitives specified above we may define a few
% higer level commands for coloured boxes etc. This is still quite a low
% level and presumably packages and classes making use of colour will
@@ -673,7 +692,7 @@
% |\color@block{|\emph{width}|}{|\emph{height}|}{|\emph{depth}|}|\\
% Should take up no space for \TeX, but produce a block in the current
% colour of the specified size. It is mainly used for producing box
-% backgrounds.
+% backgrounds.
%
% The definition here works by selecting a colour, and then drawing a
% \TeX\ rule (unless |\ifcolors@false|). This allows the `driver
diff --git a/Master/texmf-dist/source/latex/graphics/drivers.dtx b/Master/texmf-dist/source/latex/graphics/drivers.dtx
index 81ef0afcaff..095e06920b1 100644
--- a/Master/texmf-dist/source/latex/graphics/drivers.dtx
+++ b/Master/texmf-dist/source/latex/graphics/drivers.dtx
@@ -36,7 +36,7 @@
\NeedsTeXFormat{LaTeX2e}
\ProvidesFile{drivers.dtx}
%</driver>
- [1999/02/16 v3.0i Driver-dependant file (DPC,SPQR)]
+ [2014/04/23 v3.0j Driver-dependant file (DPC,SPQR)]
%
%<*driver>
\documentclass{ltxdoc}
@@ -52,7 +52,7 @@
%</driver>
% \fi
%
-% \CheckSum{1541}
+% \CheckSum{1546}
%
%
% \providecommand\OzTeX{O\kern-.03em z\kern-.15em\TeX}
@@ -71,9 +71,9 @@
% access, so they are untested. Please send any corrections to the
% latexbugs address.
%
-%
%
-%
+%
+%
% \StopEventually{}
%
%
@@ -186,8 +186,8 @@
%
% \begin{macrocode}
\def\c@lor@@RGB#1,#2,#3\@@#4{%
-%<!color4> \c@lor@RGB@rgb{#1}\@tempa
-%<!color4> \c@lor@RGB@rgb{#2}\@tempb
+%<!color4> \c@lor@RGB@rgb{#1}\@tempa
+%<!color4> \c@lor@RGB@rgb{#2}\@tempb
%<!color4> \c@lor@RGB@rgb{#3}\@tempc
%<!color4> \c@lor@@rgb\@tempa,\@tempb,\@tempc\@@#4%
%<color4> \edef#4{#1 #2 #3}%
@@ -264,7 +264,7 @@
\def\c@lor@ps@rgb@#1. #2. #3. #4. #5\@@#6{#1 #2 #3 setrgbcolor}
\def\c@lor@ps@cmyk#1. #2. #3. #4. #5. #6\@@{#1 #2 #3 #4 setcmykcolor}
\def\c@lor@ps@cmyk@#1. #2. #3. #4. #5. #6\@@#7{%
- #1 #2 #3 #4 (#7) findcustomcmykcolor
+ #1 #2 #3 #4 (#7) findcustomcmykcolor
\if!\@firstofone#5!1 \else#5 \fi setcustomcolor}
%</color2>
% \end{macrocode}
@@ -277,6 +277,8 @@
%<color4>\def\current@color{0 0 0}
% \end{macrocode}
%
+% \changes{v3.0j}{2014/04/23}
+% {add \cs{nopagecolor} for dvips graphics/3873}
% \begin{macrocode}
%<*color1>
\def\set@color{%
@@ -293,6 +295,7 @@
\def\define@color@named#1#2{%
%<!dvipsone> \expandafter\let\csname col@#1\endcsname\@nnil}
%<dvipsone> \expandafter\edef\csname col@#1\endcsname{#2}}
+%<dvips> \def\no@page@color{\special{background \string"newpath clip}}
%</color1>
%<*color2>
\def\set@color{%
@@ -519,7 +522,7 @@
%
% \section{Literal Postscript}
%
-% Raw PostScript code, no save/restore.
+% Raw PostScript code, no save/restore.
% \begin{macrocode}
\def\Gin@PS@raw#1{\special{ps: #1}}
% \end{macrocode}
@@ -626,7 +629,7 @@
%
% \section{Literal Postscript}
%
-% Raw PostScript code, no save/restore.
+% Raw PostScript code, no save/restore.
% \begin{macrocode}
\def\Gin@PS@raw#1{\special{ps: #1}}
% \end{macrocode}
@@ -665,7 +668,7 @@
%
% \section{\OzTeX}
%
-% A \LaTeXe\ graphics driver file for \OzTeX\
+% A \LaTeXe\ graphics driver file for \OzTeX\
% (versions 1.42 and later),
% by Andrew Trevorrow.
% \begin{macrocode}
@@ -715,7 +718,7 @@
from textures.def.\MessageBreak\MessageBreak
The code for scaling/rotation and file inclusion\MessageBreak
in this file is still rudimentary, and does not\MessageBreak
- use textures' full capabilities.\MessageBreak\MessageBreak
+ use textures' full capabilities.\MessageBreak\MessageBreak
A new textures.def is currently being developed\@gobble}
% \end{macrocode}
%
@@ -786,7 +789,7 @@
\typeout{no clipping support in dvialw}%
\fi
\special{language "PS",
- literal "\Gin@scalex\space
+ literal "\Gin@scalex\space
\Gin@scaley\space scale",
position = "bottom left",
include "#1\space"}%
@@ -928,7 +931,7 @@
%
% \section{Literal Postscript}
%
-% Raw PostScript code, no save/restore.
+% Raw PostScript code, no save/restore.
% \begin{macrocode}
\def\Gin@PS@raw#1{\special{ps: #1}}
% \end{macrocode}
@@ -990,7 +993,7 @@
\ifGin@clip
\typeout{no clipping support in dvitops}%
\fi
-\special{import #1\space \the\Gin@req@width\space
+\special{import #1\space \the\Gin@req@width\space
\the\Gin@req@height\space fill}}
% \end{macrocode}
%
@@ -1043,7 +1046,7 @@
\fi
\Gin@req@width.03515\Gin@req@width
\Gin@req@height.03515\Gin@req@height
- \special{ps:#1\space x=\strip@pt\Gin@req@width cm,
+ \special{ps:#1\space x=\strip@pt\Gin@req@width cm,
y=\strip@pt\Gin@req@height cm}}
% \end{macrocode}
%
@@ -1072,7 +1075,7 @@ please rename the file to .eps file extension.^^J%
\def\Gin@PS@raw#1{\special{ps::#1}}
\def\Grot@start{%
\special{ps::gsave currentpoint
- currentpoint translate \Grot@angle\space
+ currentpoint translate \Grot@angle\space
rotate neg exch neg exch translate}}
\def\Grot@end{\special{ps:: currentpoint grestore moveto}}
% \end{macrocode}
@@ -1095,7 +1098,7 @@ please rename the file to .eps file extension.^^J%
%
% \subsection{Colour}
% Uses the generic `color1' code.
-%
+%
% \begin{macrocode}
%<*pctex32>
% \end{macrocode}
@@ -1201,7 +1204,7 @@ please rename the file to .eps file extension.^^J%
\fi
\Gin@req@width.03515\Gin@req@width
\Gin@req@height.03515\Gin@req@height
- \special{eps:#1\space x=\strip@pt\Gin@req@width cm,
+ \special{eps:#1\space x=\strip@pt\Gin@req@width cm,
y=\strip@pt\Gin@req@height cm}}
% \end{macrocode}
%
@@ -1229,7 +1232,7 @@ please rename the file to .eps file extension.^^J%
\fi
\Gin@req@width.03515\Gin@req@width
\Gin@req@height.03515\Gin@req@height
- \special{bmp:#1\space x=\strip@pt\Gin@req@width cm,
+ \special{bmp:#1\space x=\strip@pt\Gin@req@width cm,
y=\strip@pt\Gin@req@height cm}}
% \end{macrocode}
%
@@ -1241,7 +1244,7 @@ please rename the file to .eps file extension.^^J%
\fi
\Gin@req@width.03515\Gin@req@width
\Gin@req@height.03515\Gin@req@height
- \special{wmf:#1\space x=\strip@pt\Gin@req@width cm,
+ \special{wmf:#1\space x=\strip@pt\Gin@req@width cm,
y=\strip@pt\Gin@req@height cm}}
% \end{macrocode}
%
@@ -1528,7 +1531,7 @@ please rename the file to .eps file extension.^^J%
\def\Gin@extensions{}
% \end{macrocode}
%
-% .ps .PS .eps .EPS are (E)PS
+% .ps .PS .eps .EPS are (E)PS
% rest are `bmp' which is a catch all type for anything
% that the inport filter can handle.
% \begin{macrocode}
@@ -1552,7 +1555,7 @@ please rename the file to .eps file extension.^^J%
% output. However Non-PS drivers can not support this (and some PS
% one's can't either). The code here makes all these commands no ops.
% Individual driver sections may define the commands to do something
-% useful.
+% useful.
%
% \begin{macrocode}
%<*nops>
@@ -1610,13 +1613,16 @@ please rename the file to .eps file extension.^^J%
%<*psrulesZ>
% \end{macrocode}
%
+% \changes{v3.0j}{2014/04/23}
+% {add .mps for metapost generated postscript to match pdftex graphics/4050}
% \begin{macrocode}
-\def\Gin@extensions{.eps,.ps,.eps.gz,.ps.gz,.eps.Z}
+\def\Gin@extensions{.eps,.ps,.eps.gz,.ps.gz,.eps.Z,.mps}
% \end{macrocode}
%
% \begin{macrocode}
\@namedef{Gin@rule@.ps}#1{{eps}{.ps}{#1}}
\@namedef{Gin@rule@.eps}#1{{eps}{.eps}{#1}}
+\@namedef{Gin@rule@.mps}#1{{eps}{.mps}{#1}}
\@namedef{Gin@rule@.pz}#1{{eps}{.bb}{`gunzip -c #1}}
\@namedef{Gin@rule@.eps.Z}#1{{eps}{.eps.bb}{`gunzip -c #1}}
\@namedef{Gin@rule@.ps.Z}#1{{eps}{.ps.bb}{`gunzip -c #1}}
diff --git a/Master/texmf-dist/source/latex/graphics/epsfig.dtx b/Master/texmf-dist/source/latex/graphics/epsfig.dtx
index cece2634a82..c22b0eb6a68 100644
--- a/Master/texmf-dist/source/latex/graphics/epsfig.dtx
+++ b/Master/texmf-dist/source/latex/graphics/epsfig.dtx
@@ -102,8 +102,8 @@
\epsfxsize\epsfsize{\Gin@nat@width}{\Gin@nat@height}%
\ifdim\epsfxsize=\z@
\ifdim\epsfysize=\z@
- \Gin@req@height\Gin@nat@height
- \Gin@req@width\Gin@nat@width
+ \Gin@req@height\Gin@nat@height
+ \Gin@req@width\Gin@nat@width
\else
\let\Gin@scalex\Gin@exclamation
\Gin@req@height\epsfysize
diff --git a/Master/texmf-dist/source/latex/graphics/graphics.dtx b/Master/texmf-dist/source/latex/graphics/graphics.dtx
index 5ede57afa3b..ab2f34066f1 100644
--- a/Master/texmf-dist/source/latex/graphics/graphics.dtx
+++ b/Master/texmf-dist/source/latex/graphics/graphics.dtx
@@ -72,7 +72,7 @@
% to appear in a document text. Actually two separate user interface
% have been implemented. The `standard' interface, described here, and a
% more powerful, and more `user-friendly' interface provided by the
-% |graphicx| package.
+% |graphicx| package.
% \item The core functions. These functions, which are also implemented
% in this file do all the `main work'. The `user-interface functions
% just collect together the information from any optional-arguments or
@@ -171,9 +171,9 @@
% \changes{v1.0m}{2001/06/07}{Extended documentation (CAR) graphics/3228}
%
% Each use of |\DeclareGraphicsExtensions| overwrites all previous
-% definitions. It is not possible to add an extension to an
+% definitions. It is not possible to add an extension to an
% existing list.
-%
+%
% Early versions of this package defined a default argument for this
% command. This has been removed.
%
@@ -184,9 +184,9 @@
% system behaves when a file with extension \emph{ext} is specified.
% (The extension may be specified explicitly or, if the argument to
% |\includegraphics| does not have an extension, it may be a default
-% extension from the \emph{ext-list} specified with
+% extension from the \emph{ext-list} specified with
% |\DeclareGraphicsExtensions|.)
-%
+%
% \emph{ext} is the \emph{extension} of the file. Any file with this
% extension will be processed by this graphics rule. Normally a file
% with an extension for which no rule has been declared will generate an
@@ -221,7 +221,7 @@
% a BoundingBox comment.
%
% If the driver file specifies a procedure for
-% reading size files for \emph{type}, that will be used, otherwise the
+% reading size files for \emph{type}, that will be used, otherwise the
% procedure for reading |eps| files will be used. Thus the size of
% bitmap files may be specified in a file with a PostScript style
% |%%BoundingBox| line, if no other specific format is available.
@@ -235,10 +235,10 @@
% file before inserting it into the PostScript output.
%
% \subsection{Rotation}
-%
+%
% \DescribeMacro
% \rotatebox\marg{angle}\marg{text}\\
-% Rotate \emph{text} \emph{angle} degrees anti-clockwise. Normally
+% Rotate \emph{text} \emph{angle} degrees anti-clockwise. Normally
% the rotation is about the left-hand end of the baseline of
% \emph{text}.
%
@@ -255,7 +255,7 @@
% If |!| is used as either length argument, the other argument is used
% to determine a scale factor that is used in both directions.
% Normally \emph{v-length} refers to the height of the box, but in the
-% star form, it refers to the `height + depth'.
+% star form, it refers to the `height + depth'.
% As normal for \LaTeXe\ box length arguments, |\height|,
% |\width|, |\totalheight| and |\depth| may be used to refer to the
% original size of the box.
@@ -271,7 +271,7 @@
% \section{The Graphics Kernel Functions}
%
% \subsection{Graphics Inclusion}
-%
+%
% \DescribeMacro
% {\Ginclude@graphics}\marg{file}\\
% Insert the contents of the file \emph{file} at the current point.
@@ -291,15 +291,15 @@
% The read command is responsible for obtaining size information from
% the file specified in the |\DeclareGraphicsRule| command. However the
% kernel defines a function, |\Gread@eps|, which can read PostScript
-% files to find the
+% files to find the
% |%%BoundingBox| comment. This function will be used for any type for
% which a specific function has not been declared. |\Gread@eps| accepts
% a generalised version of the bounding box comment. \TeX\ units may be
% used (but there must be no space before the unit). If the unit is
-% omitted |bp| is assumed. So\\
+% omitted |bp| is assumed. So\\
% |%%BoundingBox 0 0 2in 3in|\\
% Would be accepted by this function, to produce a 2in wide, by 3in high
-% graphic.
+% graphic.
%
% \subsection{Rotation}
%
@@ -319,7 +319,7 @@
% \DescribeMacro
% {\Gscale@box@dd}\marg{dima}\marg{dimb}\marg{text}\\
% Scale \emph{text} in both directions by a factor
-% \emph{dima}/\emph{dimb}.
+% \emph{dima}/\emph{dimb}.
%
% \DescribeMacro
% {\Gscale@box@dddd}
@@ -330,7 +330,7 @@
% \DescribeMacro
% {\Gscale@div}\marg{cmd}\marg{dima}\marg{dimb}\\
% Define the macro \emph{cmd} to be the ratio of the lengths
-% \emph{dima}/\emph{dimb}.
+% \emph{dima}/\emph{dimb}.
%
%
% \section{Interface to the Driver Files}
@@ -378,7 +378,7 @@
% section of the PostScript file.\\
% |\Gin@PS@file@header|, external file to be inserted in the header
% section of the PostScript file.
-%
+%
%
% \subsection{Rotation}
%
@@ -501,7 +501,7 @@
% \end{option}
%
% \begin{option}{demo}
-% \changes{v1.0o}{2006/02/20}{demo option added}
+% \changes{v1.0o}{2006/02/20}{demo option added}
% If given this option the package will disregard the actual
% graphics file and insert a black box unless width or height are
% already specified.
@@ -699,7 +699,7 @@
% \end{macrocode}
% \end{option}
%
-% A local configuration file may define more options.
+% A local configuration file may define more options.
% It should also make one driver option the default, by calling
% |\ExecuteOptions| with the appropriate option.
% \changes{v0.4f}{1994/07/27}
@@ -887,7 +887,7 @@
% back to `bp' takes place which can introduce rounding error. The error
% is invisibly small but files conforming to Adobe DSC should have
% \emph{integer} Bounding Box Coordinates, and conceivably some drivers
-% might demand integer values.
+% might demand integer values.
% (Although most seem to accept real values (if they accept bounding box
% coordinates at all) in the |\special|. This is the reason why the
% mechanism uses |\def| and not \TeX\ lengths, as in earlier releases of
@@ -1021,7 +1021,7 @@
\def\Gin@base{\filename@area\filename@base}%
% \end{macrocode}
% \changes{v0.6c}{1994/12/15}
-% {(Piet van Oostrum) include `.' in \cs{Gin@ext}}%
+% {(Piet van Oostrum) include `.' in \cs{Gin@ext}}%
% \begin{macrocode}
\edef\Gin@ext{\Gin@sepdefault\filename@ext}%
\fi
@@ -1153,7 +1153,7 @@
%
% \begin{macro}{\Gin@exclamation}
% \changes{v0.7g}{1995/12/06}{Macro added}
-% Catcode 12 |!|, in case of French, or other language styles.
+% Catcode 12 |!|, in case of French, or other language styles.
% \begin{macrocode}
\def\Gin@exclamation{!}
% \end{macrocode}
@@ -1581,7 +1581,7 @@
% Now we should translate back by $(O_x,O_y)$, but \TeX\ can not really
% deal with boxes that do not have the reference point at the left edge.
% (Everything with a $-$ve $x$-coordinate would over-print earlier
-% text). So we modify the horizontal translation so that the
+% text). So we modify the horizontal translation so that the
% reference point as understood by \TeX\ \emph{is} at the left edge.
% This means that the `centre of rotation' is not fixed by |\rotatebox|,
% but typically moves horizontally. We also need to find the image of
diff --git a/Master/texmf-dist/source/latex/graphics/graphicx.dtx b/Master/texmf-dist/source/latex/graphics/graphicx.dtx
index 4c241873eab..e611eb6ceb5 100644
--- a/Master/texmf-dist/source/latex/graphics/graphicx.dtx
+++ b/Master/texmf-dist/source/latex/graphics/graphicx.dtx
@@ -2,7 +2,7 @@
% \iffalse
%
%% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz
-%% Copyright (C) 1995 1996 1997 1999 David Carlisle
+%% Copyright (C) 1995 1996 1997 1999 2014 David Carlisle
%%
%% This file is part of the Standard LaTeX `Graphics Bundle'.
%% It may be distributed under the terms of the LaTeX Project Public
@@ -17,7 +17,7 @@
%<driver> \ProvidesFile{graphicx.drv}
% \fi
% \ProvidesFile{graphicx.dtx}
- [1999/02/16 v1.0f Enhanced LaTeX Graphics (DPC,SPQR)]
+ [2014/04/25 v1.0g Enhanced LaTeX Graphics (DPC,SPQR)]
%
% \iffalse
%<*driver>
@@ -40,7 +40,7 @@
% \date{\filedate}
% \maketitle
%
-% \CheckSum{593}
+% \CheckSum{596}
%
% \changes{v0.3}{1994/03/01}
% {First DPC version (after prototype by SPQR).}
@@ -109,22 +109,22 @@
% \DescribeMacro
% \includegraphics\star\oarg{llx,lly}\oarg{urx,ury}\marg{file}\\
% Include a graphics file.
-%
+%
% The star form is just for
% compatibility with the standard interface, and essentially just adds
% |clip| to the keys specified. Similarly the second, two-optional
% argument form is for increased compatibility with the standard
% package. The two optional argument form is not needed in the |keyval|
-% interface.
+% interface.
%
% Various `keys' or named arguments are supported.
% \begin{description}
% \item[bb] Set the bounding box. The argument should be four
-% dimensions, separated by spaces.
+% dimensions, separated by spaces.
% \item[bbllx,bblly,bburx,bbury] Set the bounding box. Mainly for
% compatibility with older packages. |bbllx=a,bblly=b,bburx=c,bbury=d|
% is equivalent to |bb = a b c d|.
-% \item[natwidth,natheight] Again an alternative to |bb|.
+% \item[natwidth,natheight] Again an alternative to |bb|.
% |natheight=h,natwidth=w| is equivalent to |bb = 0 0 h w|.
% \item[viewport] Modify the bounding box specified in the file.
% The four values specify a bounding box \emph{relative} to the
@@ -132,7 +132,7 @@
% \item[trim] Modify the bounding box specified in the file.
% The four values specify the amounts to remove from
% the left, bottom, right and top of the original box.
-% \item[hiresbb] Boolean valued key. Defaults to |true|.
+% \item[hiresbb] Boolean valued key. Defaults to |true|.
% Causes \TeX\ to look for |%%HiResBoundingBox| comments rather than
% the standard |%%BoundingBox|. May be set to |false| to override
% a default setting of true specified by the |hiresbb| package option.
@@ -157,7 +157,7 @@
% draft mode, ie.\ do not include the graphic, but leave the
% correct space, and print the filename.
% \item[type] Specify the file type. (Normally determined from the file
-% extension.)
+% extension.)
% \item[ext] Specify the file extension.
% \emph{Only} for use with |type|.
% \item[read] Specify the `read file' which is used for determining the
@@ -277,7 +277,7 @@
% \begin{key}{Gin}{hiresbb}
% \changes{v1.0b}{1996/10/29}
% {hiresbb key added}
-% If set to true (the default) \TeX\ will look for bounding box
+% If set to true (the default) \TeX\ will look for bounding box
% comments of the form |%%HiResBoundingBox| (which typically have
% real values) instead of the standard |%%BoundingBox| (which should
% have integer values).
@@ -285,7 +285,7 @@
% \begin{macrocode}
\define@key{Gin}{hiresbb}[true]{%
\edef\Gread@BBox{%
- \@percentchar\@percentchar
+ \@percentchar\@percentchar
\csname if#1\endcsname HiRes\fi
BoundingBox}}
% \end{macrocode}
@@ -350,13 +350,13 @@
\let\Gin@olly\Gin@lly
\let\Gin@ourx\Gin@urx
\let\Gin@oury\Gin@ury
- \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vurx\p@
+ \dimen@\Gin@llx\p@\advance\dimen@ \Gin@vurx\p@
\edef\Gin@urx{\strip@pt\dimen@}%
- \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vury\p@
+ \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vury\p@
\edef\Gin@ury{\strip@pt\dimen@}%
\dimen@\Gin@llx\p@\advance\dimen@ \Gin@vllx\p@
\edef\Gin@llx{\strip@pt\dimen@}%
- \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@
+ \dimen@\Gin@lly\p@\advance\dimen@ \Gin@vlly\p@
\edef\Gin@lly{\strip@pt\dimen@}}
% \end{macrocode}
% \end{macro}
@@ -466,7 +466,7 @@
% {Use \cs{Gin@exclamation}}
% If the scaling is being handled externally, wrap |\includegraphics| in
% the internal form of |\scalebox|, otherwise locally define
-% |\Gin@req@sizes| to calculate the required sizes based on
+% |\Gin@req@sizes| to calculate the required sizes based on
% scale factor.
% \begin{macrocode}
\define@key{Gin}{scale}{%
@@ -531,7 +531,7 @@
% Specify a read file, for use with the `type' key.
% You may want to globally set this to |*| using |\setkeys|.
% |*| means read the graphic file for size info, as in
-% |\DeclareGraphicsRule|.
+% |\DeclareGraphicsRule|.
% \changes{v0.5a}{1994/11/29}
% {Add default * possibility.}
% \begin{macrocode}
@@ -574,12 +574,12 @@
\if@tempswa
% \end{macrocode}
% External. Wrap the |\includegraphics| command in a call to the
-% internal form of |\scalebox| to handle the rotation.
+% internal form of |\scalebox| to handle the rotation.
% \begin{macrocode}
\edef\@tempa{\toks@{\noexpand
\Gscale@@box\noexpand\Gin@eresize
{\Gin@ewidth}{\Gin@eheight}{\the\toks@}}}%
- \@tempa
+ \@tempa
\else
% \end{macrocode}
% Internal. Handle scaling with the |\includegraphics| command directly
@@ -601,7 +601,7 @@
\let\Gin@@eheight\Gin@eheight
\def\Gin@req@sizes{%
\Gscale@div\Gin@scaley\Gin@@eheight\Gin@nat@height
- \let\Gin@scalex\Gin@exclamation
+ \let\Gin@scalex\Gin@exclamation
\setlength\Gin@req@height\Gin@@eheight
\Gin@req@width\Gin@scaley\Gin@nat@width}%
\fi
@@ -617,7 +617,7 @@
\let\Gin@@ewidth\Gin@ewidth
\def\Gin@req@sizes{%
\Gscale@div\Gin@scalex\Gin@@ewidth\Gin@nat@width
- \let\Gin@scaley\Gin@exclamation
+ \let\Gin@scaley\Gin@exclamation
\setlength\Gin@req@width\Gin@@ewidth
\Gin@req@height\Gin@scalex\Gin@nat@height}%
\else
@@ -709,7 +709,7 @@
% \begin{macro}{\Gin@eheight}
% Final size, initialised for no scaling.
% \begin{macrocode}
-\let\Gin@ewidth\Gin@exclamation
+\let\Gin@ewidth\Gin@exclamation
\let\Gin@eheight\Gin@ewidth
% \end{macrocode}
% \end{macro}
@@ -722,7 +722,7 @@
% Scale factors. Initialised for no scaling.
% \begin{macrocode}
\def\Gin@scalex{1}
-\let\Gin@scaley\Gin@exclamation
+\let\Gin@scaley\Gin@exclamation
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -772,16 +772,19 @@
% \begin{macro}{\rotatebox}
% Look for an optional argument.
% \changes{v0.3b}{1994/03/11}{Remove star form}
+% \changes{v1.0g}{2014/04/25}{\cs{leavevmode} added graphics/1521}
% \begin{macrocode}
\def\rotatebox{%
+ \leavevmode
\@ifnextchar[\Grot@box@kv\Grot@box@std}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\Grot@box@std}
% If no KV argument, just repeat the standard definition.
+% \changes{v1.0g}{2014/04/25}{Made long graphics/4296}
% \begin{macrocode}
-\def\Grot@box@std#1#2{%
+\long\def\Grot@box@std#1#2{%
\Grot@setangle{#1}%
\setbox\z@\hbox{{#2}}%
\Grot@x\z@
@@ -789,10 +792,11 @@
\Grot@box}
% \end{macrocode}
% \end{macro}
-%
+%
% \begin{macro}{\Grot@box@kv}
+% \changes{v1.0g}{2014/04/25}{Made long graphics/4296}
% \begin{macrocode}
-\def\Grot@box@kv[#1]#2#3{%
+\long\def\Grot@box@kv[#1]#2#3{%
\@begin@tempboxa\hbox{#3}%
\Grot@x\width \divide\Grot@x\tw@
\Grot@y\height \advance\Grot@y-\depth \divide\Grot@y\tw@
@@ -803,12 +807,12 @@
\@end@tempboxa}
% \end{macrocode}
% \end{macro}
-%
+%
%
% There are two ways of specifying the centre of rotation.
%
% \begin{key}{Grot}{origin}
-% |origin=|\meta{label}, where the labels are up to two of |lrctbB|
+% |origin=|\meta{label}, where the labels are up to two of |lrctbB|
% (|B| denotes the baseline, as for PSTricks).
% \begin{macrocode}
\define@key{Grot}{origin}[c]{%
diff --git a/Master/texmf-dist/source/latex/graphics/grfguide.tex b/Master/texmf-dist/source/latex/graphics/grfguide.tex
index 382f6671c98..a61b0daf5e0 100644
--- a/Master/texmf-dist/source/latex/graphics/grfguide.tex
+++ b/Master/texmf-dist/source/latex/graphics/grfguide.tex
@@ -1,5 +1,5 @@
%% grfguide.tex Copyright (C) 1994 1995 1996 1998 1999 David Carlisle
-%% Copyright (C) 2005 David Carlisle, LaTeX3 Project
+%% Copyright (C) 2005 2014 David Carlisle, LaTeX3 Project
%%
%% This file is part of the Standard LaTeX `Graphics Bundle'.
%% It may be distributed under the terms of the LaTeX Project Public
@@ -10,7 +10,7 @@
\begin{filecontents*}{a.ps}
%!
-%%BoundingBox:100 100 172 172
+%%BoundingBox:0 0 72 72
100 100 moveto
72 72 rlineto
72 neg 0 rlineto
@@ -23,7 +23,138 @@ setfont
(A) show
showpage
\end{filecontents*}
-
+\begin{filecontents*}{a.pdf}
+%PDF-1.4
+%%%%%
+1 0 obj
+<<
+/Pages 2 0 R
+/Type /Catalog
+>>
+ endobj
+2 0 obj
+<<
+/Kids [3 0 R]
+/Type /Pages
+/Count 1
+>>
+ endobj
+3 0 obj
+<<
+/Rotate 0
+/Parent 2 0 R
+/MediaBox [0 0 72 72]
+ /Resources
+<<
+/ExtGState 4 0 R
+/Font 5 0 R
+/ProcSet [/PDF /Text]
+>>
+/pdftk_PageNum 1
+/Type /Page
+/Contents 6 0 R
+>>
+ endobj
+4 0 obj
+<<
+/R7 7 0 R
+>>
+ endobj
+5 0 obj
+<<
+/R8 8 0 R
+>>
+ endobj
+6 0 obj
+<<
+/Length 135
+>>
+stream
+q 0.1 0 0 0.1 0 0 cm
+/R7 gs
+10 w
+0 G
+0 0 m
+720 720 l
+0 720 l
+720 0 l
+S
+0 g
+q
+10 0 0 10 0 0 cm BT
+/R8 72 Tf
+1 0 0 1 0 0 Tm
+(A)Tj
+ET
+Q
+Q
+
+ endstream
+ endobj
+7 0 obj
+<<
+/Type /ExtGState
+/OPM 1
+>>
+ endobj
+8 0 obj
+<<
+/BaseFont /Times-Roman
+/LastChar 65
+/Subtype /Type1
+/FontDescriptor 9 0 R
+/Widths [722]
+/Type /Font
+/Encoding /WinAnsiEncoding
+/FirstChar 65
+>>
+ endobj
+9 0 obj
+<<
+/FontName /Times-Roman
+/StemV 105
+/CharSet (/A)
+/Ascent 674
+/Flags 65568
+/Descent 0
+/ItalicAngle 0
+/MissingWidth 250
+/FontBBox [0 0 706 674]
+/Type /FontDescriptor
+/CapHeight 674
+>>
+ endobj
+10 0 obj
+<<
+/Producer (GPL Ghostscript 9.06)
+/ModDate (D:20140426202438+01'00')
+/CreationDate (D:20140426202438+01'00')
+>>
+endobj xref
+0 11
+0000000000 65535 f
+0000000015 00000 n
+0000000066 00000 n
+0000000125 00000 n
+0000000308 00000 n
+0000000341 00000 n
+0000000374 00000 n
+0000000563 00000 n
+0000000610 00000 n
+0000000774 00000 n
+0000000975 00000 n
+trailer
+
+<<
+/Info 10 0 R
+/Root 1 0 R
+/Size 11
+/ID [<4ca1370d594acd28b9d948a5e8b925c3> <4ca1370d594acd28b9d948a5e8b925c3>]
+>>
+startxref
+1106
+%%EOF
+\end{filecontents*}
\documentclass{ltxguide}
%%% No driver option specified
@@ -38,7 +169,7 @@ showpage
%% driver option has not declared a default rule for
%% .ps files:
\DeclareGraphicsRule{.ps}{eps}{.ps}{}
-\DeclareGraphicsExtensions{.ps}
+\DeclareGraphicsExtensions{.pdf,.ps}
%% Which means:
%% .ps files are (to be treated as) EncapsulatedPostScript
%% files. The .ps file is to be read for the BoundingBox.
@@ -59,7 +190,7 @@ showpage
\begin{document}
\title{Packages in the `graphics' bundle}
\author{D. P. Carlisle \and The \LaTeX3 Project}
-\date{2005/11/14}
+\date{2014/04/27}
\maketitle
@@ -166,7 +297,7 @@ models, eg \textbf{pantone} (An industry standard set of colours),
\textbf{x11} (Colour names from the X Window System), etc. The
standard distribution does not currently have such models, but the
\textbf{named} model could be used as an example of how to define a new
-colour model. The names used in the \textbf{named} model are those
+colour model. The names used in the \textbf{named} model are those
suggested by Jim Hafner in his \textsf{colordvi} and \textsf{foiltex}
packages, and implemented originally in the |color.pro| header file for
the \texttt{dvips} driver.
@@ -175,7 +306,7 @@ the \texttt{dvips} driver.
Most of the options to the \package{color} package just specify a
driver, e.g., \ |dvips|, as discussed in section~\ref{drivers}.
-One special option for the \package{color} package
+One special option for the \package{color} package
that is of interest is |monochrome.|
If this option is selected the colour commands are all
disabled so that they do not generate errors, but do not generate colour
@@ -276,7 +407,7 @@ model, thus allowing |\color{WildStrawberry}| in addition to
\subsection{Named Colours}
Using the \textbf{named} colour model has certain advantages over
-using other colour models.
+using other colour models.
Firstly as the |dvi| file contains a request
for a colour by \emph{name}, the actual mix of primary colours used to
@@ -300,14 +431,17 @@ ink colour.
\begin{decl}
|\pagecolor|\arg{name}\\
-|\pagecolor|\oarg{model}\arg{specification}
+|\pagecolor|\oarg{model}\arg{specification}\\
+|\nopagecolor|
\end{decl}
The background colour of the whole page can be set using
|\pagecolor|. This takes the same argument forms as |\color| but sets
the background colour for the current and all subsequent pages. It is
-a global declaration, so you need to use |\pagecolor{white}| to `get
-back to normal'.
+a global declaration, so you need to use
+|\nopagecolor|\NEWfeature{2014/04/23}\ to `get back to normal'.
+If that is not supported, you may use |\pagecolor{white}| although that
+will make a white background rather than the default transparent background.
\subsection{Box Backgrounds}
Two commands similar to |\fbox| produce boxes with the backgrounds
@@ -362,7 +496,7 @@ There are two graphics packages:
\begin{description}
\item[\package{graphics}] The `standard' graphics package.
\item[\package{graphicx}] The `extended' or `enhanced' graphics
- package.
+ package.
\end{description}
The two differ only in the format of optional arguments for the
commands defined. The command names, and the mandatory arguments are
@@ -463,15 +597,15 @@ An abbreviation for |\scalebox{-1}[1]|\arg{text}.
If |!| is used as either length argument, the other argument is used
to determine a scale factor that is used in both directions.
Normally \emph{v-length} refers to the height of the box, but in the
- star form, it refers to the `height + depth'.
+ star form, it refers to the `height + depth'.
As normal for \LaTeXe\ box length arguments, |\height|,
|\width|, |\totalheight|, |\depth| may be used to refer to the
original size of the box.
-|\resizebox{1in}{\height}{Some text}|:
+|\resizebox{1in}{\height}{Some text}|:
\resizebox{1in}{\height}{Some text}
-|\resizebox{1in}{!}{Some text}|:
+|\resizebox{1in}{!}{Some text}|:
\resizebox{1in}{!}{Some text}
\subsection{Including Graphics Files}
@@ -525,7 +659,7 @@ The allowed keys are listed below.
compatibility with older packages.
Specifying |bbllx=a,bblly=b,bburx=c,bbury=d|
is equivalent to specifying |bb = a b c d|.
-\item[natwidth,natheight] Again an alternative to |bb|.
+\item[natwidth,natheight] Again an alternative to |bb|.
|natheight=h,natwidth=w| is equivalent to |bb = 0 0 h w|.
\item[hiresbb]\NEWfeature{1996/10/29}
Boolean valued key. If set to |true| (just specifying |hiresbb|
@@ -554,7 +688,7 @@ The allowed keys are listed below.
\item[totalheight]\NEWfeature{1995/06/01}
Specify the total height (height $+$ depth) of the figure.
This will differ from the `height' if rotation has occurred.
- In particular if the figure has been rotated by $-90^\circ$
+ In particular if the figure has been rotated by $-90^\circ$
then it will have zero height but large depth.
\item[keepaspectratio]\NEWfeature{1995/09/27}
Boolean valued key like `clip'.
@@ -570,7 +704,7 @@ The allowed keys are listed below.
\item[ext] Specify the file extension. This should \emph{only} be
used in conjunction with |type|.
\item[read] Specify the file extension of the `read file'. This
- should \emph{only} be used in conjunction with |type|.
+ should \emph{only} be used in conjunction with |type|.
\item[command] Specify any command to be applied to the file. This
should \emph{only} be used in conjunction with |type|.
\end{description}
@@ -599,16 +733,16 @@ image. To get these effects using the standard package, the
|\rotatebox| or |\scalebox| command.
The keys are read left-to-right, so |[angle=90, height=1in]| means
-rotate by 90 degrees, and then scale to a height of 1in.
+rotate by 90 degrees, and then scale to a height of 1in.
|[height=1in, angle=90]| would result in a final \emph{width} of 1in.
-If the \textsf{calc} package is also loaded the lengths may use
-\textsf{calc} syntax, for instance to specify a width of 2\,cm
+If the \textsf{calc} package is also loaded the lengths may use
+\textsf{calc} syntax, for instance to specify a width of 2\,cm
less than the text width: |[width=\textwidth-2cm]|.
\TeX\ leaves the space specified either in the file, or in
the optional arguments. If any part of the image is actually outside
-this area, it will by default overprint the surrounding text.
+this area, it will by default overprint the surrounding text.
If the star form is used, or |clip| specified, any part of the image
outside this area will not be printed.
@@ -620,10 +754,10 @@ described below.
To see the effect that the various options have consider the file
|a.ps|. This file contains the bounding box specification
\begin{verbatim}
-%%BoundingBox:100 100 172 172
+%%BoundingBox:0 0 72 72
\end{verbatim}
-That is, the printed region consists of a one-inch square, 100\,pt in
-from the bottom and left hand edges of the paper.
+That is, the printed region consists of a one-inch square, in
+the bottom left hand corner of the paper.
In all the following examples the input will be of the form
\begin{verbatim}
@@ -638,13 +772,13 @@ left---\fbox{\includegraphics{a}}---right
\gx |\includegraphics[scale=.5]{a}|\\
left---\fbox{\includegraphics[scale=.5]{a}}---right
-\gs |\includegraphics[115,110][135,145]{a}}|\\
-\gx |\includegraphics[bb= 115 110 135 145]{a}|\\
-left---\fbox{\includegraphics[bb= 115 110 135 145]{a}}---right
+\gs |\includegraphics[15,10][35,45]{a}}|\\
+\gx |\includegraphics[viewport= 15 10 35 45]{a}|\\
+left---\fbox{\includegraphics[viewport= 15 10 35 45]{a}}---right
-\gs |\includegraphics*[115,110][135,145]{a}}|\\
-\gx |\includegraphics[bb= 115 110 135 145,clip]{a}|\\
-left---\fbox{\includegraphics[bb= 115 110 135 145,clip]{a}}---right
+\gs |\includegraphics*[15,10][35,45]{a}}|\\
+\gx |\includegraphics[viewport= 15 10 35 45,clip]{a}|\\
+left---\fbox{\includegraphics[viewport= 15 10 35 45,clip]{a}}---right
\gs |\scalebox{0.5}{\includegraphics{a}}|
and |draft| option.\\
@@ -704,9 +838,9 @@ must exist at the time \LaTeX\ is used.
system behaves when a file with extension \emph{ext} is specified.
(The extension may be specified explicitly or, if the argument to
|\includegraphics| does not have an extension, it may be a default
- extension from the \emph{ext-list} specified with
+ extension from the \emph{ext-list} specified with
|\DeclareGraphicsExtensions|.)
-
+
\emph{ext} the file extension for which this rule applies. As a special
case, \emph{ext} may be given as |*| to denote the default behaviour for
all undeclared extensions (see the example below).
@@ -724,7 +858,7 @@ a separate file with extension |.ps.bb|. If \emph{read-file} is empty,
|{}|, then the system will not try to locate an external file for size
info, and the size must be specified in the arguments of
|\includegraphics|. If the driver file specifies a procedure for
-reading size files for \emph{type}, that will be used, otherwise the
+reading size files for \emph{type}, that will be used, otherwise the
procedure for reading |eps| files will be used. Thus the size of
bitmap files may be specified in a file with a PostScript style
|%%BoundingBox| line, if no other specific format is available.
@@ -760,14 +894,17 @@ above command so that the last argument is:\\
which incantation causes the |kpsewhich| program to find the
file, by searching along \LaTeX's path, and then pass the full path
name to the |zcat| program so that it can uncompress the file.
-Any such uses are very system dependent, and would best be placed in
+Any such uses are very system dependent, and would best be placed in
a |graphics.cfg| file, thus keeping the document itself portable.
\subsection{Global setting of keys}
Most of the \package{keyval} keys used in the \package{graphicx} package
may also be set using the command |\setkeys| provided by the
-\package{keyval} package.
+\package{keyval} package.%
+\footnote{\texttt{clip}, \texttt{scale} and \texttt{angle} may not be set via
+\texttt{\string\setkeys} prior to calling
+\texttt{\string\includegraphics}.}
For instance, suppose you wanted all the files to be included in the
current document to be scaled to 75\% of the width of the lines of text,
@@ -796,13 +933,13 @@ print a company logo as part of the letterhead.
As the author of the class you may want to give the users the
possibility of using either interface in their letters (should they
-need to include any further graphics into the letter body).
+need to include any further graphics into the letter body).
In this case the class should load the \package{graphics} package (not
\package{graphicx}, as this would commit any users of the class to the
\package{keyval} interface). The logo should be included with
|\includegraphics| either with \emph{no} optional argument (if the
correct size information is in the file) or \emph{both} optional
-arguments otherwise.
+arguments otherwise.
Do not use the \emph{one} optional argument form, as the meaning of this
argument would change (and generate errors) if the user were to load
\package{graphicx} as well as your class.
diff --git a/Master/texmf-dist/source/latex/graphics/keyval.dtx b/Master/texmf-dist/source/latex/graphics/keyval.dtx
index d86da03348a..864e2c08380 100644
--- a/Master/texmf-dist/source/latex/graphics/keyval.dtx
+++ b/Master/texmf-dist/source/latex/graphics/keyval.dtx
@@ -1,6 +1,6 @@
%
% \iffalse
-%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle
+%% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 2014 David Carlisle
%%
%% This file is part of the Standard LaTeX `Graphics Bundle'.
%% It may be distributed under the terms of the LaTeX Project Public
@@ -17,7 +17,7 @@
%<driver> \ProvidesFile{keyval.drv}
% \fi
% \ProvidesFile{keyval.dtx}
- [1999/03/16 v1.13 key=value parser (DPC)]
+ [2014/05/08 v1.15 key=value parser (DPC)]
%
% \iffalse
%</!plain>
@@ -40,13 +40,13 @@
%
% \begin{abstract}
% A \LaTeX\ package implementing a system allowing the setting
-% of parameters (or `named arguments' with a
+% of parameters (or `named arguments' with a
% \meta{key}${}={}$\meta{value} syntax.
%
% Eg: |\foo[height=3in, shadow = true ]{bar}|
% \end{abstract}
%
-% \CheckSum{149}
+% \CheckSum{158}
%
% \changes{v1.03}
% {1993/10/13}{Initial version}
@@ -62,6 +62,12 @@
% {Improve docstrip handling}
% \changes{v1.09}{1995/09/21}
% {Move a comma for graphics/1698}
+% \changes{v1.14}{2014/04/25}
+% {Make most definitions \cs{long} to allow \cs{par} in values: graphics/3446}
+% \changes{v1.14}{2014/04/25}
+% {Only strip a single brace pair from values: graphics/3446}
+% \changes{v1.15}{2014/05/08}
+% {revert this change: Only strip a single brace pair from values: graphics/3446}
%
%
% This package implements a system of defining and using sets of
@@ -213,7 +219,7 @@
% argument \meta{value}. The second form is only allowed if the key was
% declared with a default value.
% \begin{macrocode}
-\def\setkeys#1#2{%
+\long\def\setkeys#1#2{%
% \end{macrocode}
% Save the `family' for later. Then begin acting on the comma
% separated list.
@@ -228,9 +234,11 @@
%
% \begin{macro}{\KV@do}
% Iterate down the list of comma separated argument pairs.
+% \changes{v1.14}{2014/04/25}
+% {Add \cs{@empty} not \cs{empty}}
% \begin{macrocode}
-\def\KV@do#1,{%
- \ifx\relax#1\empty\else
+\long\def\KV@do#1,{%
+ \ifx\relax#1\@empty\else
\KV@split#1==\relax
\expandafter\KV@do\fi}
% \end{macrocode}
@@ -241,7 +249,7 @@
% This macro was slightly reorganised for version 1.04, after some
% suggestions from Timothy Van Zandt.
% \begin{macrocode}
-\def\KV@split#1=#2=#3\relax{%
+\long\def\KV@split#1=#2=#3\relax{%
\KV@@sp@def\@tempa{#1}%
\ifx\@tempa\@empty\else
\expandafter\let\expandafter\@tempc
@@ -285,9 +293,9 @@
% \begin{macrocode}
%<plain>\def\KV@err#1{\errmessage{key-val: #1}}
%<*!plain>
-\DeclareOption{unknownkeysallowed}{%
+\DeclareOption{unknownkeysallowed}{%
\def\KV@errx#1{\PackageInfo{keyval}{#1}}}
-\DeclareOption{unknownkeyserror}{%
+\DeclareOption{unknownkeyserror}{%
\def\KV@errx#1{\PackageError{keyval}{#1}\@ehc}}
\ExecuteOptions{unknownkeyserror}
\let\KV@err\KV@errx
@@ -315,16 +323,17 @@
% drop any initial brace group, so |{abc}d| would incorrectly
% be treated as |abcd|. The current version only removes brace
% groups that surround the entire value, so |{abcd}| \emph{is} treated
-% correctly as |abcd|. In fact, two levels of bracing are removed, if
-% you require the entire argument to be a single brace group, you must
-% use |{{{abcd}}}|.
+% correctly as |abcd|. Prior to v1.14, two levels of bracing are removed, if
+% you require the entire argument to be a single brace group, you had
+% use |{{{abcd}}}|, fron v1.14 exactly one brace grup is removed, so to make
+% the entire value be a brace group you need |{{abc}}|.
%
% \begin{macrocode}
\def\@tempa#1{%
% \end{macrocode}
%
% \begin{macrocode}
-\def\KV@@sp@def##1##2{%
+\long\def\KV@@sp@def##1##2{%
\futurelet\KV@tempa\KV@@sp@d##2\@nil\@nil#1\@nil\relax##1}%
% \end{macrocode}
%
@@ -342,8 +351,12 @@
\fi}%
% \end{macrocode}
%
+% \changes{v1.14}{2014/04/25}
+% {Add \cs{@empty} to avoid dropping a brace pair: graphics/3446}
+% \changes{v1.15}{2014/05/08}
+% {revert last change}
% \begin{macrocode}
-\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%
+\long\def\KV@@sp@b#1##1 \@nil{\KV@@sp@c##1}%
% \end{macrocode}
%
% \begin{macrocode}
@@ -356,8 +369,12 @@
\@tempa{ }
% \end{macrocode}
%
+% \changes{v1.14}{2014/04/25}
+% {Add \cs{expandafter} to remove the extra \cs{@empty} token: graphics/3446}
+% \changes{v1.15}{2014/05/08}
+% {revert last change}
% \begin{macrocode}
-\def\KV@@sp@c#1\@nil#2\relax#3{\KV@toks@{#1}\edef#3{\the\KV@toks@}}
+\long\def\KV@@sp@c#1\@nil#2\relax#3{\KV@toks@{#1}\edef#3{\the\KV@toks@}}
% \end{macrocode}
% \end{macro}
% \end{macro}
@@ -379,7 +396,7 @@
% key)
% \begin{macrocode}
\def\define@key#1#2{%
- \@ifnextchar[{\KV@def{#1}{#2}}{\@namedef{KV@#1@#2}####1}}
+ \@ifnextchar[{\KV@def{#1}{#2}}{\long\@namedef{KV@#1@#2}####1}}
% \end{macrocode}
% \end{macro}
%
@@ -387,9 +404,9 @@
% Make the definitions of the command, and the default value.
% \begin{macrocode}
\def\KV@def#1#2[#3]{%
- \@namedef{KV@#1@#2@default\expandafter}\expandafter
+ \long\@namedef{KV@#1@#2@default\expandafter}\expandafter
{\csname KV@#1@#2\endcsname{#3}}%
- \@namedef{KV@#1@#2}##1}
+ \long\@namedef{KV@#1@#2}##1}
% \end{macrocode}
% \end{macro}
%
diff --git a/Master/texmf-dist/source/latex/graphics/lscape.dtx b/Master/texmf-dist/source/latex/graphics/lscape.dtx
index 57c32190bff..60062d1d83b 100644
--- a/Master/texmf-dist/source/latex/graphics/lscape.dtx
+++ b/Master/texmf-dist/source/latex/graphics/lscape.dtx
@@ -67,15 +67,15 @@
% \end{macrocode}
% Here is what Scott Pakin wrote about the pdftex option:
% \begin{quote}
-% I've made a minor improvement to lscape.dtx that I'd like to share
+% I've made a minor improvement to lscape.dtx that I'd like to share
% with the world. My addition makes lscape rotate the PDF "paper" --
% not just the text on the page -- when given the "pdftex" option.
% (Naturally, this works only with pdfLaTeX.) The result is that the
% text is viewable online without the reader having to rotate his/her
% head 90 degrees. The document still prints normally.
% \end{quote}
-%
-%
+%
+%
% \begin{macrocode}
\newif\ifGin@pdftex
\Gin@pdftexfalse