Graphics with Powerpoint or Inkscape for papers and presentations

This post is a short personal suggestion of what kind of program to use to draw graphics and how to use them for both at the same time, (1) documents and (2) presentations in Windows.

Drawin versus “coding” presentations ?

Computer scientists commonly write their papers in the typesetting software Latex. Main reasons for using it and and some reasons not to use it are explained in another post (coming soon).

The most intuitive way to prepare presentations is to use WYSIWYG presentation programs of which I personally prefer Microsoft Powerpoint over its main contestants, Open Office Impress and Keynote. Apple’s Keynote is not available for Windows and Impress is still far from actually “impressing” users who have used Powerpoint before. But it is free and a small communty is actively working on improving it. Perhaps one day, Impress can do the same with Powerpoint what Firefox managed to do with Internet Explorer (at least for some period of time): outperform it. But there is a long way to go.

The alternative that many people in the computer science community prefer is to “encode” their presentations in Latex and to then present a PDF version of their files. The Beamer package of Latex is often named but there seem to be other options. As common to Latex, the outcome is a nicely formatted document of slides with nicely formatted text.

I personally find this procedure rather unattractive. A presentation ought to support the speaker convey some message with the help of illustrations instead of presenting nicely formatted text which the presenter will anyway read to the audience. And Latex is not very well suited for drawing illustration. After all, Latex is a typewritting software, not a drawing program. You can produce drawings in Latex e.g. with PSTricks or the graphs.sty package, but the procedure forces you to encode your drawings and then perform the bordersome “execute-check-revise” cycle to verify your code accurately represents your intended drawing. Latex does not actuall allow you to draw your drawings.

To see the difference, imagine Leonardo da Vinci not using a pen for his drawings, but rather encoding his paintings in some long forgotten markup language. Imagine a modern designer not using a pen, a mouse or other modern human interface device, but rather encoding drawings like that in XML or Latex:

Even though the kind of illustrations used in computer science (trees, diagrams, bar diagrams, etc.) do not require as much creativity and freedom in expression as do art painting and design drawings, there is still some value in seeing what you draw at the moment you do it: immediate feedback and efficiency. Take this simple drawing taking a couple of seconds to draw with any reasonable vector drawing program:

How long does it take you to write these equivalent Latex PSTricks lines of code (source: PSTricks) and is it really necessary?

begin{pspicture}(0,0)(6,6)
psline[linecolor=red](1,1)(5,1)(1,4)(1,1)
pscurve[linecolor=green,linewidth=2pt, showpoints=true](5,5)(3,2)(4,4)(2,3)
pscircle[linecolor=blue,linestyle=dashed](3,2.5){1}
end{pspicture}

If really visual feedback is not necessary and “separating content from form” is the dogma to follow, why not write the code above in just one line, which is “contentwise” again equivalent? Well, it really helps when you have the structure of your interest in front of your eyes even for code. More so for graphics. Do not forget you have to come up with the coordinates for the above 4 points (5,5), (3,2), (4,4) and (2,3) of the green spline line. So why to encode a presentation in some at first sight obscure code instead of working on it the way it is presented: “WYSIWAG” (What You See Is What the Audience Gets)?

Using Powerpoint 2003 graphics for Latex

Powerpoint makes it easy to quickly draw some arbitrary illustrations, which can be immediately used for presentations. Old versions of drawings can be kept in a separate file and can be quickly skimmed through like in a photoalbum. And the shareware program WMF2EPS (version 1.32 at time of writing) simplyfies transforming such graphics into EPS (Encapsulated PostScript) for usage with Latex. The program is shareware, but does not stop working after some specified time.

  1. Draw your illustrations in Powerpoint. Use them directly for presentations.
  2. Copy the relvant parts from Powerpoint into WMF2EPS (CTRL + C / V). WMF2EPS first saves the file as EMF (Microsoft Enhanced Metafile), which is the newer version of WMF (Windows Metafile), which is itself the native language for vector graphics in Windows.
  3. Then use the program to save the file as EPS. (Details on the tool’s web page)
  4. Transform the EPS file into PDF in order to use the graphics for both, normal Latex (output DVI and later EPS) and pdfTex (output PDF). This step can be either done with the commercial Adobe Acrobat Writer or the free tools EPS2PDF or EPStoPDF.

This procedure looks complicated, but actually works fine in practice unless you use Powerpoint 2007.
The trouble with Powerpoint 2007

Powerpoint 2007 prevents you from exporting detailed graphics to other programs. Here is an example.The following screen shot shows lines with 6 different line widths from 0.25 to 1.5 pt in 3 different styles drawn in Powerpoint.

Example Lines - Original

Copying the graphics from Powerpoint 2003 into WMF2EPS or Word everything is fine and the resulting graphics look the same as above. However, when copying from Powerpoint 2007, the 6 different line widths appear only with 2 different widths.

Example Lines - PPT 2007

This detail does make a differnce in your final document if you draw some technical graphs and try to emphasize some parts over others. The problem really seem to derive from the copy or clipboard function of Powerpoint 2007 because opening a powerpoint document created by Powerpoint 2007 and saved as PPT with Powerpoint 2003 allows you to copy the graphics as usual. And neither copying into Microsoft Word nor printing to PDF directly from Powerpoint 2007 preserved the details. Seems that Microsoft makes it harder to export graphics to other programs.

Motivation enough to swith to other drawing tools.

Using Inkscape for both, document and presentation drawings

An similarly easy-to-use, far more powerful, open source and platform independent drawing tool is Inskcape (in version 0.45.1 at time of writing). It uses the open standard SVG (Scalable Vector Graphics) format for its saving drawings and lets you directly export graphis to EMF, EPS or PDF. This export facility is important for two reasons:

  • Neither Powerpoint nor Open Office natively support SVG and might never do due to incompatibilities. At least for Open Office, there is some work in progress and there also seem to exist some SVG import filters. Saving your Inkscape drawings as EMF let you insert them again in Powerpoint, but they cannot be edited from Powerpoint itself.
  • The direct export to PDF instead the immediate step over EPS allows to include richer graphics into the final Latex document when using pdf2tex (which is increasingly the way to go). For example, EPS does not support transparent graphics, but PDF and, hence, Latex does.

The only major drawback I currently see is that the EMF file produced does not include some features that the standard actually would support (like arrow markers on lines). For the time being the only way around I see is to export as PNG (Portable Network Graphics), which is a bitmap image and, therefore, considerably increases the size of the final Powerpoint presentation. I hope the export facility will improve over time.

Leaves me with my personal decision tree:

  • Powerpoint
    • + Graphics can immediately be used for presentations
    • + Allows to nicely skim many different graphics, each on a different page
    • + Already quite some legacy work in PowerPoint
    • - Some smaller problems with graphics (e.g. corners in adjoining lines are not smooth)
    • - Exporting detailed graphics does not work anymore beginning with Powerpoint 2007
  • Inkscape
    • + Standard graphics can be done more exactly; in addition, new very powerful graphical features as compared to Poweroint
    • + Open source and platform independent; e.g. SVG graphics can also be natively rendered in Web browsers; more applications of SVG will come over time
    • - Export to Powerpoint and, hence, usage for presentations not yet accurate (some examples)
    • - Text capabilities (e.g. no mathematicl formuls yet, bullet points and indentations not as simple)

Bottom line: I am slowling migrating to Inkscape.

6 Responses to “Graphics with Powerpoint or Inkscape for papers and presentations”


  1. 1 Minimum Monkey June 19, 2007 at 17:50

    just a test

  2. 2 ike9898 June 29, 2007 at 20:08

    I am interested in taking my excel figures into Inkscape in a vector file format, so that the text does look like crap. I can’t figure out a good way. The closest I’ve come is to copy the figure into Power Point and them save the file as an .emf. Inkscape should be able to open this fine, but when I try, I get a blank picture. (My figure has a few thousand datapoints; maybe that is part of the problem?). I’d love to hear your ideas on this subject.

  3. 3 Markus August 1, 2007 at 11:20

    Hi,

    and how exactly do you export from Inkscape to Powerpoint ? All my tries failed because elements were lost or the imported object was display “white on white”.

  4. 4 Alex July 1, 2008 at 16:36

    Tried saving as emf, with the inserted image turning black-and-white.

    For my purposes just “print screen” and pasting did the job well enough for my ppt presentation.

  5. 5 I September 14, 2008 at 20:13

    Ike,
    a) you could use gnulot for the graphs, that can directly produce svg – or else ps
    b) install a postscript printer, print the graph to a file and open the postscript file in inkscape.

    Now, the article mentiones pdf2tex – where on earth did he find that – I found some conversion to text formats, but no really good one for tex /latex

  6. 6 bart May 23, 2009 at 14:53

    Hi, Your problem with saving inkscape drawings as emf can be resolved. To overcome the missing feature of arrow markers you can convert all lines with arrow markers to paths (stroke-to-path). Although not ideal I find it workable…


Leave a Reply




Archives

a