使用 qtree 包时使节点的字体变大

使用 qtree 包时使节点的字体变大

我在 LaTeX 中使用qtree软件包,但树节点的文本非常小。我还用它\scalebox来缩小树,因为它不适合页面。

有没有办法增加文本的大小,同时保持树很小?我试过qtreeinithook\Large没有成功,因为文本仍然不够大。

编辑:所以,问题与我在这里使用的模板有关ftp://ftp.cup.cam.ac.uk/pub/texarchive/journals/latex/tlp-cls/unpacked/tlp.cls

    \documentclass[conference]{tlp}
    \usepackage{qtree}
    \begin{document}
    \Tree [.A [ a b c d ].B !\qsetw{1cm} C ]
    \newcommand\qlabelhook{\Huge}
    \newcommand\qleafhook{\Huge}
    \Tree [.A [ a b c d ].B !\qsetw{1cm} C ]
    \end{document}

使用此代码,树的边缘变得太大,以至于树无法容纳在页面中。我猜问题出在模板上。

答案1

问题是由于tlp类重新定义了tabular环境而引起的,该环境由 内部使用qtree。我在最后给出了修复方法,但还有一个更简单的解决方案。

您可以使用 usetikz-qtree代替qtree。语法是相同的,尽管某些命令(如\qsetw和)\qroof不受支持(前者是不需要的,而后者有替代语法)。 tikz-qtree似乎与您使用的类没有相同的问题:

\documentclass[conference]{tlp}
\usepackage{tikz-qtree,tikz-qtree-compat}
\begin{document}
\begin{tikzpicture}[every tree node/.style={font=\Large,anchor=base}]
\Tree [.A [ a b c d ].B  C ]
\end{tikzpicture}
\end{document}

代码输出

解决问题qtree

如果您仍然需要使用,qtree您可以将以下内容添加到您的序言中,然后 Gonzalo 的解决方案就会起作用,但第一个解决方案显然更可取。

\documentclass[conference]{tlp}
\usepackage{qtree}
\makeatletter
\renewcommand{\qshow@text}[3][c]{{#2{\begin{oldtabular}[t]
{@{\hskip\qtreepadding}#1@{\hskip\qtreepadding}}#3\end{oldtabular}}}}
\def\qroof#1.#2 {{%
\setbox\@qrscratchbox = \hbox{\let\qtreepadding=\qroofpadding
  \qshow@text[l]{\qleafhook}{#1}}%
\def\qtreepadding{0pt}%
\begin{oldtabular}{@{}c@{}}
  \setbox\@tempboxa = \hbox{\qshow@text{\qlabelhook}{#2}}%
      \ifdim\wd\@tempboxa>0pt \box\@tempboxa \\ \fi
  \unitlength=\wd\@qrscratchbox \qdraw@roof \\[-0.6ex]
  \box\@qrscratchbox
\end{oldtabular}}}
\makeatother
\begin{document}
    \Tree [.A [ a b c d ].B  C ]
    \newcommand\qlabelhook{\Huge}
    \newcommand\qleafhook{\Huge}
\Tree [.A [ a b c d ].B !\qsetw{1cm} C ]

\end{document}

答案2

您可以使用\qleafhook(对于叶子)和\qlabelhook(对于非终端节点):

\documentclass{article}
\usepackage{qtree}

\begin{document}

\Tree [.A [ a b c d ].B !\qsetw{1cm} C ]

\newcommand\qlabelhook{\Huge}
\newcommand\qleafhook{\Huge}

\Tree [.A [ a b c d ].B !\qsetw{1cm} C ]

\end{document}

在此处输入图片描述

相关内容