在家譜樹中列印 id

在家譜樹中列印 id

是否有類似命令的東西像包中\gtrDBid一樣工作?\gtrDBsexgenealogytree

我的設定來了解此命令的用法:

  • 文件

    family/family.tex  
    

    保存譜系樹的 tex 程式碼。

  • 在目錄中

    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}

相關內容