Seite 1 von 1
Pfeile beeinflussen
Verfasst: Di 29. Dez 2020, 20:01
von TheMrFeedback
Hallo,
Ich würde gern die Pfeilspitzen mit \usetikzlibrary{arrows.meta} beeinflussen, aber aus mir nicht nachvollziehbaren Gründen hat arrows=-Latex oder auch arrows=Latex- absolut keinen Einflusss auf meine Zeichnung.
Jemand eine Idee was das Problem ist und wie man es umgehen kann?
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles, arrows.meta}
\begin{document}
\begin{tikzpicture}
\path (0,0) coordinate (S);
\draw (S) -- +(68:5.2cm) coordinate (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
\pic[arrows=-Latex, draw=red,<-,angle radius=7mm]{angle = P1--S--A};
\pic[draw=blue,<-,angle radius=4mm]{angle = N--P1--S};
\end{tikzpicture}
\end{document}
Re: Pfeile beeinflussen
Verfasst: Di 29. Dez 2020, 20:52
von gast
Die Optionen werden von vorn nach hinten abgearbeitet. Option <- überschreibt also Option arrows=-Latex.
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles, arrows.meta}
\begin{document}
\begin{tikzpicture}
\path (0,0) coordinate (S);
\draw (S) -- +(68:5.2cm) coordinate (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
\pic[arrows=-Latex, draw=red,angle radius=7mm]{angle = P1--S--A};
\pic[draw=blue,<-,angle radius=4mm]{angle = N--P1--S};
\end{tikzpicture}
\end{document}
BTW: Klasse standalone ist sehr speziell. Wenn sie nicht Teil des Problems ist, sollte man für ein Minimalbeispiel besser eine Standardklasse verwenden. Steht AFAIK auch in der verlinkten Anleitung.
Re: Pfeile beeinflussen
Verfasst: Di 29. Dez 2020, 22:46
von esdd
<- ist eine Kurzform von arrows=<-. Dabei steht < für die voreingestellte Form der Pfeilspitze. Wenn die Pfeilspitze am Anfang des Pfades sein soll, kannst also entweder arrows=Latex- oder kürzer Latex- verwenden. Wie von gast schon geschrieben, muss das spätere <- aber entfernt werden.
Die Voreinstellung für die Pfeilspitze lässt sich mit >=Latex ändern. Die Verwendung von >=Latex bietet sich vor allem dann an, wenn man die Form der Pfeilspitze für die gesamte Zeichnung oder einen Teil davon ändern möchte. Dann genügt es bei den einzelnen Pfaden -> oder <- oder <-> anzugeben.
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles, arrows.meta}
\begin{document}
\begin{tikzpicture}[>=Latex]
\path (0,0) coordinate (S);
\draw (S) -- +(68:5.2cm) coordinate (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
\pic[draw=red,<-,angle radius=7mm]{angle = P1--S--A};
\pic[draw=blue,<-,angle radius=4mm]{angle = N--P1--S};
\end{tikzpicture}
\end{document}
Re: Pfeile beeinflussen
Verfasst: Do 31. Dez 2020, 11:31
von TheMrFeedback
Dein Hinweis ist super.
Allerdings sieht das Füllen nur bedingt okay aus... Woran liegt das?
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles, arrows.meta}
\begin{document}
\begin{tikzpicture}[>=Latex]
\path (0,0) coordinate (S);
\draw (S) -- +(68:5.2cm) coordinate (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
\pic[draw=red, <-, angle radius=7mm, fill=red!20]{angle = P1--S--A};
\pic[draw=blue, <-, angle radius=4mm, fill=blue!20]{angle = N--P1--S};
\end{tikzpicture}
\end{document}
Re: Pfeile beeinflussen
Verfasst: Do 31. Dez 2020, 12:19
von esdd
Das Einfügen der Pfeilspitze beeinflusst den Pfadverlauf. Erklärungen dazu findest Du in der Doku im Unterabschnitt »Bending and Flexing« des Abschnitts »Arrow Keys: Configuring the Appearance of a Single Arrow Tip«. Dort steht auch, wie Du das Verhalten beeinflussen kannst: Lade die blending Bibliothek und verwende die Option flex oder flex' für die Pfeilspitze. Die Unterschiede zwischen den beiden Optionen sind dort ebenfalls erklärt.
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles, arrows.meta}
\usetikzlibrary{bending}% bending laden
\begin{document}
\begin{tikzpicture}[>={Latex[flex]}]% <- Option flex verwenden
\path (0,0) coordinate (S);
\draw (S) -- +(68:5.2cm) coordinate (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
\pic[draw=red, <-, angle radius=7mm, fill=red!20]{angle = P1--S--A};
\pic[draw=blue, <-, angle radius=4mm, fill=blue!20]{angle = N--P1--S};
\end{tikzpicture}
\end{document}

- gl_winkelfuellung1.png (10.23 KiB) 5536 mal betrachtet
Eventuell macht es auch Sinn die Winkel in der Hintergrundebene zu zeichnen und zu füllen:
\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{calc, angles, arrows.meta,bending}
\usetikzlibrary{backgrounds}% backgrounds laden
\begin{document}
\begin{tikzpicture}[>={Latex[flex]}]
\path (0,0) coordinate (S);
\draw (S) -- +(68:5.2cm) coordinate (A);
\draw (S) -- +(19:3.2cm) coordinate (P1) -- ([turn]-79:1.5cm) coordinate (N);
\begin{scope}[on background layer]% Winkel in Hintergrundebene
\pic[draw=red, <-, angle radius=7mm, fill=red!20]{angle = P1--S--A};
\pic[draw=blue, <-, angle radius=4mm, fill=blue!20]{angle = N--P1--S};
\end{scope}
\end{tikzpicture}
\end{document}

- gl_winkelfuellung2.png (9.3 KiB) 5536 mal betrachtet
Re: Pfeile beeinflussen
Verfasst: Do 31. Dez 2020, 12:50
von TheMrFeedback
Genau das, was ich suchte, vielen Dank.