Gibt es so etwas wie einen Befehl, der \gtrDBid
wie \gtrDBsex
im 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 id
kann durch angezeigt werden \gtrnodeid
, aber dieses Makro ist zu raffiniert, um es wie gewünscht zu verwenden. \gtr@gkv@id
Stattdessen kann das grundlegendere verwendet werden.
Die folgende Lösung funktioniert nur
- wenn jeder Mensch eine damit verbundene
id
- 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}