我想更改文档中树的大小....但我对树完全陌生,我不知道如何缩放它。这是我的代码(树来自这个答案:
\documentclass[a4paper, 12pt,fleqn]{article}
\usepackage[ngerman]{babel}
\usepackage[utf8]{inputenc}
\usepackage{graphicx}
%\documentclass[border=10pt,tikz]{standalone} %für den Baum
\usepackage[edges]{forest}
\usetikzlibrary{fit}
\usepackage{natbib}
\usepackage[fleqn]{amsmath}
\allowdisplaybreaks
\usepackage{mathptmx}
\usepackage[scaled=.92]{helvet}
\usepackage{courier}
\usepackage[left=30mm,right=40mm,top=25mm,bottom=20mm, includeheadfoot,
centering]
{geometry}
\usepackage{parskip}
\usepackage[onehalfspacing]{setspace}
\usepackage[center]{caption2}
\usepackage[flushmargin,bottom,hang]{footmisc}
\usepackage{acronym}
\usepackage[noxspace,final]{listofsymbols}
\usepackage{longtable}
\usepackage{array}
\usepackage{lmodern} %Schriftart ändern
\renewcommand*\familydefault{\sfdefault} %Schriftart geändert
\usepackage{pgfplots} %von philipp
\usepackage[figuresright]{rotating}
\usepackage{verbatim}
\usepackage{float}
\usepackage{parskip}
\usepackage[edges]{forest}
\usetikzlibrary{fit}
\pagestyle{myheadings}
\renewcommand{\baselinestretch}{1.3}
\renewcommand{\arraystretch}{1.0}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0cm}
\setlength{\footnotemargin}{1em}
\renewcommand{\labelenumi}{(\alph{enumi})}
\renewcommand{\labelenumii}{(\alph{enumi}\arabic{enumii})}
\opensymdef
\setlength{\mathindent}{0pt}
%\setlength\jot{1cm} %abstand zwischen Formeln
\begin{document}
The Tree ist just too big!
\begin{forest}
for tree={
draw,
align=center
},
forked edges,
[Maschinenbelegungs-\\planung
[deterministische\\Prozesse
[ein- Maschinen\\Probleme
]
[mehrstufige\\Probleme
[identische Maschinenfolge f\"ur\\alle Auftr\"age \\\textbf{Flow Shop}
]
[unterschiedliche\\Maschinenfolge der Auftr\"age \\\textbf{Job Shop}
]
[ungeordnete Maschinenfolge\\ der Auftr\"age \\\textbf{Open Shop}
]
]
]
[stochastische\\Prozesse
]
]
\node [draw, fit=(current bounding box.south east) (current bounding
box.north
west)] {};
\end{forest}
\end{document}
我怎样才能将所有行都放到代码中以便您能看到我的代码?通常我只需通过空格点击每行 4 次即可。有没有更好的解决方案?
答案1
正如我在回答你之前的问题时所说,有很多种方法可以实现目标。只有你自己才能判断哪种方法最适合你。
我会尝试将终端节点设为 4 条线,而不是 3 条线。例如:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[left=30mm,right=40mm,top=25mm,bottom=20mm, includeheadfoot, centering]{geometry}
\usepackage[edges]{forest}
\usetikzlibrary{fit}
\begin{document}
\begin{figure}
\centering
\begin{forest}
for tree={
draw,
align=center
},
forked edges,
[Maschinenbelegungs-\\planung
[deterministische\\Prozesse
[ein- Maschinen\\Probleme
]
[mehrstufige\\Probleme
[identische\\Maschinenfolge\\für alle Auftr\"age\\\textbf{Flow Shop}
]
[unterschiedliche\\Maschinenfolge\\der Auftr\"age\\\textbf{Job Shop}, calign with current
]
[ungeordnete\\Maschinenfolge\\der Auftr\"age\\\textbf{Open Shop}
]
]
]
[stochastische\\Prozesse
]
]
\node [draw, fit=(current bounding box.south east) (current bounding box.north west)] {};
\end{forest}
\caption{Organisation}\label{fig:org}
\end{figure}
\end{document}
编辑
如果您不想改变换行符,那么您可以旋转图形或将其缩小。最明显的方法是使用较小的字体。我发现我需要将其缩小得多才能使其适合。(\scriptsize
)由于您使用 Latin Modern Sans 作为默认文本字体,因此在不损失可读性的情况下做到这一点的一种可能性是使用 Latin Modern 的 Quotation Sans 字体。lmodern
不支持此功能,但cfr-lm
支持。在这里,我使用与使用cfr-lm
时等效的选项加载lmodern
。就我个人而言,我不会使用这些选项:即使您想要衬线,我至少也会对衬线和无衬线使用比例数字。但也许这只是我的看法。
结果:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[rm={tabular, lining},sf={tabular, lining},tt={monowidth, tabular, lining}]{cfr-lm}
\renewcommand*\familydefault{\sfdefault}
\usepackage[left=30mm,right=40mm,top=25mm,bottom=20mm, includeheadfoot, centering]{geometry}
\usepackage[edges]{forest}
\usetikzlibrary{fit}
\begin{document}
\begin{figure}
\centering
\qtstyle\scriptsize
\begin{forest}
for tree={
draw,
align=center
},
forked edges,
[Maschinenbelegungs-\\planung
[deterministische\\Prozesse
[ein- Maschinen\\Probleme
]
[mehrstufige\\Probleme
[identische Maschinenfolge für\\alle Auftr\"age\\\textbf{Flow Shop}
]
[unterschiedliche\\Maschinenfolge der Auftr\"age\\\textbf{Job Shop}, calign with current
]
[ungeordnete Maschinenfolge\\der Auftr\"age\\\textbf{Open Shop}
]
]
]
[stochastische\\Prozesse
]
]
\node [draw, fit=(current bounding box.south east) (current bounding box.north west)] {};
\end{forest}
\caption{Organisation}\label{fig:org}
\end{figure}
\end{document}
编辑 编辑
这是一个更漂亮的版本:
\documentclass[12pt,a4paper]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[rm={lining},sf={lining},tt={monowidth, tabular, lining}]{cfr-lm}
\renewcommand*\familydefault{\sfdefault}
\usepackage[left=30mm,right=40mm,top=25mm,bottom=20mm, includeheadfoot, centering]{geometry}
\usepackage[edges]{forest}
\usetikzlibrary{fit,backgrounds,shadows.blur}
\forestset{
terminus label/.style={
l sep'=5pt,
before typesetting nodes={
append={[#1, font=\bfseries, no edge, name=#1]}
}
}
}
\begin{document}
\begin{figure}
\centering
\sffamily
\begin{forest}
for tree={
draw=darkgray,
thick,
align=center,
rounded corners,
top color=gray!5,
bottom color=gray!10,
edge={thick, draw=darkgray},
blur shadow,
},
forked edges,
[Maschinenbelegungs-\\planung
[deterministische\\Prozesse
[ein- Maschinen\\Probleme
]
[mehrstufige\\Probleme
[identische\\Maschinenfolge\\für alle Aufträge, terminus label=Flow Shop
]
[unterschiedliche\\Maschinenfolge\\der Aufträge, terminus label=Job Shop, calign with current
]
[ungeordnete\\Maschinenfolge\\der Aufträge, terminus label=Open Shop
]
]
]
[stochastische\\Prozesse
]
]
\scoped[on background layer]{\node [draw, blur shadow, inner sep=5pt, fill=gray!2.5, thick, rounded corners, fit=(current bounding box.south east) (current bounding box.north west)] {};}
\end{forest}
\caption{Organisation}\label{fig:org}
\end{figure}
\end{document}