我想在这里修改代码:
http://www.texample.net/tikz/examples/scenario-tree/
以便使其适合 beamer 页面。代码在常规文章页面上有效,但树对于 beamer 幻灯片来说太大了。我应该在代码中更改什么才能将树放在一张幻灯片上?
非常感谢您的帮助!
答案1
如果您不介意scale
原始树,那么您有两个简单的解决方案。
第一:使用standalone
该类生成一棵裁剪的树,该树将通过命令包含在您的投影仪演示文稿中\includegraphics
。
用更改minimal
类standalone
并将其转换为 pdflatex。您不需要更改任何其他内容。
% Scenario tree
% Author: Rasmus Pank Roulund
% \documentclass{minimal}
\documentclass[border=2mm]{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage{amsmath}
\usepackage{xspace}
\newcommand{\A}{\ensuremath{\mathcal{A}}\xspace}
\newcommand{\B}{\ensuremath{\mathcal{B}}\xspace}
\newcommand\pa[1]{\ensuremath{\left(#1\right)}}
\begin{document}
\begin{tikzpicture}[
grow=right,
level 1/.style={sibling distance=3.5cm,level distance=5.2cm},
level 2/.style={sibling distance=3.5cm, level distance=6.7cm},
edge from parent/.style={very thick,draw=blue!40!black!60,
shorten >=5pt, shorten <=5pt},
edge from parent path={(\tikzparentnode.east) -- (\tikzchildnode.west)},
kant/.style={text width=2cm, text centered, sloped},
every node/.style={text ragged, inner sep=2mm},
punkt/.style={rectangle, rounded corners, shade, top color=white,
bottom color=blue!50!black!20, draw=blue!40!black!60, very
thick }
]
\node[punkt, text width=5.5em] {Country~\B}
%Lower part lv1
child {
node[punkt] [rectangle split, rectangle split, rectangle split parts=3,
text ragged] {
\textbf{Scenario 1}
\nodepart{second}
$\text{Country \B}\colon s\bar{Q}$
\nodepart{third}
$\text{Country \A}\colon\pa{1-s}\bar{Q}$
}
edge from parent
node[kant, below, pos=.6] {Unchanged parity}
}
%Upper part, lv1
child {
node[punkt, text width=6em] {Country~\A}
%child 1
child {
node [punkt,rectangle split, rectangle split,
rectangle split parts=3] {
\textbf{Scenario 2}
\nodepart{second}
$\text{Country \B}\colon s\bar{Q}+2\alpha\Delta E -sc$
\nodepart{third}
$\text{Country \A}\colon\pa{1-s}\bar{Q}-\alpha\Delta E -
\pa{1-s}c$
}
edge from parent
node[below, kant, pos=.6] {Unchanged parity}
}
%child 2
child {
node [punkt, rectangle split, rectangle split parts=3]{
\textbf{Scenario 3}
\nodepart{second}
$\text{Country \B}\colon s\bar{Q}-2sc$
\nodepart{third}
$\text{Country \A}\colon\pa{1-s}\bar{Q}-2\pa{1-s}c$
}
edge from parent
node[kant, above] {Devalues}}
edge from parent{
node[kant, above] {Devalues}}
};
\end{tikzpicture}
\end{document}
现在,将其包含在您的演示文稿中。
\documentclass{beamer}
\begin{document}
\begin{frame}{Probability tree}
{\par\centering
% 106998 is the name I've used for probability tree figure.
\includegraphics[width=\linewidth]{106998}
\par}
\end{frame}
\end{document}
结果是:
第二:Tikz
在投影仪演示文稿中包含代码,但使用\resizebox
命令调整其大小:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{shapes}
\usepackage{amsmath}
\usepackage{xspace}
\newcommand{\A}{\ensuremath{\mathcal{A}}\xspace}
\newcommand{\B}{\ensuremath{\mathcal{B}}\xspace}
\newcommand\pa[1]{\ensuremath{\left(#1\right)}}
\begin{document}
\begin{frame}{Probability tree}
{\par\centering\resizebox{\linewidth}{!}{%
\begin{tikzpicture}[
grow=right,
level 1/.style={sibling distance=3.5cm,level distance=5.2cm},
level 2/.style={sibling distance=3.5cm, level distance=6.7cm},
edge from parent/.style={very thick,draw=blue!40!black!60,
shorten >=5pt, shorten <=5pt},
edge from parent path={(\tikzparentnode.east) -- (\tikzchildnode.west)},
kant/.style={text width=2cm, text centered, sloped},
every node/.style={text ragged, inner sep=2mm},
punkt/.style={rectangle, rounded corners, shade, top color=white,
bottom color=blue!50!black!20, draw=blue!40!black!60, very
thick }
]
\node[punkt, text width=5.5em] {Country~\B}
%Lower part lv1
child {
node[punkt] [rectangle split, rectangle split, rectangle split parts=3,
text ragged] {
\textbf{Scenario 1}
\nodepart{second}
$\text{Country \B}\colon s\bar{Q}$
\nodepart{third}
$\text{Country \A}\colon\pa{1-s}\bar{Q}$
}
edge from parent
node[kant, below, pos=.6] {Unchanged parity}
}
%Upper part, lv1
child {
node[punkt, text width=6em] {Country~\A}
%child 1
child {
node [punkt,rectangle split, rectangle split,
rectangle split parts=3] {
\textbf{Scenario 2}
\nodepart{second}
$\text{Country \B}\colon s\bar{Q}+2\alpha\Delta E -sc$
\nodepart{third}
$\text{Country \A}\colon\pa{1-s}\bar{Q}-\alpha\Delta E -
\pa{1-s}c$
}
edge from parent
node[below, kant, pos=.6] {Unchanged parity}
}
%child 2
child {
node [punkt, rectangle split, rectangle split parts=3]{
\textbf{Scenario 3}
\nodepart{second}
$\text{Country \B}\colon s\bar{Q}-2sc$
\nodepart{third}
$\text{Country \A}\colon\pa{1-s}\bar{Q}-2\pa{1-s}c$
}
edge from parent
node[kant, above] {Devalues}}
edge from parent{
node[kant, above] {Devalues}}
};
\end{tikzpicture}}
\par}
\end{frame}
\end{document}
第三个选项是更改树以适应投影仪幻灯片,但这并不容易。一些值得探索的想法:使其向下生长,更改字体大小,...