Im folgenden Pfad gibt es einen kleinen Überlauf des Strichs (1,1) --++(0,-1)
über den Strich hinaus (0,0)--++(2,0)
. Das scheint daran zu liegen, dass ich in meinem zweiten Ausdruck einen Pfad verwende und der folgende Strich seitlich verläuft. Warum ist das so? Wie kann ich das verhindern, während ich weiterhin einen Pfad für die Striche verwende?
\draw (0,0)--++(2,0);
\draw (1,1) --++(0,-1)--++(0.5,0.5)--++(0,-0.5);
Antwort1
Das „Überlaufen“ wird verursacht durch die Art von line join
:
\documentclass[tikz,border=5]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \join [count=\x] in {round, bevel, miter}{
\begin{scope}[shift=(0:\x*3), line width=.25cm, line join=\join]
\draw [opacity=0.5] (0,2) -- (2,0);
\draw [opacity=0.5] (0,0) -- (1,1) -- (1,0);
\node at (1,-1) {\join};
\end{scope}
}
\end{tikzpicture}
\end{document}
miter limit
Sie können auch das Vielfache der Linienbreite ändern, ab dem die miter
Linienverbindung durch eine bevel
Linienverbindung ersetzt wird.
\documentclass[tikz,border=5]{standalone}
\begin{document}
\begin{tikzpicture}
\foreach \m [count=\x] in {0,10}{
\begin{scope}[shift=(0:\x*3), line width=.25cm, line join=miter, miter limit=\m]
\draw [opacity=0.5] (0,2) -- (2,0);
\draw [opacity=0.5] (0,0) -- (1,1) -- (1,0);
\node at (1,-1) {miter limit: \m};
\end{scope}
}
\end{tikzpicture}
\end{document}
Diese Parameter können auf der Ebene des Pfads oder einzelner Pfade festgelegt tikzpicture
werden scope
.