6

I would like to join up two smartdiagram circular diagrams, so that there is only one Research node. So far I have got:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{smartdiagram}
\begin{document}

\begin{center}
\smartdiagramset{
uniform color list=white!90!gray for 4 items,
uniform arrow color=true,
}
\smartdiagram[circular diagram:clockwise]{Sleeping,Eating,Research,Eating}
\smartdiagram[circular diagram]{Research, Finding problem,Solving problem,
                                Writing up solution}
\end{center}

\end{document}

which (obviously) gives me the following:

MWE executed

Is it possible to do this with smartdiagrams, or do I have to revert to full tikz?

2
  • In meanwhile when you waiting for better solution try the following dirty trick: between smart diagrams put \vskip-3em\hskip-6pt
    – Zarko
    Feb 10 '16 at 20:07
  • Nice... I suppose this would make it a proper MWE.
    – Karalga
    Feb 11 '16 at 10:59
6

Since there doesn't seem to be a quick an easy answer, I have just gone back to TikZ and recreated the drawing there. I am so slow with TikZ still!

\documentclass{article}
\usepackage[utf8]{inputenc}

\usepackage{smartdiagram}

\usepackage{tikz}
\usetikzlibrary{arrows.meta, positioning}

\begin{document}

\begin{tikzpicture}[auto]  
\tikzset{
    mynode/.style={rectangle,rounded corners, draw=gray, top color=white,
                   bottom color=white!90!gray,very thick, inner sep=1em,
                   minimum size=1em, text centered, minimum width=2cm, 
                   drop shadow, text width=1.75cm},
    myright/.style={-{Stealth[length=4mm]}, color=gray, line width=0.1cm,
                   draw, shorten <=0.3cm,shorten >=0.3cm, bend right},
    myleft/.style={-{Stealth[length=4mm]}, color=gray, line width=0.1cm, 
                   draw, shorten <=0.3cm,shorten >=0.3cm, bend left},
}

\node[mynode] (research) {Research};
\node[mynode] at ([yshift=-2.75cm] 0:2.75cm) (writing) {Writing up solution};
\node[mynode] at ([yshift=-2.75cm] 180:2.75cm) (finding) {Finding problem};
\node[mynode] at ([yshift=-2.75cm] 270:2.75cm) (solving) {Solving problem};
\node[mynode] at ([yshift=2.75cm] 0:2.75cm) (eating1) {Eating};
\node[mynode] at ([yshift=2.75cm] 90:2.75cm) (sleeping) {Sleeping};
\node[mynode] at ([yshift=2.75cm] 180:2.75cm) (eating2) {Eating};

\path[myright] (research) to (finding);
\path[myright] (finding) to (solving);
\path[myright] (solving) to (writing);
\path[myright] (writing) to (research);
\path[myleft] (research) to (eating2);
\path[myleft] (eating2) to (sleeping);
\path[myleft] (sleeping) to (eating1);
\path[myleft] (eating1) to (research);
\end{tikzpicture} 

\end{document}

This gives me:

Solution Picture

Of course it's much more verbose, but also more versatile (I can for example now easily add text to the arrows). If you can think of improvements, please comment!

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.