다른 tikz 사진에 재사용하고 싶은 작은 이미지가 있습니다.
img.tex 파일에 다음이 포함되어 있다고 가정해 보겠습니다.
\begin{tikzpicture}
\draw (0,0) circle (1);
\end{tikzpicture}
다른 이미지의 여러 위치에 나타나기를 원합니다.
\newcommand\mycuteimage[1]{\scalebox{#1}{\input{img}}}
\begin{tikzpicture}
\draw (0,0) grid (10, 1);
\foreach \x in {2,5,9}
{
\node at (\x - 0.5, 0.5) {\mycuteimage{0.1}};
}
\end{tikzpicture}
삽입된 이미지의 색상(예: 때로는 빨간색, 때로는 파란색)을 어떻게든 설정할 수 있나요?
예:
\mycuteimage[blue]{0.1}
사용해 봤습니다
{\color{blue} \mycuteimage{0.1}}
하지만 색상을 지정하지 않은 선의 색상만 변경됩니다. 즉, 원본 이미지에서 일부 요소가 빨간색인 경우 빨간색으로 유지됩니다.
답변1
귀하의 제안에는 tikzpicture
피해야 하는 s가 중첩되어 있습니다. 티케이Z는 pic
그러한 목적을 위해 s를 가지고 있습니다.
\documentclass[tikz,border=3.14mm]{standalone}
\begin{document}
\tikzset{pics/.cd,
my cute pic/.style={code={
\draw (0,0) circle (1);
}}}
\begin{tikzpicture}
\draw (0,0) grid (10, 1);
\edef\LstColors{{"red","green","blue"}}
\foreach \X [count=\Y starting from 0]in {2,5,9}
{
\pgfmathsetmacro{\mycolor}{\LstColors[\Y]}
\pic at (\X - 0.5, 0.5) [scale=0.1,color=\mycolor]{my cute pic};
}
\end{tikzpicture}
\end{document}
pics
매개변수도 사용합니다.