HOW TO PRODUCE PDF FROM LATEX D. Monniaux (David dot Monniaux at ens dot fr) 1 FONT PROBLEMS 1.1 Type1 and Type3 fonts Modern LaTeX systems (teTeX, for instance) are capable of using at least the following kinds of fonts: * Type1 * METAFONT While Type1 fonts can be used straight away in Postscript or PDF output, METAFONT fonts have to be rasterized at some resolution (typically 300 or 600 dpi), then included as Type3 fonts (each character being assigned a bitmap image). Acrobat Reader is very bad at displaying Type3 bitmapped fonts, making the text very blurry and very tiresome to read; printing works nevertheless. If a PDF files shows as blurry in Acrobat Reader, one should ask File -> Document info -> Fonts and check whether the fonts used in the document are Type3. [SEE TODO] When making PDF files, one should therefore stick to Type1 fonts. 1.2 Computer Modern and similar fonts There are some important issues with using CM and related fonts. 1.2.1 Generalities 1.2.1.1 Why use T1 fonts? For text written in European languages with diacritic signs (accents...), it is recommended to use \usepackage[T1]{fontenc} This poses certain difficulties with Type1 fonts. Why not use the basic CM fonts? The answer is that a) CM fonts do not have certain characters, such as French guillemets b) Accented characters are treated in the OT1 encoding used by CM fonts as character + accent. This has two consequences: 1/ This makes copying text from a DVI or PDF file using those fonts difficult, since a single ISO-8859-1 character may be represented as a superposition of several glyphs. 2/ Standard TeX implementations won't be able to hyphenize accented words. This may be worked around using MlTeX (MlTeX extensions can be activated in teTeX; this needs recompiling the formats). [TODO: document this] 1.2.1.2 Sizes The common use with Postscript and TrueType fonts is to have one font for all desired sizes. Each size is obtained by linear resizing. On the other hand, Computer Modern and similar fonts in various sizes are no homothetically derived. Smaller type sizes are relatively bolder and wider; this is meant for improved legibility. This means that many fonts will be included in the resulting Postscript or PDF file, enlarging the file. 1.2.2 Specific fonts 1.2.2.1 Computer Modern fonts and AMS fonts The basic (La)TeX fonts (Computer Modern) and the AMS fonts are available for free as high-quality Type1 fonts, courtesy of Bluesky. CTAN:/fonts/cm/ps-type1/bluesky CTAN:/fonts/amsfonts/ps-type1 CTAN: can be ftp://ftp.jussieu.fr/pub/TeX/CTAN Those Type1 fonts are *not* used by default by dvips. You have to specify -Pamz and -Pcmz, or, alternatively, -Ppdf for them to be used. You may have to specify an option to the amsfonts package, since the freely available Type1 AMS fonts do not include certain sizes: \usepackage[psamsfonts]{amsfonts} 1.2.2.2 European Computer Modern The EC fonts (those used with \usepackage[T1]{fontenc}) have only been very recently been made available for free as Type1 fonts. CTAN:/pub/TeX/CTAN/fonts/ps-type1/ec Those fonts do not seem to have good hinting, which makes them less suitable for low-resolution displays than the ones from Bluesky. 1.2.2.3 Almost European fonts \usepackage{aeguill} builds almost complete virtual EC fonts using the Type1 CM and AMS fonts. 1.3 Postscript fonts 1.3.1 Times The simplest fonts to use for PDF output are Times / Helvetica / Courier / Symbol. Those are supposed to be inside every Postscript interpreter and any PDF viewer and need not be embedded inside the PS or PDF file. \usepackage{times} will use Times for serif font, Helvetica for sans serif and Courier for typewriter (in current Acrobat Reader version, they are rendered using Times New Roman, Arial and Courier New, but this matters little, in my impression). If you typeset mathematical formulas, you should make sure you use compatible mathematical fonts, unless you want ugly results. You may either: * Purchase the MathTime fonts from Bluesky. * Typeset mathematics using a mixture of CM math fonts, Symbol and Times, using \usepackage{mathptm} \usepackage{mathptmx} There's one sore point with this otherwise fine solution: there is no bold Symbol font, thus no bold math version is declared. This can prove to be a problem with AMS fonts, so you may have to use \DeclareMathVersion{bold} \usepackage[psamsfonts]{amsfonts} to prevent spurious warnings from the AMS fonts package. 1.3.2 Other Postscript fonts If you don't use mathematic formulas, you have more freedom in choosing your fonts. You may install the free URW font bundle, which ships with teTeX. It includes lookalikes of the following fonts: Avant Garde Bookman New Century Schoolbook Palatino Zapf Chancery Zapf Dingbats See _The LaTeX Companion_ for how to use these fonts. 2 HOW TO PRODUCE PDF 2.1 Without a Postscript intermediate 2.1.1 pdflatex pdflatex is used exactly as latex, except that it produces PDF instead of dvi. It ships with teTeX. 2.2.1 dvipdfm dvipdfm (NOT dvipdf) produces PDF from dvi. 2.2 With a Postscript intermediate I suppose you produce the Postscript with dvips. 2.2.1 Acrobat Distiller Commercial non-free software from Adobe. 2.2.2 ps2pdf ps2pdf is a script that comes in the Ghostscript distribution. You should definitely use Ghostscript >= 6.0 to use ps2pdf. As of December 2001, GNU Ghostscript is 6.51, so you can upgrade while still using fully free software. Some people claim ps2pdf does not work properly (blurry PDF). As described before, this is because their PDF uses bitmapped Type3 fonts. This happens because of any or both of the following causes: * They do not tell dvips to use Type1 fonts. Use the -Ppdf, or -Pamz -Pcmz options! * They use an obsolete version of Ghostscript. Ghostscript 5.x is incapable of embedding Type1 fonts into Postscript and rasterizes them as Type3 fonts. This last point is very confusing since results can be different with exactly the same packages and sequence of commands depending on the Ghostscript version. PLEASE MAKE SURE YOU USE GHOSTSCRIPT >= 6 AND DVIPS WITH TYPE1 FONTS BEFORE POSTING ANY MESSAGE IN A MAILING-LIST CLAIMING ps2pdf DOES NOT WORK. 2.2.3 dvipdf dvipdf is basically the composition of dvips and ps2pdf, but it does not supply the -Ppdf option to dvips! Argh!