How not to annoy me when I review your C.S. paper.

Jun 13, 2008 02:18

I've been meaning to write this post for a good long while. Last week finally triggered it. It's partly a rant about the presentation in some of the papers that I had to review then and partly a how-to guide that codifies all of the little rules-of-thumb that I strive to follow when writing my own papers. They're basically cosmetic so I try not to let them affect my reviews too much. I won't reject an otherwise solid paper just because the presentation is a bit off. But it might annoy me into being a bit more critical. So without further ado, here's my list. Use LaTeX

Don't use Microsoft Word. Just. Don't. I've heard horror stories about trying to do papers in Word. And yet, I can always tell when Word has been used. Its typography is terrible: crappy justification tending to produce very loose lines, it won't substitute ligatures, there'll be widows and orphans everywhere, etc. Using Word also tends to mean trying to manually set everything to match the journal or conferences style. Not to mention that for the references section, using Word means either having to do them all by hand (typically with inconsistent results) or throwing away gobs of cash for a half-baked reference manager like EndNote. (Oops! You want to use Word 2008? Too bad!) I have to laugh when I see discussions of problems with reference managers come up on academics_anonymous when BibTeX is free and has been chugging along for almost 25 years.

Sure LaTeX and BibTeX are a bit arcane at first, and the syntax can be awful. And they're not WYSIWYG. But come on, you're computer scientist! Presumably you should have this whole edit-compile-test cycle thing down pat by this point!

Use vector graphics for diagrams

Do you want to include a diagram in your paper? And is it mostly basic lines, curves, shapes and text? If so, draft it in a vector graphics tool and export it as EPS or PDF. Then have LaTeX include that in your paper. Not a raster image. And especially not a low-res, pixellated, aliased raster image! LaTeX will embed vector formats directly so that when a someone goes to view your paper on screen their viewer will display it according to their preferences. When they print it, your figures will come out silk smooth. Even better, most vector diagrams will only add a few kilobytes to your final paper file.

There are a handful of tools that are really useful for this. If you can find of license for it, Adobe Illustrator absolutely rocks for making figures. If not, XFig, while a bit archaic, is a fairly decent free alternative for simple diagrams. For anything that's a tree, graph, DFA or NFA, try the dot program from the Graphviz package. For charts and plots, gnuplot works quite nicely. Dot and gnuplot are also scriptable which can be useful at times.

Also, expect for people to print your paper on a B&W laser. So please make sure that the colors you choose provide a good luminance contrast. This also helps in case some of your readers might be color blind.

Use raster images otherwise

If you're showing photographs, rendered images from your system, or some other type of figure that's not amenable to vector graphics then yes, by all means include those as raster images. Try to make them of an appropriate resolution for the size of the figure in your paper, however. 300 dps is a decent rule of thumb -- so a 256x256 image would work reasonably for a 1"x1" figure in your paper. But don't expect it to look so good at 3.5"x3.5". If anything, err on the side of higher resolution. It's easier to downsample than upsample since downsampling only has to discard pixel data while upsampling has to guess at recreating it.

Never use JPG compression on the raster images that you include in your paper. It'll introduce artifacts that may obscure what you're trying to show. Instead, use PNG since it's lossless. In fact, the PDF format understands both JPG and PNG formats directly. If you use something like PDFLaTeX then those image files while be directly embedded into the byte stream written to the PDF file. Be careful about converting the images to EPS first and then embedding those with vanilla LaTeX. The DVI->PS->PDF steps tend to cause them to get recompressed into very ugly JPG images with the default settings for Ghostscript.

One consequence of the direct embedding of PNG files is that if you can find a way to reduce the size of the PNG images then that will have a direct impact on the final size of the PDF file for your paper. Most of the size of a paper's file is due to the images embedded in it so reducing the size of the image file can have dramatic results. Image editors tend to write fairly large PNG images, even on the maximum compression settings. But there are PNG shrinking tools that will throw out superfluous metadata and then search a space of compression settings to try to find the one that reduces the file size the most. Though they were originally designed for website optimization, they work quite well shrinking PDF files too. I recommend OptiPNG and AdvPNG. They use different strategies but neither will overwrite the original image unless it can reduce the file size. So using one after the other gives the maximum benefit. Using them together, I've been able to reduce the final size of one of my papers by around 40%. Don't make folks download a 20MB paper just to see if it's worth citing!

Previous post Next post
Up