Ich versuche mich gerade an der Darstellung von stenographischen Texten mit TikZ. Dabei habe ich noch ein Problem in folgendem Pfad soll die zweite eingeschlossene Fläche – also das kleine Oval – gefüllt werden, der große Kreis aber nicht.

Open in Online-Editor
\documentclass[tikz,margin=10pt]{standalone}
\usetikzlibrary{calligraphy}

\begin{document}\tikz{\calligraphy[copperplate,weight=light,taper=none] 
 (0,3/4) arc(180:90:1/4) 
 ++(0,0) [this stroke style={weight=heavy,taper=both}]
 arc (90:0:1/4)  --++(0,-1/2) arc (-180:-90:1/3 and 1/4) 
 ++(0,0) [this stroke style={weight=light,taper=none}]
 arc (-90:90:1/4)
 ++(0,0) [this stroke style={weight=heavy,taper=both}]
 arc (90:270:1/4)
 ++(0,0) [this stroke style={weight=light,taper=none}]
 --++(1/2,0) arc(-90:270:1/16 and {sqrt(2)/16});}
 \end{document}

alt text

Zudem soll das Ganze dann auch noch mit den calligraphy-Makros aus dem spath3-Paket funktionieren. Dass das evtl. schwierig ist, könnte ich mir vorstellen, da spath3 für die »Schwellzüge« schon zwei Pfade anlegt und den Zwischenraum füllt.

Open in Online-Editor
 ++(0,0) [this stroke style={weight=light,taper=none,fill}]
 --++(1/2,0) arc(-90:270:1/16 and {sqrt(2)/16})

funktioniert jedenfalls nicht

Das eigentliche Problem an der Sache ist dann noch folgendes: Die »Punktschleife« wird als stenografisches Zeichen, weil einfach zu schreiben, häufiger verwendet; je nach Stenografiesystem als »a«, »l«, »-lich«, »-(t)iel«, »-(t)ia.l«, etc., kurz es findet sehr häufig Verwendung – von anderen Verwendungen wie z.B. bei der Verwendung als »Schnörkel« in der »Kurrentschrift« rede ich momentan noch gar nicht! Man weiß deshalb »quasi« im Endeffekt am Anfang des Wortes nie, wie häufig man die »Punktschleife« letztendlich benötigt und deshalb wie oft man am Schluſs »nachfüllen« muſs. Aber das wäre evtl. über eine »Stapelspeicherlösung« möglich, aber wie? »On the fly« wäre deswegen die elegantere Lösung.

Auf eine »nicht einmal halbe Lösung« wäre ich ja selbst gekommen; leider ist die auch wenig Verwendbar: Man kann nämlich den »zu füllenden Raum« manuell mit kleiner werdenden Kreisen füllen. Manuell ist das aber mühsam und auf den Einzelfall beschränkt und sieht, wenn's nicht funktioniert, entweder wie ein Baumkuchen oder ein »l« (siehe oben) auf Drogen…

gefragt 22 Feb '15, 20:36

Moatl's gravatar image

Moatl
3325
Akzeptiert-Rate: 0%

bearbeitet 23 Feb '15, 18:42

saputello's gravatar image

saputello
11.1k174365


Eine einfache Möglichkeit wäre es, eine Koordinate zu setzen und in einem zweiten Schritt den Hintergrund des Ovals zu füllen. Vielleicht geht das aber auch irgendwie eleganter.

alt text

Open in Online-Editor
\documentclass[tikz,margin=10pt]{standalone}
\usetikzlibrary{calligraphy}
\usetikzlibrary{backgrounds}

\begin{document}\tikz{\calligraphy[copperplate,weight=light,taper=none] 
 (0,3/4) arc(180:90:1/4) 
 ++(0,0) [this stroke style={weight=heavy,taper=both}]
 arc (90:0:1/4)  --++(0,-1/2) arc (-180:-90:1/3 and 1/4) 
 ++(0,0) [this stroke style={weight=light,taper=none}]
 arc (-90:90:1/4)
 ++(0,0) [this stroke style={weight=heavy,taper=both}]
 arc (90:270:1/4)
 ++(0,0) [this stroke style={weight=light,taper=none}]
 --++(1/2,0)coordinate(S1) arc(-90:270:1/16 and {sqrt(2)/16})
 ++(0,0) [this stroke style={weight=light,taper=none}]
 --++(1/2,0)coordinate(S2) arc(-90:270:1/16 and {sqrt(2)/16})
;
 \begin{scope}[on background layer]
  \foreach\i in {1,2}\fill[black](S\i) arc(-90:270:1/16 and {sqrt(2)/16});
 \end{scope}
}
\end{document}
Permanenter link

beantwortet 22 Feb '15, 20:58

esdd's gravatar image

esdd
17.8k284257
Akzeptiert-Rate: 62%

bearbeitet 22 Feb '15, 23:37

Hmh… überzeugen tut mich dieser Lösungsvorschlag leider nicht wirklich, weil: Die »Punktschleife« wird als stenografisches Zeichen, weil einfach zu schreiben, häufiger verwendet; je nach Stenografiesystem als »a«, »l«, »-lich«, »-(t)iel«, »-(t)ia.l«, etc., kurz es findet sehr häufig Verwendung – von anderen Verwendungen wie z.B. bei der Verwendung als »Schnörkel« in der »Kurrentschrift« rede ich momentan noch gar nicht! Man weiß deshalb »quasi« im Endeffekt am Anfang des Wortes nie, wie häufig man die »Punktschleife« letztendlich benötigt und deshalb wie oft man am Schluſs »nachfüllen« muſs. Aber das wäre evtl. über eine »Stapelspeicherlösung« möglich, aber wie?

Auf eine »nicht einmal halbe Lösung« wäre ich ja selbst gekommen; leider ist die auch wenig Verwendbar: Man kann nämlich den »zu füllenden Raum« manuell mit kleiner werdenden Kreisen füllen. Manuell ist das aber mühsam und auf den Einzelfall beschränkt und sieht, wenn's nicht funktioniert, entweder wie ein Baumkuchen oder ein »l« (siehe oben) auf Drogen…

(22 Feb '15, 22:53) Moatl

@Moatl Ich habe Deinen Beitrag in einen Kommentar umgewandelt, da er eine Reaktion auf meinen Antwortversuch ist. Vielleicht übernimmst Du aber die zusätzlichen Erklärungen besser in Deine Frage, zumal ich versucht bin meinen Vorschlag zu löschen, da er vermutlich das eigentliche Ziel nicht erfüllt.

(22 Feb '15, 23:46) esdd

@esdd Hast Du das Beispiel editiert? Mit einmal schlafen drüber find' ich die Lösung eigentlich gar nicht so übel; besser als meine »Kreisel« ist er allemal. Eine »on the fly«-Lösung wär' mir aber trotzdem lieber…

(23 Feb '15, 18:32) Moatl

@Moatl Ich habe nur eine zweie "Punktschleife" angefügt, um das Füllen von mehreren in einer \foreach Schleife zu zeigen. Die einzelnen Änderungen kann man immer sehen, wenn man unterhalb der Antwort oder Frage auf "bearbeitet ... her" klickt. Aber vielleicht findet sich ja noch jemand der das Füllen in den eigentlichen Pfad integrieren kann.

(23 Feb '15, 21:17) esdd
Deine Antwort
Vorschau umschalten

Folgen dieser Frage

Per E-Mail:

Wenn sie sich anmelden, kommen Sie für alle Updates hier in Frage

Per RSS:

Antworten

Antworten und Kommentare

Markdown-Grundlagen

  • *kursiv* oder _kursiv_
  • **Fett** oder __Fett__
  • Link:[Text](http://url.com/ "Titel")
  • Bild?![alt Text](/path/img.jpg "Titel")
  • nummerierte Liste: 1. Foo 2. Bar
  • zum Hinzufügen ein Zeilenumbruchs fügen Sie einfach zwei Leerzeichen an die Stelle an der die neue Linie sein soll.
  • grundlegende HTML-Tags werden ebenfalls unterstützt

Frage-Themen:

×731
×2
×1

gestellte Frage: 22 Feb '15, 20:36

Frage wurde gesehen: 8,133 Mal

zuletzt geändert: 23 Feb '15, 21:17