有时候我们不打算用实线或虚线勾勒路径,而是用锯齿线、波浪线,甚至于想沿着路径 摆放一串文字,或者脚印。在tikz中通过“装饰”路径,可以使路径变得非常有趣。 装饰路径多数情况下要用到“decorations”,所以请在LaTeX导言中加入
\usetikzlibrary{decorations}
装饰路径可以使用路径元素
... decorate[选项]{子路径} ...;如何装饰,可以用选项
decoration=装饰选项指定,“装饰选项”中最重要的就是装饰的名字,当然大多数漂亮的装饰来自于库。 选项不止一个,要放在“{}”中,并用“,”号分隔 。比如
\begin{tikzpicture}[decoration=zigzag]指定装饰名字的另一个办法是使用选项
\draw decorate {(0,0) -- (3,2)};
\draw [red] decorate [decoration=crosses] {(0,2) -- (3,0)};
\end{tikzpicture}
name=名字比如
\begin{tikzpicture}
\draw [help lines] grid (3,2);
\draw decorate [decoration={name=zigzag}]
{ (0,0) .. controls (0,2) and (3,0) .. (3,2) |- (0,0) };
\end{tikzpicture}
要装饰整个路径可以使用选项
decorate=true/false
选项
raise=高度可以将装饰相对于被装饰的路径抬升。选项
mirror=true/false会相对于被装饰的路径产生装饰的镜像。 还可以用选项
transform=坐标变换对装饰片段进行变换。可用的变换将在“坐标变换”部分介绍。比如
\begin{tikzpicture}
\draw [help lines] (0,0) grid (3,2);
\draw (0,0) -- (1,1) arc (90:0:2 and 1);
\draw[red,very thick] decorate [decoration={crosses,transform={shift only},shape size=1.5mm}]
{ (0,0) -- (1,1) arc (90:0:2 and 1) };
\end{tikzpicture}
有时只有改变位置还不够,你可能想把装饰分成前中后三部分或其中的两部分,每一部分用不同的装饰, 这是可以用选项
pre=装饰选项指定前段用何种装饰,用选项
pre length=长度指明前段的长度。类似还有后段选项
post=装饰选项比如
post length=装饰选项
\begin{tikzpicture}
\tikz [decoration={zigzag,pre length=3cm}]
\draw [decorate] (0,0) -- (2,1) arc (90:0:1);
\end{tikzpicture}
tikz提供了许多装饰库,这里给出这些库的名字和库中装饰的名字, 每种装饰的属性请看手册。首先是库“decorations.pathmorphing”
lineto其次是“decorations.pathreplacing”库
straight zigzag
random steps
saw
zigzag
bent
bumps
coil
curveto
snake
border第三是“decorations.footprints”库
brace
expanding waves
moveto
ticks
waves
show path construction
footprints第四是“decorations.shapes”库
crosses第五是“decorations.text”库
triangles
shape backgrounds
text along path最后是“decorations.fractals”库
Koch curve type 1
Koch curve type 2
Koch snowflake
Cantor set