기본 '일치' 모양을 회전하기 위한 코드를 수정했습니다(여기에 있는 회전 카메라 코드에서 수정됨(사용자 정의 모양을 "빌딩 블록"으로 사용).
각 일치 항목이 다른 숫자가 되도록 범위에 레이블 매개변수를 전달하려면 어떻게 해야 합니까? 이제 모든 노드는 '2'로 하드코딩됩니다.
저는 TikZ를 처음 사용하기 때문에 어떻게 해야 하는지 정확히 이해할 수 없습니다.
\documentclass{book}
\usepackage{tikz}
\begin{document}
\def\match#1#2{
\begin{scope}[shift={#1}, rotate=#2]
\draw (0,0) rectangle (2.5,0.2);
\draw [fill=black](2.3,0.1) ellipse (0.35 and 0.2) node at (1,0.1)
[fill=white,opacity=.2,text opacity=1,circle, inner sep=0pt,minimum size=1pt]{\textbf{2}};
\end{scope}
}
\begin{tikzpicture}
\match{(0,0)}{45}
\match{(-0.3,-0.18)}{315}
\match{(1.85,2.06)}{315}
\match{(1.89,-1.89)}{45}
\end{tikzpicture}
\end{document}
답변1
노드 텍스트를 세 번째 인수로 전달합니다 \match
.
\documentclass{book}
\usepackage{tikz}
\begin{document}
\newcommand\match[3]{%
\begin{scope}[shift={#1}, rotate=#2]
\draw (0,0) rectangle (2.5,0.2);
\draw [fill=black](2.3,0.1) ellipse (0.35 and 0.2) node at (1,0.1)
[fill=white,%
opacity=.2,%
text opacity=1,%
circle,%
inner sep=0pt,%
minimum size=1pt]{\textbf{#3}};
\end{scope}
}
\begin{tikzpicture}
\match{(0,0)}{45}{4}
\match{(-0.3,-0.18)}{315}{5}
\match{(1.85,2.06)}{315}{3}
\match{(1.89,-1.89)}{45}{1}
\end{tikzpicture}
\end{document}