summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/tex/latex/memoize/memoize-beamer.code.tex
blob: 3b9cb40a1284d3f634e91489824633cb1267cf3f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
%%
%% This is file `memoize-beamer.code.tex',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% memoize.dtx  (with options: `beamer')
%% 
%% This file is a part of Memoize, a TeX package for externalization of
%% graphics and memoization of compilation results in general, available at
%% https://ctan.org/pkg/memoize and https://github.com/sasozivanovic/memoize.
%%
%% Copyright (c) 2020- Saso Zivanovic <saso.zivanovic@guest.arnes.si>
%%                     (Sa\v{s}o \v{Z}ivanovi\'{c})
%%
%% This work may be distributed and/or modified 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 2008 or later.
%%
%% This work has the LPPL maintenance status `maintained'.
%% The Current Maintainer of this work is Saso Zivanovic.
%%
%% The files belonging to this work and covered by LPPL are listed in
%% (<texmf>/doc/generic/memoize/)FILES.
\mmzset{
  per overlay/.code={},
  beamer mode to prefix/.style={
    prefix=\mmz@prefix@dir\mmz@prefix@name\beamer@currentmode_mode.
  },
}%
\@ifclassloaded{beamer}{%
  \mmzset{
    per overlay/.style={
      /mmz/context={%
        overlay=\csname beamer@overlaynumber\endcsname,
        pauses=\ifmemoizing
                 \mmzBeamerPauses
               \else
                 \expandafter\the\csname c@beamerpauses\endcsname
               \fi
      },
      /mmz/at begin memoization={%
        \xdef\mmzBeamerPauses{\the\c@beamerpauses}%
        \xtoksapp\mmzCMemo{%
          \noexpand\mmzSetBeamerOverlays{\mmzBeamerPauses}{\beamer@overlaynumber}}%
        \gtoksapp\mmzCCMemo{%
          \only<all:\mmzBeamerOverlays>{}}%
      },
      /mmz/at end memoization={%
        \xtoksapp\mmzCCMemo{%
          \noexpand\setcounter{beamerpauses}{\the\c@beamerpauses}}%
      },
      /mmz/per overlay/.code={},
    },
  }
  \def\mmzSetBeamerOverlays#1#2{%
    \ifnum\c@beamerpauses=#1\relax
      \gdef\mmzBeamerOverlays{#2}%
      \ifnum\beamer@overlaynumber<#2\relax \mmz@temptrue \else \mmz@tempfalse \fi
    \else
      \mmz@temptrue
    \fi
    \ifmmz@temp
      \appto\mmzAtBeginMemoization{%
        \gtoksapp\mmzCMemo{\mmzSetBeamerOverlays{#1}{#2}}}%
    \fi
  }%
}%
\endinput
%%
%% End of file `memoize-beamer.code.tex'.