在 tikz 圖表中使用自訂路徑樣式時,不會列印引號標籤

在 tikz 圖表中使用自訂路徑樣式時,不會列印引號標籤

我可以將標籤很好地放置在正常邊緣上,但是當邊緣應用了樣式時,標籤將不再套用。

知道發生了什麼事/如何解決這個問題嗎?

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{graphs,quotes}
\begin{document}
\tikz[hv path/.style = {to path={-| (\tikztotarget)}}]
\graph[grow down sep, branch right = 4em] {
A ->["this prints"] B ->{C,D};
A ->[hv path,"this doesn't"] D;
}; 
\end{document}

答案1

這些節點實際上已應用,但是它們不會顯示,因為to path中的聲明hv path錯過了\tikztonodes宏,該宏隨後將擴展到庫在某個時刻收集的節點quotes

完整且正確的定義hv path

hv path/.style = {to path={-| (\tikztotarget) \tikztonodes}

預設情況下,節點沿著路徑放置在pos = .5(= ) 處。midway在正常的線到線中,它位於線的實際中間。與正交路徑-||-這是在轉角處。位置pos = .75(= near end) 位於第二部分的中間點。 (也可以看看聯合 TikZ 路徑上的節點.)

swap(或其快速鍵')可用於沿著另一側的路徑放置節點。 (該圖在內部使用auto預設為 的選項auto=leftswap金鑰將其交換為auto=right,反之亦然。)

程式碼

\documentclass[tikz]{standalone}
\usetikzlibrary{graphs,quotes}
\begin{document}
\tikz[hv path/.style = {to path={-| (\tikztotarget) \tikztonodes}}]
  \graph[grow down sep, branch right = 4em] {
    A ->["this prints", '] B ->{C,D};
    A ->[hv path,"this doesn't" near end] D;
  }; 
\end{document}

輸出

在此輸入影像描述

相關內容