가장자리에 있는 tikz 트리 노드는 라인 위에 있는 것이 아니라 항상 라인 위에 있습니다.

가장자리에 있는 tikz 트리 노드는 라인 위에 있는 것이 아니라 항상 라인 위에 있습니다.

나는 내 학사 thisis에 대한 공격 트리를 구축하고 있습니다. 그리고 논리 및 연산자를 사용하여 일부 하위 노드를 연결해야 합니다. 그래서 저는 그 노드들 사이에 선을 그리고 그 위에 노드를 놓았습니다.

안타깝게도 가장자리의 라벨을 (숨겨진) 선에 직접 배치할 수는 없습니다. 항상 그 위의 중간에 있습니다. 왜 그런지 모르겠어요... 저를 도와주셨으면 좋겠습니다.

최소한의 예는 다음과 같습니다.

\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=false설정 에 추가하세요 TreeOperator: TreeOperator/.style={...,auto=false}. –

트릭을 수행하고 내 문제를 해결했습니다. 감사합니다 :)

관련 정보