# Genealogytree package with brother-sister marriages and cousin marriages

I hope you will forgive me for not pasting code, but it's just so much code at this point that I don't even know where to begin cutting out an example. Let me try to use words instead.

Let's assume a fake male line of ancestry, as F1, F2, F3, F4, F5, F6 (they all have wives too, etc, but I don't think we need that now). Father1 is youngest and Father6 is oldest.

F4 has three brothers; B1, B2, B3.

Brothers B1 and B2 marry two women from a different family, twin girls; TG1 and TG2 (who in turn have parents that I would like to include; TGF and TGM).

B1 and TG1 has a son; S1.

B2 and TG2 has a daughter; D1.

S1 and D1 are cousins, and are allowed to marry, and guess what, they do marry each other.

S1 and D1 have three kids who all die very young because of inbreeding.

My main ancestry line F1-F6 should use pivot to remain a straight line. I want this interesting side-story with relatives to fold out to the side. How do I achieve this?

I tried coding it, but I keep getting error messages of a nature that are impossible to decode. Whatever I do, I never get a hint if I'm doing something right or what is going wrong, it's either fine without the side-family or no output at all with that side-family. If someone is able to make it work, I figure I can compare that code with what I have to see where I go wrong.

EDIT: I tried to rewrite some code that kind of goes along what I am describing. But I can see even now that it doesn't work, I'm just not sure how to change it so that it does work. Just remove the B1-B3 brothers with wives etc and it should compile fine.

\documentclass[9pt]{report}
\usepackage[a1paper,landscape,layoutoffset={0pt,0pt},hscale=0.85, vscale=0.9, inner=15mm, top=20mm]{geometry}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
%\usepackage[swedish]{babel}
\usepackage{multicol}
\usepackage{graphicx}
\usepackage[space]{grffile}
\usepackage{xcolor}
\usepackage{epstopdf}
\usepackage[all]{genealogytree}

\tcbset{male/.style={colframe=black, colback=blue!06, watermark text=\gtrSymbolsSetDraw{blue!16}\gtrsymMale}}
\tcbset{female/.style={colframe=black, colback=red!07, watermark text=\gtrSymbolsSetDraw{red!17}\gtrsymFemale}}

\gtrset{
processing=fit,
box={segmentation style=solid,colback=white},
level size=2 cm,
node  size=1 cm,
level distance=0.75 cm,
child distance=0.25 cm,
parent distance=0.1 cm,
further distance = 2 cm
}

\begin{tikzpicture}

\genealogytree[box={segmentation style=solid,colback=white,leftrule=1mm,rightrule=1mm},
edges={mesh={to path={.. controls +(270:0.5) and +(90:0.5) .. (\tikztotarget)}},no background,foreground={black!52,Circle-Latex,line width=0.6mm}},
timeflow=down,
level size=1 cm,
node  size=2 cm,
level distance=0.25 cm,
child distance=0.75 cm,
parent distance=0.1 cm,
further distance = 2 cm
]
{
sandclock
{
parent
{
g[male, id=DEL2]
{
Dan-Erik
}
}
parent
{
g[female, id=AKL2, distance=4 cm]
{
Angsana
}
}
c[neuter]
{
\begin{minipage}{4.5 cm}
\textbf{Latest known name\\(in English/Swedish)\hfill\gtrsymEngaged}
\tcbline
Name when born \\(in Thai if applicable)\\
\gtrsymBorn\, \\
\gtrsymMarried\, \\
\gtrsymDied\, \\
\emph{Optional notes}
\end{minipage}
}
}
}

\genealogytree[
box=
{
segmentation style=solid,
colback=white,
leftrule=2mm,
rightrule=1mm
},
level size=2 cm,
node  size=1 cm,
level distance=0.75 cm,
child distance=0.25 cm,
edges=
{
mesh=
{
to path={.. controls +(0:0.5) and +(180:0.5) .. (\tikztotarget)}
},
no background,
foreground={black!52,Circle-Latex,line width=0.6mm}
},
timeflow=right,
adjust position=DEL left of {0,0} distance 1cm,
after tree=
{
\node[font=\scriptsize\itshape,text width=8cm,above right,fill=yellow!5] at ([yshift=15cm]DEL.north) {\gtrSymbolsFullLegend};
}]
{
sandclock
{
c[male, id=OL86]
{
\begin{minipage}{4.5 cm}
Olle
\end{minipage}
}
c[male, id=NL84]
{
\begin{minipage}{4.5 cm}
Nils
\end{minipage}
}
c[female, id=ELL74]
{
\begin{minipage}{4.5 cm}
Emma
\end{minipage}
}
child
{
g[male, pivot, id=DEL, set position=DEL at DEL2]{Dan-Erik Sigurd Lindberg}
}
parent
{
g[female, pivot]
{
Ingrid
}
parent
{
g[male, pivot]
{
Axel
}
}
parent
{
g[female, pivot]
{
Anna
}
parent
{
g[male, pivot]
{
L-P
}
}
parent
{
g[female, pivot]
{
Emma
}
}
}
}
parent
{
g[male, pivot]{Rolf Sigurd Lindberg}
c[female]{Margareta Eman}
c[female]{Monica Björklund}
parent
{
g[male, pivot]{Curt Sigurd Lindberg}
parent
{
g[male, pivot]{Sigurd Lindberg}
}
parent
{
g[female]{Elin Lindberg}
}
}
parent
{
g[female]{Hedvig Lindberg}
parent
{
g[female]{Margareta Warva}
}
parent
{
g[male,pivot]{Holger}
parent
{
g[male,pivot]{Isaac}
parent
{
g[male,pivot]{F2}
parent
{
g[male,pivot]{F3}
parent
{
g[male,pivot]{F4}
child
{
g[male]{B1}
child
{
g[male]{S1}
parent
{
g[female]{TG1}
}
}
}
child
{
g[male]{B2}
child
{
g[male]{D1}
parent
{
g[female]{TG2}
}
}
}
child
{
g[male]{B3}
}
parent
{
g[male,pivot]{F5}
parent
{
g[male,pivot]{F6}
}
}
}
}
}
}
}
}
}
}
}

\genealogytree[box={segmentation style=solid,colback=white,leftrule=1mm,rightrule=2mm},
edges={mesh={to path={.. controls +(180:0.5) and +(0:0.5) .. (\tikztotarget)}},no background,foreground={black!52,Circle-Latex,line width=0.6mm}},
timeflow=left]
{
sandclock
{
child
{
g[male]
{
Attachai
}
}
child
{
g[female, pivot, id=AKL, set position=AKL at AKL2]{Angsana}
}
parent
{
g[male,pivot]
{
Anop
}
parent
{
g[female]
{
Lee
}
}
parent
{
g[male,pivot]
{
?
}
}
}
parent
{
g[female, pivot]
{
Renu
}
parent
{
g[female, pivot]
{
Boonchuai
}
}
parent
{
g[male]
{
Pratuang
}
}
}
}
}

\end{tikzpicture}

\end{document}

• I've got hundreds of relatives added to my code, and have gone back and forth deleting this particular family since it crashes everything. At this point, I don't believe I have a save file with it left any more, and I am rather loathe to paste my big file here since it contains 99.9% totally irrelevant stuff. I could re-write my version of that family though, I guess. – GaRyu Nov 18 '15 at 21:16
• We do not need your complete document. Make it minimal. Important for us is which documentclass you use, which package(s) for the tree and the relevant options for both. And of course the coding (without personal data!!!) of the first two or three rows ... Please check question meta.tex.stackexchange.com/questions/228/… – Mensch Nov 18 '15 at 21:21
• Relevant to this famous SO post, where another piece of genealogy software mistakenly assumes no cycles. The answers there might be relevant here (even though they're aimed at the library writer). – Arun Debray Nov 18 '15 at 21:41

You can always use tikz paths to "manually" add links to your tree (or between trees)... I'm not sure it answers your question (because to be franc I'm not even sure what you're trying to achieve exactly), but maybe it can help someone else in a similar situation :

\begin{tikzpicture}
\genealogytree[template=signpost,box={boxrule=0.4pt,colframe=black!75},edges={foreground={line width=1pt,black,line cap=butt},no background}]{
child{
g{A}
child{
g{B}
c{D}
c[id=e]{E}
}
child{
g[id=c]{C}
c[phantom=1cm]-
c{F}
}
}
}
\draw[color=red,line width=1pt] (c.south) -- (e.north);
\end{tikzpicture}


• Well, the beauty of the geneaologytree package is not having to code all those paths yourself. If I would do what you suggest, then first I would have to manually displace nodes to make room, then I would have to manually add nodes and lines between them. Basically, your suggestion is that I stop using the genealogytree package and just use tikz. Well, it doesn't really answer the question, since the question presupposes good use of the package for this purpose. – GaRyu Dec 27 '15 at 0:02