두 개의 직사각형을 연결하는 방법 또는 노드를 텍스트보다 더 넓고 길게 만드는 방법

두 개의 직사각형을 연결하는 방법 또는 노드를 텍스트보다 더 넓고 길게 만드는 방법

책의 그래픽을 번역하려고 하는데 그렇게 하려면 직사각형 몇 개를 연결해야 합니다. 지금까지 내가 가진 것은 다음과 같습니다.

여기에 이미지 설명을 입력하세요

보시다시피 화살표가 직사각형의 가장자리에 연결되지 않기 때문에 화살표의 위치가 보기에 좋지 않습니다. 이 그래픽을 생성한 코드는 다음과 같습니다.

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

그래서 내 질문은 다음과 같습니다. 가장자리에서 시작하고 끝나는 화살표가 있는 두 개의 직사각형을 어떻게 연결할 수 있습니까? 이것이 가능하지 않다면 테두리가 보이는 더 큰 노드를 어떻게 생성할 수 있습니까(그러나 글꼴 크기는 동일하게 유지됨)?

답변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 heightminimum width노드 크기를 사용하고 라이브러리를 사용하여 positioning노드를 배치합니다. 그런 다음 모든 유형의 노드에 스타일을 사용하십시오.

여기에 이미지 설명을 입력하세요

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

관련 정보