如果使用两次移动,则prooftree的边缘将采用其他边缘的样式

如果使用两次移动,则prooftree的边缘将采用其他边缘的样式

我使用这个包prooftrees,基于 TiZ forest。由于我必须绘制具有许多分支的证明,因此我希望某些节点较低,这可以通过“移动”选项实现。但是,如果我使用移动选项两次,似乎第二次使用时会使用第一条边的样式来填充第二条边内的跳跃。

我在以下示例中简化了证明:

\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 选项,不会发生这种效果。此外,这仅在第一行之前有一个带有 move by 选项的封闭分支时才会发生。

有人知道如何防止使用“移动”选项的第一个边的样式被复制到同样使用移动选项的其他边吗?

答案1

0.7 版prooftrees修复了此错误。更新已上传至 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}

画面

相关内容