summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-24 20:52:52 +0000
committerKarl Berry <karl@freefriends.org>2020-03-24 20:52:52 +0000
commitb86e9967616bbf2d46b5b4f278e262bd3b824f7b (patch)
treed5c7dc54b3b0dda9352e79351ef9eb505034be36
parent9bcbefe37246cfab0f678bc2e46c86fcb11eddd7 (diff)
graphics-def (24mar20)
git-svn-id: svn://tug.org/texlive/trunk@54522 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/latex/graphics-def/CONTRIBUTING.md96
-rw-r--r--Master/texmf-dist/doc/latex/graphics-def/README.md2
-rw-r--r--Master/texmf-dist/tex/latex/graphics-def/dvisvgm.def123
-rw-r--r--Master/texmf-dist/tex/latex/graphics-def/luatex.def13
-rw-r--r--Master/texmf-dist/tex/latex/graphics-def/pdftex.def13
5 files changed, 212 insertions, 35 deletions
diff --git a/Master/texmf-dist/doc/latex/graphics-def/CONTRIBUTING.md b/Master/texmf-dist/doc/latex/graphics-def/CONTRIBUTING.md
new file mode 100644
index 00000000000..1d90f1515c8
--- /dev/null
+++ b/Master/texmf-dist/doc/latex/graphics-def/CONTRIBUTING.md
@@ -0,0 +1,96 @@
+Thanks for considering contributing to LaTeX2e: feedback, fixes and
+ideas are all useful. Here, we ([The LaTeX3
+Project](https://www.latex-project.org)) have collected together a few
+pointers to help things along.
+
+## Bugs
+
+There are thousands of packages and tools and the LaTeX Project Team
+only supports a few dozen core packages beside the kernel code. We
+also don't maintain any tools or the TeX-engines themselves! So if a
+bug is due to code from a contributed third-party package then the LaTeX
+Project Team is not able to help or fix the code as that is maintained
+by others. As such, we ask you follow the procedure below as it will
+help to weed cases where we cannot help.
+
+To report a bug it is important to provide a short test file that
+exhibits the issue. The [`latexbug`](https://github.com/latex3/latexbug)
+package should be loaded at the very top of any such test file used to
+report a bug in LaTeX as follows:
+
+```latex
+\RequirePackage{latexbug} % <- first line
+\documentclass{article} % or some other class
+... % code showing the problem
+```
+
+If the `latexbug` package is not part of your distribution you can
+download it
+[GitHub](https://raw.githubusercontent.com/latex3/latexbug/master/latexbug.sty).
+In that case simply place it in the directory next to your test file (or
+place it into your local `texmf` tree so that it will be always found –
+how to do that depends on the installation you use).
+
+If `latexbug` complains about third-party packages you should first
+remove those from your test file. If that is not possible, then the
+bug is most likely in one of these packages and you should report the
+problem to the maintainers of the package instead of opening an issue
+here. However, if you think the bug is in core LaTeX (as maintained
+by the LaTeX Team) even though you need the third-party packages to
+demonstrate the problem, then please continue and send the bug report
+to us but explain this explicitly in your description of the bug.
+
+
+## Font related issues
+
+Problems that are clearly due to using a specific font setup or a
+specific font are normally out of scope as we do not maintain fonts
+for LaTeX and can't help with problems in that area. Especially with
+XeTeX and LuaTeX people may experience issues due to font usage that
+are either due to the font itself or to different versions or
+treatment on different platforms. So please use Computer Modern or
+Latin Modern fonts in the test files.
+
+
+
+## Layout and interface deficiencies
+
+Upfront we should probably stress that 'deficiencies' in the design of
+of the standard document classes (`article`, `report` and `book`) as
+well a questionable but long established interface behavior of commands
+is something that we will normally not change, even if we can all agree
+that a different behavior or a different layout would have been a better
+choice. You are, of course, welcome to report issues in these areas,
+using the procedure explained below, but in all likelihood such reports
+will be marked as 'won't fix'.
+
+The reason is is that the kernel interfaces and the document classes
+have been used for many years in essentially all documents (even
+documents using different classes often build them upon the standard
+classes in the background) and thus such changes would break or as a
+minimum noticeably change nearly all existing documents. See also the
+file [LaTeX2e News Issue
+07](https://www.latex-project.org/news/latex2e-news/ltnews07.pdf) with
+regard to this policy.
+
+## Code contributions
+
+If you want to discuss a possible contribution before (or instead of)
+making a pull request, drop a line to
+[the team](mailto:latex-team@latex-project.org).
+
+The stability of LaTeX is very important and this means that change in
+the kernel is necessarily very conservative. It also means that a lot of
+discussion happens before any changes are made. If you do decide to post
+a pull request, please bear this in mind: we do appreciate ideas, but
+cannot always integrate them into the kernel.
+
+If you are submitting a pull request, notice that
+
+- The first line of commit messages should be a short summary (up to about
+ 50 chars); leave a blank line then give more detail if required
+- We use Travis-CI for (light) testing so add `[ci skip]` to documentation-only
+ commit messages
+- We favour a single linear history so will rebase accepted pull requests
+- Where a commit fixes or closes an issue, please include this information
+ in the first line of the commit message [`(fixes #X)` or similar]
diff --git a/Master/texmf-dist/doc/latex/graphics-def/README.md b/Master/texmf-dist/doc/latex/graphics-def/README.md
index 54737891386..41849da9937 100644
--- a/Master/texmf-dist/doc/latex/graphics-def/README.md
+++ b/Master/texmf-dist/doc/latex/graphics-def/README.md
@@ -1,7 +1,7 @@
LaTeX support for color and graphics
====================================
-Release 2018-01-08
+Release 2020-03-24
This bundle contains the 'engine-dependent' part of support for
color and graphics in LaTeX2e (the code here will also function
diff --git a/Master/texmf-dist/tex/latex/graphics-def/dvisvgm.def b/Master/texmf-dist/tex/latex/graphics-def/dvisvgm.def
index e94ec8dc09d..46a3c3859c7 100644
--- a/Master/texmf-dist/tex/latex/graphics-def/dvisvgm.def
+++ b/Master/texmf-dist/tex/latex/graphics-def/dvisvgm.def
@@ -1,5 +1,5 @@
% Copyright 2015 by Till Tantau
-% Copyright 2016 by Till Tantau and LaTeX3 Project
+% Copyright 2016 2018 by Till Tantau and LaTeX3 Project
%
%% This work may be distributed and/or modified under the
%% conditions of the LaTeX Project Public License, either version 1.3c
@@ -15,9 +15,9 @@
%%
%% https://github.com/latex3/graphics-def/issues
%
-\ProvidesFile{dvisvgm.def}[2017/06/20 v1.0b dvisvgm graphics driver for latex]
-\def\GPT@space{ }
+\ProvidesFile{dvisvgm.def}[2020/03/22 v1.2 dvisvgm graphics driver for latex]
% The following is copied from dvips.def:
+\def\GPT@space{ }
\def\c@lor@arg#1{%
\dimen@#1\p@
\ifdim\dimen@<\z@\dimen@\maxdimen\fi
@@ -72,11 +72,85 @@
\def\reset@color{\special{color pop}}
\def\set@page@color{\special{bgcolor \current@color}}
\def\define@color@named#1#2{\expandafter\let\csname col@#1\endcsname\@nnil}
-\def\Grot@start{\special{dvisvgm:raw <g transform="translate({?x},{?y})scale(1,-1)rotate(\Grot@angle)scale(-1,1)translate({?x},{?y})scale(-1)">}}
-\def\Grot@end{\special{dvisvgm:raw </g>}}
-\def\Gscale@start{\special{dvisvgm:raw <g transform="translate({?x},{?y})scale(\Gscale@x,\Gscale@y)scale(-1)translate({?x},{?y})scale(-1)">}}
-\def\Gscale@end{\special{dvisvgm:raw </g>}}
-\def\Gin@extensions{.png,.jpg,.jpeg,.svg}
+\def\Grot@start{%
+ \special{ps: gsave currentpoint currentpoint translate \Grot@angle\GPT@space neg rotate neg exch neg exch translate}%
+ \special{dvisvgm:bbox \strip@pt\wd\z@ pt \strip@pt\ht\z@ pt \strip@pt\dp\z@ pt transform}%
+ \special{ps: grestore}%
+ \special{dvisvgm:raw <g transform="translate({?x},{?y})scale(1,-1)rotate(\Grot@angle)scale(-1,1)translate({?x},{?y})scale(-1)">}%
+ \special{dvisvgm:bbox lock}%
+}
+\def\Grot@end{\special{dvisvgm:bbox unlock}\special{dvisvgm:raw </g>}}
+\def\Gscale@start{%
+ \special{ps: gsave currentpoint currentpoint translate \Gscale@x\GPT@space \Gscale@y\GPT@space scale neg exch neg exch translate}%
+ \special{dvisvgm:bbox \strip@pt\wd\z@ pt \strip@pt\ht\z@ pt \strip@pt\dp\z@ pt transform}%
+ \special{ps: grestore}%
+ \special{dvisvgm:raw <g transform="translate({?x},{?y})scale(\Gscale@x,\Gscale@y)scale(-1)translate({?x},{?y})scale(-1)">}%
+ \special{dvisvgm:bbox lock}%
+}
+\let\Gscale@end\Grot@end
+\def\Gin@extensions{.svg,.eps,.png,.jpg,.jpeg}
+\def\Ginclude@pdf#1{\Ginclude@psorpdf{#1}{pdffile}}
+\def\Ginclude@eps#1{\let\Gin@page\@empty\Ginclude@psorpdf{#1}{PSfile}}
+\def\Ginclude@psorpdf#1#2{%
+ \message{<#1>}%
+ \bgroup
+ \def\@tempa{!}%
+ \dimen@\Gin@req@width
+ \dimen@ii.1bp%
+ \divide\dimen@\dimen@ii
+ \@tempdima\Gin@req@height
+ \divide\@tempdima\dimen@ii
+ \special{#2="#1"\GPT@space
+ \ifx\Gin@page\@empty\else page=\Gin@page\GPT@space\fi
+ llx=\Gin@llx\GPT@space
+ lly=\Gin@lly\GPT@space
+ urx=\Gin@urx\GPT@space
+ ury=\Gin@ury\GPT@space
+ \ifx\Gin@scalex\@tempa\else rwi=\number\dimen@\GPT@space\fi
+ \ifx\Gin@scaley\@tempa\else rhi=\number\@tempdima\GPT@space\fi
+ \ifGin@clip clip\fi
+ }%
+ \egroup}
+\@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@.pdf}#1{{pdf}{.xbb}{#1}}
+% BoundingBox determination (from dvipdfmx.def)
+\def\Gread@pdf#1{%
+ \Gread@generic{#1}\Gread@extractbb@aux%
+}%
+\def\Gread@extractbb@aux#1{%
+ \ifeof\@inputcheck%
+ \immediate\openin\@inputcheck=%
+ "|extractbb %
+ \ifx\Gin@page\@empty\else -p \Gin@page\GPT@space\fi
+ \ifx\Gin@pagebox\@empty\else -B \Gin@pagebox\GPT@space\fi
+ -O \Gin@base\Gin@ext"%
+ \fi%
+ \Gread@true%
+ \let\@tempb\Gread@false%
+ \ifeof\@inputcheck%
+ \@latex@error%
+ {Cannot run pipe command. Try --shell-escape\MessageBreak%
+ (--enable-pipes in MikTeX) option}%
+ {Alternatively, execute\MessageBreak\space\space
+ extractbb
+ \ifx\Gin@page\@empty\else -p \Gin@page\GPT@space\fi
+ \ifx\Gin@pagebox\@empty\else -B \Gin@pagebox\GPT@space\fi
+ \Gin@base\Gin@ext\MessageBreak in a terminal.}%
+ \else%
+ \loop%
+ \read\@inputcheck to\@tempa%
+ \ifeof\@inputcheck%
+ \Gread@false%
+ \else%
+ \expandafter\Gread@find@bb\@tempa:.\\%
+ \fi%
+ \ifGread@%
+ \repeat%
+ \immediate\closein\@inputcheck%
+ \fi%
+}
\def\Ginclude@bitmap#1{%
\dimen@\Gin@urx pt%
\advance\dimen@ by-\Gin@llx pt%
@@ -87,17 +161,17 @@
\dimen@\Gin@svg@real@height@bp pt%
\advance\dimen@ by-\Gin@ury pt%
\edef\Gin@svg@view@base{\strip@pt\dimen@}%
-% \kern-\Gin@llx bp%
- \raise\Gin@req@height\hbox{%
+ \Gin@req@width0.99626\Gin@req@width%
+ \Gin@req@height0.99626\Gin@req@height%
+ \raise\strip@pt\Gin@req@height bp\hbox{%
\special{dvisvgm: raw
<g transform="translate({?x},{?y})">
<svg overflow="\ifGin@clip hidden\else visible\fi" width="\strip@pt\Gin@req@width" height="\strip@pt\Gin@req@height"
viewBox="\Gin@llx\GPT@space\Gin@svg@view@base\GPT@space\Gin@svg@view@width\GPT@space\Gin@svg@view@height">
- <image width="\Gin@svg@real@width@bp" height="\Gin@svg@real@height@bp"
+ <image width="\Gin@svg@real@width@bp" height="\Gin@svg@real@height@bp"
xlink:href="#1"/>
</svg>
</g>}%
-% \special{dvisvgm: img \strip@pt\Gin@req@width\GPT@space \strip@pt\Gin@req@height\GPT@space #1}
}%
}
@@ -139,32 +213,33 @@
\fi
\edef\Gin@setter{\def\noexpand\Gin@urx{\Gin@urx}\def\noexpand\Gin@ury{\Gin@ury}}%
\expandafter\endgroup\Gin@setter%
- \def\Gin@llx{0}%
+ \def\Gin@llx{0}%
\def\Gin@lly{0}%
\edef\Gin@svg@real@width@bp{\Gin@urx}%
- \edef\Gin@svg@real@height@bp{\Gin@ury}%
+ \edef\Gin@svg@real@height@bp{\Gin@ury}%
}
\def\Gin@partext{\par}
\def\Gread@svg@height#1height={\@ifnextchar\relax{}{\@ifnextchar'\Gread@svg@height@apo\Gread@svg@height@double}}
-\def\Gread@svg@height@apo'#1'#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\dimen@0.99626\dimen@\edef\Gin@ury{\strip@pt\dimen@}}
-\def\Gread@svg@height@double"#1"#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\dimen@0.99626\dimen@\edef\Gin@ury{\strip@pt\dimen@}}
+\def\Gread@svg@height@apo'#1'#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\edef\Gin@ury{\strip@pt\dimen@}}
+\def\Gread@svg@height@double"#1"#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\edef\Gin@ury{\strip@pt\dimen@}}
\def\Gread@svg@width#1width={\@ifnextchar\relax{}{\@ifnextchar'\Gread@svg@width@apo\Gread@svg@width@double}}
-\def\Gread@svg@width@apo'#1'#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\dimen@0.99626\dimen@\edef\Gin@urx{\strip@pt\dimen@}}
-\def\Gread@svg@width@double"#1"#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\dimen@0.99626\dimen@\edef\Gin@urx{\strip@pt\dimen@}}
+\def\Gread@svg@width@apo'#1'#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\edef\Gin@urx{\strip@pt\dimen@}}
+\def\Gread@svg@width@double"#1"#2\relax{\afterassignment\Gin@gobble@till@relax\dimen@#1pt\relax\edef\Gin@urx{\strip@pt\dimen@}}
\def\Gin@gobble@till@relax#1\relax{}
+\edef\Gin@hash@tag{\string#}
\@namedef{Gin@rule@.jpg}#1{{bitmap}{.xbb}{#1}}
\@namedef{Gin@rule@.jpeg}#1{{bitmap}{.xbb}{#1}}
\@namedef{Gin@rule@.png}#1{{bitmap}{.xbb}{#1}}
-% Replace
+% Replace
\def\Gread@bitmap#1{%
- \Gread@eps{#1}%
- \dimen@\Gin@urx bp%
- \advance\dimen@ by-\Gin@llx bp%
+ \Gread@generic{#1}\Gread@extractbb@aux%
+ \dimen@\Gin@urx pt%
+ \advance\dimen@ by-\Gin@llx pt%
\edef\Gin@svg@real@width@bp{\strip@pt\dimen@}%
- \dimen@\Gin@ury bp%
- \advance\dimen@ by-\Gin@lly bp%
+ \dimen@\Gin@ury pt%
+ \advance\dimen@ by-\Gin@lly pt%
\edef\Gin@svg@real@height@bp{\strip@pt\dimen@}%
}
diff --git a/Master/texmf-dist/tex/latex/graphics-def/luatex.def b/Master/texmf-dist/tex/latex/graphics-def/luatex.def
index c8287ee95f9..84ed1109be6 100644
--- a/Master/texmf-dist/tex/latex/graphics-def/luatex.def
+++ b/Master/texmf-dist/tex/latex/graphics-def/luatex.def
@@ -128,14 +128,17 @@
\AtBeginDocument{%
\def\KV@Gin@bbllx{%
\PackageError{luatex.def}{%
- Options `bblly', `bblly', `bburx' and `bbury'\MessageBreak
- are not supported by luatex driver:\MessageBreak
+ Options `bblly', `bblly', `bburx', `bbury',\MessageBreak
+ `natheight' and `natwidth' are not\MessageBreak
+ supported by luatex driver:\MessageBreak
use `viewport' instead%
}\@ehc
}%
\let\KV@Gin@bblly\KV@Gin@bbllx
\let\KV@Gin@bburx\KV@Gin@bbllx
\let\KV@Gin@bbury\KV@Gin@bbllx
+ \let\KV@Gin@natwidth\KV@Gin@bbllx
+ \let\KV@Gin@natheight\KV@Gin@bbllx
\def\KV@Gin@bb{%
\PackageInfo{luatex.def}%
{Option `bb' equivalent to `viewport' for luatex driver}%
@@ -575,18 +578,18 @@
% b) and shell escape is enabled (possibly restricted),
% c) and \DoNotLoadEpstopdf either does not exist or is not \relax,
% d) and neither pst-pdf nor pdftricks is loaded (by \begin{document}).
-%
+%
% In other words, by default .eps files will be automatically
% converted to .pdf files when outputting pdf. This can be wrong!
% If the .pdf is the source, rather than the .eps, you should put
% \newcommand{\DoNotLoadEpstopdf}{}
% before even the \documentclass line of your document.
-%
+%
% More information about the epstopdf run will be in the .log file;
% see http://ctan.org/pkg/epstopdf-pkg for more info about the
% epstopdf package itself. In turn, it calls the epstopdf script
% (http://ctan.org/pkg/epstopdf).
-%
+%
% For the first discussion and background on this, see the thread on latex-l:
% http://thread.gmane.org/gmane.comp.tex.latex.latex3/1465
%
diff --git a/Master/texmf-dist/tex/latex/graphics-def/pdftex.def b/Master/texmf-dist/tex/latex/graphics-def/pdftex.def
index 3d064430f07..0c9d2da5489 100644
--- a/Master/texmf-dist/tex/latex/graphics-def/pdftex.def
+++ b/Master/texmf-dist/tex/latex/graphics-def/pdftex.def
@@ -142,14 +142,17 @@ E \else
\AtBeginDocument{%
\def\KV@Gin@bbllx{%
\PackageError{pdftex.def}{%
- Options `bblly', `bblly', `bburx' and `bbury'\MessageBreak
- are not supported by pdftex driver:\MessageBreak
+ Options `bblly', `bblly', `bburx', `bbury',\MessageBreak
+ `natheight' and `natwidth' are not\MessageBreak
+ supported by pdftex driver:\MessageBreak
use `viewport' instead%
}\@ehc
}%
\let\KV@Gin@bblly\KV@Gin@bbllx
\let\KV@Gin@bburx\KV@Gin@bbllx
\let\KV@Gin@bbury\KV@Gin@bbllx
+ \let\KV@Gin@natwidth\KV@Gin@bbllx
+ \let\KV@Gin@natheight\KV@Gin@bbllx
\def\KV@Gin@bb{%
\PackageInfo{pdftex.def}%
{Option `bb' equivalent to `viewport' with pdftex driver}%
@@ -585,18 +588,18 @@ E \else
% b) and shell escape (\write18) is enabled (possibly restricted),
% c) and \DoNotLoadEpstopdf either does not exist or is not \relax,
% d) and neither pst-pdf nor pdftricks is loaded (by \begin{document}).
-%
+%
% In other words, by default .eps files will be automatically
% converted to .pdf files when outputting pdf. This can be wrong!
% If the .pdf is the source, rather than the .eps, you should put
% \newcommand{\DoNotLoadEpstopdf}{}
% before even the \documentclass line of your document.
-%
+%
% More information about the epstopdf run will be in the .log file;
% see http://ctan.org/pkg/epstopdf-pkg for more info about the
% epstopdf package itself. In turn, it calls the epstopdf script
% (http://ctan.org/pkg/epstopdf).
-%
+%
% For the first discussion and background on this, see the thread on latex-l:
% http://thread.gmane.org/gmane.comp.tex.latex.latex3/1465
%