我正在尝试编写一个相当大的树。我找到了森林包,并能够生成一个。但是,我对整个树的大小有些问题,因为我希望它能放在一页纸里,但我没有,我真的不知道该怎么做。
我在网上找到了代码的第一部分并尝试使用它,但我不知道如何编辑它以调整树的大小。
\documentclass [12pt,a4paper,twoside]{book}
\usepackage{fontspec}
\usepackage{forest}
\usepackage[left=3cm,right=3cm, bottom=3cm]{geometry}
\setmainfont{Times New Roman}
\begin{document}
\forestset{
dir node/.style={
parent anchor=south west,
child anchor=west,
anchor=west,
inner ysep=0pt,
align=left,
},
dir tree/.style={
for tree={
grow'=0,
dir node,
edge path={
\noexpand\path [draw, \forestoption{edge}] (!u.parent anchor) ++(1em,0) |- node[fill,inner sep=1.00pt] {} (.child anchor)\forestoption{edge label};
},
if n children=0{}{
delay={
prepend={[text 1, dir node, phantom, calign with current]}
}
},
fit=band,
before computing xy={
l=2em,
}
},
}
}
\begin{forest}
dir tree,
for tree = {
font=\ttfamily
}
[EpisodioStagione <= 10.50
[NEU <= 0.73
[Personaggi <= 35.00
[NEG <= 0.23
[DurataScene <= 7.38
[Durata <= 52.45
[Classe: 8.0 - 8.2]
]
[Durata > 52.45
[Classe 8.3 - 8.5]
]
]
[DurataScene > 7.38
[Tagli <= 357.50
[Tagli <= 241.50
[Classe: 7.7 - 7.9]
]
[Tagli > 241.50
[Durata <= 42.34
[Parole <= 2155.00
[Episodio <= 39.00
[Classe: 8.3 - 8.5]
]
[Episodio > 39.00
[Classe: 8.3 - 8.5]
]
]
[Parole > 2155.00
[Classe: 8.0 - 8.2]
]
]
[Durata > 42.34
[Classe: 8.0 - 8.2]
]
]
]
[Tagli > 357.50
[Classe: 7.7 - 7.9]
]
]
]
[NEG > 0.23
[EpisodioStagione <= 1.50
[Classe: 8.0 - 8.2]
[EpisodioStagione > 1.50
[NEU <= 0.62
[Tagli <= 291.50
[Classe: 8.3 - 8.5]
]
[Tagli > 291.50
[Classe: 8.3 - 8.5]
]
]
[NEU > 0.62
[Classe: 8.3 - 8.5]
]
]
]
]
[Personaggi > 35.00
[Classe: 8.6 - 8.8]
]
]
[NEU > 0.73
[NEU <= 0.73
[Classe: 8.6 - 8.8]
]
[NEU > 0.73
[Classe: 7.7 - 7.9]
]
]
]
[EpisodioStagione > 10.50
[RecensioniUomini <= 327.50
[Classe: 8.3 - 8.5]
]
[RecensioniUomini > 327.50
[Classe 8.9 - 9.1]
]
]
]
\end{forest}
\end{document}
此外,<= 和 >= 符号组合未出现在树中。这是正常的吗?我选择这种方式绘制树,因为它似乎是绘制如此巨大的树的唯一解决方案,但也许我错了。如果有人知道更好的绘制方法,请告诉我!任何帮助都非常感谢!
答案1
你面临的问题是如何把大象放进女人的钱包里,所以没什么可做的。一些可能性是:
- 使用此图表放大页面上的文本区域,或仅放大完整文档,例如通过添加
\usepackage[vmargin=22mm]{geometry}
到文档序言 - 将图表中的字体大小缩小至
\small
- 减少
s sep
到零
编辑:
具有本地更改的页面布局的示例,其中图表:
\documentclass [12pt,a4paper,twoside]{book}
% preamble
\usepackage[hmargin=3cm, bottom=3cm]{geometry}
%---------------- show page layout. don't use in a real document!
\usepackage{showframe}
\renewcommand\ShowFrameLinethickness{0.15pt}
\renewcommand*\ShowFrameColor{\color{red}}
%---------------------------------------------------------------%
\usepackage{fontspec}
\usepackage{forest}
%\setmainfont{Times New Roman}
\usepackage{newtxtext, newtxmath}
% rest of preamble
%
\newgeometry{vmargin=20mm}
\begin{forest}
dir tree,
for tree = {
font=\small\ttfamily,
s sep=0pt
}
% body of diagram
\end{forest}
\restoregeometry
通过这种改变,你的图表可以放在一页上:
(红线表示页面布局)
你喜欢这样的结果吗?我会考虑用不同的方式来呈现图表内容(我仍然不清楚你想用这个图表告诉读者什么)。