I've been using the TikZ braids package, which works great. Unfortunately, I now need to start drawing singular braids/knots, which I don't think the package handles. These concepts are "less popular" than regular braids/knots so it is understandable that it hasn't been developed.
Here's a basic example I pulled off. The first crossing, illustrated with a black dot, is the singular crossing. These are typically denoted with a black dot. The other crossings are completely normal.
My attempt:
My method to draw the singular crossing isn't great because
- I had to manually draw a black circle
- I had to guess the intersection position until I got it correctly
In short, this method is sort of a time-waster; but I'm going to have to draw lots of these...
My questions: Does anyone have any ideas or suggestions on a more systematic way of doing this? Perhaps a way to access a list of intersections (which I assume the package computes behind the scenes) which I could use to my advantage? I try to look for ways to avoid wasting time before I give up and accept wasting time.
Ideally, the package could be extended so that whenever a user types t_1
, for example, instead of s_1
, it detects that the user would like a singular crossing, so that it does all that guesswork/drawing for me. But obviously I'm completely incapable of doing that myself.
My code:
\documentclass[12pt,letterpaper]{article}
\usepackage{tikz}
\usetikzlibrary{braids}
\begin{document}
\begin{center}
\def\height{3.5} %bar lengths
\def\width{3.2} %bar difference heights, .2 added to make it nicer
\begin{tikzpicture}
\pic[braid/.cd,
number of strands = 3,
thick]
{braid={ s_1, s_2[braid/gap=0], s_3}};
\filldraw (0.5,-0.75) circle (0.07cm); %the singular intersection
\draw[thick] (-0.2,0) -- (\width,0); %top bar
\draw[thick] (-0.2,-\height) -- (\width,-\height); %bottom bar
\end{tikzpicture}
\emph{$\tau_1\sigma_2\sigma_3$}
\end{center}
\end{document}