tikz と tikz-cd の 3 つの矢印

tikz と tikz-cd の 3 つの矢印

私は、矢印、ラベル、およびそのスタイルを可能な限り柔軟にするためにpgfkeysを使用する、tikzでかなり複雑な図を描くマクロを持っています。ライブラリのすべてのコマンドを許可しますCD必要なのは、次のようなパラメータ/オプションですRrightarrow午前leftarrowパッケージでは、pgfkey として渡すことができ、パラメータ、、、、、...を渡すのとまったく同じように、3 重Rightarrow(または 4 重) の矢印を描くことができますequalsquiggly

以下のトピックtikz の 3 行目そしてTikz のカスタム矢軸その方向に進む美しいコードがいくつか含まれていますが、tikz-cd の矢印スタイルのオプションにそれらを押し込むことはできません。 2 番目のリンク (の 2 番目の回答) のコードは理解していると思いますが、3 矢印または 4 矢印を提供するために、2 つの異なる矢印が重ねられています。マクロの矢印は固定されているため、このソリューションは使用できません。最初のリンクのコードを使用して満足のいくソリューションを提供できると思いますが、私はまだ tikz についてあまり詳しくありません (常に tikzcd を使用してきました)。そこにあるコメントでは、3 本の線に矢印の先端を追加するのは難しいことを示唆しているようです。コードを少しいじって、変更する必要があると思われる部分を変更してみましたが、具体的なものを作成できませんでした。

答え1

示されたリンクで提案されているように実行できます。少し微妙な点は、矢印が自動的に尊重されないため、矢印の二重線のパスをquadruple少し短くする必要があることです。(もちろん微調整double distanceなどを行うことができます。) 波線矢印は、 などの装飾で取得できますcoil。例を追加する必要がある場合はお知らせください。

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

ここに画像の説明を入力してください

答え2

美しいパッケージができました。tikz-nfoldJonathan Schulz 氏による、この問題に対する簡単な解決策が提供されています。TikZ 矢印スタイルを指定するとscaling nfold=3(または、nfold=3矢印の幅を固定したい場合は単に)、3 重矢印を描画できます。同様に、より高い矢印を描画することもできます。

私の経験では、これは他のソリューションよりも見た目に美しい矢印を生成し、可換図でよく使用される他のさまざまな TikZ スタイルと互換性があります。

例:

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

生産:

2つの三重矢印

関連情報