合併兩個 smartdiagram 圖

合併兩個 smartdiagram 圖

我想加入兩個智慧圖 circular diagrams,因此只有一個Research節點。到目前為止我已經得到:

\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}

這(顯然)給了我以下內容:

MWE 執行

是否可以使用 smartdiagrams 來做到這一點,或者我是否必須恢復到完整的 tikz?

答案1

由於似乎沒有一個快速簡單的答案,我剛剛回到 TikZ 並在那裡重新創建了繪圖。我用 TikZ 的速度還是太慢了!

\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}

這給了我:

解決方案圖片

當然,它更加冗長,但也更加通用(例如,我現在可以輕鬆地向箭頭添加文字)。如果你能想到改進的地方,請評論!

相關內容