I use TikZ to create drawings. They are composed of text, arrows, and svg-icons (e.g. coming from the Noun Project). These icons (svg files) are mono-color only (i.e. black & transparent).
What I'm used to do is to download them, change their color using Inkscape (i.e. black -> blue), and then import them as a node:

\node (my-picture) at (13,17) {\includegraphics[width=210pt]{myPicture.svg}};

However, if I want to change one color (e.g. let the main color of my document be green, and not blue anymore), I need to manually edit each .svg file.

Question: Would it be possible to include the raw .svg-file and specify its color as a TikZ option? E.g. \node [svgcolor=orange] (my-picture) at (13,17) {\includegraphics[width=210pt]{myPicture.svg}};

  • 3
    I don't believe so but lets wait experts.
    – Sigur
    Jan 27, 2017 at 16:48
  • My main expectation is to be able to set the color of the imported icon using one color previously defined in my .tex document . I'm open to various solutions - e.g. generating a TikZ path from the svg (I know I could further search in this direction, but it seems to be a "too dirty" solution), etc.
    – ebosi
    Jan 27, 2017 at 16:58
  • Another dirty solution: write a script to edit the svg file and load the edited copy. Small, simple, well structured files shoudl be amenable to this.
    – Chris H
    Jan 27, 2017 at 17:00
  • Could do it use lualatex, but that would take some elbow grease.
    – JPi
    Jan 27, 2017 at 17:01
  • 1
    @ebo Yes, but: Inkscape generates the image part as a multi-page pdf, and tikz will \put it page by page in the final composition. If you find a way to choose the page that interests you, you can change its color via the tricks shown tex.stackexchange.com/questions/29227/… (second answer) / tex.stackexchange.com/questions/65071/… . Not a simple solution by any means, but it's possible.
    – user114516
    Jan 27, 2017 at 17:16


Browse other questions tagged .