Klar kann man TikZ nicht auf anhieb erfassen. Ich selbst habe mit Chains auch noch nix gemacht, weil ich dafür bisher keine Anwendung hatte, kann dir da also nicht helfen, aber es gibt ja sicher andere hier …
Ich wollte dich dennoch darauf hinweisen und dich eventuell davor bewahren, das Rad ein zweites Mal zu erfinden. Das Besagte Tutorial ist in der TikZ-Doku übrigens auf Seite 60 zu finden.
Gute Nacht!
Tobi
PS: „offen“ oder eben „mit Vorschlag“
TikZ: Probleme mit Positionierung einer Grafik
Hallo,
Ich habe mich nun nocheinmal mit der oben genannten Verbindungsfunktion auseinandergesetzt und versucht, diese um zwei Argumente zu erweitern, sodass mein einen beliebigen Zwischenpunkt angeben kann, durch den die Linien gehen:
\drawConnection[Gradverschiebung]{Node1}{Grad1}{Verbindung1}{ViaPunkt}{Verbindung2}{Node2}{Grad2}
Dies ist vor allem dann nötig, wenn man den westlichen Punkt einer Node mit dem Östlichen einer anderen Node, die nicht auf der selben Höhe liegt, schön verbinden möchte.
Leider klappt das so nicht wirklich. Ich denke auch, dass meine Anläufe zu unflexibel und schlecht sind, um hier als Minimalbeispiel gepostet zu werden. Daher wende ich mich in der Sache nochmal an euch, insbesondere an Dich, Elke. Wisst ihr/weißt du, wie man den Befehl um die oben beschriebene Möglichkeit erweitern könnte? Hier nochmal der das Grundgerüst des Befehls:
Am einfachsten wäre es natürlich, wenn TikZ neben dem Verbindungsoperator "-|" auch "-|-" anbieten würde, das würde genau dem Problem entsprechen. Aber eine Suche in der Doku förderte nichts Ähnliches zu Tage, oder habe ich etwas übersehen?
Ich habe mich nun nocheinmal mit der oben genannten Verbindungsfunktion auseinandergesetzt und versucht, diese um zwei Argumente zu erweitern, sodass mein einen beliebigen Zwischenpunkt angeben kann, durch den die Linien gehen:
\drawConnection[Gradverschiebung]{Node1}{Grad1}{Verbindung1}{ViaPunkt}{Verbindung2}{Node2}{Grad2}
Dies ist vor allem dann nötig, wenn man den westlichen Punkt einer Node mit dem Östlichen einer anderen Node, die nicht auf der selben Höhe liegt, schön verbinden möchte.
Leider klappt das so nicht wirklich. Ich denke auch, dass meine Anläufe zu unflexibel und schlecht sind, um hier als Minimalbeispiel gepostet zu werden. Daher wende ich mich in der Sache nochmal an euch, insbesondere an Dich, Elke. Wisst ihr/weißt du, wie man den Befehl um die oben beschriebene Möglichkeit erweitern könnte? Hier nochmal der das Grundgerüst des Befehls:
\newcommand\drawConnection[6][5]{% \draw let \n1={#3+#1}, \n2={#6-#1} in (#2.\n1)#4(#5.\n2); \draw[dashed] let \n1={#3-#1}, \n2={#6+#1} in (#2.\n1)#4(#5.\n2);}
Hallo,
ich habe gar nicht mitbekommen, dass du eigentlich nur so etwas wie -|- brauchst, um West einer Node mit Ost einer anderen mit der speziellen Doppellinie zu verbinden. Nun ist es vielleicht schon zu spät, aber trotzdem ein Vorschlag:
Grüße
Elke
ich habe gar nicht mitbekommen, dass du eigentlich nur so etwas wie -|- brauchst, um West einer Node mit Ost einer anderen mit der speziellen Doppellinie zu verbinden. Nun ist es vielleicht schon zu spät, aber trotzdem ein Vorschlag:
\documentclass{scrartcl} \usepackage{tikz} \usetikzlibrary{calc} \newlength\mycoordx \newlength\mycoordy \newcommand\meinCommand[3][0.6]{% \node[minimum width=2*#1cm,circle,draw](#2)at(#3){A};} %\meinCommand[radius]{Nodenbezeichnung}{x,y} \newcommand\drawConnection[5][5]{% \coordinate(d)($(#2)-(#4)$); \pgfextractx{\mycoordx}{d}\pgfextracty{\mycoordy}{d} \pgfmathtruncatemacro{\vorz}{-(0>\mycoordx*\mycoordy)+(0<\mycoordx*\mycoordy)} \draw let \n1={#3+#1}, \n2={#5-#1},% \p3=($(#2.#3)-(#2.\n1)$), \p4=($(#2.\n1)!0.5!(#4.\n2)$) in % (#2.\n1)--(#2.\n1-|\x4+\vorz*\y3,0)|-(#4.\n2); \draw[dashed] let \n1={#3-#1}, \n2={#5+#1},% \p3=($(#2.#3)-(#2.\n1)$), \p4=($(#2.\n1)!0.5!(#4.\n2)$) in % (#2.\n1)--(#2.\n1-|\x4+\vorz*\y3,0)|-(#4.\n2);} %\drawConnection[Gradverschiebung]{Node1}{Grad1}{Node2}{Grad2} %Vertauschung der Noden fuehrt zu Vertauschung der Linien \begin{document} \begin{tikzpicture} \draw[help lines] (-2,-4)grid(9,4); % \meinCommand{P1}{0,0} \meinCommand{P2}{3,-3} \meinCommand{P3}{6,-3} \meinCommand{P4}{6,0} \meinCommand{P5}{8,3} %% \drawConnection{P1}{0}{P2}{180} \drawConnection{P2}{0}{P3}{180} \drawConnection{P3}{90}{P4}{270} \drawConnection{P4}{0}{P5}{180} %% \end{tikzpicture} \end{document}
Elke