texlive[51009] Master/texmf-dist: animate (9apr19)
commits+karl at tug.org
commits+karl at tug.org
Sun May 5 20:06:50 CEST 2019
Revision: 51009
http://tug.org/svn/texlive?view=revision&revision=51009
Author: karl
Date: 2019-05-05 20:06:50 +0200 (Sun, 05 May 2019)
Log Message:
-----------
animate (9apr19)
Modified Paths:
--------------
trunk/Master/texmf-dist/doc/latex/animate/ChangeLog
trunk/Master/texmf-dist/doc/latex/animate/animate.pdf
trunk/Master/texmf-dist/tex/latex/animate/animate.sty
Modified: trunk/Master/texmf-dist/doc/latex/animate/ChangeLog
===================================================================
--- trunk/Master/texmf-dist/doc/latex/animate/ChangeLog 2019-05-05 18:06:25 UTC (rev 51008)
+++ trunk/Master/texmf-dist/doc/latex/animate/ChangeLog 2019-05-05 18:06:50 UTC (rev 51009)
@@ -1,38 +1,41 @@
+2019-04-09
+ * fix: improved patching of `dvisvgm.def'
+
2019-03-06
- * change : jbig2 format support removed; dvisvgm-related code moved to
+ * change: jbig2 format support removed; dvisvgm-related code moved to
pdfbase.sty (media9)
2019-01-23
- * new : support for embedding PDF with `dvisvgm', multipage PDF support with
+ * new: support for embedding PDF with `dvisvgm', multipage PDF support with
`dvisvgm' and `dvipdfmx' driver
2018-12-19
- * fix : wrong scaling of repeatedly embedded external graphics; JS-related
+ * fix: wrong scaling of repeatedly embedded external graphics; JS-related
issue in case of side-by-side animations in one SVG
2018-11-30
- * fix : `setTimeout' JS method (used by timeline feature) differs bewteen
+ * fix: `setTimeout' JS method (used by timeline feature) differs bewteen
browsers and PDF viewers
2018-11-29
- * fix : SVG usability issues on touch (mobile) devices; documentation
+ * fix: SVG usability issues on touch (mobile) devices; documentation
updated
2018-11-20
- * fix : `autoplay' (non-functional in SVG output); documentation
+ * fix: `autoplay' (non-functional in SVG output); documentation
updated (additions in section on SVG)
2018-11-19
- * new : support for `dvisvgm' output driver
+ * new: support for `dvisvgm' output driver
2018-08-22
- * new : `export' package option
+ * new: `export' package option
2018-06-27
- * fix : documentation fixed (repository)
+ * fix: documentation fixed (repository)
2018-06-07
- * fix : adjustments after migration to GitLab
+ * fix: adjustments after migration to GitLab
2018-02-28
* fix: test for XeTeX; test for eTeX removed
Modified: trunk/Master/texmf-dist/doc/latex/animate/animate.pdf
===================================================================
(Binary files differ)
Modified: trunk/Master/texmf-dist/tex/latex/animate/animate.sty
===================================================================
--- trunk/Master/texmf-dist/tex/latex/animate/animate.sty 2019-05-05 18:06:25 UTC (rev 51008)
+++ trunk/Master/texmf-dist/tex/latex/animate/animate.sty 2019-05-05 18:06:50 UTC (rev 51009)
@@ -13,7 +13,7 @@
\NeedsTeXFormat{LaTeX2e}
-\def\@anim at version{2019/03/06}
+\def\@anim at version{2019/04/09}
\ProvidesPackage{animate}
[\@anim at version\space PDF & SVG animations from files and inline graphics]
@@ -146,37 +146,52 @@
\if at anim@dvisvgm
\setboolean{@anim at export}{false}
-
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\AtBeginDocument{%
- % Add PS and PDF file inclusion (PDF files as of dvisvgm-2.4) to and
- % fix scaling/rotation/transformation in dvisvgm graphics driver
- \xdef\Gin at extensions{.eps,.pdf,\Gin at extensions}%
- \def\Ginclude at pdf#1{\@anim at include@psorpdf{#1}{pdffile}}%
- \def\Ginclude at eps#1{\let\Gin at page\@empty\@anim at include@psorpdf{#1}{PSfile}}%
- \def\@anim at include@psorpdf#1#2{% code taken from dvips.def
- \message{<#1>}%
- \bgroup%
+ % Add PS and PDF file inclusion (PDF files as of dvisvgm-2.6.3) and
+ % fix some scaling issues in the dvisvgm.def graphics driver
+ \def\GPT at space{ }
+ \def\Gin at extensions{.svg,.eps,.png,.jpg,.jpeg}
+ \def\Ginclude at pdf#1{\Ginclude at psorpdf{#1}{pdffile}}
+ \def\Ginclude at eps#1{\let\Gin at page\@empty\Ginclude at psorpdf{#1}{PSfile}}
+ \def\Ginclude at psorpdf#1#2{%
+ \message{<#1>}%
+ \bgroup
\def\@tempa{!}%
- \dimen@\Gin at req@width%
+ \dimen@\Gin at req@width
\dimen at ii.1bp%
- \divide\dimen@\dimen at ii%
- \@tempdima\Gin at req@height%
- \divide\@tempdima\dimen at ii%
- \special{#2="#1"\GPT at space%
- \ifx\Gin at page\@empty\else page=\Gin at page\GPT at space\fi%
- llx=\Gin at llx\GPT at space%
- lly=\Gin at lly\GPT at space%
- urx=\Gin at urx\GPT at space%
- ury=\Gin at ury\GPT at space%
- \ifx\Gin at scalex\@tempa\else rwi=\number\dimen@\GPT at space\fi%
- \ifx\Gin at scaley\@tempa\else rhi=\number\@tempdima\GPT at space\fi%
- \ifGin at clip clip\fi}%
- \egroup}%
- \@namedef{Gin at rule@.ps}#1{{eps}{.ps}{#1}}%
- \@namedef{Gin at rule@.eps}#1{{eps}{.eps}{#1}}%
- \@namedef{Gin at rule@.mps}#1{{eps}{.mps}{#1}}%
- \@namedef{Gin at rule@.pdf}#1{{pdf}{.xbb}{#1}}%
- % BoundingBox determination (from dvipdfmx.def)
+ \divide\dimen@\dimen at ii
+ \@tempdima\Gin at req@height
+ \divide\@tempdima\dimen at ii
+ \Gin at req@width0.99626\Gin at req@width%
+ \Gin at req@height0.99626\Gin at req@height%
+ \ifGin at clip\special{dvisvgm:raw
+ <g><clipPath id="GinClip\Gin at clip@id">%
+ <path d="M{?x},{?y}l\strip at pt\Gin at req@width,0l0,-\strip at pt\Gin at req@height
+ l-\strip at pt\Gin at req@width,0Z"/>%
+ </clipPath>%
+ <g clip-path="url(\Gin at hash@tag GinClip\Gin at clip@id)">}%
+ \fi%
+ \special{#2="#1"\GPT at space
+ \ifx\Gin at page\@empty\else page=\Gin at page\GPT at space\fi
+ llx=\Gin at llx\GPT at space
+ lly=\Gin at lly\GPT at space
+ urx=\Gin at urx\GPT at space
+ ury=\Gin at ury\GPT at space
+ \ifx\Gin at scalex\@tempa\else rwi=\number\dimen@\GPT at space\fi
+ \ifx\Gin at scaley\@tempa\else rhi=\number\@tempdima\GPT at space\fi
+ }%
+ \ifGin at clip%
+ \special{dvisvgm:raw </g></g>}%
+ \begingroup%
+ \count@\Gin at clip@id\advance\count@ by\@ne\xdef\Gin at clip@id{\the\count@}%
+ \endgroup%
+ \fi%
+ \egroup}
+ \@namedef{Gin at rule@.ps}#1{{eps}{.ps}{#1}}
+ \@namedef{Gin at rule@.eps}#1{{eps}{.eps}{#1}}
+ \@namedef{Gin at rule@.mps}#1{{eps}{.mps}{#1}}
+ \@namedef{Gin at rule@.pdf}#1{{pdf}{.xbb}{#1}}
\def\Gread at pdf#1{%
\Gread at generic{#1}\Gread at extractbb@aux%
}%
@@ -192,9 +207,13 @@
\let\@tempb\Gread at false%
\ifeof\@inputcheck%
\@latex at error%
- {Cannot run pipe command. Try --shell-escape^^J%
+ {Cannot run pipe command. Try --shell-escape\MessageBreak%
(--enable-pipes in MikTeX) option}%
- {}%
+ {Alternatively, execute\MessageBreak\space\space
+ extractbb
+ \ifx\Gin at page\@empty\else -p \Gin at page\GPT at space\fi
+ \ifx\Gin at pagebox\@empty\else -B \Gin at pagebox\GPT at space\fi
+ \Gin at base\Gin at ext\MessageBreak in a terminal.}%
\else%
\loop%
\read\@inputcheck to\@tempa%
@@ -207,20 +226,98 @@
\repeat%
\immediate\closein\@inputcheck%
\fi%
- }%
- % PS scaling and rotation (from dvips.def)
- \def\Grot at start{%
- \special{ps: gsave currentpoint
- currentpoint translate \Grot at angle\GPT at space neg
- rotate neg exch neg exch translate}}%
- \def\Grot at end{\special{ps: currentpoint grestore moveto}}%
- \def\Gscale at start{\special{ps: currentpoint currentpoint translate
- \Gscale at x\GPT at space \Gscale at y\GPT at space scale neg exch neg exch
- translate}}%
- \def\Gscale at end{\special{ps: currentpoint currentpoint translate
- 1 \Gscale at x\GPT at space div 1 \Gscale at y\GPT at space div scale
- neg exch neg exch translate}}%
+ }
+ \def\Ginclude at bitmap#1{%
+ \dimen@\Gin at urx pt%
+ \advance\dimen@ by-\Gin at llx pt%
+ \edef\Gin at svg@view at width{\strip at pt\dimen@}%
+ \dimen@\Gin at ury pt%
+ \advance\dimen@ by-\Gin at lly pt%
+ \edef\Gin at svg@view at height{\strip at pt\dimen@}%
+ \dimen@\Gin at svg@real at height@bp pt%
+ \advance\dimen@ by-\Gin at ury pt%
+ \edef\Gin at svg@view at base{\strip at pt\dimen@}%
+ \Gin at req@width0.99626\Gin at req@width%
+ \Gin at req@height0.99626\Gin at req@height%
+ \special{dvisvgm:bbox \strip at pt\Gin at req@width bp\GPT at space\strip at pt\Gin at req@height bp}%
+ \raise\strip at pt\Gin at req@height bp\hbox{%
+ \special{dvisvgm: raw
+ <g transform="translate({?x},{?y})">
+ <svg overflow="\ifGin at clip hidden\else visible\fi" width="\strip at pt\Gin at req@width" height="\strip at pt\Gin at req@height"
+ viewBox="\Gin at llx\GPT at space\Gin at svg@view at base\GPT at space\Gin at svg@view at width\GPT at space\Gin at svg@view at height">
+ <image width="\Gin at svg@real at width@bp" height="\Gin at svg@real at height@bp"
+ xlink:href="#1"/>
+ </svg>
+ </g>}%
+ }%
+ }
+ \@namedef{Gin at rule@.svg}#1{{svg}{.svg}{#1}}
+ \let\Ginclude at svg\Ginclude at bitmap
+ \def\Gread at svg#1{%
+ \begingroup
+ \catcode`\"12\relax%
+ \immediate\openin\@inputcheck#1 %
+ \ifeof\@inputcheck
+ \@latex at error{File `#1' not found}\@ehc
+ \else
+ \let\Gin at urx\relax
+ \let\Gin at ury\relax
+ \Gread at true
+ \let\@tempb\Gread at false
+ \loop
+ \read\@inputcheck to\@tempa
+ \ifeof\@inputcheck
+ \Gread at false
+ \else
+ \ifx\@tempa\Gin at partext\else
+ \ifx\Gin at ury\relax\expandafter\Gread at svg@height\@tempa height=\relax\fi%
+ \ifx\Gin at urx\relax\expandafter\Gread at svg@width\@tempa width=\relax\fi%
+ \fi%
+ \fi
+ \ifx\Gin at urx\relax\else\ifx\Gin at ury\relax\else\Gread at false\fi\fi%
+ \ifGread@
+ \repeat
+ \immediate\closein\@inputcheck
+ \ifx\Gin at urx\relax
+ \@latex at error{Cannot determine width of graphic in #1 (no BoundingBox)}\@ehc
+ \def\Gin at urx{72}%
+ \fi
+ \ifx\Gin at ury\relax
+ \@latex at error{Cannot determine height of graphic in #1 (no BoundingBox)}\@ehc
+ \def\Gin at ury{72}%
+ \fi
+ \fi
+ \edef\Gin at setter{\def\noexpand\Gin at urx{\Gin at urx}\def\noexpand\Gin at ury{\Gin at ury}}%
+ \expandafter\endgroup\Gin at setter%
+ \def\Gin at llx{0}%
+ \def\Gin at lly{0}%
+ \edef\Gin at svg@real at width@bp{\Gin at urx}%
+ \edef\Gin at svg@real at height@bp{\Gin at ury}%
+ }
+ \def\Gin at partext{\par}
+ \def\Gread at svg@height#1height={\@ifnextchar\relax{}{\@ifnextchar'\Gread at svg@height at apo\Gread at svg@height at double}}
+ \def\Gread at svg@height at apo'#1'#2\relax{\afterassignment\Gin at gobble@till at relax\dimen@#1pt\relax\edef\Gin at ury{\strip at pt\dimen@}}
+ \def\Gread at svg@height at double"#1"#2\relax{\afterassignment\Gin at gobble@till at relax\dimen@#1pt\relax\edef\Gin at ury{\strip at pt\dimen@}}
+ \def\Gread at svg@width#1width={\@ifnextchar\relax{}{\@ifnextchar'\Gread at svg@width at apo\Gread at svg@width at double}}
+ \def\Gread at svg@width at apo'#1'#2\relax{\afterassignment\Gin at gobble@till at relax\dimen@#1pt\relax\edef\Gin at urx{\strip at pt\dimen@}}
+ \def\Gread at svg@width at double"#1"#2\relax{\afterassignment\Gin at gobble@till at relax\dimen@#1pt\relax\edef\Gin at urx{\strip at pt\dimen@}}
+ \def\Gin at gobble@till at relax#1\relax{}
+ \edef\Gin at hash@tag{\string#}
+ \def\Gin at clip@id{0}
+ \@namedef{Gin at rule@.jpg}#1{{bitmap}{.xbb}{#1}}
+ \@namedef{Gin at rule@.jpeg}#1{{bitmap}{.xbb}{#1}}
+ \@namedef{Gin at rule@.png}#1{{bitmap}{.xbb}{#1}}
+ \def\Gread at bitmap#1{%
+ \Gread at generic{#1}\Gread at extractbb@aux%
+ \dimen@\Gin at urx pt%
+ \advance\dimen@ by-\Gin at llx pt%
+ \edef\Gin at svg@real at width@bp{\strip at pt\dimen@}%
+ \dimen@\Gin at ury pt%
+ \advance\dimen@ by-\Gin at lly pt%
+ \edef\Gin at svg@real at height@bp{\strip at pt\dimen@}%
+ }
}
+ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\fi
\if at anim@export
More information about the tex-live-commits
mailing list