ムーブバイを2回使用すると、プルーフツリーのエッジは他のエッジのスタイルを引き継ぎます。

ムーブバイを2回使用すると、プルーフツリーのエッジは他のエッジのスタイルを引き継ぎます。

私はパッケージを使用しますprooftrees、TiをベースにしたZ forest。多くのブランチを持つ証明を描く必要があるため、一部のノードを低くしたいのですが、これは「移動」オプションでサポートされています。ただし、移動オプションを 2 回使用すると、2 回目には最初のエッジのスタイルが 2 番目のエッジ内のジャンプを埋めるために使用されるようです。

次の例では証明を簡略化しました。

\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 の間のエッジからコピーされたもの) があります。2 つのエッジのいずれかから 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}

タブロー

関連情報