How to Make Your PDF Documents Look Good


Remember five simple rules:
  1. Do NOT use the default Computer Modern fonts, DO use Times Roman or Lucida Bright
  2. Do NOT use the default bitmapped fonts, DO use Type1 fonts
  3. Do NOT mix other text fonts with Computer Modern math fonts, DO use math fonts specifically prepared for use with particular text font
  4. DO NOT use pdflatex, DO use dvips to create PostScript file and Acrobat Distiller to convert PostScript to PDF
  5. DO embed subsets of fonts used
The rules in some detail:
  1. I don't like Computer Modern for two reasons. First, everyone who has just found out about LaTeX uses them. The papers look indistinguishable and, frankly, boring. Second, and perhaps more important, the font weight is too light and the serifs are too busy. I find that it is more difficult to read papers with CM fonts, especially when printed using 2 pages per sheet. The serifs are a bit too intricate for my taste. The font simply looks too ornate. Your mileage on this one may vary. Finally, I find the spacing between letters a bit too generous.

  2. The bitmaped fonts look like shit when viewed on screen in most viewers, especially when the result is converted into PDF. They are also slower to load and result in enormously bloated files. Use Type1 fonts instead. Note that CM Type1 fonts are available with MiKTeX's default distribution, and you should certainly use those instead of the bitmaps even if you still continue with the CM fonts.

  3. While it is relatively easy to use other fonts for text (e.g. Palatino), when you include math in your document, LaTeX is going to default to the dreaded CM fonts because almost none of the available typefaces include necessary math symbols or are designed to work well with math. This is the only advantage of CM: if you have no other alternative, you better stick to CM to ensure consistency between text and math.

    There are several fonts specifically designed to work well with math and text. I use two, both available from PCTeX: MathTime 2 Pro for use with Times Roman and Lucida Bright for use with itself. The MathTime packages include only math fonts because Times Roman for text is part of the standard font set and should be widely available. (It is not, however, widely available in Type1 format, so you would need to get that from Adobe if you want to embed the text font.) Lucida Bright is a complete solution because it provides both text and math fonts, all in Type1 format.

    I purchased both sets but they are not cheap. It might be cheaper to buy Lucida Bright instead of forking out the cash for Times Roman to PCTeX and Adobe. On the other hand, you might want to use Times Roman because, well, it makes for nice bureaucratic-looking documents. (Actually, the real reason is that its intercharacter spacing is smaller, so the documents look shorter and tighter.) There is a bug in MiKTeX's yap that has not been fixed for years and which causes it to give you a weird error if you try to preview a document with MTPro in PostScript mode (which you will do anytime you have a graph embedded). Lucida works fine, however. Note that whichever way you decide to go, buy the most complete set you can afford. You will thank me later. You may not think you will need some particular symbol that is not in the most basic set, but you will soon find that you want just that symbol and nothing else.

  4. PDFLaTeX works for most people but it is not as fool-proof as the DVIPS/Distiller combo. You could also use Ghostscript instead of Distiller to convert the PS file into PDF, but I prefer Adobe's product and it has never given me headaches.

    Note: the latest version of dvi2pdf that comes with WinEdt and uses Ghostscript seems to work very well too. Try this before going the long-but-tried-and-true method.

  5. If you do not embed the fonts in the document, people who do not have the fonts you used installed on their systems will be unable to view your document. Actually, they will see the document but Acrobat will automatically substitute a font it considers close to yours. With math fonts, this invariably results in problems.

Things to do ONCE on your system

You need to prepare your Windows system before you can create PDFs properly.
  1. Install Adobe Acrobat (this will install Distiller)
  2. Install appropriate Type1 fonts (instructions come with the font distributions)
  3. Install appropriate packages for LaTeX (ditto)

Things to do in EACH DOCUMENT

Steps To Create a PDF File

This assumes you have followed the Font Installation instructions above. You can create decent PDF files with Ghostscript, but I much prefer to use Adobe's Distiller. The Academic pricing of Acrobat is extremely reasonable, so there is no excuse not to get it.

The two most important things in making a PDF file that will both look good and print well are :

  1. use Type1 fonts instead of the default bitmaps;
  2. embed the subsets of the fonts used in the document.
The first ensures that your document will look good on screen. Older versions of Acrobat (prior to 6.0) did not display bitmapped fonts well at all. Although the documents print fine, they look horrible (text fuzzy and unreadable). The other advantage is that using Type1 fonts will also make your files significantly smaller. Type1 encoding stores mathematical descriptions of the characters, which means that they scale rather well on different resolutions (which is why you can view them on screen perfectly fine). Storing formulas is also more efficient than storing pictures which have to account for every pixel used in the image. The bottom line is that with Type1 fonts your documents will both look better and be much smaller.

The second requirement ensures that people who may not have the fonts you used installed on their systems will still see/print the file exactly as you want them to. If Acrobat does not find the font requested by the document, it uses font substitution and pulls in a font that it thinks closely resembles the one requested. Most of the time this works well and is pretty harmless as long as you don't use math. When you do use math, you are in trouble because the font that Acrobat will pull in will certainly lack the special characters you will invariably use and the result will be a document with strange symbols in place of your perfectly nice equations. So, embed the fonts!

Note that you do need copyright permission to distribute the documents with embedded fonts but if you embed less than the full font set, you should be fine. The reason for this weirdness is that if you embed the entire font, anyone can then extract it from the PDF file and use it, prossibly in violation of the rights of the font's copyright holder. If you bought your fonts from Adobe or Y&Y, you certainly did not buy the right to give them away. So never embed the entire fonts, only subsets used in the document.

It is very simple to meet the two requrements:

  1. To use Type1 fonts, use the '-P pdf' option with DVIPS
  2. To embed font subsets, go to Distiller's configuration, enable the checkbox that says 'Embed all fonts', and set the 'Subset embedded fonts when percent of characters used is less than' to 100%.
That's it! So, here's the algorithm for creating a good-looking/well-printing PDF:
  1. Run latex on your document to produce the DVI file
  2. Run dvips on the DVI file using the '-P pdf' option to produce the PostScript file
  3. Run Acrobat Distiller on the PS file to create the PDF
To check whether you have a correct PDF file, start Acrobat, go to the "Advanced" menu, and make sure that the option 'Use Local Fonts' is NOT checked. Open the document to see how it looks. When this option is not checked, Acrobat will only use the fonts embedded with the document.


Branislav L. Slantchev, Department of Political Science, UCSD, Sep 30, 2009