\mmz@pgfsys@getposition
isn't linked to \pgfsys@getposition
. \usepackage[extract=python]{memoize} \mmzset{% path={dir=memos}, auto=\cref{multiref}, auto=\Cref{multiref}, auto=\labelcref{multiref}, auto=\cpageref{multiref}, auto=\labelcpageref{multiref}, auto=\namecref{ref}, auto=\nameCref{ref}, auto=\namecrefs{ref}, auto=\nameCrefs{ref}, auto=\lcnamecrefs{ref}, auto=\lcnamecrefs{ref}, auto=\crefrange{refrange}, auto=\cpagerefrange{refrange}, auto=\Cpagerefrange{refrange}, mkdir, deactivate csname=pgfsys@getposition, }
\documentclass{article} \usepackage{memoize} \mmzset{% path={dir=memos}, mkdir, } \usepackage{tikz} \makeindex \begin{document} \begin{tikzpicture}[remember picture,overlay] \draw [green] circle (50pt); \end{tikzpicture}% \begin{tikzpicture} \draw [cyan] circle (50pt); \end{tikzpicture}% \begin{tikzpicture} \draw [blue] circle (50pt); \end{tikzpicture}% \begin{tikzpicture}[remember picture,overlay] \draw [magenta] circle (50pt); \end{tikzpicture}% \end{document}
memos/
and compiled again, I should get 3 pictures aborted. (I could then test whatever.) Package memoize Warning: The compilation produced 2 new externs. on input line 674. grep pgfsys prawf.aux \pgfsyspdfmark {pgfid1}{9782558}{37309645} \pgfsyspdfmark {pgfid4}{22942186}{37309645}
grep pgfsys prawf.aux \pgfsyspdfmark {pgfid1}{9782558}{37309645} \pgfsyspdfmark {pgfid2}{9782558}{36523213}
rm memos/*
and recompile. I expected the first, second and fourth pictures to be aborted and the third to be memoized. Because the second picture will get pgfid2
and memoize
will match that against the corresponding line in the .aux
file. So it will abort, even though the positioning marker has nothing to do with this picture. Package memoize Warning: The compilation produced 2 new externs. on input line 673. grep pgfsys prawf.aux \pgfsyspdfmark {pgfid1}{9782558}{37309645} \pgfsyspdfmark {pgfid4}{22942186}{37309645}
\documentclass{article} \usepackage{memoize} \mmzset{ deactivate csname/.style={deactivate/.expand once={\csname#1\endcsname}}, % so that it runs on 1.0.0 deactivate csname=pgfsys@getposition, } \usepackage{tikz} \begin{document} \section{Foo} \label{sec:foo} \begin{tikzpicture} \node(blue)[blue,circle,draw]{memoized first}; \end{tikzpicture}% \begin{tikzpicture}[remember picture] \node(green)[green,circle,draw]{remember picture}; \end{tikzpicture}% \begin{tikzpicture}% [remember picture,overlay] % if this was uncommented, there would be no problem
remember picture
and got memoized. FYI, I attach a some code illustrating the problem — but I'm unable to reconstruct the part of the original where the final result was pretty enough to fool me into thinking that \pgfsys@getposition
is doing a real job. green
is in the current picture and performs a wrong shift.