使用 LaTeX 绘制中心对齐的树

使用 LaTeX 绘制中心对齐的树

我正在尝试通过以下代码在 LaTeX 中绘制一棵树。它可以工作;但是,它总是向左对齐。我怎样才能使它与中心对齐?

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[]{forest}
\forestset{.style={for tree={parent anchor=south, child anchor=north,align=center,inner sep=2pt}}}

\begin{forest}
[TP
    [DP [D\\the] [NP [N\\man ]]]
    [T'
        [T\\will ]
        [VP
            [V\\eat ]
                [DP [D\\a ] [NP [N\\burger ]]]
        ]
    ]
]
\end{forest}

注:代码取自 Alan Munn(链接已弃用;新版本这里

答案1

align=center仅将文本置于节点的中心。它并不相forest对于页面居中。

更根本的问题是,中的设置.style不会应用于当前森林。要查看此问题,请尝试添加,blue并注意您的树始终保持黑色。

相反, Current Forest 则提供了default preamble

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[]{forest}
\forestset{default preamble={for tree={blue,parent anchor=children, child anchor=parent,align=center,inner sep=2pt}}}
\begin{document}
\begin{center}
  \begin{forest}
    [TP
        [DP [D\\the] [NP [N\\man ]]]
        [T'
            [T\\will ]
            [VP
                [V\\eat ]
                    [DP [D\\a ] [NP [N\\burger ]]]
            ]
        ]
    ]
  \end{forest}
\end{center}

\end{document}

蓝树

blue显然,您应该在实际文档中删除。

不过,你可能想使用

\usepackage[linguistics]{forest}

相反,它将应用一组很好的(对于语言学而言!)默认值到你的树,而无需你指定它们。

\documentclass{article}
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[linguistics]{forest}
% \forestset{default preamble={for tree={blue,parent anchor=children, child anchor=parent,align=center,inner sep=2pt}}}
\begin{document}
\begin{center}
  \begin{forest}
    [TP
        [DP [D\\the] [NP [N\\man ]]]
        [T'
            [T\\will ]
            [VP
                [V\\eat ]
                    [DP [D\\a ] [NP [N\\burger ]]]
            ]
        ]
    ]
  \end{forest}
\end{center}

\end{document}

与<code>语言学</code>

相关内容