I’m about to break 100 figures (that’s photos, diagrams, and combinations thereof) for my book, which in current draft is 150 pages. Whenever possible I create vector images because they scale perfectly. The alternative is a raster (pixel-based) image, which is defined for some number of pixels and becomes pixelated when enlarged. Here’s an extreme example: I drew a simple circle, rasterized a copy of it, and then zoomed in on the top section:
The vectorized version stays smooth at any scale, because the rendering engine is essentially told, “The drawing is a black circle, this size with this line thickness.” (The SVG code is actually <circle cx="50" cy="50" r="40" stroke="black" stroke-width="1" />
.) The rasterized version is a fixed rendering of that circle using a specified number of pixels, and that’s as detailed as the image can get.
Raster images are natural for things like photos that begin life as pixel arrays. But computer drawings that are built up using primitive shapes and strokes almost always benefit by preserving that construction. A bonus is that vector files tend to be much smaller than legible raster versions – even in the human-readable Scalable Vector Graphics (SVG) format.
I have created vector images directly in Word (more on this later), Excel, and Python (using matplotlib and seaborn). For just $5 I got a Ukrainian freelancer on Fiverr to vectorize a diagram from an old military publication.
Until recently I used Adobe Illustrator to do more serious vector graphics. But my latest copy of that software is from 2007 and doesn’t always work well in Windows 10. (Yes, I got it back when you could buy and keep using an application instead of having to subscribe.) If I did this stuff all the time I would probably subscribe to Adobe Creative Cloud. But I don’t, so I took a look around and found a popular open-source alternative to Illustrator: Inkscape. It took a day to get comfortable with it, and now it’s great for my purposes. For example, I liked this drawing from a 2004 dissertation by Jorma Jussila, and he was kind enough to send me the vector image, which gave me a tremendous head start creating this diagram:
How Microsoft Let Me Down This Week
In college (1998) I wrote a graphics-heavy term paper in Word. I had invested days of work, saving frequently (as always). At some point Word corrupted the document, but I didn’t realize that because I had kept it open on my computer and the in-process version didn’t give a hint that anything was wrong. Until I tried sending it to a printer, at which point it crashed and I discovered that none of the files contained much that could be salvaged. It took a frantic day to reproduce the paper.
Well, that summer I had a great internship at Microsoft, and – not one to hold a grudge – I have been drafting my current book in Word. (As of today the DOCX is 100MB!) But I have been frequently creating and checking PDFs along the way. In the course of these reviews I discovered that Word is unpredictable in creating and handling vector drawing objects. For example, adding a bevel to a circle causes Word to rasterize it, but you probably won’t notice unless you make a point of inspecting things at high zoom multiples.
I also discovered that Microsoft’s PDF printers and export engines rasterize everything, which is not only a loss of detail, but also a travesty given that vectors are a foundation of the Portable Document Format. Fortunately there are free PDF printers (I verified both doPDF or CutePDF) that preserve vectors.