Pfeile beeinflussen Thema ist als GELÖST markiert

Fragen und Probleme, die nicht den obigen Kategorien zugeordnet werden können


TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Pfeile beeinflussen

Beitrag 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}

gast

Re: Pfeile beeinflussen

Beitrag 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.


esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Pfeile beeinflussen

Beitrag 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}

TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Re: Pfeile beeinflussen

Beitrag 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}

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Re: Pfeile beeinflussen

Beitrag 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
gl_winkelfuellung1.png (10.23 KiB) 4239 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
gl_winkelfuellung2.png (9.3 KiB) 4239 mal betrachtet

TheMrFeedback
Forum-Anfänger
Forum-Anfänger
Beiträge: 16
Registriert: So 27. Dez 2020, 15:11

Re: Pfeile beeinflussen

Beitrag von TheMrFeedback »

Genau das, was ich suchte, vielen Dank.


Antworten