
私は単一リンク図を描こうとしています(次のようなもの)。https://loopspace.mathforge.org/HowDidIDoThat/TeX/Knots/#section.5) を knots ライブラリを使用して実行します。
\begin{tikzpicture}
\begin{knot}[
flip crossing=2
]
\strand (1,0) circle[radius=2cm];
\strand[blue] (-1,0) circle[radius=2cm];
\end{knot}
\end{tikzpicture}
ただし、円の 1 つに 2 色を付けたいと思います。リンクは 3 本のストランドの編み込みの閉じ方を表し、リンク内の円の 1 つは 2 本のストランドから来ているので、それを示すために色を付けるのが良いと思いました。
当初、私は次のようなことを考えていました。tikzで2色の線を描く方法しかし、\strand[blue]を に変更すると\strand[draw=blue,dash pattern= on 3pt off 5pt,thick,postaction={draw,red,dash pattern= on 3pt off 5pt,dash phase=4pt,thick}](-1,0) circle[radius=2cm];
、交差ギャップは表示されなくなります。
この質問のグラデーションを使った別のアプローチも試しましたTikZ のパス追跡カラーグラデーションしかし、再び、交差する隙間は消えてしまいました。
私は仮定ノット ライブラリは、どういうわけか、ポストアクション / デコレーションにギャップ ルールを適用していません。ノット ライブラリを使用して 2 色のストランドを描画する適切な方法はありますか?
答え1
\documentclass[tikz, border=1cm]{standalone}
\usetikzlibrary{knots}
\begin{document}
\begin{tikzpicture}
\begin{knot}[
flip crossing=2,
clip width=10,
]
\strand[red, thick] (1,0) circle[radius=1.3cm];
\strand[
blue, thick,
only when rendering/.style={dash pattern=on 3pt off 5pt},
preaction={draw, red, thick, dash pattern=on 3pt off 5pt, dash phase=4pt},
](-0.5,0) circle[radius=1.3cm];
\end{knot}
\end{tikzpicture}
\end{document}