如果使用 move by 兩次,prooftree 的邊將會採用其他邊的樣式

如果使用 move by 兩次,prooftree 的邊將會採用其他邊的樣式

我用的是包包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}

畫面

相關內容