Я строю деревья атак для моего бакалавра thisis. И мне нужно соединить некоторые дочерние узлы логическим оператором and. Поэтому я просто нарисовал линию между этими узлами и поместил на нее узел.
К сожалению, я не могу сделать так, чтобы метка края была размещена прямо на (скрытой) линии, она всегда находится посередине над ней. И я понятия не имею, почему... Надеюсь, вы сможете мне помочь.
Вот минимальный пример:
\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}
. –
Сделал трюк и решил мою проблему. Спасибо :)