Felix hat geschrieben:Hi Tobi,
ich kann mir vorstellen, dass es geht, Anker zu bestehenden Shapes hinzuzufügen. ich hab grad bisschen Quellcode von PGF deswegen gelesen, es aber nach 15 min erstmal aufgegeben.
Du hast bestimmt eine tolle komplexe Grafik im Auge, wo es sich lohnt, den Aufwand zu treiben? Weil eben eine Koordinate aus zwei Standardankern zu berechnen wäre ja einfacher, als einen richtigen Anker anzulegen. Interessant finde ich es aber!
Falls Du Lust hast, und hier vllt. keine Lösung kommt, kannst Du auch auf
TeXwelt.de fragen. Da lesen weitere TikZ-Kenner.
Falls ich da ein interessantes TikZ-Bild sehe und eine schwierige Frage, setze ich mich auf jeden Fall dran und versuche es. Für das
TikZ-Archiv mache ich es sehr gern, hier gehen mir schöne Lösungen bisschen unter, daher bin ich hier gern zum Plaudern und weniger zum Zähne-Ausbeißen.
Felix
He Felix,
jau, den PGF-Code habe ich auch kurz angesehen, allerdings nur eine minute.. brr. Das kanns doch nicht sein, dachte ich.
Vielen Dank für deinen Einsatz.
Ich bin bisher nicht an der Stelle, wo ich definitif sagen würde:"Das kriege ich auf keinen Fall anders hin".
Für eine hübsch saubere Umsetztung meinte ich die Funktion zu benötigen und war verwundert, dass es scheinbar nicht geht.
Im pgf-manual steht sogar eine Erklärung dazu: Das sei zu rechenaufwendig, mehr als zwei Anker ständig mit zu berechnen. Alle weiteren werden aus den zweien dann durch Koordinatentransformation gefunden.
Aber ich dachte, wenn die das können, dann können wir das auch.
Mir düngt, das Problem ist wohl, dass wir die Lösung erst haben, wenn das Bild schon längst fertig berechnet ist.
Um jetzt auch noch mal damit raus zu rücken, was ich eigentlich vor hatte, hier ein simples Beispiel, vielleicht hatte ich ja nur Gurken auf den Augen, was eine einfach Lösung angeht:
\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{calc}
\begin{document}
\begin{tikzpicture}[text width=3em]
\node[draw] (test1) {test1\\test1\\test1\\test1};
\draw ($(test1.north east)!1/3!(test1.south east)$) -|++(1,1){};
\node [draw,right=2 of test1,yshift=-7.7234567890123434](test2) {test2};
\draw ($(test1.north east)!2/3!(test1.south east)$) --(test2){};
\end{tikzpicture}
\end{document}
Man beachte die notwendige Benutzereingabe von
yshift=-7.7234567890123434
Ich habs ein klein wenig damatisiert:-)
Vielleicht hat ja jemand Spaß daran, sich die Zähne auszubeißen.
Die Höhe des ersten Blocks sei unbekannt.
Wieviele Linien (im gleichmäßigen Abstand !ni/(n+1)!) aus dem ersten Block kommen sei bekannt.