我不想为该级别的所有线条定义一个装饰器tikzpicture
,而是想使用范围来选择性地将某些装饰应用于绘图的某些部分。下面是一个最简单的例子:
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{decorations}
\begin{document}
\begin{tikzpicture}
%%% Draw the axis.
\begin{scope}[decoration={ticks}]
\draw [->] (0,0) -- (8,0);
\draw [decorate] (0,0) -- (8,0);
\end{scope}
\end{tikzpicture}
\end{document}
这应该会产生一个带有刻度标记的八个单位长的轴,并且装饰不应该“渗入”图形的其他区域。
相反,我得到了一个轴,但没有刻度标记!
编辑:事实证明,\usetikzlibrary{decorations}
在序言中调用不起作用。相反,使用\usetikzlibrary{decorations.pathreplacing}
。有人能告诉我为什么加载整个装饰库不起作用吗?
答案1
它需要库decorations.pathreplacing
。axis
默认情况下不存在路径样式。也许你可以澄清一下。下面的代码有效。但可能不如预期。
\documentclass{minimal}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\begin{scope}[decoration={ticks}]
\draw[->] (0,0) -- (8,0);
\draw[decorate] (0,0) -- (8,0);
\end{scope}
\end{tikzpicture}
\end{document}