Eu uso o pacoteprooftrees
, que é baseado no TikZ. forest
Como tenho que desenhar provas com muitas ramificações, quero que alguns nós fiquem mais baixos, o que é suportado pela opção "mover por". No entanto, se eu usar a opção mover por duas vezes, parece que na segunda vez que a uso, o estilo da primeira borda será usado para preencher o salto na segunda borda.
Simplifiquei a prova no exemplo a seguir:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}
\usepackage{prooftrees}
\begin{document}
\begin{prooftree}{close with=$\times$, single branches=true, align=center}
[Mary: \neg CatLady \sqcup \exists hasPet.Cat, just={$\sqsubseteq$}
[Mary: \exists hasPet.Cat, just={$\sqcup$}, close]
[Mary: \neg CatLady
[John: \neg CatLady \sqcup \exists hasPet.Cat, just={$\sqsubseteq$}, move by=1, edge=green
[John: \exists hasPet.Cat, just={$\sqcup$}, edge=dashed
[(John{, }Y): hasPet{, } Y: Cat, just={$\exists$}, close={$\sqsubseteq$}, move by=2, edge=dashed]
]
]
]
]
\end{prooftree}
\end{document}
Isso me dá o seguinte resultado:
A borda entre 4 e 5 deve ser tracejada e totalmente preta, mas por algum motivo, há uma parte sólida verde (que é copiada da borda entre 2 e 3). Ao remover a opção mover por de uma das duas bordas, esse efeito não acontece. Além disso, isso só acontece quando há um ramal fechado antes da primeira linha que possui a opção mover por.
Alguém sabe como evitar que o estilo da primeira aresta que utiliza a opção "mover por" seja copiado para outras arestas que também utilizam a opção mover por?
Responder1
A versão 0.7 prooftrees
corrige esse bug. A atualização foi carregada no CTAN e, portanto, deverá estar disponível em breve.
\documentclass[tikz,border=10pt]{standalone}
\usepackage{prooftrees}
\begin{document}
\begin{prooftree}{close with=$\times$, single branches=true, align=center}
[Mary: \neg CatLady \sqcup \exists hasPet.Cat, just={$\sqsubseteq$}
[Mary: \exists hasPet.Cat, just={$\sqcup$}, close]
[Mary: \neg CatLady
[John: \neg CatLady \sqcup \exists hasPet.Cat, just={$\sqsubseteq$}, move by=1, edge=green
[John: \exists hasPet.Cat, just={$\sqcup$}, edge=dashed
[(John{, }Y): hasPet{, } Y: Cat, just={$\exists$}, close={$\sqsubseteq$}, move by=2, edge=dashed, ]
]
]
]
]
\end{prooftree}
\end{document}