![当装饰列表的总长度超过输入路径的长度时,不会删除任何装饰(可能是一个错误)](https://linux22.com/image/358681/%E5%BD%93%E8%A3%85%E9%A5%B0%E5%88%97%E8%A1%A8%E7%9A%84%E6%80%BB%E9%95%BF%E5%BA%A6%E8%B6%85%E8%BF%87%E8%BE%93%E5%85%A5%E8%B7%AF%E5%BE%84%E7%9A%84%E9%95%BF%E5%BA%A6%E6%97%B6%EF%BC%8C%E4%B8%8D%E4%BC%9A%E5%88%A0%E9%99%A4%E4%BB%BB%E4%BD%95%E8%A3%85%E9%A5%B0%EF%BC%88%E5%8F%AF%E8%83%BD%E6%98%AF%E4%B8%80%E4%B8%AA%E9%94%99%E8%AF%AF%EF%BC%89.png)
在我将其作为错误提交之前,我只想让 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,因此应该去掉其中一个装饰。但是渲染图显示,两个装饰都被使用了。