Я модифицировал код для вращения примитивной формы «спички» (адаптированный из кода вращения камеры, найденного здесь (Используйте пользовательскую форму в качестве «строительного блока»).
Как мне передать параметр метки в область видимости, чтобы каждое совпадение было разным числом. Теперь все узлы жестко закодированы на '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}