Return-Path: <owner-twg-tds@SHSU.edu>
Delivery-Date: 
Received: from odin.shsu.edu (no rfc931) by swan.cl.cam.ac.uk 
          with SMTP (PP-6.5) outside ac.uk; Fri, 10 Mar 1995 19:27:50 +0000
X-ListName: TUG Technical Working Group -- Directory Structures (WG-94-07) 
            <TWG-TDS@SHSU.edu>
Warnings-To: <>
Errors-To: owner-twg-tds@SHSU.edu
Sender: owner-twg-tds@SHSU.edu
Received: from jasper.ora.com by Niord.shsu.edu (MX V4.1 VAX) with SMTP;
          Fri, 10 Mar 1995 13:21:22 CDT
Received: (norm@localhost) by jasper.ora.com (8.6.10/8.6.4) id OAA02753;
          Fri, 10 Mar 1995 14:17:10 -0500
Date: Fri, 10 Mar 1995 14:17:10 -0500
From: norm@ora.com (Norman Walsh)
Message-ID: <199503101917.OAA02753@jasper.ora.com>
To: TWG-TDS@SHSU.edu
Subject: Re: Editorial comments, etc.
References: <9503101745.AA03188@cfcl.com>
Reply-To: TWG-TDS@SHSU.edu

On 10 March 1995 at 09:45:40, Rich Morin wrote:
> Norm, is there *any* chance that your appendix could be freed up for
> public domain use?  It looks like you have a good start on the kind of
> documentation I have in mind, and I'd hate to have to recapitulate it!

Ask and ye shall receive.  I can reproduce App A in the TDS.  I've
attached it below.  Rich, if you could add the new bits ;-)

But first, here's the definition of iplist, 'cause you'll need that
to format it.  LaTeX gurus who wish to laugh at my style are requested
to do it quietly ;-)

----
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% An IP list is a configurable ``description'' like environment.  The
% width of the first column is set by a parameter.
%
\def\iplabel#1{\hbox{\labeltextfont{#1}}\hss}

\newdimen\ipindent
\def\ipitem[#1]{%
  \item[#1]
  \setbox0=\hbox{#1}%
  \ifdim\wd0>\ipindent\leavevmode\par\fi%
}

\def\ip@list[#1]#2{\list{}{\labelwidth#2 \itemindent\z@ \leftmargin#2
    \advance\leftmargin\labelsep
    \ipindent=#2\relax
    \let\labeltextfont=#1\relax
    \let\makelabel\iplabel}}

\def\iplist{\@ifnextchar [% ]
  {\ip@list}{\ip@list[\textbf]}}

\let\endiplist\endlist

\let\wrapipitem=\item
----

\chapter{Filename Extension Summary} 
\RCSID$Id: ap01.tex 2.10 1994/07/28 15:04:21 deutsch Exp norm $
\label{chap:fileext}

\def\extitem[#1]{%
  {\fontsize{11}{13pt}\selectfont%
  \ipitem [ \textit{\textbf{\uppercase{#1}}} ]
  }
}

\ifincludechapter\else\endinput\fi

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, \ext{EPS} files are sometimes called 
\ext{EPSF} files on \Unix\ systems, which allow longer filenames.

\begin{iplist}{.25in}

\extitem [abf] 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~\cite{abffiles}.
BDF files are described below.

\extitem [afm] 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~\cite{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.

\extitem [aux] 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.

\newpage
\extitem [bbl] 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.

\extitem [bdf] 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~\cite{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.

\extitem [bib] 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 \verb|\cite{}| from
the BIB file.  Consult the documentation for \BibTeX\ for more information
about the format of BIB files.

\extitem [blg] \BibTeX\ log files record the status of the last run of
\BibTeX.

\extitem [bst] 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.

\extitem [bzr] 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.

\newpage
\extitem [dvi] \TeX\ produces device-independent output in the DVI file.
This file describes the \TeX{}ed 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 \program{DVItype}, or in {\em The DVI Drivers
Standard}~\cite{dvi:standard}. 

\TeX\ (and some \program{MFware} utilities) produces DVI files.

\hyphenation{encap-sulated}
\extitem [epsf] 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\ \verb|\special|s.  How to include
pictures and figures via encapsulated PostScript is described
in detail in Chapter~\ref{chap:pictures}, {\it \nameref{chap:pictures}}.

You are unlikely to create encapsulated \ps\ files by hand, but many
drawing and drafting programs can create them for you.

\extitem [fig] FIG files are created by the \program{XFig} program (and
possibly other programs).  The scalable representation of a collection of
graphics objects is stored in ASCII form in FIG files.  The 
\program{transfig} program can translate FIG files into a number of
other formats including EPSF, HPGL, and a variety of \LaTeX\ environments.

\extitem [fli] 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 {\em 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: \program{dvips} can also use \emTeX\ FLI files.

\extitem [gf] 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 \program{GFtoPK} (or any of the
GF-related \program{MFware} programs).  

\MF\ is the primary source for GF files.  Some other programs (some
of the GNU fontutils, for example) also produce GF files.

\extitem [gif] Graphics interchange format is a CompuServe bitmap graphics
standard.  GIF files are very popular, and a number of converters (e.g.,
\program{BM2FONT}) can translate GIF files into a format usable by \TeX.

\extitem [glo] Glossary files are produced by the \LaTeX\ \verb|\glossary|
command. They are analogous to the IDX files produced by the \verb|\index|
commands.  The glossary is inserted in your document wherever the
\verb|\makeglossary| command occurs.

\extitem [gsf] Ghostscript fonts are scalable fonts very similar
to \ps\ Type~1 fonts.  Theoretically, \program{Ghostscript} can
use \ps\ Type~1 fonts directly, although I have never tried.
Several GSF fonts are distributed with \program{Ghostscript}.

\extitem [hpgl] Hewlett-Packard GL is a plotter language.  Many programs can
produce vector graphics in HPGL format.

\extitem [hptfm] 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 \program{HPTFM2PL} program.

\extitem [idx] Index files are produced automatically when you use the
\verb|\index| commands in \LaTeX.  The IDX file contains raw indexing data
that will be used by the \program{MakeIndex} program to build an index for
your document.  You must include the \filename{makeidx} style in your
\verb|documentstyle| command, and you must turn on indexing with
\verb|\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.

\extitem [ilg] \program{MakeIndex} log files record the status of the last run of
\program{MakeIndex}.

\extitem [img] 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 \program{PBMplus} utilities\footnote{The
\program{PBMplus} utilities are a collection of programs that allow conversion between
different graphic formats by using the PBM format as a transition step.}
can convert between many graphics file formats, including IMG.

\newpage
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.  

\extitem [ind] Index files are produced by the \program{MakeIndex} and
automatically get included into your \LaTeX\ document wherever you
put the \verb|\printindex| command.  The \verb|\index| commands in your
\LaTeX\ document write raw indexing data to the IDX file.  \program{MakeIndex}
reads the IDX file, sorts and formats the index according to the IST file,
and produces an IND file for your document.  

\extitem [ist] Index specification files are used by \program{MakeIndex} to 
format the index file.  Consult the documentation for \program{MakeIndex}
for more information.

\extitem [jpeg] JPEG files are compressed bitmap images.  Because JPEG files
use a ``lossy'' compression algorithm, they are frequently much smaller
than other formats.

\extitem [lof] List of figures files are produced by the \verb|\listoffigures|
command in \LaTeX.  After seeing \verb|\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 
\verb|\listoffigures| command.

\extitem [log] Log files are always produced by \TeX\ and \MF.  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).

\extitem [lot] List of tables files are exactly analogous to LOF files.

\extitem [mf] Just as \TeX\ reads TEX files, which are  plain ASCII
descriptions of a typeset document, \MF\ reads MF files, which are  plain
ASCII descriptions of a typeface.  \MF\ and MF files are the topic of
Knuth's \MFbook~\cite{kn:mfbook}.  Unlike \ps\ fonts, \MF\ fonts are
not linearly scaled.\footnote{Linear versus non-linear scaling is a typographic
issue better discussed elsewhere.  I mention it here just for
completeness.}

The standard \TeX\ distribution contains the MF files for the Computer
Modern fonts.  Knuth has produced several more MF files to demonstrate \MF.
The American Mathematical Society has extended Computer Modern with several
more.  The \program{MFpic} macro package produces MF files from a picture-like
environment in \TeX.  \TheMFbook\ describes how to create your own fonts
with \MF.

The {\em List of MetaFonts}~\cite{lreq:metafonts} is posted
occasionally to the newsgroups \path|comp.text.tex| and \path|comp.fonts|.

Chapter~\ref{chap:mf}, {\it \nameref{chap:mf}}, describes \MF\ in more detail.
The \TeX\ fonts available in \MF\ format are listed in
Chapter~\ref{chap:fonts}, {\it \nameref{chap:fonts}}.

\extitem [mfj] MFjob files are plain ASCII files that contain instructions for
\program{MFjob}, an \emTeX\ program that builds groups of
\MF\ 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.

\extitem [msp] Microsoft Paint files contain bitmapped graphic images.  They
can be included in a \TeX\ document with \verb|\special| commands recognized
by the \emTeX\ DVI drivers.

\extitem [pbm] The portable bitmap format is a flexible bitmap
representation introduced by the \program{PBMplus} package.  The \program{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 \program{PBMplus} toolkit
distribution.

The PBM toolkit and many other X11 graphics utilities can read and
write PBM files (e.g. XV).

\extitem [pcf] 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.

\extitem [pcl] 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 \program{pcltomsp}.

\extitem [pcx] PCX files contain bitmapped graphic images.  They
can be included in a \TeX\ document with \verb|\special| commands recognized
by the \emTeX\ DVI drivers.

\extitem [pfa] 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).

\extitem [pfb] 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).\footnote{The proof is left as an exercise to the reader (I
always wanted to say that).}
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.

\extitem [pfm] 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 \program{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 \program{Refont} can
create them from AFM files.

\extitem [pk] 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 \program{PKtype} (or any of the
PK-related \program{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., \program{GFtoPK},
\MF, \program{MFpic}, \program{PS2PK}).

\extitem [pl] 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 \TeX{}ware program \program{PLtoTF}.  The
PL format is described in the \web\ documentation for \program{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 \program{TFtoPL} utility.

\extitem [ps] \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.

\extitem [pxl]  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 \program{PXtoPK} program.  If you are still
using a DVI driver that needs PXL files, you need an upgrade.

\extitem [sfl] 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 {\em LaserJet
Technical Reference Manual\/}~\cite{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.

\extitem [sfp] These files contain HP LaserJet softfonts in portrait
orientation.  See the entry for SFL files, above.

\extitem [sfs] Scalable softfonts are HP LaserJet softfonts for the
new (HPLJ III and higher) LaserJet printers.  These are really in AGFA
IntelliFont Scalable format~\cite{intellifont}.

\extitem [snf] Server native format fonts are another version of X11
bitmap font.  See the entry for PCF files, above, for more information.

\extitem [sty] Style files are used by \LaTeX\ to define the layout of
a \LaTeX\ document (by redefining the meaning of commands like
\verb+\section{}+, for example).  They are also used commonly to extend
\LaTeX.  See the \LaTeX{} manual~\cite{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.

\newpage
\extitem [tex] TEX files describe the layout of a typeset document in the
\TeX\ programming language,\footnote{You already knew this, didn't you?}
as defined by {\em The \TeX{}book}~\cite{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 \verb+\documentstyle{}+ or has
\verb+\begin{document}+ somewhere near the top, it is probably a \LaTeX\
document.  Otherwise, look for the \verb+\input+ commands to see what macro
packages are being included.

Documents that do not appear to be \LaTeX\ documents and do not appear to
\verb|\input| special macro packages may be using a special {\em 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 \&{\em
format-name\/} as a parameter to \TeX.

\extitem [tiff] 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.

\extitem [tfm] \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 \program{TFtoPL} program.  The format of
TFM files is described thoroughly in the \web\ documentation for
\program{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 \program{PLtoTF} utility.

See also HPTFM files.

\extitem [toc] Table of contents files are produced by the
\verb|\tableofcontents| command in \LaTeX.  After seeing
\verb|\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 \verb|\tableofcontents|
command.

\extitem [txt] Generic ASCII text.

\extitem [vf]  Virtual font files.  They are described in more detail in
Chapter~\ref{chap:fonts}, {\it\nameref{chap:fonts}}.  In short, a virtual
font maps a character to an arbitrary sequence of \ext{DVI} file commands.
This may be another character in a different font, a different character
in the same font, or something else entirely.

\extitem [vpl] 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 \program{VPtoVF}.  

\extitem [xbm] X11 bitmap files contain a bitmapped image. X11 icons are
frequently stored in XBM files.  They also occur in {\tt .icon} files and
files without extensions (e.g., in \filename{/usr/include/X11/bitmaps}).  I mention them here only because I like to use 
icons on my X11 desktop, and I have used \program{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

\end{iplist}
