链路


链路就是一系列的节点,典型情况下是按行列排列的,再以边相连。排列链路要用到 “chains”,所以请在LaTeX导言中加入

\usetikzlibrary{chains}

创建链路可以首先用选项

start chain=名字 方向
为链路命名,指定延伸方向,当然“名字”和“方向”可以省略。如果 “方向”被忽视,将使用选项
chain default direction=方向
的值。“方向”有两种形式:going 方向和placed 方向。比如
\begin{tikzpicture}[start chain]
\node [on chain] {A};
\node [on chain] {B};
\node [on chain] {C};
\end{tikzpicture}

选项

continue chain=名字 方向
可以激活或重新激活已经存在的链路,并且可以重新指定其延伸方向。比如
\begin{tikzpicture}[start chain=going right,node distance=5mm]
\node [draw,on chain] {Hello};
\node [draw,on chain] {World};
\node [draw,continue chain=going below,on chain] {,};
\node [draw,on chain] {this};
\node [draw,on chain] {is};
\end{tikzpicture}

把一个节点放到一个链路上,可以在节点的选项中加入

on chain=名字 方向
“名字”和“方向”可以省略。比如
\begin{tikzpicture}[start chain=circle placed {at=(\tikzchaincount*30:1.5)}]
\foreach \i in {1,...,10}
\node [on chain] {\i};
\draw (circle-1) -- (circle-10);
\end{tikzpicture}
链路上的节点受风格
every on chain
影响。将节点添加到已经存在的链路还可以用命令
\chainin(节点名字)[选项]
比如
\begin{tikzpicture}[node distance=5mm,
every node/.style=draw,every join/.style=->]
\draw [help lines] (0,0) grid (3,2);
\node[red] (existing) at (0,2) {existing};
{ [start chain]
\node [draw,on chain,join] {Hello};
\node [draw,on chain,join] {World};
\chainin (existing) [join];
\node [draw,on chain,join] {this};
\node [draw,on chain,join] {is};
}
\end{tikzpicture}

连接链路上的节点,可以用选项

join=with 节点 by {选项}
同时可以设置风格
every join
比如
\begin{tikzpicture}[start chain,node distance=5mm,
every join/.style={->,red}]
\node [draw,on chain,join] {};
\node [draw,on chain,join] {Hallo};
\node [draw,on chain,join] {Welt};
\node [draw,on chain=going below,
join,join=with chain-1 by {blue,<-}] {foo};
\end{tikzpicture}

链路的分支可以用选项

start branch=名字 方向
continue branch=名字 方向
创建和延伸。


目录