Wie zeichne ich den folgenden Text in Tikz in ein Rechteck?

Wie zeichne ich den folgenden Text in Tikz in ein Rechteck?

Hier ist mein MWE:

\documentclass{article}

\usepackage{tikz}

\begin{document}

\begin{tikzpicture}

\draw[blue!20!black,fill=blue!20,rounded corners=10,thick] (0,0) rectangle (3,1) node {text};

\end{tikzpicture}

\end{document}

Ich möchte das Wort „Text“ zentriert im Knoten haben. Ich habe alle möglichen Optionen ausprobiert, aber es hat nicht funktioniert.

Zusätzlich möchte ich rechts von diesem einen identischen Knoten zeichnen und einen Pfeil zwischen den beiden haben.

Antwort1

Anstatt die Formen zu zeichnen und dann einen Knoten in der Mitte zu platzieren, können Sie dem Knoten die gewünschte Form geben und ihn dann an der gewünschten Stelle platzieren. Da Sie denselben Knoten wiederholt haben möchten, können Sie eine styleVerwendung definieren tikzset, die in mehreren Tikzpictures verwendet werden kann.

\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}} 

Anschließend können Sie die Knoten bei Bedarf manuell platzieren, indem Sie ihre Koordinaten angeben.

Bildbeschreibung hier eingeben

Es gibt aber noch zwei weitere Möglichkeiten der Platzierung.

Verwendung von positioning:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}
\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}}

\begin{document}

\begin{tikzpicture}[node distance=10mm]
\node[mynode](A){Text 1};
\node[mynode, right=of A](B){Text 2};
\node[mynode, right=of B](C){Text 3};
\draw[thick, ->](A)--(B);
\draw[thick, ->](B)--(C);
\end{tikzpicture}

\end{document}

Verwendung von chains:

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains}
\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}}

\begin{document}

\begin{tikzpicture}[start chain, node distance=10mm, every join/.style={->, thick}]
\node[on chain, mynode](A){Text 1};
\node[on chain=going right, mynode, join](B){Text 2};
\node[on chain=going right, mynode, join](C){Text 3};
\end{tikzpicture}

\end{document}

Manuelle Platzierung (leicht andere Abstände, da hierdurch die Knotenmittelpunkte platziert werden und die Dicke der Knotenränder nicht berücksichtigt wird):

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{chains}
\tikzset{mynode/.style={draw=blue!20!black, fill=blue!20, rounded corners=10, thick, minimum width=3cm, minimum height=1cm}}

\begin{document}

\begin{tikzpicture}
\node[mynode] at (0,0) (A){Text 1};
\node[mynode] at (4,0) (B){Text 2};
\node[mynode] at (8,0) (C){Text 3};
\draw[thick, ->](A)--(B);
\draw[thick, ->](B)--(C);
\end{tikzpicture}

\end{document}

Antwort2

So was:

Bildbeschreibung hier eingeben

Code:

\documentclass{article}

\usepackage{tikz}

\begin{document}
    
    \begin{tikzpicture}
        
        \draw[blue!20!black,fill=blue!20,rounded corners=10,thick] (0,0) rectangle (3,1) node[midway] {text};
        
    \end{tikzpicture}
    
\end{document}

verwandte Informationen