나는 tikz-spy를 그리고 싶고 새로운 라인은 다음과 같아야합니다피복스파이가 복사한 것들. 예:
\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}
검은색 선 위에 파란색 삼각형이 있어야 합니다. 도면의 일부를 레이어에 명시적으로 배치하는 것은 도움이 되지 않는 것 같습니다. 제가 해결할 수 있는 특정 스파이 계층이 있나요?
(이상적으로는 원과 선의 교차점으로 삼각형의 모서리를 정의하고 싶지만 지금은 레이어를 올바르게 얻을 수만 있다면 손으로 위치를 지정하는 것이 좋습니다...)
답변1
전경 레이어를 선언하고 해당 레이어에 파란색 삼각형을 배치합니다.
\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}