blob: aca706b459f7dd3baf19cfd770e441aef1f2a97d (
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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% This file is a copy of some part of PGF/Tikz.
%%% It has been copied here to provide :
%%% - compatibility with older PGF versions
%%% - availability of PGF contributions by Christian Feuersaenger
%%% which are necessary or helpful for pgfplots.
%%%
%%% For reasons of simplicity, I have copied the whole file, including own contributions AND
%%% PGF parts. The copyrights are as they appear in PGF.
%%%
%%% Note that pgfplots has compatible licenses.
%%%
%%% This copy has been modified in the following ways:
%%% - nested \input commands have been updated
%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%% Date of this copy: Fr 17. Aug 20:12:53 CEST 2012 %%%
% Copyright 2008 by Christian Feuersaenger
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file doc/generic/pgf/licenses/LICENSE for more details.
%
%
% This file provides a high-level automatic export feature for tikz pictures.
% It allows to export EACH SINGLE FIGURE into a separate PDF.
%
% The simplest way is to use
%
% \tikzexternalize{myarticle}
%
% it simply converts every figure using the write18 method. If that is not possible,
% you need to reconfigure \tikzexternalize: it can generate a list of figure file names
% and you need to generate these figures manually (or with a script).
%
% It replaces \tikzpicture/ \endtikzpicture and \tikz and invokes \beginpgfgraphicnamed ... \endpgfgraphicnamed
% commands if necessary.
% source generic implementation:
\input pgfplotsoldpgfsupp_tikzexternalshared.code.tex
\def\tikzexternal@TEXDIALECT@begpicture{\begin{tikzpicture}}
\def\tikzexternal@TEXDIALECT@endpicture{\end{tikzpicture}}%
% this latex specific this assumes it starts at the beginning of an
% environment. The environment is named
% '\tikzexternal@laTeX@collect@until@end@tikzpicturetikzpicturestring'.
%
% Everything up to \end{<name>} will be collected and passed as
% argument to the macro '#1'.
%
% This does also work if <name> is NOT tikzpicture!
\def\tikzexternal@TEXDIALECT@collectpicture#1{%
\begingroup
\t@tikzexternal@tmpa={}%
\tikzexternal@laTeX@collect@until@end@tikzpicture{#1}%
}
% Loop until we find '\end{tikzpicture}'. We have to make sure that
% even strings like '#1' are allowed inside of the collected argument.
\long\def\tikzexternal@laTeX@collect@until@end@tikzpicture#1#2\end#3{%
\def\tikzexternal@laTeX@collect@until@end@tikzpicture@{#3}%
\ifx\tikzexternal@laTeX@collect@until@end@tikzpicture@\tikzexternal@laTeX@collect@until@end@tikzpicturetikzpicturestring
\t@tikzexternal@tmpa=\expandafter{\the\t@tikzexternal@tmpa #2}%
\edef\tikzexternal@TEXDIALECT@collectpicture@next{%
\noexpand\endgroup
\noexpand#1{\the\t@tikzexternal@tmpa}%
}%
\else
\t@tikzexternal@tmpa=\expandafter{\the\t@tikzexternal@tmpa #2\end{#3}}%
\def\tikzexternal@TEXDIALECT@collectpicture@next{%
\tikzexternal@laTeX@collect@until@end@tikzpicture{#1}}%
\fi
\tikzexternal@TEXDIALECT@collectpicture@next
}%
\def\tikzexternal@laTeX@collect@until@end@tikzpicturetikzpicturestring{tikzpicture}%
\AtBeginDocument{%
\pgfutil@ifundefined{tikzexternalrealjob}{%
\global\let\tikzexternalrealjob=\jobname
}{}%
}%
|