genealogytree -- Ehe setzt eine horizontale Linie auf das Foto

genealogytree -- Ehe setzt eine horizontale Linie auf das Foto

Wenn ich versuche, das Hochzeitsdatum zu einem der grundlegenden Beispiele im Benutzerhandbuch hinzuzufügen, erhalte ich eine horizontale Linie, die das Foto überlappt:Problem

Hier mein Code:

\documentclass{article}

\usepackage{genealogytree}
\usepackage{tcolorbox}

\begin{document}

\begin{genealogypicture}[
    processing=database,
    database format=medium marriage below,
    node size=2.4cm,
    level size=3.5cm,
    level distance=6mm,
    %...
    list separators hang,
    name font=\bfseries,
    surn code={\textcolor{red!50!black}{#1}},
    place text={\newline}{},
    date format=d/mon/yyyy,
    %...
    tcbset={male/.style={colframe=blue,colback=blue!5},
        female/.style={colframe=red,colback=red!5}},
    box={fit basedim=7pt,boxsep=2pt,segmentation style=solid,
        halign=left,before upper=\parskip1pt,
        \gtrDBsex,drop fuzzy shadow,
        if image defined={add to width=25mm,right=25mm,
            underlay={\begin{tcbclipinterior}\path[fill overzoom DBimage]
                ([xshift=-24mm]interior.south east) rectangle (interior.north east);
            \end{tcbclipinterior}},
        }{},
    },
]
sandclock
{
child{
    g[id=GauxCarl1777]{
        male,
        name={Johann \pref{Carl Friedrich} \surn{Gau\ss{}}},
        birth={1777-04-30}{Braunschweig (Niedersachsen)},
        marriage={1800-01-01}{},  %<== my modification to the guide's example
        death={1855-02-23}{G\"ottingen (Niedersachsen)},
        profession={Mathematiker, Astronom, Geod\"at und Physiker},
        image={Carl_Friedrich_Gauss.jpg},
    }
    p[id=GauxCarl1777]{
        female,
        name={Johann \pref{Carl Friedrich} \surn{Gau\ss{}}},
        birth={1777-04-30}{Braunschweig (Niedersachsen)},
        marriage={1800-01-01}{},  %<== my modification to the guide's example
        death={1855-02-23}{G\"ottingen (Niedersachsen)},
        profession={Mathematiker, Astronom, Geod\"at und Physiker},
        image={Carl_Friedrich_Gauss.jpg},
    }

}
}
\end{genealogypicture}




\end{document}

Weiß jemand, wie man das verhindern kann?

Antwort1

Hierfür gibt es verschiedene Lösungsmöglichkeiten. Die einfachste ist der Wechsel zu einem Datenbankformat, das keine Linie zeichnet, wie z.B. medium. In diesem Fall wird die Heirat zwischen Geburt und Sterbedatum abgedruckt.

MWE:

\documentclass{article}

\usepackage{genealogytree}
\usepackage{tcolorbox}
\begin{document}

\begin{genealogypicture}[
    processing=database,
    database format=medium,
    box={fit basedim=7pt,boxsep=2pt,segmentation style=solid,
        halign=left,before upper=\parskip1pt,
        \gtrDBsex,drop fuzzy shadow,
        if image defined={add to width=25mm,right=25mm,
            underlay={\begin{tcbclipinterior}\path[fill overzoom image=\gtrDBimage]
            ([xshift=-24mm]interior.south east) rectangle (interior.north east);
            \end{tcbclipinterior}},
        }{},
    },
]
sandclock{
    child{
        g[id=GauxCarl1777]{
            male,name={Johann \pref{Carl Friedrich} \surn{Gau\ss{}}},
            birth={1777-04-30}{Braunschweig (Niedersachsen)},
            marriage={1800-01-01}{},
            death={1855-02-23}{G\"ottingen (Niedersachsen)},
            profession={Mathematiker, Astronom, Geod\"at und Physiker},
            image={Carl_Friedrich_Gauss.jpg},
        }
    }
    child{
        g[id=GauxCarl1777]{
            female,name={Johann \pref{Carl Friedrich} \surn{Gau\ss{}}},
            birth={1777-04-30}{Braunschweig (Niedersachsen)},
            marriage={1800-01-01}{},
            death={1855-02-23}{G\"ottingen (Niedersachsen)},
            profession={Mathematiker, Astronom, Geod\"at und Physiker},
        }
    }
}
\end{genealogypicture}
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Eine zweite Möglichkeit besteht darin, die Definition von zu ändern, medium marriage belowum die Zeile zu entfernen. Die Definitionen sind in der Datei aufgeführt gtrcore.node.code.texund können neu definiert werden, indem Sie nach dem Laden geänderten Code zu Ihrem eigenen Dokument hinzufügen genealogytree.

MWE:

\documentclass{article}
\usepackage{genealogytree}
\usepackage{tcolorbox}
\makeatletter
\gtrDeclareDatabaseFormat{medium marriage below}{}{%
  \gtrPrintName%
  \begin{gtreventlist}%
    \gtr@list@event@birth%
    \gtr@list@event@floruit%
    \gtr@list@event@death%
  \end{gtreventlist}%
  \gtr@print@infolist%
  \gtr@ifmarriagedefined{%
  \begin{gtreventlist}\gtr@list@event@marriage\end{gtreventlist}}{}%
  % was: \gtr@ifmarriagedefined{\tcbline\begin{gtreventlist}\gtr@list@event@marriage\end{gtreventlist}}{}%
}
\makeatother

\begin{document}

\begin{genealogypicture}[
    processing=database,
    database format=medium marriage below,
    box={fit basedim=7pt,boxsep=2pt,segmentation style=solid,
        halign=left,before upper=\parskip1pt,
        \gtrDBsex,drop fuzzy shadow,
        if image defined={add to width=25mm,right=25mm,
            underlay={\begin{tcbclipinterior}\path[fill overzoom image=\gtrDBimage]
            ([xshift=-24mm]interior.south east) rectangle (interior.north east);
            \end{tcbclipinterior}},
        }{},
    },
]
sandclock{
    child{
        g[id=GauxCarl1777]{
            male,name={Johann \pref{Carl Friedrich} \surn{Gau\ss{}}},
            birth={1777-04-30}{Braunschweig (Niedersachsen)},
            marriage={1800-01-01}{},
            death={1855-02-23}{G\"ottingen (Niedersachsen)},
            profession={Mathematiker, Astronom, Geod\"at und Physiker},
            image={Carl_Friedrich_Gauss.jpg},
        }
    }
    child{
        g[id=GauxCarl1777]{
            female,name={Johann \pref{Carl Friedrich} \surn{Gau\ss{}}},
            birth={1777-04-30}{Braunschweig (Niedersachsen)},
            marriage={1800-01-01}{},
            death={1855-02-23}{G\"ottingen (Niedersachsen)},
            profession={Mathematiker, Astronom, Geod\"at und Physiker},
        }
    }
}
\end{genealogypicture}
\end{document}

Ergebnis:

Bildbeschreibung hier eingeben

Um diese Lösung etwas zu erweitern, können Sie testen, ob ein Bild vorhanden ist, und die Zeile nur für Knoten ohne Bild drucken und andernfalls beispielsweise etwas vertikalen Abstand lassen.

MWE, nur der relevante Teil der Neudefinition wird angezeigt:

\gtr@ifmarriagedefined{%
  \ifdefvoid{\gtrDBimage}{\tcbline}{\vspace{2mm}}%
  \begin{gtreventlist}\gtr@list@event@marriage\end{gtreventlist}}{}%

Ergebnis:

Bildbeschreibung hier eingeben

Oder fügen Sie \tcblinein beiden Fällen Folgendes hinzu, beides verkürzt die Linie um 24 mm, falls ein Bild vorhanden ist:

\gtr@ifmarriagedefined{%
  \ifdefvoid{\gtrDBimage}{\tcbline}{%
  \tcbline@ {\kvtcb@leftupper +\@totalleftmargin +24mm}}%
  \begin{gtreventlist}\gtr@list@event@marriage\end{gtreventlist}}{}%

Ergebnis:

Bildbeschreibung hier eingeben

verwandte Informationen