Take the 2-minute tour ×
TeX - LaTeX Stack Exchange is a question and answer site for users of TeX, LaTeX, ConTeXt, and related typesetting systems. It's 100% free, no registration required.

I want to draw logic proof trees in ConTeXt. Specifically, I want to be able to draw trees like this: proof tree

I am aware that there are nice ways of doing this in LaTeX, and that the question What is the best package out there to typeset proof trees? already shows how. Are there clean ways to do it with ConTeXt?

share|improve this question

1 Answer 1

up vote 3 down vote accepted

As a quick workaround (in easy cases, MKIV-only), you could use Aditya's wonderful filter module to make use of the LaTeX package (I picked bussproofs). This is explained in the documentation, I just minimally altered it:

\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

This could be made more convenient (by writing better ConTeXt macros, I suppose) to include references to the trees-as-pictures.

share|improve this answer
    
FWIW, the filter module works with MkII as well. –  Aditya Aug 16 '12 at 17:34
    
Thank you for the answer and for the references! –  prash Aug 16 '12 at 21:46

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.