
我剛開始學習 LaTeX,為此我嘗試建立上次邏輯作業的 PDF。因此我必須建立一個解析樹。谷歌搜尋後,我找到了一些在這個平台上使用 tikz-trees 的範例。我的結果是這樣的:
\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}
這看起來正是我想要的樣子,但是仍然出現了一些錯誤,出於學習原因,我想問你們我的錯誤是什麼,因為這次它有效,但也許我會犯同樣的錯誤下次它就不再編譯了。
答案1
這應該可以解決問題。
我做了什麼?
- 在需要的地方添加缺少的
$
標誌(我總共添加了 3 個); - 避免“雙重下標”,例如,如果您說
$x_i_1$
您會收到錯誤 - 您需要將事物分組:$x_{i_1}$
例如; - 刪除了
tabular
添加圖片時不需要的環境align=center
,並刪除了最後的換行符(只是為了整潔); - 我刪除
inputenc
只是因為我沒有在編輯器中使用該編碼(但我強烈建議考慮使用utf8
); - 我替換
amsmath
為mathtools
- 這個負載amsmath
加上一些修復/增強。
如果你閱讀錯誤當你編譯時,他們中的許多人會告訴你問題是什麼。$
例如,在缺少標誌的情況下,並不總是但肯定是這樣。
\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}