tikz-cd 矢印間の矢印が非対称です (片方向が短すぎます)

tikz-cd 矢印間の矢印が非対称です (片方向が短すぎます)

矢印を描きたい() を 2 つの矢印 (Bそして)をtikz-cdにインストールして、両方に直接触れているBそして次の図のように。

正しい矢印

以下のコードは、この図に対する賢明な試みのように見えますが、非対称です。つまり、中央の矢印が下の矢印に触れていません。

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
    \bullet && \bullet
    \arrow[""{name=0}, from=1-1, to=1-3, bend left]
    \arrow[""{name=1}, from=1-1, to=1-3, bend right]
    \arrow[from=0, to=1]
\end{tikzcd}

\begin{tikzcd}
    \bullet && \bullet
    \arrow[""{name=0}, from=1-1, to=1-3, bend left]
    \arrow[""{name=1}, from=1-1, to=1-3, bend right]
    \arrow[from=1, to=0]
\end{tikzcd}

\end{document}

結果は次のとおりです。

間違った矢印

(下の例では、比較のために中央の矢印が反対方向になっています。これは、ターゲットの矢印ではなく、下の矢印に問題があることを示しています。)

なぜこのようなことが起こるのでしょうか? また、どうすれば修正できるのでしょうか?

私がそうすることに注意してくださいない中央の矢印を負の長さで単純にしたいshorten: このソリューションはどの矢印のペアでも機能する必要があり、中央の矢印をどれだけ短くすればよいかを推測する必要はありません。(また、場合によっては、中央の矢印を対称的に短くしたいのですが、一方の方向に追加の調整を適用する必要がある場合は扱いにくいです。)

答え1

これは、下の矢印の上にある空のラベル テキストが原因です。矢印の下のタイプセット ラベル テキスト""{name=1}に置き換えると、問題は解決します。""{name=1, below}

tikzcdのマニュアルの2.3節の最後の2つの例を参照してください。矢印の絶対配置

完全な例:

\documentclass{article}
\usepackage{tikz-cd}

\begin{document}

\begin{tikzcd}
    \bullet && \bullet
    \arrow[""{name=0}, from=1-1, to=1-3, bend left]
    \arrow[""{name=1, below}, from=1-1, to=1-3, bend right]
    \arrow[from=0, to=1]
\end{tikzcd}

\begin{tikzcd}
    \bullet && \bullet
    \arrow[""{name=0}, from=1-1, to=1-3, bend left]
    \arrow[""{name=1, below}, from=1-1, to=1-3, bend right]
    \arrow[from=1, to=0]
\end{tikzcd}

\end{document}

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

関連情報