Wie kann ich dieses Smartdiagram so reparieren, dass sich die Rechtecke an die Größe des darin enthaltenen Textes anpassen?

Wie kann ich dieses Smartdiagram so reparieren, dass sich die Rechtecke an die Größe des darin enthaltenen Textes anpassen?

Ich verwende eins smartdiagramvon hier:http://www.texample.net/tikz/examples/smart-description/

Das Problem ist, dass die Rechtecke unordentlich aussehen, nachdem ich die Aufzählungspunkte eingefügt habe, die ich brauche. Beispiel:

Bildbeschreibung hier eingeben

\documentclass[border=10pt]{standalone} 
%%%<
\usepackage{verbatim}
%%%>

\usepackage{smartdiagram}
\begin{document}
\smartdiagram[descriptive diagram]{
  {Cat. 1,{  \begin{itemize}
  \item Define shapes, colors, shading,
  \item and line styles for nodes and arrows
  \item new item
  \item another item
  \item one more
  \item OK, I lied
  \end{itemize}}},
  {Position, {Place nodes using a matrix,
              relative or absolute positioning}},
  {Relation, Insert edges or arrows
             between selected nodes},
  {Label, Add labels on edges or arrows}}
\end{document}

Wie kann ich das Problem beheben, sodass sich die Rechtecke an die Größe der Aufzählungsliste anpassen und nicht übereinander liegen?

Antwort1

In der Dokumentation habe ich den Befehl gefunden \smartdiagramset{descriptive items y sep=SOMEVALUE}, der anscheinend das tut, was Sie brauchen:

\documentclass[border=10pt]{standalone} 
%%%<
\usepackage{verbatim}
%%%>


\usepackage{smartdiagram}
\begin{document}
\smartdiagramset{descriptive items y sep=90pt}
\smartdiagram[descriptive diagram]{
  {Cat. 1,{\begin{itemize}
  \item Define shapes, colors, shading,
  \item and line styles for nodes and arrows
  \item new item
  \item another item
  \item one more
  \item OK, I lied
  \end{itemize}}},
  {Position, {Place nodes using a matrix,
              relative or absolute positioning}},
  {Relation, Insert edges or arrows
             between selected nodes},
  {Label, Add labels on edges or arrows}}
\end{document}

Ausgabe:

Bildbeschreibung hier eingeben

Wie Sie sehen, sind danach alle Abstände gleich und dieser Befehl hilft Ihnen nicht dabei, den „Abstand“ nach der ersten Verwendung neu zu definieren. (Zumindest habe ich das nicht gemacht.) Wenn Sie den Abstand nach der ersten Verwendung ändern möchten, lassen Sie es mich wissen, damit ich mir das genauer anschauen kann. Aber ich denke, er sollte konstant bleiben.

Antwort2

bearbeiten(zweite Version der Antwort, zuerst habe ich das Problem falsch verstanden:-( ): mit pure tikzist es einfach, das gewünschte Ergebnis zu erzielen, aber der Code ist nicht mehr so ​​kurz:

Bildbeschreibung hier eingeben

\documentclass[tikz, border=10pt]{standalone}
\usetikzlibrary{backgrounds, chains, positioning, shadows}
\usepackage{enumitem}

\begin{document}
    \begin{tikzpicture}[
 node distance = 2mm and 0mm,
   start chain = going below,
    box/.style = {rectangle, rounded corners, draw=gray, very thick,
                  minimum height=16mm, text width=60mm, align=flush center,
                  top color=#1!90, bottom color=#1!10,
                  drop shadow, on chain},
    cir/.style = {circle, draw=gray, very thick,
                  minimum size=16mm, inner sep=2pt, outer sep=0pt,
                  top color=#1, bottom color=#1!10,
                  drop shadow},
                        ]

\node (n1) [box=red]    {\begin{itemize}[nosep, leftmargin=*]
                        \item Define shapes, colors, shading,
                        \item and line styles for nodes and arrows
                        \item new item
                        \item another item
                        \item one more
                        \item OK, I lied
                         \end{itemize}};
\node (n2) [box=cyan]   {Place nodes using a matrix,
                        relative or absolute positioning};
\node (n3) [box=blue]   {Insert edges or arrows
                        between selected nodes};
\node (n4) [box=green]  {Add labels on edges or arrows};
    \begin{scope}[on background layer]
\node [cir=red,  left=of n1]    {Cat. 1};
\node [cir=cyan, left=of n2]    {Position};
\node [cir=blue, left=of n3]    {Relation};
\node [cir=green,left=of n4]    {Label};
    \end{scope}
    \end{tikzpicture}
\end{document}

verwandte Informationen