我想将一个节点放置\graph
在 a 中的a 下方tikzpicture
。但是,由于某种原因,我无法访问\graph
。
梅威瑟:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,graphs}
\begin{document}
\begin{tikzpicture}
\graph [name=graph] {a -> b};
\node[below of=graph] {$t_1$};
\end{tikzpicture}
\end{document}
结果是:Package pgf Error: No shape named graph is known. ^^I\node[below of=graph] {$t_1$};
\graph (name) {...};
导致File ended while scanning use of \tikz@lib@graph@node@naked.
\graph {a -> b} node[below] {$t_1$};
可以工作,但标签$t_1$
出现在节点下方a
。我可以将其移至中心吗?
(我更喜欢使用graphs
库而不是graphdrawing
,因为后者需要LuaLaTeX)
答案1
答案2
我不知道你是否可以将整个图视为一个大节点(编辑:薛定谔的猫的答案就是这样做的),但你当然可以命名图中的每个节点,并在其余部分引用它们tikzpicture
:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc, graphs, positioning}
\begin{document}
\begin{tikzpicture}
\graph {a[name=a] -> b[name=b]};
\coordinate (m) at ($(a)!0.5!(b)$); % midpoint between a and b
\node[below=0.5cm of m] {$t_1$};
\end{tikzpicture}
\end{document}
请注意使用below=0.5cm of m
而不是 语法below of=...
,它不使用positioning
Ti钾Z 库。
还有其他可能性可以说明图上的某个特定节点应该锚定在图中某个特定位置tikzpicture
:anchor node=
参见anchor here
desired at=
锚定图表的钛钾Z & PGF 手册,第 425 页左右。
其他方法也可以实现同样的效果:
\graph {a[name=a] -> b[name=b]};
\path (a) -- (b) node[pos=0.5, below=0.5cm] {$t_1$};
和
\graph {a[name=a] -> b[name=b]};
\path (a) -- node[pos=0.5, below=0.5cm] {$t_1$} (b);
钛钾calc
最后两种技术不需要Z库。