我正在為我的學士建造攻擊樹。我需要透過邏輯與運算符連接一些子節點。所以我只是在這些節點之間畫了一條線,並在上面放置了一個節點。
遺憾的是,我無法將邊緣的標籤直接放在(隱藏)線上,它總是在其上方的中間。我不知道為什麼......希望你能幫助我。
這是一個最小的例子:
\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}
. –
成功了並解決了我的問題。謝謝 :)