Tikz - あらゆる画像スタイルの例外

Tikz - あらゆる画像スタイルの例外

every pictureおよびoverlay引数を実装しましたremember picture。これらの 2 つの引数から特定の tikz 画像に対して例外を実現するにはどうすればよいか疑問に思っています。たとえば、減算引数 (not useoverlayおよび/または not use remember picture) を定義するか、コンテンツ全体をオフセットする引数によって定義しますevery picture。誰か方法を知っていますか?

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}

答え1

の定義を見るとoverlay

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

overlayは の省略形に過ぎないことに気付いたでしょうoverlay=true。したがって、これを元に戻すには を使いますoverlay=false。同じことが にも当てはまります。

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

もちろん、exception両方のキーを に設定するスタイルを定義することもできます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}

関連情報