What is the best package out there to typeset proof trees?












49















So, I want to typeset some proof trees, i.e. trees of inference rules like those in natural deduction (see diagram below). Which are the best packages that you have found that allow you to do this, and which features do they have?



alt text










share|improve this question




















  • 2





    I'm quite sure how the trees should look like (maybe you could add an actual picture), but does anything from chapters 17 ("Making Trees Grow") and 42 ("Tree Library") of the TikZ manual (ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/…) look like what you want?

    – Caramdir
    Jul 28 '10 at 14:34













  • Sorry, I thought my sketch was already explicit enough, but I've just discovered that people draw trees in many different ways! Anyway, I've just added a picture of the kind of trees I want.

    – Juan A. Navarro
    Jul 28 '10 at 15:43
















49















So, I want to typeset some proof trees, i.e. trees of inference rules like those in natural deduction (see diagram below). Which are the best packages that you have found that allow you to do this, and which features do they have?



alt text










share|improve this question




















  • 2





    I'm quite sure how the trees should look like (maybe you could add an actual picture), but does anything from chapters 17 ("Making Trees Grow") and 42 ("Tree Library") of the TikZ manual (ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/…) look like what you want?

    – Caramdir
    Jul 28 '10 at 14:34













  • Sorry, I thought my sketch was already explicit enough, but I've just discovered that people draw trees in many different ways! Anyway, I've just added a picture of the kind of trees I want.

    – Juan A. Navarro
    Jul 28 '10 at 15:43














49












49








49


24






So, I want to typeset some proof trees, i.e. trees of inference rules like those in natural deduction (see diagram below). Which are the best packages that you have found that allow you to do this, and which features do they have?



alt text










share|improve this question
















So, I want to typeset some proof trees, i.e. trees of inference rules like those in natural deduction (see diagram below). Which are the best packages that you have found that allow you to do this, and which features do they have?



alt text







packages logic






share|improve this question















share|improve this question













share|improve this question




share|improve this question








edited Nov 18 '10 at 12:39







Juan A. Navarro

















asked Jul 28 '10 at 12:34









Juan A. NavarroJuan A. Navarro

36.4k27116162




36.4k27116162








  • 2





    I'm quite sure how the trees should look like (maybe you could add an actual picture), but does anything from chapters 17 ("Making Trees Grow") and 42 ("Tree Library") of the TikZ manual (ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/…) look like what you want?

    – Caramdir
    Jul 28 '10 at 14:34













  • Sorry, I thought my sketch was already explicit enough, but I've just discovered that people draw trees in many different ways! Anyway, I've just added a picture of the kind of trees I want.

    – Juan A. Navarro
    Jul 28 '10 at 15:43














  • 2





    I'm quite sure how the trees should look like (maybe you could add an actual picture), but does anything from chapters 17 ("Making Trees Grow") and 42 ("Tree Library") of the TikZ manual (ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/…) look like what you want?

    – Caramdir
    Jul 28 '10 at 14:34













  • Sorry, I thought my sketch was already explicit enough, but I've just discovered that people draw trees in many different ways! Anyway, I've just added a picture of the kind of trees I want.

    – Juan A. Navarro
    Jul 28 '10 at 15:43








2




2





I'm quite sure how the trees should look like (maybe you could add an actual picture), but does anything from chapters 17 ("Making Trees Grow") and 42 ("Tree Library") of the TikZ manual (ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/…) look like what you want?

– Caramdir
Jul 28 '10 at 14:34







I'm quite sure how the trees should look like (maybe you could add an actual picture), but does anything from chapters 17 ("Making Trees Grow") and 42 ("Tree Library") of the TikZ manual (ctan.org/tex-archive/graphics/pgf/base/doc/generic/pgf/…) look like what you want?

– Caramdir
Jul 28 '10 at 14:34















Sorry, I thought my sketch was already explicit enough, but I've just discovered that people draw trees in many different ways! Anyway, I've just added a picture of the kind of trees I want.

– Juan A. Navarro
Jul 28 '10 at 15:43





Sorry, I thought my sketch was already explicit enough, but I've just discovered that people draw trees in many different ways! Anyway, I've just added a picture of the kind of trees I want.

– Juan A. Navarro
Jul 28 '10 at 15:43










8 Answers
8






active

oldest

votes


















25














Peter Smith's very useful LaTeX for Logicians page offers suggestions both for downward branching proof-trees and natural deduction proofs in both Gentzen sequent-style (the tree-like style you seem to be after) and Fitch-style.



I've not used any of the alternatives for proof trees, as I use Fitch-style natural deduction proofs. But, I've found Smith a most reliable guide and for your desire he recommends as best of breed Sam Buss's bussproofs.sty. Smith also has remarks about a few other alternatives that you might want to check out.



A quick example to produce your example tree would be:



documentclass{article}
usepackage{bussproofs}
begin{document}
begin{prooftree}
AxiomC{A}
UnaryInfC{B}
AxiomC{C}
BinaryInfC{D}
AxiomC{E}
AxiomC{F}
BinaryInfC{G}
UnaryInfC{H}
BinaryInfC{J}
end{prooftree}
end{document}





share|improve this answer


























  • Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

    – Juan A. Navarro
    Jul 28 '10 at 13:19













  • Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

    – Juan A. Navarro
    Jul 28 '10 at 15:56











  • Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

    – vanden
    Jul 28 '10 at 16:11











  • Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

    – Juan A. Navarro
    Jul 28 '10 at 16:35



















20














I like mathpartir (by Didier Remy) for its simple and flexible design, and smart layout concept. The name stands for "math formulas in paragraph mode" and "typesetting inference rules". You can use it to typeset a number of rule definitions. For example:



begin{mathpar}
inferrule[Foo]{A \ B \\ C}{D}
and
inferrule[Bar]{X}{Y}
end{mathpar}


rules



You can also typeset a derivation tree:



[
inferrule* [left=Total]
{inferrule* [Left=Foo] {inferrule* [Right=Bar,
leftskip=2em,rightskip=2em,vdots=1.5em]
{a \ a \\ bb \ cc \ dd}
{ee}
\ ff \ gg}
{hh}
\
inferrule* [lab=XX]{uu \ vv}{ww}}
{(1)}
]


alt text






share|improve this answer


























  • This one is the best!

    – day
    Aug 7 '11 at 14:39



















4














Another question I missed. I began to use Paul Taylor's proof trees macros for my doctoral dissertation, but it has a bug that occurs when you want to use it with labels. This led me to write my own proof trees macros, which worked well enough. I should probably publish them one of these days.



Since then I've used Buss's macros, which are as good as any, although the stack metaphor for writing proof trees is not as intuitive as the grouping-oriented one of Paul Taylor's. But this is a very slight complaint.



All packages I've seen have one problem: they use Tex's boxes to set subdervivations, which means that they leave far too much space for many derivations, because they can't see that one subderivation could sit "in the shadow" of another. Sometimes this looks odd, sometimes it means you can't set large derivations without reducing font size. With negative horizontal spce, one can fix this, but this is a workaround.



The Right Thing is not to use boxes but trees to calculate how far apart to position the conclusion of subderivations. This can be done without much difficulty in Metapost —I'm not sure about PGF— and implementing this in Luatex library is on my list of rainy day projects.






share|improve this answer































    4














    Short addition: For those who like bussproofs for the generated output, but would rather prefer not to use the stack-based syntax, I've written a frontend for bussproofs allowing for the specification of proofs in an easy lisp-like syntax. Within this syntax, you can define custom operators including precedence information (such that the addition of parentheses is also handled by the tool). Proof are specified starting from the root, which also might be more intuitive for some people; still, they are rendered in the usual leaves-to-root manner.



    Example input:



    (macro implies 0 "Longrightarrow")
    (defop neg "neg " 40 prefix)
    (defop modality "left[#1right]#2" 40 param)
    (defop land " land " 30 infix)
    (defop text "textrm{#1}" 99999 param)
    (defop list ", " 10 infix)
    (defop lor " lor " 20 infix)
    (defop seq "implies " 0 infix)

    (proof (
    (lor "asdf" (lor "asdf" (neg "asdf")))
    (seq "" (modality "p" "phi"))
    (neg (lor "p" "q"))
    (land (lor "p" "q") (lor "q" "p"))
    (lor (land "p" "q") (land "q" "p"))
    (lor "asdf" (lor "asdf" "asdf")) <- "That's ``a'' right label!"
    "FancySplitRule 1" -> (seq "" (list (neg "p") (neg "q") (lor "p" "q")))
    (
    "subtree1"
    "test"
    (
    "test"
    (seq (lor "p" (neg "q")) "succedent")
    (neg "p")
    )
    )
    (
    "subtree2"
    "test"
    )
    (
    (text "And a third branch!!!")
    )
    ))


    which would be rendered to:





    using, for instance, a one-liner as the following one (for the fish shell):



    java -jar ProofRenderer.jar -f $argv[1].pt -r standalone-latex -o $argv[1].tex -a "--fit-to-page" ; and pdflatex -interaction=batchmode $argv[1].tex


    Advantages are the variable degree of abstraction (you can have plain LaTeX in a String and only define the structure by lisp brackets, or you can define a lot of macros and operations and have a tree with lisp-like elements only), the root-to-leaves notation which is still rendered as usual, and the extensibility to different renderers. A disadvantage is that you need yet another tool and cannot include it into your source code directly. Feel free to try it out ;)






    share|improve this answer

































      3














      Though not originally designed for proof trees, the synttree package is very nice and easy for drawing trees.



      synttree sample



      Also check out this page on Tree Drawing in LaTeX.






      share|improve this answer


























      • Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

        – Juan A. Navarro
        Jul 28 '10 at 13:16






      • 3





        Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

        – TJ Ellis
        Jul 28 '10 at 13:58



















      3














      I have been using Paul Taylor's proof-tree package combined with some macros I have written myself. I have used the package for typeset proofs in papers, slides, my MSc thesis, problem sets and solutions.



      A simple example follows:



      documentclass{article}
      usepackage{prooftree}
      begin{document}
      begin{prooftree}
      [
      [ A justifies B ]
      quad
      C
      justifies
      D
      ]
      quad
      [
      [ E quad F justifies G ]
      justifies
      H
      ]
      justifies
      J
      end{prooftree}
      end{document}





      share|improve this answer

































        0














        To me, ebproof is definitely the way to go.



        As the author of the package writes,




        The structure is very much inspired by the
        bussproofs
        package, in particular for the postfix
        notation. I actually wrote
        ebproof
        because there were some limitations in
        bussproofs
        that I
        did not know how to lift, and also because I did not like some choices in that package (and also
        because it was fun to write).




        The following code:



        documentclass[border=10pt]{standalone}
        usepackage{ebproof}
        begin{document}
        begin{prooftree}
        hypo{A}
        infer1{B}
        hypo{C}
        infer2{D}
        hypo{E}
        hypo{F}
        infer2{G}
        infer1{H}
        infer2{J}
        end{prooftree}
        end{document}


        produces:



        enter image description here



        But the package allows many subtle modifications regarding style, alignment, labels, etc., making it the most modular option I am aware of.






        share|improve this answer































          -3














          For help to my client, I'm looking for a freelance expert for formal logic, who knows how to formulate proofs, and to write in latex. A complete mastery of English, a doctorate, and an example of an article published with proofs of logic.



          600 NIS per hour for the appropriate candidate Please do not waste my time if you do not meet all the requirements.
          CV + article can be sent to shlomo@deeponcology.ai
          All work in front of me includes the NDA.
          Thanks.
          https://www.deeponcology.ai/



          Here on Facebook






          share|improve this answer








          New contributor




          user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
          Check out our Code of Conduct.




















            Your Answer








            StackExchange.ready(function() {
            var channelOptions = {
            tags: "".split(" "),
            id: "85"
            };
            initTagRenderer("".split(" "), "".split(" "), channelOptions);

            StackExchange.using("externalEditor", function() {
            // Have to fire editor after snippets, if snippets enabled
            if (StackExchange.settings.snippets.snippetsEnabled) {
            StackExchange.using("snippets", function() {
            createEditor();
            });
            }
            else {
            createEditor();
            }
            });

            function createEditor() {
            StackExchange.prepareEditor({
            heartbeatType: 'answer',
            autoActivateHeartbeat: false,
            convertImagesToLinks: false,
            noModals: true,
            showLowRepImageUploadWarning: true,
            reputationToPostImages: null,
            bindNavPrevention: true,
            postfix: "",
            imageUploader: {
            brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
            contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
            allowUrls: true
            },
            onDemand: true,
            discardSelector: ".discard-answer"
            ,immediatelyShowMarkdownHelp:true
            });


            }
            });














            draft saved

            draft discarded


















            StackExchange.ready(
            function () {
            StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f468%2fwhat-is-the-best-package-out-there-to-typeset-proof-trees%23new-answer', 'question_page');
            }
            );

            Post as a guest















            Required, but never shown

























            8 Answers
            8






            active

            oldest

            votes








            8 Answers
            8






            active

            oldest

            votes









            active

            oldest

            votes






            active

            oldest

            votes









            25














            Peter Smith's very useful LaTeX for Logicians page offers suggestions both for downward branching proof-trees and natural deduction proofs in both Gentzen sequent-style (the tree-like style you seem to be after) and Fitch-style.



            I've not used any of the alternatives for proof trees, as I use Fitch-style natural deduction proofs. But, I've found Smith a most reliable guide and for your desire he recommends as best of breed Sam Buss's bussproofs.sty. Smith also has remarks about a few other alternatives that you might want to check out.



            A quick example to produce your example tree would be:



            documentclass{article}
            usepackage{bussproofs}
            begin{document}
            begin{prooftree}
            AxiomC{A}
            UnaryInfC{B}
            AxiomC{C}
            BinaryInfC{D}
            AxiomC{E}
            AxiomC{F}
            BinaryInfC{G}
            UnaryInfC{H}
            BinaryInfC{J}
            end{prooftree}
            end{document}





            share|improve this answer


























            • Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

              – Juan A. Navarro
              Jul 28 '10 at 13:19













            • Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

              – Juan A. Navarro
              Jul 28 '10 at 15:56











            • Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

              – vanden
              Jul 28 '10 at 16:11











            • Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

              – Juan A. Navarro
              Jul 28 '10 at 16:35
















            25














            Peter Smith's very useful LaTeX for Logicians page offers suggestions both for downward branching proof-trees and natural deduction proofs in both Gentzen sequent-style (the tree-like style you seem to be after) and Fitch-style.



            I've not used any of the alternatives for proof trees, as I use Fitch-style natural deduction proofs. But, I've found Smith a most reliable guide and for your desire he recommends as best of breed Sam Buss's bussproofs.sty. Smith also has remarks about a few other alternatives that you might want to check out.



            A quick example to produce your example tree would be:



            documentclass{article}
            usepackage{bussproofs}
            begin{document}
            begin{prooftree}
            AxiomC{A}
            UnaryInfC{B}
            AxiomC{C}
            BinaryInfC{D}
            AxiomC{E}
            AxiomC{F}
            BinaryInfC{G}
            UnaryInfC{H}
            BinaryInfC{J}
            end{prooftree}
            end{document}





            share|improve this answer


























            • Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

              – Juan A. Navarro
              Jul 28 '10 at 13:19













            • Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

              – Juan A. Navarro
              Jul 28 '10 at 15:56











            • Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

              – vanden
              Jul 28 '10 at 16:11











            • Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

              – Juan A. Navarro
              Jul 28 '10 at 16:35














            25












            25








            25







            Peter Smith's very useful LaTeX for Logicians page offers suggestions both for downward branching proof-trees and natural deduction proofs in both Gentzen sequent-style (the tree-like style you seem to be after) and Fitch-style.



            I've not used any of the alternatives for proof trees, as I use Fitch-style natural deduction proofs. But, I've found Smith a most reliable guide and for your desire he recommends as best of breed Sam Buss's bussproofs.sty. Smith also has remarks about a few other alternatives that you might want to check out.



            A quick example to produce your example tree would be:



            documentclass{article}
            usepackage{bussproofs}
            begin{document}
            begin{prooftree}
            AxiomC{A}
            UnaryInfC{B}
            AxiomC{C}
            BinaryInfC{D}
            AxiomC{E}
            AxiomC{F}
            BinaryInfC{G}
            UnaryInfC{H}
            BinaryInfC{J}
            end{prooftree}
            end{document}





            share|improve this answer















            Peter Smith's very useful LaTeX for Logicians page offers suggestions both for downward branching proof-trees and natural deduction proofs in both Gentzen sequent-style (the tree-like style you seem to be after) and Fitch-style.



            I've not used any of the alternatives for proof trees, as I use Fitch-style natural deduction proofs. But, I've found Smith a most reliable guide and for your desire he recommends as best of breed Sam Buss's bussproofs.sty. Smith also has remarks about a few other alternatives that you might want to check out.



            A quick example to produce your example tree would be:



            documentclass{article}
            usepackage{bussproofs}
            begin{document}
            begin{prooftree}
            AxiomC{A}
            UnaryInfC{B}
            AxiomC{C}
            BinaryInfC{D}
            AxiomC{E}
            AxiomC{F}
            BinaryInfC{G}
            UnaryInfC{H}
            BinaryInfC{J}
            end{prooftree}
            end{document}






            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited Nov 23 '12 at 18:16









            Juan A. Navarro

            36.4k27116162




            36.4k27116162










            answered Jul 28 '10 at 12:54









            vandenvanden

            16.4k196084




            16.4k196084













            • Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

              – Juan A. Navarro
              Jul 28 '10 at 13:19













            • Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

              – Juan A. Navarro
              Jul 28 '10 at 15:56











            • Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

              – vanden
              Jul 28 '10 at 16:11











            • Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

              – Juan A. Navarro
              Jul 28 '10 at 16:35



















            • Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

              – Juan A. Navarro
              Jul 28 '10 at 13:19













            • Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

              – Juan A. Navarro
              Jul 28 '10 at 15:56











            • Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

              – vanden
              Jul 28 '10 at 16:11











            • Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

              – Juan A. Navarro
              Jul 28 '10 at 16:35

















            Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

            – Juan A. Navarro
            Jul 28 '10 at 13:19







            Thanks for the link, but I'm looking for something more like "natural deduction proofs" (I've clarified the question). Also for completeness please include the answer here, as well as linking to the external resource. This helps the answer live even if the external link goes down in the future.

            – Juan A. Navarro
            Jul 28 '10 at 13:19















            Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

            – Juan A. Navarro
            Jul 28 '10 at 15:56





            Actually on your second link I did found something that looks like what I'm looking for! It's under Natural deduction proofs. If possible, please update your answer to contain the answer and not just a pointer to answer.

            – Juan A. Navarro
            Jul 28 '10 at 15:56













            Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

            – vanden
            Jul 28 '10 at 16:11





            Done(ish). I brought in only Smith's top choice. I did not want to steal Smith's thunder and I do think anyone working in logic with LaTeX ought to know his page. If the downvote was yours, perhaps you might undo it? Also, while I take your point about the fragility of purely external references and think the image in your question now makes your desire quite clear, what happens to this question if you stop maintaining your site hosting the picture?

            – vanden
            Jul 28 '10 at 16:11













            Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

            – Juan A. Navarro
            Jul 28 '10 at 16:35





            Exactly! And that's why we're having this discussion here meta.tex.stackexchange.com/questions/119/where-should-images-go

            – Juan A. Navarro
            Jul 28 '10 at 16:35











            20














            I like mathpartir (by Didier Remy) for its simple and flexible design, and smart layout concept. The name stands for "math formulas in paragraph mode" and "typesetting inference rules". You can use it to typeset a number of rule definitions. For example:



            begin{mathpar}
            inferrule[Foo]{A \ B \\ C}{D}
            and
            inferrule[Bar]{X}{Y}
            end{mathpar}


            rules



            You can also typeset a derivation tree:



            [
            inferrule* [left=Total]
            {inferrule* [Left=Foo] {inferrule* [Right=Bar,
            leftskip=2em,rightskip=2em,vdots=1.5em]
            {a \ a \\ bb \ cc \ dd}
            {ee}
            \ ff \ gg}
            {hh}
            \
            inferrule* [lab=XX]{uu \ vv}{ww}}
            {(1)}
            ]


            alt text






            share|improve this answer


























            • This one is the best!

              – day
              Aug 7 '11 at 14:39
















            20














            I like mathpartir (by Didier Remy) for its simple and flexible design, and smart layout concept. The name stands for "math formulas in paragraph mode" and "typesetting inference rules". You can use it to typeset a number of rule definitions. For example:



            begin{mathpar}
            inferrule[Foo]{A \ B \\ C}{D}
            and
            inferrule[Bar]{X}{Y}
            end{mathpar}


            rules



            You can also typeset a derivation tree:



            [
            inferrule* [left=Total]
            {inferrule* [Left=Foo] {inferrule* [Right=Bar,
            leftskip=2em,rightskip=2em,vdots=1.5em]
            {a \ a \\ bb \ cc \ dd}
            {ee}
            \ ff \ gg}
            {hh}
            \
            inferrule* [lab=XX]{uu \ vv}{ww}}
            {(1)}
            ]


            alt text






            share|improve this answer


























            • This one is the best!

              – day
              Aug 7 '11 at 14:39














            20












            20








            20







            I like mathpartir (by Didier Remy) for its simple and flexible design, and smart layout concept. The name stands for "math formulas in paragraph mode" and "typesetting inference rules". You can use it to typeset a number of rule definitions. For example:



            begin{mathpar}
            inferrule[Foo]{A \ B \\ C}{D}
            and
            inferrule[Bar]{X}{Y}
            end{mathpar}


            rules



            You can also typeset a derivation tree:



            [
            inferrule* [left=Total]
            {inferrule* [Left=Foo] {inferrule* [Right=Bar,
            leftskip=2em,rightskip=2em,vdots=1.5em]
            {a \ a \\ bb \ cc \ dd}
            {ee}
            \ ff \ gg}
            {hh}
            \
            inferrule* [lab=XX]{uu \ vv}{ww}}
            {(1)}
            ]


            alt text






            share|improve this answer















            I like mathpartir (by Didier Remy) for its simple and flexible design, and smart layout concept. The name stands for "math formulas in paragraph mode" and "typesetting inference rules". You can use it to typeset a number of rule definitions. For example:



            begin{mathpar}
            inferrule[Foo]{A \ B \\ C}{D}
            and
            inferrule[Bar]{X}{Y}
            end{mathpar}


            rules



            You can also typeset a derivation tree:



            [
            inferrule* [left=Total]
            {inferrule* [Left=Foo] {inferrule* [Right=Bar,
            leftskip=2em,rightskip=2em,vdots=1.5em]
            {a \ a \\ bb \ cc \ dd}
            {ee}
            \ ff \ gg}
            {hh}
            \
            inferrule* [lab=XX]{uu \ vv}{ww}}
            {(1)}
            ]


            alt text







            share|improve this answer














            share|improve this answer



            share|improve this answer








            edited May 16 '17 at 19:32









            David Carlisle

            495k4111391887




            495k4111391887










            answered Nov 18 '10 at 9:39









            Bruno De FraineBruno De Fraine

            30122




            30122













            • This one is the best!

              – day
              Aug 7 '11 at 14:39



















            • This one is the best!

              – day
              Aug 7 '11 at 14:39

















            This one is the best!

            – day
            Aug 7 '11 at 14:39





            This one is the best!

            – day
            Aug 7 '11 at 14:39











            4














            Another question I missed. I began to use Paul Taylor's proof trees macros for my doctoral dissertation, but it has a bug that occurs when you want to use it with labels. This led me to write my own proof trees macros, which worked well enough. I should probably publish them one of these days.



            Since then I've used Buss's macros, which are as good as any, although the stack metaphor for writing proof trees is not as intuitive as the grouping-oriented one of Paul Taylor's. But this is a very slight complaint.



            All packages I've seen have one problem: they use Tex's boxes to set subdervivations, which means that they leave far too much space for many derivations, because they can't see that one subderivation could sit "in the shadow" of another. Sometimes this looks odd, sometimes it means you can't set large derivations without reducing font size. With negative horizontal spce, one can fix this, but this is a workaround.



            The Right Thing is not to use boxes but trees to calculate how far apart to position the conclusion of subderivations. This can be done without much difficulty in Metapost —I'm not sure about PGF— and implementing this in Luatex library is on my list of rainy day projects.






            share|improve this answer




























              4














              Another question I missed. I began to use Paul Taylor's proof trees macros for my doctoral dissertation, but it has a bug that occurs when you want to use it with labels. This led me to write my own proof trees macros, which worked well enough. I should probably publish them one of these days.



              Since then I've used Buss's macros, which are as good as any, although the stack metaphor for writing proof trees is not as intuitive as the grouping-oriented one of Paul Taylor's. But this is a very slight complaint.



              All packages I've seen have one problem: they use Tex's boxes to set subdervivations, which means that they leave far too much space for many derivations, because they can't see that one subderivation could sit "in the shadow" of another. Sometimes this looks odd, sometimes it means you can't set large derivations without reducing font size. With negative horizontal spce, one can fix this, but this is a workaround.



              The Right Thing is not to use boxes but trees to calculate how far apart to position the conclusion of subderivations. This can be done without much difficulty in Metapost —I'm not sure about PGF— and implementing this in Luatex library is on my list of rainy day projects.






              share|improve this answer


























                4












                4








                4







                Another question I missed. I began to use Paul Taylor's proof trees macros for my doctoral dissertation, but it has a bug that occurs when you want to use it with labels. This led me to write my own proof trees macros, which worked well enough. I should probably publish them one of these days.



                Since then I've used Buss's macros, which are as good as any, although the stack metaphor for writing proof trees is not as intuitive as the grouping-oriented one of Paul Taylor's. But this is a very slight complaint.



                All packages I've seen have one problem: they use Tex's boxes to set subdervivations, which means that they leave far too much space for many derivations, because they can't see that one subderivation could sit "in the shadow" of another. Sometimes this looks odd, sometimes it means you can't set large derivations without reducing font size. With negative horizontal spce, one can fix this, but this is a workaround.



                The Right Thing is not to use boxes but trees to calculate how far apart to position the conclusion of subderivations. This can be done without much difficulty in Metapost —I'm not sure about PGF— and implementing this in Luatex library is on my list of rainy day projects.






                share|improve this answer













                Another question I missed. I began to use Paul Taylor's proof trees macros for my doctoral dissertation, but it has a bug that occurs when you want to use it with labels. This led me to write my own proof trees macros, which worked well enough. I should probably publish them one of these days.



                Since then I've used Buss's macros, which are as good as any, although the stack metaphor for writing proof trees is not as intuitive as the grouping-oriented one of Paul Taylor's. But this is a very slight complaint.



                All packages I've seen have one problem: they use Tex's boxes to set subdervivations, which means that they leave far too much space for many derivations, because they can't see that one subderivation could sit "in the shadow" of another. Sometimes this looks odd, sometimes it means you can't set large derivations without reducing font size. With negative horizontal spce, one can fix this, but this is a workaround.



                The Right Thing is not to use boxes but trees to calculate how far apart to position the conclusion of subderivations. This can be done without much difficulty in Metapost —I'm not sure about PGF— and implementing this in Luatex library is on my list of rainy day projects.







                share|improve this answer












                share|improve this answer



                share|improve this answer










                answered Nov 18 '10 at 10:50









                Charles StewartCharles Stewart

                17.3k355111




                17.3k355111























                    4














                    Short addition: For those who like bussproofs for the generated output, but would rather prefer not to use the stack-based syntax, I've written a frontend for bussproofs allowing for the specification of proofs in an easy lisp-like syntax. Within this syntax, you can define custom operators including precedence information (such that the addition of parentheses is also handled by the tool). Proof are specified starting from the root, which also might be more intuitive for some people; still, they are rendered in the usual leaves-to-root manner.



                    Example input:



                    (macro implies 0 "Longrightarrow")
                    (defop neg "neg " 40 prefix)
                    (defop modality "left[#1right]#2" 40 param)
                    (defop land " land " 30 infix)
                    (defop text "textrm{#1}" 99999 param)
                    (defop list ", " 10 infix)
                    (defop lor " lor " 20 infix)
                    (defop seq "implies " 0 infix)

                    (proof (
                    (lor "asdf" (lor "asdf" (neg "asdf")))
                    (seq "" (modality "p" "phi"))
                    (neg (lor "p" "q"))
                    (land (lor "p" "q") (lor "q" "p"))
                    (lor (land "p" "q") (land "q" "p"))
                    (lor "asdf" (lor "asdf" "asdf")) <- "That's ``a'' right label!"
                    "FancySplitRule 1" -> (seq "" (list (neg "p") (neg "q") (lor "p" "q")))
                    (
                    "subtree1"
                    "test"
                    (
                    "test"
                    (seq (lor "p" (neg "q")) "succedent")
                    (neg "p")
                    )
                    )
                    (
                    "subtree2"
                    "test"
                    )
                    (
                    (text "And a third branch!!!")
                    )
                    ))


                    which would be rendered to:





                    using, for instance, a one-liner as the following one (for the fish shell):



                    java -jar ProofRenderer.jar -f $argv[1].pt -r standalone-latex -o $argv[1].tex -a "--fit-to-page" ; and pdflatex -interaction=batchmode $argv[1].tex


                    Advantages are the variable degree of abstraction (you can have plain LaTeX in a String and only define the structure by lisp brackets, or you can define a lot of macros and operations and have a tree with lisp-like elements only), the root-to-leaves notation which is still rendered as usual, and the extensibility to different renderers. A disadvantage is that you need yet another tool and cannot include it into your source code directly. Feel free to try it out ;)






                    share|improve this answer






























                      4














                      Short addition: For those who like bussproofs for the generated output, but would rather prefer not to use the stack-based syntax, I've written a frontend for bussproofs allowing for the specification of proofs in an easy lisp-like syntax. Within this syntax, you can define custom operators including precedence information (such that the addition of parentheses is also handled by the tool). Proof are specified starting from the root, which also might be more intuitive for some people; still, they are rendered in the usual leaves-to-root manner.



                      Example input:



                      (macro implies 0 "Longrightarrow")
                      (defop neg "neg " 40 prefix)
                      (defop modality "left[#1right]#2" 40 param)
                      (defop land " land " 30 infix)
                      (defop text "textrm{#1}" 99999 param)
                      (defop list ", " 10 infix)
                      (defop lor " lor " 20 infix)
                      (defop seq "implies " 0 infix)

                      (proof (
                      (lor "asdf" (lor "asdf" (neg "asdf")))
                      (seq "" (modality "p" "phi"))
                      (neg (lor "p" "q"))
                      (land (lor "p" "q") (lor "q" "p"))
                      (lor (land "p" "q") (land "q" "p"))
                      (lor "asdf" (lor "asdf" "asdf")) <- "That's ``a'' right label!"
                      "FancySplitRule 1" -> (seq "" (list (neg "p") (neg "q") (lor "p" "q")))
                      (
                      "subtree1"
                      "test"
                      (
                      "test"
                      (seq (lor "p" (neg "q")) "succedent")
                      (neg "p")
                      )
                      )
                      (
                      "subtree2"
                      "test"
                      )
                      (
                      (text "And a third branch!!!")
                      )
                      ))


                      which would be rendered to:





                      using, for instance, a one-liner as the following one (for the fish shell):



                      java -jar ProofRenderer.jar -f $argv[1].pt -r standalone-latex -o $argv[1].tex -a "--fit-to-page" ; and pdflatex -interaction=batchmode $argv[1].tex


                      Advantages are the variable degree of abstraction (you can have plain LaTeX in a String and only define the structure by lisp brackets, or you can define a lot of macros and operations and have a tree with lisp-like elements only), the root-to-leaves notation which is still rendered as usual, and the extensibility to different renderers. A disadvantage is that you need yet another tool and cannot include it into your source code directly. Feel free to try it out ;)






                      share|improve this answer




























                        4












                        4








                        4







                        Short addition: For those who like bussproofs for the generated output, but would rather prefer not to use the stack-based syntax, I've written a frontend for bussproofs allowing for the specification of proofs in an easy lisp-like syntax. Within this syntax, you can define custom operators including precedence information (such that the addition of parentheses is also handled by the tool). Proof are specified starting from the root, which also might be more intuitive for some people; still, they are rendered in the usual leaves-to-root manner.



                        Example input:



                        (macro implies 0 "Longrightarrow")
                        (defop neg "neg " 40 prefix)
                        (defop modality "left[#1right]#2" 40 param)
                        (defop land " land " 30 infix)
                        (defop text "textrm{#1}" 99999 param)
                        (defop list ", " 10 infix)
                        (defop lor " lor " 20 infix)
                        (defop seq "implies " 0 infix)

                        (proof (
                        (lor "asdf" (lor "asdf" (neg "asdf")))
                        (seq "" (modality "p" "phi"))
                        (neg (lor "p" "q"))
                        (land (lor "p" "q") (lor "q" "p"))
                        (lor (land "p" "q") (land "q" "p"))
                        (lor "asdf" (lor "asdf" "asdf")) <- "That's ``a'' right label!"
                        "FancySplitRule 1" -> (seq "" (list (neg "p") (neg "q") (lor "p" "q")))
                        (
                        "subtree1"
                        "test"
                        (
                        "test"
                        (seq (lor "p" (neg "q")) "succedent")
                        (neg "p")
                        )
                        )
                        (
                        "subtree2"
                        "test"
                        )
                        (
                        (text "And a third branch!!!")
                        )
                        ))


                        which would be rendered to:





                        using, for instance, a one-liner as the following one (for the fish shell):



                        java -jar ProofRenderer.jar -f $argv[1].pt -r standalone-latex -o $argv[1].tex -a "--fit-to-page" ; and pdflatex -interaction=batchmode $argv[1].tex


                        Advantages are the variable degree of abstraction (you can have plain LaTeX in a String and only define the structure by lisp brackets, or you can define a lot of macros and operations and have a tree with lisp-like elements only), the root-to-leaves notation which is still rendered as usual, and the extensibility to different renderers. A disadvantage is that you need yet another tool and cannot include it into your source code directly. Feel free to try it out ;)






                        share|improve this answer















                        Short addition: For those who like bussproofs for the generated output, but would rather prefer not to use the stack-based syntax, I've written a frontend for bussproofs allowing for the specification of proofs in an easy lisp-like syntax. Within this syntax, you can define custom operators including precedence information (such that the addition of parentheses is also handled by the tool). Proof are specified starting from the root, which also might be more intuitive for some people; still, they are rendered in the usual leaves-to-root manner.



                        Example input:



                        (macro implies 0 "Longrightarrow")
                        (defop neg "neg " 40 prefix)
                        (defop modality "left[#1right]#2" 40 param)
                        (defop land " land " 30 infix)
                        (defop text "textrm{#1}" 99999 param)
                        (defop list ", " 10 infix)
                        (defop lor " lor " 20 infix)
                        (defop seq "implies " 0 infix)

                        (proof (
                        (lor "asdf" (lor "asdf" (neg "asdf")))
                        (seq "" (modality "p" "phi"))
                        (neg (lor "p" "q"))
                        (land (lor "p" "q") (lor "q" "p"))
                        (lor (land "p" "q") (land "q" "p"))
                        (lor "asdf" (lor "asdf" "asdf")) <- "That's ``a'' right label!"
                        "FancySplitRule 1" -> (seq "" (list (neg "p") (neg "q") (lor "p" "q")))
                        (
                        "subtree1"
                        "test"
                        (
                        "test"
                        (seq (lor "p" (neg "q")) "succedent")
                        (neg "p")
                        )
                        )
                        (
                        "subtree2"
                        "test"
                        )
                        (
                        (text "And a third branch!!!")
                        )
                        ))


                        which would be rendered to:





                        using, for instance, a one-liner as the following one (for the fish shell):



                        java -jar ProofRenderer.jar -f $argv[1].pt -r standalone-latex -o $argv[1].tex -a "--fit-to-page" ; and pdflatex -interaction=batchmode $argv[1].tex


                        Advantages are the variable degree of abstraction (you can have plain LaTeX in a String and only define the structure by lisp brackets, or you can define a lot of macros and operations and have a tree with lisp-like elements only), the root-to-leaves notation which is still rendered as usual, and the extensibility to different renderers. A disadvantage is that you need yet another tool and cannot include it into your source code directly. Feel free to try it out ;)







                        share|improve this answer














                        share|improve this answer



                        share|improve this answer








                        edited Dec 1 '16 at 16:04

























                        answered May 23 '16 at 8:52









                        rindPHIrindPHI

                        1413




                        1413























                            3














                            Though not originally designed for proof trees, the synttree package is very nice and easy for drawing trees.



                            synttree sample



                            Also check out this page on Tree Drawing in LaTeX.






                            share|improve this answer


























                            • Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

                              – Juan A. Navarro
                              Jul 28 '10 at 13:16






                            • 3





                              Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

                              – TJ Ellis
                              Jul 28 '10 at 13:58
















                            3














                            Though not originally designed for proof trees, the synttree package is very nice and easy for drawing trees.



                            synttree sample



                            Also check out this page on Tree Drawing in LaTeX.






                            share|improve this answer


























                            • Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

                              – Juan A. Navarro
                              Jul 28 '10 at 13:16






                            • 3





                              Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

                              – TJ Ellis
                              Jul 28 '10 at 13:58














                            3












                            3








                            3







                            Though not originally designed for proof trees, the synttree package is very nice and easy for drawing trees.



                            synttree sample



                            Also check out this page on Tree Drawing in LaTeX.






                            share|improve this answer















                            Though not originally designed for proof trees, the synttree package is very nice and easy for drawing trees.



                            synttree sample



                            Also check out this page on Tree Drawing in LaTeX.







                            share|improve this answer














                            share|improve this answer



                            share|improve this answer








                            edited Mar 7 '12 at 14:27









                            diabonas

                            21.4k386130




                            21.4k386130










                            answered Jul 28 '10 at 13:06









                            Fabian SteegFabian Steeg

                            1,5331411




                            1,5331411













                            • Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

                              – Juan A. Navarro
                              Jul 28 '10 at 13:16






                            • 3





                              Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

                              – TJ Ellis
                              Jul 28 '10 at 13:58



















                            • Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

                              – Juan A. Navarro
                              Jul 28 '10 at 13:16






                            • 3





                              Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

                              – TJ Ellis
                              Jul 28 '10 at 13:58

















                            Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

                            – Juan A. Navarro
                            Jul 28 '10 at 13:16





                            Thanks for the answer, but I was looking for something more like "natural deduction proofs", i've added to the question a sketch of what I mean.

                            – Juan A. Navarro
                            Jul 28 '10 at 13:16




                            3




                            3





                            Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

                            – TJ Ellis
                            Jul 28 '10 at 13:58





                            Though this isn't what the OP wanted, it's a good answer. Personally, I always use [qtree][essex.ac.uk/linguistics/external/clmt/latex4ling/trees/qtree/], which I also discovered from that site you linked to :-)

                            – TJ Ellis
                            Jul 28 '10 at 13:58











                            3














                            I have been using Paul Taylor's proof-tree package combined with some macros I have written myself. I have used the package for typeset proofs in papers, slides, my MSc thesis, problem sets and solutions.



                            A simple example follows:



                            documentclass{article}
                            usepackage{prooftree}
                            begin{document}
                            begin{prooftree}
                            [
                            [ A justifies B ]
                            quad
                            C
                            justifies
                            D
                            ]
                            quad
                            [
                            [ E quad F justifies G ]
                            justifies
                            H
                            ]
                            justifies
                            J
                            end{prooftree}
                            end{document}





                            share|improve this answer






























                              3














                              I have been using Paul Taylor's proof-tree package combined with some macros I have written myself. I have used the package for typeset proofs in papers, slides, my MSc thesis, problem sets and solutions.



                              A simple example follows:



                              documentclass{article}
                              usepackage{prooftree}
                              begin{document}
                              begin{prooftree}
                              [
                              [ A justifies B ]
                              quad
                              C
                              justifies
                              D
                              ]
                              quad
                              [
                              [ E quad F justifies G ]
                              justifies
                              H
                              ]
                              justifies
                              J
                              end{prooftree}
                              end{document}





                              share|improve this answer




























                                3












                                3








                                3







                                I have been using Paul Taylor's proof-tree package combined with some macros I have written myself. I have used the package for typeset proofs in papers, slides, my MSc thesis, problem sets and solutions.



                                A simple example follows:



                                documentclass{article}
                                usepackage{prooftree}
                                begin{document}
                                begin{prooftree}
                                [
                                [ A justifies B ]
                                quad
                                C
                                justifies
                                D
                                ]
                                quad
                                [
                                [ E quad F justifies G ]
                                justifies
                                H
                                ]
                                justifies
                                J
                                end{prooftree}
                                end{document}





                                share|improve this answer















                                I have been using Paul Taylor's proof-tree package combined with some macros I have written myself. I have used the package for typeset proofs in papers, slides, my MSc thesis, problem sets and solutions.



                                A simple example follows:



                                documentclass{article}
                                usepackage{prooftree}
                                begin{document}
                                begin{prooftree}
                                [
                                [ A justifies B ]
                                quad
                                C
                                justifies
                                D
                                ]
                                quad
                                [
                                [ E quad F justifies G ]
                                justifies
                                H
                                ]
                                justifies
                                J
                                end{prooftree}
                                end{document}






                                share|improve this answer














                                share|improve this answer



                                share|improve this answer








                                edited Nov 23 '12 at 18:32









                                Juan A. Navarro

                                36.4k27116162




                                36.4k27116162










                                answered Nov 18 '10 at 9:14









                                KavehKaveh

                                622818




                                622818























                                    0














                                    To me, ebproof is definitely the way to go.



                                    As the author of the package writes,




                                    The structure is very much inspired by the
                                    bussproofs
                                    package, in particular for the postfix
                                    notation. I actually wrote
                                    ebproof
                                    because there were some limitations in
                                    bussproofs
                                    that I
                                    did not know how to lift, and also because I did not like some choices in that package (and also
                                    because it was fun to write).




                                    The following code:



                                    documentclass[border=10pt]{standalone}
                                    usepackage{ebproof}
                                    begin{document}
                                    begin{prooftree}
                                    hypo{A}
                                    infer1{B}
                                    hypo{C}
                                    infer2{D}
                                    hypo{E}
                                    hypo{F}
                                    infer2{G}
                                    infer1{H}
                                    infer2{J}
                                    end{prooftree}
                                    end{document}


                                    produces:



                                    enter image description here



                                    But the package allows many subtle modifications regarding style, alignment, labels, etc., making it the most modular option I am aware of.






                                    share|improve this answer




























                                      0














                                      To me, ebproof is definitely the way to go.



                                      As the author of the package writes,




                                      The structure is very much inspired by the
                                      bussproofs
                                      package, in particular for the postfix
                                      notation. I actually wrote
                                      ebproof
                                      because there were some limitations in
                                      bussproofs
                                      that I
                                      did not know how to lift, and also because I did not like some choices in that package (and also
                                      because it was fun to write).




                                      The following code:



                                      documentclass[border=10pt]{standalone}
                                      usepackage{ebproof}
                                      begin{document}
                                      begin{prooftree}
                                      hypo{A}
                                      infer1{B}
                                      hypo{C}
                                      infer2{D}
                                      hypo{E}
                                      hypo{F}
                                      infer2{G}
                                      infer1{H}
                                      infer2{J}
                                      end{prooftree}
                                      end{document}


                                      produces:



                                      enter image description here



                                      But the package allows many subtle modifications regarding style, alignment, labels, etc., making it the most modular option I am aware of.






                                      share|improve this answer


























                                        0












                                        0








                                        0







                                        To me, ebproof is definitely the way to go.



                                        As the author of the package writes,




                                        The structure is very much inspired by the
                                        bussproofs
                                        package, in particular for the postfix
                                        notation. I actually wrote
                                        ebproof
                                        because there were some limitations in
                                        bussproofs
                                        that I
                                        did not know how to lift, and also because I did not like some choices in that package (and also
                                        because it was fun to write).




                                        The following code:



                                        documentclass[border=10pt]{standalone}
                                        usepackage{ebproof}
                                        begin{document}
                                        begin{prooftree}
                                        hypo{A}
                                        infer1{B}
                                        hypo{C}
                                        infer2{D}
                                        hypo{E}
                                        hypo{F}
                                        infer2{G}
                                        infer1{H}
                                        infer2{J}
                                        end{prooftree}
                                        end{document}


                                        produces:



                                        enter image description here



                                        But the package allows many subtle modifications regarding style, alignment, labels, etc., making it the most modular option I am aware of.






                                        share|improve this answer













                                        To me, ebproof is definitely the way to go.



                                        As the author of the package writes,




                                        The structure is very much inspired by the
                                        bussproofs
                                        package, in particular for the postfix
                                        notation. I actually wrote
                                        ebproof
                                        because there were some limitations in
                                        bussproofs
                                        that I
                                        did not know how to lift, and also because I did not like some choices in that package (and also
                                        because it was fun to write).




                                        The following code:



                                        documentclass[border=10pt]{standalone}
                                        usepackage{ebproof}
                                        begin{document}
                                        begin{prooftree}
                                        hypo{A}
                                        infer1{B}
                                        hypo{C}
                                        infer2{D}
                                        hypo{E}
                                        hypo{F}
                                        infer2{G}
                                        infer1{H}
                                        infer2{J}
                                        end{prooftree}
                                        end{document}


                                        produces:



                                        enter image description here



                                        But the package allows many subtle modifications regarding style, alignment, labels, etc., making it the most modular option I am aware of.







                                        share|improve this answer












                                        share|improve this answer



                                        share|improve this answer










                                        answered Sep 20 '18 at 4:44









                                        ClémentClément

                                        2,64221264




                                        2,64221264























                                            -3














                                            For help to my client, I'm looking for a freelance expert for formal logic, who knows how to formulate proofs, and to write in latex. A complete mastery of English, a doctorate, and an example of an article published with proofs of logic.



                                            600 NIS per hour for the appropriate candidate Please do not waste my time if you do not meet all the requirements.
                                            CV + article can be sent to shlomo@deeponcology.ai
                                            All work in front of me includes the NDA.
                                            Thanks.
                                            https://www.deeponcology.ai/



                                            Here on Facebook






                                            share|improve this answer








                                            New contributor




                                            user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                            Check out our Code of Conduct.

























                                              -3














                                              For help to my client, I'm looking for a freelance expert for formal logic, who knows how to formulate proofs, and to write in latex. A complete mastery of English, a doctorate, and an example of an article published with proofs of logic.



                                              600 NIS per hour for the appropriate candidate Please do not waste my time if you do not meet all the requirements.
                                              CV + article can be sent to shlomo@deeponcology.ai
                                              All work in front of me includes the NDA.
                                              Thanks.
                                              https://www.deeponcology.ai/



                                              Here on Facebook






                                              share|improve this answer








                                              New contributor




                                              user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                              Check out our Code of Conduct.























                                                -3












                                                -3








                                                -3







                                                For help to my client, I'm looking for a freelance expert for formal logic, who knows how to formulate proofs, and to write in latex. A complete mastery of English, a doctorate, and an example of an article published with proofs of logic.



                                                600 NIS per hour for the appropriate candidate Please do not waste my time if you do not meet all the requirements.
                                                CV + article can be sent to shlomo@deeponcology.ai
                                                All work in front of me includes the NDA.
                                                Thanks.
                                                https://www.deeponcology.ai/



                                                Here on Facebook






                                                share|improve this answer








                                                New contributor




                                                user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                Check out our Code of Conduct.










                                                For help to my client, I'm looking for a freelance expert for formal logic, who knows how to formulate proofs, and to write in latex. A complete mastery of English, a doctorate, and an example of an article published with proofs of logic.



                                                600 NIS per hour for the appropriate candidate Please do not waste my time if you do not meet all the requirements.
                                                CV + article can be sent to shlomo@deeponcology.ai
                                                All work in front of me includes the NDA.
                                                Thanks.
                                                https://www.deeponcology.ai/



                                                Here on Facebook







                                                share|improve this answer








                                                New contributor




                                                user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                Check out our Code of Conduct.









                                                share|improve this answer



                                                share|improve this answer






                                                New contributor




                                                user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                Check out our Code of Conduct.









                                                answered 40 mins ago









                                                useruser

                                                1




                                                1




                                                New contributor




                                                user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                Check out our Code of Conduct.





                                                New contributor





                                                user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                Check out our Code of Conduct.






                                                user is a new contributor to this site. Take care in asking for clarification, commenting, and answering.
                                                Check out our Code of Conduct.






























                                                    draft saved

                                                    draft discarded




















































                                                    Thanks for contributing an answer to TeX - LaTeX Stack Exchange!


                                                    • Please be sure to answer the question. Provide details and share your research!

                                                    But avoid



                                                    • Asking for help, clarification, or responding to other answers.

                                                    • Making statements based on opinion; back them up with references or personal experience.


                                                    To learn more, see our tips on writing great answers.




                                                    draft saved


                                                    draft discarded














                                                    StackExchange.ready(
                                                    function () {
                                                    StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2ftex.stackexchange.com%2fquestions%2f468%2fwhat-is-the-best-package-out-there-to-typeset-proof-trees%23new-answer', 'question_page');
                                                    }
                                                    );

                                                    Post as a guest















                                                    Required, but never shown





















































                                                    Required, but never shown














                                                    Required, but never shown












                                                    Required, but never shown







                                                    Required, but never shown

































                                                    Required, but never shown














                                                    Required, but never shown












                                                    Required, but never shown







                                                    Required, but never shown







                                                    Popular posts from this blog

                                                    Entries order in /etc/network/interfaces

                                                    新発田市

                                                    Grub takes very long (several minutes) to open Menu (in Multi-Boot-System)