tds 0.99

K. Berry TWG-TDS@SHSU.edu
Wed, 4 Oct 1995 18:01:10 -0400


OK, I've hacked up some text in response to Joachim's open problems list
and subsequent discussion. I don't pretend to have addressed everything;
I hope to reread all the mail since the draft release soon.

Here's a changelog and the diffs. You can get the whole thing from
ftp.cs.umb.edu:/private/tex/tds. I guess it should stay in private/ for now.

One meta-question -- I think having this available in info (and html?)
formats in the end would be very useful. I know I'd find it useful. But
we can do a better job typesetting in latex than texinfo. I don't
suppose anyone can wave a magic wand to transform the latex input into
texinfo? I looked at Norm's SGML input, etc., but wasn't enthused at the
prospect of hacking my own SGML pseudo-translator :-).

Also, I think it'd be nice if the latex input was actually ``good''
latex input -- used references correctly, etc. Sigh. But for now, I left
that alone, trying to keep the diffs minimal.

BTW, if any of you relative newcomers (hi Paul, Thomas, Christian, ...)
reading this would like to be included in the last section (i.e., be
``on the committee''), just send me the info. (Presuming there's no
objections from anyone.)

Wed Oct  4 15:08:01 1995  Karl Berry  <karl@cs.umb.edu>

        * tds.tex: Don't hardwire version number in more than place.
        - Use TUG instead of O'Reilly for postal mail.
	- texmf/tex// does not suffice in general.
	- Incorporate `subdirectory searching syntax' section into main
	  subdir searching section, and `Expeding the Process' into
	  `Adoption of the TDS'.
	- Move bin/ out of the main text.
	- Reserve `local' at every level.
	- Top-level directories should be a chapter, and
	  implementation-specific files need more discussion.
	- Make macros, fonts, etc. sections under the top-level
	  directories chapter.

*** tds.tex	1995/10/04 18:59:04	1.1
--- tds.tex	1995/10/04 21:25:43
***************
*** 12,16 ****
  \formatterfile{bookinfo.tex}
  % begin bookinfo
! \tdsVersion{0.98}\title{{A Directory Structure for {\TeX} Files}\\Version 0.98}
  \author{TUG Working Group on a {\TeX} Directory Structure (TWG-TDS)}
  \begin{document}
--- 12,16 ----
  \formatterfile{bookinfo.tex}
  % begin bookinfo
! \tdsVersion{0.99}\title{{A Directory Structure for {\TeX} Files}\\Version \the\tdsVersion}
  \author{TUG Working Group on a {\TeX} Directory Structure (TWG-TDS)}
  \begin{document}
***************
*** 19,23 ****
  
  This specification may be referred to as the ``\abbr{twg-tds
! 0.98}'' or ``\abbr{twg-tds}'' for short, or just
  ``\abbr{tds}'' when the context makes it clear which {\TeX}
  directory structure is meant.
--- 19,23 ----
  
  This specification may be referred to as the ``\abbr{twg-tds
! \the\tdsVersion}'' or ``\abbr{twg-tds}'' for short, or just
  ``\abbr{tds}'' when the context makes it clear which {\TeX}
  directory structure is meant.
***************
*** 35,46 ****
  
  Please direct all questions, suggestions, or bug reports,
! to \literal{twg-tds@shsu.edu} or by mail to Norman
! Walsh, O'Reilly \& Associates, Inc., 90 Sherman Street,
! Cambridge, MA 02140, USA.
  
! 
! This document is available in {\LaTeX}, \path|DVI|, {\PS},
! {\TeXinfo}, \abbr{html}, and other formats from
! \path|ftp://jasper.ora.com/pub/twg-tds/|*
  and from \path|/tex-archive/tds| on any \abbr{ctan} host.
  
--- 35,42 ----
  
  Please direct all questions, suggestions, or bug reports,
! by email to \literal{twg-tds@@shsu.edu} or by postal mail to TUG, xx.
  
! This document is available from
! \path|ftp://ftp.cs.umb.edu/pub/tex/tds/*|
  and from \path|/tex-archive/tds| on any \abbr{ctan} host.
  
***************
*** 75,79 ****
  This document is intended both for the {\TeX} system administrator at a
  site and for people preparing {\TeX} distributions---everything from a
! complete runnable system to a single macro or style file. It will also
  help {\TeX} users find their way around systems organized this way.
  \subsection{The Role of the \abbr{TDS}}
--- 71,75 ----
  This document is intended both for the {\TeX} system administrator at a
  site and for people preparing {\TeX} distributions---everything from a
! complete runnable system to a single macro or style file. It may also
  help {\TeX} users find their way around systems organized this way.
  \subsection{The Role of the \abbr{TDS}}
***************
*** 249,260 ****
  up to the installer. On \abbr{pc} networks, for example, this
  could map to a logical drive specification such as \path|T:|.
! We recommend naming the directory of the system-wide {\TeX}
  installation \path|texmf|, where possible.
  
! Similarly, the location of 
! this directory within the file system is site-dependent.  On 
! many systems, this may be at the root of the file system; on
! Unix systems, it would traditionally be located in 
! \path|/usr/local| or \path|/usr/local/lib|.
  
  The name \path|texmf| was chosen for several reasons:
--- 245,255 ----
  up to the installer. On \abbr{pc} networks, for example, this
  could map to a logical drive specification such as \path|T:|.
! We recommend naming the root of the system-wide {\TeX}
  installation \path|texmf|, where possible.
  
! Similarly, the location of this directory within the file system is
! site-dependent.  On many systems, this will be at the root of the file
! system; on Unix systems, \path|/usr/local|, \path|/usr/local/lib|, or
! \path|/usr/local/share| are perhaps the common choices.
  
  The name \path|texmf| was chosen for several reasons:
***************
*** 263,279 ****
  itself) and it is
  descriptive of a generic installation rather than a particular
! implementation (such as \path|emtex|).
  
! The \path|texmf| root is not intended to be placed under an
! implementation-dependent directory.  For example, \path|emtex/texmf|
! is wrong.
! \subsection{Top Level Directories}
  The top level directories in the \path|texmf| directory identify
  the major components of a {\TeX} system.  A site may omit any unneeded
  directories.
  
! Although the \abbr{TDS} is designed to be implementation-independent, the
! \abbr{TWG} recognizes that some installers may wish to place other files in
! the \abbr{TDS}.  For example, {\TeX} administrators may wish to place all
  {\TeX}-related files (including binaries, manual pages, pool files, and
  formats) in the \path|texmf| tree.  This greatly simplifies
--- 258,295 ----
  itself) and it is
  descriptive of a generic installation rather than a particular
! implementation.
! 
! 
! \subsection{Local Additions}
! \label{sec:local}
! 
! We recognize two common methods for local additions to a distributed
! \path|texmf| tree. Both have their place; in fact, a single site may
! find it useful to employ both.
! 
! \begin{itemize}
! 
! \item A completely separate tree, following a \abbr{TDS} structure
! itself; for example, \path|/usr/local/oratex| and
! \path|/usr/local/texmf|.
! 
! \item A \path|local| directory at any appropriate level. For example,
! the \replaceable{format}, \replaceable{package}, and
! \replaceable{supplier} directories mentioned in the following.  The
! \abbr{TDS} therefore reserves the directory name \path|local| for
! this purpose.
! 
! \end{itemize}
  
! 
! \section{Top Level Directories}
  The top level directories in the \path|texmf| directory identify
  the major components of a {\TeX} system.  A site may omit any unneeded
  directories.
  
! Although the \abbr{TDS} by its nature can specify precise locations only
! for implementation-independent files, 
! we recognize that installers may well wish to place other files in
! the \abbr{TDS} tree.  For example, {\TeX} administrators may wish to place all
  {\TeX}-related files (including binaries, manual pages, pool files, and
  formats) in the \path|texmf| tree.  This greatly simplifies
***************
*** 318,323 ****
  \item[\path|source|]
  for sources.  This includes both traditional program
! sources (for example, \application{Web2C} sources go in
! \path|texmf/source/web2c|) and {\LaTeX} \path|dtx| 
  sources (\path|texmf/source/latex|).
  The \path|dtx| files used for {\LaTeX} distribution contain
--- 334,339 ----
  \item[\path|source|]
  for sources.  This includes both traditional program
! sources (for example, \application{Web2c} sources go in
! \path|texmf/source/Web2c|) and {\LaTeX} \path|dtx| 
  sources (\path|texmf/source/latex|).
  The \path|dtx| files used for {\LaTeX} distribution contain
***************
*** 325,350 ****
  are kept in the \path|source| tree.
  
- \item[\path|bin|/\replaceable{system}]
- for binaries.  The \replaceable{system} directories
- allow multiple implementations to share the common directory
- structure.  For example, the binaries for a {\TeX} system
- on a Sun workstation 
- might be installed in \path|/texmf/bin/spsun413| (the name 
- \path|spsun413| is one possible ({\abbr{ISO}-9660} compliant)
- abbreviation for \abbr{sparc} SunOS 4.1.3).
- Some {\TeX} administrators may wish to put executables outside of
- \path|texmf| altogether.
- 
  \end{description}
  
! The standard \path|texmf| tree provides no explicit location for
! locally-maintained files (e.g. letterheads), since that would require
! duplicating the entire tree.  Consequently, sites are encouraged to
! maintain a separate tree for local styles and to use both trees in
! search paths.  For example, \path|/usr/local/oratex| and
! \path|/usr/local/texmf|.
  \sourcefile{macros.sgm}
  \formatterfile{macros.tex}
! \section{Macros}
  The common current practice of lumping files into a small number of
  directories has the disadvantage of making it difficult to determine
--- 341,371 ----
  are kept in the \path|source| tree.
  
  \end{description}
  
! 
! \subsection{Implementation-specific files}
! \label{sec:impl-specific-files}
! 
! Many different {\TeX} implementations and distributions exist
! (\application{em\TeX}, \application{Web2c}, etc.). The \abbr{TDS} is an
! attempt to factor out the input files in a {\TeX} system that can be
! shared among implementations. Therefore, the tree rooted at \path|texmf|
! is not intended to be a subdirectory of a particular implementation's
! distribution.  Rather, the \abbr{TDS} provides for
! implementation-specific files under a top-level directory named for the
! implementation, as mentioned above.
! 
! The main exceptions are pool files and ``memory dump'' files
! (\path|.fmt|, \path|.base|, \path|.mem|). These must be
! stored under \path|texmf/\replaceable{implementation}|, with the precise
! location left to the implementation maintainer or distributor's
! discretion, since they simply cannot be shared, and the \abbr{TDS}
! cannot presume to know the best structure for any particular implementation.
! We do, however, list the structures we know of, in
! \ref{sec:example-impl-trees}.
! 
  \sourcefile{macros.sgm}
  \formatterfile{macros.tex}
! \subsection{Macros}
  The common current practice of lumping files into a small number of
  directories has the disadvantage of making it difficult to determine
***************
*** 368,372 ****
  
  
! Although some of these formats can also
  be used as macro packages, the \abbr{TDS} nevertheless stores them as formats.
  By adjusting the {\TeX} inputs search
--- 389,393 ----
  
  
! Although some formats (Texinfo, Eplain) can also
  be used as macro packages, the \abbr{TDS} nevertheless stores them as formats.
  By adjusting the {\TeX} inputs search
***************
*** 384,387 ****
--- 405,411 ----
  
  \item
+ \path|local| is reserved for local additions. See \xref{sec:local}.
+ 
+ \item
  \path|generic| is
  reserved for input files that are useful across a wide range of
***************
*** 407,419 ****
  search at least the \replaceable{format} directory, and then the
  \path|generic| directory (in that order).
! Other directories may be searched as well.
  For example, the \path|amstex|,
  \path|plain|, and \path|generic|
  directories should be searched when using {\AMSTeX},
! because {\AMSTeX} is compatible with Plain. 
! This does not mean \emphasis{only} those directories must be searched:
! a recursive search beginning at \path|texmf/tex|
! is a correct path for {\TeX} inputs in a \abbr{TDS}
! tree.
  
  \item[\replaceable{package}]
--- 431,445 ----
  search at least the \replaceable{format} directory, and then the
  \path|generic| directory (in that order).
! Other directories may need to be searched as well, depending on the format.
  For example, the \path|amstex|,
  \path|plain|, and \path|generic|
  directories should be searched when using {\AMSTeX},
! because {\AMSTeX} is compatible with Plain.
! No single format-independent path specification, such as 
! a recursive search beginning at \path|texmf/tex| specifying no
! other directories, may suffice in general, since
! different formats may reasonably have an input file with the same name.
! Therefore we encourage implementors to provide format-dependent paths,
! by use of, for example, wrapper scripts or configuration files.
  
  \item[\replaceable{package}]
***************
*** 436,445 ****
  
  \item
- \path|misc| is reserved for
- packages that consist of a single file.  It seems pointless to
- nest such a package/file within a directory of its own.  It may
- also make subdirectory searching slower.
- 
- \item
  \path|config| is reserved for
  configuration files.  Configuration files are used by several
--- 462,465 ----
***************
*** 448,455 ****
  \item
  \path|hyphen| is reserved for
! hyphenation patterns.  These are typically used only by {\iniTeX}.
  This directory need exist only
  under the \literal{generic} format directory.
  
  \end{itemize}
  In the case where a format consists of only a single
--- 468,484 ----
  \item
  \path|hyphen| is reserved for
! hyphenation patterns, e.g., \path|hyphen.tex|.  These are typically used only by {\iniTeX}.
  This directory need exist only
  under the \literal{generic} format directory.
  
+ \item
+ \path|local| is reserved for local additions. See \xref{sec:local}.
+ 
+ \item
+ \path|misc| is reserved for
+ packages that consist of a single file.  It seems pointless to
+ nest such a package/file within a directory of its own.  It may
+ also make subdirectory searching slower.
+ 
  \end{itemize}
  In the case where a format consists of only a single
***************
*** 462,466 ****
  \end{description}\sourcefile{fonts.sgm}
  \formatterfile{fonts.tex}
! \section{Fonts}
  As with macros, fonts need to be stored in a hierarchical structure in order to
  make maintenance feasible. 
--- 491,495 ----
  \end{description}\sourcefile{fonts.sgm}
  \formatterfile{fonts.tex}
! \subsection{Fonts}
  As with macros, fonts need to be stored in a hierarchical structure in order to
  make maintenance feasible. 
***************
*** 496,500 ****
  \path|adobe|, 
  \path|monotype|, and \path|ams| are
! examples of \replaceable{supplier}.  
  
  
--- 525,531 ----
  \path|adobe|, 
  \path|monotype|, and \path|ams| are
! examples of \replaceable{supplier}.
! \path|local| is reserved for local additions. See \xref{sec:local}.
! 
  
  
***************
*** 619,623 ****
  \sourcefile{metafont.sgm}
  \formatterfile{metafont.tex}
! \section{Non-font {\protect\MF} Files}
  Most {\protect\MF} input files are font programs or parts of font programs 
  (see the previous section); however a
--- 650,654 ----
  \sourcefile{metafont.sgm}
  \formatterfile{metafont.tex}
! \subsection{Non-font {\protect\MF} Files}
  Most {\protect\MF} input files are font programs or parts of font programs 
  (see the previous section); however a
***************
*** 649,653 ****
  \sourcefile{metapost.sgm}
  \formatterfile{metapost.tex}
! \section{{\MP}}
  {\MP} is a picture-drawing language developed by John Hobby that is
  very much like Knuth's {\protect\MF}, except that it outputs {\PS} instead
--- 680,684 ----
  \sourcefile{metapost.sgm}
  \formatterfile{metapost.tex}
! \subsection{{\MP}}
  {\MP} is a picture-drawing language developed by John Hobby that is
  very much like Knuth's {\protect\MF}, except that it outputs {\PS} instead
***************
*** 687,691 ****
  \end{itemize}\sourcefile{bibtex.sgm}
  \formatterfile{bibtex.tex}
! \section{{\protect\BibTeX}}
  {\protect\BibTeX} databases and style files are commonly scattered in with other
  formats, making them hard to find and sometimes making {\protect\BibTeX} hard to
--- 718,722 ----
  \end{itemize}\sourcefile{bibtex.sgm}
  \formatterfile{bibtex.tex}
! \subsection{{\protect\BibTeX}}
  {\protect\BibTeX} databases and style files are commonly scattered in with other
  formats, making them hard to find and sometimes making {\protect\BibTeX} hard to
***************
*** 699,703 ****
  \end{description}\sourcefile{doc.sgm}
  \formatterfile{doc.tex}
! \section{Documentation}
  Most packages come with some form of documentation.  To make
  it easier for users to find this documentation, the \abbr{TDS} specifies that
--- 730,734 ----
  \end{description}\sourcefile{doc.sgm}
  \formatterfile{doc.tex}
! \subsection{Documentation}
  Most packages come with some form of documentation.  To make
  it easier for users to find this documentation, the \abbr{TDS} specifies that
***************
*** 850,854 ****
    . bib/            {\protect\BibTeX} databases of common interest
    . bst/            {\protect\BibTeX} style files
-   bin/*/            binaries, by system type (optional)
    doc/              see \xref{Section~8, ``Documentation''}
    fonts/            font-related files
--- 881,884 ----
***************
*** 868,872 ****
    . support/        support files for {\MP}-related utilities
    <program>/        {\TeX} applications, by name (e.g., \path|makeindx| and \path|dvips|)
!   source/           program source code by name (e.g., \path|web2c|, \path|latex|)
    tex/              {\TeX} input files
    . <\replaceable{format}>/       name of a format (e.g., \path|plain|)
--- 898,902 ----
    . support/        support files for {\MP}-related utilities
    <program>/        {\TeX} applications, by name (e.g., \path|makeindx| and \path|dvips|)
!   source/           program source code by name (e.g., \path|Web2c|, \path|latex|)
    tex/              {\TeX} input files
    . <\replaceable{format}>/       name of a format (e.g., \path|plain|)
***************
*** 874,881 ****
    . . config/       configuration files for format (e.g., \path|texsys.cfg|).
    . . misc/         single-file packages
    . . <package>/    name of a package (e.g., \path|graphics|)
    . generic/        format-independent packages
!   . . hyphen/         hyphenation patterns
!   . . misc/         single-file format-independent packages (e.g. \path|texnames.sty|).
    . . <package>/    name of a package (e.g., \path|babel|)
  \end{tdsSummary}\sourcefile{impissue.sgm}
--- 904,912 ----
    . . config/       configuration files for format (e.g., \path|texsys.cfg|).
    . . misc/         single-file packages
+   . . local/        local additions to \replaceable{format}
    . . <package>/    name of a package (e.g., \path|graphics|)
    . generic/        format-independent packages
!   . . hyphen/       hyphenation patterns
!   . . misc/         single-file format-independent packages (e.g., \path|texnames.sty|).
    . . <package>/    name of a package (e.g., \path|babel|)
  \end{tdsSummary}\sourcefile{impissue.sgm}
***************
*** 924,929 ****
  Eventually, most {\TeX} sites will have adopted the new structure,
  and most common packages will be readily available in \abbr{TDS}-compliant form.
! \subsection{Expediting the Process}
! We believe that the process described above will occur fairly quickly.
  The \abbr{TDS} committee spans a wide range of interests in the {\TeX} community.
  Consequently, we believe that most of the key issues involved
--- 955,960 ----
  Eventually, most {\TeX} sites will have adopted the new structure,
  and most common packages will be readily available in \abbr{TDS}-compliant form.
! 
! We believe that this process will occur fairly quickly.
  The \abbr{TDS} committee spans a wide range of interests in the {\TeX} community.
  Consequently, we believe that most of the key issues involved
***************
*** 951,955 ****
  This feature is already supported by many implementations of {\TeX},
  including, but not limited to, \application{em{\TeX}} (and its
! drivers), \application{PubliC {\TeX}}, \application{Web2C},
  \application{Y\&Y{\TeX}}, \application{dvips(k)},
  \application{xdvi(k)}, and \abbr{DECUS} {\TeX} for \abbr{VMS}.
--- 982,986 ----
  This feature is already supported by many implementations of {\TeX},
  including, but not limited to, \application{em{\TeX}} (and its
! drivers), \application{PubliC {\TeX}}, \application{Web2c},
  \application{Y\&Y{\TeX}}, \application{dvips(k)},
  \application{xdvi(k)}, and \abbr{DECUS} {\TeX} for \abbr{VMS}.
***************
*** 974,978 ****
  searching is not required, and performance is thus independent of the
  number of subdirectories present on the system.
! \subsection{Subdirectory Searching Syntax}
  Different implementations have elected to use different syntaxes for
  specifying subdirectory searching.  In the interest of typographic clarity,
--- 1005,1009 ----
  searching is not required, and performance is thus independent of the
  number of subdirectories present on the system.
! 
  Different implementations have elected to use different syntaxes for
  specifying subdirectory searching.  In the interest of typographic clarity,
***************
*** 1010,1013 ****
--- 1041,1086 ----
  farm'' (at 1\,KB per link) may be negligible compared to
  the space required for all the files.
+ 
+ \subsection{Example Implementation-Specific Trees}
+ \label{sec:example-impl-trees}
+ 
+ As discussed in \ref{sec:impl-specific-files}, the \abbr{TDS} cannot
+ specify a precise location for implementation-specific files. Here we
+ provide the default locations for the implementations we know of. Please
+ contact us with any additions or corrections. These paths are not
+ definitive, may not match anything at your site, and may change as of
+ the next release; this is simply for informative purposes.
+ 
+ \begin{itemize}
+ \item Web2c 7.0: all files (\path|.pool|, \path|.fmt|,
+ \path|.base|, \path|.mem|) are stored directly in \path|texmf/web2c|.
+ The configuration file \path|texmf.cnf| and the
+ \path|MakeTeX\ldots| scripts are also stored there.
+ \end{itemize}
+ 
+ 
+ \subsection{Unspecified Pieces}
+ 
+ We are unable to address several components necessary to a functioning
+ {\TeX} system.
+ 
+ \begin{itemize}
+ 
+ \item The location of executable programs: this is too site-dependent
+ even to recommend a location, let alone require one. Executables may
+ well be placed outside the \path|texmf| tree altogether, in a
+ platform-dependent directory within \path|texmf|, or elsewhere.
+ 
+ \item Upgrading packages as new releases are made: we could find no way
+ of introducing version specifiers into \path|texmf| that would not do more
+ harm than good, or that would be practical for even a plurality of
+ installations.
+ 
+ \item Implementation-specific files. See \ref{sec:impl-specific-files}
+ and \ref{sec:example-impl-trees}.
+ 
+ \end{itemize}
+ 
+ 
  \sourcefile{better.sgm}
  \formatterfile{better.tex}
***************
*** 1068,1072 ****
  
  In fact, many sites already use this alternative arrangement.  (It is the
! arrangement suggested by the \application{Web2C} distribution.)
  
  This arrangement greatly improves the maintainability of the font tree,
--- 1141,1145 ----
  
  In fact, many sites already use this alternative arrangement.  (It is the
! arrangement suggested by the \application{Web2c} distribution.)
  
  This arrangement greatly improves the maintainability of the font tree,
***************
*** 1118,1135 ****
  Finger \path|ctan@ftp.shsu.edu| for a complete list of \abbr{ctan} sites.
  
! \citetitle{Filenames for {\TeX} fonts} is availble from
  \abbr{ctan}:\path|documentation/fontname|.
  
! A complete set of {\protect\MF} modes is available from 
  \abbr{ctan}:\path|fonts/modes/modes.mf|.
  This file includes eight-character-or-fewer recommended mode names.
  
! \citetitle{Components of {\TeX}} by Joachim Schrod is
! available from \abbr{ctan}:\path|documentation/components-of-TeX|.
  
! A sample tree is available from \abbr{ctan}:\path|tds|.
  
- \path|ftp.math.utah.edu:pub/tex/bib| has a huge {\protect\BibTeX} collection,
- both databases and styles.
  \sourcefile{members.sgm}
  \formatterfile{members.tex}
--- 1191,1209 ----
  Finger \path|ctan@ftp.shsu.edu| for a complete list of \abbr{ctan} sites.
  
! \citetitle{Filenames for {\TeX} fonts}, from
  \abbr{ctan}:\path|documentation/fontname|.
  
! A complete set of {\protect\MF} modes, from 
  \abbr{ctan}:\path|fonts/modes/modes.mf|.
  This file includes eight-character-or-fewer recommended mode names.
  
! \citetitle{Components of {\TeX}} by Joachim Schrod,
! from \abbr{ctan}:\path|documentation/components-of-TeX|.
! 
! A sample tree, from \abbr{ctan}:\path|tds|.
  
! A collection of {\protect\BibTeX} databases and styles, from
! \path|ftp.math.utah.edu:pub/tex/bib|.
  
  \sourcefile{members.sgm}
  \formatterfile{members.tex}
***************
*** 1146,1150 ****
  charter member and Board member, {\TeX} Users Group.
  
! Berry, Karl (\literal{kb@cs.umb.edu}).  Maintainer of \application{Web2C}, 
  Eplain, \path|modes.mf|, et al.
  
--- 1220,1224 ----
  charter member and Board member, {\TeX} Users Group.
  
! Berry, Karl (\literal{kb@cs.umb.edu}).  Maintainer of \application{Web2c}, 
  Eplain, \path|modes.mf|, et al.
  
***************
*** 1202,1206 ****
  Vieth, Ulrik (\literal{vieth@thphy.uni-duesseldorf.de}).  Graduate student
  in theoretical physics, maintainer of a local {\TeX} installation for
! a few months, adapted {\MP} to work with \application{Web2C} in early 1995.
  
  Walsh, Norman (\literal{norm@ora.com}).  Production tools specialist,
--- 1276,1280 ----
  Vieth, Ulrik (\literal{vieth@thphy.uni-duesseldorf.de}).  Graduate student
  in theoretical physics, maintainer of a local {\TeX} installation for
! a few months, adapted {\MP} to work with \application{Web2c} in early 1995.
  
  Walsh, Norman (\literal{norm@ora.com}).  Production tools specialist,
***************
*** 1208,1210 ****
  90 Sherman Street, Cambridge, MA 02140.  Author of \emphasis{Making {\TeX}
  Work}.  (\abbr{TDS} Committee Chair.)
! \end{document}
\ No newline at end of file
--- 1282,1284 ----
  90 Sherman Street, Cambridge, MA 02140.  Author of \emphasis{Making {\TeX}
  Work}.  (\abbr{TDS} Committee Chair.)
! \end{document}