Tikz - Ausnahmen von jedem Bildstil

Tikz - Ausnahmen von jedem Bildstil

Ich habe es für every picturedas overlayund remember picture-Argument implementiert. Ich frage mich, wie ich Ausnahmen für bestimmte Tikz-Bilder von diesen beiden Argumenten erreichen kann. Zum Beispiel durch die Definition eines subtraktiven Arguments (nicht verwenden overlayund/oder nicht verwenden remember picture) oder durch ein Argument, das den gesamten Inhalt ausgleicht every picture. Kennt jemand eine Möglichkeit?

MWE:

\documentclass{beamer}
\usepackage{tikz}

\tikzstyle{every picture}+=[overlay,remember picture]

\begin{document}
\begin{frame}
\tikz \node[circle,fill=blue,minimum size=1cm] at (0,0) {}; 
\end{frame}
\end{document}

Antwort1

Wenn Sie sich die Definition von ansehen overlay,

\tikzset{
    overlay/.is choice,
    overlay/true/.code={\pgf@relevantforpicturesizefalse},
    overlay/false/.code={\pgf@relevantforpicturesizetrue},
    overlay/.default=true
}

Sie erkennen, dass dies overlaynur eine Abkürzung für ist overlay=true. Um es rückgängig zu machen, können Sie also verwenden overlay=false. Die gleichen Aussagen gelten für

\tikzoption{remember picture}[true]{\csname pgfrememberpicturepositiononpage#1\endcsname}

Natürlich können Sie dann einen Stil definieren exception, der beide Schlüssel auf setzt false.

\documentclass{beamer}
\usepackage{tikz}

\tikzset{every picture/.append style={overlay,remember picture},
exception/.style={overlay=false,remember picture=false}}

\begin{document}
\begin{frame}
\begin{tikzpicture}
\node[circle,fill=blue,minimum size=1cm] at (current page.center) {}; 
\end{tikzpicture}

\begin{tikzpicture}[overlay=false,remember picture=false]
\node[circle,fill=red,minimum size=1cm] at (0,0) {}; 
\end{tikzpicture}

\begin{tikzpicture}[exception]
\node[circle,fill=orange,minimum size=1cm] at (0,0) {}; 
\end{tikzpicture}

\end{frame}
\end{document}

verwandte Informationen