계보 나무에 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}

관련 정보