Warum läuft ein Pfad in einem TikZ-Bild über?

Warum läuft ein Pfad in einem TikZ-Bild über?

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}

Bildbeschreibung hier eingeben

miter limitSie können auch das Vielfache der Linienbreite ändern, ab dem die miterLinienverbindung durch eine bevelLinienverbindung 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}

Bildbeschreibung hier eingeben

Diese Parameter können auf der Ebene des Pfads oder einzelner Pfade festgelegt tikzpicturewerden scope.

verwandte Informationen