Prooftree 具有位于其他节点下方的节点

Prooftree 具有位于其他节点下方的节点

我需要使用 的大型证明树bussproofs,但布局似乎不是最佳的。特别是,包不会将树的节点放置在其他节点下方,这将节省大量水平空间。例如,在下图中,我希望将带圆圈的节点进一步移到左侧,使其大约位于标有 的节点下方Z(d)。但是在bussproofs文档中,我找不到允许这样做的任何选项。有什么方法可以做到这一点吗?

梅威瑟:

\documentclass{article}

\usepackage{bussproofs}

\newcommand{\AxiomCm}[1]{\AxiomC{$#1$}}
\newcommand{\BinaryInfCm}[1]{\BinaryInfC{$#1$}}
\newcommand{\UnaryInfCm}[1]{\UnaryInfC{$#1$}}

\begin{document}
\begin{prooftree}

  \AxiomCm{ G(x, y) \lor L(x, y) \lor x = y }
  \AxiomCm{ \lnot Z(z) \lor \lnot  L(z, u) }
  \BinaryInfCm{  G(x, y) \lor x=y \lor \lnot Z(x) }

  \AxiomCm{ \lnot Z(w) \lor \lnot Z(f(w)) }
  \AxiomCm{ Z(d)}
  \BinaryInfCm{ \lnot Z(f(d)) }

  \BinaryInfCm{ G(x, f(d)) \lor \lnot Z(x) \lor \lnot Z(x) }
  \UnaryInfCm{ G(x, f(d)) \lor \lnot Z(x)  }

  \AxiomCm{ \lnot G(v, f(v)) }

  \BinaryInfCm{  \lnot Z(d)  }

  \AxiomCm{ Z(d) }

  \BinaryInfCm{  \bot }
\end{prooftree}

\end{document}

答案1

您可以使用\insertBetweenHyps在特定推论的假设之间插入负空间。例如:

\documentclass{article}

\usepackage{bussproofs}

\newcommand{\AxiomCm}[1]{\AxiomC{$#1$}}
\newcommand{\BinaryInfCm}[1]{\BinaryInfC{$#1$}}
\newcommand{\UnaryInfCm}[1]{\UnaryInfC{$#1$}}

\begin{document}
\begin{prooftree}

  \AxiomCm{ G(x, y) \lor L(x, y) \lor x = y }
  \AxiomCm{ \lnot Z(z) \lor \lnot  L(z, u) }
  \BinaryInfCm{  G(x, y) \lor x=y \lor \lnot Z(x) }

  \AxiomCm{ \lnot Z(w) \lor \lnot Z(f(w)) }
  \AxiomCm{ Z(d)}
  \BinaryInfCm{ \lnot Z(f(d)) }

  \BinaryInfCm{ G(x, f(d)) \lor \lnot Z(x) \lor \lnot Z(x) }
  \UnaryInfCm{ G(x, f(d)) \lor \lnot Z(x)  }

  \AxiomCm{ \lnot G(v, f(v)) }

  \insertBetweenHyps{\hskip -50pt}

  \BinaryInfCm{  \lnot Z(d)  }

  \AxiomCm{ Z(d) }

  \BinaryInfCm{  \bot }
\end{prooftree}

\end{document}

将产生:

调整证明

请参阅第 12 页本指南

相关内容