邊緣上的 tikz 樹節點總是在線上方,而不僅僅是在線上

邊緣上的 tikz 樹節點總是在線上方,而不僅僅是在線上

我正在為我的學士建造攻擊樹。我需要透過邏輯與運算符連接一些子節點。所以我只是在這些節點之間畫了一條線,並在上面放置了一個節點。

遺憾的是,我無法將邊緣的標籤直接放在(隱藏)線上,它總是在其上方的中間。我不知道為什麼......希望你能幫助我。

這是一個最小的例子:

\documentclass[a4paper,12pt,headsepline,dvipsnames,bibliography=totocnumbered]{scrartcl}

\usepackage{tikz}
\usepackage{tikz-qtree}

\usetikzlibrary{trees}

\begin{document}

    \tikzset{
        attackTree/.style={
            auto,
            font=\small,
            edge from parent fork down,
            level distance=2.5cm,
            every node/.style=
            {   rectangle,
                minimum height=15mm,
                minimum width=30mm,
                draw=black,
                align=center,
                text depth = 0pt
            },
            edge from parent/.style=
            {   draw=black}
        },
        treeOperator/.style={
            minimum width=0,
            minimum height=0,
            draw=none
        }
    }

    \begin{tikzpicture}[
        attackTree,
        sibling distance=35mm
        ]
        \node {Open safe}
        child{
            node {Pick lock}
        }
        child{node {Learn combo}
            child{node {Find written\\combo}}
            child{node {Get combo\\from target}
                child{node{Threaten}}
                child{node{Blackmail}}
                child{node{Eavesdrop}
                    child{node(listen){Listen to\\conversation}}
                    child{node(state){Get target to\\state combo}}
                }
                child{node{Bribe}}
            }
        }
        child{node {Cut open safe}}
        child{node {Install\\improperly}};

        \draw[draw=none] (listen) -- (state) node[treeOperator,midway] {$\wedge$};
    \end{tikzpicture}
\end{document}

這就是它的樣子: 在此輸入影像描述

我只希望邏輯和運算子集中在隱藏線上。我的設定中必須有一個選項,它會阻止它出現在應有的位置,但我無法弄清楚它是哪一個。

在此先感謝您的幫忙!

答案1

正如@esdd 所提到的:

新增auto=falseTreeOperator設定:TreeOperator/.style={...,auto=false}. –

成功了並解決了我的問題。謝謝 :)

相關內容