
Ich versuche, eine Grafik in ein Buch zu übertragen, und muss dazu einige Rechtecke verbinden. Das habe ich bisher:
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:
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 height
und minimum width
für die Größe der Knoten und verwenden Sie die Bibliothek, positioning
um sie zu platzieren. Verwenden Sie dann Stile für jeden Knotentyp.
\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}