tikz-cd 箭頭之間的箭頭不對稱(一個方向太短)

tikz-cd 箭頭之間的箭頭不對稱(一個方向太短)

我想畫一個箭頭(A) 兩個箭頭之間 (C)在 tikz-cd 中,這樣A直接接觸兩者C,如下圖所示。

正確的箭頭

下面的程式碼似乎是該圖的明智嘗試,但它是不對稱的:中間的箭頭不接觸下面的箭頭。

\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箭頭的絕對位置

完整範例:

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

在此輸入影像描述

相關內容