Я использую пакет genealogytree для создания конструкции sandclock, но я также смещаю ребра, соединяющие супружеские пары, вверх так, чтобы они были на одном уровне с центром узлов. Я использую параметры для расстояния, разъединения и дополнительных ребер, чтобы получить нужную мне компоновку, и все работает хорошо, но я не знаю, как сместить метку с датой брака. Есть ли простой вариант сделать это в этой ситуации? Я включаю скриншот того, что у меня есть, и код, который это создает. Я хотел бы, чтобы 1850 был смещен вверх чуть выше линии, соединяющей отца и мать.
\begin{genealogypicture}[template=signpost,
options for family={fam1}{extra edges={Fa,Mo}{C2}
{yshift=12mm}},
options for family={fam2}{extra edges={GF,GM}{Fa}
{yshift=-13mm}}]
sandclock
{child[id=fam1,family database={marriage={1850}{}}]
{g[id=Fa,male,disconnect]{Father} p[id=Mo,
female,distance=1cm,disconnect]{Mother}
child{g[id=C1,male]{Child1}}
child{g[id=C2,male]{Child2}}
child{g[id=C3,female]{Child3}}
}
parent[id=fam2]{g[id=GF,male]{Grandfather} }
parent{g[id=GM,female,distance=1cm,disconnect]
{Grandmother}}
}
\end{genealogypicture}
решение1
Используйте label options={fill=white},
для блокировки зеленых линий.
\documentclass{standalone}
\usepackage[all]{genealogytree}
\begin{document}
\begin{tikzpicture}
\genealogytree[template=signpost,
label options={fill=white},
options for node={A}{box={colback=blue!30}},
options for node={B}{box={colback=green!30}},
options for family={AB}{label={\gtrsymMarried 2006}}
% show id,
]{
child[id=AB]{
g[id=A]{Father}
p[id=B]{Mother}
c[id=c1]{Child 1}
c[id=c2]{Child 2}
c[id=c3]{Child 3}
}
}
\end{tikzpicture}
\end{document}
ИЗМЕНИТЬ1
При желании вы можете разместить метку брака по центру между родителями, используя:
\draw [decorate,decoration={brace,amplitude=5pt,mirror,raise=2pt},
line width=1pt,yshift=0pt] (A.south east) -- (A.north east)
node [align=center,right=10pt,midway,fill=yellow] {{\gtrsymMarried 2006}};
\draw [decorate,decoration={brace,amplitude=5pt,raise=2pt},
line width=1pt,yshift=0pt] (B.south west) -- (B.north west);
Левая скобка ставится рядом с кодом:
\draw [decorate,decoration={brace,amplitude=5pt,mirror,raise=2pt},
line width=1pt,yshift=0pt] (A.south east) -- (A.north east)
Правая фигурная скобка помещена кодом — команда mirror
для изменения положения фигурной скобки удалена.
\draw [decorate,decoration={brace,amplitude=5pt,raise=2pt},
line width=1pt,yshift=0pt] (B.south west) -- (B.north west);
Метка о браке наносится с помощью --
node [align=center,right=10pt,midway,fill=yellow] {{\gtrsymMarried 2006}}
Полная версия MWE:
\documentclass{standalone}
\usepackage[all]{genealogytree}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\genealogytree[template=signpost,
label options={fill=white},
options for node={A}{box={colback=blue!30}},
options for node={B}{box={colback=green!30}},
options for family={AB}{label={\gtrsymMarried 2006}},
% show id,
options for node={B}{distance=2cm},
]{
child[id=AB]{
g[id=A]{Father}
p[id=B]{Mother}
c[id=c1]{Child 1}
c[id=c2]{Child 2}
c[id=c3]{Child 3}
}
}
\draw [decorate,decoration={brace,amplitude=5pt,mirror,raise=2pt},
line width=1pt,yshift=0pt] (A.south east) -- (A.north east)
node [align=center,right=10pt,midway,fill=yellow] {{\gtrsymMarried 2006}};
\draw [decorate,decoration={brace,amplitude=5pt,raise=2pt},
line width=1pt,yshift=0pt] (B.south west) -- (B.north west);
\end{tikzpicture}
\end{document}
Узлы Father Mother
были разделены на 2 см.
ИЗМЕНИТЬ2
Брак без скобок — просто удалите 2 команды рисования и замените
\draw (A.east) node [right=10pt,fill=yellow] {{\gtrsymMarried 2006}};
МВЭ
\documentclass{standalone}
\usepackage[all]{genealogytree}
\usepackage{tikz}
\usetikzlibrary{decorations.pathreplacing}
\begin{document}
\begin{tikzpicture}
\genealogytree[template=signpost,
label options={fill=white},
options for node={A}{box={colback=blue!30}},
options for node={B}{box={colback=green!30}},
options for family={AB}{label={\gtrsymMarried 2006}},
% show id,
options for node={B}{distance=2cm},
]{
child[id=AB]{
g[id=A]{Father}
p[id=B]{Mother}
c[id=c1]{Child 1}
c[id=c2]{Child 2}
c[id=c3]{Child 3}
}
}
\draw (A.east) node [right=10pt,fill=yellow] {{\gtrsymMarried 2006}};
\end{tikzpicture}
\end{document}