我想添加一个箭头,将 PPP(无边)连接到 Pros。我该怎么做?是否可以在不从主根下降的框和下面的另一个框之间添加箭头?我可以添加一个箭头,将 Pros 连接到从公共根下降的下方框(例如将 pros 连接到“失败”?
谢谢
\usepackage{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{figure}
\centering
\begin{forest}
for tree={
% nodes
draw, semithick, rounded corners,
fill=green!39, drop shadow,
text width=10em, text centered,
font=\sffamily,
% tree
s sep = 2mm,
l sep = 5mm,
edge = {arr},
}
[Oil Wealth, fill=cyan, sharp corners [Societal D [Nate [IOCs , name=A1 ] [Substantial [New] [Government ,name=B1 [Failed, name=C1 [Opposition[Constitutional [Strong ]]]]]]
[YP , name=A3 ]]]
[ppp,no edge, name=Z1 [Pros, no edge, name=Z2]]]
[Transfers ]
%
\path (Z1) edge (Z2) ;
\end{forest}
\caption{Causal Channels }
\end{figure}
\end{document}
答案1
您可以将任何节点连接到您想要的任何其他节点,无论它们是否是树的一部分,只要您为节点指定一个name
,您已经这样做了。但您不能在环境中放置一个空行forest
,因为这会引发错误并且代码将无法编译(我已经在您的回答中提到过其他问题)。
您可能希望使用不覆盖其他节点的箭头连接“优点”和“失败”节点。请参阅下面的示例,其中提供了有关如何执行此操作的建议。另外,我认为最好指定节点的text height
和text depth
,否则它们将无法正确对齐。
“Transfers”节点不会被打印,因为它不是主树的一部分。因此我将其注释掉。
\documentclass{article}
\usepackage{forest}
\usetikzlibrary{arrows.meta, shadows}
\begin{document}
\tikzset{
arr/.style={->}
}
\begin{figure}
\centering
\begin{forest}
for tree={
% nodes
draw, semithick, rounded corners,
fill=green!39, drop shadow,
text width=10em, text centered,
font=\sffamily,
text height=.8em,
text depth=.1em,
% tree
s sep = 2mm,
l sep = 5mm,
edge = {arr},
}
[Oil Wealth, fill=cyan, sharp corners
[Societal D
[Nate
[IOCs , name=A1]
[Substantial
[New]
[Government , name=B1
[Failed , name=C1
[Opposition
[Constitutional
[Strong]
]
]
]
]
]
[YP , name=A3]
]
]
[ppp, no edge, name=Z1
[Pros, no edge, name=Z2]
]
]
% [Transfers]
%
\draw[arr] (Z1) edge (Z2);
\draw[arr] (Z2.east) -- ++(.25,0) |- (C1.east);
\end{forest}
\caption{Causal Channels}
\end{figure}
\end{document}