TQFT で覆われた境界のみ破線で表示

TQFT で覆われた境界のみ破線で表示

私は使用していますアンドリュー・ステイシーの素晴らしいTQFT パッケージコボルディズムの絵を描きます。しかし、境界に問題があります。

ここに画像の説明を入力してください

\documentclass{article}

\usepackage{tikz}
\usepackage{tqft}

\begin{document}
    \begin{tikzpicture}
        \node[draw,tqft/reverse pair of pants,boundary lower style={draw,dashed}] (A) {};
        \node[label={below:should be solid}] at (A.outgoing boundary 1) {};
    \end{tikzpicture}
\end{document}

コボルディズムの描画規則では、コボルディズムで覆われた境界は破線で、見える部分はすべて実線で表すようにしています。上記は、私がここまで到達した方法です。ほぼすべての円は正しく表示されますが、一番下の円は完全に実線で表す必要があります。下側の境界のみをスタイル設定するキーはありますか?

答え1

lower boundaryキーを介してグローバル設定を定義しますevery ...。そのため、それを上書きする必要があります。

\documentclass{standalone}

\usepackage{tikz}
\usepackage{tqft}

\begin{document}
    \begin{tikzpicture}[every tqft/.style={draw,boundary lower style={draw,dashed}}]% DASHED!!!
        \node[tqft/pair of pants] (A) {};
        \node[tqft/reverse pair of pants,anchor=incoming boundary 1,
                    boundary lower style={draw,solid}% SOLID AGAIN HERE !!
                    ] (B) at (A.outgoing boundary 1) {};
        \node[label={below:should be solid}] at (B.outgoing boundary 1) {};
    \end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

答え2

この問題を回避するには、ズボンの上に追加の境界円を描画します (この点を指摘してくれた Andrew Stacey に感謝します)。

\documentclass{article}

\usepackage{tikz}
\usepackage{tqft}

\begin{document}
    \begin{tikzpicture}
        \node[draw,tqft/reverse pair of pants,boundary lower style={draw,dashed}] (A) {};
        \node[tqft boundary circle,draw] at (A.outgoing boundary 1) {};
        \node[label={below:should be solid}] at (A.outgoing boundary 1) {};
    \end{tikzpicture}
\end{document}

ここに画像の説明を入力してください

答え3

私は (2014 年 4 月 7 日に) パッケージの新しいバージョンをtqftCTAN にアップロードしました。これがシステム全体に伝播すると、次の操作で目的の結果が達成されます。

\documentclass{article}
%\url{http://tex.stackexchange.com/q/167836/86}
\usepackage{tikz}
\usetikzlibrary{tqft}

\begin{document}
    \begin{tikzpicture}
        \pic[
  draw,
  tqft/reverse pair of pants,
  every lower boundary component/.style={draw},
  every incoming lower boundary component/.style={dashed},
  every outgoing lower boundary component/.style={solid},
  name=A
];
        \node[label={below:is solid}] at (A-outgoing boundary 1) {};
    \end{tikzpicture}
\end{document}

このリビジョン (TikZ3.0 以降が必要) では、はるかに多くのスタイル設定の可能性が導入されています。本質的には、コボルディズム パスの任意のセグメントを個別にスタイル設定できます。

個別のスタイリングを備えたTQFT

関連情報