2つの長方形を接続する方法、または代わりに、ノードをテキストよりも広く長くする方法

2つの長方形を接続する方法、または代わりに、ノードをテキストよりも広く長くする方法

私は本の中のグラフィックを翻訳しようとしており、そのためにはいくつかの長方形を接続する必要があります。これまでに作成したものは次のとおりです。

ここに画像の説明を入力してください

ご覧のとおり、矢印が長方形の端に接続されていないため、矢印の位置が見栄えがよくありません。このグラフィックを生成したコード:

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

ノードは境界に接続するので、ノードを使用してこれを行う方がよいと思いますが、上の図の長方形のようなノードを取得できません。小さく、境界がありません。次に例を示します。

ここに画像の説明を入力してください

上記のグラフィックを生成したコードは次のとおりです。

\begin{tikzpicture}

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

\end{tikzpicture}

そこで私の質問は、端から始まり端で終わる矢印で 2 つの長方形を接続するにはどうすればよいですか? それが不可能な場合は、目に見える境界線を持つ (ただしフォント サイズは同じまま) より大きなノードを生成するにはどうすればよいでしょうか?

答え1

今は MWE 全体をやり直す時間はありませんが、最初の四角形は次のように置き換えることができます。

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

答え2

ノードのサイズにはキーminimum heightとを使用し、ライブラリを使用して配置します。次に、すべてのタイプのノードにスタイルを使用します。minimum widthpositioning

ここに画像の説明を入力してください

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

関連情報