
Ich habe ein Makro zum Zeichnen ziemlich komplizierter Diagramme in Tikz, das pgfkeys verwendet, um bei Pfeilen, Beschriftungen und deren Stilen so flexibel wie möglich zu sein. Ich erlaube alle Befehle der BibliothekCD. Was ich bräuchte, ist ein Parameter/Option, wie zum Beispiel Rrightarrow
deramsPaket, das ich als pgfkey übergeben kann, das dreifache (oder sogar vierfache) Pfeile zeichnen könnte, genau wie ich die Parameter leftarrow
, Rightarrow
, equal
, squiggly
, ... übergeben kann.
Die folgenden ThemenDreifache Linien in TikzUndKostümierter Pfeilschaft in Tikzenthalten einigen schönen Code in diese Richtung, aber ich schaffe es nicht, ihn in eine Pfeil-Stil-Option von Tikz-CD zu quetschen. Ich glaube, ich verstehe den Code des (zweiten Antworten auf den) zweiten Link, wo, um einen 3-Pfeil oder einen 4-Pfeil bereitzustellen, zwei verschiedene Pfeile überlappt werden. Da die Pfeile meines Makros fest sind, kann ich diese Lösung nicht verwenden. Ich denke, der Code des ersten Links könnte verwendet werden, um eine zufriedenstellende Lösung bereitzustellen, aber: Ich kenne mich noch nicht gut mit Tikz aus (ich habe immer Tikzcd verwendet), in den Kommentaren dort scheinen sie anzudeuten, dass es schwer ist, einer dreifachen Linie eine Pfeilspitze hinzuzufügen. Ich habe versucht, ein bisschen mit dem Code herumzuspielen und zu ändern, was meiner Meinung nach geändert werden sollte, aber ich habe es nicht geschafft, etwas Konkretes hervorzubringen.
Antwort1
Sie können es so machen, wie in den von Ihnen angezeigten Links vorgeschlagen. Ein etwas subtiler Punkt ist, dass der Pfeil nicht automatisch beachtet wird, sodass Sie den doppelten Linienpfad im quadruple
Pfeil ein wenig verkürzen müssen. (Sie können ihn natürlich feinabstimmen double distance
usw.) Verschnörkelte Pfeile können mit Verzierungen wie erhalten werden. coil
Bitte lassen Sie mich wissen, wenn ich ein Beispiel hinzufügen soll.
\documentclass{article}
\usepackage{tikz-cd}
\begin{document}
\tikzset{Rightarrow/.style={double equal sign distance,>={Implies},->},
triple/.style={-,preaction={draw,Rightarrow}},
quadruple/.style={preaction={draw,Rightarrow,shorten >=0pt},shorten >=1pt,-,double,double
distance=0.2pt}}
\begin{tikzcd}
a \arrow[r,triple] & b \arrow[r,quadruple]
& c\\
\end{tikzcd}
\end{document}
Antwort2
Es gibt jetzt ein schönes Paket,tikz-nfoldvon Jonathan Schulz, der eine einfache Lösung für dieses Problem bietet. Sie können den TikZ-Pfeilstil angeben scaling nfold=3
(oder einfach, nfold=3
wenn Sie eine feste Pfeilbreite wünschen), um einen Dreifachpfeil zu zeichnen, und dasselbe gilt für höhere Pfeile.
Meiner Erfahrung nach führt dies zu ästhetisch ansprechenderen Pfeilen als andere Lösungen und ist mit den verschiedenen anderen TikZ-Stilen kompatibel, die in kommutativen Diagrammen üblich sind.
Beispiel:
\documentclass{article}
\usepackage{tikz-cd}
\usetikzlibrary{nfold}
\begin{document}
\begin{tikzcd}
A \arrow[r, Rightarrow, scaling nfold=3] & B \\
C \arrow[r, Rightarrow, nfold=3] & D
\end{tikzcd}
\end{document}
Produziert: