You can use the extra concept
style for the additional node (this is the exact situation for which the style was designed) and draw the lines with a loop:
\node[fill=blue,circle,font=\scriptsize,extra concept,text=white]
(additional)
at (blub|-pau)
{Something else};
\foreach \Name in {blub,sep,bla}
\draw[dashed,ultra thick,blue] (additional) -- (\Name);
The result:
The complete code:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{matrix,calc,,arrows.meta,shapes,positioning,shadows,trees,mindmap,backgrounds}
\begin{document}
\begin{figure}
\centering
\resizebox{0.8\textwidth}{!}{%
\begin{tikzpicture}[mindmap,
level 1 concept/.append style={level distance=130,sibling angle=90},
extra concept/.append style={color=blue!50,text=black}]
\path[mindmap,concept color=black,text=white]
node[concept] {Something}
[clockwise from=0]
child[concept color=green!50!black] {
node[concept] (gov) {Something}
[clockwise from=0]
child { node[concept] (blub) {Something} }
child { node[concept] (bla) {Something} }
child { node[concept] (sep) {Something} }
[clockwise from=-90]
child { node[concept] (pau) {Something} }
}
child[concept color=blue] {
node[concept] (top) {Something}
}
child[concept color=red] {
node[concept] {Something}
[clockwise from=310]
child { node[concept] (cot) {Something} }
child { node[concept] (cont) {Something} }
}
child[concept color=orange] {
node[concept] (gen) {Something}
[clockwise from=-180]
child { node[concept] {Something} }
};
\begin{pgfonlayer}{background}
\draw [left color=blue, right color=green!50!black, draw=white, decorate,decoration=circle connection bar] (pau) -- (top);
\draw [left color=orange, right color=green!50!black, draw=white, decorate,decoration=circle connection bar] (gen) -- (gov);
\draw [left color=red, right color=blue, draw=white, decorate,decoration=circle connection bar] (cot) -- (top);
\draw [left color=red, right color=blue, draw=white, decorate,decoration=circle connection bar] (cont) -- (top);
\end{pgfonlayer}
\node[fill=blue,circle,font=\scriptsize,extra concept,text=white]
(additional)
at (blub|-pau)
{Something else};
\foreach \Name in {blub,sep,bla}
\draw[dashed,ultra thick,blue] (additional) -- (\Name);
\end{tikzpicture}%
}
\end{figure}
\end{document}
As a side note, using [!h]
as float position specifier is a recipe for disaster; use a less restrictive option such as [!htp]
or, better yet, none at all.
There are many different ways to shrink a tikzpicture
to fit inside a beamer frame, see, e.g., Scaling a tikzpicture for a Beamer slide.
One possibility using adjustbox
:
\documentclass{beamer}
\usepackage{tikz}
\usetikzlibrary{mindmap,trees}
\usepackage{verbatim}
\usepackage{adjustbox}
\begin{document}
\begin{frame}
\begin{adjustbox}{max totalsize={.9\textwidth}{.7\textheight},center}
\begin{tikzpicture}
\path[mindmap,concept color=black,text=white]
node[concept] {Unit Root Tests}
[clockwise from=15]
child[concept color=green!50!black] {
node[concept] {Granger Causality (TY p.)}
[clockwise from=90]
child { node[concept] {Full Sample}}
child { node[concept] {Pre and Post Sample}}
}
child[concept color=blue] {
node[concept] {Cointegration Test}
[clockwise from=-30]
child { node[concept] {Full Sample} }
child { node[concept] {Pre and Post Sample} }
}
child[concept color=red] { node[concept] {Break Point Tests} [clockwise from=-90]
child { node[concept] {ZA and PPU Tests}}}
child[concept color=orange] { node[concept] {Classical Tests} [clockwise from=90]
child { node[concept] {ADF, PP, and KPSS Tests}}};
\end{tikzpicture}
\end{adjustbox}
\end{frame}
\end{document}
Best Answer
You could hack your way out using nested
\left\{
delimiters andtabular
environments. This is a first approximation on which one could improve further.I have some improvements in mind (but no time to implement them right now): one would like each “entry” in the map to be typeset on a
\parbox
with a\raggedright
and a specific width. One would also probably want appropriate spacings (such as\\[2em]
) to be automatically added. Finally one would probably like an user interface closer toenumerate
and\item
's instead of ending entries by\\
.I wonder if a package to do exactly this has been already implemented?