나는 내 학사 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}
. –
트릭을 수행하고 내 문제를 해결했습니다. 감사합니다 :)