在家谱树中打印 ID

在家谱树中打印 ID

\gtrDBid是否有类似\gtrDBsex包中那样的命令genealogytree

我的设置来了解这个命令的用法:

  • 文件

    family/family.tex  
    

    保存了家谱树的 tex-code。

  • 在目录中

    db/
    

    所有图片的文件名都以人物的 ID 为单位。模式是

    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}

相关内容