summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Master/texmf-dist/doc/latex/svg/README.md49
-rw-r--r--Master/texmf-dist/doc/latex/svg/svg.pdfbin1024496 -> 1028970 bytes
-rw-r--r--Master/texmf-dist/source/latex/svg/svg.dtx75
-rw-r--r--Master/texmf-dist/tex/latex/svg/svg-extract.sty4
-rw-r--r--Master/texmf-dist/tex/latex/svg/svg.sty49
5 files changed, 115 insertions, 62 deletions
diff --git a/Master/texmf-dist/doc/latex/svg/README.md b/Master/texmf-dist/doc/latex/svg/README.md
index fe8f917046a..60a6fffae9a 100644
--- a/Master/texmf-dist/doc/latex/svg/README.md
+++ b/Master/texmf-dist/doc/latex/svg/README.md
@@ -1,15 +1,15 @@
- svg and svg-extract -- Include and extract SVG pictures in LaTeX documents
+ svg and svg-extract – Handling SVG pictures in LaTeX documents
----------------------------------------------------------------------------
- Copyright (C) Philip Ilten <philten@cern.ch>, 2012-2016
+ Copyright (C) Philip Ilten <philten@cern.ch>, 2012-2016<br>
Copyright (C) Falk Hanisch <hanisch.latex@outlook.com>, 2017-
- svg 2019/10/10 v2.02c
+ svg 2019/10/22 v2.02d
----------------------------------------------------------------------------
- This material is subject to the LaTeX Project Public License version 1.3c
+ This material is subject to the LaTeX Project Public License version 1.3c
or later. See http://www.latex-project.org/lppl.txt for details.
----------------------------------------------------------------------------
@@ -18,34 +18,45 @@
Summary
-------
-The **svg** package is intended for the automated integration of SVG graphics
-into LaTeX documents. Therefor the capabilities provided by ***Inkscape***---or
-more precisely its command line tool---are used to export the text within a SVG
-graphic to a separate file, which is then rendered by LaTeX. For this purpose
-the two commands `\includesvg` and `\includeinkscape` are provided which are
-very similar to the `\includegraphics` command of the **graphicx** package.
+The **svg** package provides an user&#8209;interface for automated integration
+of SVG&nbsp;graphics created with ***Inkscape*** into LaTeX&nbsp;documents.
+Therefor the capabilities provided by ***Inkscape***&mdash;and its command line
+tool&mdash;are used to export the text within a SVG&nbsp;graphic to a separate
+file, which is then rendered by LaTeX. The two commands `\includesvg` and
+`\includeinkscape` are provided as central user&#8209;interface, which are very
+similar to the `\includegraphics` command of the **graphicx** package.
-In addition, the package **svg-extract** allows the extraction of these
-graphics into independent files in different graphic formats, exactly as
-it is rendered within the LaTeX document using either ***ImageMagick*** or
-***Ghostscript***
+In addition, the package **svg-extract** extends the user&#8209;interface of
+package **svg** in order to support the extraction of these graphics into
+independent files in different graphic formats, exactly as they are rendered
+within the LaTeX&nbsp;document. For the creation of these graphics in the
+well&#8209;known formats PDF, EPS and&nbsp;PS, LaTeX and possibly conversion
+tools shipped with the most LaTeX distributions are used. If the graphics are
+required in other file formats, either ***ImageMagick*** or ***Ghostscript***
+can be invoked.
Versions
--------
+**v2.02d** (2019/10/22)
++ fix bugs with current kernel (2019/10/01) regarding file name parsing, see
+ https://github.com/mrpiggi/svg/issues/16
++ use `\filemoddate` with XeLaTeX, see https://github.com/mrpiggi/svg/issues/12
+
**v2.02c** (2019/10/10)
+ fix bugs with current kernel (2019/10/01) regarding file name parsing
**v2.02b** (2018/11/12)
-+ fix bug for package **tikzscale** which changes `includgraphics` globally
++ fix bug for package **tikzscale** which changes the definition of
+ `\includegraphics`
**v2.02a** (2018/10/17)
+ fix bug for package **polyglossia** which fakes **babel** poorly
**v2.02** (2018/09/08)
-+ distortion of included and extracted graphics supported with options `distort`
- (or `keepaspectratio`) and `extractdistort` as well as rotation for
++ distortion of included and extracted graphics supported with options `distort`
+ (or `keepaspectratio`) and `extractdistort` as well as rotation for
extractions (`extractangle`)
+ fixed errors with active double qoutes from **babel** in path arguments
+ multiple dots within file names possible
@@ -72,8 +83,8 @@ Versions
+ **svg-extract**: enhanced support for ***ImageMagick***
+ **svg-extract**: support for ***Ghostscript*** added
+ package **subfig** not required anymore
-+ support of subfigures stopped due to the huge number of packages which deal
- with this topic and the large variety of implementing this functionality;
++ support of subfigures stopped due to the huge number of packages which deal
+ with this topic and the large variety of implementing this functionality;
naming exported graphics after their consecutive numbering can't be ensured
for all variants of subfigures, so it's neglected
diff --git a/Master/texmf-dist/doc/latex/svg/svg.pdf b/Master/texmf-dist/doc/latex/svg/svg.pdf
index f186e95d93a..292d4b1b9b5 100644
--- a/Master/texmf-dist/doc/latex/svg/svg.pdf
+++ b/Master/texmf-dist/doc/latex/svg/svg.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/latex/svg/svg.dtx b/Master/texmf-dist/source/latex/svg/svg.dtx
index 7715e968116..8952e01128a 100644
--- a/Master/texmf-dist/source/latex/svg/svg.dtx
+++ b/Master/texmf-dist/source/latex/svg/svg.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{3838}
+% \CheckSum{3884}
% \iffalse meta-comment
%
% svg and svg-extract -- Include and extract SVG pictures in LaTeX documents
@@ -111,11 +111,11 @@ svg-extract -- Extract independent graphic files from SVG pictures
\ifx\ProvidesFile\@undefined\def\ProvidesFile#1[#2]{}\fi
\ProvidesFile{svg.dtx}[%
%</driver>
-%<package&option>\NeedsTeXFormat{LaTeX2e}
+%<package&option>\NeedsTeXFormat{LaTeX2e}[2019-10-01]
%<package&option&base>\ProvidesPackage{svg}[%
%<package&option&extract>\ProvidesPackage{svg-extract}[%
%<*driver|package&option>
- 2019/10/10 v2.02c\space%
+ 2019/10/22 v2.02d\space%
%<package&option&base> (include SVG pictures)%
%<package&option&extract> (extract independent graphics from SVG pictures)%
]
@@ -260,6 +260,10 @@ svg-extract -- Extract independent graphic files from SVG pictures
% \changes{v2.02c}{2019/10/10}{%
% fix bugs with current kernel (2019/10/01) regarding file name parsing
% }^^A
+% \changes{v2.02d}{2019/10/22}{%
+% fix bugs with current kernel (2019/10/01) regarding file name parsing, see
+% \url{https://github.com/mrpiggi/svg/issues/16}
+% }^^A
% \ToDo{Workaround for missing \cs{transparent} (Lua\TeX lacks support)}[v2.03]
%
%
@@ -410,9 +414,7 @@ svg-extract -- Extract independent graphic files from SVG pictures
% graphic~file either does not exist or the file~modification date of the
% SVG~file is newer than that of the exported graphic~file. Thus the
% compilation time of the \LaTeX~document can be reduced to the necessary
-% minimum. Unfortunately a primitive like \cs{pdffilemoddate} is missing for
-% XeTeX, so with this engine, the behaviour will be the same as
-% \opt{inkscape}|=|\val{forced}.
+% minimum.
% \item[forced/force/overwrite]
% The \app{Inkscape}~export will definitely be done, any already existing
% exported file will overwritten regardlessly.
@@ -601,13 +603,8 @@ svg-extract -- Extract independent graphic files from SVG pictures
% PDF/EPS/PS/PNG~file (see~\opt{inkscapeformat}) and perhaps a correlating
% \LaTeX~file (see~\opt{inkscapelatex}). The export with \app{Inkscape} is only
% invoked, if the SVG~file is newer than the exported graphic~file or latter
-% doesn't exist at all.\footnote{\ignorespaces%
-% Due to the lack of XeTeX to compare file~modification dates, using this
-% \LaTeX~engine leads to \app{Inkscape}~exports with every run unless
-% \opt{inkscape}|=|\val{false} is used.%
-% }%
-% Once the export has been done, the graphic~file and maybe the \LaTeX~file are
-% included.
+% doesn't exist at all. Once the export has been done, the graphic~file and
+% maybe the \LaTeX~file are included.
%
% All previously described options can also be used as optional parameters to
% \cs{includesvg} and do have the same effect as described before. However, the
@@ -2283,6 +2280,10 @@ svg-extract -- Extract independent graphic files from SVG pictures
% \begin{macrocode}
\@svg@tempswafalse%
\expandafter\IfFileExists\expandafter{\svg@tempa}{%
+ \expandafter\svg@quotes@check\expandafter{\svg@tempa}%
+ \if@svg@quotes@found\else%
+ \svg@quotes@remove{\@filef@und}%
+ \fi%
\@svg@tempswatrue%
\edef\@filef@und{\expandafter\trim@spaces\expandafter{\@filef@und}}%
\svg@filename@parse[{#1}]{\@filef@und}%
@@ -2499,25 +2500,45 @@ svg-extract -- Extract independent graphic files from SVG pictures
% \end{macrocode}
% \end{macro}^^A \svg@file@missing
% \begin{macro}{\svg@iffilenewer}
+% \changes{v2.02d}{2019/10/22}{%
+% use \cs{filemoddate} with Xe\LaTeX, see
+% \url{https://github.com/mrpiggi/svg/issues/12}
+% }^^A
% The macro \cs{svg@iffilenewer} is used to decide, whether the export with
% \app{Inkscape} is necessary due to an updated SVG~file. This can only be
-% done, if \cs{pdf@filemoddate} is definied. Unfortunately this functionality
-% isn't provided by Xe\TeX.
+% done, if \cs{pdf@filemoddate} or \cs{filemoddate} is definied.
% \begin{macrocode}
+\newcommand*\svg@iffilenewer[2]{\@gobbletwo}
\ifx\pdf@filemoddate\@undefined
- \newcommand*\svg@iffilenewer[2]{\@gobbletwo}
+ \ifx\filemoddate\@undefined\else
+ \ifx\strcmp\@undefined\else
+ \renewcommand*\svg@iffilenewer[2]{%
+ \begingroup%
+ \edef\svg@tempa{\filemoddate{#1}}%
+ \edef\svg@tempb{\filemoddate{#2}}%
+ \ifnum\strcmp{\svg@tempa}{\svg@tempb}>\z@\relax%
+ \aftergroup\@firstoftwo%
+ \else%
+ \aftergroup\@secondoftwo%
+ \fi%
+ \endgroup%
+ }%
+ \fi
+ \fi
\else
- \newcommand*\svg@iffilenewer[2]{%
- \begingroup%
- \edef\svg@tempa{\pdf@filemoddate{#1}}%
- \edef\svg@tempb{\pdf@filemoddate{#2}}%
- \ifnum\pdf@strcmp{\svg@tempa}{\svg@tempb}>\z@\relax%
- \aftergroup\@firstoftwo%
- \else%
- \aftergroup\@secondoftwo%
- \fi%
- \endgroup%
- }
+ \ifx\pdf@strcmp\@undefined\else
+ \renewcommand*\svg@iffilenewer[2]{%
+ \begingroup%
+ \edef\svg@tempa{\pdf@filemoddate{#1}}%
+ \edef\svg@tempb{\pdf@filemoddate{#2}}%
+ \ifnum\pdf@strcmp{\svg@tempa}{\svg@tempb}>\z@\relax%
+ \aftergroup\@firstoftwo%
+ \else%
+ \aftergroup\@secondoftwo%
+ \fi%
+ \endgroup%
+ }%
+ \fi
\fi
% \end{macrocode}
% \end{macro}^^A \svg@iffilenewer
diff --git a/Master/texmf-dist/tex/latex/svg/svg-extract.sty b/Master/texmf-dist/tex/latex/svg/svg-extract.sty
index a248829e94f..fd29bc5ad96 100644
--- a/Master/texmf-dist/tex/latex/svg/svg-extract.sty
+++ b/Master/texmf-dist/tex/latex/svg/svg-extract.sty
@@ -31,9 +31,9 @@
%% svg-example.svg, svg-preamble.tex and root.C (with derived file root.svg).
%%
%%
-\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}[2019-10-01]
\ProvidesPackage{svg-extract}[%
- 2019/10/10 v2.02c\space%
+ 2019/10/22 v2.02d\space%
(extract independent graphics from SVG pictures)%
]
\RequirePackage{svg}[2017/03/27]
diff --git a/Master/texmf-dist/tex/latex/svg/svg.sty b/Master/texmf-dist/tex/latex/svg/svg.sty
index 3499c533f69..8d99cb9be7f 100644
--- a/Master/texmf-dist/tex/latex/svg/svg.sty
+++ b/Master/texmf-dist/tex/latex/svg/svg.sty
@@ -31,9 +31,9 @@
%% svg-example.svg, svg-preamble.tex and root.C (with derived file root.svg).
%%
%%
-\NeedsTeXFormat{LaTeX2e}
+\NeedsTeXFormat{LaTeX2e}[2019-10-01]
\ProvidesPackage{svg}[%
- 2019/10/10 v2.02c\space%
+ 2019/10/22 v2.02d\space%
(include SVG pictures)%
]
\RequirePackage{scrbase}[2016/06/14]
@@ -611,6 +611,10 @@
\svg@set@input@path[{#3}]%
\@svg@tempswafalse%
\expandafter\IfFileExists\expandafter{\svg@tempa}{%
+ \expandafter\svg@quotes@check\expandafter{\svg@tempa}%
+ \if@svg@quotes@found\else%
+ \svg@quotes@remove{\@filef@und}%
+ \fi%
\@svg@tempswatrue%
\edef\@filef@und{\expandafter\trim@spaces\expandafter{\@filef@und}}%
\svg@filename@parse[{#1}]{\@filef@und}%
@@ -745,20 +749,37 @@
}{\svg@tempa}%
\endgroup%
}
+\newcommand*\svg@iffilenewer[2]{\@gobbletwo}
\ifx\pdf@filemoddate\@undefined
- \newcommand*\svg@iffilenewer[2]{\@gobbletwo}
+ \ifx\filemoddate\@undefined\else
+ \ifx\strcmp\@undefined\else
+ \renewcommand*\svg@iffilenewer[2]{%
+ \begingroup%
+ \edef\svg@tempa{\filemoddate{#1}}%
+ \edef\svg@tempb{\filemoddate{#2}}%
+ \ifnum\strcmp{\svg@tempa}{\svg@tempb}>\z@\relax%
+ \aftergroup\@firstoftwo%
+ \else%
+ \aftergroup\@secondoftwo%
+ \fi%
+ \endgroup%
+ }%
+ \fi
+ \fi
\else
- \newcommand*\svg@iffilenewer[2]{%
- \begingroup%
- \edef\svg@tempa{\pdf@filemoddate{#1}}%
- \edef\svg@tempb{\pdf@filemoddate{#2}}%
- \ifnum\pdf@strcmp{\svg@tempa}{\svg@tempb}>\z@\relax%
- \aftergroup\@firstoftwo%
- \else%
- \aftergroup\@secondoftwo%
- \fi%
- \endgroup%
- }
+ \ifx\pdf@strcmp\@undefined\else
+ \renewcommand*\svg@iffilenewer[2]{%
+ \begingroup%
+ \edef\svg@tempa{\pdf@filemoddate{#1}}%
+ \edef\svg@tempb{\pdf@filemoddate{#2}}%
+ \ifnum\pdf@strcmp{\svg@tempa}{\svg@tempb}>\z@\relax%
+ \aftergroup\@firstoftwo%
+ \else%
+ \aftergroup\@secondoftwo%
+ \fi%
+ \endgroup%
+ }%
+ \fi
\fi
\newcommand*\svg@local@param@set[1]{%
\svg@local@param@use%