diff options
author | Norbert Preining <norbert@preining.info> | 2019-10-04 03:01:00 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2019-10-04 03:01:00 +0000 |
commit | 9d9c04e14d0da9dd7829d0ec896aabfd50414fd8 (patch) | |
tree | f67d308a037384664193d9a2cfca27d8b0579701 /macros/latex/required/graphics | |
parent | 93c3758895674cc9ea3e8aaeeb3cf5d1bdc0e3be (diff) |
CTAN sync 201910040301
Diffstat (limited to 'macros/latex/required/graphics')
24 files changed, 627 insertions, 127 deletions
diff --git a/macros/latex/required/graphics/README.md b/macros/latex/required/graphics/README.md index 54dbc10875..009e20da95 100644 --- a/macros/latex/required/graphics/README.md +++ b/macros/latex/required/graphics/README.md @@ -1,118 +1,40 @@ -## README for the Standard LaTeX `Graphics` bundle +The LaTeX `graphics` bundle +=========================== -This bundle consists of LaTeX2e packages written and supported by -members of the LaTeX3 Project Team. +Release 2019-10-01 pre-release 3 -It is a collection of LaTeX packages for: -- producing colour -- including graphics (eg PostScript) files -- rotation and scaling of text -in LaTeX documents. +Overview +-------- +This bundle consists of packages supporting basic color, graphics and text +manipulation operations in LaTeX. The packages provided here are +- `color`: Core color support +- `graphics`: The original LaTeX graphics inclusion interface +- `graphicx`: Extended interface for graphics inclusion +- `lscape`: Production of landscape pages +- `keyval`: Core key-value support for LaTeX +- `rotating`: Support for rotating material +- `trig`: Support for fast trigonometric calculations in TeX -### THIS DIRECTORY CONTAINS +plus the legacy stub `epsfig` (now subsumed into `graphics`). -#### Support files +Installation +------------ -| File | Notes | -| --- | --- | -| README.md | This file | -| changes.txt | Log of changes to the packages | -| graphics.ins | Install file for docstrip | +We no longer distribute installation instructions for the various TeX +implementations. All modern TeX systems include `graphics` as-standard, and end +users should in general use the release versions supplied in this way. -#### Basic packages +Release distribution is carried out only through the CTAN archives. -| File | Notes | -| --- | --- | -| color.dtx | Source for color package | -| graphics.dtx | Source for graphics package | -| trig.dtx | Source for trig package (required by graphics) | - -#### Extension Packages - -| File | Notes | -| --- | --- | -| graphicx.dtx | Source for graphicx package (extension of graphics) | -| epsfig.dtx | Source for epsfig package (extension of graphicx). | -| rotating.dtx | Source for rotating package (extension of graphicx). | -| keyval.dtx | Source for keyval pacakge (required by both the above) | -| lscape.sty | Produce landscape pages in a (mainly) portrait document | - -#### Driver Files - -| File | Notes | -| --- | --- | -| drivers.dtx | Source for driver files for supported drivers | - -#### User Documentation - -| File | Notes | -| --- | --- | -| grfguide.tex | User Guide to all the packages in this bundle | -| | **WARNING:** *This file calls color and graphics packages without a driver option. You **must** therefore set up two files `color.cfg` and `graphics.cfg` containing (for example) `\ExecuteOptions{dvips}` before running this file.* | -| rotex.tex | Examples of use of rotating package | - - - -### TO UNPACK THE PACKAGES - - latex graphics.ins - -This will produce the `.sty` package files. - -Similarly you can run - - latex graphics-drivers.ins - -to produce the `.def` driver files. - -Not all supported drivers are included in this file as they are -maintained elsewhere. - - -### USING THE PACKAGES - -Move files ending in `.sty` or `.def` to a standard TeX input directory. - -Make a default option for your site by creating two files `color.cfg` and `graphics.cfg` -containing (if dvips is your default driver) - \ExecuteOptions{dvips} - -You may then LaTeX the user guide by running: - - latex grfguide.tex - - - -### Copyright - -Copyright is maintained on each of these packages by the author(s) -of the package. - - -### Distribution Conditions - -All the files in this bundle may be distributed under the conditions -of the LaTeX Project Public License, either version 1.3c of this -license or (at your option) any later version. The latest version of -this license is in - https://www.latex-project.org/lppl.txt -and version 1.3c or later is part of all distributions of LaTeX -version 2005/12/01 or later. - -The list of all files belonging to this bundle is listed above. - -The use of these files is otherwise unrestricted. - - -### Reporting Bugs - -If you wish to report a problem or bug in any of these packages -please use the -[Issue Tracker for LaTeX2e on GitHub](https://github.com/latex3/latex2e/issues) -and follow the guidelines that pop up if you press the `New issue` button. +Reporting Bugs +-------------- +If you wish to report a problem or bug in the `graphics` bundle +please use the [Issue Tracker for LaTeX2e on +GitHub](https://github.com/latex3/latex2e/issues) +and follow the guidelines that pop up if you press the "New issue" button. In particular, to check that you are really seeing a bug, please write a short, self-contained document that shows the problem. This should @@ -124,9 +46,19 @@ for further details, or if you need to obtain the `latexbug` package. If the bug turns out to be with third-party software then please contact the developer, and not us! +License +------- +The contents of this bundle are distributed under the [LaTeX Project +Public License](https://www.latex-project.org/lppl/lppl-1-3c/), +version 1.3c or later. -### Copyright +Copyright +--------- + +Copyright is maintained on each of these packages by the author(s) +of the package. -This README file is copyright 1993-2017 The LaTeX3 Project. +----- +<p>Copyright (C) 1993-2019 The LaTeX Project <br /> diff --git a/macros/latex/required/graphics/changes.txt b/macros/latex/required/graphics/changes.txt index 9b3edac553..0859498863 100644 --- a/macros/latex/required/graphics/changes.txt +++ b/macros/latex/required/graphics/changes.txt @@ -3,6 +3,18 @@ It is provided for convenience only. It therefore makes no claims to completeness or accuracy and it contains some references to files that are not part of the distribution. ======================================================================= + +######################### +# 2019-10-01 Release +######################### + +2019-07-01 Frank Mittelbach <Frank.Mittelbach@latex-project.org> + + * graphics.dtx (subsection{Graphics Inclusion}): + Support UTF-8 and space in graphic files. + +######################### + 2017-06-25 Joseph Wright <latex-bugs@latex-project.org> * New decodearray key, adopted from older pdftex.def diff --git a/macros/latex/required/graphics/color.dtx b/macros/latex/required/graphics/color.dtx index d85b78349d..8de7d013a3 100644 --- a/macros/latex/required/graphics/color.dtx +++ b/macros/latex/required/graphics/color.dtx @@ -2,7 +2,7 @@ % \iffalse % %% color.dtx Copyright (C) 1994--1999 David Carlisle -%% Copyright (C) 2005--2016 David Carlisle, LaTeX3 Project +%% Copyright (C) 2005-2019 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 diff --git a/macros/latex/required/graphics/color.pdf b/macros/latex/required/graphics/color.pdf Binary files differindex b717d3dc6d..ea3a050f54 100644 --- a/macros/latex/required/graphics/color.pdf +++ b/macros/latex/required/graphics/color.pdf diff --git a/macros/latex/required/graphics/drivers.dtx b/macros/latex/required/graphics/drivers.dtx index 07c201cf87..d693ebd27b 100644 --- a/macros/latex/required/graphics/drivers.dtx +++ b/macros/latex/required/graphics/drivers.dtx @@ -3,7 +3,7 @@ % %% drivers.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz %% Copyright (C) 1995 1996 1997 1998 1999 David Carlisle -%% Copyright (C) 2000--2016 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2019 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 diff --git a/macros/latex/required/graphics/drivers.pdf b/macros/latex/required/graphics/drivers.pdf Binary files differindex b3ddf7fb61..cf6bbd8a04 100644 --- a/macros/latex/required/graphics/drivers.pdf +++ b/macros/latex/required/graphics/drivers.pdf diff --git a/macros/latex/required/graphics/epsfig.dtx b/macros/latex/required/graphics/epsfig.dtx index ba37d771cc..f9197c7b1c 100644 --- a/macros/latex/required/graphics/epsfig.dtx +++ b/macros/latex/required/graphics/epsfig.dtx @@ -2,7 +2,7 @@ % \iffalse % %% epsfig.dtx Copyright (C) 1994-1996 1999 Sebastian Rahtz -%% Copyright (C) 2000--2015,2017 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2019 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 diff --git a/macros/latex/required/graphics/epsfig.pdf b/macros/latex/required/graphics/epsfig.pdf Binary files differindex 2dd00588ca..18de09b6a7 100644 --- a/macros/latex/required/graphics/epsfig.pdf +++ b/macros/latex/required/graphics/epsfig.pdf diff --git a/macros/latex/required/graphics/graphics-2017-06-25.sty b/macros/latex/required/graphics/graphics-2017-06-25.sty new file mode 100644 index 0000000000..361193cf32 --- /dev/null +++ b/macros/latex/required/graphics/graphics-2017-06-25.sty @@ -0,0 +1,526 @@ +%% +%% This is file `graphics.sty', +%% generated with the docstrip utility. +%% +%% The original source files were: +%% +%% graphics.dtx (with options: `package') +%% +%% The source is maintained by the LaTeX Project team and bug +%% reports for it can be opened at https://latex-project.org/bugs/ +%% (but please observe conditions on bug reports sent to that address!) +%% +%% +%% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz +%% Copyright (C) 1995--2017 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 +%% License, as described in lppl.txt in the base LaTeX distribution. +%% Either version 1.3c or, at your option, any later version. +%% +%% This file has the LPPL maintenance status "maintained". +%% +\NeedsTeXFormat{LaTeX2e}[1995/12/01] +\ProvidesPackage{graphics} + [2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)] +\edef\Gin@codes{% + \catcode`\noexpand\^^A\the\catcode`\^^A\relax + \catcode`\noexpand\"\the\catcode`\"\relax + \catcode`\noexpand\*\the\catcode`\*\relax + \catcode`\noexpand\!\the\catcode`\!\relax + \catcode`\noexpand\:\the\catcode`\:\relax} +\catcode`\^^A=\catcode`\% +\@makeother\"% +\catcode`\*=11 +\@makeother\!% +\@makeother\:% +\RequirePackage{trig} +\providecommand\Grot@start{\@latex@error{Rotation not supported}\@ehc + \global\let\Grot@start\relax} +\providecommand\Grot@end{} +\providecommand\Gscale@start{\@latex@error{Scaling not supported}\@ehc + \global\let\Gscale@start\relax} +\providecommand\Gscale@end{} +\edef\Gread@BBox{\@percentchar\@percentchar BoundingBox} +\DeclareOption{draft}{\Gin@drafttrue} +\DeclareOption{final}{\Gin@draftfalse} +\newif\ifGin@draft +\DeclareOption{hiresbb}{% + \edef\Gread@BBox{\@percentchar\@percentchar HiResBoundingBox}} +\DeclareOption{demo}{% + \AtBeginDocument{% + \def\Ginclude@graphics#1{% + \rule{\@ifundefined{Gin@@ewidth}{150pt}{\Gin@@ewidth}}% + {\@ifundefined{Gin@@eheight}{100pt}{\Gin@@eheight}}}}} +\newif\ifGin@setpagesize\Gin@setpagesizetrue +\DeclareOption{setpagesize}{\Gin@setpagesizetrue} +\DeclareOption{nosetpagesize}{\Gin@setpagesizefalse} +\providecommand\Gin@driver{} +\DeclareOption{dvips}{\def\Gin@driver{dvips.def}} +\DeclareOption{xdvi}{\ExecuteOptions{dvips}} +\DeclareOption{dvipdf}{\def\Gin@driver{dvipdf.def}} +\DeclareOption{dvipdfm}{\def\Gin@driver{dvipdfmx.def}} +\DeclareOption{dvipdfmx}{\def\Gin@driver{dvipdfmx.def}} +\DeclareOption{xetex}{\def\Gin@driver{xetex.def}} +\DeclareOption{pdftex}{\def\Gin@driver{pdftex.def}} +\DeclareOption{luatex}{\def\Gin@driver{luatex.def}} +\DeclareOption{dvisvgm}{\def\Gin@driver{dvisvgm.def}} +\DeclareOption{dvipsone}{\def\Gin@driver{dvipsone.def}} +\DeclareOption{dviwindo}{\ExecuteOptions{dvipsone}} +\DeclareOption{emtex}{\def\Gin@driver{emtex.def}} +\DeclareOption{dviwin}{\def\Gin@driver{dviwin.def}} +\DeclareOption{oztex}{\ExecuteOptions{dvips}} +\DeclareOption{textures}{\def\Gin@driver{textures.def}} +\DeclareOption{pctexps}{\def\Gin@driver{pctexps.def}} +\DeclareOption{pctexwin}{\def\Gin@driver{pctexwin.def}} +\DeclareOption{pctexhp}{\def\Gin@driver{pctexhp.def}} +\DeclareOption{pctex32}{\def\Gin@driver{pctex32.def}} +\DeclareOption{truetex}{\def\Gin@driver{truetex.def}} +\DeclareOption{tcidvi}{\def\Gin@driver{tcidvi.def}} +\DeclareOption{vtex}{\def\Gin@driver{vtex.def}} +\DeclareOption{debugshow}{\catcode`\^^A=9 \let\GDebug\typeout} +\InputIfFileExists{graphics.cfg}{}{} +\DeclareOption{hiderotate}{% + \def\Grot@start{\begingroup\setbox\z@\hbox\bgroup} + \def\Grot@end{\egroup\endgroup}} +\DeclareOption{hidescale}{% + \def\Gscale@start{\begingroup\setbox\z@\hbox\bgroup} + \def\Gscale@end{\egroup\endgroup}} +\ProcessOptions +\if!\Gin@driver! + \PackageError{graphics} + {No driver specified} + {You should make a default driver option in a file \MessageBreak + graphics.cfg\MessageBreak + eg: \protect\ExecuteOptions{textures}% + } +\else + \PackageInfo{graphics}{Driver file: \Gin@driver} + \@ifundefined{ver@\Gin@driver}{\input{\Gin@driver}}{} +\fi +\def\Gin@llx{0} +\let\Gin@lly\Gin@llx +\let\Gin@urx\Gin@llx +\let\Gin@ury\Gin@llx +\let\Gin@nat@width\leftmarginv +\let\Gin@nat@height\leftmarginvi +\newif\ifGin@clip +\newcommand\DeclareGraphicsExtensions[1]{% + \edef\Gin@extensions{\zap@space#1 \@empty}} +\providecommand\Gin@extensions{} +\def\includegraphics{% + \leavevmode + \@ifstar + {\Gin@cliptrue\Gin@i}% + {\Gin@clipfalse\Gin@i}} +\def\Gin@i{% + \@ifnextchar[%] + \Gin@ii + {\Gin@bboxfalse\Ginclude@graphics}} +\def\Gin@ii[#1]{% + \@ifnextchar[%] + {\Gin@iii[#1]} + {\Gin@iii[0,0][#1]}} +\def\Gin@iii[#1,#2][#3,#4]#5{% + \begingroup + \Gin@bboxtrue + \Gin@defaultbp\Gin@llx{#1}% + \Gin@defaultbp\Gin@lly{#2}% + \Gin@defaultbp\Gin@urx{#3}% + \Gin@defaultbp\Gin@ury{#4}% + \Ginclude@graphics{#5}% + \endgroup} +\def\Gin@defaultbp#1#2{% + \afterassignment\Gin@def@bp\dimen@#2bp\relax{#1}{#2}} +\def\Gin@def@bp#1\relax#2#3{% + \if!#1!% + \def#2{#3}% + \else + \dimen@.99626\dimen@ + \edef#2{\strip@pt\dimen@}% + \fi} +\def\DeclareGraphicsRule#1#2#3#4{% + \edef\@tempa{\string *}\def\@tempb{#3}% + \expandafter\edef\csname Gin@rule@#1\endcsname##1% + {{#2}% + {\ifx\@tempa\@tempb\noexpand\Gin@ext\else#3\fi}% + {\ifx\indent#4\indent##1\else#4\fi}}} +\def\graphicspath#1{\def\Ginput@path{#1}} +\ifx\Ginput@path\@undefined + \let\Ginput@path\input@path +\fi +\def\Gin@getbase#1{% + \edef\Gin@tempa{% + \def\noexpand\@tempa####1#1\space{% + \def\noexpand\Gin@base{####1}}}% + \IfFileExists{\filename@area\filename@base#1}% + {\Gin@tempa + \expandafter\@tempa\@filef@und + \edef\Gin@ext{#1}}{}}% +\let\Gin@ext\relax +\def\Gin@sepdefault{.} +\def\Ginclude@graphics#1{% + \begingroup + \let\input@path\Ginput@path + \filename@parse{#1}% + \ifx\filename@ext\relax + \@for\Gin@temp:=\Gin@extensions\do{% + \ifx\Gin@ext\relax + \Gin@getbase\Gin@temp + \fi}% + \else + \Gin@getbase{\Gin@sepdefault\filename@ext}% + \ifx\Gin@ext\relax + \@warning{File `#1' not found}% + \def\Gin@base{\filename@area\filename@base}% + \edef\Gin@ext{\Gin@sepdefault\filename@ext}% + \fi + \fi + \ifx\Gin@ext\relax + \@latex@error{File `#1' not found}% + {I could not locate the file with any of these extensions:^^J% + \Gin@extensions^^J\@ehc}% + \else + \@ifundefined{Gin@rule@\Gin@ext}% + {\ifx\Gin@rule@*\@undefined + \@latex@error{Unknown graphics extension: \Gin@ext}\@ehc + \else + \expandafter\Gin@setfile\Gin@rule@*{\Gin@base\Gin@ext}% + \fi}% + {\expandafter\expandafter\expandafter\Gin@setfile + \csname Gin@rule@\Gin@ext\endcsname{\Gin@base\Gin@ext}}% + \fi + \endgroup} +\newif\ifGread@\Gread@true +\def\Gin@setfile#1#2#3{% + \ifx\\#2\\\Gread@false\fi + \ifGin@bbox\else + \ifGread@ + \csname Gread@% + \expandafter\ifx\csname Gread@#1\endcsname\relax + eps% + \else + #1% + \fi + \endcsname{\Gin@base#2}% + \else + \Gin@nosize{#3}% + \fi + \fi + \Gin@viewport@code + \Gin@nat@height\Gin@ury bp% + \advance\Gin@nat@height-\Gin@lly bp% + \Gin@nat@width\Gin@urx bp% + \advance\Gin@nat@width-\Gin@llx bp% + \Gin@req@sizes + \expandafter\ifx\csname Ginclude@#1\endcsname\relax + \Gin@drafttrue + \expandafter\ifx\csname Gread@#1\endcsname\relax + \@latex@error{Can not include graphics of type: #1}\@ehc + \global\expandafter\let\csname Gread@#1\endcsname\@empty + \fi + \fi + \leavevmode + \ifGin@draft + \hb@xt@\Gin@req@width{% + \vrule\hss + \vbox to \Gin@req@height{% + \hrule \@width \Gin@req@width + \vss + \edef\@tempa{#3}% + \rlap{ \ttfamily\expandafter\strip@prefix\meaning\@tempa}% + \vss + \hrule}% + \hss\vrule}% + \else + \@addtofilelist{#3}% + \ProvidesFile{#3}[Graphic file (type #1)]% + \setbox\z@\hbox{\csname Ginclude@#1\endcsname{#3}}% + \dp\z@\z@ + \ht\z@\Gin@req@height + \wd\z@\Gin@req@width + \box\z@ + \fi} +\let\Gin@decode\@empty +\def\Gin@exclamation{!} +\let\Gin@page\@empty +\def\Gin@pagebox{cropbox} +\newif\ifGin@interpolate +\let\Gin@log\wlog +\let\Gin@req@sizes\relax +\def\Gin@scalex{1}% +\let\Gin@scaley\Gin@exclamation +\let\Gin@req@height\Gin@nat@height +\let\Gin@req@width\Gin@nat@width +\let\Gin@viewport@code\relax +\def\Gin@nosize#1{% + \@latex@error + {Cannot determine size of graphic in #1 (no size specified)}% + \@ehc} +\newif\ifGin@bbox +\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 + \@tempcnta\z@ + \loop\ifnum\@tempcnta<\@xxxii + \catcode\@tempcnta14 % + \advance\@tempcnta\@ne + \repeat + \catcode`\^^?14 % + \let\do\@makeother + \dospecials + \catcode`\ 10 % + \catcode`\^^I10 % + \catcode\endlinechar5 % + \@makeother\:% + \@makeother\-% + \immediate\openin\@inputcheck"#1" % + #2{#1}% + \ifGin@bbox + \expandafter\xdef\csname #1 bbox\Gread@attr@hash\endcsname{\@gtempa}% + \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 + \Gread@true + \let\@tempb\Gread@false + \loop + \read\@inputcheck to\@tempa + \ifeof\@inputcheck + \Gread@false + \else + \expandafter\Gread@find@bb\@tempa:.\\% + \fi + \ifGread@ + \repeat + \immediate\closein\@inputcheck + \fi +} +\long\def\Gread@find@bb#1:#2#3\\{% + \def\@tempa{#1}% + \ifx\@tempa\Gread@BBox + \Gread@test@atend#2#3()\\% + \fi} +\def\Gread@test@atend#1(#2)#3\\{% + \def\@tempa{#2}% + \ifx\@tempa\Gread@atend + \Gread@true + \let\@tempb\relax + \else + \gdef\@gtempa{#1}% + \@tempb + \Gin@bboxtrue + \fi} +\def\Gread@parse@bb#1 #2 #3 #4 #5\\{% + \Gin@defaultbp\Gin@llx{#1}% + \Gin@defaultbp\Gin@lly{#2}% + \Gin@defaultbp\Gin@urx{#3}% + \Gin@defaultbp\Gin@ury{#4}}% +\def\Gread@atend{atend} +\let\Grot@height\@ovxx +\let\Grot@left\@ovyy +\let\Grot@right\@ovdx +\let\Grot@depth\@ovdy +\let\Grot@l\@ovro +\let\Grot@r\@ovri +\let\Grot@h\@xdim +\let\Grot@d\@ydim +\let\Grot@x\@linelen +\let\Grot@y\@dashdim +\long\def\rotatebox#1#2{% + \leavevmode + \Grot@setangle{#1}% + \setbox\z@\hbox{{#2}}% + \Grot@x\z@ + \Grot@y\z@ + \Grot@box} +\def\Grot@setangle#1{\edef\Grot@angle{#1}} +\def\Grot@Px#1#2#3{% + #1\Grot@cos#2% + \advance#1-\Grot@sin#3} +\def\Grot@Py#1#2#3{% + #1\Grot@sin#2% + \advance#1\Grot@cos#3} +\def\Grot@box{% + \begingroup + \CalculateSin\Grot@angle + \CalculateCos\Grot@angle + \edef\Grot@sin{\UseSin\Grot@angle}% + \edef\Grot@cos{\UseCos\Grot@angle}% +^^A \GDebug{Rotate: angle \Grot@angle, sine is \Grot@sin, +^^A cosine is \Grot@cos}% + \Grot@r\wd\z@ \advance\Grot@r-\Grot@x + \Grot@l\z@ \advance\Grot@l-\Grot@x + \Grot@h\ht\z@ \advance\Grot@h-\Grot@y + \Grot@d-\dp\z@ \advance\Grot@d-\Grot@y + \ifdim\Grot@sin\p@>\z@ + \ifdim\Grot@cos\p@>\z@ + \Grot@Py\Grot@height \Grot@r\Grot@h%B + \Grot@Px\Grot@right \Grot@r\Grot@d%E + \Grot@Px\Grot@left \Grot@l\Grot@h%C + \Grot@Py\Grot@depth \Grot@l\Grot@d%D + \else + \Grot@Py\Grot@height \Grot@r\Grot@d%E + \Grot@Px\Grot@right \Grot@l\Grot@d%D + \Grot@Px\Grot@left \Grot@r\Grot@h%B + \Grot@Py\Grot@depth \Grot@l\Grot@h%C + \fi + \else + \ifdim\Grot@cos\p@<\z@ + \Grot@Py\Grot@height \Grot@l\Grot@d%D + \Grot@Px\Grot@right \Grot@l\Grot@h%C + \Grot@Px\Grot@left \Grot@r\Grot@d%E + \Grot@Py\Grot@depth \Grot@r\Grot@h%B + \else + \Grot@Py\Grot@height \Grot@l\Grot@h%C + \Grot@Px\Grot@right \Grot@r\Grot@h%B + \Grot@Px\Grot@left \Grot@l\Grot@d%D + \Grot@Py\Grot@depth \Grot@r\Grot@d%E + \fi + \fi + \advance\Grot@height\Grot@y + \advance\Grot@depth\Grot@y + \Grot@Px\dimen@ \Grot@x\Grot@y + \Grot@Py\dimen@ii \Grot@x\Grot@y + \dimen@-\dimen@ \advance\dimen@-\Grot@left + \dimen@ii-\dimen@ii \advance\dimen@ii\Grot@y +^^A \GDebug{Rotate: (l,r,h,d)^^J% +^^A Original \the\Grot@l,\the\Grot@r,\the\Grot@h,\the\Grot@d,^^J% +^^A New..... \the\Grot@left,\the\Grot@right,% +^^A \the\Grot@height,\the\Grot@depth}% + \setbox\z@\hbox{% + \kern\dimen@ + \raise\dimen@ii\hbox{\Grot@start\box\z@\Grot@end}}% + \ht\z@\Grot@height + \dp\z@-\Grot@depth + \advance\Grot@right-\Grot@left\wd\z@\Grot@right + \leavevmode\box\z@ + \endgroup} +\def\scalebox#1{% + \@ifnextchar[{\Gscale@box{#1}}{\Gscale@box{#1}[#1]}} +\long\def\Gscale@box#1[#2]#3{% + \leavevmode + \def\Gscale@x{#1}\def\Gscale@y{#2}% + \setbox\z@\hbox{{#3}}% + \setbox\tw@\hbox{\Gscale@start\rlap{\copy\z@}\Gscale@end}% + \ifdim#2\p@<\z@ + \ht\tw@-#2\dp\z@ + \dp\tw@-#2\ht\z@ + \else + \ht\tw@#2\ht\z@ + \dp\tw@#2\dp\z@ + \fi + \ifdim#1\p@<\z@ + \hb@xt@-#1\wd\z@{\kern-#1\wd\z@\box\tw@\hss}% + \else + \hb@xt@#1\wd\z@{\box\tw@\kern#1\wd\z@\hss}% + \fi} +\def\reflectbox{\Gscale@box-1[1]} +\def\resizebox{% + \leavevmode + \@ifstar{\Gscale@@box\totalheight}{\Gscale@@box\height}} +\def\Gscale@@box#1#2#3{% + \let\@tempa\Gin@exclamation + \expandafter\def\expandafter\@tempb\expandafter{\string#2}% + \expandafter\def\expandafter\@tempc\expandafter{\string#3}% + \ifx\@tempb\@tempa + \ifx\@tempc\@tempa + \toks@{\mbox}% + \else + \toks@{\Gscale@box@dd{#3}#1}% + \fi + \else + \ifx\@tempc\@tempa + \toks@{\Gscale@box@dd{#2}\width}% + \else + \toks@{\Gscale@box@dddd{#2}\width{#3}#1}% + \fi + \fi + \the\toks@} +\long\def\Gscale@box@dd#1#2#3{% + \@begin@tempboxa\hbox{#3}% + \setlength\@tempdima{#1}% + \setlength\@tempdimb{#2}% + \Gscale@div\@tempa\@tempdima\@tempdimb + \Gscale@box\@tempa[\@tempa]{\box\@tempboxa}% + \@end@tempboxa} +\long\def\Gscale@box@dddd#1#2#3#4#5{% + \@begin@tempboxa\hbox{#5}% + \setlength\@tempdima{#1}% + \setlength\@tempdimb{#2}% + \Gscale@div\@tempa\@tempdima\@tempdimb + \setlength\@tempdima{#3}% + \setlength\@tempdimb{#4}% + \Gscale@div\@tempb\@tempdima\@tempdimb + \ifGin@iso + \ifdim\@tempa\p@>\@tempb\p@ + \let\@tempa\@tempb + \else + \let\@tempb\@tempa + \fi + \fi + \Gscale@box\@tempa[\@tempb]{\box\@tempboxa}% + \@end@tempboxa} +\newif\ifGin@iso +\def\Gscale@div#1#2#3{% + \setlength\dimen@{#3}% + \ifdim\dimen@=\z@ + \PackageError{graphics}{Division by 0}\@eha + \dimen@#2% + \fi + \edef\@tempd{\the\dimen@}% + \setlength\dimen@{#2}% + \count@65536\relax + \ifdim\dimen@<\z@ + \dimen@-\dimen@ + \count@-\count@ + \fi + \ifdim\dimen@>\z@ + \loop + \ifdim\ifnum\count@<\tw@\maxdimen\else\dimen@\fi<8192\p@ + \dimen@\tw@\dimen@ + \divide\count@\tw@ + \repeat + \dimen@ii\@tempd\relax + \divide\dimen@ii\count@ + \divide\dimen@\dimen@ii + \fi + \edef#1{\strip@pt\dimen@}} +\Gin@codes +\let\Gin@codes\relax +% alow use of current .def files +\def\quote@name#1{"\quote@@name#1\@gobble""} +\def\quote@@name#1"{#1\quote@@name} +\def\unquote@name#1{\quote@@name#1\@gobble"} +% +\endinput +%% +%% End of file `graphics.sty'. diff --git a/macros/latex/required/graphics/graphics.dtx b/macros/latex/required/graphics/graphics.dtx index 028f065852..f2471e94bb 100644 --- a/macros/latex/required/graphics/graphics.dtx +++ b/macros/latex/required/graphics/graphics.dtx @@ -2,7 +2,7 @@ % \iffalse % %% graphics.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz -%% Copyright (C) 1995--2017 David Carlisle, LaTeX3 Project +%% Copyright (C) 1995-2019 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 @@ -14,12 +14,18 @@ %<*dtx> \ProvidesFile{graphics.dtx} %</dtx> -%<package>\NeedsTeXFormat{LaTeX2e}[1995/12/01] -%<package>\ProvidesPackage{graphics} +%<+package>\NeedsTeXFormat{LaTeX2e}[1995/12/01] +%<+package>\providecommand\DeclareRelease[3]{} +%<+package>\providecommand\DeclareCurrentRelease[2]{} +%<+package> +%<+package>\DeclareRelease{}{2017-06-25}{graphics-2017-06-25.sty} +%<+package>\DeclareCurrentRelease{}{2019-10-01} +%<+package> +%<+package>\ProvidesPackage{graphics} %<driver> \ProvidesFile{graphics.drv} % \fi % \ProvidesFile{graphics.dtx} - [2017/06/25 v1.2c Standard LaTeX Graphics (DPC,SPQR)] + [2019/07/20 v1.3b Standard LaTeX Graphics (DPC,SPQR)] % % \iffalse %<*driver> @@ -1000,8 +1006,9 @@ % \end{macro} % % \begin{macro}{\Gin@getbase} -% \changes{v0.6a}{1994/11/29} -% {remove \cs{Gin@sep}} +% \changes{v0.6a}{1994/11/29} {remove \cs{Gin@sep}} +% \changes{v1.3a}{2019/07/01} {Support UTF-8 and spaces} +% \changes{v1.3b}{2019/07/20} {Delay adding quotes to filename} % Given a possible extension, |#1|, check whether the file exists. If % it does set |\Gin@base| and |\Gin@ext| to the filename stripped of % the extension, and the extension, respectively. @@ -1012,7 +1019,9 @@ \def\noexpand\Gin@base{####1}}}% \IfFileExists{\filename@area\filename@base#1}% {\Gin@tempa - \expandafter\@tempa\@filef@und + \edef\uq@filef@und{\expandafter\unquote@name + \expandafter{\@filef@und}}% + \expandafter\@tempa\uq@filef@und \edef\Gin@ext{#1}}{}}% % \end{macrocode} % \end{macro} @@ -1043,11 +1052,29 @@ % {Add default (*) rule possibility} % \changes{v0.6a}{1994/11/29} % {remove \cs{Gin@sepdefault}} +% \changes{v1.3a}{2019/07/01} {Support UTF-8 and spaces} +% The quoting business for graphic files needs further sorting +% out. This should be handled differently, right now we quote and +% unquote all over the place as we still use the old code base. +% +% This also makes the file name displays weird! +% +% Guard |\detokenize| use for plain classic tex. % \begin{macrocode} \def\Ginclude@graphics#1{% + \ifx\detokenize\@undefined\else + \edef\Gin@extensions{\detokenize\expandafter{\Gin@extensions}}% + \fi \begingroup \let\input@path\Ginput@path - \filename@parse{#1}% +% \end{macrocode} +% A lot of quote juggling going on here (room for improvements). +% \begin{macrocode} + \set@curr@file{#1}% + \edef\uq@curr@file{\expandafter\unquote@name\expandafter{\@curr@file}}% + \expandafter\filename@parse\expandafter{\uq@curr@file}% + \edef\filename@area{\expandafter\quote@name\expandafter{\filename@area}}% + \edef\filename@base{\expandafter\quote@name\expandafter{\filename@base}}% \ifx\filename@ext\relax \@for\Gin@temp:=\Gin@extensions\do{% \ifx\Gin@ext\relax @@ -1381,8 +1408,11 @@ % {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} +% Due to the space handling code file names are now already quoted +% so we should not add any quotes around \verb=#1= any more. +% \changes{v1.3b}{2019/07/20} {add quotes here again} % \begin{macrocode} - \immediate\openin\@inputcheck"#1" % + \immediate\openin\@inputcheck\quote@name{#1} % #2{#1}% % \end{macrocode} % \changes{v0.3i}{1994/03/23} diff --git a/macros/latex/required/graphics/graphics.pdf b/macros/latex/required/graphics/graphics.pdf Binary files differindex 5d018d9219..feac0f2953 100644 --- a/macros/latex/required/graphics/graphics.pdf +++ b/macros/latex/required/graphics/graphics.pdf diff --git a/macros/latex/required/graphics/graphicx.dtx b/macros/latex/required/graphics/graphicx.dtx index aad8460ac5..4134c4eed1 100644 --- a/macros/latex/required/graphics/graphicx.dtx +++ b/macros/latex/required/graphics/graphicx.dtx @@ -2,7 +2,7 @@ % \iffalse % %% graphicx.dtx Copyright (C) 1994 David Carlisle Sebastian Rahtz -%% Copyright (C) 1995--2015,2017 David Carlisle, LaTeX3 Project +%% Copyright (C) 1995-2019 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 diff --git a/macros/latex/required/graphics/graphicx.pdf b/macros/latex/required/graphics/graphicx.pdf Binary files differindex f957612356..d31535391e 100644 --- a/macros/latex/required/graphics/graphicx.pdf +++ b/macros/latex/required/graphics/graphicx.pdf diff --git a/macros/latex/required/graphics/grfguide.pdf b/macros/latex/required/graphics/grfguide.pdf Binary files differindex c7e94d774b..42e67690ab 100644 --- a/macros/latex/required/graphics/grfguide.pdf +++ b/macros/latex/required/graphics/grfguide.pdf diff --git a/macros/latex/required/graphics/grfguide.tex b/macros/latex/required/graphics/grfguide.tex index b00a86d307..19888db741 100644 --- a/macros/latex/required/graphics/grfguide.tex +++ b/macros/latex/required/graphics/grfguide.tex @@ -1,5 +1,5 @@ %% grfguide.tex Copyright (C) 1994 1995 1996 1998 1999 David Carlisle -%% Copyright (C) 2005 2014 2016 2017 David Carlisle, LaTeX3 Project +%% Copyright (C) 2005-2019 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 diff --git a/macros/latex/required/graphics/keyval.dtx b/macros/latex/required/graphics/keyval.dtx index f656961d0b..1e1581eee3 100644 --- a/macros/latex/required/graphics/keyval.dtx +++ b/macros/latex/required/graphics/keyval.dtx @@ -1,7 +1,7 @@ % % \iffalse %% keyval.dtx Copyright (C) 1993 1994 1995 1997 1998 1999 David Carlisle -%% Copyright (C) 2000--2015 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2019 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 diff --git a/macros/latex/required/graphics/keyval.pdf b/macros/latex/required/graphics/keyval.pdf Binary files differindex e04af31b5a..402bdff918 100644 --- a/macros/latex/required/graphics/keyval.pdf +++ b/macros/latex/required/graphics/keyval.pdf diff --git a/macros/latex/required/graphics/lscape.dtx b/macros/latex/required/graphics/lscape.dtx index 733e183ee6..a5a3dc3220 100644 --- a/macros/latex/required/graphics/lscape.dtx +++ b/macros/latex/required/graphics/lscape.dtx @@ -2,7 +2,7 @@ % \iffalse % %% lscape.dtx Copyright (C) 1994 1999-2000 David Carlisle -%% Copyright (C) 2000--2015 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2019 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 diff --git a/macros/latex/required/graphics/lscape.pdf b/macros/latex/required/graphics/lscape.pdf Binary files differindex 50843756bb..2f12821edb 100644 --- a/macros/latex/required/graphics/lscape.pdf +++ b/macros/latex/required/graphics/lscape.pdf diff --git a/macros/latex/required/graphics/rotating.dtx b/macros/latex/required/graphics/rotating.dtx index 41bd399d4e..149c19d049 100644 --- a/macros/latex/required/graphics/rotating.dtx +++ b/macros/latex/required/graphics/rotating.dtx @@ -3,9 +3,9 @@ % % % File: rotating.dtx -%% Copyright 1995--1999 Sebastian Rahtz and Leonor Barroca -%% Copyright 2001--2003,2007--2009 Robin Fairbairns -%% Copyright 2016 LaTeX3 Project +%% Copyright (C) 1995--1999 Sebastian Rahtz and Leonor Barroca +%% Copyright (C) 2001--2003,2007--2009 Robin Fairbairns +%% Copyright (C) 2016-2019 LaTeX3 Project % % This work may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3c diff --git a/macros/latex/required/graphics/rotating.pdf b/macros/latex/required/graphics/rotating.pdf Binary files differindex 3283a885dc..262421e49c 100644 --- a/macros/latex/required/graphics/rotating.pdf +++ b/macros/latex/required/graphics/rotating.pdf diff --git a/macros/latex/required/graphics/rotex.pdf b/macros/latex/required/graphics/rotex.pdf Binary files differindex 0eea374668..9219ab2d36 100644 --- a/macros/latex/required/graphics/rotex.pdf +++ b/macros/latex/required/graphics/rotex.pdf diff --git a/macros/latex/required/graphics/trig.dtx b/macros/latex/required/graphics/trig.dtx index 712db13ba2..2b152578ad 100644 --- a/macros/latex/required/graphics/trig.dtx +++ b/macros/latex/required/graphics/trig.dtx @@ -1,6 +1,6 @@ % \iffalse %% File: trig.dtx Copyright (C) 1993 1994 1995 1996 1997 1999 David Carlisle -%% Copyright (C) 2000--2015 David Carlisle, LaTeX3 Project +%% Copyright (C) 2000-2019 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 diff --git a/macros/latex/required/graphics/trig.pdf b/macros/latex/required/graphics/trig.pdf Binary files differindex c851ce2a55..e7317be6e8 100644 --- a/macros/latex/required/graphics/trig.pdf +++ b/macros/latex/required/graphics/trig.pdf |