4

knots library supposedly has a flip crossing key which accepts a list through a modifier, or a \flipcrossings macro. I first tried with the key, but it does not seem to work except for the 3d knot only. Next I tried the macro, but it was not clear where it must go. Can anyone explain how to achieve flipped crossings at every knot, not just at the last one?

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{knots}

\begin{document}

\begin{tikzpicture}
\begin{knot}[
    %draft mode=crossings ,
    clip width=3,
    flip crossing/.list={1,2,3},
    ]
    \strand [ultra thick, black] (0,0) circle (1.0cm);
    \strand [ultra thick, black] (1.5,0) circle (1.0cm);
    \strand [ultra thick, black] (3,0) circle (1.0cm);
\end{knot}
\end{tikzpicture} 

\end{document}

enter image description here

I cant't comment due to the cookie policy on this computer, so please do not ask me questions!

1
  • 1
    HI and welcome. You can respond to comments on your own question, but you cannot comment on other questions until you have earned 50 reputation points.
    – AndréC
    Jul 22, 2020 at 5:25

1 Answer 1

3

Your knot has four crossings, labelled top to bottom and then left to right. Based on what you call correct and incorrect it looks like you only want to flip the third crossing.

The following code shows the effect of no flips and then flipping 1,2,3,4 in order.

enter image description here

This was produced using the MWE:

\documentclass[tikz, border=2mm]{standalone}
\usetikzlibrary{knots}

\begin{document}

\begin{tikzpicture}
\begin{knot}[
    %draft mode=crossings ,
    clip width=3,
    flip crossing/.list={},
    ]
    \strand [ultra thick, black] (0,0) circle (1.0cm);
    \strand [ultra thick, black] (1.5,0) circle (1.0cm);
    \strand [ultra thick, black] (3,0) circle (1.0cm);
\end{knot}
   \node[fill=white] at (1.5,1.5) {No flips};
\end{tikzpicture}

\begin{tikzpicture}
\begin{knot}[
    %draft mode=crossings ,
    clip width=3,
    flip crossing/.list={1},
    ]
    \strand [ultra thick, black] (0,0) circle (1.0cm);
    \strand [ultra thick, black] (1.5,0) circle (1.0cm);
    \strand [ultra thick, black] (3,0) circle (1.0cm);
\end{knot}
   \node[fill=white] at (1.5,1.5) {Flipping 1};
\end{tikzpicture}

\begin{tikzpicture}
\begin{knot}[
    %draft mode=crossings ,
    clip width=3,
    flip crossing/.list={2},
    ]
    \strand [ultra thick, black] (0,0) circle (1.0cm);
    \strand [ultra thick, black] (1.5,0) circle (1.0cm);
    \strand [ultra thick, black] (3,0) circle (1.0cm);
\end{knot}
   \node[fill=white] at (1.5,1.5) {Flipping 2};
\end{tikzpicture}

\begin{tikzpicture}
\begin{knot}[
    %draft mode=crossings ,
    clip width=3,
    flip crossing/.list={3},
    ]
    \strand [ultra thick, black] (0,0) circle (1.0cm);
    \strand [ultra thick, black] (1.5,0) circle (1.0cm);
    \strand [ultra thick, black] (3,0) circle (1.0cm);
\end{knot}
   \node[fill=white] at (1.5,1.5) {Flipping 3};
\end{tikzpicture}

\begin{tikzpicture}
\begin{knot}[
    %draft mode=crossings ,
    clip width=3,
    flip crossing/.list={4},
    ]
    \strand [ultra thick, black] (0,0) circle (1.0cm);
    \strand [ultra thick, black] (1.5,0) circle (1.0cm);
    \strand [ultra thick, black] (3,0) circle (1.0cm);
\end{knot}
   \node[fill=white] at (1.5,1.5) {Flipping 4};
\end{tikzpicture}

\end{document}
1
  • Very nice demonstration! Note that with a single crossing to flip then you don't need the .list syntax, just flip crossing=1 will do. Jul 22, 2020 at 12:37

You must log in to answer this question.

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