Tikz - 每种图片风格的例外

Tikz - 每种图片风格的例外

我为andevery picture参数实现了。我想知道如何从这两个参数中实现某些 tikz 图片的例外。例如,通过定义减法参数(不使用and/或不使用)或通过偏移整个内容的参数。有人知道方法吗?overlayremember pictureoverlayremember pictureevery picture

梅威瑟:

\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}

相关内容