![ConTeXt 中的语义证明树](https://linux22.com/image/251651/ConTeXt%20%E4%B8%AD%E7%9A%84%E8%AF%AD%E4%B9%89%E8%AF%81%E6%98%8E%E6%A0%91.png)
我想在 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 宏)以包含对树状图的引用。