3

I am using Andrew Stacey's fantastic knots package, and I am having trouble getting triple point crossings displayed in the order I intend. Consider the following:

\documentclass{amsart}
\usepackage{tikz} 
\usetikzlibrary{positioning,knots}

\begin{document}

\[
\begin{tikzpicture}

\node (KS1) at (0,0){};
\node (KS2) [below=1 of KS1]{};
\node (KS3) [below=1 of KS2]{};
\node (KC1) [right=1 of KS2] {};
\node (KC2) [right=1 of KC1] {};
\node (KT1) [above right=1 and 1 of KC2]{};
\node (KT2) [below=1 of KT1]{};
\node (KT3) [below=1 of KT2]{};

\begin{knot}[draft mode=crossings]
\strand[->] (KS1)
to [out=0, in=135] (KC1)
to [out=-45,in=-135] (KC2)
to [out=45, in=180] (KT1);
\strand[->] (KS2)
to [out=0, in=180] (KC1)
to [out=0, in=180] (KC2)
to [out=0, in=180] (KT2);
\strand[->] (KS3)
to [out=0, in=-135] (KC1)
to [out=45, in=135] (KC2)
to [out=-45, in=180] (KT3);
\flipcrossings{1,3,5,6,4,2}
\end{knot}

\end{tikzpicture}
\]

\end{document}

which produces

Triple crossing

I would like strand 1 to be on top for the right crossing. I have tried every subset of {2,4,6} in \flipcrossings and no combination leads to strand 1 being on top. (In fact I also tried every order of every subset, in case somehow the crossing numbers were being shuffled along the way, and I also tried changing the order in which the strands were specified, though I won't say I tried every order of every subset of flips on every strand introduction order.)

Is there a way to get strand 1 displayed on top in the right crossing?

(A side note, relevant to triple crossings: in theory it would be nice to have a way to control the clip width individually for each strand at a crossing, in order to be able to clearly indicate the crossing order of all three strands---that is, have the front strand drawn fully, the middle strand with a small crossing gap, and the back strand with a larger crossing gap. Though I appreciate making that possible may be much more trouble than it is worth, since demand for multiple-point crossings is probably low!)

2
  • If you put the \strand commands in a different order, the curves are also drawn in a different order, but probably you know that.
    – user121799
    Jul 2, 2018 at 1:44
  • Hi, I've only just come across this question. The knots package was not written with the possibility of triple intersections in mind as knot diagrams are meant to avoid just this case. So while it might be possible to get something approaching what you want, I don't know how much hackery it would need. Is it just one diagram that you need it for? If so, it might be easier to draw that diagram by more normal TikZ methods. Jul 13, 2018 at 21:01

1 Answer 1

3

There's something strange going on with your diagram that I confess I don't really understand, so this is a temporary fix while I try to figure it out. The knots package wasn't really designed with triple intersections in mind so its behaviour for them might have odd side-effects.

There's a \redraw command which allows you to specify a strand to be redrawn at a particular location. Using this, I can get the first strand on top at the second crossing.

\documentclass{amsart}
%\url{https://tex.stackexchange.com/q/438822/86}
\usepackage{tikz} 
\usetikzlibrary{positioning,knots}

\begin{document}

\[
\begin{tikzpicture}

\node (KS1) at (0,0){};
\node (KS2) [below=1 of KS1]{};
\node (KS3) [below=1 of KS2]{};
\node (KC1) [right=1 of KS2] {};
\node (KC2) [right=1 of KC1] {};
\node (KT1) [above right=1 and 1 of KC2]{};
\node (KT2) [below=1 of KT1]{};
\node (KT3) [below=1 of KT2]{};

\begin{knot}[draft mode=crossings]
\strand[->] (KS1)
to [out=0, in=135] (KC1)
to [out=-45,in=-135] (KC2)
to [out=45, in=180] (KT1);
\strand[->] (KS2)
to [out=0, in=180] (KC1)
to [out=0, in=180] (KC2)
to [out=0, in=180] (KT2);
\strand[->] (KS3)
to [out=0, in=-135] (KC1)
to [out=45, in=135] (KC2)
to [out=-45, in=180] (KT3);
\redraw{1}{(KC2)}
\end{knot}

\end{tikzpicture}
\]

\end{document}

Incidentally, it's better style to use \begin{center} ... \end{center} to centre some text, rather than \[ .. \].

The above code produces the following picture:

triple intersection

1
  • Thank you for taking the time to answer this even though it isn't in the intended scope of the package. I don't know how much demand there is for triple point crossing pictures, so it may not be worth the energy of digging through more systematically. That said, there certainly is deep mathematics lurking, as the knots/projections/manifolds with only double crossings/intersections are just the generic locus of a complex and informative stratification of the spaces involved.
    – Chris
    Jul 18, 2018 at 4:09

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .