summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/animate
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2016-01-19 22:36:32 +0000
committerKarl Berry <karl@freefriends.org>2016-01-19 22:36:32 +0000
commit807e4597819bf7720671f8cc5aa83f16655ebf07 (patch)
treee188f657fe96f4ef0024f8f9e8c0ec78e8149eb9 /Master/texmf-dist/tex/latex/animate
parentde944aa8e0c81b76bdab911cc3781d446749d356 (diff)
animate (19jan16)
git-svn-id: svn://tug.org/texlive/trunk@39429 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/tex/latex/animate')
-rw-r--r--Master/texmf-dist/tex/latex/animate/animate.sty71
1 files changed, 39 insertions, 32 deletions
diff --git a/Master/texmf-dist/tex/latex/animate/animate.sty b/Master/texmf-dist/tex/latex/animate/animate.sty
index 5ef33bbde6a..6f823f8eaab 100644
--- a/Master/texmf-dist/tex/latex/animate/animate.sty
+++ b/Master/texmf-dist/tex/latex/animate/animate.sty
@@ -13,7 +13,7 @@
\NeedsTeXFormat{LaTeX2e}
-\def\@anim@version{2015/11/02}
+\def\@anim@version{2016/01/19}
\ProvidesPackage{animate}
[\@anim@version\space PDF animations from files and inline graphics]
@@ -192,22 +192,35 @@
\def\@anim@newkey#1#2{{\expandafter\xdef\csname#1\endcsname{#2}}}
\def\@anim@getkeyval#1{\ifcsname#1\endcsname\csname#1\endcsname\fi}
+\def\@animate@rerunwarn{%
+ \ifcsname @anim@rerunwarned\endcsname\else%
+ \gdef\@anim@rerunwarned{}%
+ \PackageWarningNoLine{animate}{%
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\MessageBreak
+ @@ Rerun to get internal references right! @@\MessageBreak
+ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}%
+ \fi%
+}
+
%macro for writing global defs to external *.aux file
\def\@anim@keytoaux#1#2{%
\@bsphack\protected@write\@mainaux{}{%
\string\@anim@newkey{#1}{#2}%
}\@esphack%
- \ifcsname#1\endcsname\else%
- \ifcsname @anim@rerunwarned\endcsname\else%
- \gdef\@anim@rerunwarned{}%
- \AtEndDocument{%
- \PackageWarningNoLine{animate}{%
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@\MessageBreak
- @@ Rerun to get internal references right! @@\MessageBreak
- @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@}%
- }%
+ \ifthenelse{\equal{\@anim@getkeyval{#1}}{#2}}{}{%
+ \AtEndDocument{\@animate@rerunwarn}}%
+}
+
+\let\AtEndDvi@CheckImpl@Orig\AtEndDvi@CheckImpl%
+\def\AtEndDvi@CheckImpl{%
+ \AtEndDvi@CheckImpl@Orig%
+ \@ifundefined{AtEndDvi@LastPage}{%
+ \@animate@rerunwarn%
+ }{%
+ \ifnum\AtEndDvi@LastPage=\value{abspage}\else%
+ \@animate@rerunwarn%
\fi%
- \fi%
+ }%
}
%missing package error message
@@ -772,7 +785,6 @@
\def\@anim@annotflag{/F 4}% not hidden + print (4)
\else%
\ifnum\@anim@poster=\@anim@mone% use last frame as poster
- \@anim@keytoaux{a#1.poster}{#2}%
\ifthenelse{\equal{\@anim@getkeyval{a#1.poster}}{#2}}{%
\def\@anim@annotflag{/F 4}%
}{}%
@@ -795,7 +807,6 @@
\@anim@newocg{#1}{#2}%
%initial visibility
\ifnum\@anim@poster=\@anim@mone% use last frame as poster
- \@anim@keytoaux{a#1.poster}{#2}%
\ifthenelse{\equal{\@anim@getkeyval{a#1.poster}}{#2}}{}{%
\ocgbase@add@to@off@list{\@anim@curocg}%
}%
@@ -1725,6 +1736,10 @@
%build timeline from optional timeline file
\@anim@sanitizeJS%
\if@anim@timeline\@anim@buildtmln{\the\@anim@num}\fi%
+ % if last frame used as poster, write frame num to aux file
+ \ifnum\@anim@poster=\@anim@mone%
+ \@anim@keytoaux{a\the\@anim@num.poster}{\@anim@maxframe}%
+ \fi%
%insert animation widget & controls
\@anim@insertwidgets{\the\@anim@num}{%
\@anim@getkeyval{btncol:\@anim@bgcolour:\@anim@fgcolour}}%
@@ -1985,8 +2000,6 @@
\fi%
}
-\newboolean{@anim@inside} % for checking whether we are inside the
-\setboolean{@anim@inside}{false} % `animateinline' environment
\newboolean{@anim@pauseframes} % true if \newframe* is being used
\newboolean{@anim@chfps} % true if \newframe or \newframe* is being used
% with optional `new frame rate' argument
@@ -2000,7 +2013,6 @@
\newenvironment{animateinline}[2][]{%
\@anim@endsanitize%
\leavevmode%
- \setboolean{@anim@inside}{true}%
\@anim@reset% to default settings
\begingroup%
% make use of graphic[xs] search path
@@ -2037,6 +2049,8 @@
\fi%
\fi%
\ifdefined\NoHyper\NoHyper\fi% silently suppress any hyperref specials
+ \let\newframe\@anim@@newframe%
+ \let\multiframe\@anim@multiframe%
\@anim@beginframe%
\ignorespaces%
}{%
@@ -2056,24 +2070,21 @@
\@anim@insertwidgets{\the\@anim@num}{%
\@anim@getkeyval{btncol:\@anim@bgcolour:\@anim@fgcolour}}%
\@anim@endsanitize%
+ % if last frame used as poster, write frame num to aux file
+ \ifnum\@anim@poster=\@anim@mone%
+ \@anim@keytoaux{a\the\@anim@num.poster}{\@anim@maxframe}%
+ \fi%
\fi%
\endgroup%
\global\advance\@anim@num by \@ne%
- \setboolean{@anim@inside}{false}%
}
\let\@anim@animateinline\animateinline
\def\animateinline{\@anim@sanitizeColon\@anim@animateinline}
%usercommand for use within `animateinline' environment;
%terminates the current frame and starts a new one
-\def\newframe{%
+\def\@anim@@newframe{% aliased to \newframe inside `animateinline'
\unskip%
- \if@anim@inside\else%
- \PackageError{animate}{%
- \protect\newframe\space cannot be used outside `animateinline'%
- \MessageBreak environment%
- }{}%
- \fi%
\@anim@endframe{\the\@anim@num}{\the\@anim@curframe@zb}%
\@ifstar\@anim@newframestar\@anim@newframe%
}
@@ -2195,14 +2206,10 @@
\newcount\@anim@mulframecnt %takes current loop No. of \multiframe
\newboolean{@anim@insidemulti} % for checking whether we are inside \multiframe
\setboolean{@anim@insidemulti}{false}
-\newcommand{\multiframe}[3]{% #1: #repetitions, #2: vars, #3: frame content
+\newcommand{\@anim@multiframe}[3]{%
+ % aliased to \multiframe inside `animateinline'
+ % #1: #repetitions, #2: vars, #3: frame content
\unskip%
- \if@anim@inside\else%
- \PackageError{animate}{%
- \protect\multiframe\space cannot be used outside `animateinline'%
- \MessageBreak environment%
- }{}%
- \fi%
\if@anim@insidemulti%
\PackageError{animate}{\protect\multiframe\space cannot be nested}{}%
\fi%
@@ -2223,7 +2230,7 @@
\expandafter\@anim@parsevars\@anim@vardecls,\@nil%
\whiledo{\@anim@mulframecnt<#1}{%
\ifnum\@anim@mulframecnt>\z@%
- \newframe%
+ \@anim@@newframe%
\@anim@updatevars% update variables
\fi%
\global\advance\@anim@mulframecnt by \@ne%