Tikz Arrow-Bibliotheken: Wie kann ich von Arrows zu Arrows.meta migrieren, ohne dass es mir Probleme bereitet?

Tikz Arrow-Bibliotheken: Wie kann ich von Arrows zu Arrows.meta migrieren, ohne dass es mir Probleme bereitet?

Ich habe Legacy-Code, der die arrowsBibliothek verwendet, und ich möchte einen Teil dieses Codes in neuen Arbeiten mit der arrows.metaBibliothek wiederverwenden (einschließlich der späteren Optimierung der Pfeilspitzen).

Anstatt alles durchzugehen, was repariert werden muss >=triangle 45(usw.), dachte ich, ich könnte vielleicht einfach einen neuen Stil definieren, der an die neue Bibliothek weitergegeben wird. Hier ist mein MWE:

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
% Failed attempt at providing legacy arrowheads:
\tikzset{triangle 45/.tip={Triangle[angle=45]}}
\begin{document}
% Legacy tikzpicture:
\begin{tikzpicture}[>=triangle 45]
\draw[->] (0,0) -> (2,0);  
\end{tikzpicture}
\end{document}

Das schlägt jedoch kläglich fehl:

...
(d:/TeXlive/texmf-dist/tex/generic/pgf/libraries/pgflibraryarrows.meta.code.tex
))
Runaway argument?
45 +0 +0 +0 \pgf@stop \expandafter \pgfarrowsaddtooptions \expandafter \ETC.
! File ended while scanning use of \pgfarrowsfourparameters@.
<inserted text>
                \par
<*> test.tex

Es sieht so aus, als ob .tip weitere Parameter erwartet, aber ich konnte im Handbuch nichts finden, was dies erklärt.

Was mache oder erwarte ich falsch?

Antwort1

Der angleSchlüssel sollte in der Form angegeben werden angle=<angle>:<dimension>, wobei gemäß PGF-Handbuch Folgendes gilt:

Mit dieser Taste wird dieLängeund dasBreiteeiner Pfeilspitze gleichzeitig. Die Länge ist der Kosinus von <angle>, während die Breite dem doppelten Sinus der Hälfte von entspricht <angle>.

Im oben angegebenen MWE haben wir also

Triangle[angle=45:3pt]

Es ist auch möglich, ein optionales Argument anzugeben:

Triangle[angle=45:1pt 5]

was laut Handbuch:

Wenn optionale Faktoren angegeben werden, addieren sie ein bestimmtes Vielfaches der Linienbreite hinzu, <dimension>bevor Sinus und Cosinus berechnet werden.

\documentclass[margin=5pt]{standalone}
\usepackage{tikz}
\usetikzlibrary{arrows.meta}
% Failed attempt at providing legacy arrowheads:
\tikzset{triangle 45/.tip={Triangle[angle=45:3pt]}}
\begin{document}
% Legacy tikzpicture:
\begin{tikzpicture}[>=triangle 45]
\draw[->] (0,0) -> (2,0);  
\draw[-{Triangle[angle=45:1pt 5]}] (0,-.2) -> (2,-.2);
\end{tikzpicture}
\end{document}

Bildbeschreibung hier eingeben

Für den Schlüssel angle'ist keine <dimension>Angabe eines erforderlich:

Legt die Breite des Pfeils auf den doppelten Tangens von <angle>/2mal der Pfeillänge fest. Dadurch entsteht eine Pfeilspitze mit einem Öffnungswinkel von <angle>an der Spitze und unveränderter angegebener Länge.

Alle Zitate stammen aus dem PGF-Handbuch, Seite 188.

verwandte Informationen