Tikz-qtree:如何使 \edge[roof] 宽度变窄?

Tikz-qtree:如何使 \edge[roof] 宽度变窄?

使用 tikz-qtree 时,是否有一种(相对)简单的方法可以使 \edge[roof] 的宽度变窄?为了进行比较,我想让它更贴近文本,就像 pst-jtree 的 vartri 一样。下面是用于比较的屏幕截图;上面是 tikz-qtree 对 \edge[roof] 的默认行为,下面是我希望的宽度,这是 pst-jtree 对 vartri 的默认行为。在此处输入图片描述

梅威瑟:

\documentclass{article}

\usepackage{pstricks}
\usepackage{pst-jtree}
\usepackage{tikz-qtree}

\begin{document}
    \begin{tikzpicture}
        \Tree
        [.{} \edge[roof]; {a roof} ]
    \end{tikzpicture}

    \jtree
    \!= {}(<vartri>{a roof}).
    \endjtree
\end{document}

答案1

屋顶的大小由其上方节点的和决定inner sepouter sep如果您使用命令明确引入节点,\node则可以添加样式来调整这些值。

\documentclass{article}

\usepackage{tikz-qtree}
\tikzset{roof node/.style={inner sep=1pt}}

\begin{document}
    \begin{tikzpicture}
        \Tree
        [.{} \edge[roof]; \node[roof node]{a roof}; ]
    \end{tikzpicture}
\end{document}

或者,您可以针对所有节点或所有叶节点全局调整它们。

\documentclass{article}

\usepackage{tikz-qtree}

\tikzset{every leaf node/.style={inner sep=1pt}}
\begin{document}
    \begin{tikzpicture}
        \Tree
        [.{} \edge[roof]; {a roof} ]
    \end{tikzpicture}
\end{document}

代码输出

相关内容