![在 tikz 图表中使用自定义路径样式时,不会打印引号标签](https://linux22.com/image/309669/%E5%9C%A8%20tikz%20%E5%9B%BE%E8%A1%A8%E4%B8%AD%E4%BD%BF%E7%94%A8%E8%87%AA%E5%AE%9A%E4%B9%89%E8%B7%AF%E5%BE%84%E6%A0%B7%E5%BC%8F%E6%97%B6%EF%BC%8C%E4%B8%8D%E4%BC%9A%E6%89%93%E5%8D%B0%E5%BC%95%E5%8F%B7%E6%A0%87%E7%AD%BE.png)
我可以将标签完美地放到普通边缘上,但是当边缘应用了样式时,标签就不再适用。
知道发生了什么事/如何解决这个问题吗?
\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=left
。swap
键将其切换为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}