连接路径装饰时发生错误。
! Dimension too large.
<to be read again>
\relax
l.12 ...lot[] ({-sin(\t r)}, {cos(\t r) + 5e-2*\t});
I can't work with sizes bigger than about 19 feet.
Continue and I'll use the largest value I can.
这是我的 MWE。
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\draw [domain=0:2.1*pi,variable=\t,smooth,samples=55,
decoration={
markings,
mark=at position 0.1 with {\arrow{latex}}},
postaction={decorate}
]%
plot[] ({-sin(\t r)}, {cos(\t r) + 5e-2*\t});
\end{tikzpicture}
\end{document}
如果用 注释掉部分代码postaction=decorate
,编译就会成功。这是错误还是我遗漏了什么?这个问题对我来说并不明显。
答案1
当您使用smooth
选项时,这些点通过贝塞尔曲线连接。贝塞尔曲线有控制点。也许其中一个点落得太远并tikz
发出抱怨。
解决方法是禁用该smooth
选项并添加更多样本。
MWE如下:
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{decorations.markings}
\begin{document}
\begin{tikzpicture}
\draw [domain=0:2.1*pi,variable=\t,samples=105,
decoration={
markings,
mark=at position 0.1 with {\arrow{latex}}},
postaction={decorate}
]%
plot[] ({-sin(\t r)}, {cos(\t r) + 5e-2*\t});
\end{tikzpicture}
\end{document}