ID im Genealogiebaum drucken

ID im Genealogiebaum drucken

Gibt es so etwas wie einen Befehl, der \gtrDBidwie \gtrDBsexim Paket funktioniert genealogytree?

Meine Einstellung zum Verständnis der Verwendung dieses Befehls:

  • Die Datei

    family/family.tex  
    

    enthält den Tex-Code für den Genealogiebaum.

  • Im Verzeichnis

    db/
    

    sind alle Bilder, die mit der ID der Person im Dateinamen gespeichert sind. Muster ist

    P-<id>.jpg
    

    Zum Beispiel:db/P-ForenameSurename1990.jpg

Mein Beispielcode funktioniert bisher:

\documentclass[]{standalone}

\usepackage[all]{genealogytree}
\gtrloadlanguage{german}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc} 
\usepackage{hyperref}


\begin{document}


    \gtrset{image prefix=../db/P-}
    \gtrset{language=german}

    \gtrset{gauss/.style={
            processing=database,
            node size=2.4cm,
            level size=3.5cm,
            box={
                fit basedim=7pt,boxsep=2pt,segmentation style=solid, halign=flush left,before upper=\parskip1pt, \gtrDBsex,drop fuzzy shadow, 
                if image defined={
                    %add to width=25mm,right=25mm,
                    width=49mm,right=25mm, 
                    underlay={
                        \begin{tcbclipinterior}\path[fill overzoom image=\gtrDBimage]
                            ([xshift=-24mm]interior.south east) rectangle (interior.north east);
                        \end{tcbclipinterior}},
                    }{},
                },
            }
        }


    \begin{tikzpicture}[scale=0.94,transform shape]

    \genealogytree[
        gauss, 
    ]{
        child{
            g[id=SurnameForename1990]{
                male,
                name={\pref{Forename} \surn{Surename}},
                birth={1990-01-01}{Home},
                comment={\LaTeX-enthusiast, \gtrDBsex},
                image=SurnameForename1990.jpg,
            }
        }
    }

    \end{tikzpicture}

\end{document}

Was ich jetzt tun möchte, ist, die Zeile zu ändern

image=SurnameForename1990.jpg,

in etwas wie

image=\gtrDBid.jpg,

Gibt es Möglichkeiten? Danke!

Antwort1

Das idkann durch angezeigt werden \gtrnodeid, aber dieses Makro ist zu raffiniert, um es wie gewünscht zu verwenden. \gtr@gkv@idStattdessen kann das grundlegendere verwendet werden.

Die folgende Lösung funktioniert nur

  • wenn jeder Mensch eine damit verbundeneid
  • wenn jeder Mensch ein Bild nach Deinem Muster hat.

Wenn Ihre Anwendung diese Voraussetzungen erfüllt, versuchen Sie Folgendes:

\documentclass[]{standalone}

\usepackage[all]{genealogytree}
\gtrloadlanguage{german}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{hyperref}


\begin{document}

    \makeatletter
    %\gtrset{image prefix=../db/P-}
    \gtrset{language=german}

    \gtrset{gauss/.style={
            processing=database,
            node size=2.4cm,
            level size=3.5cm,
            box={
                fit basedim=7pt,boxsep=2pt,segmentation style=solid, halign=flush left,before upper=\parskip1pt, \gtrDBsex,drop fuzzy shadow,
                %if image defined={
                    %add to width=25mm,right=25mm,
                    width=49mm,right=25mm,
                    underlay={
                        \begin{tcbclipinterior}\path[fill overzoom image=../db/P-\gtr@gkv@id]
                            ([xshift=-24mm]interior.south east) rectangle (interior.north east);
                        \end{tcbclipinterior}},
                %    }{},
                },
            }
        }
    \makeatother

    \begin{tikzpicture}[scale=0.94,transform shape]

    \genealogytree[
        gauss,
    ]{
        child{
            g[id=SurnameForename1990]{
                male,
                name={\pref{Forename} \surn{Surename}},
                birth={1990-01-01}{Home},
                comment={\LaTeX-enthusiast, \gtrDBsex},
                %image=SurnameForename1990.jpg,
            }
        }
    }

    \end{tikzpicture}

\end{document}

verwandte Informationen