我有以下代表包qtree
树的代码:
\Tree[.${((q \to (\neg r)) \land (\neg(p\lor q)))}$
[.${(q \to (\neg r))}$
[.$q$ ]
[.${(\neg r)}$ $r$ ]
]
[.${(\neg (p \lor q))}$
[.${(p \lor q)}$
[.$p$ ]
[.$q$ ]
]
]
]
其结果如下:
结果是正确的,完全符合我的预期,但是我希望可以对其进行修饰,使其更具风格,更易于阅读。具体来说,我想配置树节点之间的分隔,并将线条转换为箭头。
我想要的结果是这样的:
是否可以使用qtree
库来实现这一点?我怎样才能以最简单的方式做到这一点?我应该使用tkiz-qtree
还是tkiz-tree
?以及如何使用?
答案1
- 看起来这个
tkiz-qtree
包是特意设计来生成图表的,就像你在第一张图片中展示的那样 - 您想要实现的目标,都可以通过使用
forest
包轻松实现。
编辑:
- 添加了被遗忘的箭头,因为@Jasper Habicht 还留有我的。现在已添加。
\documentclass[border=3.141592]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree = {math content,
edge=->,
l sep=5mm,
s sep=7mm,
}
[((q \to (\neg r)) \land (\neg(p\lor q)))
[(q \to (\neg r))
[q]
[(\neg r)
[r]
]
]
[(\neg (p \lor q))
[(p \lor q)
[p]
[q]
]
]
]
\end{forest}
\end{document}
笔记:
对于箭头,你可以使用arrows.meta
TikZ 库来定义。例如
\documentclass[border=3.141592]{standalone}
\usepackage{forest}
\usetikzlibrary{arrows.meta} % <---
\begin{document}
\begin{forest}
for tree = {math content,
edge=-Straight Barb, % <---
l sep=5mm,
s sep=7mm,
}
% rest the same as before
树变成: