
estou a usarAndrew StacymaravilhosoPacote TQFTpara criar imagens de cobordismos. Mas estou tendo problemas com os limites:
\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}
A minha convenção de desenho para os cobordismos é que as fronteiras cobertas pelo cobordismo são tracejadas e tudo o que é visível deve ser sólido. O texto acima mostra até onde cheguei - quase todos os círculos saem corretamente, mas o círculo inferior deve estar completamente sólido. Existe uma chave para definir apenas o estilo do limite inferior de saída?
Responder1
Você define uma configuração global para lower boundary
via every ...
chave. Então você precisa sobrescrevê-lo.
\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}
Responder2
É possível contornar esse problema desenhando um círculo de limite adicional sobre o par de calças (obrigado a Andrew Stacey por apontar isso):
\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}
Responder3
Eu (em 7 de abril de 2014) carreguei uma nova versão do tqft
pacote no CTAN. Uma vez propagado por todo o sistema, o seguinte alcançará o resultado desejado.
\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}
Esta revisão (que exigia TikZ3.0 ou posterior) introduz muito mais possibilidades de estilo. Em essência, qualquer segmento dos caminhos do cobordismo pode ser estilizado separadamente.