Überarbeitungsverlauf[Zurück]
Klicke auf Einblenden/Ausblenden von Überarbeitungen 2

12 Mär '14, 18:00

carlton87's gravatar image

carlton87
2541711

Ich hatte zwischenzeitlich Kontakt mit dem Autoren des `hobby` Paketes, Andrew Stacey, aufgenommen und wieder einmal die Erfahrung machen dürfen, wie unglaublich hilfsbereit (und schnell) die TeX-Community im Allgemeinen ist. Andrew Stacey hat in der Entwicklungsversion mittlerweile ein Basic-Layer-Interface implementiert. Diese ist auf [TeX-SX launchpad page](http://bazaar.launchpad.net/~tex-sx/tex-sx/development/files) verfügbar (`hobby.dtx` runterladen und `tex hobby.dtx` ausführen um die entsprechenden Dateien zu generieren). Die neue Syntax sieht folgendermaßen aus: Die Konstruktion eines Hobby-Pfades wird mit `\pgfpathhobby` eingeleitet und durch `\pgfpathhobbyend` abgeschlossen. Der `\pgfpathhobby` Befehl überprüft, ob eine `\bgroup` (oder `{`) folgt, und wenn dem so ist, wird diese nachfolgende Gruppe als Liste von Key-Value-Paaren interpretiert und an die Konfiguration weitergeleitet (z.B. `\pgfpathhobby{closed=true}`). Innerhalb der Hobby-Pfad-Konstruktion werden die einzelnen Punkte des Pfades durch `\pgfpathhobbypt{<point specification>}` angegeben, wobei dieser Befehl ebenfalls auf nachfolgende Gruppen prüft und diese ggf. als Liste von Key-Value-Paaren für diesen Punkt interpretiert (z.B. `\pgfpathhobbypt{\pgfpoint{1cm}{2cm}}{tension in=2}`). Die Keys sind also die gleichen wie für den Frontend-Layer. Mit dieser Syntax lässt sich das Beispiel aus meiner Frage folgendermaßen in den Basic-Layer übersetzen: \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{hobby} \begin{document} \begin{tikzpicture} \pgfpathmoveto{\pgfpoint{0cm}{0cm}} \pgfpatharc{180}{90}{1cm and 1cm} \pgfpathhobby \pgfpathhobbypt{\pgfpoint{0.51cm}{-0.5cm}} \pgfpathhobbypt{\pgfpoint{0cm}{0cm}} \pgfpathhobbyend \pgfpathclose \pgfusepath{stroke} \end{tikzpicture} \end{document}
Klicke auf Einblenden/Ausblenden von Überarbeitungen 1

12 Mär '14, 17:59

carlton87's gravatar image

carlton87
2541711

Ich hatte zwischenzeitlich Kontakt mit dem Autoren des `hobby` Paketes, Andrew Stacey, aufgenommen und wieder einmal die Erfahrung machen dürfen, wie unglaublich hilfsbereit (und schnell) die TeX-Community im Allgemeinen ist. Andrew Stacey hat in der Entwicklungsversion mittlerweile ein Basic-Layer-Interface implementiert. Diese ist auf [TeX-SX launchpad page](http://bazaar.launchpad.net/~tex-sx/tex-sx/development/files) verfügbar (`hobby.dtx` runterladen und `tex hobby.dtx` ausführen um die entsprechenden Dateien zu generieren). Die neue Syntax sieht folgendermaßen aus: Die Konstruktion eines Hobby-Pfades wird mit `\pgfpathhobby` eingeleitet und durch `\pgfpathhobbyend` abgeschlossen. Der `\pgfpathhobby` Befehl überprüft, ob eine `\bgroup` (oder `{`) folgt, und wenn dem so ist, wird diese nachfolgende Gruppe als Liste von Key-Value-Paaren interpretiert und an die Konfiguration weitergeleitet (z.B. `\pgfpathhobby{closed=true}`). Innerhalb der Hobby-Pfad-Konstruktion werden die einzelnen Punkte des Pfades durch `\pgfpathhobbypt{<point specification>}` angegeben, wobei dieser Befehl ebenfalls auf nachfolgende Gruppen prüft und diese ggf. als Liste von Key-Value-Paaren für diesen Punkt interpretiert (z.B. `\pgfpathhobbypt{\pgfpoint{1cm}{2cm}}{tension in=2}`). Die Keys sind also die gleichen wie für den Frontend-Layer. Mit dieser Syntax lässt sich das Beispiel aus meiner Frage folgendermaßen in den Basic-Layer übersetzen: \documentclass{standalone} \usepackage{tikz} \usetikzlibrary{hobby} \begin{document} \begin{tikzpicture} \pgfpathmoveto{\pgfpoint{0cm}{0cm}} \pgfpatharc{180}{90}{1cm and 1cm} \pgfpathhobby \pgfpathhobbypt{\pgfpoint{0.51cm}{-0.5cm}} \pgfpathhobbypt{\pgfpoint{0cm}{0cm}} \pgfpathhobbyend \pgfpathclose \pgfusepath{stroke} \end{tikzpicture} \end{document}

Willkommen, erstes Mal hier? Schau mal unter FAQ!

×