ConTeXt 中的语义证明树

ConTeXt 中的语义证明树

我想在 ConTeXt 中绘制逻辑证明树。具体来说,我希望能够绘制如下树: 证明树

我知道在 LaTeX 中有很多很好的方法可以做到这一点,而且问题用于排版校样树的最佳软件包是什么?已经展示了如何操作。有没有简洁的方法可以用 ConTeXt 来实现?

答案1

作为一种快速解决方法(在简单的情况下,仅限 MKIV),你可以使用阿迪亚太棒了filter模块使用 LaTeX 包(我选择了bussproofs)。解释如下在文档中,我只是稍微修改了一下:

\usemodule[filter]
\defineexternalfilter
   [prooftree]
   [filter=pdflatex,
    output=\externalfilterbasefile.pdf,
    readcommand=\readPDFfile,
   ]

\def\readPDFfile#1{\externalfigure[#1]}
\startbuffer[prooftree::before]
  \documentclass{minimal}
  \usepackage{bussproofs}
  \usepackage[active,tightpage]{preview}

  \begin{document}
  \begin{preview}
  \begin{prooftree}
\stopbuffer

\startbuffer[prooftree::after]
  \end{prooftree}
  \end{preview}
  \end{document}
\stopbuffer

\setupexternalfilter
  [prooftree]
  [bufferbefore={prooftree::before},
   bufferafter={prooftree::after}]

\starttext

This is a {\em bussproofs} prooftree in \Context:

\startprooftree
\AxiomC{$\Gamma, A \vdash B$}
\LeftLabel{Conditional Proof:}
\UnaryInfC{$\Gamma \vdash A \rightarrow B$}
\stopprooftree

\stoptext

这可以变得更加方便(我想,通过编写更好的 ConTeXt 宏)以包含对树状图的引用。

相关内容