装饰路径


有时候我们不打算用实线或虚线勾勒路径,而是用锯齿线、波浪线,甚至于想沿着路径 摆放一串文字,或者脚印。在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
straight zigzag
random steps
saw
zigzag
bent
bumps
coil
curveto
snake
其次是“decorations.pathreplacing”库
border
brace
expanding waves
moveto
ticks
waves
show path construction
第三是“decorations.footprints”库
footprints
第四是“decorations.shapes”库
crosses
triangles
shape backgrounds
第五是“decorations.text”库
text along path
最后是“decorations.fractals”库
Koch curve type 1
Koch curve type 2
Koch snowflake
Cantor set


目录