From 9da8ac113f97e68e91e3a1ef26467f9814eb4312 Mon Sep 17 00:00:00 2001
From: Karl Berry <karl@freefriends.org>
Date: Mon, 8 Apr 2019 17:23:59 +0000
Subject: pgf revert to previous release (r49607, committed 5jan19)

git-svn-id: svn://tug.org/texlive/trunk@50867 c570f23f-e606-0410-a88d-b1316a301751
---
 .../tikz/libraries/tikzexternalshared.code.tex     | 2139 ++++++++++----------
 1 file changed, 1070 insertions(+), 1069 deletions(-)

(limited to 'Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex')

diff --git a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
index d35c7eee765..645191dbabf 100644
--- a/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
+++ b/Master/texmf-dist/tex/generic/pgf/frontendlayer/tikz/libraries/tikzexternalshared.code.tex
@@ -12,7 +12,7 @@
 %   tikzlibraryexternal.code.tex
 % ******************************
 %
-%
+% 
 % This file provides a high-level automatic export feature for tikz pictures.
 % It allows to export EACH SINGLE FIGURE into a separate PDF.
 %
@@ -61,17 +61,17 @@
 %
 % This command must be called *after* \tikzexternalize.
 \def\tikzifexternalizing#1#2{%
-    \ifpgf@external@grabshipout #1\else #2\fi
+	\ifpgf@external@grabshipout #1\else #2\fi
 }%
 % Invokes '#1' if the external lib is currently externalizing the NEXT FOLLOWING
 % tikzpicture. It invokes '#2' if that is not the case.
 \def\tikzifexternalizingnext#1#2{%
-    \ifpgf@external@grabshipout
-        \tikzexternalgetnextfilename\tikzexternal@temp
-        \tikzifexternaljobnamematches\tikzexternal@temp{#1}{#2}%
-    \else
-        #2%
-    \fi
+	\ifpgf@external@grabshipout 
+		\tikzexternalgetnextfilename\tikzexternal@temp
+		\tikzifexternaljobnamematches\tikzexternal@temp{#1}{#2}%
+	\else 
+		#2%
+	\fi
 }%
 % Invokes '#1' if the external lib is currently externalizing the
 % current picture. It invokes '#2' if that is not the case.
@@ -79,243 +79,243 @@
 % If the command is invoked outside of a picture, '#2' will be
 % invoked.
 \def\tikzifexternalizingcurrent#1#2{%
-    \ifpgf@external@grabshipout
-        \tikzexternalgetcurrentfilename\tikzexternal@temp
-        \ifx\tikzexternal@temp\pgfutil@empty
-            #2%
-        \else
-            \tikzifexternaljobnamematches\tikzexternal@temp{#1}{#2}%
-        \fi
-    \else
-        #2%
-    \fi
+	\ifpgf@external@grabshipout 
+		\tikzexternalgetcurrentfilename\tikzexternal@temp
+		\ifx\tikzexternal@temp\pgfutil@empty
+			#2%
+		\else
+			\tikzifexternaljobnamematches\tikzexternal@temp{#1}{#2}%
+		\fi
+	\else 
+		#2%
+	\fi
 }%
 
 % Invokes '#2' if \jobname equals '#1' and '#3' if not.
 % I suppose that '#1' is a macro containing the file name.
 %
 \def\tikzifexternaljobnamematches#1#2#3{%
-    \edef\pgf@tempa{\expandafter\string\csname#1\endcsname}%
-    \edef\pgf@tempb{\expandafter\string\csname\pgfactualjobname\endcsname}%
-    \ifx\pgf@tempa\pgf@tempb #2\else#3 \fi%
+	\edef\pgf@tempa{\expandafter\string\csname#1\endcsname}%
+	\edef\pgf@tempb{\expandafter\string\csname\pgfactualjobname\endcsname}%
+	\ifx\pgf@tempa\pgf@tempb #2\else#3 \fi%
 }%
 
 
 \pgfutil@IfUndefined{pdfshellescape}{%
-    % let's hope that \usepackage{pdftexcmds} has been used...
-    \pgfutil@IfUndefined{pdf@shellescape}{%
-        \def\tikzexternalcheckshellescape{0}%
-    }{%
-        \let\tikzexternalcheckshellescape=\pdf@shellescape
-    }%
+	% let's hope that \usepackage{pdftexcmds} has been used...
+	\pgfutil@IfUndefined{pdf@shellescape}{%
+		\def\tikzexternalcheckshellescape{0}%
+	}{%
+		\let\tikzexternalcheckshellescape=\pdf@shellescape
+	}%
 }{%
-    \let\tikzexternalcheckshellescape=\pdfshellescape
+	\let\tikzexternalcheckshellescape=\pdfshellescape
 }%
 \ifnum\tikzexternalcheckshellescape=1
-    \def\tikzexternalcheckshellescape{\pgfkeysvalueof{/tikz/external/shell escape}\space}%
+	\def\tikzexternalcheckshellescape{\pgfkeysvalueof{/tikz/external/shell escape}\space}%
 \else
-    \def\tikzexternalcheckshellescape{}%
+	\def\tikzexternalcheckshellescape{}%
 \fi
 
 \newif\iftikzexternal@auto@detect@jobname
 
 \pgfqkeys{/tikz/external}{
-    figure list/.is if=tikzexternal@genfigurelist,
-    aux in dpth/.style={/pgf/images/aux in dpth=#1},%
-    disable dependency files/.code={%
-        \let\tikzexternalfiledependsonfile@ACTIVE=\tikzexternalfiledependsonfile
-    },
-    % 'mode' applies only if \jobname==real job name.
-    mode/.is choice,
-    mode/only graphics/.code   = {%
-        \def\tikzexternal@opmode{0}%
-        \pgfkeysalso{/pgf/images/aux in dpth=true}%
-    },
-    mode/no graphics/.code     = {\def\tikzexternal@opmode{1}},
-    % an alias for 'no graphics:'
-    mode/only pictures/.code   = {\def\tikzexternal@opmode{1}},
-    mode/graphics if exists/.code= {%
-        \def\tikzexternal@opmode{2}%
-        \pgfkeysalso{/pgf/images/aux in dpth=true}%
-    },
-    mode/list only/.code       = {\def\tikzexternal@opmode{3}\tikzexternal@genfigurelisttrue},
-    mode/convert with system call/.code={%
-        \def\tikzexternal@opmode{4}%
-        \pgfkeysalso{/tikz/external/figure list=false,/pgf/images/aux in dpth=true}%
-    },
-    mode/list and make/.code   = {%
-        \def\tikzexternal@opmode{5}%
-        \pgfkeysalso{/tikz/external/figure list=true,/pgf/images/aux in dpth=true}%
-    },
-    mode=convert with system call,
-    force remake/.is if=tikzexternal@force@remake,
-    force remake/.default=true,
-    %
-    % DEPRECATED: this here will work out-of-the box (provided that
-    % 'aux in dpth' is active):
-    failed ref warnings for/.initial={\ref,\cite,\pageref},
-    export next/.is if=tikzexternalexportnext,
-    export/.is if=tikzexternal@export@enabled,
-    remake next/.is if=tikzexternalremakenext,
-    remake next/.default=true,
-    verbose IO/.is if=tikzexternal@verboseio,
-    verbose IO/.default=true,
-    verbose IO=true,
-    verbose optimize/.is if=tikzexternal@verbose@optimize,
-    verbose up to date/.is if=tikzexternal@verboseuptodate,
-    verbose/.style={
-        verbose IO=#1,
-        verbose optimize=#1,
-        verbose up to date=#1,
-    },
-    shell escape/.initial=-shell-escape,
-    read main aux/.is if=pgfexternalreadmainaux,
-    image discarded text/.initial={%
-        [[ \textsc{Image Discarded Due To} \texttt{`/tikz/external/%
-                \ifcase\tikzexternal@opmode\relax
-                    mode=only graphics%
-                \or
-                    mode=no graphics%
-                \or
-                    mode=graphics if exists%
-                \or
-                    mode=list only%
-                \or
-                    mode=convert with system call%
-                \or
-                    mode=list and make%
-                \fi
-        '}~]]%
-        \pgfutil@ifundefined{tikzexternal@warning@at@end}{%
-            \pgfutil@ifundefined{AtEndDocument}{}{%
-                \AtEndDocument{%
-                    \message{! Package tikz Warning: Some images are not up-to-date and need to be generated. }%
-                }%
-            }%
-            \gdef\tikzexternal@warning@at@end{1}%
-        }{}%
-    },
-    optimize/.is choice,
-    optimize/true/.code={%
-        \tikzexternal@optimizetrue
-        \iftikzexternal@optimize
-            \ifpgf@external@grabshipout
-                % we have already started the externalization! Install
-                % optimization commands to activate the new one:
-                \tikzexternal@optimize@REPLACE
-            \fi
-        \fi
-    },
-    optimize/false/.code={%
-        \tikzexternal@optimizefalse%
-        \tikzexternal@optimize@RESTORE
-    },%
-    optimize=true,
-    optimize away text/.code={[ \textsc{\string#1\ optimized away because it does not contribute to exported PDF}]},
-    optimize/install/.code={},%
-    optimize/restore/.code={},%
-    % Expects two arguments, the command name and (optionally) a count
-    % of expected arguments.
-    % Example:
-    %   'optimize command away=\includegraphics'
-    %   'optimize command away={\mycommand}{3}'
-    %
-    % It accepts commands which have '[]' arguments and whose first
-    % argument always begins with '{'.
-    %
-    % #1: the command name
-    % #2: either empty or a number of EXPECTED arguments. It will be checked
-    % for one optional argument in square brackets as well.
-    optimize command away/.code 2 args={%
-        \expandafter\global\expandafter\let\csname\string#1@ORIG\endcsname=#1%
-        \pgfkeysalso{%
-            /tikz/external/optimize/install/.append code={%
-                \def#1{\tikzexternal@optimize@away@cmd{#1}{#2}}%
-            },
-            /tikz/external/optimize/restore/.append code={%
-                \expandafter\let\expandafter#1\csname\string#1@ORIG\endcsname
-            }
-        }%
-        \iftikzexternal@optimize
-            \ifpgf@external@grabshipout
-                % we have already started the externalization! Install
-                % optimization commands to activate the new one:
-                \tikzexternal@optimize@REPLACE
-            \fi
-        \fi
-    },
-    optimize command away=\includegraphics,
-    optimize command away=\pgfincludeexternalgraphics,
-    % EXPERIMENTAL (UNTESTED):
-    optimize latex env away/.code={%
-        \expandafter\let\expandafter\pgf@tempa\csname #1\endcsname
-        \expandafter\global\expandafter\let\csname #1@ORIG\endcsname=\pgf@tempa%
-        \pgfkeysalso{%
-            /tikz/external/optimize/install/.append code={%
-                \pgfutil@namedef{#1}{\tikzexternal@optimize@away@latex@env{#1}}%
-            },
-            /tikz/external/optimize/restore/.append code={%
-                \pgfutil@namelet{#1}{#1@ORIG}%
-            }%
-        }%
-    },
-    only named/.is if=tikzexternal@onlynamed,
-    only named/.default=true,
-    figure name/.initial=\tikzexternal@realjob-figure,
-    reset counter/.code={%
-        \expandafter\gdef\csname c@tikzext@no@#1\endcsname{0}%
-    },%
-    prefix/.code={\tikzsetexternalprefix{#1}},
-    up to date check/.is choice,
-    up to date check/simple/.code={\def\tikzexternal@uptodate@mode{0}},
-    % md5 relies on \pdfmdfivesum of pdftex. It uses 'diff' as fallback if we do not have that command.
-    up to date check/md5/.code={\def\tikzexternal@uptodate@mode{1}},
-    up to date check/diff/.code={\def\tikzexternal@uptodate@mode{2}},
-    up to date check=md5,
+	figure list/.is if=tikzexternal@genfigurelist,
+	aux in dpth/.style={/pgf/images/aux in dpth=#1},%
+	disable dependency files/.code={%
+		\let\tikzexternalfiledependsonfile@ACTIVE=\tikzexternalfiledependsonfile
+	},
+	% 'mode' applies only if \jobname==real job name.
+	mode/.is choice,
+	mode/only graphics/.code	= {%
+		\def\tikzexternal@opmode{0}%
+		\pgfkeysalso{/pgf/images/aux in dpth=true}%
+	},
+	mode/no graphics/.code		= {\def\tikzexternal@opmode{1}},
+	% an alias for 'no graphics:'
+	mode/only pictures/.code	= {\def\tikzexternal@opmode{1}},
+	mode/graphics if exists/.code= {%
+		\def\tikzexternal@opmode{2}%
+		\pgfkeysalso{/pgf/images/aux in dpth=true}%
+	},
+	mode/list only/.code		= {\def\tikzexternal@opmode{3}\tikzexternal@genfigurelisttrue},
+	mode/convert with system call/.code={%
+		\def\tikzexternal@opmode{4}%
+		\pgfkeysalso{/tikz/external/figure list=false,/pgf/images/aux in dpth=true}%
+	},
+	mode/list and make/.code	= {%
+		\def\tikzexternal@opmode{5}%
+		\pgfkeysalso{/tikz/external/figure list=true,/pgf/images/aux in dpth=true}%
+	},
+	mode=convert with system call,
+	force remake/.is if=tikzexternal@force@remake,
+	force remake/.default=true,
+	%
+	% DEPRECATED: this here will work out-of-the box (provided that
+	% 'aux in dpth' is active):
+	failed ref warnings for/.initial={\ref,\cite,\pageref},
+	export next/.is if=tikzexternalexportnext,
+	export/.is if=tikzexternal@export@enabled,
+	remake next/.is if=tikzexternalremakenext,
+	remake next/.default=true,
+	verbose IO/.is if=tikzexternal@verboseio,
+	verbose IO/.default=true,
+	verbose IO=true,
+	verbose optimize/.is if=tikzexternal@verbose@optimize,
+	verbose up to date/.is if=tikzexternal@verboseuptodate,
+	verbose/.style={
+		verbose IO=#1,
+		verbose optimize=#1,
+		verbose up to date=#1,
+	},
+	shell escape/.initial=-shell-escape,
+	read main aux/.is if=pgfexternalreadmainaux,
+	image discarded text/.initial={%
+		[[ \textsc{Image Discarded Due To} \texttt{`/tikz/external/%
+				\ifcase\tikzexternal@opmode\relax
+					mode=only graphics%
+				\or
+					mode=no graphics%
+				\or
+					mode=graphics if exists%
+				\or
+					mode=list only%
+				\or
+					mode=convert with system call%
+				\or
+					mode=list and make%
+				\fi
+		'}~]]%
+		\pgfutil@ifundefined{tikzexternal@warning@at@end}{%
+			\pgfutil@ifundefined{AtEndDocument}{}{%
+				\AtEndDocument{%
+					\message{! Package tikz Warning: Some images are not up-to-date and need to be generated. }%
+				}%
+			}%
+			\gdef\tikzexternal@warning@at@end{1}%
+		}{}%
+	},
+	optimize/.is choice,
+	optimize/true/.code={%
+		\tikzexternal@optimizetrue
+		\iftikzexternal@optimize
+			\ifpgf@external@grabshipout
+				% we have already started the externalization! Install
+				% optimization commands to activate the new one:
+				\tikzexternal@optimize@REPLACE
+			\fi
+		\fi
+	},
+	optimize/false/.code={%
+		\tikzexternal@optimizefalse%
+		\tikzexternal@optimize@RESTORE
+	},%
+	optimize=true,
+	optimize away text/.code={[ \textsc{\string#1\ optimized away because it does not contribute to exported PDF}]},
+	optimize/install/.code={},%
+	optimize/restore/.code={},%
+	% Expects two arguments, the command name and (optionally) a count
+	% of expected arguments.
+	% Example: 
+	% 	'optimize command away=\includegraphics'
+	% 	'optimize command away={\mycommand}{3}'
+	%
+	% It accepts commands which have '[]' arguments and whose first
+	% argument always begins with '{'.
+	%
+	% #1: the command name
+	% #2: either empty or a number of EXPECTED arguments. It will be checked
+	% for one optional argument in square brackets as well.
+	optimize command away/.code 2 args={%
+		\expandafter\global\expandafter\let\csname\string#1@ORIG\endcsname=#1%
+		\pgfkeysalso{%
+			/tikz/external/optimize/install/.append code={%
+				\def#1{\tikzexternal@optimize@away@cmd{#1}{#2}}%
+			},
+			/tikz/external/optimize/restore/.append code={%
+				\expandafter\let\expandafter#1\csname\string#1@ORIG\endcsname
+			}
+		}%
+		\iftikzexternal@optimize
+			\ifpgf@external@grabshipout
+				% we have already started the externalization! Install
+				% optimization commands to activate the new one:
+				\tikzexternal@optimize@REPLACE
+			\fi
+		\fi
+	},
+	optimize command away=\includegraphics,
+	optimize command away=\pgfincludeexternalgraphics,
+	% EXPERIMENTAL (UNTESTED):
+	optimize latex env away/.code={%
+		\expandafter\let\expandafter\pgf@tempa\csname #1\endcsname
+		\expandafter\global\expandafter\let\csname #1@ORIG\endcsname=\pgf@tempa%
+		\pgfkeysalso{%
+			/tikz/external/optimize/install/.append code={%
+				\pgfutil@namedef{#1}{\tikzexternal@optimize@away@latex@env{#1}}%
+			},
+			/tikz/external/optimize/restore/.append code={%
+				\pgfutil@namelet{#1}{#1@ORIG}%
+			}%
+		}%
+	},
+	only named/.is if=tikzexternal@onlynamed,
+	only named/.default=true,
+	figure name/.initial=\tikzexternal@realjob-figure,
+	reset counter/.code={%
+		\expandafter\gdef\csname c@tikzext@no@#1\endcsname{0}%
+	},%
+	prefix/.code={\tikzsetexternalprefix{#1}},
+	up to date check/.is choice,
+	up to date check/simple/.code={\def\tikzexternal@uptodate@mode{0}},
+	% md5 relies on \pdfmdfivesum of pdftex. It uses 'diff' as fallback if we do not have that command.
+	up to date check/md5/.code={\def\tikzexternal@uptodate@mode{1}},
+	up to date check/diff/.code={\def\tikzexternal@uptodate@mode{2}},
+	up to date check=md5,
 }
 
 \expandafter\def\csname tikzexternal@driver@pgfsys-luatex.def\endcsname{%
-    \pgfkeyssetvalue{/tikz/external/system call}{%
-        lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
-    }%
+	\pgfkeyssetvalue{/tikz/external/system call}{%
+		lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
+	}%
 }%
 \expandafter\def\csname tikzexternal@driver@pgfsys-pdftex.def\endcsname{%
-    \pgfutil@IfUndefined{directlua}{%
-        \pgfkeyssetvalue{/tikz/external/system call}{%
-            pdflatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
-        }%
-    }{%
-        \pgfkeyssetvalue{/tikz/external/system call}{%
-            lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
-        }%
-    }%
+	\pgfutil@IfUndefined{directlua}{%
+		\pgfkeyssetvalue{/tikz/external/system call}{%
+			pdflatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
+		}%
+	}{%
+		\pgfkeyssetvalue{/tikz/external/system call}{%
+			lualatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
+		}%
+	}%
 }%
 %--------------------------------------------------
 % \expandafter\def\csname tikzexternal@driver@pgfsys-dvipdfm.def\endcsname{%
-%     \pgfkeyssetvalue{/tikz/external/system call}{%
-%         latex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
-%         && dvipdfm "\image".dvi %
-%     }%
+% 	\pgfkeyssetvalue{/tikz/external/system call}{%
+% 		latex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
+% 		&& dvipdfm "\image".dvi %
+% 	}%
 % }%
-%--------------------------------------------------
+%-------------------------------------------------- 
 \expandafter\def\csname tikzexternal@driver@pgfsys-xetex.def\endcsname{%
-    \pgfkeyssetvalue{/tikz/external/system call}{%
-        xelatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
-    }%
+	\pgfkeyssetvalue{/tikz/external/system call}{%
+		xelatex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource"%
+	}%
 }%
 \expandafter\def\csname tikzexternal@driver@pgfsys-dvips.def\endcsname{%
-    \pgfkeyssetvalue{/tikz/external/system call}{%
-        latex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource" %
-        && dvips -o "\image".ps "\image".dvi %
-    }%
+	\pgfkeyssetvalue{/tikz/external/system call}{%
+		latex \tikzexternalcheckshellescape -halt-on-error -interaction=batchmode -jobname "\image" "\texsource" %
+		&& dvips -o "\image".ps "\image".dvi %
+	}%
 }%
 
 % Auto-select a suitable default value fo 'system call':
 \pgfutil@ifundefined{tikzexternal@driver@\pgfsysdriver}{%
-    % fallback. We do not know the driver here.
-    \csname tikzexternal@driver@pgfsys-pdftex.def\endcsname
+	% fallback. We do not know the driver here.
+	\csname tikzexternal@driver@pgfsys-pdftex.def\endcsname
 }{%
-    \csname tikzexternal@driver@\pgfsysdriver\endcsname
+	\csname tikzexternal@driver@\pgfsysdriver\endcsname
 }%
 
 
@@ -329,7 +329,7 @@
 \tikzsetexternalprefix{}
 
 % This method initialises automatic externalization.
-%
+% 
 % The command does need any argument, but it has two optional ones:
 %
 % 1. \tikzexternalize[<options>]
@@ -348,67 +348,67 @@
 % 2. in case that the job's real name and the current \jobname differ,
 % it will process ONLY the matching tikzpicture.
 \def\tikzexternalize{%
-    \pgfutil@ifnextchar[{%
-        \tikzexternalize@opt
-    }{%
-        \tikzexternalize@opt[]%
-    }%
+	\pgfutil@ifnextchar[{%
+		\tikzexternalize@opt
+	}{%
+		\tikzexternalize@opt[]%
+	}%
 }%
 \def\tikzexternalize@opt[#1]{%
-    \pgfutil@ifnextchar\bgroup{%
-        \tikzexternal@auto@detect@jobnamefalse
-        \tikzexternalize@opt@withname[#1]%
-    }{%
-        \tikzexternal@auto@detect@jobnametrue
-        \pgfutil@ifundefined{tikzexternalrealjob}{%
-            % ok, \tikzexternalrealjob is not known.
-            % Assume we are currently *not* externalizing.
-            \let\tikzexternalrealjob=\jobname
-        }{}%
-        \def\pgf@tempa{\tikzexternalize@opt@withname[#1]}%
-        \expandafter\pgf@tempa\expandafter{\tikzexternalrealjob}%
-    }%
+	\pgfutil@ifnextchar\bgroup{%
+		\tikzexternal@auto@detect@jobnamefalse
+		\tikzexternalize@opt@withname[#1]%
+	}{%
+		\tikzexternal@auto@detect@jobnametrue
+		\pgfutil@ifundefined{tikzexternalrealjob}{%
+			% ok, \tikzexternalrealjob is not known. 
+			% Assume we are currently *not* externalizing.
+			\let\tikzexternalrealjob=\jobname
+		}{}%
+		\def\pgf@tempa{\tikzexternalize@opt@withname[#1]}%
+		\expandafter\pgf@tempa\expandafter{\tikzexternalrealjob}%
+	}%
 }%
 \def\tikzexternalize@opt@withname[#1]#2{%
-    \gdef\tikzexternalrealjob{#2}%
-    \if1\tikzexternalize@hasbeencalled
-    \else
-        \pgfqkeys{/tikz/external}{#1}%
-        \def\tikzexternal@realjob{#2}%
-        \tikzexternalauxlock@init
-        \pgfrealjobname{#2}%
-        \def\tikzexternalize@hasbeencalled{1}%
-        \tikzexternalenable
-        \def\tikzexternal@determineimgextension##1:##2\relax{\gdef\tikzexternalimgextension{##1}}%
-        \xdef\pgf@tempa{\pgfsys@imagesuffixlist}%
-        \expandafter\tikzexternal@determineimgextension\pgf@tempa:\relax
-        \pgfutil@ifundefined{includegraphics}{%
-            \let\tikzexternal@orig@includegraphics=\relax
-        }{%
-            \let\tikzexternal@orig@includegraphics=\includegraphics
-        }%
-        \let\tikzexternalfiledependsonfile=\tikzexternalfiledependsonfile@ACTIVE
-        \let\tikzpicturedependsonfile=\tikzpicturedependsonfile@ACTIVE
-    \fi
+	\gdef\tikzexternalrealjob{#2}%
+	\if1\tikzexternalize@hasbeencalled
+	\else
+		\pgfqkeys{/tikz/external}{#1}%
+		\def\tikzexternal@realjob{#2}%
+		\tikzexternalauxlock@init
+		\pgfrealjobname{#2}%
+		\def\tikzexternalize@hasbeencalled{1}%
+		\tikzexternalenable
+		\def\tikzexternal@determineimgextension##1:##2\relax{\gdef\tikzexternalimgextension{##1}}%
+		\xdef\pgf@tempa{\pgfsys@imagesuffixlist}%
+		\expandafter\tikzexternal@determineimgextension\pgf@tempa:\relax
+		\pgfutil@ifundefined{includegraphics}{%
+			\let\tikzexternal@orig@includegraphics=\relax
+		}{%
+			\let\tikzexternal@orig@includegraphics=\includegraphics
+		}%
+		\let\tikzexternalfiledependsonfile=\tikzexternalfiledependsonfile@ACTIVE
+		\let\tikzpicturedependsonfile=\tikzpicturedependsonfile@ACTIVE
+	\fi
 }
 \def\tikzexternalize@hasbeencalled{0}%
 
 \def\tikzifexternalizehasbeencalled#1#2{%
-    \if1\tikzexternalize@hasbeencalled
-        #1%
-    \else
-        #2%
-    \fi
+	\if1\tikzexternalize@hasbeencalled
+		#1%
+	\else
+		#2%
+	\fi
 }%
 
-% If mode=`convert with system call', the boolean \ifpgfexternalreadmainaux
+% If mode=`convert with system call', the boolean \ifpgfexternalreadmainaux 
 % will be set depending on the current lock file.
 %
 % The idea is as follows: Suppose
-% pdflatex -shell-escape mainjob.tex
+% pdflatex -shell-escape mainjob.tex 
 % is running.
-%
-% While it runs,
+% 
+% While it runs, 
 % a) it modifies its mainjob.aux file,
 % b) it issues pdflatex -jobname mainjob-figure0 mainjob.tex .
 %
@@ -418,7 +418,7 @@
 % avoid such failure, a locking mechanism is established.
 %
 % The locking mechanisms causes (a) to write a lock command into
-% mainjob.auxlock
+% mainjob.auxlock 
 % just before (b) is called. Then, (b) will check it. After (b) has
 % completed, the lock will be reset.
 %
@@ -437,66 +437,66 @@
 % anything. Otherwise, it will be changed depending for 'mode=convert
 % with system call' if necessary.
 \def\tikzexternalauxlock@init{%
-    \if4\tikzexternal@opmode
-        % mode=convert with system call
-        \ifpgfexternalreadmainaux
-            % ohoh. This case needs care because the main.aux might
-            % not be ready at this time!
-            % check.
-            %
-            \edef\pgf@tempa{\expandafter\string\csname\tikzexternal@realjob\endcsname}%
-            \edef\pgf@tempb{\expandafter\string\csname\jobname\endcsname}%
-            \ifx\pgf@tempa\pgf@tempb
-                % we are *not* externalizing. Set lock into its
-                % initial "unlocked" state.
-                \tikzexternalauxlock@setlock{0}%
-            \else
-                % we are externalizing. Query the lock's value:
-                \tikzexternalauxlock@getlockvalue
-                \if1\tikzexternallocked
-                    \pgfexternalreadmainauxfalse
-                    % the main .aux file won't be read right now.
-                \else
-                    \pgfexternalreadmainauxtrue
-                \fi
-            \fi
-        \else
-            % NO-OP. We won't read the main aux file anyway.
-            \def\tikzexternalauxlock@setlock##1{}%
-        \fi
-    \fi
+	\if4\tikzexternal@opmode
+		% mode=convert with system call
+		\ifpgfexternalreadmainaux
+			% ohoh. This case needs care because the main.aux might
+			% not be ready at this time!
+			% check.
+			%
+			\edef\pgf@tempa{\expandafter\string\csname\tikzexternal@realjob\endcsname}%
+			\edef\pgf@tempb{\expandafter\string\csname\jobname\endcsname}%
+			\ifx\pgf@tempa\pgf@tempb
+				% we are *not* externalizing. Set lock into its
+				% initial "unlocked" state.
+				\tikzexternalauxlock@setlock{0}%
+			\else
+				% we are externalizing. Query the lock's value:
+				\tikzexternalauxlock@getlockvalue
+				\if1\tikzexternallocked
+					\pgfexternalreadmainauxfalse
+					% the main .aux file won't be read right now.
+				\else
+					\pgfexternalreadmainauxtrue
+				\fi
+			\fi
+		\else
+			% NO-OP. We won't read the main aux file anyway.
+			\def\tikzexternalauxlock@setlock##1{}%
+		\fi
+	\fi
 }
 % defines \tikzexternallocked to be either 0 or 1, depending on the
 % lock file.
 \def\tikzexternalauxlock@getlockvalue{%
-    \openin\r@pgf@reada=\tikzexternal@realjob.auxlock
-    \ifeof\r@pgf@reada
-        % no lock file. Unlock.
-        \def\tikzexternallocked{0}%
-    \else
-        % read first line...
-        \read\r@pgf@reada to\pgf@tempa
-        % ... and execute it.
-        \pgf@tempa
-        % it should contain a definition of \tikzexternallocked. If
-        % not, lock it anyway.
-        \pgfutil@ifundefined
-            {tikzexternallocked}
-            {\def\tikzexternallocked{1}}%
-            {}%
-    \fi
-    \closein\r@pgf@reada
+	\openin\r@pgf@reada=\tikzexternal@realjob.auxlock
+	\ifeof\r@pgf@reada
+		% no lock file. Unlock.
+		\def\tikzexternallocked{0}%
+	\else
+		% read first line...
+		\read\r@pgf@reada to\pgf@tempa
+		% ... and execute it.
+		\pgf@tempa
+		% it should contain a definition of \tikzexternallocked. If
+		% not, lock it anyway.
+		\pgfutil@ifundefined
+			{tikzexternallocked}
+			{\def\tikzexternallocked{1}}%
+			{}%
+	\fi
+	\closein\r@pgf@reada
 }%
 \def\tikzexternalauxlock@setlock#1{%
-    \immediate\openout\w@pgf@writea=\tikzexternal@realjob.auxlock
-    \immediate\write\w@pgf@writea{\noexpand\def\noexpand\tikzexternallocked{#1}}%
-    \immediate\closeout\w@pgf@writea
+	\immediate\openout\w@pgf@writea=\tikzexternal@realjob.auxlock
+	\immediate\write\w@pgf@writea{\noexpand\def\noexpand\tikzexternallocked{#1}}%
+	\immediate\closeout\w@pgf@writea
 }
 
 
 % this is a hook into pgfcoreexternal.code.tex:
 \def\pgf@external@grab@refundefinedtrue@code{%
-    \gdef\noexpand\tikzexternal@systemcall@reschedule@to@end@document{1}%
+	\gdef\noexpand\tikzexternal@systemcall@reschedule@to@end@document{1}%
 }%
 
 % Expands to the default image extension (it is set by
@@ -510,54 +510,54 @@
 
 % can be used to (temporarily) disable the externalization.
 \def\tikzexternaldisable{%
-    \let\tikz=\tikzexternal@origtikz
-    \tikzexternal@TEXDIALECT@restore@picture
-    \pgfutil@ifundefined{tikzexternal@orig@tikzfadingfrompicture}
-    {}% NOP
-    {%
-        \let\tikzfadingfrompicture=\tikzexternal@orig@tikzfadingfrompicture
-        \let\endtikzfadingfrompicture=\tikzexternal@orig@endtikzfadingfrompicture
-        \let\tikzfading=\tikzexternal@orig@tikzfading
-    }%
-    \iftikzexternal@optimize
-        \ifpgf@external@grabshipout
-            \tikzexternal@optimize@RESTORE
-        \fi
-    \fi
+	\let\tikz=\tikzexternal@origtikz
+	\tikzexternal@TEXDIALECT@restore@picture
+	\pgfutil@ifundefined{tikzexternal@orig@tikzfadingfrompicture}
+	{}% NOP
+	{%
+		\let\tikzfadingfrompicture=\tikzexternal@orig@tikzfadingfrompicture
+		\let\endtikzfadingfrompicture=\tikzexternal@orig@endtikzfadingfrompicture
+		\let\tikzfading=\tikzexternal@orig@tikzfading
+	}%
+	\iftikzexternal@optimize
+		\ifpgf@external@grabshipout
+			\tikzexternal@optimize@RESTORE
+		\fi
+	\fi
 }%
 % re-enables externalization after a \tikzexternalizedisable.
 \def\tikzexternalenable{%
-    \if\tikzexternalize@hasbeencalled1%
-        \let\tikz=\tikzexternal@tikz@replacement
-        \tikzexternal@TEXDIALECT@installreplacement@picture
-        \pgfutil@ifundefined{tikzfadingfrompicture}%
-        {}% no special handling for 'fading lib'
-        {%
-            % oh, ok -- patch fading lib!
-            \pgfutil@ifundefined{tikzexternal@orig@tikzfadingfrompicture}{%
-                \let\tikzexternal@orig@tikzfadingfrompicture=\tikzfadingfrompicture
-                \let\tikzexternal@orig@endtikzfadingfrompicture=\endtikzfadingfrompicture
-                \let\tikzexternal@orig@tikzfading=\tikzfading
-            }{}%
-            \def\tikzfadingfrompicture{%
-                \begingroup
-                \tikzexternaldisable
-                \tikzexternal@orig@tikzfadingfrompicture}%
-            \def\endtikzfadingfrompicture{%
-                \tikzexternal@orig@endtikzfadingfrompicture
-                \endgroup}%
-            \def\tikzfading[##1]{%
-                \begingroup
-                \tikzexternaldisable
-                \tikzexternal@orig@tikzfading[##1]%
-                \endgroup}%
-        }%
-        \iftikzexternal@optimize
-            \ifpgf@external@grabshipout
-                \tikzexternal@optimize@REPLACE
-            \fi
-        \fi
-    \fi
+	\if\tikzexternalize@hasbeencalled1%
+		\let\tikz=\tikzexternal@tikz@replacement
+		\tikzexternal@TEXDIALECT@installreplacement@picture
+		\pgfutil@ifundefined{tikzfadingfrompicture}%
+		{}% no special handling for 'fading lib'
+		{%
+			% oh, ok -- patch fading lib!
+			\pgfutil@ifundefined{tikzexternal@orig@tikzfadingfrompicture}{%
+				\let\tikzexternal@orig@tikzfadingfrompicture=\tikzfadingfrompicture
+				\let\tikzexternal@orig@endtikzfadingfrompicture=\endtikzfadingfrompicture
+				\let\tikzexternal@orig@tikzfading=\tikzfading
+			}{}%
+			\def\tikzfadingfrompicture{%
+				\begingroup
+				\tikzexternaldisable
+				\tikzexternal@orig@tikzfadingfrompicture}%
+			\def\endtikzfadingfrompicture{%
+				\tikzexternal@orig@endtikzfadingfrompicture
+				\endgroup}%
+			\def\tikzfading[##1]{%
+				\begingroup
+				\tikzexternaldisable
+				\tikzexternal@orig@tikzfading[##1]%
+				\endgroup}%
+		}%
+		\iftikzexternal@optimize
+			\ifpgf@external@grabshipout
+				\tikzexternal@optimize@REPLACE
+			\fi
+		\fi
+	\fi
 }%
 
 % Sets the filename for the next tikzpicture or \tikz shortcommand.
@@ -572,34 +572,34 @@
 \tikzsetnextfilename{}
 
 
-% These are few TeX dialect-specific commands which need to be overridden when used with
+% These are few TeX dialect-specific commands which need to be overriden when used with
 % something different than plain TeX:
 %
 % 1. this command collects a complete image into a macro, up to (but not including) the
 %    final TeX-dialect specific end-image command.
 %    This is really difficult for LaTeX because \end{tikzpicture} either involves dirty
 %    catcode-hacks to parse the braces or an ugly loop which loops until it
-%    finds \end followed by {tikzpicture}.
-%
+%	finds \end followed by {tikzpicture}. 
+% 
 % #1: a macro which will be called with the collected environment contents.
 % all following tokens: the environment contents.
 \long\gdef\tikzexternal@TEXDIALECT@collectpicture#1#2\endtikzpicture{#1{#2}}
 %
 % 2. the following commands should expand to the TeX-dialect specific begin and end image command, i.e.
-%    \tikzpicture / \endtikzpicture
-%    or
-%    \begin{tikzpicture} / \end{tikzpicture}
-%    or
-%    \starttikzpicture / \stoptikzpicture
+%	\tikzpicture / \endtikzpicture
+%    or 
+%	\begin{tikzpicture} / \end{tikzpicture}
+%	or
+%	\starttikzpicture / \stoptikzpicture
 \def\tikzexternal@TEXDIALECT@begpicture{\tikzpicture}
 \def\tikzexternal@TEXDIALECT@endpicture{\endtikzpicture}%
 %
 % 3. This installs the replacement macros:
 \def\tikzexternal@TEXDIALECT@installreplacement@picture{%
-    \let\tikzpicture=\tikzexternal@tikzpicture@replacement
+	\let\tikzpicture=\tikzexternal@tikzpicture@replacement
 }%
 \def\tikzexternal@TEXDIALECT@restore@picture{%
-    \let\tikzpicture=\tikzexternal@origpicture
+	\let\tikzpicture=\tikzexternal@origpicture
 }%
 
 
@@ -617,77 +617,77 @@
 % - externalize mode (i.e. jobname != real job name). Then, it will
 %   externalize the picture selected by 'jobname' (and only this picture).
 \def\tikzexternal@tikzpicture@replacement{%
-    \leavevmode
-    \global\tikzexternal@file@isuptodatetrue% may be set to false during checks.
-    \tikzexternal@getnextfilename\tikzexternal@curfilename
-    \ifx\tikzexternal@curfilename\pgfutil@empty
-        \ifpgf@external@grabshipout
-            % This picture won't be externalized.
-            % But maybe we can optimize it away:
-            \iftikzexternal@optimize
-                % -> it won't be shipped out anyway, so save typesetting time!
-                \let\tikzexternal@next=\tikzexternal@skipfigure
-            \else
-                % include this graphics into the output (even if
-                % it will be discarded anyway).
-                \let\tikzexternal@next=\tikzexternal@normalpicture@nographics
-            \fi
-        \else
-            \let\tikzexternal@next=\tikzexternal@normalpicture@nographics
-        \fi
-    \else
-        \ifpgf@external@grabshipout
-            \tikzifexternaljobnamematches\tikzexternal@curfilename{%
-                % ok, this here IS the picture for which
-                % pdflatex --jobname <my name>
-                % has been invoked.
-                \let\tikzexternal@next=\tikzexternal@externalizefig
-            }{%
-                \iftikzexternal@optimize
-                    % No, another picture should be exported. Simply skip this one
-                    % -> it won't be shipped out anyway, so save typesetting time!
-                    \let\tikzexternal@next=\tikzexternal@skipfigure
-                \else
-                    % include this graphics into the output (even it
-                    % it will be discarded anyway).
-                    \let\tikzexternal@next=\tikzexternal@normalpicture@nographics
-                \fi
-            }%
-        \else
-            \ifcase\tikzexternal@opmode\relax
-                % 'mode=only graphics'
-                \let\tikzexternal@next=\tikzexternal@forcegraphics
-            \or
-                % 'mode=no graphics'
-                \let\tikzexternal@next=\tikzexternal@normalpicture@nographics
-            \or
-                % 'mode=graphics if exists'
-                \let\tikzexternal@next=\tikzexternal@externalizefig
-            \or
-                % 'mode=list only'
-                \let\tikzexternal@next=\tikzexternal@listmodepicture
-            \or
-                % 'mode=convert with system call'
-                \let\tikzexternal@next=\tikzexternal@externalizefig@systemcall
-            \or
-                % 'mode=list and make'
-                \let\tikzexternal@next=\tikzexternal@list@and@makefile@mode@picture
-            \fi
-        \fi
-    \fi
-    \tikzexternal@next
+	\leavevmode
+	\global\tikzexternal@file@isuptodatetrue% may be set to false during checks.
+	\tikzexternal@getnextfilename\tikzexternal@curfilename
+	\ifx\tikzexternal@curfilename\pgfutil@empty
+		\ifpgf@external@grabshipout
+			% This picture won't be externalized.
+			% But maybe we can optimize it away:
+			\iftikzexternal@optimize
+				% -> it won't be shipped out anyway, so save typesetting time!
+				\let\tikzexternal@next=\tikzexternal@skipfigure
+			\else
+				% include this graphics into the output (even if
+				% it will be discarded anyway).
+				\let\tikzexternal@next=\tikzexternal@normalpicture@nographics
+			\fi
+		\else
+			\let\tikzexternal@next=\tikzexternal@normalpicture@nographics
+		\fi
+	\else
+		\ifpgf@external@grabshipout
+			\tikzifexternaljobnamematches\tikzexternal@curfilename{%
+				% ok, this here IS the picture for which
+				% pdflatex --jobname <my name>
+				% has been invoked.
+				\let\tikzexternal@next=\tikzexternal@externalizefig
+			}{%
+				\iftikzexternal@optimize
+					% No, another picture should be exported. Simply skip this one
+					% -> it won't be shipped out anyway, so save typesetting time!
+					\let\tikzexternal@next=\tikzexternal@skipfigure
+				\else
+					% include this graphics into the output (even it
+					% it will be discarded anyway).
+					\let\tikzexternal@next=\tikzexternal@normalpicture@nographics
+				\fi
+			}%
+		\else
+			\ifcase\tikzexternal@opmode\relax
+				% 'mode=only graphics'
+				\let\tikzexternal@next=\tikzexternal@forcegraphics
+			\or
+				% 'mode=no graphics'
+				\let\tikzexternal@next=\tikzexternal@normalpicture@nographics
+			\or
+				% 'mode=graphics if exists'
+				\let\tikzexternal@next=\tikzexternal@externalizefig
+			\or
+				% 'mode=list only'
+				\let\tikzexternal@next=\tikzexternal@listmodepicture
+			\or
+				% 'mode=convert with system call'
+				\let\tikzexternal@next=\tikzexternal@externalizefig@systemcall
+			\or
+				% 'mode=list and make'
+				\let\tikzexternal@next=\tikzexternal@list@and@makefile@mode@picture
+			\fi
+		\fi
+	\fi
+	\tikzexternal@next
 }%
 
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 % Replacement for \tikz short command:
 \def\tikzexternal@tikz@replacement{%
-    \pgfutil@ifnextchar[{\tikzexternal@tikz@replacement@opt}{\tikzexternal@tikz@replacement@opt[]}%
+	\pgfutil@ifnextchar[{\tikzexternal@tikz@replacement@opt}{\tikzexternal@tikz@replacement@opt[]}%
 }%
 \def\tikzexternal@tikz@replacement@opt[#1]{%
-    \pgfutil@ifnextchar\bgroup{\tikzexternal@tikz@replacement@opt@{#1}}{\tikzexternal@tikz@replacement@opt@@{#1}}%
+	\pgfutil@ifnextchar\bgroup{\tikzexternal@tikz@replacement@opt@{#1}}{\tikzexternal@tikz@replacement@opt@@{#1}}%
 }
 \long\def\tikzexternal@tikz@replacement@opt@#1#2{%
-    \tikzexternal@tikz@replacement@opt@process{#1}{#2}%
+	\tikzexternal@tikz@replacement@opt@process{#1}{#2}%
 }%
 \def\tikzexternal@tikz@replacement@opt@@#1{%
   \def\tikz@next{\tikzexternal@tikz@replacement@collectnormalsemicolon{#1}}%
@@ -696,41 +696,41 @@
   \fi%
   \tikz@next}
 \long\def\tikzexternal@tikz@replacement@collectnormalsemicolon#1#2;{%
-    \tikzexternal@tikz@replacement@opt@process{#1}{#2;}%
+	\tikzexternal@tikz@replacement@opt@process{#1}{#2;}%
 }%
 {
   \catcode`\;=\active
   \long\gdef\tikzexternal@tikz@replacement@collectactivesemicolon#1#2;{%
-    \tikzexternal@tikz@replacement@opt@process{#1}{#2;}%
+	\tikzexternal@tikz@replacement@opt@process{#1}{#2;}%
   }
 }
 \long\def\tikzexternal@tikz@replacement@opt@process#1#2{%
-    \begingroup
-    \t@tikzexternal@tmpa=\expandafter{\tikzexternal@TEXDIALECT@begpicture[#1]#2}%
-    \t@tikzexternal@tmpb=\expandafter{\tikzexternal@TEXDIALECT@endpicture}%
-    \xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb}%
-    \endgroup
-    \pgf@tempa
+	\begingroup
+	\t@tikzexternal@tmpa=\expandafter{\tikzexternal@TEXDIALECT@begpicture[#1]#2}%
+	\t@tikzexternal@tmpb=\expandafter{\tikzexternal@TEXDIALECT@endpicture}%
+	\xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb}%
+	\endgroup
+	\pgf@tempa
 }
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
 
 \def\tikzexternal@getnextfilename@advancecount{%
-    \begingroup
-    \c@pgf@counta=\csname c@tikzext@no@\tikzexternal@figurename\endcsname\relax
-    \advance\c@pgf@counta by1
-    \expandafter\xdef\csname c@tikzext@no@\tikzexternal@figurename\endcsname{\the\c@pgf@counta}%
-    \endgroup
+	\begingroup
+	\c@pgf@counta=\csname c@tikzext@no@\tikzexternal@figurename\endcsname\relax
+	\advance\c@pgf@counta by1 
+	\expandafter\xdef\csname c@tikzext@no@\tikzexternal@figurename\endcsname{\the\c@pgf@counta}%
+	\endgroup
 }%
 
 % Returns the file name which will be used for the next tikzpicture (based on the currently available information only, of course).
 \def\tikzexternalgetnextfilename#1{%
-    \begingroup
-    \let\tikzexternal@getnextfilename@advancecount\relax% NOP
-    \let\tikzexternal@getnextfilename@resetglobals=\relax% NOP
-    \def\tikzexternal@protocol@to@file##1{}% NOP
-    \tikzexternal@getnextfilename#1%
-    \pgfmath@smuggleone#1%
-    \endgroup
+	\begingroup
+	\let\tikzexternal@getnextfilename@advancecount\relax% NOP
+	\let\tikzexternal@getnextfilename@resetglobals=\relax% NOP
+	\def\tikzexternal@protocol@to@file##1{}% NOP
+	\tikzexternal@getnextfilename#1%
+	\pgfmath@smuggleone#1%
+	\endgroup
 }%
 
 % Returns the file name of the current picture.
@@ -740,13 +740,13 @@
 % #1 the macro which will contain the file name.
 % @see \tikzexternalgetnextfilename
 \def\tikzexternalgetcurrentfilename#1{%
-    \ifx\tikzexternal@curfilename\relax
-        % we are outside of a picture.
-        \let#1=\pgfutil@empty
-    \else
-        % we are inside of a picture.
-        \let#1=\tikzexternal@curfilename
-    \fi
+	\ifx\tikzexternal@curfilename\relax
+		% we are outside of a picture.
+		\let#1=\pgfutil@empty
+	\else
+		% we are inside of a picture.
+		\let#1=\tikzexternal@curfilename
+	\fi
 }
 
 % Fills #1 with a filename for the current picture.
@@ -762,152 +762,152 @@
 % Please note that both, \tikzsetnextfilename and \tikzexternalexportnextfalse
 % affect only ONE picture. They will be reset afterwards.
 \def\tikzexternal@getnextfilename#1{%
-    \let#1=\pgfutil@empty
-    % determine next file name:
-    \iftikzexternal@export@enabled
-        \iftikzexternalexportnext
-            \begingroup
-            \t@tikzexternal@tmpa=\expandafter{\tikzexternal@filenameprefix}%
-            \ifx\tikzexternal@nextfile\pgfutil@empty
-                \iftikzexternal@onlynamed
-                    \xdef\pgf@tempa{}%
-                \else
-                    \pgfkeysgetvalue{/tikz/external/figure name}\tikzexternal@figurename
-                    \pgfutil@ifundefined{c@tikzext@no@\tikzexternal@figurename}{%
-                        % initialise on first usage:
-                        \expandafter\gdef\csname c@tikzext@no@\tikzexternal@figurename\endcsname{0}%
-                    }{}%
-                    \t@tikzexternal@tmpb=\expandafter{\tikzexternal@figurename}%
-                    \xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb\csname c@tikzext@no@\tikzexternal@figurename\endcsname}%
-                    % advance the counter for 'figure name':
-                    \tikzexternal@getnextfilename@advancecount
-                \fi
-            \else
-                \t@tikzexternal@tmpb=\expandafter{\tikzexternal@nextfile}%
-                \xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb}%
-            \fi
-            \endgroup
-            \let#1=\pgf@tempa
-        \fi
-    \fi
-    %
-    \tikzexternal@getnextfilename@resetglobals%
-    %
-    \tikzexternal@protocol@to@file#1%
+	\let#1=\pgfutil@empty
+	% determine next file name:
+	\iftikzexternal@export@enabled
+		\iftikzexternalexportnext
+			\begingroup
+			\t@tikzexternal@tmpa=\expandafter{\tikzexternal@filenameprefix}%
+			\ifx\tikzexternal@nextfile\pgfutil@empty
+				\iftikzexternal@onlynamed
+					\xdef\pgf@tempa{}%
+				\else
+					\pgfkeysgetvalue{/tikz/external/figure name}\tikzexternal@figurename
+					\pgfutil@ifundefined{c@tikzext@no@\tikzexternal@figurename}{%
+						% initialise on first usage:
+						\expandafter\gdef\csname c@tikzext@no@\tikzexternal@figurename\endcsname{0}%
+					}{}%
+					\t@tikzexternal@tmpb=\expandafter{\tikzexternal@figurename}%
+					\xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb\csname c@tikzext@no@\tikzexternal@figurename\endcsname}%
+					% advance the counter for 'figure name':
+					\tikzexternal@getnextfilename@advancecount
+				\fi
+			\else
+				\t@tikzexternal@tmpb=\expandafter{\tikzexternal@nextfile}%
+				\xdef\pgf@tempa{\the\t@tikzexternal@tmpa\the\t@tikzexternal@tmpb}%
+			\fi
+			\endgroup
+			\let#1=\pgf@tempa
+		\fi
+	\fi
+	% 
+	\tikzexternal@getnextfilename@resetglobals%
+	%
+	\tikzexternal@protocol@to@file#1%
 }%
 
 \def\tikzexternal@getnextfilename@resetglobals{%
-    % Reset global flags:
-    \global\let\tikzexternal@nextfile=\pgfutil@empty
-    \global\tikzexternalexportnexttrue
+	% Reset global flags:
+	\global\let\tikzexternal@nextfile=\pgfutil@empty
+	\global\tikzexternalexportnexttrue
 }%
 
 % #1: the image file name which should be protocolled. (can be a
 % macro)
 \def\tikzexternal@protocol@to@file#1{%
-    \ifpgf@external@grabshipout%
-    \else
-        \iftikzexternal@genfigurelist
-            \edef\tikzexternal@temp{#1}%
-            \ifx\tikzexternal@temp\pgfutil@empty
-            \else
-                \pgfutil@ifundefined{tikzexternal@listmode@openedfile}{%
-                    \message{Opening '\tikzexternal@realjob.figlist' for writing.}%
-                    \begingroup
-                        \globaldefs=1
-                        % this gets round '\outer\newwrite' in plain TeX:
-                        \csname newwrite\endcsname\tikzexternal@outfile
-                    \endgroup
-                    \immediate\openout\tikzexternal@outfile=\tikzexternal@realjob.figlist\relax
-                    \gdef\tikzexternal@listmode@openedfile{1}%
-                    \if\tikzexternal@opmode5% mode='list and make'
-                        \tikzexternal@list@and@make@prepare
-                    \fi
-                }{}%
-                \iftikzexternal@verboseio
-                    \pgf@typeout{Writing '#1' to '\tikzexternal@realjob.figlist'.}%
-                \fi
-                \immediate\write\tikzexternal@outfile{#1}%
-                \if\tikzexternal@opmode5% mode='list and make'
-                    \tikzexternal@list@and@make@gentarget{#1}%
-                \fi
-            \fi
-        \fi
-    \fi
+	\ifpgf@external@grabshipout%
+	\else
+		\iftikzexternal@genfigurelist
+			\edef\tikzexternal@temp{#1}%
+			\ifx\tikzexternal@temp\pgfutil@empty
+			\else
+				\pgfutil@ifundefined{tikzexternal@listmode@openedfile}{%
+					\message{Opening '\tikzexternal@realjob.figlist' for writing.}%
+					\begingroup
+						\globaldefs=1
+						% this gets round '\outer\newwrite' in plain TeX:
+						\csname newwrite\endcsname\tikzexternal@outfile
+					\endgroup
+					\immediate\openout\tikzexternal@outfile=\tikzexternal@realjob.figlist\relax
+					\gdef\tikzexternal@listmode@openedfile{1}%
+					\if\tikzexternal@opmode5% mode='list and make'
+						\tikzexternal@list@and@make@prepare
+					\fi
+				}{}%
+				\iftikzexternal@verboseio
+					\pgf@typeout{Writing '#1' to '\tikzexternal@realjob.figlist'.}%
+				\fi
+				\immediate\write\tikzexternal@outfile{#1}%
+				\if\tikzexternal@opmode5% mode='list and make'
+					\tikzexternal@list@and@make@gentarget{#1}%
+				\fi
+			\fi
+		\fi
+	\fi
 }%
 
 \def\tikzexternal@list@and@make@gentarget#1{%
-    \tikzexternal@assemble@systemcall{#1}{\pgf@tempa}%
-    \def\tikzexternal@tempb{\pgfutilstrreplace{^^J}{^^J\tikzexternal@TABchar}}%
-    \expandafter\tikzexternal@tempb\expandafter{\pgf@tempa}%
-    \let\pgf@tempa=\pgfretval
-    \iftikzexternal@verboseio
-        \pgf@typeout{Writing '#1' to '\tikzexternal@realjob.makefile'.}%
-    \fi
-    \global\tikzexternal@file@isuptodatetrue% only check for force remake:
-    \tikzexternal@checkforceremake%
-    \immediate\write\tikzexternal@outmakefile{#1\tikzexternalimgextension: \iftikzexternal@file@isuptodate\else FORCEREMAKE\fi}%
-    \immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar\pgf@tempa}%
-    \immediate\write\tikzexternal@outmakefile{}%
+	\tikzexternal@assemble@systemcall{#1}{\pgf@tempa}%
+	\def\tikzexternal@tempb{\pgfutilstrreplace{^^J}{^^J\tikzexternal@TABchar}}%
+	\expandafter\tikzexternal@tempb\expandafter{\pgf@tempa}%
+	\let\pgf@tempa=\pgfretval
+	\iftikzexternal@verboseio
+		\pgf@typeout{Writing '#1' to '\tikzexternal@realjob.makefile'.}%
+	\fi
+	\global\tikzexternal@file@isuptodatetrue% only check for force remake:
+	\tikzexternal@checkforceremake%
+	\immediate\write\tikzexternal@outmakefile{#1\tikzexternalimgextension: \iftikzexternal@file@isuptodate\else FORCEREMAKE\fi}%
+	\immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar\pgf@tempa}%
+	\immediate\write\tikzexternal@outmakefile{}%
 }
 
 \def\tikzexternal@list@and@make@prepare{%
-    \iftikzexternal@verboseio
-        \pgf@typeout{Opening '\tikzexternal@realjob.makefile' for writing.}%
-    \fi
-    \begingroup
-        % this makes \tikzexternal@outmakefile global:
-        \globaldefs=1
-        % this gets round '\outer\newwrite' in plain TeX:
-        \csname newwrite\endcsname\tikzexternal@outmakefile
-    \endgroup
-    \immediate\openout\tikzexternal@outmakefile=\tikzexternal@realjob.makefile\relax
-    \immediate\write\tikzexternal@outmakefile{ALL_FIGURE_NAMES=\tikzexternal@DOLLARchar(shell cat \tikzexternal@realjob.figlist)}%
-    \immediate\write\tikzexternal@outmakefile{ALL_FIGURES=\tikzexternal@DOLLARchar(ALL_FIGURE_NAMES:\tikzexternal@PERCENTchar=\tikzexternal@PERCENTchar\tikzexternalimgextension)}%
-    \immediate\write\tikzexternal@outmakefile{}%
-    \immediate\write\tikzexternal@outmakefile{allimages: \tikzexternal@DOLLARchar(ALL_FIGURES)}%
-    \immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar @echo All images exist now. Use make -B to re-generate them.}%
-    \immediate\write\tikzexternal@outmakefile{}%
-    \immediate\write\tikzexternal@outmakefile{FORCEREMAKE:}%
-    \immediate\write\tikzexternal@outmakefile{}%
-    %
-    % support for .dep files and auto-dependencies:
-    \immediate\write\tikzexternal@outmakefile{include $(ALL_FIGURE_NAMES:\tikzexternal@PERCENTchar=\tikzexternal@PERCENTchar.\tikzexternaldepext)}%
-    \immediate\write\tikzexternal@outmakefile{}%
-    \tikzexternalmakefiledefaultdeprule
-    \immediate\write\tikzexternal@outmakefile{}%
-    \tikzexternal@outmakefile@pendingcommands
-    \pgfutil@ifundefined{AtEndDocument}{}{%
-        \AtEndDocument{\pgf@typeout{===== mode=`list and make': Use 'make -f \tikzexternal@realjob.makefile' to generate all images. Then, re-run (pdf)latex \tikzexternal@realjob. =====}}%
-    }%
+	\iftikzexternal@verboseio
+		\pgf@typeout{Opening '\tikzexternal@realjob.makefile' for writing.}%
+	\fi
+	\begingroup
+		% this makes \tikzexternal@outmakefile global:
+		\globaldefs=1
+		% this gets round '\outer\newwrite' in plain TeX:
+		\csname newwrite\endcsname\tikzexternal@outmakefile
+	\endgroup
+	\immediate\openout\tikzexternal@outmakefile=\tikzexternal@realjob.makefile\relax
+	\immediate\write\tikzexternal@outmakefile{ALL_FIGURE_NAMES=\tikzexternal@DOLLARchar(shell cat \tikzexternal@realjob.figlist)}%
+	\immediate\write\tikzexternal@outmakefile{ALL_FIGURES=\tikzexternal@DOLLARchar(ALL_FIGURE_NAMES:\tikzexternal@PERCENTchar=\tikzexternal@PERCENTchar\tikzexternalimgextension)}%
+	\immediate\write\tikzexternal@outmakefile{}%
+	\immediate\write\tikzexternal@outmakefile{allimages: \tikzexternal@DOLLARchar(ALL_FIGURES)}%
+	\immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar @echo All images exist now. Use make -B to re-generate them.}%
+	\immediate\write\tikzexternal@outmakefile{}%
+	\immediate\write\tikzexternal@outmakefile{FORCEREMAKE:}%
+	\immediate\write\tikzexternal@outmakefile{}%
+	%
+	% support for .dep files and auto-dependencies:
+	\immediate\write\tikzexternal@outmakefile{include $(ALL_FIGURE_NAMES:\tikzexternal@PERCENTchar=\tikzexternal@PERCENTchar.\tikzexternaldepext)}%
+	\immediate\write\tikzexternal@outmakefile{}%
+	\tikzexternalmakefiledefaultdeprule
+	\immediate\write\tikzexternal@outmakefile{}%
+	\tikzexternal@outmakefile@pendingcommands
+	\pgfutil@ifundefined{AtEndDocument}{}{%
+		\AtEndDocument{\pgf@typeout{===== mode=`list and make': Use 'make -f \tikzexternal@realjob.makefile' to generate all images. Then, re-run (pdf)latex \tikzexternal@realjob. =====}}%
+	}%
 }%
 \def\tikzexternaldepext{dep}
 
 \def\tikzexternalmakefiledefaultdeprule{%
-    \immediate\write\tikzexternal@outmakefile{\tikzexternal@PERCENTchar.\tikzexternaldepext:}%
-    \immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar mkdir -p \tikzexternal@normal@dq $(dir $@)\tikzexternal@normal@dq}%
-    \immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar touch \tikzexternal@normal@dq $@\tikzexternal@normal@dq\space \tikzexternal@HASHchar\space will be filled later.}%
+	\immediate\write\tikzexternal@outmakefile{\tikzexternal@PERCENTchar.\tikzexternaldepext:}%
+	\immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar mkdir -p \tikzexternal@normal@dq $(dir $@)\tikzexternal@normal@dq}%
+	\immediate\write\tikzexternal@outmakefile{\tikzexternal@TABchar touch \tikzexternal@normal@dq $@\tikzexternal@normal@dq\space \tikzexternal@HASHchar\space will be filled later.}%
 }%
 
 % Invokes '#1' if a makefile is to be written and '#2' if not.
 \def\tikzexternalifwritesmakefile#1#2{%
-    \if5\tikzexternal@opmode #1\else #2\fi
+	\if5\tikzexternal@opmode #1\else #2\fi
 }%
 \def\tikzexternal@outmakefile@pendingcommands{}%
 
 % Will write something to the make file. If the makefile is not yet
 % opened, #1 will be written as soon as it *is* opened.
 \def\tikzexternalwritetomakefile#1{%
-    \if\tikzexternal@opmode5% mode='list and make'
-        \pgfutil@ifundefined{tikzexternal@outmakefile}{%
-            \expandafter\gdef\expandafter\tikzexternal@outmakefile@pendingcommands\expandafter{%
-                \tikzexternal@outmakefile@pendingcommands
-                \immediate\write\tikzexternal@outmakefile{#1}%
-            }%
-        }{%
-            \immediate\write\tikzexternal@outmakefile{#1}%
-        }%
-    \fi
+	\if\tikzexternal@opmode5% mode='list and make'
+		\pgfutil@ifundefined{tikzexternal@outmakefile}{%
+			\expandafter\gdef\expandafter\tikzexternal@outmakefile@pendingcommands\expandafter{%
+				\tikzexternal@outmakefile@pendingcommands
+				\immediate\write\tikzexternal@outmakefile{#1}%
+			}%
+		}{%
+			\immediate\write\tikzexternal@outmakefile{#1}%
+		}%
+	\fi
 }%
 
 \def\tikzexternal@dep@file@name{}
@@ -919,23 +919,23 @@
 % external graphics for which we are adding a dependency.
 % #2: a file name. If this file gets changed, #1 shall be remade.
 %
-% This command will be activated as soon as \tikzexternalize has been
+% This command will be actived as soons as \tikzexternalize has been
 % called.
 \def\tikzexternalfiledependsonfile@ACTIVE#1#2{%
-    \begingroup
-    \def\tikzpicturedependsonfile@name{#1}%
-    \ifx\tikzpicturedependsonfile@name\pgfutil@empty
-        % could be auto-generated: empty file name means "picture
-        % won't be externalized". Skip it.
-    \else
-        % if we encounter any dependencies while we externalize a
-        % picture, we have to write these things into the image's .dep
-        % file.
-        \tikzifexternalizingcurrent
-            {\tikzexternalfiledependsonfile@append@to@dep@file{#1}{#2}}%
-            {\tikzexternalfiledependsonfile@append@to@makefile{#1}{#2}}%
-    \fi
-    \endgroup
+	\begingroup
+	\def\tikzpicturedependsonfile@name{#1}%
+	\ifx\tikzpicturedependsonfile@name\pgfutil@empty
+		% could be auto-generated: empty file name means "picture
+		% won't be externalized". Skip it.
+	\else
+		% if we encounter any dependencies while we externalize a
+		% picture, we have to write these things into the image's .dep
+		% file.
+		\tikzifexternalizingcurrent
+			{\tikzexternalfiledependsonfile@append@to@dep@file{#1}{#2}}%
+			{\tikzexternalfiledependsonfile@append@to@makefile{#1}{#2}}%
+	\fi
+	\endgroup
 }%
 \def\tikzexternalfiledependsonfile#1#2{}% NO-OP until \tikzexternalize has been called.
 
@@ -949,32 +949,32 @@
 % Consequently, this here has to be called if and only if #1 is about
 % to be externalized.
 \def\tikzexternalfiledependsonfile@append@to@dep@file#1#2{%
-    % write every dependency which is defined *INSIDE* of the current
-    % picture into the .dep file of the current picture:
-    \tikzexternalgetcurrentfilename\tikzpicturedependsonfile@name
-    \edef\tikzpicturedependsonfile@name{\tikzpicturedependsonfile@name.\tikzexternaldepext}%
-    %\edef\tikzpicturedependsonfile@name{#1.\tikzexternaldepext}%
-    \ifx\tikzexternal@dep@file@name\tikzpicturedependsonfile@name
-        % file is open and ready.
-    \else
-        % create new output file.
-        \pgfutil@ifundefined{tikzexternal@dep@file}{%
-            \begingroup
-                % this makes \tikzexternal@dep@file global:
-                \globaldefs=1
-                % this gets round '\outer\newwrite' in plain TeX:
-                \csname newwrite\endcsname\tikzexternal@dep@file
-            \endgroup
-        }{}%
-        \ifx\tikzexternal@dep@file@name\pgfutil@empty
-        \else
-            % it is already open. Close it.
-            \immediate\closeout\tikzexternal@dep@file
-        \fi
-        \global\let\tikzexternal@dep@file@name=\tikzpicturedependsonfile@name
-        \immediate\openout\tikzexternal@dep@file=\tikzexternal@dep@file@name\relax
-    \fi
-    \immediate\write\tikzexternal@dep@file{#1\tikzexternalimgextension: #2}%
+	% write every dependency which is defined *INSIDE* of the current
+	% picture into the .dep file of the current picture:
+	\tikzexternalgetcurrentfilename\tikzpicturedependsonfile@name
+	\edef\tikzpicturedependsonfile@name{\tikzpicturedependsonfile@name.\tikzexternaldepext}%
+	%\edef\tikzpicturedependsonfile@name{#1.\tikzexternaldepext}%
+	\ifx\tikzexternal@dep@file@name\tikzpicturedependsonfile@name
+		% file is open and ready.
+	\else
+		% create new output file.
+		\pgfutil@ifundefined{tikzexternal@dep@file}{%
+			\begingroup
+				% this makes \tikzexternal@dep@file global:
+				\globaldefs=1
+				% this gets round '\outer\newwrite' in plain TeX:
+				\csname newwrite\endcsname\tikzexternal@dep@file
+			\endgroup
+		}{}%
+		\ifx\tikzexternal@dep@file@name\pgfutil@empty
+		\else
+			% it is already open. Close it.
+			\immediate\closeout\tikzexternal@dep@file
+		\fi
+		\global\let\tikzexternal@dep@file@name=\tikzpicturedependsonfile@name
+		\immediate\openout\tikzexternal@dep@file=\tikzexternal@dep@file@name\relax
+	\fi
+	\immediate\write\tikzexternal@dep@file{#1\tikzexternalimgextension: #2}%
 }
 
 % sub-routine of \tikzexternalfiledependsonfile which appends stuff to
@@ -985,8 +985,8 @@
 % the documentation of
 % \tikzexternalfiledependsonfile@append@to@dep@file)
 \def\tikzexternalfiledependsonfile@append@to@makefile#1#2{%
-    \edef\tikzexternal@temp{#1\tikzexternalimgextension: #2}%
-    \expandafter\tikzexternalwritetomakefile\expandafter{\tikzexternal@temp}%
+	\edef\tikzexternal@temp{#1\tikzexternalimgextension: #2}%
+	\expandafter\tikzexternalwritetomakefile\expandafter{\tikzexternal@temp}%
 }
 
 % Adds a dependency for the NEXT picture which is about to be
@@ -996,46 +996,46 @@
 % #1: a file name. If this file gets changed, the tikzpicture's
 % externalized graphics shall be remade.
 %
-% This command will be activated as soon as \tikzexternalize has been
+% This command will be actived as soons as \tikzexternalize has been
 % called.
 \def\tikzpicturedependsonfile@ACTIVE#1{%
-    \begingroup
-    \tikzexternalgetcurrentfilename\tikzpicturedependsonfile@name
-    \ifx\tikzpicturedependsonfile@name\pgfutil@empty
-        \tikzexternalgetnextfilename\tikzpicturedependsonfile@name
-    \fi
-    \expandafter\tikzexternalfiledependsonfile\expandafter{\tikzpicturedependsonfile@name}{#1}%
-    \endgroup
+	\begingroup
+	\tikzexternalgetcurrentfilename\tikzpicturedependsonfile@name
+	\ifx\tikzpicturedependsonfile@name\pgfutil@empty
+		\tikzexternalgetnextfilename\tikzpicturedependsonfile@name
+	\fi
+	\expandafter\tikzexternalfiledependsonfile\expandafter{\tikzpicturedependsonfile@name}{#1}%
+	\endgroup
 }%
 \def\tikzpicturedependsonfile#1{}% NO-OP until \tikzexternalize has been called.
 
 
-% This command is invoked
+% This command is invoked 
 %  if and only if ( (grab mode && --jobname matches) || 'mode=graphics if exists' )
 %
 % It converts the current tikzpicture into an image in grab mode
 % or processes the 'graphics if exist' mode.
 \def\tikzexternal@externalizefig{%
-    \ifpgf@external@grabshipout%
-        % In this case, we already KNOW that the filename matches.
-        \expandafter\tikzexternal@externalizefig@GRAB%
-    \else
-        \expandafter\tikzexternal@externalizefig@mode@graphics@if@exists
-    \fi%
+	\ifpgf@external@grabshipout%
+		% In this case, we already KNOW that the filename matches.
+		\expandafter\tikzexternal@externalizefig@GRAB%
+	\else
+		\expandafter\tikzexternal@externalizefig@mode@graphics@if@exists
+	\fi%
 }
 \def\tikzexternal@externalizefig@mode@graphics@if@exists{%
-    % check if there is already a file.
-    % In that case, use it. If not, typeset the picture normally.
-    \gdef\pgf@filename{}%
-    \xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
-    \pgf@tempa
-    \ifx\pgf@filename\pgfutil@empty%
-        % Note: since we have no 'GRAB' mode, we do not have to deal with optimization.
-        % there is no graphics.
-        \expandafter\tikzexternal@normalpicture@nographics
-    \else
-        \expandafter\tikzexternal@forcegraphics
-    \fi
+	% check if there is already a file.
+	% In that case, use it. If not, typeset the picture normally.
+	\gdef\pgf@filename{}%
+	\xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
+	\pgf@tempa
+	\ifx\pgf@filename\pgfutil@empty%
+		% Note: since we have no 'GRAB' mode, we do not have to deal with optimization.
+		% there is no graphics.
+		\expandafter\tikzexternal@normalpicture@nographics
+	\else
+		\expandafter\tikzexternal@forcegraphics
+	\fi
 }%
 
 
@@ -1043,118 +1043,118 @@
 % It will be called if GRAB mode is on.
 % See the 'optimize command away' key.
 \def\tikzexternal@optimize@away@cmd#1#2{%
-    \pgfutil@ifnextchar[{%
-        \tikzexternal@optimize@away@cmd@{#1}{#2}%
-    }{%
-        \tikzexternal@optimize@away@cmd@{#1}{#2}[]%
-    }%
+	\pgfutil@ifnextchar[{%
+		\tikzexternal@optimize@away@cmd@{#1}{#2}%
+	}{%
+		\tikzexternal@optimize@away@cmd@{#1}{#2}[]%
+	}%
 }%
 \def\tikzexternal@optimize@away@cmd@#1#2[#3]{%
-    \def\tikz@temp{#2}%
-    \ifx\tikz@temp\pgfutil@empty
-        \def\tikz@temp{\tikzexternal@optimize@away@cmd@auto{#1}{#3}}%
-    \else
-        \ifcase#2\relax
-            \def\tikzexternal@optimize@away@cmd@manual{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3##4{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6##7{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6##7##8{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}}%
-            }%
-        \or
-            \def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6##7##8##9{%
-                \tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}{##9}}%
-            }%
-        \fi
-        \def\tikz@temp{\tikzexternal@optimize@away@cmd@manual}%
-    \fi
-    \tikz@temp
+	\def\tikz@temp{#2}%
+	\ifx\tikz@temp\pgfutil@empty
+		\def\tikz@temp{\tikzexternal@optimize@away@cmd@auto{#1}{#3}}%
+	\else
+		\ifcase#2\relax
+			\def\tikzexternal@optimize@away@cmd@manual{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3##4{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6##7{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6##7##8{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}}%
+			}%
+		\or
+			\def\tikzexternal@optimize@away@cmd@manual##1##2##3##4##5##6##7##8##9{%
+				\tikzexternal@optimize@away@cmd@@@{#1}{#3}{{##1}{##2}{##3}{##4}{##5}{##6}{##7}{##8}{##9}}%
+			}%
+		\fi
+		\def\tikz@temp{\tikzexternal@optimize@away@cmd@manual}%
+	\fi
+	\tikz@temp
 }%
 \def\tikzexternal@optimize@away@cmd@auto#1#2{%
-    \pgfutil@ifnextchar\bgroup{%
-        \tikzexternal@optimize@away@cmd@auto@{#1}{#2}%
-    }{%
-        \tikzexternal@optimize@away@cmd@auto@{#1}{#2}{<no argument in curly braces>}% give empty argument.
-    }
+	\pgfutil@ifnextchar\bgroup{%
+		\tikzexternal@optimize@away@cmd@auto@{#1}{#2}%
+	}{%
+		\tikzexternal@optimize@away@cmd@auto@{#1}{#2}{<no argument in curly braces>}% give empty argument.
+	}
 }%
 
 \def\tikzexternal@optimize@away@cmd@auto@#1#2#3{%
-    \tikzexternal@optimize@away@cmd@@@{#1}{#2}{{#3}}% <-- provide braces
+	\tikzexternal@optimize@away@cmd@@@{#1}{#2}{{#3}}% <-- provide braces
 }%
 \def\tikzexternal@optimize@away@cmd@@@#1#2#3{%
-    \begingroup
-    \toks0={#1[#2]#3}%
-    \iftikzexternal@verbose@optimize
-        \pgf@typeout{The command '\the\toks0' has been optimized away. Use '/tikz/external/optimize=false' to disable this.}%
-    \fi
-    \endgroup
-    \begingroup
-    \pgfkeysvalueof{/tikz/external/optimize away text/.@cmd}#1\pgfeov%
-    \endgroup
+	\begingroup
+	\toks0={#1[#2]#3}%
+	\iftikzexternal@verbose@optimize
+		\pgf@typeout{The command '\the\toks0' has been optimized away. Use '/tikz/external/optimize=false' to disable this.}%
+	\fi
+	\endgroup
+	\begingroup
+	\pgfkeysvalueof{/tikz/external/optimize away text/.@cmd}#1\pgfeov%
+	\endgroup
 }%
 
 \def\tikzexternal@optimize@away@latex@env#1{%
-    \def\tikzexternal@optimize@away@latex@env@{#1}%
-    \begingroup
-        \def\tikzexternal@laTeX@collect@until@end@tikzpicturetikzpicturestring{#1}%
-        \tikzexternal@TEXDIALECT@collectpicture\tikzexternal@optimize@away@latex@env@close
+	\def\tikzexternal@optimize@away@latex@env@{#1}%
+	\begingroup
+		\def\tikzexternal@laTeX@collect@until@end@tikzpicturetikzpicturestring{#1}%
+		\tikzexternal@TEXDIALECT@collectpicture\tikzexternal@optimize@away@latex@env@close
 }%
 \long\def\tikzexternal@optimize@away@latex@env@close#1{%
-    \iftikzexternal@verbose@optimize
-        \pgf@typeout{The complete contents of \string\begin{tikzexternal@optimize@away@latex@env@} up to the next \end{tikzexternal@optimize@away@latex@env@} has been optimized away because it does not contribute to the exported PDF. Use '/tikz/external/optimize=false' to disable this.}%
-    \fi
-    \endgroup
-    % we still need to invoke \end{<name>} in latex because \begin{<name>}
-    % starts a local group - that must be closed properly. Make sure then \end<name> does nothing:
-    \expandafter\let\csname end\tikzexternal@optimize@away@latex@env@\endcsname=\relax
-    \expandafter\end\expandafter{\tikzexternal@optimize@away@latex@env@}%
+	\iftikzexternal@verbose@optimize
+		\pgf@typeout{The complete contents of \string\begin{tikzexternal@optimize@away@latex@env@} up to the next \end{tikzexternal@optimize@away@latex@env@} has been optimized away because it does not contribute to the exported PDF. Use '/tikz/external/optimize=false' to disable this.}%
+	\fi
+	\endgroup
+	% we still need to invoke \end{<name>} in latex because \begin{<name>}
+	% starts a local group - that must be closed properly. Make sure then \end<name> does nothing:
+	\expandafter\let\csname end\tikzexternal@optimize@away@latex@env@\endcsname=\relax
+	\expandafter\end\expandafter{\tikzexternal@optimize@away@latex@env@}%
 }%
 
 \def\tikzexternal@optimize@REPLACE{%
-    \pgfkeysvalueof{/tikz/external/optimize/install/.@cmd}\pgfeov
+	\pgfkeysvalueof{/tikz/external/optimize/install/.@cmd}\pgfeov
 }%
 
 \def\tikzexternal@optimize@RESTORE{%
-    \pgfkeysvalueof{/tikz/external/optimize/restore/.@cmd}\pgfeov
+	\pgfkeysvalueof{/tikz/external/optimize/restore/.@cmd}\pgfeov
 }%
 
 % Closes one 'tikzpicture' environment. This is only used for LaTeX,
 % because the '\end{tikzpicture}' command would raise an exception otherwise.
 % It does *not* call \endtikzpicture.
 \def\tikzexternal@closeenvironments{%
-    \let\endtikzpicture=\relax
-    \tikzexternal@TEXDIALECT@endpicture
-    \let\endtikzpicture=\tikzexternal@origendpicture
-    \let\tikzexternal@curfilename=\relax
+	\let\endtikzpicture=\relax
+	\tikzexternal@TEXDIALECT@endpicture
+	\let\endtikzpicture=\tikzexternal@origendpicture
+	\let\tikzexternal@curfilename=\relax
 }
 
 % Throws a tikzpicture away - without further notice.
@@ -1163,19 +1163,19 @@
 %
 % See the 'optimize' key to disable this.
 \def\tikzexternal@skipfigure{%
-    \tikzexternal@TEXDIALECT@collectpicture\tikzexternal@skipfigure@@
+	\tikzexternal@TEXDIALECT@collectpicture\tikzexternal@skipfigure@@
 }
 \long\def\tikzexternal@skipfigure@@#1{%
-    \iftikzexternal@verbose@optimize
-        \pgf@typeout{A tikzpicture has been optimized away. Use '/tikz/external/optimize=false' to disable this.}%
-    \fi
-    \tikzexternal@closeenvironments
-    \pgfkeysvalueof{/tikz/external/optimize away text/.@cmd}tikzpicture\pgfeov%
+	\iftikzexternal@verbose@optimize
+		\pgf@typeout{A tikzpicture has been optimized away. Use '/tikz/external/optimize=false' to disable this.}%
+	\fi
+	\tikzexternal@closeenvironments
+	\pgfkeysvalueof{/tikz/external/optimize away text/.@cmd}tikzpicture\pgfeov%
 }
 
 % Processes tikzpicture normally; without any externalization.
 %
-% We need to do further work here to deal with NESTED tikzpicture environments
+% We need to do further work here to deal with NESTED tikzpicture environments 
 % because all of them shall also be typeset normally.
 %
 % Idea:
@@ -1185,126 +1185,126 @@
 %
 % FIXME: could it be possible that nested tikzpictures use other code anyway?
 \def\tikzexternal@normalpicture@nographics{%
-    \tikzexternal@nestedflagfalse
-    \let\tikzpicture=\tikzexternal@normalpicture@begreplace
-    \let\endtikzpicture=\tikzexternal@normalpicture@endreplace
-    \tikzpicture
+	\tikzexternal@nestedflagfalse
+	\let\tikzpicture=\tikzexternal@normalpicture@begreplace
+	\let\endtikzpicture=\tikzexternal@normalpicture@endreplace
+	\tikzpicture
 }
 \def\tikzexternal@normalpicture@begreplace{%
-    \begingroup
-    \tikzexternal@nestedflagtrue
-    \tikzexternal@origpicture
+	\begingroup
+	\tikzexternal@nestedflagtrue
+	\tikzexternal@origpicture
 }
 \def\tikzexternal@normalpicture@endreplace{%
-    \tikzexternal@origendpicture
-    \endgroup
-    \iftikzexternal@nestedflag
-    \else
-        \let\tikzpicture=\tikzexternal@tikzpicture@replacement
-        \let\endtikzpicture=\tikzexternal@origendpicture
-    \fi
+	\tikzexternal@origendpicture
+	\endgroup
+	\iftikzexternal@nestedflag
+	\else
+		\let\tikzpicture=\tikzexternal@tikzpicture@replacement
+		\let\endtikzpicture=\tikzexternal@origendpicture
+	\fi
 }%
 
 % Assumes there is an image on disk and reads it. The tikzpicture is thrown away.
 \def\tikzexternal@forcegraphics{%
-    \tikzexternal@TEXDIALECT@collectpicture\tikzexternal@forcegraphics@@
+	\tikzexternal@TEXDIALECT@collectpicture\tikzexternal@forcegraphics@@
 }
 \long\def\tikzexternal@forcegraphics@@#1{\tikzexternal@forcegraphics@@@}%
 \def\tikzexternal@forcegraphics@@@{%
-    \if5\tikzexternal@opmode
-        \let\tikz@refundefinedtrue@@=\G@refundefinedtrue
-        \gdef\G@refundefinedtrue{%
-            \tikz@refundefinedtrue@@
-            \tikzexternal@forceremake@undefined@reference@handler
-        }%
-    \fi
-    \expandafter\pgfincludeexternalgraphics\expandafter{\tikzexternal@curfilename}%
-    \if5\tikzexternal@opmode
-        \global\let\G@refundefinedtrue=\tikz@refundefinedtrue@@
-    \fi
-    \tikzexternal@closeenvironments
+	\if5\tikzexternal@opmode
+		\let\tikz@refundefinedtrue@@=\G@refundefinedtrue
+		\gdef\G@refundefinedtrue{%
+			\tikz@refundefinedtrue@@ 
+			\tikzexternal@forceremake@undefined@reference@handler
+		}%
+	\fi
+	\expandafter\pgfincludeexternalgraphics\expandafter{\tikzexternal@curfilename}%
+	\if5\tikzexternal@opmode
+		\global\let\G@refundefinedtrue=\tikz@refundefinedtrue@@
+	\fi
+	\tikzexternal@closeenvironments
 }
 
 \def\tikzexternal@forceremake@undefined@reference@handler{%
-    \pgf@typeout{===== 'mode=list and make': encountered undefined reference in current picture. Adding dependency to FORCEREMAKE. Rerun make to update the picture.' ========^^J}%
-    \tikzpicturedependsonfile{FORCEREMAKE}%
+	\pgf@typeout{===== 'mode=list and make': encountered undefined reference in current picture. Adding dependency to FORCEREMAKE. Rerun make to update the picture.' ========^^J}%
+	\tikzpicturedependsonfile{FORCEREMAKE}%
 }%
 
 % Simply replaces the complete picture by some placeholder text.
 % It is used by 'mode=list only' to reduce runtime.
 \def\tikzexternal@listmodepicture{%
-    \tikzexternal@TEXDIALECT@collectpicture\tikzexternal@listmodepicture@@
+	\tikzexternal@TEXDIALECT@collectpicture\tikzexternal@listmodepicture@@
 }
 \long\def\tikzexternal@listmodepicture@@#1{\tikzexternal@listmodepicture@@@}
 \def\tikzexternal@listmodepicture@@@{%
-    \pgfkeysvalueof{/tikz/external/image discarded text}%
-    \tikzexternal@closeenvironments
+	\pgfkeysvalueof{/tikz/external/image discarded text}%
+	\tikzexternal@closeenvironments
 }
 
 % check if there is already a file.
 % In that case, use it. If not, skip it.
 \def\tikzexternal@list@and@makefile@mode@picture{%
-    \tikzexternal@TEXDIALECT@collectpicture\tikzexternal@list@and@makefile@mode@picture@
+	\tikzexternal@TEXDIALECT@collectpicture\tikzexternal@list@and@makefile@mode@picture@
 }%
 \long\def\tikzexternal@list@and@makefile@mode@picture@#1{%
-    %
-    \tikzexternal@check@uptodate@mode{#1}%
-    %
-    \gdef\pgf@filename{}%
-    \xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
-    \pgf@tempa
-    \ifx\pgf@filename\pgfutil@empty%
-        % Note: since we have no 'GRAB' mode, we do not have to deal with optimization.
-        % there is no graphics.
-        \expandafter\tikzexternal@listmodepicture@@@
-    \else
-        \expandafter\tikzexternal@forcegraphics@@@
-    \fi
+	%
+	\tikzexternal@check@uptodate@mode{#1}%
+	%
+	\gdef\pgf@filename{}%
+	\xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
+	\pgf@tempa
+	\ifx\pgf@filename\pgfutil@empty%
+		% Note: since we have no 'GRAB' mode, we do not have to deal with optimization.
+		% there is no graphics.
+		\expandafter\tikzexternal@listmodepicture@@@
+	\else
+		\expandafter\tikzexternal@forcegraphics@@@
+	\fi
 }%
 
 \def\tikzexternal@externalizefig@before@grab{%
-    \pgfutil@IfUndefined{TP@holdbox}{%
-    }{%
-        % \usepackage[absolute]{textpos}
-        % populates this box -- and would inject unwanted material into our images. Reset it:
-        \global\setbox\TP@holdbox\vbox{}%
-    }%
+	\pgfutil@IfUndefined{TP@holdbox}{%
+	}{%
+		% \usepackage[absolute]{textpos}
+		% populates this box -- and would inject unwanted material into our images. Reset it:
+		\global\setbox\TP@holdbox\vbox{}%
+	}%
 }%
 
 \def\tikzexternal@externalizefig@GRAB{%
-    \ifpgf@external@grabshipout
-        \iftikzexternal@optimize
-            \tikzexternal@optimize@RESTORE
-        \fi
-        \tikzexternal@externalizefig@before@grab
-    \fi
-    \def\tikzpicture{%
-        \def\tikzpicture{% make sure that nested \tikzpicture are processed normally.
-            \begingroup
-            \def\endtikzpicture{%
-                \tikzexternal@origendpicture
-                \endgroup
-            }%
-            \tikzexternal@origpicture
-        }%
-        \pgf@external@grab{\tikzexternal@curfilename}%
-        \tikzexternal@origpicture
-    }%
-    \def\endtikzpicture{%
-        \tikzexternal@origendpicture
-        \pgf@externalend
-        %
-        \tikzexternal@ensure@nonempty@floats
-        %
-        \let\tikzpicture=\tikzexternal@tikzpicture@replacement
-        \let\endtikzpicture=\tikzexternal@origendpicture
-        \iftikzexternal@optimize
-            \ifpgf@external@grabshipout
-                \tikzexternal@optimize@REPLACE
-            \fi
-        \fi
-    }%
-    \tikzpicture
+	\ifpgf@external@grabshipout
+		\iftikzexternal@optimize
+			\tikzexternal@optimize@RESTORE
+		\fi
+		\tikzexternal@externalizefig@before@grab
+	\fi
+	\def\tikzpicture{%
+		\def\tikzpicture{% make sure that nested \tikzpicture are processed normally.
+			\begingroup
+			\def\endtikzpicture{%
+				\tikzexternal@origendpicture
+				\endgroup
+			}%
+			\tikzexternal@origpicture
+		}%
+		\pgf@external@grab{\tikzexternal@curfilename}%
+		\tikzexternal@origpicture
+	}%
+	\def\endtikzpicture{%
+		\tikzexternal@origendpicture
+		\pgf@externalend
+		%
+		\tikzexternal@ensure@nonempty@floats
+		%
+		\let\tikzpicture=\tikzexternal@tikzpicture@replacement
+		\let\endtikzpicture=\tikzexternal@origendpicture
+		\iftikzexternal@optimize
+			\ifpgf@external@grabshipout
+				\tikzexternal@optimize@REPLACE
+			\fi
+		\fi
+	}%
+	\tikzpicture
 }%
 
 % If a sequence of floats containing JUST tikzpictures is
@@ -1320,7 +1320,7 @@
 % see
 % http://tex.stackexchange.com/questions/54625/why-is-fixltx2e-incompatible-with-tikzexternalize
 \def\tikzexternal@ensure@nonempty@floats{%
-    tikzexternal: picture has been externalized. This text is required to avoid empty floats.
+	tikzexternal: picture has been externalized. This text is required to avoid empty floats.
 }%
 
 % 1. Discards the current picture in this document.
@@ -1329,7 +1329,7 @@
 %    process \tikzexternal@externalizefig.
 % 4. Assert that finally an image exists and use it.
 \def\tikzexternal@externalizefig@systemcall{%
-    \tikzexternal@TEXDIALECT@collectpicture\tikzexternal@externalizefig@systemcall@@
+	\tikzexternal@TEXDIALECT@collectpicture\tikzexternal@externalizefig@systemcall@@
 }
 
 {
@@ -1358,10 +1358,10 @@
 |xdef|tikzexternal@normal@backslash{\}%
 }
 {
-\catcode`\^^I=12
+\catcode`\^^I=12 
 \catcode`\$=12
 \catcode`\%=12
-\catcode`\#=12
+\catcode`\#=12 
 \gdef\tikzexternal@HASHchar{#}
 \gdef\tikzexternal@TABchar{^^I}\gdef\tikzexternal@PERCENTchar{%}\xdef\tikzexternal@DOLLARchar{$}}
 
@@ -1372,130 +1372,131 @@
 % #2: the global return value macro
 %
 \def\tikzexternal@assemble@systemcall#1#2{%
-    \begingroup
-        \def\image{#1}%
-        \iftikzexternal@auto@detect@jobname
-            \edef\texsource{\string\def\string\tikzexternalrealjob{\tikzexternal@realjob}\string\input{\tikzexternal@realjob}}%
-        \else
-            \let\texsource=\tikzexternal@realjob
-        \fi
-        \ifnum\the\catcode`\"=13 \tikzexternal@activate@normal@dq\fi
-        \ifnum\the\catcode`\'=13 \tikzexternal@activate@normal@sq\fi
-        \ifnum\the\catcode`\;=13 \tikzexternal@activate@normal@semic\fi
-        \ifnum\the\catcode`\-=13 \tikzexternal@activate@normal@dash\fi
-        \let\\=\tikzexternal@normal@backslash
-        \xdef#2{\pgfkeysvalueof{/tikz/external/system call}}%
-    \endgroup
+	\begingroup
+		\def\image{#1}%
+		\iftikzexternal@auto@detect@jobname
+			\edef\texsource{\string\def\string\tikzexternalrealjob{\tikzexternal@realjob}\string\input{\tikzexternal@realjob}}%
+		\else
+			\let\texsource=\tikzexternal@realjob
+		\fi
+		\ifnum\the\catcode`\"=13 \tikzexternal@activate@normal@dq\fi
+		\ifnum\the\catcode`\'=13 \tikzexternal@activate@normal@sq\fi
+		\ifnum\the\catcode`\;=13 \tikzexternal@activate@normal@semic\fi
+		\ifnum\the\catcode`\-=13 \tikzexternal@activate@normal@dash\fi
+		\let\\=\tikzexternal@normal@backslash
+		\xdef#2{\pgfkeysvalueof{/tikz/external/system call}}%
+	\endgroup
 }%
 \long\def\tikzexternal@externalizefig@systemcall@@#1{%
-    \tikzexternal@externalizefig@systemcall@uptodatecheck{#1}%
-    \tikzexternal@assemble@systemcall{\tikzexternal@curfilename}{\pgf@tempa}%
-    \global\let\tikzexternal@cursyscall=\pgf@tempa
-    \gdef\tikzexternal@typeset@picture@on@failure{1}%
-    \iftikzexternal@file@isuptodate
-        \iftikzexternal@verboseio
-            \pgf@typeout{===== Image '\tikzexternal@curfilename' is up-to-date. ======}%
-        \fi
-        \let\pgf@filename=\tikzexternal@curfilename
-    \else
-        \begingroup
-        % no such image. Generate it!
-        %
-        \tikzexternalauxlock@setlock1%
-        \tikzexternal@externalizefig@systemcall@call{\tikzexternal@cursyscall}%
-        \tikzexternalauxlock@setlock0%
-        \expandafter\tikzexternal@externalizefig@systemcall@assertsuccess\expandafter{\tikzexternal@cursyscall}%
-        \pgfmath@smuggleone\pgf@filename
-        \endgroup
-    \fi
-    \ifx\pgf@filename\pgfutil@empty
-        \if1\tikzexternal@typeset@picture@on@failure
-            % error recovery: something did not work! Try to load it
-            % anyway. Perhaps it was just that shell-escape wasn't
-            % enabled.
-            \begingroup
-            \toks0={%
-                \tikzexternaldisable
-            }%
-            % FIXME : THIS WILL FAIL IF THERE IS '##' INSIDE OF '#1'!
-            % for example something like /.style={#1} in the picture environment *will* fail.
-            \toks1={%
-                \tikzpicture
-                #1%
-            }%
-            \toks2={%
-                \tikzexternal@TEXDIALECT@endpicture
-                \tikzexternalenable
-            }%
-            \xdef\tikzexternal@externalizefig@systemcall@next{%
-                \the\toks0
-                %  try reading them again as if they were in the input file.
-                \noexpand\pgfutil@scantokens{\the\toks1 }%
-                \the\toks2
-            }%
-            \endgroup
-        \else
-            % Ah -- this picture failed, but the failure has already
-            % been handled somehow. Do not typeset it again!
-            %
-            % A use-case is that the picture has been rescheduled for
-            % \end{document}.
-            \gdef\tikzexternal@externalizefig@systemcall@next{\tikzexternal@closeenvironments}%
-        \fi
-    \else
-        % ok, take the image!
-        \gdef\tikzexternal@systemcall@reschedule@to@end@document{0}%
-        \expandafter\pgfincludeexternalgraphics\expandafter{\tikzexternal@curfilename}%
-        \if1\tikzexternal@systemcall@reschedule@to@end@document
-            \pgfutil@IfUndefined{AtVeryEndDocument}{%
-            }{%
-                \pgf@typeout{===== The previous system call resulted in undefined references inside of the output file. Rescheduling it for \string\end{document}. ========}%
-                \expandafter\tikzexternal@externalizefig@systemcall@reschedule\expandafter{\tikzexternal@cursyscall}%
-            }%
-        \fi
-        \gdef\tikzexternal@externalizefig@systemcall@next{\tikzexternal@closeenvironments}%
-    \fi
-    \tikzexternal@externalizefig@systemcall@next
+	\tikzexternal@externalizefig@systemcall@uptodatecheck{#1}%
+	\tikzexternal@assemble@systemcall{\tikzexternal@curfilename}{\pgf@tempa}%
+	\global\let\tikzexternal@cursyscall=\pgf@tempa
+	\gdef\tikzexternal@typeset@picture@on@failure{1}%
+	\iftikzexternal@file@isuptodate
+		\iftikzexternal@verboseio
+			\pgf@typeout{===== Image '\tikzexternal@curfilename' is up-to-date. ======}%
+		\fi
+		\let\pgf@filename=\tikzexternal@curfilename
+	\else
+		\begingroup
+		% no such image. Generate it!
+		%
+		\tikzexternalauxlock@setlock1%
+		\tikzexternal@externalizefig@systemcall@call{\tikzexternal@cursyscall}%
+		\tikzexternalauxlock@setlock0%
+		\expandafter\tikzexternal@externalizefig@systemcall@assertsuccess\expandafter{\tikzexternal@cursyscall}%
+		\pgfmath@smuggleone\pgf@filename
+		\endgroup
+	\fi
+	\ifx\pgf@filename\pgfutil@empty
+		\if1\tikzexternal@typeset@picture@on@failure
+			% error recovery: something did not work! Try to load it
+			% anyway. Perhaps it was just that shell-escape wasn't
+			% enabled.
+			\begingroup
+			\toks0={%
+				\tikzexternaldisable
+				\pgfutil@ifundefined{scantokens}{\long\def\scantokens##1{##1}}{}%
+			}%
+			% FIXME : THIS WILL FAIL IF THERE IS '##' INSIDE OF '#1'!
+			% for example something like /.style={#1} in the picture environment *will* fail.
+			\toks1={%
+				\tikzpicture
+				#1%
+			}%
+			\toks2={%
+				\tikzexternal@TEXDIALECT@endpicture
+				\tikzexternalenable
+			}%
+			\xdef\tikzexternal@externalizefig@systemcall@next{%
+				\the\toks0
+				%  try reading them again as if they were in the input file.
+				\noexpand\scantokens{\the\toks1 }%
+				\the\toks2
+			}%
+			\endgroup
+		\else
+			% Ah -- this picture failed, but the failure has already
+			% been handled somehow. Do not typeset it again!
+			%
+			% A use-case is that the picture has been rescheduled for
+			% \end{document}.
+			\gdef\tikzexternal@externalizefig@systemcall@next{\tikzexternal@closeenvironments}%
+		\fi
+	\else
+		% ok, take the image!
+		\gdef\tikzexternal@systemcall@reschedule@to@end@document{0}%
+		\expandafter\pgfincludeexternalgraphics\expandafter{\tikzexternal@curfilename}%
+		\if1\tikzexternal@systemcall@reschedule@to@end@document
+			\pgfutil@IfUndefined{AtVeryEndDocument}{%
+			}{%
+				\pgf@typeout{===== The previous system call resulted in undefined references inside of the output file. Rescheduling it for \string\end{document}. ========}%
+				\expandafter\tikzexternal@externalizefig@systemcall@reschedule\expandafter{\tikzexternal@cursyscall}%
+			}%
+		\fi
+		\gdef\tikzexternal@externalizefig@systemcall@next{\tikzexternal@closeenvironments}%
+	\fi
+	\tikzexternal@externalizefig@systemcall@next
 }%
 
 \def\tikzexternal@externalizefig@systemcall@call#1{%
-    \iftikzexternal@verboseio
-        \pgf@typeout{===== 'mode=convert with system call': Invoking '#1' ========}%
-    \fi
-    \pgfutil@shellescape{#1}%
+	\iftikzexternal@verboseio
+		\pgf@typeout{===== 'mode=convert with system call': Invoking '#1' ========}%
+	\fi
+	\pgfutil@shellescape{#1}%
 }%
 
 % Sets \iftikzexternal@file@isuptodate to false if one of the "force
 % remake" things is active.
 \def\tikzexternal@checkforceremake{%
-    \iftikzexternal@force@remake
-        \global\tikzexternal@file@isuptodatefalse
-    \else
-        \iftikzexternalremakenext
-            \global\tikzexternal@file@isuptodatefalse
-            \global\tikzexternalremakenextfalse
-        \fi
-    \fi
+	\iftikzexternal@force@remake
+		\global\tikzexternal@file@isuptodatefalse
+	\else
+		\iftikzexternalremakenext
+			\global\tikzexternal@file@isuptodatefalse
+			\global\tikzexternalremakenextfalse
+		\fi
+	\fi
 }
 
 \pgfutil@IfUndefined{pdfmdfivesum}{%
 }{%
-    % predefine to this value. This does only make sense for pdftex.
-    % note that the latex library for 'external' loads \usepackage{pdftexcmds} which \let's this to \pdf@mdfivesum:
-    \let\tikzexternal@mdfivesum=\pdfmdfivesum
+	% predefine to this value. This does only make sense for pdftex.
+	% note that the latex library for 'external' loads \usepackage{pdftexcmds} which \let's this to \pdf@mdfivesum:
+	\let\tikzexternal@mdfivesum=\pdfmdfivesum
 }%
 
 \long\def\tikzexternal@computemdfivesum#1{%
-    \t@tikzexternal@tmpb={#1}%
-    \edef\tikzexternal@temp{\the\t@tikzexternal@tmpb}%
-    % \meaning results in a string of catcode 12 - which is expandable.
-    \edef\pgfretval{\tikzexternal@mdfivesum{\meaning\tikzexternal@temp}}%
+	\t@tikzexternal@tmpb={#1}%
+	\edef\tikzexternal@temp{\the\t@tikzexternal@tmpb}%
+	% \meaning results in a string of catcode 12 - which is expandable.
+	\edef\pgfretval{\tikzexternal@mdfivesum{\meaning\tikzexternal@temp}}%
 }
 \long\def\tikzexternal@computemdfivesum@diff@fallback#1{%
-    \t@tikzexternal@tmpb={#1}%
-    \edef\tikzexternal@temp{\the\t@tikzexternal@tmpb}%
-    % \meaning results in a string of catcode 12 - which is expandable.
-    \edef\pgfretval{\meaning\tikzexternal@temp}%
+	\t@tikzexternal@tmpb={#1}%
+	\edef\tikzexternal@temp{\the\t@tikzexternal@tmpb}%
+	% \meaning results in a string of catcode 12 - which is expandable.
+	\edef\pgfretval{\meaning\tikzexternal@temp}%
 }
 
 % Will be set dynamically, depending on 'up to date check'.
@@ -1506,146 +1507,146 @@
 % It is used as argument for \write{..}
 %
 % #1 the hash key to serialize.
-% \def\tikzexternal@hashfct@serialize
+% \def\tikzexternal@hashfct@serialize 
 \long\def\tikzexternal@hashfct@serialize@std#1{%
-    \noexpand\def\noexpand\tikzexternallastkey{#1}%
+	\noexpand\def\noexpand\tikzexternallastkey{#1}%
 }%
 
 % serializes using temporary token registers. Necessary if #1 contains
 % executable code.
 \long\def\tikzexternal@hashfct@serialize@tok#1{%
-    \noexpand\begingroup
-        % in order to allow '#' inside of the body, we have to use token registers:
-        \noexpand\toks0={#1}%
-        \noexpand\xdef\noexpand\tikzexternallastkey{\noexpand\the\noexpand\toks0 }%
-    \noexpand\endgroup
+	\noexpand\begingroup
+		% in order to allow '#' inside of the body, we have to use token registers:
+		\noexpand\toks0={#1}%
+		\noexpand\xdef\noexpand\tikzexternallastkey{\noexpand\the\noexpand\toks0 }%
+	\noexpand\endgroup
 }%
 
 \def\tikzexternal@check@uptodate@ext{.md5}
 
-\def\tikzexternal@check@uptodate@mode@warn@fallback{%
-    \message{Package tikz Warning: The key 'up to date check=md5' is impossible, there is no macro to compute MD5. Falling back to 'up to date check=diff'.}%
-    %
-    % warn only once:
-    \global\let\tikzexternal@check@uptodate@mode@warn@fallback=\relax
+\def\tikzexternal@check@uptodate@mode@warn@fallback{%	
+	\message{Package tikz Warning: The key 'up to date check=md5' is impossible, there is no macro to compute MD5. Falling back to 'up to date check=diff'.}%
+	%
+	% warn only once:
+	\global\let\tikzexternal@check@uptodate@mode@warn@fallback=\relax
 }%
 
 % assigns the boolean \iftikzexternal@file@isuptodate
 \long\def\tikzexternal@check@uptodate@mode#1{%
-    \if1\tikzexternal@uptodate@mode
-        % up to date check=md5:
-        % check if we CAN compute MD5 sums:
-        \pgfutil@IfUndefined{tikzexternal@mdfivesum}{%
-            % we cannot compute md5 sums - fallback to diff.
-            \tikzexternal@check@uptodate@mode@warn@fallback
-            \def\tikzexternal@uptodate@mode{2}%
-        }{}%
-    \fi
-    %
-    \ifcase\tikzexternal@uptodate@mode
-        % up to date check=simple
-        % nothing to do -- file existence is checked anyway.
-        \let\tikzexternal@hashfct=\pgfutil@empty
-        \let\tikzexternal@hashfct@serialize=\pgfutil@empty
-    \or
-        % up to date check=md5
-        \let\tikzexternal@hashfct=\tikzexternal@computemdfivesum
-        \let\tikzexternal@hashfct@serialize=\tikzexternal@hashfct@serialize@std
-    \or
-        \let\tikzexternal@hashfct=\tikzexternal@computemdfivesum@diff@fallback
-        \let\tikzexternal@hashfct@serialize=\tikzexternal@hashfct@serialize@tok
-    \fi
-    \ifx\tikzexternal@hashfct\pgfutil@empty
-    \else
-        \tikzpicturedependsonfile{\tikzexternal@curfilename\tikzexternal@check@uptodate@ext}%
-        \tikzexternal@hashfct{#1}%
-        \let\tikzexternal@lastkey@new=\pgfretval
-        \begingroup
-        % no '@' token in this macro: avoid messing up the catcodes in input files:
-        \global\let\tikzexternallastkey=\pgfutil@empty
-        \openin\r@pgf@reada=\tikzexternal@curfilename\tikzexternal@check@uptodate@ext\relax %
-        \ifeof\r@pgf@reada
-        \else
-            % read first line...
-            \endlinechar=-1 % older versions did not have a '%' at the end-of-line. Avoid spurious spaces.
-            \read\r@pgf@reada to\pgf@tempa
-            % ... and execute it.
-            \pgf@tempa
-            % it should contain a definition of \tikzexternallastkey.
-        \fi
-        \closein\r@pgf@reada
-        %
-        \let\tikzexternal@lastkey=\tikzexternallastkey
-        \pgfmath@smuggleone\tikzexternal@lastkey
-        \endgroup
-        % normalize catcodes. Unfortunately, they cannot be expected to be the same.
-        % \meaning will use catcode 12 for each token:
-        \edef\tikzexternal@lastkey@normalized{\meaning\tikzexternal@lastkey}%
-        \edef\tikzexternal@lastkey@new@normalized{\meaning\tikzexternal@lastkey@new}%
-        \iftikzexternal@verboseuptodate
-            \pgf@typeout{Up-to-date check of \tikzexternal@curfilename: new \tikzexternal@lastkey@new@normalized; old \tikzexternal@lastkey@normalized.^^J}%
-        \fi
-        \ifx\tikzexternal@lastkey@normalized\tikzexternal@lastkey@new@normalized
-            \tikzexternal@file@isuptodatetrue
-        \else
-            \tikzexternal@file@isuptodatefalse
-            \immediate\openout\w@pgf@writea=\tikzexternal@curfilename\tikzexternal@check@uptodate@ext\relax%
-            \immediate\write\w@pgf@writea{\tikzexternal@hashfct@serialize{\tikzexternal@lastkey@new}\tikzexternal@PERCENTchar}%
-            \immediate\closeout\w@pgf@writea
-        \fi
-    \fi
+	\if1\tikzexternal@uptodate@mode
+		% up to date check=md5:
+		% check if we CAN compute MD5 sums:
+		\pgfutil@IfUndefined{tikzexternal@mdfivesum}{%
+			% we cannot compute md5 sums - fallback to diff.
+			\tikzexternal@check@uptodate@mode@warn@fallback
+			\def\tikzexternal@uptodate@mode{2}%
+		}{}%
+	\fi
+	%
+	\ifcase\tikzexternal@uptodate@mode
+		% up to date check=simple
+		% nothing to do -- file existance is checked anyway.
+		\let\tikzexternal@hashfct=\pgfutil@empty
+		\let\tikzexternal@hashfct@serialize=\pgfutil@empty
+	\or
+		% up to date check=md5
+		\let\tikzexternal@hashfct=\tikzexternal@computemdfivesum
+		\let\tikzexternal@hashfct@serialize=\tikzexternal@hashfct@serialize@std
+	\or
+		\let\tikzexternal@hashfct=\tikzexternal@computemdfivesum@diff@fallback
+		\let\tikzexternal@hashfct@serialize=\tikzexternal@hashfct@serialize@tok
+	\fi
+	\ifx\tikzexternal@hashfct\pgfutil@empty
+	\else
+		\tikzpicturedependsonfile{\tikzexternal@curfilename\tikzexternal@check@uptodate@ext}%
+		\tikzexternal@hashfct{#1}%
+		\let\tikzexternal@lastkey@new=\pgfretval
+		\begingroup
+		% no '@' token in this macro: avoid messing up the catcodes in input files:
+		\global\let\tikzexternallastkey=\pgfutil@empty
+		\openin\r@pgf@reada=\tikzexternal@curfilename\tikzexternal@check@uptodate@ext\relax %
+		\ifeof\r@pgf@reada
+		\else
+			% read first line...
+			\endlinechar=-1 % older versions did not have a '%' at the end-of-line. Avoid spurious spaces.
+			\read\r@pgf@reada to\pgf@tempa
+			% ... and execute it.
+			\pgf@tempa
+			% it should contain a definition of \tikzexternallastkey.
+		\fi
+		\closein\r@pgf@reada
+		%
+		\let\tikzexternal@lastkey=\tikzexternallastkey
+		\pgfmath@smuggleone\tikzexternal@lastkey
+		\endgroup
+		% normalize catcodes. Unfortunately, they cannot be expected to be the same.
+		% \meaning will use catcode 12 for each token:
+		\edef\tikzexternal@lastkey@normalized{\meaning\tikzexternal@lastkey}%
+		\edef\tikzexternal@lastkey@new@normalized{\meaning\tikzexternal@lastkey@new}%
+		\iftikzexternal@verboseuptodate
+			\pgf@typeout{Up-to-date check of \tikzexternal@curfilename: new \tikzexternal@lastkey@new@normalized; old \tikzexternal@lastkey@normalized.^^J}%
+		\fi
+		\ifx\tikzexternal@lastkey@normalized\tikzexternal@lastkey@new@normalized
+			\tikzexternal@file@isuptodatetrue
+		\else
+			\tikzexternal@file@isuptodatefalse
+			\immediate\openout\w@pgf@writea=\tikzexternal@curfilename\tikzexternal@check@uptodate@ext\relax%
+			\immediate\write\w@pgf@writea{\tikzexternal@hashfct@serialize{\tikzexternal@lastkey@new}\tikzexternal@PERCENTchar}%
+			\immediate\closeout\w@pgf@writea
+		\fi
+	\fi
 }
 
 % Checks whether the current picture needs to be externalized.
-%
-% This is the case if
+% 
+% This is the case if 
 % a) there is no external image yet,
 % b) the picture has been invalidated manually.
 %
 % It returns \iftikzexternal@file@isuptodate accordingly.
 % #1: the picture-content
 \long\def\tikzexternal@externalizefig@systemcall@uptodatecheck#1{%
-    \tikzexternal@check@uptodate@mode{#1}%
-    \tikzexternal@checkforceremake
-    \iftikzexternal@file@isuptodate
-        % check if there is already a file.
-        % In that case, use it. If that is not the case, generate it and include it afterwards.
-        \gdef\pgf@filename{}%
-        \xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
-        \pgf@tempa
-        \ifx\pgf@filename\pgfutil@empty%
-            \global\tikzexternal@file@isuptodatefalse
-        \fi
-    \fi
+	\tikzexternal@check@uptodate@mode{#1}%
+	\tikzexternal@checkforceremake
+	\iftikzexternal@file@isuptodate
+		% check if there is already a file.
+		% In that case, use it. If that is not the case, generate it and include it afterwards.
+		\gdef\pgf@filename{}%
+		\xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
+		\pgf@tempa
+		\ifx\pgf@filename\pgfutil@empty%
+			\global\tikzexternal@file@isuptodatefalse
+		\fi
+	\fi
 }%
 
 % \pgf@filename will be empty if the assertion failed.
 \def\tikzexternal@externalizefig@systemcall@assertsuccess#1{%
-    % check if there is a file now and raise an error message if not.
-    \gdef\pgf@filename{}%
-    \xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
-    \pgf@tempa
-    \ifx\pgf@filename\pgfutil@empty%
-        \tikzexternal@externalizefig@systemcall@handleexception{#1}%
-    \fi
+	% check if there is a file now and raise an error message if not.
+	\gdef\pgf@filename{}%
+	\xdef\pgf@tempa{\noexpand\pgf@findfile\pgfsys@imagesuffixlist:+{\tikzexternal@curfilename}}%
+	\pgf@tempa
+	\ifx\pgf@filename\pgfutil@empty%
+		\tikzexternal@externalizefig@systemcall@handleexception{#1}%
+	\fi
 }%
 \def\tikzexternal@externalizefig@systemcall@handleexception@msg#1{%
-    \tikzerror{Sorry, the system call '#1' did NOT result in a usable output file '\tikzexternal@curfilename' (expected one of \pgfsys@imagesuffixlist). Please verify that you have enabled system calls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also named 'write 18' or something like that. Or maybe the command simply failed? Error messages can be found in '\tikzexternal@curfilename.log'. If you continue now, I'll try to typeset the picture}{}%
+	\tikzerror{Sorry, the system call '#1' did NOT result in a usable output file '\tikzexternal@curfilename' (expected one of \pgfsys@imagesuffixlist). Please verify that you have enabled system calls. For pdflatex, this is 'pdflatex -shell-escape'. Sometimes it is also named 'write 18' or something like that. Or maybe the command simply failed? Error messages can be found in '\tikzexternal@curfilename.log'. If you continue now, I'll try to typeset the picture}{}%
 }
 \def\tikzexternal@externalizefig@systemcall@handleexception@retry@later#1{%
-    \gdef\tikzexternal@systemcall@reschedule@to@end@document{0}%
-    \expandafter\pgfexternalreaddpth\expandafter{\tikzexternal@curfilename}%
-    \if1\tikzexternal@systemcall@reschedule@to@end@document
-        \pgfutil@IfUndefined{AtVeryEndDocument}{%
-            \tikzexternal@externalizefig@systemcall@handleexception@msg{#1}%
-        }{%
-            \pgf@typeout{===== The last system call resulted in an EMPTY output file. Maybe it is part of \string\ref. Rescheduling it for \string\end{document}. ========}%
-            \gdef\tikzexternal@typeset@picture@on@failure{0}%
-            \tikzexternal@externalizefig@systemcall@reschedule{#1}%
-        }%
-    \else
-        \tikzexternal@externalizefig@systemcall@handleexception@msg{#1}%
-    \fi
+	\gdef\tikzexternal@systemcall@reschedule@to@end@document{0}%
+	\expandafter\pgfexternalreaddpth\expandafter{\tikzexternal@curfilename}%
+	\if1\tikzexternal@systemcall@reschedule@to@end@document
+		\pgfutil@IfUndefined{AtVeryEndDocument}{%
+			\tikzexternal@externalizefig@systemcall@handleexception@msg{#1}%
+		}{%
+			\pgf@typeout{===== The last system call resulted in an EMPTY output file. Maybe it is part of \string\ref. Rescheduling it for \string\end{document}. ========}%
+			\gdef\tikzexternal@typeset@picture@on@failure{0}%
+			\tikzexternal@externalizefig@systemcall@reschedule{#1}%
+		}%
+	\else
+		\tikzexternal@externalizefig@systemcall@handleexception@msg{#1}%
+	\fi
 }
 
 % reschedules the externalization of the current file to
@@ -1654,58 +1655,58 @@
 % This hook allows to execute code AFTER the main .aux file is
 % finished; it will even re-read the main aux file.
 \def\tikzexternal@externalizefig@systemcall@reschedule#1{%
-    \t@tikzexternal@tmpb={%
-        \global\let\tikzexternal@externalizefig@systemcall@handleexception=\tikzexternal@externalizefig@systemcall@handleexception@msg%
-        % ... no auxlocks!
-        \tikzexternal@externalizefig@systemcall@call{#1}%
-        \tikzexternal@externalizefig@systemcall@assertsuccess{#1}%
-    }%
-    \xdef\pgfutil@tempa{%
-        \noexpand\def\noexpand\tikzexternal@curfilename{\tikzexternal@curfilename}%
-        \the\t@tikzexternal@tmpb
-    }%
-    \expandafter\AtVeryEndDocument\expandafter{\pgfutil@tempa}%
-    \gdef\tikzexternal@has@rescheduled@something{1}%
+	\t@tikzexternal@tmpb={%
+		\global\let\tikzexternal@externalizefig@systemcall@handleexception=\tikzexternal@externalizefig@systemcall@handleexception@msg%
+		% ... no auxlocks!
+		\tikzexternal@externalizefig@systemcall@call{#1}%
+		\tikzexternal@externalizefig@systemcall@assertsuccess{#1}%
+	}%
+	\xdef\pgfutil@tempa{%
+		\noexpand\def\noexpand\tikzexternal@curfilename{\tikzexternal@curfilename}%
+		\the\t@tikzexternal@tmpb
+	}%
+	\expandafter\AtVeryEndDocument\expandafter{\pgfutil@tempa}%
+	\gdef\tikzexternal@has@rescheduled@something{1}%
 }%
 \let\tikzexternal@externalizefig@systemcall@handleexception=\tikzexternal@externalizefig@systemcall@handleexception@retry@later%
 
 \def\tikzexternal@has@rescheduled@something{0}%
 \pgfutil@IfUndefined{AtVeryEndDocument}{}{%
-    \AtVeryEndDocument{%
-        \if1\tikzexternal@has@rescheduled@something
-            \pgf@typeout{===== tikzexternal: \string\end{document} reached. Working on rescheduled images to resolve references... ========}%
-        \fi
-    }%
+	\AtVeryEndDocument{%
+		\if1\tikzexternal@has@rescheduled@something
+			\pgf@typeout{===== tikzexternal: \string\end{document} reached. Working on rescheduled images to resolve references... ========}%
+		\fi
+	}%
 }
 
 % Overwrite error message of pgf.
 % This happens if the generated image was empty, i.e. if there was no \shipout.
 \def\pgfexternal@error@no@shipout{%
-    \begingroup
-        \begingroup
-        % overwrite .dpth file in order to flag the file as "need to be scheduled
-        % for \AtVeryEndDocument" :
-        \immediate\openout\pgf@plotwrite=\pgfactualjobname.dpth
-        \let\w@pgfexternal@auxout=\pgf@plotwrite
-        \pgfexternalstorecommand@isexporting{\gdef\noexpand\tikzexternal@systemcall@reschedule@to@end@document{1}}%
-        \immediate\closeout\pgf@plotwrite
-        \endgroup
-    \tikzexternal@assemble@systemcall{\pgfactualjobname}{\pgf@tempa}%
-    \toks0=\expandafter{\pgf@tempa}%
-    \tikzerror{Sorry, image externalization failed: the resulting image was EMPTY. I tried to externalize '\pgfactualjobname', but it seems there is no such image in the document!?
+	\begingroup
+		\begingroup
+		% overwrite .dpth file in order to flag the file as "need to be scheduled
+		% for \AtVeryEndDocument" :
+		\immediate\openout\pgf@plotwrite=\pgfactualjobname.dpth
+		\let\w@pgfexternal@auxout=\pgf@plotwrite
+		\pgfexternalstorecommand@isexporting{\gdef\noexpand\tikzexternal@systemcall@reschedule@to@end@document{1}}%
+		\immediate\closeout\pgf@plotwrite
+		\endgroup
+	\tikzexternal@assemble@systemcall{\pgfactualjobname}{\pgf@tempa}%
+	\toks0=\expandafter{\pgf@tempa}%
+	\tikzerror{Sorry, image externalization failed: the resulting image was EMPTY. I tried to externalize '\pgfactualjobname', but it seems there is no such image in the document!?
  \if\tikzexternal@opmode4 ^^J
-\space\space You are currently using 'mode=convert with system call'. This problem can happen if the image (or one of the images preceding it) was declared inside of a \string\label{} (i.e. in the .aux file): 'convert with system call' has no access to the main aux file.^^J
+\space\space You are currently using 'mode=convert with system call'. This problem can happen if the image (or one of the images preceeding it) was declared inside of a \string\label{} (i.e. in the .aux file): 'convert with system call' has no access to the main aux file.^^J
 \space\space Possible solutions in this case:^^J
 \space\space (a) Try using 'mode=list and make',^^J
-\space\space (b) Issue the externalization command '\the\toks0' *manually* (also check the preceding externalized images, perhaps the file name sequence is not correct).^^J
+\space\space (b) Issue the externalization command '\the\toks0' *manually* (also check the preceeding externalized images, perhaps the file name sequence is not correct).^^J
 \space\space Repeat: the resulting image was EMPTY, your attention is required
 \else
-    \if\tikzexternal@opmode5 ^^J
+	\if\tikzexternal@opmode5 ^^J
 \space\space You are currently using 'mode=list and make'. Possible solutions:^^J
 \space\space (a) Try to delete `\tikzexternal@realjob.makefile'. Perhaps it is not up-to-date.^^J
 \space\space (b) Perhaps pictures are declared inside of \string\label{} and the .aux file is not up-to-date. Re-run latex, perhaps re-generate the graphics as well.^^J
 \space\space Repeat: the resulting image was EMPTY, your attention is required
-    \fi
+	\fi
 \fi}%
-    \endgroup
+	\endgroup
 }%
-- 
cgit v1.2.3

