Есть ли что-то вроде команды, \gtrDBid
работающей как \gtrDBsex
в пакете genealogytree
?
Мои настройки для понимания использования этой команды:
Файл
family/family.tex
содержит текстовый код генеалогического древа.
В каталоге
db/
все фотографии сохранены с идентификатором человека в имени файла. Шаблон
P-<id>.jpg
Например:
db/P-ForenameSurename1990.jpg
Мой пример кода пока работает:
\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}
Теперь я хочу изменить строку
image=SurnameForename1990.jpg,
во что-то вроде
image=\gtrDBid.jpg,
Есть ли какие-нибудь возможности? Спасибо!
решение1
Может id
быть отображено с помощью , но этот макрос слишком хитрый, чтобы использовать его так, как вы хотите. Вместо этого можно использовать \gtrnodeid
более базовый .\gtr@gkv@id
Следующее решение будет работать только
- если у каждого человека есть ассоциированный
id
- если у каждого человека есть образ, следующий твоему образцу.
Если ваше приложение соответствует этим предварительным условиям, попробуйте сделать следующее:
\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}