Como conectar dois retângulos ou, alternativamente, como tornar os nós mais largos e mais longos que o texto

Como conectar dois retângulos ou, alternativamente, como tornar os nós mais largos e mais longos que o texto

Estou tentando traduzir um gráfico em um livro e preciso conectar alguns retângulos para fazer isso. Aqui está o que tenho até agora:

insira a descrição da imagem aqui

Como você pode ver, a posição da seta não é agradável porque as setas não se conectam às bordas dos retângulos. O código que gerou este gráfico:

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

Acho que seria melhor fazer isso com nós, já que os nós se conectam às bordas, mas não consigo fazer com que os nós se pareçam com os retângulos da imagem acima. Eles são pequenos e não têm fronteiras. Aqui está um exemplo:

insira a descrição da imagem aqui

E o código que gerou o gráfico acima:

\begin{tikzpicture}

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

\end{tikzpicture}

Então, minhas perguntas são: Como posso conectar dois retângulos com setas que começam e terminam nas bordas? Se isso não for possível, como posso gerar nós maiores com bordas visíveis (mas o tamanho da fonte permanece o mesmo)?

Responder1

Não tenho tempo agora para refazer todo o MWE, mas o primeiro retângulo pode ser substituído por:

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

Responder2

Use as chaves minimum heighte minimum widthpara o tamanho dos nós e use a biblioteca positioningpara colocá-los. Em seguida, use estilos para cada tipo de nó.

insira a descrição da imagem aqui

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

informação relacionada