以下简单代码中出现了非常奇怪的行为。目的是使用 tikz 和 tikzlibrary 结绘制两个结。
\documentclass{amsart}
\usepackage{tikz}
\usetikzlibrary{knots}
\begin{document}
\begin{tikzpicture}[x=1ex,y=1ex]
\begin{knot}[consider self intersections=true, ignore endpoint intersections=false]
\strand(0,0) to[out=right,in=up] (4,-4)
to[out=down,in=up] (0,-8)
to[out=down,in=down, looseness=3] (4,-8)
to[out=up, in=down] (0,-4)
to[out=up,in=left] (4,0)
to[out=right, in=right, looseness=1.5] (2,-10)
to[out=left,in=left, looseness=1.5] (0,0)
;
\flipcrossings{1,2,4}
\end{knot}
\begin{scope}[shift={(25,0)}]
\begin{knot}[consider self intersections=true, ignore endpoint intersections=false]
\strand (0,0) to [out=0,in=90] (5,-8)
to [out=-90,in=down, looseness=3](0,-8)
to [out=up,in=180] (5,0)
to [out=0, in=100] (9,-4)
to [out=-80, in=-100, looseness=1.5] (-4,-4)
to [out=80,in=180] (0,0)
;
\flipcrossings{1,2,4}
\end{knot}
\end{scope}
\end{tikzpicture}
\end{document}
代码本身会产生错误
ERROR: Missing number, treated as zero.
--- TeX said ---
<to be read again>
{
l.28 \end{knot}
但如果我取消第一个结,或者我交换两个结的顺序,错误就会消失。
发生了什么事???
当然,如果问题出在一张图片中,那么我可以接受相反的顺序,问题是我花了一个小时尝试理解更复杂文件中的错误消息后才找到这个示例代码,我无法仅通过切换图片来解决问题。