缩小 tikz 树

缩小 tikz 树

如何减少所绘制树的整体大小tikz-qtree?我有一个巨大的解析树,甚至无法放在一页纸上。我想调整整个树的大小或调整放置算法以使树更密集。

答案1

把整棵树\resizebox放在graphicx。以下是图形指南关于这个命令有话要说:

\resizebox{⟨h-length⟩}{⟨v-length⟩}{⟨text⟩}

缩放文本,使宽度h 长度。 如果!用作长度参数,则另一个参数用于确定在两个方向上使用的比例因子。通常V 长度指的是盒子的高度,但在星号形式中,它指的是“高度 + 深度”。与 LaTeX2ε 盒子长度参数一样,\height\width\totalheight\depth可用于指代盒子的原始大小。

\bigskip、、和只是为了使示例间距看起来更美观。请注意\newpage,为了使垂直调整大小起作用,您需要将 放在环境中。当然,您也可以只用作长度;我的示例中仅包含与排版尺寸相关的长度。\hfill\hspace{0pt}\Treetikzpicture5cm

\documentclass[12pt]{article}

\usepackage[a6paper,showframe]{geometry}% just to demonstrate the effects

\usepackage{graphicx}

\usepackage{tikz-qtree}

\begin{document}
\setlength{\parindent}{0cm}% get rid of paragraph indents for this example

%
% HORIZONTAL RESIZING FOR WIDE TREES
%

Original Size:

\Tree[.Top A B C D E F G H I J K L M N O P ]

\bigskip

Full linewidth:

\resizebox{\linewidth}{!}{%
\Tree[.Top A B C D E F G H I J K L M N O P ]
}

\bigskip

Linewidth minus 1cm:

\resizebox{\dimexpr\linewidth-1cm}{!}{%
\Tree[.Top A B C D E F G H I J K L M N O P ]
}

\bigskip

Half linewidth:

\resizebox{.5\linewidth}{!}{%
\Tree[.Top A B C D E F G H I J K L M N O P ]
}

\bigskip

%
% VERTICAL RESIZING FOR TALL TREES
%

Page 2: original size

Page 3: textheight, textheight minus 1cm, half textheight

\newpage

\begin{tikzpicture}\Tree[.A [.B [.C [.D [.E [.F [.G [.H [.I [.J [.K [.L [.M [.N [.O [. P ]]]]]]]]]]]]]]]]\end{tikzpicture}

\newpage

\hfill
\resizebox{!}{\textheight}{\begin{tikzpicture}
\Tree[.A [.B [.C [.D [.E [.F [.G [.H [.I [.J [.K [.L [.M [.N [.O [. P ]]]]]]]]]]]]]]]]
\end{tikzpicture}}
\hfill
\resizebox{!}{\dimexpr\textheight-1cm}{\begin{tikzpicture}
\Tree[.A [.B [.C [.D [.E [.F [.G [.H [.I [.J [.K [.L [.M [.N [.O [. P ]]]]]]]]]]]]]]]]
\end{tikzpicture}}
\hfill
\resizebox{!}{.5\textheight}{\begin{tikzpicture}
\Tree[.A [.B [.C [.D [.E [.F [.G [.H [.I [.J [.K [.L [.M [.N [.O [. P ]]]]]]]]]]]]]]]]
\end{tikzpicture}}
\hfill\hspace{0pt}

\end{document}

输出页面 1

输出页面 2

输出页面 3

相关内容