Frequently-Asked Questions About TeX

From: bobby@hot.caltech.edu (Bobby Bodenheimer)

Introduction

Comp.text.tex is a forum for the discussion of TeX, LaTeX and other related things. TeX is a software system written by Donald Knuth to typeset text, especially text containing mathematics. LaTeX is a set of macros written in TeX, designed to simplify the the typesetting of a document by allowing the user to concentrate on the content and structure of the document rather than the exact appearance of the finished product. METAFONT, also discussed here, is a program which allows the user to design their own fonts. The definitive reference for TeX is The TeXbook, by Donald Knuth (Addison Wesley, 1984, ISBN 0-201-13447-0, paperback 0-201-13448-9). For LaTeX, see LaTeX, a Document Preparation System by Leslie Lamport (Addison Wesley, 1986, ISBN 0-201-15790-X). For METAFONT, see The METAFONTbook by Donald Knuth (Addison Wesley, 1984, ISBN 0-201-13445-4). The American Mathematical Society has two macro packages which are also popular, called AMS-TeX and AMS-LaTeX.

This article contains answers to some frequently asked questions on comp.text.tex. Please don't ask these questions again, as they've been answered many times before. Note that Guoying Chen (chenguo@spunky.cs.nyu.edu) posts the monthly document ``Supplementary TeX Information'' to this newsgroup containing other information and software relevant to TeX users but beyond the scope of this article.

This is version 1.35 for May, last changed 5/4/93.

This article includes answers to:

  1. How can I get a copy of this article?
  2. Where can I get a DVI to PostScript conversion program?
  3. How can I include a PostScript figure in LaTeX?
  4. Where can I find a DVI previewer for machine y running q?
  5. Where can I get the manual for PiCTeX?
  6. What is VorTeX and where can I get it?
  7. What is OzTeX and where can I get it (TeX for the Mac?
  8. What is Fig and where can I get it?
  9. How do I get WEB for C, FORTRAN, or some other language?
  10. How can I typeset music in TeX?
  11. What is TUG and TUGboat?
  12. How do I convert Adobe's afm files to tfm format?
  13. In LaTeX, how do I get a double-spaced document?
  14. In LaTeX, how do I include a file in the verbatim environment?
  15. In LaTeX, how do I do Y?
  16. Where can I find a TeX macro or LaTeX style file for doing Y?
  17. How do I generate an index in TeX/LaTeX?
  18. How do I get METAFONT to do what I want it to do?
  19. Where do I get TeX/LaTeX for machine Y running Q?
  20. Where can I get a thesis style for LaTeX?
  21. How do I get symbols for ``the real numbers'', ``the complex numbers'', and so on?
  22. What repositories of TeX material are available, and how can I access them?
  23. How do I use PostScript fonts with LaTeX?
  24. How can I convert from format Y to TeX or LaTeX, and vice-versa?
  25. How do I get a file into the major style repositories?
  26. Where can I get font Y?
  27. Where can I get a dvi driver for the HP LaserJet?
  28. TeX and LaTeX are hyphenating words weirdly. What can I do?
  29. How can I convert a TeX or LaTeX file into a plain ASCII file, with all the formatting intact, a la nroff?
  30. How do I enlarge TeX? I keep getting ``memory capacity exceeded'' errors.
  31. In LaTeX, I used \pagestyle{empty}, but the first page is still numbered. What do I do?
  32. Where do I find documentation about BibTeX?
  33. How do I use BibTeX with plain TeX?
  34. How do I draw Feynman diagrams in LaTeX?
  35. What is the New Font Selection Scheme (NFSS)?
  36. In LaTeX, my cross-references for floats (figures and tables) are incorrect. What's wrong?
  37. I want to change the margins in LaTeX. What can I do?
  38. How do I find the width of a letter, word, or phrase in TeX?
If you are looking, for instance, for the answer to question 17, and wish to skip everything else, you can search ahead by selecting that topic.

These are all legitimate questions, but they seem to appear too frequently for long-time readers of the list.

Many of the answers below tell you that you can obtain something through anonymous ftp. ``Ftp'' stands for file transfer protocol, and is also the name of a program implementing the protocol. The program allows users to transfer files to and from remote sites, if the sites are connected via a network such as the Internet. ``Anonymous ftp'' indicates a user may connect to a remote site as the user ``anonymous'' with a password consisting of their email address, and thus be able to retrieve files from that site. Remember, anonymous ftp is a privilege and the system administrators for these sites have made these files available out of their own generosity. Therefore please restrict your ftp'ing to non-prime hours at the various sites.

I would like to acknowledge Don Hosek, Ken Yap, Tomas Rokicki, and Micah Beck, whose postings provided many of the answers. Joe Weening, Hal Perkins, Walter Carlip, Max Hailpern, Tad Guy, Raymond Chen, Henning Schulzrinne, Sebastian Rahtz, Mark James, Peter Galko, Mike Ernst, Rainer Sch\"opf, Oren Patashnik, Philippe Louarn, Rafal Zbikowski, Anita Marie Hoover, David Rhead, Darrell McCauley, Cameron Smith, Emma Pease, and Patrick McPhee provided additional material and criticisms. The format of this document is based on the Frequently Asked Questions appearing in comp.unix.wizards, and written by Steve Hayman. Any mistakes are mine. Send corrections, suggestions, and additions to bobby@hot.caltech.edu.


10) How can I typeset music in TeX?

    A package called MuTeX, written by Andrea Steinbach and Angelika
    Schofer, aids in doing this. It is available via anonymous ftp from
    ftp.cs.ruu.nl (131.211.80.17) in pub/TEX/MuTeX.tar.Z and from
    ymir.claremont.edu (134.173.4.23) in [anonymous.tex.music.mtex].
    This package allows you to typeset single-staff music and lyrics.

    A more powerful package which allows the typesetting of orchestral
    and polyphonic music is MusicTeX, written by Daniel Taupin 
    (taupin@frups51.bitnet). It is available via anonymous ftp from
    rsovax.ups.circe.fr (130.84.128.100) [.musictex]. It should also
    be available from the archive sites detailed in question 22.

    There is a mailing list for discussion of typesetting music in TeX.
    To subscribe, send a request to mutex-request@stolaf.edu.

11) What is TUG and TUGboat?

    TUG is the TeX Users Group. TUGboat is their newsletter, containing
    useful articles about TeX and METAFONT. TUG also distributes
    TeX-related microcomputer software on disks. Inquiries should be 
    directed to:
                     TeX Users Group
                     P. O. Box 869
                     Santa Barbara, CA 93102 (USA)
                     805-899-4673
                     tug@math.ams.org

12) How do I convert Adobe's afm files to tfm format?

    Use the afm2tfm program distributed with dvips, available via
    anonymous ftp from labrea.stanford.edu (36.8.0.112) in ./pub. 

    For the Macintosh, there is a program called EdMetrics which does
    the job (and more). It is available free from:
              Blue Sky Research
              534 Southwest Third Avenue
              Portland, Oregon 97204 (USA)
              800-622-8398 or 503-222-9571

13) In LaTeX, how do I get a double-spaced document?

    Are you producing a thesis, and trying to obey regulations that were
    drafted in the typewriter era?  LaTeX is a typesetting system, so the
    appropriate design conventions are for ``real books''.  Find whoever
    is responsible for the regulations, and try to get the wording changed
    to cater for typeset theses (e.g., to say ``if using a typesetting 
    system, aim to make your thesis look like a well-designed book'').

    If you fail to convince your officials, or want some inter-line 
    space for copy-editing:
     - Try changing \baselinestretch: \renewcommand{\baselinestretch}{1.2}
       may be enough to give officials the impression you've kept
       to their regulations.  Don't try changing \baselineskip: its
       value is reset at any size-changing command.
     - Alternatively, get doublespace.sty from ./pub/tex/latex-style at
       sun.soe.clarkson.edu, or, if you are using the new font selection
       scheme, get doublespace.sty from ymir.claremont.edu
       (134.173.4.23) in [anonymous.tex.inputs.latex-contrib].  There's
       a setspace.sty from fileserv@shsu.edu which is more flexible, and
       consistent with the latest release of LaTeX.  See question 22.

    It's not worth going to a lot of trouble.  (If officials won't allow
    standard typographic conventions, you won't be able to produce an
    aesthetically pleasing document anyway!)

14) In LaTeX, how do I include a file in the verbatim environment?

    A good way to do this is to use Rainer Sch\"opf's verbatim.sty,
    which provides the command \verbatiminput that takes a file
    as an argument. This file is available from both the Aston archive
    (see question 22) and ymir.claremont.edu (134.173.4.23). Several
    files are needed. From ymir.claremont.edu, get the file 
    [tex.inputs.latex-mainz]verbatim.readme to find out what other
    files you will need.

    Another way to do this is to use the alltt environment defined in
    the style file alltt.sty available in ./pub/tex/latex-style from
    sun.soe.clarkson.edu (see question 22).

15) In LaTeX, how do I do Y?

    If you can't figure out how to do something in LaTeX after you
    have read the manual very carefully, asked your local LaTeX
    guru, and thought about it, there is a LaTeX help service 
    available. Please note that the way to accomplish something 
    in LaTeX is often by using an appropriate style file, so please
    check this also (see question 16). If none of this works, send mail 
    in English describing your problem to latex-help@cs.stanford.edu. 
    If you haven't gotten a reply to your problem within about a week, 
    send mail to latex-help-coordinator@cs.stanford.edu.

16) Where can I find a TeX macro or LaTeX style file for doing Y?

    Before you ask for a TeX macro or LaTeX style file to do something, 
    please search the TeX macro index written by David M. Jones
    (dmjones@theory.lcs.mit.edu) and available via anonymous ftp
    from theory.lcs.mit.edu (18.52.0.92) in ./pub/tex/TeX-index. Those 
    without access to anonymous ftp can send a message containing the
    line ``send tex TeX-index'' to archive-server@theory.lcs.mit.edu.
    The index is an excellent reference document with plenty of 
    cross-references. Also, many of the archive sites mentioned in
    question 22 maintain extensive latex style collections, which you
    can look through if you need something not in the index.
    
17) How do I generate an index in TeX/LaTeX?

    Making an index is not trivial. There are several indexing programs
    which aid in doing this. Some are:
      makeindex - for LaTeX under Unix (but runs under other OS's
         without changes). Available via anonymous ftp from 
         ymir.claremont.edu (134.173.4.23, VMS) in the directory
         [.tex.utilities.makeindex]. A version for the Macintosh is
         available from Johnny Tolliver at 
         tolliver%atf.mfenet@nmfecc.llnl.gov. The Makeindex documentation
         is a pretty good source of information on how to create your
         own index.
      idxtex - for LaTeX under VMS. Available via anonymous ftp from
         ymir.claremont.edu in the directory [.tex.utilities.idxtex].
      texix - for TeX on CMS and Macintosh machines. Available via
         anonymous ftp from ymir.claremont.edu in the directory
         [.tex.utilities.texix].
      indexor - for LaTeX under Unix, VMS, and DOS. Available via
         anonymous ftp from ymir.claremont.edu in [.tex.utilities.indexor].
      texindex - for LaTeX under Unix. Available from
         comp.sources.misc archives in Volume 23.

18) How do I get METAFONT to do what I want it to do?

    METAFONT allows you to create your own fonts, and ordinary TeX users
    will never need to use it. METAFONT, unlike TeX, requires some 
    customization. Each output device for which you will be generating 
    fonts needs a mode associated with it. Modes are defined using the 
    mode_def convention described on page 94 of _The METAFONTbook_. So 
    first create a file, which we will call local.mf, containing all the 
    mode_defs you will be using. The file modes.mf by Karl Berry,
    available via anonymous ftp from ftp.cs.umb.edu (192.12.26.23) in
    ./pub/tex is a good starting point for this. Listings of settings for 
    various output devices are also published periodically in TUGboat 
    (see question 11). Now create a plain base file using inimf, plain.mf, 
    and local.mf:
       % inimf
       This is METAFONT....
       **plain                 # you type plain
       (output)
       *input local            # you type this
       (output)
       *dump                   # you type this
       Beginning to dump on file plain....
       (output)
       %
    This should create a base file named plain.base (or something close)
    and should be moved to the directory containing the base files on
    your system.
 
    Now you need to make sure METAFONT loads this base when it starts
    up. If METAFONT loads the plain base by default on your system, then
    you're ready to go. Under Unix, we might, for instance define a 
    command mf which executes ``virmf &plain,'' loading the plain base
    file.
 
    The usual way to create a font with plain METAFONT is to then start 
    it with the line
       \mode=; mag=; input 
    in response to the * prompt or on the METAFONT command line. If 
     is unknown or omitted, then the mode defaults to proof 
    mode. If this has happened METAFONT will produce an output file
    called .2602gf. The  is a floating 
    point number or magstep (magsteps are defined in _The METAFONTbook_ 
    and _The TeXbook_). If mag= is omitted, then the 
    default is 1. For example, to generate cmr10 at 12pt for an epson 
    printer you would type
       mf \mode=epson; mag=1.2; input cmr10
    Note that under Unix the '\' and ';' characters must usually be 
    escaped, so this would typically look something like
       mf \\mode=epson\; mag=1.2\; input cmr10
 
    If you don't have inimf or need a special mode that isn't in the
    base, you can put its commands in a file (e.g., ln03.mf) and invoke
    it on the fly with the \smode command. For example, to create 
    ln03.300gf for an LN03 printer, using the file
	% This is ln03.mf as of 2/27/90
	% mode_def courtesy of John Sauter
	proofing:=0;
	fontmaking:=1;
	tracingtitles:=0;
	pixels_per_inch:=300;
	blacker:=0.65;
	fillin:=-0.1;
	o_correction:=.5;
    (note the absence of the mode_def and enddef commands), you would type
       mf \smode="ln03"; input cmr10
    
19) Where do I get TeX/LaTeX for machine Y running Q?

    Unix - The Unix TeX distribution is no longer available via anonymous
       ftp from one location. An up-to-date version of Unix TeX can
       be assembled, however, by ftp'ing from several different sites.
       If you don't want to do this, you can order it from the 
       University of Washington, for a small fee. Contact:
                  Director
                  Northwest Computing Support Center
                  Thomson Hall, Mail Stop DR-10
                  University of Washington
                  Seattle, WA 98195 (USA)
                  (206)543-6259
       or send electronic mail to Elizabeth Tachikawa at 
       elisabet@max.u.washington.edu (note the ``s''). The fee charged 
       for getting the TeX distribution through the University of 
       Washington helps fund the further development of Unix TeX, so 
       it's a good idea to order it this way. This distribution compiles
       under Ultrix. Executables for the 386/ix are available via 
       anonymous ftp from tik.vtt.fi (130.188.52.2) in 
       ./pub/tex/bin-386ix and from math.berkeley.edu (128.32.183.94) 
       in ./pub/tex386ix.tar.Z.

       To get TeX via anonymous ftp, first get the current web2c
       distribution from ftp.cs.umb.edu (192.12.26.23) in ./pub/tex. If you
       plan on using METAFONT, also grab the current version of modes.mf
       (see question 18). The web2c distribution will allow you to create
       initex, virtex, inimf, virmf, bibtex, and several programs for
       manipulating fonts. Next you will need the basic TeX and METAFONT
       macro files, available from labrea.stanford.edu (36.8.0.112) in
       ./pub/tex/lib. The basic BibTeX style files are here as well, in
       ./pub/tex/bibtex. If you want LaTeX, the current distribution is
       available from rusinfo.rus.uni-stuttgart.de (129.69.1.12) in
       ./soft/tex/latex. I recommend LaTeX be installed with the New Font
       Selection Scheme (NFSS) (see question 35).  It resides in
       ./soft/tex/macros/latex/distribs/nfss. If you want AMSLaTeX or
       AMSTeX, get them from e-math.ams.com (130.44.1.100) in ./ams.
       Finally, you need fonts. TeX itself needs font files with the
       extension ``.tfm''.  Your output device driver needs fonts in a
       different format, probably ``.pk''. Both ymir.claremont.edu
       (134.173.4.23) and rusinfo.rus.uni-stuttgart.de maintain collections
       of fonts in these formats. These collections contain the necessary
       fonts for the plain format and LaTeX, and other fonts you might
       want.  Alternatively, the necessary font formats can be generated
       from the METAFONT source, either by you, or automatically if you use
       the dvips driver mentioned in question 2. The METAFONT sources are
       available from the ymir and rusinfo archives.  Note that I have
       tried to mention the definitive sources for all the programs above.
       The nearest archive server (see question 22) may have everything
       mentioned above, without having to ftp around the world.

       Note the Unix version of TeX allows your "macros" or "inputs"
       and "fonts" directories to be hierarchically organized with
       further subdirectories, rather than dumping everything into one
       directory. This can cause TeX to start very slowly. The cure
       for this problem is to insure each subdirectory contains either
       only directories or only files.

    AIX - TeX for the IBM RS6000 running AIX can be found on
       rusinfo.rus.uni-stuttgart.de (129.69.1.12) in
       ./soft/tex/systems/unix/aix3.1.

    PC - A TeX package for the PC, including LaTeX, BibTeX, previewers,
       and drivers is available via anonymous ftp from 
       vax.eedsp.gatech.edu (130.207.226.7) in ./pub/TeX. The variety here
       is sbtex version 30 by Wayne Sullivan. EmTeX, another TeX package 
       for the PC by Eberhard Mattes, is available via anonymous ftp from 
       rusinfo.rus.uni-stuttgart.de (129.69.1.12) in 
       ./soft/tex/systems/msdos/emtex and also from niord.shsu.edu
       (192.92.115.8) in [.emtex]. This package includes LaTeX, METAFONT,
       BibTeX, etc., as well. Documentation is available in both German 
       and English.

       All Public Domain TeX software for the PC is also available 
       through TUG. A catalog is available free from them at the 
       address given in question 11. This collection is maintained by 
       Jon Radel, who will answer technical questions on the material 
       (with no service guarantee). Send electronic mail to jon@radel.com.

    Mac - see question 7 for a public domain version. 

    TOPS-20 - TeX was originally written on a DEC-10 under WAITS, and so
        was easily ported to TOPS-20. A Distribution that runs on TOPS-20 
        is available via anonymous ftp from science.utah.edu 
        (128.110.198.2) in ./pub/tex/pub/web.

    VAX/VMS - VMS executables are available via anonymous ftp from
        ymir.claremont.edu (134.173.4.23) in [.tex.exe]. Source is
        available in [.tex.sources]. Version 3.1 is available in
        [.tex.sources.tex3_1]. Ymir has a mailserver for those without
        ftp access, although executables are not available through it. 
        Send a message containing the line ``help'' to 
        mailserv@ymir.claremont.edu. Standard tape distribution is 
        through DECUS or Maria Code.

    Atari - TeX is available for the Atari ST from atari.archive.umich.edu
        (141.211.164.8) in ./atari/tex. If anonymous ftp is not available
        to you, send a message containing the line ``help'' to
        atari@atari.archive.umich.edu. The mail server can uuencode
        binary files. Another version can be obtained via anonymous
        ftp from ifi.informatik.uni-stuttgart.de (129.69.211.1) in
        ./pub/atari.st/tex. There is also lots of TeX stuff for the
        Atari on the rusinfo and ftp.cs.ruu.nl archives mentioned in
        question 22.

    Amiga - A full implementation of TeX 3.1 call PasTeX and METAFONT 2.7
         are available via anonymous ftp from merlin.etsu.edu (192.43.199.20)
         in ./ab20/AMIGA. It is also available via anonymous ftp from
         forwiss.uni-passau.de (132.231.20.10) in ./pub/amiga/tex. 
         You can also order a CDROM containing this and other amiga software
         from Walnut Creek CDROM, (510) 947-5997.

    Tandy 6000 - If you are interested in building TeX on this machine
         contact Ken Yap (ken@syd.dit.csiro.au), and he'll help you.

20) Where can I get a thesis style for LaTeX?

    Thesis styles are usually very specific to your University, so it's
    usually not profitable to ask the whole newsgroup for one. If you
    want to write your own, a good place to start is the ucthesis style
    available in the latex style collection at sun.soe.clarkson.edu
    (see question 22).

21) How do I get symbols for ``the real numbers'', ``the complex numbers'',
    and so on?

    These symbols are known as ``blackboard bold'' and are available in
    the AMS fonts ``msam'' (e.g., ``msam10'' for 10pt) and ``msbm''. 
    They replace the older ``msxm'' and ``msym''. The fonts have a large
    number of mathematical symbols to supplement the ones 
    provided by TeX. The fonts are available via anonymous ftp from
    e-math.ams.com (130.44.1.100) in the directory ./ams/amsfonts.
    Two files which load the fonts and define the symbols are provided,
    and both work with either TeX or LaTeX. Questions or suggestions 
    regarding these fonts should be directed to 
    tech-support@math.ams.com.

    A set of LaTeX macros for a ``lazy person's'' blackboard bold are:
       \newcommand{\R}{{\sf R\hspace*{-0.9ex}\rule{0.15ex}%
       {1.5ex}\hspace*{0.9ex}}}
       \newcommand{\N}{{\sf N\hspace*{-1.0ex}\rule{0.15ex}%
       {1.3ex}\hspace*{1.0ex}}}
       \newcommand{\Q}{{\sf Q\hspace*{-1.1ex}\rule{0.15ex}%
       {1.5ex}\hspace*{1.1ex}}}
       \newcommand{\C}{{\sf C\hspace*{-0.9ex}\rule{0.15ex}%
       {1.3ex}\hspace*{0.9ex}}}

22) What repositories of TeX material are available, and how can I access
    them?
 
    There are many repositories of TeX material available. Most of them
    also have a mail server, i.e., a program that will send you files
    via electronic mail. Here are some of the better ones:
      - In the US, the archive at ymir.claremont.edu (134.173.4.23) has 
        a lot of PD TeX software, and even if it's not explicitly stated, 
        much of the software mentioned in this document is available there.
        Anonymous ftp is supported, as is a mail server. Unfortunately, 
        executables are not available through the mail server. Send a 
        message containing the line ``help'' to MAILSERV@ymir.claremont.edu.
      - The archive at Clarkson University, although out of date, still has
        some things of interest. Use anonymous ftp to get files from 
        sun.soe.clarkson.edu (128.153.12.3). An archive server is available
        if you can send mail to the United States. Send a one-line message
        ``help'' to archive-server@sun.soe.clarkson.edu and it will send
        you a file describing how to use it more fully. If you have
        problems, contact archive-management@sun.soe.clarkson.edu
      - In the United Kingdom, you can get TeX-related material from the
        UK TeX archive at the University of Aston. (FTP access is also
        available for people on JANET or the Internet. Use anonymous ftp
        to tex.ac.uk (134.151.40.18). You will be placed in the root of
        of the [tex-archive]. Telnet access is also allowed, to permit
        more intelligent browsing. Use the username PUBLIC and the same
        password. A known file is [tex-archive]000directory.list.) For 
        electronic mail access, send a message to texserver@tex.ac.uk. The 
        first non-blank line of the message must contain a valid TeXserver
        command (help, directory, files, whereis, search, or path). The 
        program will then mail you a response notifying you that your 
        request has been received. If you fail to get a response from the
        TeXserver, you may need to use the ``path'' command to help the 
        program out. For Internet users the return address is of the form 
        name%site@nsfnet-relay, while for Bitnet and EARN it is 
        name%site@earn-relay (i.e., include a line that says 
        ``path name%site@nsfnet-relay'' along with a line containing 
        ``help''). Note that the old three hyphen format is obsolete, but 
        still accepted by the program for backward compatibility.
      - ftp.cs.ruu.nl (131.211.80.17) also contains a substantial TeX
        archive with ftp access. To use it via email, send a message
        containing the line ``help'' to mail-server@cs.ruu.nl. This mail 
        server can send binary files in a variety of different formats.
      - In Germany, the host rusinfo.rus.uni-stuttgart.de (129.69.1.12)
        is an anonymous ftp site with much TeX material. In particular
        it is the definitive source for new font selection scheme in
        LaTeX, for emtex (TeX for the IBM PC, see question 19), and contains
        a set of hyphenation patterns for languages other than English. To
        use it via email, send a message containing the line ``help'' to
        mail-server@rusinfo.rus.uni-stuttgart.de.
      - There are LISTSERV facilities for TeX at LISTSERV@DHDURZ1.BITNET. 
        Send a message containing the line ``help'' to this address.
      - Another aggressively maintained archive is FILESERV@SHSU.BITNET.
        Sending a message with the line HELP will get help, and
        SENDME FILELIST will get an annotated listing of all packages 
        available there. The archive is accessible via anonymous ftp to
        the host niord.shsu.edu (192.92.115.8).
      - For users on BITNET, access to anonymous ftp for some files can
        be obtained indirectly by sending mail to BITFTP@PUCC.BITNET.
        Send a message containing the line ``help'' to this address for
        more information.
     
    There is also the DECUS TeX collection, a collection of TeX material
    for VMS, Unix, MS-DOS, and the Macintosh. It is available via 
    anonymous ftp from wuarchive.wustl.edu (128.252.135.4) in ./decus/tex.
    It can also be obtained from the DECUS Library (reference number 
    VS0058) in the US, or through your DECUS office outside of the US. To 
    contact the DECUS Library, send mail or call:
                 The DECUS Program Library
                 219 Boston Post Road BP02
                 Marlboro, MA 01752-1850
                 (508)480-3418
    or send electronic mail to the DECUS TeX Collection Editor, Ted 
    Nieland, at decus_tex@nieland.dayton.oh.us.
     
    Another good source of information is NETWORK SOURCES OF TeX WARE by
    Peter Flynn which appeared in TeXhax, volume 90, issues 45-47 (in
    May 1990).      

23) 

24) How can I convert from format Y to TeX or LaTeX, and vice-versa?

    troff - TROFF-TO-LATEX.TAR-Z is available via anonymous ftp from
      wsmr-simtel20.army.mil (26.2.0.74) in the directory 
      pd2:. This program, written by Kamal Al-Yahya 
      at Stanford, assists in the translation of a troff document into 
      LaTeX format.  It recognizes most -ms and -man macros, plus most 
      eqn and some tbl preprocessor commands. Anything fancier needs 
      to be done by hand.  Two style files are provided.  There 
      is also a man page (which converts very well to LaTeX :-).  
      The program is copyrighted but free. An enhanced version of this
      program, tr2latex, is available from 
      ftp.informatik.rwth-acchen.de (137.226.112.172) in ./pub/TeX. 
      The DECUS TeX distribution (see question 22) also contains a program
      which converts troff to TeX. If you are interested in obtaining a copy
      of this program without getting the entire DECUS TeX distribution, 
      send the command: SENDME TROFFTOTEX in the body of a mail message to
      FILESERV@SHSU.BITNET (FILESERV@SHSU.edu), or use anonymous ftp to the
      directory [.TROFFTOTEX] on Niord.SHSU.edu (192.92.115.8). 

    scribe - Mark James has a copy of scribe2latex he has been
      unable to test but which he will let anyone interested have.
      Send email to jamesm@procor.dialogic.com. The program was written
      by Van Jacobson of Lawrence Berkeley Laboratory.

    wordperfect -  wp2latex.zip is available on wuarchive.wustl.edu
      (128.252.135.4) in the directory ./mirrors/msdos/tex and on
      wsmr-simtel20.army.mil (26.2.0.74) in the directory pd1:.
      This is a PC program written in Turbo Pascal by R. C. Houtepen at
      the Eindhoven University in the Netherlands.  It converts
      WordPerfect 5.0 documents to LaTeX.  Pascal source is included.
      Users find it ``helpful'' and ``decent'' in spite of some
      limitations. It gets high marks for handling font changes.
      Limitations include no indices, table of contents, margins or
      graphics.  It also won't handle the new features of WordPerfect
      5.1, in particular the equation formatter. The program is
      copyrighted but free.

      Glenn Geers of the University of Sydney (glenn@qed.physics.su.oz.au)
      is translating wp2latex into C and adding some WordPerfect 5.1
      features, in particular its equation handling.  This is an ongoing
      project; the most recent version can be retrieved via anonymous ftp
      from suphys.physics.su.oz.au (129.78.129.1) in ./wp2latex. It is
      also available by anonymous ftp from ymir.claremont.edu
      (134.173.4.23) in the directory
      [anonymous.tex.ibm_pc.front_ends.wp2latex]. It was posted to
      alt.sources on 8 August 1990.

    PC-Write - pcwritex.arc is available on wuarchive.wustl.edu
      (128.252.135.4) in directory mirrors/msdos/tex and on
      wsmr-simtel20.army.mil (26.2.0.74) in directory pd1:.
      This is a print driver for PC-Write that ``prints'' a PC-Write V2.71
      document to a TeX-compatible disk file.  It was written by Peter
      Flynn at University College, Cork, Ireland.  It is public domain.  

    runoff - Peter Vanroose (vanroose@esat.kuleuven.ac.be) has 
      written a RUNOFF-to-TeX conversion program in VMS Pascal.  It is 
      available from comp.text archives (they do exist, don't they?  The 
      program was submitted in December 1987) or from the author 
      (peter@dit.lth.se) or from Mark James (jamesm@procor.dialogic.com).

    refer/Tib - There are a few programs for converting bibliographic data 
      between BibTeX and refer/Tib formats.  They are available via 
      anonymous ftp from ftp.ai.mit.edu (128.52.32.6) in the 
      directory ./pub/refer-to-bibtex.  In spite of the directory name, 
      it also contains a  shell script to convert BibTeX to REFER as 
      well. This collection is maintained by 
      Thomas M. Breuel (tmb@ai.mit.edu).

    RTF - A program for converting Microsoft's Rich Text Format to TeX
      is available via anonymous ftp from astro.princeton.edu
      (128.112.128.131) in ./pub/rtf2TeX.tar.Z. It was written and is
      maintained by Robert Lupton (rhl@astro.princeton.edu).

    Microsoft Word - A rudimentary program for converting MS-Word
      to LaTeX is wd2latex, for MS-DOS, available via anonymous ftp
      from ymir.claremont.edu (134.173.4.23) in
      [.tex.ibm_pc.front_ends]. Probably a better idea, however, 
      is to convert the document to RTF format and use the RTF 
      converter mentioned above.
    
    In addition, a group at Ohio State University is working on a common
    document format based on SGML.  In theory any format could be
    translated to or from this one.  Also, Framemaker supposedly has
    ``import filters'' to aid in the translation from alien formats
    (presumably including TeX) to Framemaker; perhaps other desktop
    publishing programs have similar things.
      
25) How do I get a file into the major style repositories?
    
    Use anonymous ftp to rusinfo.rus.uni-stuttgart.de (129.69.1.12) and 
    transfer the file into the directory ./soft/tex/incoming. Then send 
    notification texinfo1@rusinfo.rus.uni-stuttgart.de. From there
    it will propagate to other inclusive archives. If you cannot use
    ftp, mail your contribution to sty-mgr@shsu.edu and it will be
    passed along. You will make everyone's life easier if you choose a
    descriptive and unique name for your submission, so it's probably
    good idea to browse through some of the style repositories mentioned
    in question 22 to insure your style file's name is not already
    in use.

26) Where can I get font Y?

    A comprehensive list of METAFONT fonts is posted to Comp.fonts
    about once every six weeks by Lee Quin (lee@sq.sq.com). It contains
    both commercial fonts and fonts available via anonymous ftp. Most
    of the fonts available via anonymous ftp are available from
    ymir.claremont.edu (134.173.4.23). Also, the file wujastyk.txh
    on ymir.claremont.edu in [anonymous.tex.mf] is a copy of
    Dominik Wujastyk's font article, and contains information on
    METAFONT fonts as well.

27) Where can I get a dvi driver for the HP LaserJet?

    PC - The emtex package mentioned in question 19 contains a driver for
       the LaserJet, dvihplj. The driver is available by itself from 
       ymir.claremont.edu (134.173.4.23) in [.tex.ibm_pc.drivers.emtex]
       in the files dvidrv[123].zip.

    Version 2.10 of the Beebe drivers support the LaserJet. These drivers
    will compile under Unix, VMS, and on the Atari ST and DEC-20's. They
    are available from science.utah.edu (128.110.198.2) in ./pub/tex/dvi
    and from ymir.claremont.edu (134.173.4.23) in 
    [.tex.drivers.beebe2_10].

28) TeX and LaTeX are hyphenating words weirdly. What can I do?

    You have a version mismatch problem. The hyphenation algorithm changed
    between version 2.9 and 3.0. If you are using TeX version 3.0 or
    later, make sure you have plain.tex and lplain.tex files with a
    version number of at least 3.0.

    For those of you curious about the change, here's what happened:
    in versions of TeX before 3.0 the hyphenation algorithm would not
    break a word if the part before the break was not at least two
    characters long, and the part after the break at least three 
    characters long. Starting with version 3.0 two integer parameters,
    \lefthyphenmin and \righthyphenmin, control the length of these
    fragments. These are set to 2 and 3, respectively, in the new
    plain and lplain formats. They can be set to any value, of course,
    but if \lefthyphenmin + \righthyphenmin is greater than 62, all
    hyphenation is suppressed.

29) How can I convert a TeX or LaTeX file into a plain ASCII file,
    with all the formatting intact, a la nroff?

    Ralph Droms (droms@bucknell.edu) has a style file and a C program
    that provide the LaTeX equivalent of nroff. Although it doesn't do
    a good job with tables and math, it's the best way to convert that
    I've seen. The software is available for anonymous ftp from
    sol.cs.bucknell.edu (134.82.1.8) in ./droms/txt-dist.tar.

    Another possibility is to use screen.sty, available from all the
    major archives. However you need a program called crudetype to
    process the resulting dvi file. It is available from
    emx.utexas.edu (128.83.1.33) in
    ./pub/mnt/source/tex/tex-3.0/DVIware/lpr-viewers/crudetype and
    from rusinfo.rus.uni-stuttgart.de (129.69.1.12) in
    ./serv2/soft/dviware/screenview. Another possibility is to use
    the LaTeX-to-ASCII conversion program, l2a, available from
    comp.sources.misc archives (one archive site is ftp.uu.net
    (137.39.1.2)), although this is really more of a de-TeXing
    program. Finally, if you are running under Unix and have C++ and
    perl, you might try Jonathan Monsarrat's LameTeX package (which
    actually does much more than this), available from
    wilma.cs.brown.edu (128.148.33.66) in ./pub/lametex.tar.Z.

30) How do I enlarge TeX? I keep getting `memory capacity exceeded'
    errors.

    Most of the time, a ``memory capacity exceeded'' error can be fixed
    without enlarging TeX.  The most common causes are unmatched braces,
    extra-long lines, and poorly-written macros.  Extra-long lines
    are often introduced when files are transferred incorrectly between
    operating systems.  (The tell-tale sign of an extra-long line error
    is when the complaint is that the `buf_size' has overflowed.)

    If you really need to extend your TeX's capacity, the proper method
    varies depending on your installation.  In the purest form, you
    change the parameters in module 11 (``The following parameters can
    be changed...'')  In less pure forms, you might need to modify a
    change file, or perhaps change some environment variables.  Consult
    the documentation that came with your particular implementation.

31) In LaTeX, I used \pagestyle{empty}, but the first page is still 
    numbered. What do I do?

    If you see this problem, you are using the \maketitle command too.
    This is a bug in LaTeX. The workaround is to put the command
    \thispagestyle{empty} immediately after the \maketitle command, with
    no blank line between them.

32) Where do I find documentation about BibTeX?

    BibTeX, a program originally designed to produce bibliographies in
    conjunction with LaTeX, is explained in Section 4.3 and Appendix B 
    of Leslie Lamport's LaTeX manual.  The ``BibTeXing'' document, 
    contained in the file btxdoc.tex, gives a more complete description.

    The ``Designing BibTeX Styles'' document, contained in the file 
    btxhak.tex, explains the postfix stack-based language used to
    write BibTeX styles (.bst files).  The file btxbst.doc is the template
    file for the four standard styles (plain, abbrv, alpha, unsrt). It
    also contains the documentation for them.

    The current Unix-BibTeX man page, contained in the file
    bibtex.1, was updated in January 1992 and is about one page long.
    There's an old and obsolete version floating around, written in 1985
    before ``BibTeXing'' and ``Designing BibTeX Styles'' appeared, that is
    several pages long.  You should ignore it (or throw it away), since it
    describes BibTeX version 0.98, style files of which are incompatible 
    with the current version, 0.99 (to be precise, 0.99c).

    All files mentioned in this answer are available via anonymous ftp
    from labrea.stanford.edu (36.8.0.112) in the BibTeX ftp area, 
    tex/bibtex. All the non-Unix files should be available on any system 
    that runs BibTeX; if they're not on your system, please complain to 
    your BibTeX installer or to your distribution source.

33) How do I use BibTeX with plain TeX?

    The file btxmac.tex contains TeX macros and documentation for using
    BibTeX with plain TeX, either directly or with Karl Berry's Eplain
    package. It is available via anonymous ftp from labrea.stanford.edu
    (36.8.0.112) in tex/bibtex (see question 32 for more information 
    about BibTeX).

34) How do I draw Feynman diagrams in LaTeX?

    Michael Levine's macro package for drawing Feynman diagrams in LaTeX
    is available via mail-server from physics.utoronto.ca. Send a message
    containing the line ``send INDEX'' to mail-server@physics.utoronto.ca
    for information on how to retrieve it.

35) What is the New Font Selection Scheme (NFSS)?

    NFSS is an extension to LaTeX written by Frank Mittelbach and Rainer
    Sch\"opf. It is described in TUGboat, volume 10 (1989), No. 2.
    In traditional typesetting, fonts are described by four parameters:
    the family (e.g., computer modern), the series (i.e., the weight and
    width of the font, like light or bold), the shape (e.g., italic), and
    the size. NFSS is a mechanism allowing the user to change any of these
    independently. NFSS makes it relatively easy to use nonstandard fonts
    such as the PostScript ones with LaTeX, and easy to change math fonts.
    It also allows dynamic loading of fonts at runtime (not when the
    format file is created).

    NFSS will be part of version 3.0 of LaTeX. Currently, you need
    to create a new format file to use it. It is available via
    anonymous ftp from all the major archives mentioned in question
    22. Its home is on rusinfo.rus.uni-stuttgart.de (129.69.1.12) in
    ./soft/tex/macros/latex/distribs/nfss. NFSS can be used in plain
    TeX as well, through an interface written by Wayne Sullivan.

    There is one caveat that applies to LaTeX documents written for
    the OLD scheme: some of them use special styles for special fonts
    which will not work under the NFSS.

36) In LaTeX, my cross-references for floats (figures and tables) are
    incorrect. What's wrong?

    The \label command must come after the \caption command, or
    be part of it. For example,
       \begin{figure}               \begin{figure}
       \caption{A Figure}    or     \caption{A Figure\label{fig}}
       \label{fig}                  \end{figure}
       \end{figure}

37) I want to change the margins in LaTeX. What can I do?

    This answer first helps you change the margins throughout a
    document, then tells you how to change the margins in a portion
    of the document.

    Perhaps the easiest way to get more out of a page in LaTeX is to
    get fullpage.sty, available from all the major archive servers
    mentioned in question 22. This sets the margins of the page identical
    to those of Plain TeX, i.e., 1-inch margins at all four sides of the
    paper. It also contains an adjustment for A4 paper.

    Here is a brief explanation of what's going on with the page
    parameters in LaTeX. They are explained in section C.4.2 of the
    LaTeX manual (p. 163). The margin parameters represent measurements
    made to the DVI file. The origin in DVI coordinates is one inch
    from the top of the paper and one inch from the left side. This
    explains the ``one inch less than'' terminology used in the LaTeX
    manual. In DVI coordinates, positive horizontal measurements extend
    right across the page, and positive vertical measurements extend down
    the page. Thus, for margins closer to the left and top edges of the
    page than 1 inch, the corresponding parameters, e.g.,
    \evensidemargin, \oddsidemargin, \topmargin, can be set to negative
    values.

    Finally, to change the margins of a document within the document,
    modifying the parameters listed on page 163 will not work. They
    can only be changed in the preamble of the document, i.e, before
    the \begin{document} statement. To adjust the margins within a
    document we define an environment which does it:
      \newenvironment{changemargin}[2]{\begin{list}{}{
         \setlength{\topsep}{0pt}\setlength{\leftmargin}{0pt}
         \setlength{\rightmargin}{0pt}
         \setlength{\listparindent}{\parindent}
         \setlength{\itemindent}{\parindent}
         \setlength{\parsep}{0pt plus 1pt}
         \addtolength{\leftmargin}{#1}\addtolength{\rightmargin}{#2}
         }\item }{\end{list}}
    This environment takes two arguments, and will indent the left
    and right margins by their values, respectively. Negative values
    will cause the margins to be widened, so
    \begin{changemargin}{-1cm}{-1cm} widens the left and right margins
    by 1cm.

38) How do I find the width of a letter, word, or phrase in TeX?

    Put the word in a box, and measure the width of the box. For example,
        \setbox0=\hbox{hi}
        width=\wd0
    Note that if the quantity in the hbox is a phrase, the actual 
    measurement only approximates this width, since the interword glue
    can be adjusted in paragraph mode.

-- 
Bobby Bodenheimer				@hot.caltech.edu
// ARPA  : bobby@hot.caltech.edu                |
// BITNET: bobby@caltech.bitnet                 | Woof!
// UUCP  : {amdahl,ames!elroy}!cit-vax!bobby    |