Appendix A. Filename Extension Summary

$Revision: 1.1 $

$Date: 2002/08/23 14:31:13 $

This chapter summarizes many common filename extensions. The extensions are listed in alphabetical order. All extensions can be shortened to three letters for consistency with operating systems that do not allow longer file extensions. On other file systems, they may be slightly different. For example, EPS files are sometimes called EPSF files on unix systems, which allow longer filenames.


An Adobe binary screen font file contains a binary encoding of a BDF (bitmap distribution format) file. Binary encoding makes the files smaller, but it also makes them less portable and unintelligible to humans. The binary format is described in Adobe's ABF Format Specification [abffiles]. BDF files are described below.


Adobe font metrics files are ASCII files distributed with \ps Type 1 fonts. Type 1 fonts are the linearly scalable fonts that \ps printer users are most familiar with. Bounding boxes, an encoding vector (what characters go where), kerning, and ligature information are among the things described in this file. The AFM file format is described completely in Adobe's AFM Format Specification [afmfiles].

\ps fonts (available through commercial vendors or from the Internet) are supplied with AFM files. Generally, the only occasion that you would have to modify an AFM file would be to change the encoding vector.


Auxiliary files are built by LaTeX each time it formats a document. LaTeX writes information about cross references, citations, etc., to the auxiliary file for post-processing by other tools, or for TeX processing the next time this document is formatted.


Bibliography files are created by BibTeX from the citations in your document, the bibliography databases (BIB) that you specify, and the bibliography style (BST) you use. BibTeX writes the resulting bibliography to the BBL file, which is automatically included in your LaTeX document at the place where you define the bibliography.


Bitmap distribution format files are ASCII files that describe a bitmap font. They are frequently used to distribute bitmap versions of scalable fonts in screen resolution at common sizes. They are resolution specific, but they are portable from one architecture to another. The BDF file format is described completely in Adobe's BDF Format Specification [bdffiles].

Some fonts packages are distributed with BDF files. Other BDF files are created as part of the conversion process from native format to X11 format. It is unlikely that you would ever create one purely by hand.


Bibliography databases contain bibliographic information. These are generally handwritten and may contain bibliographic information for all of the sources that you are (ever) likely to cite. The BibTeX program reads information about each work that you FIXME: from the BIB file. Consult the documentation for BibTeX for more information about the format of BIB files.


BibTeX log files record the status of the last run of BibTeX.


Bibliography style files are used by BibTeX to define the layout of the citations. BibTeX produces LaTeX commands in the BBL file that define the citations in the format specified by the BST file.

You may eventually write or modify a bibliography style file, but it is less common than modifying LaTeX style files because bibliographies have a more rigidly defined format. Consult the documentation for BibTeX for more information about the format of BST files.


The GNU fontutils define the BZR format to hold generic scalable font data. The file actually contains the specification for a series of bezier curves. The BZR file format is defined in the TeXinfo pages that accompany the GNU fontutils. The GNU fontutils create BZR files.


TeX produces device-independent output in the DVI file. This file describes the TeXed document in a simple stack language that can be rendered on any device. The format of DVI files is described in the \web documentation for DVItype, or in The DVI Drivers Standard [dvi:standard].

TeX (and some MFware utilities) produces DVI files.



Encapsulated \ps files contain scalable \ps images and extra information (such as the size of the image's bounding box) that is necessary to scale the image appropriately for printing, unlike generic \ps. Using encapsulated \ps images in your TeX document requires a DVI driver that understands \ps \specials. How to include pictures and figures via encapsulated PostScript is described in detail in Chapter Chapter 6, Chapter 6.

You are unlikely to create encapsulated \ps files by hand, but many drawing and drafting programs can create them for you.


FIG files are created by the XFig program (and possibly other programs). The scalable representation of a collection of graphics objects is stored in ASCII form in FIG files. The transfig program can translate FIG files into a number of other formats including EPSF, HPGL, and a variety of LaTeX environments.


Font libraries are distributed with emTeX. They contain a collection of PK files. Font libraries have several advantages over a directory full of PK files: they are easier to maintain (because you don't have to deal with hundreds of files); they are faster to search (because they are indexed more efficiently than a directory); they are smaller (because each PK file wastes an average of half a cluster of disk space); and the name of each font is not limited to eight characters as it is under MS-DOS file naming conventions.

Note: dvips can also use emTeX FLI files.


Generic font files contain bitmap data for the characters of a font. The GF format is very simple, and many TeX related programs that create fonts produce GF files. The disadvantage of GF files is that they are very large (because no compression is performed). The format of GF files is described in the \web documentation for GFtoPK (or any of the GF-related MFware programs).

MetaFont is the primary source for GF files. Some other programs (some of the GNU fontutils, for example) also produce GF files.


Graphics interchange format is a CompuServe bitmap graphics standard. GIF files are very popular, and a number of converters (e.g., BM2FONT) can translate GIF files into a format usable by TeX.


Glossary files are produced by the LaTeX \glossary command. They are analogous to the IDX files produced by the \index commands. The glossary is inserted in your document wherever the \makeglossary command occurs.


Ghostscript fonts are scalable fonts very similar to \ps Type 1 fonts. Theoretically, Ghostscript can use \ps Type 1 fonts directly, although I have never tried. Several GSF fonts are distributed with Ghostscript.


Hewlett-Packard GL is a plotter language. Many programs can produce vector graphics in HPGL format.


Hewlett-Packard tagged font metric files are a lot like TeX TFM files. It is unfortunate that both files have the extension TFM because they are completely incompatible. You can generate TeX TFM files from HPTFMs with the HPTFM2PL program.


Index files are produced automatically when you use the \index commands in LaTeX. The IDX file contains raw indexing data that will be used by the MakeIndex program to build an index for your document. You must include the makeidx style in your documentstyle command, and you must turn on indexing with \makeindex in the preamble of your document if you wish to (re)build the index. See the entry for IND files below for more information.


MakeIndex log files record the status of the last run of MakeIndex.


The IMG format is a particular bitmapped image format used by the GEM Window System (a PC-based windowed desktop interface product). The GNU fontutils read IMG files as their default format. The PBMplus utilities[129] can convert between many graphics file formats, including IMG.

Some scanning software produces IMG files directly. Other IMG files are distributed by the Free Software Foundation as part of an ongoing project to produce high-quality, free typefaces.


Index files are produced by the MakeIndex and automatically get included into your LaTeX document wherever you put the \printindex command. The \index commands in your LaTeX document write raw indexing data to the IDX file. MakeIndex reads the IDX file, sorts and formats the index according to the IST file, and produces an IND file for your document.


Index specification files are used by MakeIndex to format the index file. Consult the documentation for MakeIndex for more information.


JPEG files are compressed bitmap images. Because JPEG files use a “lossy” compression algorithm, they are frequently much smaller than other formats.


List of figures files are produced by the \listoffigures command in LaTeX. After seeing \listoffigures, LaTeX writes figure captions to the LOF file. The next time the document is formatted, LaTeX will insert the LOF file at the point where you issue the \listoffigures command.


Log files are always produced by TeX and MetaFont. The LOG file is generally uninteresting. Status and warning messages deemed too trivial (or too detailed) for the display are written to the log file (all messages written to the display are also written to the log).


List of tables files are exactly analogous to LOF files.


Just as TeX reads TEX files, which are plain ASCII descriptions of a typeset document, MetaFont reads MF files, which are plain ASCII descriptions of a typeface. MetaFont and MF files are the topic of Knuth's \MFbook [kn:mfbook]. Unlike \ps fonts, MetaFont fonts are not linearly scaled.[130]

The standard TeX distribution contains the MF files for the Computer Modern fonts. Knuth has produced several more MF files to demonstrate MetaFont. The American Mathematical Society has extended Computer Modern with several more. The MFpic macro package produces MF files from a picture-like environment in TeX. \TheMFbook describes how to create your own fonts with MetaFont.

The List of MetaFonts [lreq:metafonts] is posted occasionally to the newsgroups \path|comp.text.tex| and \path|comp.fonts|.

Chapter Chapter 11, Chapter 11, describes MetaFont in more detail. The TeX fonts available in MetaFont format are listed in Chapter Chapter 5, Chapter 5.


MFjob files are plain ASCII files that contain instructions for MFjob, an emTeX program that builds groups of MetaFont fonts. MFJ files can be created by hand to automate the process of building a set of fonts. They are also created by the emTeX DVI drivers if automatic font generation is being used.


Microsoft Paint files contain bitmapped graphic images. They can be included in a TeX document with \special commands recognized by the emTeX DVI drivers.


The portable bitmap format is a flexible bitmap representation introduced by the PBMplus package. The PBMplus utilities allow for the conversion of PBM format files to and from almost anything else. The PBM format (and all the utilities) are described in the manpages that accompany the PBMplus toolkit distribution.

The PBM toolkit and many other X11 graphics utilities can read and write PBM files (e.g. XV).


The PCF format is one of several X11 bitmap font formats. Architecture-specific versions of X11 use PCF files. Other architectures use one of a number of other architecture-specific formats (e.g., SNF). PCF files are used by at least the DEC versions of the X11 server. The X11 distribution for your architecture includes a program that will convert BDF files to the standard adopted for your architecture.

PCF files are almost invariably created from some other source. It is unlikely that you will ever create one by hand.


PCL files contain printer commands for HP LaserJet printers. DVI drivers for HP LaserJet printers create PCL files. It is possible to get information out of some PCL files with pcltomsp.


PCX files contain bitmapped graphic images. They can be included in a TeX document with \special commands recognized by the emTeX DVI drivers.


Printer font ASCII files contain scalable outline data that describes each character in a Type 1 font. A large portion of this file is encrypted, so it is an ASCII file only in the sense that the binary portion is represented as a string of hexadecimal ASCII digits. This is traditional \ps because it is pure ASCII. See PFB below.

Type 1 outline fonts are created by special font editing programs or conversion tools (e.g. the GNU fontutils).


Printer font binary files, like PFA files, contain the outline data for \ps Type 1 fonts. The binary format was adopted to save space (they are generally about half the size of their PFA counterparts).[131] Because they are binary files, it is more difficult to transfer them from one architecture to another (endian-ness, binary transmission, etc.). \ps purists are apt to disparage them.


Printer font metric files are a Microsoft Windows standard. They are encountered frequently in archives that contain Type 1 fonts. Unfortunately, these archives occasionally fail to include AFM files, which are more standard outside of the Windows community. Even more unfortunately, PFM files do not contain all of the information that is in an AFM file. However, the PFM2AFM program can construct a partial AFM file. I believe that the PFM file format is described in a Microsoft technical note; however, I have never seen it.

Unless you use Microsoft Windows, PFM files are likely to be useless. If you need PFM files, the MS-DOS program Refont can create them from AFM files.


Most TeX DVI conversion programs read packed bitmap font files. The PK font format defines a clever scheme that allows bitmap fonts to be compressed significantly. The format of PK files is described in the \web documentation for PKtype (or any of the PK-related MFware programs).

You are unlikely to create PK files by hand, per se, but there are a number of utility programs that ultimately create PK files (e.g., GFtoPK, MetaFont, MFpic, PS2PK).


A property list file contains an ASCII representation of a binary file. The property list format was created during TeX development to allow binary files (specifically TFM files) to be hand-coded. Most users have no reason to create PL files; however, some programs create PL files that must be converted into TFM files with the TeXware program PLtoTF. The PL format is described in the \web documentation for PLtoTF.

If you need to edit TeX font metric information for a particular font, you will almost certainly do so by editing the PL file. You can create a PL file from a TFM file with the TFtoPL utility.


\ps is a page description language. The \ps language is described in a series of volumes from Adobe Systems. PS is a common extension for \ps files.

Unless you are inclined to enter the Obfuscated \ps Contest, you are unlikely to create \ps files by hand. \ps files are created by many common tools.


This format is obsolete. It has been completely superseded by the PK format. If you still have PXL files, you can convert them to PK format with the PXtoPK program. If you are still using a DVI driver that needs PXL files, you need an upgrade.


These files contain HP LaserJet softfonts in landscape orientation. LaserJet softfonts are device specific bitmap representations of a typeface. The bitmap versions are described thoroughly in the LaserJet Technical Reference Manual [pcl5:techref] for each of the HP LaserJet printers. Newer laser printers can perform automatic rotation of fonts (in 90 degree increments, at least), so the distinction between landscape and portrait font files is disappearing.


These files contain HP LaserJet softfonts in portrait orientation. See the entry for SFL files, above.


Scalable softfonts are HP LaserJet softfonts for the new (HPLJ III and higher) LaserJet printers. These are really in AGFA IntelliFont Scalable format [intellifont].


Server native format fonts are another version of X11 bitmap font. See the entry for PCF files, above, for more information.


Style files are used by LaTeX to define the layout of a LaTeX document (by redefining the meaning of commands like \section, for example). They are also used commonly to extend LaTeX. See the LaTeX manual [ll:latexbook] for more information.

Style files are really just TeX files that perform specific tasks. You will eventually write or modify a style file, but it isn't something you are likely to do every day.


TEX files describe the layout of a typeset document in the TeX programming language,[132] as defined by The TeXbook [kn:texbook]. Most people use some form of macro package on top of TeX to make the language easier to swallow. If a TeX file begins with \documentstyle{} or has \begin{document} somewhere near the top, it is probably a LaTeX document. Otherwise, look for the \input commands to see what macro packages are being included.

Documents that do not appear to be LaTeX documents and do not appear to \input special macro packages may be using a special format. Formats are fast-loading precompiled macro packages. If you know the name of the format file, you can tell TeX to use it by typing &format-name as a parameter to TeX.


TIFF files contain bitmapped or vector graphic images in a very flexible form. The “T” in TIFF stands for “tagged.” All of the different kinds of information (regarding number of colors, compression, etc.) that might appear in a TIFF file are given unique tags that allow a TIFF file reader to skip over information that it does not understand.


TeX font metric files contain information about fonts. TeX doesn't know anything about the intrinsic shape of the characters that it lays down on the page. TeX deals entirely with boxes. Every character is described by the rectangular box that (usually) surrounds it. The TFM file for a font describes the size of each character's box, as well as ligature and kerning information for the font. A human-readable version of a TFM file can be produced with the TFtoPL program. The format of TFM files is described thoroughly in the \web documentation for TFtoPL.

If you have reason to modify a TFM file, you will almost certainly do so by converting it to PL format first. You can convert it back into a TFM file with the PLtoTF utility.

See also HPTFM files.


Table of contents files are produced by the \tableofcontents command in LaTeX. After seeing \tableofcontents, LaTeX writes chapter, section, subsection, etc., names to the TOC file. The next time the document is formatted, LaTeX will insert the TOC file at the point where you issue the \tableofcontents command.


Generic ASCII text.


Virtual font files. They are described in more detail in Chapter Chapter 5, Chapter 5. In short, a virtual font maps a character to an arbitrary sequence of DVI file commands. This may be another character in a different font, a different character in the same font, or something else entirely.


The virtual property list is a property list file for virtual fonts (as opposed to being some sort of property list file that was itself virtual ;-). VPL files serve the same purpose for VF files that PL files serve for TFM files. The VPL format is defined in the \web documentation for VPtoVF.


X11 bitmap files contain a bitmapped image. X11 icons are frequently stored in XBM files. They also occur in .icon files and files without extensions (e.g., in /usr/include/X11/bitmaps). I mention them here only because I like to use icons on my X11 desktop, and I have used PKtoBM to create several nice ones from TeX PK files.

X11 bitmap files are used for all bitmap displays in the X11 server (not just icons). Because they are ASCII and not binary, they are architecture independent, which makes them very portable.\par

[129] {The PBMplus utilities are a collection of programs that allow conversion between different graphic formats by using the PBM format as a transition step.}

[130] {Linear versus non-linear scaling is a typographic issue better discussed elsewhere. I mention it here just for completeness.}

[131] {The proof is left as an exercise to the reader (I always wanted to say that).}

[132] You already knew this, didn't you?