tikz: Verankerung an Rechteckteilung?

tikz: Verankerung an Rechteckteilung?

Gibt es eine einfache Möglichkeit, in der Mitte des zweiten Teils eines rechteckigen geteilten Knotens zu verankern? Hier ist, woran ich derzeit arbeite:

\documentclass[letterpaper,oneside]{report}
\usepackage{tikz}
\usetikzlibrary{shapes,shapes.multipart}
\begin{document}
\begin{tikzpicture}[node distance=5mm,>=stealth',auto]
    \tikzstyle{bucket}=      [rectangle,draw=black!50,fill=black!20,
                              minimum size=5mm,inner sep=0mm]
    \tikzstyle{listitem}=    [rectangle split,rectangle split horizontal,
                              rectangle split parts=2,
                              draw=black!50,fill=black!20,
                              inner sep=0mm,text width=5mm,
                              minimum height=4mm,rectangle split part align=center,
                              rectangle split empty part width=2mm]
    \tikzstyle{every label}= [font=\footnotesize]  

    \node[bucket] (B0) [label=above:$B$,label=left:0] {};
        \draw (B0.south west) -- (B0.north east);
    \node[bucket] (B1) [below of=B0,label=left:1] {};
    \node[listitem] (B1') [right of=B1,node distance=1.5cm] {.13 \nodepart{two}}
        edge [<-] (B1.center);
    \node[listitem](B1'') [right of=B1',node distance=1.5cm] {.16 \nodepart{two}}
        edge [<-] (B1'.two);
        \draw (B1''.two split south) -- (B1''.north east);
\end{tikzpicture}
\end{document} 

Hier ist das Ergebnis: (also, ich habe ein Bild, kann es hier aber nicht posten ...)

Ich möchte, dass der Pfeil von B1‘ nach B1‘‘ bei „B1‘.two center“ beginnt, aber dieser Anker existiert nicht? Wie kann ich ihn definieren oder zumindest wie kann ich ihn als Startpunkt meines Pfeils verwenden? (So soll er aussehen, sehen Sie sich den Pfeil von B1 nach B1‘ an.)

Vielen Dank an alle für die Hilfe!

Antwort1

Dieser Anker existiert tatsächlich nicht, Sie können jedoch ein wenig schummeln, indem Sie den Schnittpunkt von Ost und Süd nehmen. Wenn Ihre Linienbreite jedoch nicht vernachlässigbar ist, ist hierfür mithilfe von etwas mehr Druck erforderlich [xshift=-\pgflinewidth].

\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{shapes.multipart,arrows}
\begin{document}
\begin{tikzpicture}[node distance=5mm,>=stealth',auto]
    \tikzstyle{bucket}=      [rectangle,draw=black!50,fill=black!20,
                              minimum size=5mm,inner sep=0mm]
    \tikzstyle{listitem}=    [rectangle split,rectangle split horizontal,
                              rectangle split parts=2,
                              draw=black!50,fill=black!20,
                              inner sep=0mm,text width=5mm,
                              minimum height=4mm,rectangle split part align=center,
                              rectangle split empty part width=2mm]
    \tikzstyle{every label}= [font=\footnotesize]  

    \node[bucket] (B0) [label=above:$B$,label=left:0] {};
        \draw (B0.south west) -- (B0.north east);
    \node[bucket] (B1) [below of=B0,label=left:1] {};
    \node[listitem] (B1') [right of=B1,node distance=1.5cm] {.13 \nodepart{two}} 
        edge [<-] (B1.center);
    \node[listitem](B1'') [right of=B1',node distance=1.5cm] {.16 \nodepart{two}}
        edge [<-] (B1'.two south |- B1'.two east);
        \draw (B1''.two split south) -- (B1''.north east);
\end{tikzpicture}
\end{document} 

Bildbeschreibung hier eingeben

verwandte Informationen