Ich möchte auf einem Tikz-Spion zeichnen und die neue Zeile sollte seinAbdeckungdie vom Spion kopierten. Beispiel:
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{spy,shapes}
\pgfdeclarelayer{bg} % declare background layer
\pgfsetlayers{bg,main} % set the order of the layers (main is the standard layer)
\begin{document}
\begin{tikzpicture}[spy using outlines={rectangle, width=4.5cm, height=3cm, magnification=4, connect spies,every spy on node/.append style={thin}},hide/.style={opacity=1}]
\begin{scope}
\draw circle (8) node[yshift=8.8cm,align=center] {};
\draw circle (8.2) node {};
\draw (-5,7.4) -- (5,7.4);
\end{scope}
%\begin{pgfonlayer}{bg} % select the background layer
\spy [black] on (-3.4,7.4) in node (spyleft) [left] at (-0.5,4.5);
%\end{pgfonlayer}
%\begin{pgfonlayer}{main} % select the main layer
\draw[line width=2pt,color=blue] (-3.3,4.5) -- (-1.35,4.5) -- (-1.35,5.35) -- cycle;
%\end{pgfonlayer}
\end{tikzpicture}
\end{document}
sollte das blaue Dreieck über den schwarzen Linien haben. Die Teile der Zeichnung explizit in eine Ebene zu legen, scheint nicht zu helfen. Gibt es eine spezielle Spionageebene, die ich ansprechen könnte?
(Idealerweise hätte ich auch gerne, dass die Ecken des Dreiecks durch die Schnittpunkte der Kreise und der Linie definiert werden, aber derzeit positioniere ich es gerne von Hand, wenn ich nur die Ebenen richtig hinbekomme …)
Antwort1
Deklarieren Sie eine Vordergrundebene und platzieren Sie das blaue Dreieck auf dieser Ebene.
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{spy,shapes}
\pgfdeclarelayer{fg} % declare foreground layer
\pgfsetlayers{main,fg} % set the order of the layers (main is the standard layer)
\begin{document}
\begin{tikzpicture}[spy using outlines={rectangle, width=4.5cm, height=3cm, magnification=4, connect spies,every spy on node/.append style={thin}},hide/.style={opacity=1}]
\begin{scope}
\draw circle (8) node[yshift=8.8cm,align=center] {};
\draw circle (8.2) node {};
\draw (-5,7.4) -- (5,7.4);
\end{scope}
\spy [black] on (-3.4,7.4) in node (spyleft) [left] at (-0.5,4.5);
\begin{pgfonlayer}{fg} % select the main layer
\draw[line width=2pt,blue] (-3.3,4.5) -- (-1.35,4.5) -- (-1.35,5.35) -- cycle;
\end{pgfonlayer}
\end{tikzpicture}
\end{document}