Hallo,
LaTeXDraw habe ich mir jetzt noch nicht angeschaut, aber das Umrechnen von pt in cm scheint zu funktionieren. Allerdings ist es sehr mühsam, weshalb ich euch fragen würde, ob mir jemand ein kurzes Bash-Skript schreiben würde? Meine Kenntnisse sind für das Problem leider zu gering 🙁. Es müsste nur folgendes tun:
Ich gebe Code (mit Zeilenumbrüchen) ein, er liest den Code/String und gibt jede nicht-Zahl genau so wieder aus, wie er den Code/String hereinbekommen hat. Sobald er aber auf eine Zahl stößt, wandelt er sie von pt in cm um und ersetzt im Ausgabe-Code/-String die pt-Zahl durch die cm-Zahl. Das ganze sollte, falls möglich, unabhängig davon sein, wo ein Zeilenumbruch kommt. Es wäre schön, wenn die Zeilenumbrüche im Ausgabe-String dieselben sind wie im Eingabe-String. Beispiel:
Eingabe:
(660.0000,173.7908)
.. controls (657.2380,194.1590) and (643.4597,215.0420) .. (625.3789,224.8183)
.. controls (605.7872,235.4116) and (580.2948,230.8479) .. (558.5714,225.9336)
.. controls (537.4242,221.1497) and (513.0273,214.5398) .. (500.3354,196.9612)
.. controls (491.9674,185.3714) and (497.7997,168.3614) .. (494.2857,154.5051)
.. controls (490.3256,138.8894) and (469.2337,123.0322) .. (477.4782,109.1918)
.. controls (490.9585,86.5619) and (529.6638,101.9752) .. (555.7143,98.0765)
.. controls (580.6309,94.3475) and (608.8233,73.2925) .. (630.3789,86.3346)
.. controls (656.7127,102.2678) and (664.1359,143.2912) .. (660.0000,173.7908) -- cycle;
Ausgabe:
(17.46,4.6)
.. controls (17.39,5.14) and (17.02,5.69) .. (16.55,5.95)
.. controls (16.03,6.23) and (15.35,6.11) .. (14.78,5.98)
.. controls (14.22,5.85) and (13.57,5.68) .. (13.24,5.21)
.. controls (13.02,4.9) and (13.17,4.45) .. (13.08,4.09)
.. controls (12.97,3.67) and (12.42,3.26) .. (12.63,2.89)
.. controls (12.99,2.29) and (14.01,2.7) .. (14.7,2.59)
.. controls (15.36,2.5) and (16.11,1.94) .. (16.68,2.28)
.. controls (17.38,2.71) and (17.57,3.79) .. (17.46,4.6) -- cycle;
"inkscape2tikz" gibt mir dabei leicht andere Zeilenumbrüche aus, das Beispiel hatte ich schon so vorformatiert. Die Formel zum Umrechnen wäre dabei:
Wert in cm = (Wert in pt / 96) * 2.54
Dabei benötige ich eine Rundung auf 2 Nachkommastellen.
Das wäre super, wenn mir diesen Gefallen jemand tun könnte, da ich bisher noch keine bessere Lösung gefunden habe 🙂.
Was evtl. nachher noch hinzugemogelt werden muss, wäre ein shift der Koordinaten, aber das muss ich mal noch schauen. Ggf. geht das aber auch mit einer scope-Umgebung und einem xshift bzw. yshift. Das muss ich aber noch ausprobieren, wie problematisch es dann ist, mit diesem erzeugten Code weiterzuarbeiten.
PS: Weiß zufällig jemand, wo oder wie ich meine Zeichnung platzieren muss, damit die "Kartoffel" am Ende zentriert um den 0-Punkt herum (auch in pt-Werten) ausgegeben wird? Ich meine den 0-Punkt, den auch tikz wählen würde, wenn ich dort die Koordinate (0,0) angebe.