Wie man zwei Rechtecke verbindet oder alternativ Knoten breiter und länger als den Text macht

Wie man zwei Rechtecke verbindet oder alternativ Knoten breiter und länger als den Text macht

Ich versuche, eine Grafik in ein Buch zu übertragen, und muss dazu einige Rechtecke verbinden. Das habe ich bisher:

Bildbeschreibung hier eingeben

Wie Sie sehen, sieht die Position des Pfeils nicht gut aus, da die Pfeile nicht mit den Kanten der Rechtecke verbunden sind. Der Code, der diese Grafik generiert hat:

\begin{tikzpicture}
\draw [rounded corners, fill=lightgray] (3,0) rectangle (6,-1) node (1) [pos=.5] {\textit{Output} gráfico} ;

\draw [rounded corners, fill=lightgray] (3,-2.5) rectangle (6,-3.5) node (2) [pos=.5] {\textit{Game Manager}};

\draw [rounded corners, fill=lightgray] (3,-5) rectangle (6,-6) node (3) [pos=.5] {Jogador};

\draw (-0.5,-1) rectangle (2,-2.5) node (4) [pos=.5, align=center] {Descrições de \\ jogos};

\draw (-0.5,-3) rectangle (2,-4.5) node (5) [pos=.5, align=center] {Registro de \\ partidas};

\draw (7,-2.5) rectangle (9,-3.5) node (6) [pos=.5, align=center] {Registro de \\ partidas};

 \draw[black, thick, ->]  (2) --  (1.south);

\end{tikzpicture}

Ich denke, es wäre besser, dies mit Knoten zu tun, da Knoten mit den Rändern verbunden sind, aber ich kann Knoten nicht so hinbekommen, dass sie wie die Rechtecke im Bild oben aussehen. Sie sind klein und haben keine Ränder. Hier ist ein Beispiel:

Bildbeschreibung hier eingeben

Und der Code, der die obige Grafik generiert hat:

\begin{tikzpicture}

\node [ rounded corners, fill=lightgray] at (4.5,0) (1) {\textit{Output} gráfico};

\end{tikzpicture}

Meine Fragen sind also: Wie kann ich zwei Rechtecke mit Pfeilen verbinden, die an Kanten beginnen und enden? Wenn das nicht möglich ist, wie kann ich größere Knoten mit sichtbaren Rändern (bei gleichbleibender Schriftgröße) erzeugen?

Antwort1

Ich habe momentan keine Zeit, das gesamte MWE neu zu erstellen, aber das erste Rechteck kann durch Folgendes ersetzt werden:

\node (1) [rounded corners, draw, fill=lightgray,minimum width=3cm,minimum height=1cm]
   at (4.5,-.5) {\textit{Output} gr\'afico} ;

Antwort2

Verwenden Sie die Schlüssel minimum heightund minimum widthfür die Größe der Knoten und verwenden Sie die Bibliothek, positioningum sie zu platzieren. Verwenden Sie dann Stile für jeden Knotentyp.

Bildbeschreibung hier eingeben

\documentclass{article}

\usepackage{tikz}
\usetikzlibrary{positioning}


\begin{document}

\begin{tikzpicture}[node distance=15 mm and 15 mm,
                    every node/.style={draw},
                    central/.style={fill=lightgray,rounded corners,minimum           
                                    width=3cm,minimum height=1cm},
                    other/.style={text width=2.2 cm,text centered,minimum 
                                  width=2.5cm,,minimum height=1.5cm}]  
\node[central] (output){\textit{Output} gr\'afico};
\node[central] (manager) [below=of output] {\textit{Game Manager}};
\node[central] (jogador) [below=of manager] {Jogador};
\node[text width= 2cm,text centered] [right=of manager] {Registro de \\ partidas};
\node[other,yshift=-1cm] [left=of manager]{Registro de \\ partidas};
\node[other,yshift=1.2cm] [left=of manager]{Descri\c c\=oes de \\ jogos};
\draw[->] (manager)--(output);
\end{tikzpicture}

\end{document}

verwandte Informationen