使用 tikz 的樹看起來就像它應該看起來的那樣,但仍然彈出錯誤

使用 tikz 的樹看起來就像它應該看起來的那樣,但仍然彈出錯誤

我剛開始學習 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);
  • 我替換amsmathmathtools- 這個負載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}

固定樹

相關內容