森林-改变所有最后边的样式

森林-改变所有最后边的样式

我想将所有“最后”的边设置为蓝色。最简单的方法是什么?我需要引用指向没有任何子节点的边。

在此处输入图片描述

这是使用的代码。

\documentclass[12pt]{article}

\usepackage{forest}

\begin{document}

\begin{forest} 
  for tree = {math content},
  where n children = 0 {tier = word, blue} {}
  [243
    [3   [3^1]]
    [81
      [9   [3^2]]       
      [9   [3^2]]
    ]
  ]
\end{forest}

\end{document}

答案1

只需添加edge=blue选项where n children ...

\documentclass[12pt, margin=3mm]{standalone}
\usepackage{forest}

\begin{document}
  \begin{forest}
    for tree = {
      math content,
      where n children = 0 {tier = word, blue, edge=blue} {},
    }
    [243
      [3   [3^1]]
      [81
        [9   [3^2]]
        [9   [3^2]]
      ]
    ]
  \end{forest}
\end{document}

在此处输入图片描述

编辑: 考虑到@cfr 注释,你可以将树选项写成:

...
  \begin{forest}
    for tree = {
      math content,
      },
    where n children = 0 {tier = word, blue, edge=blue} {}, % <---
...

即使用建议的扩展选项来扩展您的原始代码edge=blue,或者where使用if

  \begin{forest}
    for tree = {
      math content,
      if n children = 0 {tier = word, blue, edge=blue} {},
      },
...

使用其中一项更改可以缩短编译时间,从而避免对树中的每个节点重复遍历树。当文档中有很多树时,这可能很重要。

@cfr 评论中给出了解释。

相关内容