How to Make Your PDF Documents Look Good
Remember five simple rules:
- Do NOT use the default Computer Modern fonts, DO use Times Roman or Lucida Bright
- Do NOT use the default bitmapped fonts, DO use Type1 fonts
- Do NOT mix other text fonts with Computer Modern math fonts, DO use math fonts
specifically prepared for use with particular text font
- DO NOT use pdflatex, DO use dvips to create PostScript file and Acrobat Distiller to convert PostScript to PDF
- DO embed subsets of fonts used
The rules in some detail:
- 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.
- 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.
- 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.
- 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.
- 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.
- Install Adobe Acrobat (this will install Distiller)
- Install appropriate Type1 fonts (instructions come with the font distributions)
- Install appropriate packages for LaTeX (ditto)
Things to do in EACH DOCUMENT
To Use Times Roman with MathTime 2 Pro:
- \usepackage[T1]{fontenc}
- \renewcommand{\rmdefault}{ptm}
- \usepackage{mtpro2}
To Use LucidaBright for text/math:
- \usepackage{lucidabr}
To use Helvetica (good for slides)
- \usepackage{helvet}
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 :
- use Type1 fonts instead of the default bitmaps;
- 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:
- To use Type1 fonts, use the '-P pdf' option with DVIPS
- 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:
- Run latex on your document to produce the DVI file
- Run dvips on the DVI file using the '-P pdf' option to produce the PostScript file
- 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