答案1
这是一个森林style,。在样式处于活动状态时可以使用smullyan tableaux
该键来关闭当前分支。closed
一个优点森林是用于指定树的简洁括号语法。
\documentclass[tikz,border=10pt]{standalone}
\newcommand*\lif{\mathbin{\to}}% added thanks to egreg's suggestion
\usepackage{forest}
\forestset{
smullyan tableaux/.style={
for tree={
math content
},
where n children=1{
!1.before computing xy={l=\baselineskip},
!1.no edge
}{},
closed/.style={
label=below:$\times$
},
},
}
\begin{document}
\begin{forest}
smullyan tableaux
[\lnot(\lnot(A \land B) \lif (\lnot A \lor \lnot B))
[\lnot(A \land B)
[\lnot(\lnot A \lor \lnot B)
[\lnot\lnot A
[\lnot\lnot B
[A
[B
[\lnot A, closed]
[\lnot B, closed]
]
]
]
]
]
]
]
\end{forest}
\end{document}
请注意,据我所知,在逻辑上更常见的是绘制树,使得分支从一个公共点开始:
如果有必要,可以通过添加
parent anchor=south,
child anchor=north,
风格。
答案2
下面是一段带有 的简单代码pstricks
,更具体地说是带有pst-tree
:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{mathtools}
\usepackage{pst-node, pst-tree, auto-pst-pdf}
\def\noedge{\ncline[linestyle = none]}
\renewcommand\psedge{\ncline[arrows =-]}
\begin{document}
\centering
\[ \psset{levelsep=1.2cm, treesep=2cm, nodesepA=10pt, nodesepB=2pt}
\pstree%
{\TR[vref =-1.25]{%
\makebox[0pt]{$ \begin{matrix}\neg(\neg(A\wedge B)\to(\neg A\vee\neg B))\\
\neg(A\wedge B)\\
\neg(\neg A\vee\neg B) \\
\neg\neg A\\
\neg\neg B\\
A\\B\end{matrix} $}}}%
{%
\TR[vref=1, href=2]{$ \begin{matrix} \neg A\\ \times\end{matrix}$}
\TR[vref=1, href=-2]{$ \begin{matrix} \neg B\\ \times \end{matrix}$}
} \]
\end{document}