我用的是包包prooftrees
,這是基於 TikZ。forest
由於我必須用許多分支繪製證明,因此我希望一些節點較低,這是由“移動”選項支援的。但是,如果我兩次使用 move by 選項,那麼第二次使用它時,第一個邊緣的樣式將用於填充第二個邊緣內的跳躍。
我在下面的例子中簡化了證明:
\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}
這給了我以下結果:
4 和 5 之間的邊緣應該是完全黑色的虛線,但由於某種原因,有一個綠色的實線部分(從 2 和 3 之間的邊緣複製而來)。透過從兩邊中的任一條中刪除按選項移動,這種效果就不會發生。此外,只有當具有 move by 選項的第一行之前存在閉合分支時,才會發生這種情況。
有誰知道如何防止使用「移動依據」選項的第一條邊的樣式複製到也使用移動依據選項的其他邊?
答案1
0.7版本prooftrees
修復了這個bug。該更新已上傳至 CTAN,因此應該很快就會發布。
\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}