24

I was trying to get the symbol of the old Roman emblem (SPQR). I'm actually interested in the laurel leaves, and not so much in the banner per se.

What I would like to have is something like this (in Tikz, as oppose to simply \includegraphics). With the possibility to change the stylish A to any other simple roman letter.

enter image description here

I'm a complete newbie with TikZ, and even though I know this question sounds like do this for me, I would really appreciate if someone could at least throw in an sketch where to start.

4
  • 1
    This isn’t quite what you want, but it might give you some ideas: texblog.org/tag/laurel-leaves
    – alexwlchan
    Apr 19, 2014 at 10:50
  • @alexwlchan This is a great starting point! :) Apr 19, 2014 at 10:52
  • You can always draw it with Inkscape or throw this to potrace and get the TikZ code back.
    – percusse
    Apr 19, 2014 at 12:57
  • @percusse Could you write an answer with an example? Apr 19, 2014 at 13:05

2 Answers 2

27

First you clean up the bitmap in even Paint and remove the unnecessary bits and save your file as a .bmp. Such as

enter image description here

Tracing with POTrace

Then download potrace and in the command window simply type

potrace <filename>.bmp

And that would give you a vector file format .eps, (I optionally convert it to PDF for ease). The quality of the trace is inverse proportional with the complexity of the figure. Sometimes it's amazing sometimes it gets confused.

Converting to TikZ code

Download and install Inkscape. Add Inkscape to TikZ exporter extension from this link. Download tikz_export.py, tikz_export_effect.inx, and tikz_export_output.inx from the External links on the bottom of the left panel. Put them in the share-->extension directory inside the Inkscape installation directory.

Export from the menu: Extension -> Export -> Export to TikZ path. An option window shows up. Choose your option and export from there (either into a file by specification, or in the clipboard).

So we get

enter image description here

Here is the resulting file I got.

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{tikz}

\begin{document}


\begin{tikzpicture}[y=0.80pt,x=0.80pt,yscale=-1, inner sep=0pt, outer sep=0pt]
\begin{scope}[cm={{1.25,0.0,0.0,-1.25,(0.0,838.75)}}]% g2993
  \begin{scope}[scale=0.100]% g2995
    % path2997
    \path[fill=black,nonzero rule] (1189.0000,5151.6900) .. controls
      (1023.0300,5080.8400) and (878.5270,4938.0000) .. (799.8440,4767.0000) ..
      controls (767.6330,4697.0000) and (737.5200,4600.2400) .. (748.0000,4600.4100)
      .. controls (781.3520,4600.9500) and (948.2810,4728.0000) ..
      (1001.0500,4793.0000) .. controls (1061.1200,4867.0000) and
      (1260.0000,5155.0100) .. (1260.0000,5168.0000) .. controls
      (1260.0000,5183.1800) and (1266.0000,5184.5600) .. (1189.0000,5151.6900);

    % path2999
    \path[fill=black,nonzero rule] (4700.0000,5167.0000) .. controls
      (4700.0000,5153.4500) and (4847.3600,4938.0000) .. (4932.5600,4827.0000) ..
      controls (5001.6400,4737.0000) and (5189.3400,4585.8500) ..
      (5208.2400,4605.0000) .. controls (5217.2900,4614.1700) and
      (5192.5700,4698.0000) .. (5160.4600,4767.0000) .. controls
      (5078.5800,4943.0000) and (4918.4700,5096.9000) .. (4751.0000,5160.6000) ..
      controls (4713.0000,5175.0500) and (4700.0000,5176.6900) ..
      (4700.0000,5167.0000);

    % path3001
    \path[fill=black,nonzero rule] (734.7660,4967.0000) .. controls
      (629.0630,4857.9200) and (554.9570,4720.0000) .. (525.7460,4578.0000) ..
      controls (501.2660,4459.0000) and (506.9690,4192.0200) .. (535.9140,4102.0000)
      .. controls (545.8910,4070.9700) and (896.6720,4416.0000) ..
      (992.3980,4551.0000) .. controls (1085.2900,4682.0000) and
      (1160.5200,4822.9900) .. (1127.0000,4803.2600) .. controls
      (1068.0000,4768.5300) and (724.4410,4501.3300) .. (703.6410,4474.0000) ..
      controls (689.1800,4455.0000) and (675.2300,4440.8300) .. (673.1290,4443.0000)
      .. controls (668.5080,4447.7700) and (715.5080,4726.0000) ..
      (730.2270,4781.0000) .. controls (736.6480,4805.0000) and (755.6370,4867.5000)
      .. (772.0000,4918.5000) .. controls (788.3630,4969.5000) and
      (799.2730,5014.7300) .. (796.0000,5018.0000) .. controls (792.7380,5021.2600)
      and (764.8050,4998.0000) .. (734.7660,4967.0000);

    % path3003
    \path[fill=black,nonzero rule] (5162.5900,5004.0000) .. controls
      (5165.5500,4993.6100) and (5184.2300,4932.0000) .. (5203.8400,4868.0000) ..
      controls (5236.0000,4763.0000) and (5295.9900,4452.6400) ..
      (5286.0000,4442.9000) .. controls (5283.7800,4440.7300) and
      (5269.7700,4455.0000) .. (5254.4700,4475.0000) .. controls
      (5233.2700,4502.7200) and (4899.0000,4762.9700) .. (4833.0000,4803.1400) ..
      controls (4799.2700,4823.6700) and (4875.0500,4682.0000) ..
      (4967.8800,4551.0000) .. controls (5063.5400,4416.0000) and
      (5414.2000,4070.9700) .. (5424.2100,4102.0000) .. controls
      (5438.9800,4147.8300) and (5450.0000,4264.0000) .. (5450.0000,4374.0000) ..
      controls (5450.0000,4568.0000) and (5416.7000,4697.2800) ..
      (5332.8100,4829.0000) .. controls (5264.0300,4937.0000) and
      (5147.5600,5056.7400) .. (5162.5900,5004.0000);

    % path3005
    \path[fill=black,nonzero rule] (430.8980,4615.0000) .. controls
      (384.6910,4550.2300) and (332.9340,4433.0000) .. (308.1600,4337.0000) ..
      controls (291.5470,4272.6100) and (287.0000,4226.0000) .. (287.0000,4120.0000)
      .. controls (287.0000,3969.0600) and (298.3240,3904.0000) ..
      (359.2190,3705.0000) .. controls (381.2500,3633.0000) and (404.8010,3549.1300)
      .. (412.0000,3517.0000) .. controls (419.1720,3485.0000) and
      (429.0350,3459.0000) .. (434.0000,3459.0000) .. controls (438.9260,3459.0000)
      and (450.6450,3483.0000) .. (459.8830,3512.0000) .. controls
      (482.4840,3582.9600) and (500.0000,3615.0000) .. (590.0000,3750.0000) ..
      controls (699.3320,3914.0000) and (782.2230,4054.2700) .. (817.5120,4135.0000)
      .. controls (852.0390,4214.0000) and (884.6760,4319.3200) ..
      (877.0000,4327.0000) .. controls (874.2770,4329.7200) and (836.0000,4300.1200)
      .. (793.0000,4262.0400) .. controls (665.0000,4148.6800) and
      (573.9610,4043.6700) .. (519.8870,3947.0000) .. controls (502.5430,3916.0000)
      and (484.5780,3890.0000) .. (480.5000,3890.0000) .. controls
      (476.3910,3890.0000) and (470.0590,3963.5000) .. (466.5000,4052.5000) ..
      controls (462.9410,4141.5000) and (455.6680,4235.3600) .. (450.4260,4260.0000)
      .. controls (434.7770,4333.5400) and (438.8520,4488.0000) ..
      (458.8130,4578.0000) .. controls (468.7930,4623.0000) and (473.8400,4660.0000)
      .. (470.0000,4660.0000) .. controls (466.1090,4660.0000) and
      (448.7340,4640.0000) .. (430.8980,4615.0000);

    % path3007
    \path[fill=black,nonzero rule] (5502.0000,4572.5000) .. controls
      (5518.5000,4500.3100) and (5520.9500,4464.0000) .. (5516.0000,4365.0000) ..
      controls (5512.7000,4299.0000) and (5505.9500,4218.0000) ..
      (5501.0000,4185.0000) .. controls (5496.0200,4151.8100) and
      (5491.5500,4072.5000) .. (5491.0000,4007.5000) .. controls
      (5490.4100,3938.5000) and (5486.0800,3890.0000) .. (5480.5000,3890.0000) ..
      controls (5475.3200,3890.0000) and (5463.2700,3905.0000) ..
      (5453.9900,3923.0000) .. controls (5423.4600,3982.2300) and
      (5363.5300,4064.0000) .. (5300.0500,4133.0000) .. controls
      (5217.2700,4223.0000) and (5086.9100,4336.0600) .. (5082.1400,4322.0000) ..
      controls (5076.9400,4306.6400) and (5104.1800,4223.0000) ..
      (5145.3100,4128.0000) .. controls (5179.9700,4047.9600) and
      (5262.7200,3909.0000) .. (5378.7600,3736.0000) .. controls
      (5459.9100,3615.0000) and (5477.8600,3581.8800) .. (5500.1200,3512.0000) ..
      controls (5509.3600,3483.0000) and (5521.0700,3459.0000) ..
      (5526.0000,3459.0000) .. controls (5530.9600,3459.0000) and
      (5540.8300,3485.0000) .. (5548.0000,3517.0000) .. controls
      (5555.2000,3549.1300) and (5578.6400,3633.0000) .. (5600.5400,3705.0000) ..
      controls (5660.7500,3903.0000) and (5672.0700,3968.3400) ..
      (5672.4600,4120.0000) .. controls (5672.8600,4274.0000) and
      (5652.7800,4371.8800) .. (5595.1200,4497.0000) .. controls
      (5561.4800,4570.0000) and (5502.8800,4660.0000) .. (5489.0000,4660.0000) ..
      controls (5485.1600,4660.0000) and (5491.0300,4620.5000) ..
      (5502.0000,4572.5000);

    % path3009
    \path[fill=black,nonzero rule] (135.8750,3978.0000) .. controls
      (121.0230,3926.6700) and (117.1840,3728.0000) .. (129.3160,3639.0000) ..
      controls (143.7730,3533.0000) and (186.0630,3401.2300) .. (231.3750,3321.0000)
      .. controls (248.7700,3290.2000) and (316.7730,3193.0000) ..
      (382.5000,3105.0000) .. controls (448.2270,3017.0000) and (504.3590,2939.1500)
      .. (507.2460,2932.0000) .. controls (518.7420,2903.5000) and
      (527.7190,2925.0000) .. (532.7110,2993.0000) .. controls (536.7850,3048.4600)
      and (550.5900,3096.0000) .. (592.8160,3200.0000) .. controls
      (663.8790,3375.0000) and (675.3950,3411.4100) .. (705.1020,3555.0000) ..
      controls (729.9300,3675.0000) and (738.8910,3830.0000) .. (721.0000,3830.0000)
      .. controls (704.6450,3830.0000) and (547.9220,3569.0000) ..
      (512.6410,3483.0000) .. controls (493.9100,3437.3400) and (473.2380,3362.0000)
      .. (466.0000,3313.0000) .. controls (458.9100,3265.0000) and
      (450.5000,3231.8200) .. (447.5000,3240.0000) .. controls (444.4770,3248.2500)
      and (425.3520,3309.0000) .. (405.0000,3375.0000) .. controls
      (384.7110,3440.8000) and (335.0310,3565.0000) .. (295.0000,3650.0000) ..
      controls (254.9690,3735.0000) and (207.1480,3845.6400) .. (189.1170,3895.0000)
      .. controls (150.7500,4000.0000) and (144.8830,4009.1400) ..
      (135.8750,3978.0000);

    % path3011
    \path[fill=black,nonzero rule] (5804.5000,3985.0000) .. controls
      (5800.3800,3974.0000) and (5783.5000,3929.0000) .. (5767.0000,3885.0000) ..
      controls (5750.5500,3841.1300) and (5704.2600,3735.0000) ..
      (5664.5000,3650.0000) .. controls (5624.7400,3565.0000) and
      (5575.2900,3440.8000) .. (5555.0000,3375.0000) .. controls
      (5534.6500,3309.0000) and (5515.5300,3248.2500) .. (5512.5000,3240.0000) ..
      controls (5509.4800,3231.7500) and (5501.6000,3261.0000) ..
      (5495.0000,3305.0000) .. controls (5480.0000,3405.0000) and
      (5467.4500,3444.3300) .. (5419.7100,3541.0000) .. controls
      (5372.8000,3636.0000) and (5251.4900,3830.0000) .. (5239.0000,3830.0000) ..
      controls (5221.2600,3830.0000) and (5230.4000,3674.0000) ..
      (5255.1100,3555.0000) .. controls (5284.1000,3415.4200) and
      (5303.8300,3353.0000) .. (5371.7700,3186.0000) .. controls
      (5409.2000,3094.0000) and (5422.4400,3047.6300) .. (5427.0000,2992.5000) ..
      controls (5430.3100,2952.5000) and (5435.6900,2920.2200) ..
      (5439.0000,2920.5000) .. controls (5442.2900,2920.7700) and
      (5470.7200,2958.0000) .. (5502.0000,3003.0000) .. controls
      (5533.5200,3048.3400) and (5588.5100,3123.0000) .. (5625.0000,3170.0000) ..
      controls (5661.5000,3217.0000) and (5706.1600,3281.8200) ..
      (5724.9000,3315.0000) .. controls (5769.6100,3394.1300) and
      (5815.5700,3535.0000) .. (5830.6000,3639.0000) .. controls
      (5843.7600,3730.0000) and (5838.3200,3936.6700) .. (5821.6300,3980.0000) ..
      controls (5812.3900,4004.0000) and (5811.7000,4004.2000) ..
      (5804.5000,3985.0000);

    % path3013
    \path[fill=black,nonzero rule] (711.5780,3358.0000) .. controls
      (696.2230,3318.2200) and (662.1990,3144.0000) .. (648.8870,3037.0000) ..
      controls (634.3280,2920.0000) and (642.8670,2759.8100) .. (669.4650,2651.0000)
      .. controls (680.7110,2605.0000) and (688.6450,2565.6400) ..
      (687.0000,2564.0000) .. controls (685.3360,2562.3400) and (660.8240,2602.0000)
      .. (632.0000,2653.0000) .. controls (594.3090,2719.6800) and
      (542.7150,2786.0000) .. (444.5000,2894.0000) .. controls (349.9220,2998.0000)
      and (292.0860,3071.9900) .. (253.0000,3139.0000) .. controls
      (222.0820,3192.0000) and (188.2660,3248.4400) .. (177.5000,3265.0000) --
      (158.0000,3295.0000) -- (163.9730,3213.0000) .. controls (175.7700,3051.0000)
      and (239.0390,2860.7500) .. (317.9410,2750.0000) .. controls
      (387.7620,2652.0000) and (432.4880,2607.7100) .. (525.0000,2544.9700) ..
      controls (571.0000,2513.7700) and (640.2150,2459.8200) .. (678.0000,2425.7000)
      .. controls (767.0000,2345.3400) and (818.8550,2305.8600) ..
      (826.0000,2313.0000) .. controls (829.2730,2316.2700) and (824.6760,2359.0000)
      .. (815.8870,2407.0000) .. controls (796.7460,2511.5500) and
      (796.0230,2568.0000) .. (811.4800,2752.0000) .. controls (831.3910,2989.0000)
      and (800.6090,3235.4500) .. (735.6680,3359.0000) -- (722.0000,3385.0000) --
      (711.5780,3358.0000);

    % path3015
    \path[fill=black,nonzero rule] (5209.7900,3325.0000) .. controls
      (5152.3900,3190.5500) and (5129.4900,2974.0000) .. (5148.6700,2747.0000) ..
      controls (5164.3800,2561.0000) and (5163.7500,2512.4300) ..
      (5144.2700,2407.0000) .. controls (5135.3900,2359.0000) and
      (5130.7300,2316.2700) .. (5134.0000,2313.0000) .. controls
      (5141.1400,2305.8600) and (5193.0000,2345.3400) .. (5282.0000,2425.7000) ..
      controls (5319.7900,2459.8200) and (5389.0000,2513.7600) ..
      (5435.0000,2544.9400) .. controls (5608.8200,2662.7500) and
      (5704.7800,2806.0000) .. (5765.2800,3038.0000) .. controls
      (5787.7100,3124.0000) and (5809.2600,3290.0000) .. (5798.0000,3290.0000) ..
      controls (5795.2700,3290.0000) and (5762.3700,3236.0000) ..
      (5725.5000,3171.0000) .. controls (5670.0900,3073.3200) and
      (5633.1900,3024.5000) .. (5519.5000,2898.5000) .. controls
      (5418.4500,2786.5000) and (5366.8000,2720.1300) .. (5328.5000,2653.0000) ..
      controls (5299.4000,2602.0000) and (5274.6600,2562.3400) ..
      (5273.0000,2564.0000) .. controls (5271.3500,2565.6500) and
      (5280.0700,2607.0000) .. (5292.3900,2656.0000) .. controls
      (5321.2300,2770.6300) and (5323.4000,3006.0000) .. (5296.9000,3145.0000) ..
      controls (5271.7300,3277.0000) and (5246.9700,3370.0000) ..
      (5237.0000,3370.0000) .. controls (5232.5500,3370.0000) and
      (5220.4600,3350.0000) .. (5209.7900,3325.0000);

    % path3017
    \path[fill=black,nonzero rule] (874.5000,2745.0000) .. controls
      (878.0660,2712.0800) and (887.0270,2597.0000) .. (894.3550,2490.0000) ..
      controls (909.2890,2272.0000) and (920.7300,2229.0000) ..
      (1005.5900,2072.0000) .. controls (1030.4600,2026.0000) and
      (1045.1200,1991.6200) .. (1038.0000,1996.0000) .. controls
      (1030.7800,2000.4500) and (985.0000,2037.7800) .. (935.0000,2080.0000) ..
      controls (885.1520,2122.0900) and (787.0000,2199.9800) .. (715.0000,2254.5800)
      .. controls (537.0000,2389.5700) and (464.6680,2455.0000) ..
      (395.0630,2544.0000) .. controls (313.1410,2648.7500) and (306.6880,2646.0000)
      .. (341.1410,2521.0000) .. controls (367.0510,2427.0000) and
      (433.9450,2283.0500) .. (490.7730,2199.0000) .. controls (580.0630,2066.9400)
      and (697.0000,1967.9500) .. (835.0000,1907.5900) .. controls
      (897.0000,1880.4800) and (1204.4100,1800.0000) .. (1246.0000,1800.0000) ..
      controls (1275.0000,1800.0000) and (1275.0000,1800.0000) ..
      (1244.2400,1878.0000) .. controls (1230.3000,1913.3500) and
      (1203.7900,2019.0000) .. (1185.0300,2114.0000) .. controls
      (1146.7100,2308.0000) and (1129.1100,2363.7700) .. (1067.0000,2488.0000) ..
      controls (1013.0000,2596.0000) and (915.2270,2758.3600) ..
      (888.0000,2785.2500) -- (868.0000,2805.0000) -- (874.5000,2745.0000);

    % path3019
    \path[fill=black,nonzero rule] (5056.5800,2767.0000) .. controls
      (4981.1800,2665.1100) and (4856.7100,2428.0000) .. (4821.9300,2320.0000) ..
      controls (4810.4700,2284.4200) and (4789.3800,2193.0000) ..
      (4775.3100,2118.0000) .. controls (4745.5000,1959.0000) and
      (4725.9600,1887.3700) .. (4700.2900,1843.0000) .. controls
      (4668.0500,1787.2800) and (4685.0000,1786.9600) .. (4896.0000,1839.2500) ..
      controls (5077.0000,1884.1100) and (5156.2300,1914.7500) ..
      (5251.0000,1976.5500) .. controls (5409.4500,2079.8700) and
      (5558.2600,2300.0000) .. (5619.0400,2521.0000) .. controls
      (5653.9700,2648.0000) and (5648.9300,2648.9600) .. (5555.7000,2533.0000) ..
      controls (5491.6300,2453.3200) and (5367.0000,2343.6800) ..
      (5207.0000,2226.2500) .. controls (5164.3800,2194.9700) and
      (5085.0000,2131.5800) .. (5032.0000,2086.5000) .. controls
      (4979.0000,2041.4200) and (4928.8800,2000.3700) .. (4921.5000,1996.0000) ..
      controls (4914.0200,1991.5700) and (4926.1800,2021.0000) ..
      (4948.7600,2062.0000) .. controls (5037.7700,2223.6200) and
      (5050.9300,2272.0000) .. (5066.1800,2494.0000) .. controls
      (5073.8100,2605.0000) and (5082.6900,2718.5100) .. (5086.0000,2747.5000) ..
      controls (5089.3200,2776.5000) and (5089.5400,2800.0000) ..
      (5086.5000,2800.0000) .. controls (5083.5000,2800.0000) and
      (5069.9000,2785.0000) .. (5056.5800,2767.0000);

    % path3021
    \path[fill=black,nonzero rule] (1056.2700,2695.0000) .. controls
      (1330.4600,2344.3200) and (1825.0000,1991.1600) .. (2217.0000,1866.0900) ..
      controls (2339.8800,1826.8800) and (2522.0000,1788.0500) ..
      (2675.0000,1768.4500) .. controls (2822.1300,1749.5900) and
      (3207.0000,1752.1100) .. (3355.0000,1772.9000) .. controls
      (3867.0000,1844.8200) and (4378.1500,2126.2000) .. (4781.2300,2558.0000) ..
      controls (4906.3100,2692.0000) and (4912.0900,2713.4100) ..
      (4792.0000,2597.9300) .. controls (4596.7300,2410.1400) and
      (4395.0000,2264.9300) .. (4170.0000,2150.1900) .. controls
      (3807.0000,1965.0800) and (3520.9800,1907.5200) .. (3231.0000,1961.2200) ..
      controls (3131.0000,1979.7400) and (3057.4800,2030.3300) ..
      (3010.4500,2113.0000) -- (2982.0000,2163.0000) -- (2956.2100,2112.0000) ..
      controls (2910.5400,2021.6900) and (2830.0000,1976.4200) ..
      (2666.0000,1948.8800) .. controls (2423.5200,1908.1600) and
      (1997.0000,2021.9500) .. (1682.0000,2211.4000) .. controls
      (1505.0000,2317.8600) and (1305.7200,2471.2700) .. (1130.0000,2636.3600) ..
      controls (1072.0000,2690.8400) and (1039.0000,2717.0900) ..
      (1056.2700,2695.0000);

    % path3023
    \path[fill=black,nonzero rule] (1203.9800,2305.0000) .. controls
      (1214.1400,2278.6300) and (1275.2700,2055.0000) .. (1284.6100,2010.0000) ..
      controls (1301.6200,1928.0000) and (1360.5400,1828.7600) ..
      (1440.1400,1748.0000) .. controls (1495.3400,1692.0000) and
      (1512.4000,1669.5000) .. (1497.0000,1673.0000) .. controls
      (1485.0700,1675.7100) and (1448.0000,1685.3200) .. (1416.0000,1694.0000) ..
      controls (1383.4500,1702.8300) and (1305.0000,1716.9300) ..
      (1241.0000,1725.4600) .. controls (1050.0000,1750.9300) and
      (856.7110,1810.4700) .. (721.0000,1885.6300) .. controls (697.0000,1898.9200)
      and (675.1840,1910.0000) .. (673.0000,1910.0000) .. controls
      (670.7700,1910.0000) and (681.3670,1887.0000) .. (696.9610,1858.0000) ..
      controls (737.3050,1782.9700) and (870.0000,1654.7400) .. (968.0000,1596.0800)
      .. controls (1013.2100,1569.0200) and (1091.5000,1531.3000) ..
      (1142.5000,1512.0000) -- (1235.0000,1477.0000) -- (1410.0000,1483.0000) ..
      controls (1564.0000,1488.2800) and (1599.4000,1492.7700) ..
      (1705.0000,1520.4000) .. controls (1855.0000,1559.6400) and
      (1861.7300,1563.1800) .. (1824.0000,1582.8900) .. controls
      (1781.3700,1605.1500) and (1760.0600,1632.0000) .. (1679.4400,1765.0000) ..
      controls (1581.8500,1926.0000) and (1523.2800,2002.5200) ..
      (1390.8600,2142.0000) .. controls (1268.3900,2271.0000) and
      (1191.0900,2338.4200) .. (1203.9800,2305.0000);

    % path3025
    \path[fill=black,nonzero rule] (4604.6300,2177.0000) .. controls
      (4445.7500,2013.0000) and (4384.0200,1935.1600) .. (4289.8200,1780.0000) ..
      controls (4209.0700,1647.0000) and (4175.1100,1603.3100) ..
      (4137.0000,1583.4100) .. controls (4098.0600,1563.0800) and
      (4104.0000,1559.9100) .. (4255.0000,1520.4000) .. controls
      (4360.6000,1492.7700) and (4396.0000,1488.3400) .. (4550.0000,1483.5000) ..
      controls (4722.0000,1478.0900) and (4726.2900,1478.4700) ..
      (4800.0000,1505.3400) .. controls (4958.0000,1562.9200) and
      (5112.1800,1665.2600) .. (5200.2400,1771.0000) .. controls
      (5244.3800,1824.0000) and (5298.0600,1910.0000) .. (5287.0000,1910.0000) ..
      controls (5284.8200,1910.0000) and (5263.0000,1898.9200) ..
      (5239.0000,1885.6300) .. controls (5103.2900,1810.4700) and
      (4910.0000,1750.9300) .. (4719.0000,1725.4600) .. controls
      (4655.0000,1716.9300) and (4576.5500,1702.8300) .. (4544.0000,1694.0000) ..
      controls (4512.0000,1685.3200) and (4474.9300,1675.7100) ..
      (4463.0000,1673.0000) .. controls (4447.6800,1669.5200) and
      (4464.6400,1692.0000) .. (4518.8100,1747.0000) .. controls
      (4616.6400,1846.3300) and (4647.7800,1908.0000) .. (4699.5700,2105.0000) ..
      controls (4721.3900,2188.0000) and (4743.9100,2267.9500) ..
      (4750.0000,2284.0000) .. controls (4756.0700,2300.0000) and
      (4758.0900,2315.6900) .. (4754.5000,2319.0000) .. controls
      (4750.9400,2322.2900) and (4683.0900,2258.0000) .. (4604.6300,2177.0000);

    % path3027
    \path[fill=black,nonzero rule] (2040.0000,1523.5000) .. controls
      (2020.6800,1521.0200) and (1932.0000,1496.8700) .. (1842.0000,1469.5800) ..
      controls (1596.0000,1394.9800) and (1450.6800,1367.5100) ..
      (1295.0000,1366.1400) .. controls (1223.0000,1365.5100) and
      (1147.1500,1368.3500) .. (1125.0000,1372.5000) -- (1085.0000,1380.0000) --
      (1110.0000,1358.4200) .. controls (1152.3900,1321.8200) and
      (1312.0000,1251.5900) .. (1406.0000,1228.1800) .. controls
      (1477.8100,1210.2800) and (1523.0000,1206.0700) .. (1640.0000,1206.3800) ..
      controls (1814.0000,1206.8200) and (1932.5800,1226.4500) ..
      (2062.0000,1276.2300) .. controls (2357.0000,1389.6900) and
      (2455.5500,1415.0600) .. (2570.0000,1406.9900) .. controls
      (2617.0000,1403.6800) and (2681.8200,1392.6500) .. (2715.0000,1382.3200) ..
      controls (2778.0000,1362.7100) and (2910.3000,1300.5900) ..
      (2909.5000,1291.0000) .. controls (2909.2200,1287.6800) and
      (2877.5000,1262.6600) .. (2838.5000,1235.0000) .. controls
      (2799.5700,1207.3900) and (2731.5000,1150.7400) .. (2686.5000,1108.5000) --
      (2605.0000,1032.0000) -- (2654.5000,1009.5000) -- (2704.0000,987.0000) --
      (2733.5000,1021.0000) .. controls (2749.4500,1039.3800) and
      (2778.1600,1072.0000) .. (2796.0000,1092.0000) .. controls
      (2840.5900,1142.0000) and (2961.1100,1240.0000) .. (2978.0000,1240.0000) ..
      controls (3008.1900,1240.0000) and (3127.3000,1135.0000) ..
      (3226.4300,1021.0000) -- (3256.0000,987.0000) -- (3305.5000,1009.5000) --
      (3355.0000,1032.0000) -- (3273.5000,1108.5000) .. controls
      (3228.5000,1150.7400) and (3160.4300,1207.3900) .. (3121.5000,1235.0000) ..
      controls (3082.5000,1262.6600) and (3050.7900,1287.6800) ..
      (3050.5300,1291.0000) .. controls (3049.7600,1300.7400) and
      (3192.0000,1366.6800) .. (3255.0000,1385.8000) .. controls
      (3296.1400,1398.2800) and (3348.0000,1404.1400) .. (3420.0000,1404.4300) ..
      controls (3536.9800,1404.9100) and (3607.0000,1386.6900) ..
      (3862.0000,1289.4100) .. controls (4027.1300,1226.4100) and
      (4135.0000,1206.8500) .. (4320.0000,1206.3800) .. controls
      (4437.0000,1206.0700) and (4482.1900,1210.2800) .. (4554.0000,1228.1800) ..
      controls (4648.0000,1251.5900) and (4807.6100,1321.8200) ..
      (4850.0000,1358.4200) -- (4875.0000,1380.0000) -- (4835.0000,1372.5000) ..
      controls (4812.8500,1368.3500) and (4737.0000,1365.5000) ..
      (4665.0000,1366.1300) .. controls (4506.3000,1367.5000) and
      (4358.0000,1396.0900) .. (4113.0000,1472.5600) -- (3945.0000,1525.0000) --
      (3765.0000,1524.0400) .. controls (3490.0000,1522.5700) and
      (3294.5900,1480.4700) .. (3072.0000,1374.7100) -- (2980.0000,1331.0000) --
      (2887.0000,1375.0900) .. controls (2681.0200,1472.7400) and
      (2485.0000,1516.9400) .. (2227.0000,1523.9000) .. controls
      (2143.0000,1526.1600) and (2059.3400,1525.9900) .. (2040.0000,1523.5000);

  \end{scope}
\end{scope}

\end{tikzpicture}
\end{document}

I would like to rephrase;

TikZ ist kein Zeichenprogramm ;)

4
  • 1
    +1 for acronym! Made me smile :) couldn't this be made a little smaller though by saving one leaf and re-using it? Apr 19, 2014 at 14:57
  • 4
    @SeanAllred It's the official recursion, you can seee it in the manual. I wish I was that smart :)
    – percusse
    Apr 19, 2014 at 14:58
  • Nice answer! Now for the cherry on top: How would you write a letter in the middle to replace the A you just erased? Apr 19, 2014 at 16:13
  • @percusse A litle side question: where does the file gets exported when export to tikz path is used? What is the difference between exporting it to tikz path or simply saving it as .tex? Apr 23, 2014 at 10:16
9

Here I want to describe another (not better, but different from this of @percusse) workflow, that is only adaptd to logo/glyph type drawings. This workflow use exclusively online tools.

  1. I search the web for existing SVG version of the drawing. Here I was googling "Assassin's Creed Ancient Rome Insignia" without success.
  2. If I can't find one, I convert the bitmap image to svg online, by googling for example "convert png svg". There are plenty of tools and some (most) of them use potrace, like InkScape. For this example I used online-convert.com to obtain this SVG.
  3. I optimize the svg using the online version of svgo. enter image description here For this particular example are used "precision:0" and "Prefer viewBox to width/height" to obtain this half sized svg.
  4. To convert from SVG to TikZ I use SVGPathy playground.

enter image description here

  • copy/paste the entire svg in the upper textarea;

  • select Remove Arcs, Transformation : scale(1,-1) and Output type : One TikZ path per line (New : You can select Full TikZ in standalone and go faster to the final result);

  • copy the result from the bottom textarea;

  • wrap the resulting code in

        \documentclass[tikz,border=7pt]{standalone}
        \usetikzlibrary{svg.path}
        \begin{document}
          \begin{tikzpicture}
    
          % the code generated with SVGPathy goes here
    
          \end{tikzpicture}
        \end{document}      
    

Here is the final result (see the notes at the end for the additional options).

\documentclass[tikz,border=7pt]{standalone}
\usetikzlibrary{svg.path}
\begin{document}
  \begin{tikzpicture}

    % the code generated with SVGPathy goes here
    \fill svg{M50.1-.5l-1.5-3.8-2.7-6.4-2.2-5.2-1-2.4-1.1-2.8-4.8-11.8-1.3-3.3c-1.4-3.5-2-4.6-3.3-5.8s-3.1-2.5-4.3-2.9c-1.9-.6-4.9-.2-6.9 1l-1.2 .5 .3-.8 1.1-3.8c.2-1.6 .3-4.9 0-6.5l-.8-2.5-.2-.9h.8c2.2 .5 3.9-.3 7.1-3.2 4.7-3.8 10.2-6.5 16-7.7 3.5-.8 4.4-.6 1.8 .2-4.6 1.4-8 3.3-9.8 5.5-1.8 1.9-2.7 4.5-2.5 7.1 .2 1.6 .3 2.2 1.6 5.5 1.3 3.4 2.5 6.8 3.8 10.2l2 5.8c1.8 5.2 3.7 10.3 5.8 15.5 .7 2.1 1.5 4.2 2.4 6.2l3.8-9.1 .7-1.7c1-2.3 1.9-4.7 2.9-7.1l2.2-5 2-5.2 3.2-7.6 2-4.7c.6-1.7 .8-2.5 .8-4.1 0-2.5-.6-4.2-2.5-6.1-3.2-2.7-7-4.5-11-5.4l-.8-.5c7.6 .8 14.7 3.9 20.4 8.9 .6 .6 1.9 1.7 2.9 2 1.1 .6 2.4 .8 3.3 .5l1.1-.2-.3 1c-.6 1.9-.8 3.3-.8 5.6 0 2.5 .2 3.9 1.1 6.3l.5 1.6-1-.2-2.3-.4c-2.5-.3-5.4 .3-7.4 1.7-1.4 .9-2.8 2.5-3.8 3.9-2.3 4.8-4.3 9.6-6 14.7l-1.4 3.3-3.3 8.5-3.3 8c-.5 1.3-1 2.6-1.6 3.9 0 .3-.3 .2-.5-.3zm-28.9-21.2c-3-1.4-4.7-3.5-6.2-6.9-.5-.9-.5-2-.3-2.1 .5 0 2.4 1.3 3.5 2.2 1.3 1.4 5 6.6 5 7.1s-.8 .3-2-.3zm55.5 .3c0-.3 .3-.6 1.1-1.7l.8-1.3c2.4-3.3 3.1-4.1 4.9-5.3 1.1-.8 1.7-1.1 1.9-1 .2 .3-.3 1.9-1 3.2-.5 1.1-1.3 2.2-2 3.3-.6 .8-2.4 1.9-3.6 2.5-1.4 .6-2 .8-2.1 .3z};
    \fill svg{M14.4-24.6c-1.5-1.5-2.6-3.3-3.1-5.3l-.4-1.7c-.2-1.1-.2-4.1 .2-5.7 .2-.9 .3-1.3 .5-1.3l1.4 1.1 2.5 2.4c2.7 2.5 5.2 6 5.8 8 .2 .6-.5 .3-2.2-.9-1.6-1.3-3.3-2.6-5-3.8l.1 1.4c.2 1.4 .5 2.7 1.1 4.6s.8 2.5 .5 2.5l-1.4-1.3zm69.6 1.1 .3-1.2c.8-2.3 1.3-4.8 1.6-7.3l-1.5 1.1c-1.3 .9-2.6 1.9-3.7 3-1.6 1.1-2 1.3-2.1 1 .7-1.8 1.6-3.4 2.8-4.9 1.3-1.7 6.5-6.8 7-6.8 .2 0 .3 .2 .3 .5l.3 1.6c.3 2.2 .2 5.7-.5 7.4-.8 1.9-1.6 3.1-3 4.7-1.1 1.1-1.4 1.3-1.5 .9z};
    \fill svg{M10-29.4c-.8-1.1-1.4-2.2-2-4.1l-.7-3.5c-.2-3 .2-4.4 1.4-8.3l.5-1.4c.2-1.3 .3-1.9 .6-1.9 .3-.2 .6 .3 .7 .8s.9 2.2 1.9 3.6c1.4 2.2 2.7 4.4 3.9 6.6l.9 2.7c0 .6 0 .6-.3 .6-.6 0-4.9-4.4-5.8-6l-.2-.6-.1 1.7-.3 2.8c-.3 2.7-.3 3.8 0 5.5 .6 2 .5 2.4-.5 1.5zm79.2 .3 .4-2.4c.2-1.3 .2-2.7-.1-4.9l-.3-2.8v-1.6l-.7 1c-.8 1.3-5 5.5-5.5 5.5s-.5-.3 .2-1.9c.5-1.7 1.4-3.3 3.3-6.5 2.4-3.6 2.7-3.9 2.8-4.7 .5-1.3 .5-1.4 .8-1.2 .3 0 .6 .8 .6 1.5l.7 2.4c.9 2.7 1.1 3.6 1.2 6 .2 3.1-.5 6-2 8.2-.8 1.3-1.3 1.7-1.4 1.5z};
    \fill svg{M5-40c-.4-3.2-.1-6.5 .9-9.6 .5-1.1 1.6-2.8 2.2-3.4l1.3-1.6 2-2.7 .2 .6c.1 1.3 .4 2.6 .9 3.8l.3 1c.8 1.7 1.1 2.7 1.6 5.3 .6 2.5 .6 4.6 .2 4.6-.3 0-.9-.8-1-1.1l-.5-.8c-1.4-2-3-5.2-2.9-6.5-.9 2.7-2 5.4-3.5 7.9l-.3 .8-.3 .8c0 .5-.6 1.6-.8 1.6l-.3-.7zm89.2 .2-.2-.5-.3-.9-1.1-2.7-1.1-2.4c-.6-1.4-1.2-2.8-1.6-4.2l-.3 .9c-.3 1.3-1.6 3.9-3 6-1.3 2-1.6 2-1.5 0s1.1-6.3 2.2-9c.8-1.7 1.1-3.1 .9-4.1-.2-1.1 .5-.8 2.2 1.8 3.3 4.4 3.8 5.4 4.4 7.8 .6 2.4 .5 7.7-.3 7.8l-.3-.5z};
    \fill svg{M13.9-50.1c-.5-1.9-.8-3.9-.9-5.8-.2-1.6-.1-3.3 .1-4.9-.3 .8-1.7 2.5-4.2 5.1l-3 4.9-.3 .1c-.3 0-.3-2.2 0-3.3 .8-3 1.4-4.6 2.5-6.1 .9-1.3 1.7-1.9 2.5-2.5 1.1-.6 2.7-1.9 3.5-2.7 .9-.9 1.9-1.4 2.2-1.4v1.1l-.3 6.6c0 6.8 .2 6.3-1 8.9-.5 1.1-.8 1.1-1.1 0zm70.8-.4c-.8-2.2-.8-2.5-.7-6.3-.1-2.7-.1-5.5-.2-8.2-.3-1.6-.3-1.9 .5-1.6l.6 .5c1.4 1.4 3 2.5 3.9 3.1 1.3 .9 1.9 1.6 2.7 2.6l.6 .7 .2 .4 .2 .3c.8 .9 2 4.9 2 6.9 .2 1.9-.2 1.9-.9 .5-.7-1.4-1.5-2.7-2.6-4-1.6-1.5-3-3.2-4.2-5 .4 3 .3 6-.5 9 0 .8-.5 2.2-.8 2.3-.2 0-.5-.3-.8-1.2z};
    \fill svg{M16.4-58.5l.2-1.5 .3-3.7c.2-2.8 .3-3.5 1.1-5.4l.7-1.3-.5 .4-1 .7c-.5 .4-1.1 .8-1.5 1.3l-.5 .3-1.9 1.6c-2.2 1.6-2.7 2-3.9 3.6-.5 .8-1.1 1.3-1.3 1.3-.5 0 0-2.4 1.1-4.7 1.5-3.4 4.3-6 7.7-7.4l1.3-.4 1.9-.4 2-.5c1.4 0 1.4 0 1 1.1-.5 .8-.8 2-1.1 4.2-.3 2.3-1.1 4.5-2.2 6.5l-.4 .6c-.6 1.1-1.3 2.1-2 3.2-.5 .6-.8 .8-1 .5zm66.3-.2c-.8-.9-2.8-4.4-3.5-6.1-.6-1.3-.9-2.5-1.1-3.5-.2-2.1-.7-4.1-1.5-6 0-.3 0-.3 1.2-.3l2.1 .5 1.9 .4 1.2 .4 .6 .1 1 .6c3 1.4 5.7 4.6 6.8 8.5l.7 2.6c-.2 .6-.5 .5-1.4-.7-2.2-2.7-4.8-5-7.7-6.9l-1.7-1.3 .6 1.3c.3 .6 .6 1.2 .8 1.9l.3 2.5 .3 3.9c.3 2.4 .2 2.8-.6 2.1zm-64-.5c0-.6 4.4-5.4 7.2-7.5 6.8-5.8 15.5-8.8 24.4-8.5 5.7-.2 8.7 .5 13.2 2.2 7 2.9 13.1 7.6 17.6 13.7 0 .3-.5 .2-1.2-.8-4.2-4.6-9.3-8-14.8-10.3-3.9-1.7-8.2-2.1-12.3-1.1-.9 .3-2 1.6-2.4 2.4s-.6 .8-.7 .2l-.8-1.3c-.8-.9-1.3-1.1-3.8-1.7-1.6-.3-3.8-.2-6.9 .6-5.7 1.3-11.8 4.9-17.5 10.4-.7 .6-1.4 1.2-2 1.7z};
    \fill svg{M21.6-66.1l.4-1.1 .9-3.2c.3-1.9 1.1-3.3 2.4-4.7l.4-.8-1.2 .2-2.2 .3c-2.7 .3-5.3 1.2-7.7 2.5-.6 .5-1.3 .6-1.3 .3 0-.5 .9-1.9 2-2.9 .8-.9 2-1.9 3.2-2.6l.9-.4 2.2-1c.3-.2 1.3-.3 3.2-.1 3 0 4.1 .2 6.3 .7l1.1 .4c.5 .2 .6 .6 .3 .6-.5 0-1.4 .9-1.9 1.7l-1.2 1.8c-1.7 2.8-2.2 3.5-4.6 5.9l-3 2.7-.2-.3zm53.9-2c-2.7-2.8-3.5-3.8-5.4-6.8-.9-1.6-1.4-2.4-1.9-2.5l-.8-.5c-.3 0-.2-.5 .4-.6l1.1-.4c1.9-.6 3-.8 5.6-.9l3.3 .2c2 .6 3.8 1.5 5.4 2.8 .3 0 1.9 1.6 2.5 2.4l.9 1.8c0 .3-.3 .2-1.9-.6-2.8-1.4-4.4-1.9-7.7-2.2l-2.2-.5c-.9-.2-.9-.2-.6 .2 .6 .5 1.7 2 2.1 2.8l.9 2.5c.3 1.5 .6 3 .9 4.6l-2.6-2.3z};
    \fill svg{M34.1-78.7c-3.4-1.3-6.9-2.1-10.6-2.5-.9 0-1.4 0-2.3 .3-2 .5-2 0 0-1.3l2.8-1.2c1.4-.5 1.9-.5 3.8-.6 3.8-.2 6.1 .3 9.3 1.7l3.6 1.1 2.2 .3c1.3 0 1.7 0 2.7-.3 1.1-.3 2.8-1.1 2.8-1.3l-1.3-.9c-1.9-1.4-3.1-2.7-3.1-3.2l.8-.6c.9-.3 1.3-.2 2 .8 .5 .8 1.1 1.4 2.9 2.7 .2 .3 .3 .2 1.1-.3 .9-.8 2.4-2 2.6-2.7 .5-.6 .9-.8 1.8-.5l.8 .6c0 .5-1.4 1.7-3.2 3.2l-1.3 .9c0 .2 1.7 .9 2.9 1.3 .9 .3 1.4 .3 2.7 .3l2.2-.3c1.7-.4 3.4-1 5-1.7 2-.8 4.4-1.3 7.7-1.1 2 .2 2.5 .2 3.8 .6 .9 .3 2.2 .8 2.8 1.2 2 1.1 2 1.6 .2 1.3-1.6-.3-1.9-.3-4.4 0-2.4 .3-4.7 .8-7 1.6l-1.5 .6c-2.9 .3-5.9 .2-8.8-.3-1.7-.3-3.6-.9-6-2.1l-1.1-.4-1.3 .6c-4.5 2.2-9.6 3-14.6 2.2zm-6.3-9.1c-.9-.6-1.3-1.1-1.3-2.2s.3-1.7 1.8-2.9c1.7-1.3 2.2-1.7 2.2-2.3 0-1.3-.9-1.9-2.2-1.7-.8 .2-1.3 .5-1.5 1.2-.3 1.1-.6 .8-.6-.5 0-1.1 0-1.1 .5-1.2l1.7-.2c1.1-.2 1.4 0 2.1 .3 .9 .5 1.4 1.6 1.4 2.6-.2 1.1-.6 1.7-2.1 2.8-1.7 1.3-2 1.6-2.2 2.2-.2 .9 1.3 1.7 2.5 1.2l.8-.7c0-.3 .2-.5 .3-.5l.2 .9c0 .9 0 .9-.5 1.1-1.1 .3-2.5 .2-3.1-.1zm28 .1c-2.5-.8-3.9-2.8-3.8-5.3 .3-3.1 3-5.2 6.3-4.6l1.1 .2 1.9-1c2.8-1.4 3.5-1.6 5.8-1.5 1.7-.2 2.2 0 3 .3 .8 .2 1.1 .5 1.1 .6l-.5 .2c-2.2-.5-2.4-.5-3.6-.4-1.4 .2-2.7 .6-4.9 1.8l-1.7 .8 .6 .4 1 1.5c.5 .9 .5 1.1 .5 2.3s0 1.6-.4 2.2c-.5 .8-1.4 1.7-2 2.1-1.1 .6-3.3 .8-4.4 .4zm2.5-.8c2.2-.6 3.3-3.8 2.4-6.1-.9-2.5-3.8-3-5.7-1.1-.8 .9-1.3 1.9-1.3 3.5 0 1.4 .2 2 1 2.8 .8 .9 2.2 1.3 3.6 .9zm-19.3 .5 .4-.3c.5 0 .5-.2 .5-.9v-6.6c0-.9-.2-1.1-.5-1.1l-.3-.4 1.7-.1c1.6 0 1.9 0 1.9 .3l-.4 .2-.7 .3-.1 4.2v3.9h.6c.8 0 1.6-.3 1.9-.9 .5-.5 .6-1.7 .1-2.4-.2-.3-1.3-.9-1.8-.9l-.5-.2c0-.5 1.6-.3 2.5 0 1.9 1.1 2.2 3.8 .3 4.8-.5 .3-.9 .3-3.1 .3l-2.5-.2z};
    \fill svg{M69.2-88l.6-.3 .5-.2v-3.6c0-4.2 0-4.9-.5-4.8l-.5-.4 1.8-.1 1.8 .1c0 .2-.2 .3-.4 .4-.6 .2-.8 .3-.8 2.2v1.2h.9c.8 0 .8 0 1.3-.8l2.5-2.8c.8-.5 3-.5 3-.2 0 .2-.2 .3-.5 .4-.8 0-1.4 .6-3 2.5l-1.2 1.4 .5 .5c.8 .8 .9 1.4 .9 2.3 0 .8 0 .9-.5 1.4-.6 .8-1.1 .9-3.9 1l-2.5-.2zm4.5-.8c1.1-.6 1.3-3.1 .2-3.7h-1.9c-.3 0-.3 .3-.3 2l.1 1.9c.3 .2 1.6 0 1.9-.2z};

  \end{tikzpicture}
\end{document}

enter image description here

Notes and disclaimer

  • I'm the author of SVGPathy that is based on svgpath.
  • SVGPathy is designed to work with svg paths only, not with general svg images, so it is ok only for simple logo/glyph images.
  • I have checked in SVGPathy the option Remove arcs (that convert arc commands to cubic curves) because else svg.path was complaining ! Dimension too large. <recently read> \pgfmath@x.
  • The transformation Transformation : scale(1,-1) is here because SVG and TikZ have different conventions about the orientation up/down for the y-axis. Instead of correcting that when converting, you can just put in tikz [yscale=-1].
  • For the final image I use View Box : 0 0 100 100 to reduce the coordinates to be in [0,100]. And I selected precision:1 and Zip It to reduce the code size.
  • Even if you use the @percusse workflow I strongly suggest you to optimize your svg before to convert it to tikz. For this you can :
    • Apply all the transforms to the paths by "ungrouping" (the shortcut is Ctrl+Shift+G) multiple times, if necessary, all the paths (select them with Ctrl+A).
    • Save it in InkScape with the option "Save type : Optimized SVG".
    • Use SVGOMG to optimize it even more.
1
  • Thank you! SVGPathy just saved me when the svg2tikz extension for Inkscape let me down.
    – Thérèse
    Aug 15 at 23:21

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .