对齐节点内容并防止换行

对齐节点内容并防止换行

我有两个问题:

起初,我在对齐节点内的文本时遇到了一些困难。我的目标是让名称居中对齐,其余内容左对齐。由于无法将其插入数据库的名称字段,我猜这必须在处理器中完成。

其次,我注意到如果空间不够,节点内容中就会出现换行符(当然)。在我看来,如果日期跨越两行,看起来会很难看,所以我想阻止处理器(至少我猜是处理器)在这个特定位置插入换行符。 以下是日期如何跨越两行的图片

我用

\genealogytree[
        template=signpost,
        database content interpreter,
        database format=full,
        list separators hang,
        edges=rounded]{ input{file} }

制作树。

我希望你们中有人知道如何做到这一点,我已经在互联网上搜索过并试图了解数据库处理器的代码,但我没有找到合适的地方。

编辑:根据要求,此外,还有一个最小工作代码:

\documentclass{standalone} %or standalone
\usepackage[all]{genealogytree}

\gtrset{info separators={\par}{. }{}{}} %no period after comment



\begin{document}
\begin{tikzpicture}
        %templates: signpost, database traditional
        \genealogytree[
                template=signpost,
                database content interpreter,
                database format=full,
                list separators hang,
                edges=rounded]{

                sandclock{
                        child{
                                g[female]{
                                        female,
                                        name = {name \surn{name}},
                                        birth- = {1997-09-20},
                                }
                        }
                        child{
                                g[male]{
                                        male,
                                        name = {name \surn{name}},
                                        birth- = {2001-05-23},
                                }
                        }
                }
                }
        \end{tikzpicture}
\end{document}

答案1

如果您不使用路标模板,它将左对齐。然后以特殊方式处理名称的一种方法是滥用参数,该参数实际上是用于为名称设置特殊字体的。

我在示例中设置了更大的框,以便对齐之间的差异更加清晰。

\documentclass{standalone} %or standalone
\usepackage[all]{genealogytree}

\gtrset{info separators={\par}{. }{}{}} %no period after comment

\gtrset{name font=\hfil}
\begin{document}
\begin{tikzpicture}
  % templates: signpost, database traditional
  \genealogytree[
  %% template=signpost,
  node size=5cm,
  database content interpreter,
  database format=full,
  list separators hang,
  edges=rounded]{
    sandclock{
      child{
        g[female]{
          female,
          name = {name \surn{name}},
          birth- = {1997-09-20},
        }
      }
      child{
        g[male]{
          male,
          name = {name \surn{name}},
          birth- = {2001-05-23},
        }
      }
    }
  }
\end{tikzpicture}
\end{document}

至于问题 2,我不确定在您给出的例子中您希望发生什么。

在此处输入图片描述

相关内容