\begin{tikzpicture}[node distance=1.5cm]
\node[state] (A) {A};
\node[state] (C) [right of=A] {C};
\node[state] (B) [below in the middle of=A and C] {B}
\end{tikzpicture}
像这样:
A C
\/
B
我不知道该怎么做。我相信有 Tree 扩展,但我想在不使用它的情况下编写图表。
答案1
- 首先绘制节点
B
。然后使用above left
和分别above right
绘制节点A
和B
。或 - 使用 xshift 并将节点推至
B
节点间长度的一半。(您知道节点距离)。但在此方法中,节点A
(或C
)与节点之间的最小距离B
不是 1.5 厘米,而是更大。或 - 先画
A
,然后B
然后C
。
在情况 1 和 3 中,节点A
和c
之间的距离不超过 1.5 厘米:-(
。
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[node distance=1.5cm]
\node at (0,0) (B) {B};
\node (C) [above right of=B] {C};
\node (A) [above left of=B] {A};
\end{tikzpicture}
\begin{tikzpicture}[node distance=1.5cm]
\node at (0,0) (A) {A};
\node (C) [right of= A] {C};
\node (B) [below of=A,xshift=.75cm] {B};
\end{tikzpicture}
\begin{tikzpicture}[node distance=1.5cm]
\node at (0,0) (A) {A};
\node (B) [below right of= A] {B};
\node (B) [above right of=B] {C};
\end{tikzpicture}
\end{document}
答案2
您可以使用 tikz 的calc
库来计算中点并将节点放置在其下方:
代码:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[node distance=1.5cm]
\node (A) {A};
\node (C) [right of=A] {C};
\coordinate (Middle) at ($(A)!0.5!(C)$);
\node (B) [below of=Middle] {B};
\end{tikzpicture}
\end{document}
答案3
这里有一个解决方案,使用TikZ 库pos=.5
找到路径的中间点A
,C
将节点 1cmpositioning
放在这个中间点:B
below
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning}
\begin{document}
\begin{tikzpicture}[node distance=1.5cm]
\node (A) {A};
\node (C) [right of=A] {C};
\path (A) -- (C) node[pos=.5,below=1cm] (B) {B};
\end{tikzpicture}
\end{document}