Ich habe Code zum Drehen einer primitiven „Match“-Form geändert (angepasst an den rotierenden Kameracode, der hier zu finden ist (Verwenden Sie eine benutzerdefinierte Form als „Baustein“).
Wie übergebe ich den Label-Parameter im Bereich, sodass jede Übereinstimmung eine andere Nummer ist? Jetzt sind alle Knoten fest auf „2“ codiert.
Ich bin neu bei TikZ und verstehe daher nicht genau, wie es geht.
\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}
Antwort1
Übergeben Sie den Knotentext als drittes Argument an \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}