
Acabei de começar a aprender LaTeX e para isso tentei criar um PDF da minha última tarefa de lógica. Portanto tive que criar uma árvore de resolução. Depois de pesquisar no Google, encontrei alguns exemplos de uso de árvores tikz nesta plataforma. Meu resultado é este:
\documentclass[12pt, a4paper]{article}
\usepackage{amsmath}
\usepackage{amssymb}
\usepackage[ansinew]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage{pdflscape}
\usetikzlibrary{calc,fit,trees}
\begin{document}
\begin{landscape}
\begin{tikzpicture}[
grow'=up,
level 1/.style={sibling distance=16em},
level 2/.style={sibling distance=15em},
level 3/.style={sibling distance=15em},
level 4/.style={sibling distance=12em}]
\node (f) {$\Box$}
child { node (1l) {
\begin{tabular}
$\varphi_{T32}$ \\
$Q(a, f(g(a)))$ \\
\end{tabular}}
child { node (2ll) {
\begin{tabular}
$\varphi_{T31}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a)))$
\end{tabular}}
child {node (3lll) {
\begin{tabular}
$(\varphi_2)_{[x/a \text{, } y/f(g(a))]}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a))) \lor \lnot P(g(a))$ \\
\end{tabular}}}
child {node (3llr) {
\begin{tabular}
$\varphi_{T1}$ \\
$P(g(a))$
\end{tabular}}
child { node(llrl) {
\begin{tabular}
$(\varphi_3)_{[x/f(a) \text{, } y/b]}$ \\
$Q(f(a),g(b)) \lor P(g(a))$ \\
\end{tabular}}}
child { node(llrr) {
\begin{tabular}
$\varphi_4$ \\
$\lnot Q(f(a),g(b)) \\
\end{tabular}}}}}
child { node (2lr) {
\begin{tabular}
$\varphi_{T2}$ \\
\lnot R(g(a), f(g(a))) \\
\end{tabular}}
child {node (3lrl) {
\begin{tabular}
$\varphi_{T1}$ \\
$P(g(a))$
\end{tabular}}}
child {node (3lrr) {
\begin{tabular}
$\varphi_1_{[x/g(a)]}$ \\
$\lnot R(g(a), f(g(a)) \lor \lnot P(g(a)))$ \\
\end{tabular}}}}
}
child {node (1r) {\begin{tabular}
$(\varphi_5)_{[y/a]}$ \\
$\lnot Q(a, f(g(a)))$ \\
\end{tabular}}};
\end{tikzpicture}
\end{landscape}
\end{document}
E está exatamente do jeito que eu queria, mas mesmo assim ainda existem alguns erros aparecendo e por motivos de aprendizado eu queria perguntar a vocês quais são os meus erros, porque desta vez funciona, mas talvez eu cometa o mesmo erro da próxima vez e ele não compila mais.
Responder1
Isso deve resolver os problemas.
O que eu fiz?
- adicionei
$
sinais ausentes quando necessário (adicionei 3 deles no total); - evitou 'subscritos duplos', por exemplo, se você disser
$x_i_1$
que receberá um erro - você precisa agrupar as coisas:$x_{i_1}$
, por exemplo; - removeu os
tabular
ambientes que não são necessários se você adicionaralign=center
à imagem e removeu as quebras de linha finais (apenas por questão de limpeza); - Removi
inputenc
apenas porque não estou usando essa codificação no meu editor (mas aconselho fortemente considerar usarutf8
); - Substituí
amsmath
pormathtools
- isso carregaamsmath
mais algumas correções/melhorias.
Se vocêleia os errosquando você compila, muitos deles informam qual é o problema. Nem sempre, mas definitivamente no caso de falta de $
sinais, por exemplo.
\documentclass[12pt, a4paper]{article}
\usepackage{mathtools}
\usepackage{amssymb}
\usepackage{tikz}
\usepackage{pdflscape}
\usetikzlibrary{calc,fit,trees}
\begin{document}
\begin{landscape}
\begin{tikzpicture}[
align=center,
grow'=up,
level 1/.style={sibling distance=16em},
level 2/.style={sibling distance=15em},
level 3/.style={sibling distance=15em},
level 4/.style={sibling distance=12em}]
\node (f) {$\Box$}
child { node (1l) {
$\varphi_{T32}$ \\
$Q(a, f(g(a)))$
}
child { node (2ll) {
$\varphi_{T31}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a)))$
}
child {node (3lll) {
$(\varphi_2)_{[x/a \text{, } y/f(g(a))]}$ \\
$Q(a, f(g(a))) \lor R(g(a), f(g(a))) \lor \lnot P(g(a))$
}}
child {node (3llr) {
$\varphi_{T1}$ \\
$P(g(a))$
}
child { node(llrl) {
$(\varphi_3)_{[x/f(a) \text{, } y/b]}$ \\
$Q(f(a),g(b)) \lor P(g(a))$
}}
child { node(llrr) {
$\varphi_4$ \\
$\lnot Q(f(a),g(b))$
}}}}
child { node (2lr) {
$\varphi_{T2}$ \\
$\lnot R(g(a), f(g(a)))$
}
child {node (3lrl) {
$\varphi_{T1}$ \\
$P(g(a))$
}}
child {node (3lrr) {
$\varphi_{1_{[x/g(a)]}}$ \\
$\lnot R(g(a), f(g(a)) \lor \lnot P(g(a)))$
}}}
}
child {node (1r) {
$(\varphi_5)_{[y/a]}$ \\
$\lnot Q(a, f(g(a)))$
}}
;
\end{tikzpicture}
\end{landscape}
\end{document}