
我想畫一個箭頭(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}