Rechtecke mit Pfeilen verbinden? Thema ist als GELÖST markiert

Tabellen und Grafiken erstellen und anordnen


MarieTheres

Rechtecke mit Pfeilen verbinden?

Beitrag von MarieTheres »

Hallo Leute,

ich habe schon recht viel Latex-Erfahrung, allerdings bin ich seit ein paar Stunden dabei, meine ersten Erfahrungen mit dem Package Tikz zu sammeln.

Ich würde mir gern ein Bild erstellen, das zwei Rechtecke enthält, die durch einen horizontalen Pfeil miteinander verbunden sind.
Soweit klappt das ganz prima, mein Minimalbeispiel hierzu sieht folgendermaßen aus:
\usepackage{tikz}
\usetikzlibrary{backgrounds}

[...]

\begin{document}
\begin{figure}[htbp]
  \centering
  \begin{tikzpicture}
    
    \draw (0,0) rectangle (6,0.75) node[midway,align=center](m1){Das ist der Text 1};
    \draw (8,0) rectangle (14,0.75) node[midway, align=center](m2){Das ist der Text 2};
    
    \begin{scope}[on background layer]
      \draw[->] (m1) -- (m2);
    \end{scope}  
  \end{tikzpicture}
\end{figure}
\end{document}
Das einzige Problem, das ich nun habe ist, dass mein Pfeil in die Rechtecke hineinreicht. Dies soll nicht so sein, der Pfeil sollte beim einen Rechteck beginnen und direkt beim Beginn des anderen enden.
- Es liegt wahrscheinlich daran, dass ich direkt die von mir angegebenen Knoten miteinander verbinde. Gibt es hier eine Möglichkeit eines "Knoten-Offsets", oder wäre es besser mein Vorhaben irgendwie anderwertig umzusetzen?

Besten Dank für Eure Hilfe,
MarieTheres

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Definiere die Knoten gleich so, dass sie die Rechtecke als ihren Rand mit einfügen:
\documentclass{article}
\usepackage{tikz} 
\usetikzlibrary{backgrounds} 

\begin{document} 
\begin{figure}[htbp] 
   \centering 
   \begin{tikzpicture}
     \path[
        nodes={
            rectangle,
            draw,
            align=center,
            minimum width=6cm,
            minimum height=.75cm,
            anchor=south west
            }
        ]
        (0,0) node (m1) {Das ist der Text 1}
        (8,0) node (m2) {Das ist der Text 2}
     ;
     \begin{scope}[on background layer] 
       \draw[->] (m1) -- (m2); 
     \end{scope}   
   \end{tikzpicture} 
\end{figure} 
\end{document}

Antworten