在我将其作为错误提交之前,我只想让 tex.stackexchange 的好心人来运行它。
考虑以下 LaTeX 手稿,其中有一张 2 厘米长的水平线的 pgf 图片,该图片由两个内置的 pgf 装饰:curveto
和 进行装饰zigzag
。
\documentclass{standalone}
\usepackage{pgf}
\usepgfmodule{decorations}
\usepgflibrary{decorations.pathmorphing}
\begin{document}
\begin{pgfpicture}
\begin{pgfdecoration}{{curveto}{1cm},{zigzag}{2cm}}
\pgfpathmoveto{\pgfpointorigin}
\pgfpathlineto{\pgfpoint{2cm}{0cm}}
\end{pgfdecoration}
\pgfusepath{stroke}
\end{pgfpicture}
\end{document}
生成的图片(不按比例)
我期望没有锯齿状的装饰,即我期望下面的图片(与之前的比例相同)。
原因是 TikZ 和 PGF 手册 3.0.1a 版第 1002-1003 页中的以下段落描述了环境的含义
\begin{pgfdecoration}{{<decoration>}{<length>},{<decoration>}{<length>}}
<environment contents>
\end{pgfdecoration}
(我强调了重要部分。)
输入路径被划分为以下输入路径:第一个输入路径由 中指定的路径的前几行组成,
〈environment contents〉
直到〈length
的第一个元素的〈decoration list〉
。如果在行的中间达到此长度,则行在此精确位置断开。然后,第二个输入路径具有〈length〉
中第二个元素的 ,并由中〈decoration list〉
构成路径后续部分的行组成 ,依此类推。〈length〉
〈environment contents〉
如果 中的长度
〈decoration list〉
加起来不等于 中路径的总长度〈environment contents〉
,则删除一些装饰(如果它们的长度加起来超过了 的长度〈environment contents〉
)或者输入路径没有被充分使用(如果它们的长度加起来较小)。
由于本例中装饰列表中的长度加起来为 1cm+2cm=3cm,大于环境内容的长度 2cm,因此应该去掉其中一个装饰。但是渲染图显示,两个装饰都被使用了。