TeX Frequently Asked Questions

I found this FAQ on the 'net in plain ASCII, so I made a quick conversion to HTML, so that it at least would look OK when printed. Well, this is the result. – Share and enjoy!

zrajm, 2000-09-16

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.42 for December, last changed 12/7/93.

Contents

  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?
  39. In LaTeX, is there a comment or ``ignore'' environment with which I can exclude blocks of text from the .dvi file?
  40. Where can I find a spelling checker for my TeX file?
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öpf, Oren Patashnik, Philippe Louarn, Rafal Zbikowski, Anita Marie Hoover, David Rhead, Darrell McCauley, Cameron Smith, Emma Pease, Patrick McPhee, Karl Berry, Robin Fairbairns, and Joohee Jeong provided additional material and criticisms. The format of this document is based on the Frequently Asked Questions written by Steve Hayman which formerly appeared in comp.unix.wizards. Any mistakes are mine. Send corrections, suggestions, and additions to bobby@hot.caltech.edu.

1. How can I get a copy of this article?

You're reading it aren't you? SAVE it :-). This article is posted monthly to comp.text.tex and cross-posted to news.answers. It is therefore archived at any site that archives news.answers. News.answers is archived on rtfm.mit.edu (18.70.0.209), and this article is available there via anonymous ftp in the directory ./pub/usenet/news.answers/tex-faq. If you do not have anonymous ftp, send an e-mail message containing the lines ``SENDME FAQ.'' to fileserv@shsu.edu (fileserv@shsu.bitnet). Another way to retrieve it via email is through the mailserver at rtfm: send a message containing the lines ``help'' and ``index'' to mail-server@rtfm.mit.edu for information on how to obtain it.

Other news.answers/FAQ archives are: cnam.cnam.fr (163.173.128.6) in the anonymous ftp directory /pub/FAQ; ftp.uu.net (192.48.96.2) in the anonymous ftp directory /pub/usenet (also available via mail server requests to netlib@uunet.uu.net, or via uunet's 1-900 anonymous UUCP phone number); and ftp.cs.ruu.nl (131.211.80.17) in the anonymous ftp directory NEWS.ANSWERS (also accessible via mail server requests to mail-server@cs.ruu.nl). Many of the archives mentioned in question 22 also maintain current versions of this document.

2. Where can I get a DVI to PostScript conversion program?

Two good DVI to PostScript conversion programs that run under Unix are:
dvips
by Tomas Rokicki. This driver is very nice and has the ability to deal with virtual fonts. Available via anonymous ftp from labrea.stanford.edu (36.8.0.112) in ./pub. Dvips is written in C and ports easily to other operating systems. It is available for VMS via anonymous ftp from any CTAN site (see question 22) and also through the DECUS library (see question 22). A precompiled version for MSDOS is available from monu1.cc.monash.edu.au (130.194.1.101) in ./pub/dvips54.zip or from shape.mps.ohio-state.edu (128.146.110.30) in ./pub/msdos/dvips/dvips54.zip. If you wish to use postscript fonts, get dvipslib.zip as well. Documentation is available in dvips.ps.Z. Karl Berry has a version of dvips called dvipsk which has a configure script and path searching code similar to that in his other programs (e.g., web2c). It is available via anonymous ftp from ftp.cs.umb.edu (158.121.104.33) in ./pub/tex/.

dvitops
by James Clark. Available via anonymous ftp from any CTAN site (see question 22, e.g., pip.shsu.edu (192.92.115.10)), in ./tex-archive/dviware/dvitops. Dvitops is written in C and will compile under Unix, MSDOS, VMS, and Primos.

3. How can I include a PostScript figure in LaTeX?

Perhaps the best way to do this is to use the psfig macros written by Trevor Darrell. They are available via anonymous ftp from whitechapel.media.mit.edu (18.85.0.125) in ./pub/psfig. You will also need a dvi to PostScript conversion program that supports \specials. The ones mentioned in question 2 do, and come with a version of psfig ready to use with them. The psfig macros work best with Encapsulated PostScript Files (EPS). In particular, psfig will need the file to have a BoundingBox (see Appendix C of the _PostScript Language Reference Manual_). If you don't have an EPS file, life can be difficult.

One further note about including PostScript figures is that they are not part of the dvi file, but are included when you use a dvi to PostScript conversion program. As a result, most dvi previewers will simply show the blank space TeX has reserved for your figure, not the figure itself.

Anil K. Goel has written a long document describing in detail how to include figures, pictures, and images in LaTeX documents. It is available via anonymous ftp from math.uwaterloo.ca (129.97.140.144) in ./pub/figsInLatex.ps.Z. A dvi file with the included PostScript files is also available.

4. Where can I find a DVI previewer for machine Y running Q?

This briefly lists some previewers available via anonymous ftp. All are available from any CTAN site (see question 22) in addition to the sites listed below:
dvipage
For SunView. This was published in volume 15 of comp.sources.unix and is available at sites that archive this. One such source is archive.cis.ohio-state.edu (128.146.8.52).
xtex
For the X Window System. Available via anonymous ftp from ftp.cs.colorado.edu (128.138.243.151) in ./pub/cs/misc/SeeTeX/SeeTeX/SeeTeX-*.tar.Z.
dviapollo
for Apollo Domain. Available via anonymous ftp from labrea.stanford.edu (36.8.0.112) in ./pub/dviapollo.tar.Z.
dvidis
For VAXstation VWS. Available via anonymous ftp from src.doc.ic.ac.uk (146.169.2.1) in /packages/tex/dviware/dvidis.
xdvi
Also for the X Window System. Available via anonymous ftp from ftp.x.org (192.112.44.100) in ./contrib/xdvi.tar.Z. Karl Berry has a version of called xdvik with features analogous to his dvipsk (see question 2) available via anonymous ftp from ftp.cs.umb.edu (158.121.104.33) in ./pub/tex.
dvitovdu
for Tektronix 4010 and other terminals under Unix. Available via anonymous ftp from wsmr-simtel20.army.mil (192.88.110.20) in the directory pd6:<unix-c.printers> as dvi2vdu.tar-z (ftp in ``tenex'' mode).
dvi2tty
A dvi to ASCII conversion program, for normal terminals. Available from ftp.cs.ruu.nl (131.211.80.17) in ./pub/TEX/DVI/dvi2tty.shar. A VMS version is available from fileserv@shsu.edu (see question 22).
texsgi
For SGI under Irix. Available via anonymous ftp from ftp.brl.mil (128.63.16.158) in ./info-iris/tex. Both a binary and source are available, but be sure to get the fonts as well.

5. Where can I get the manual for PiCTeX?

The PiCTeX manual is not free. It is available for $30 ($35 with the disk) from the TeX Users Group:
TeX Users Group
P. O. Box 869
Santa Barbara, CA 93102-0869 (USA)
805-963-1338
FAX: 805-963-8358
tug@tug.org

The proceeds from this sale go to Michael Wichura, the author of PiCTeX, and TUG.

6. What is VorTeX and where can I get it?

VorTeX is a package of programs written at the University of California. It includes several nice previewers and some Emacs modes for TeX and BibTeX. It is available via anonymous ftp from ftp.cs.berkeley.edu (128.32.149.78) in ./ucb/mhgs. The VorTeX distribution is not maintained.

7. What is OzTeX and where can I get it (TeX for the Mac)?

OzTeX is a public domain version of TeX for the Macintosh. A DVI Previewer and PostScript driver are also included. It should run on any Macintosh Plus, SE, II, or newer model, but will not work on a 128K or 512K Mac. It was written by Andrew Trevorrow, and is available via anonymous ftp from from midway.uchicago.edu (128.135.12.73) in ./pub/OzTeX, which contains other public domain TeX-related software for the Mac as well, or on a floppy disk from TUG (see question 11). Questions about OzTeX may be directed to oztex@midway.uchicago.edu.

8. What is Fig and where can I get it?

Fig is a menu driven tool similar to MacDraw that allows you to draw objects on the screen of a Sun Workstation running SunView. TransFig is a set of tools which translate the code fig produces to other graphics languages including PostScript and the LaTeX picture environment. Both are available via anonymous ftp from ftp.cs.cornell.edu (128.84.218.75) in ./pub/fig. Both Fig and TransFig are also available from the Clarkson archive server at sun.soe.clarkson.edu (see question 22). Fig is supported by Micah Beck (beck@cs.cornell.edu) and Transfig is maintained by Brian Smith (bvsmith@lbl.gov). Another tool for fig conversion is fig2MF which generates METAFONT code from fig input. It is available from the CTAN archives discussed in question 22.

XFig is essentially the same program except it runs under the X Window System. It is available via anonymous ftp from ftp.x.org (192.112.44.100) in ./contrib/R5fixes/xfig-patches/xfig-2.1.*.Z. It was written by Brian Smith.

9. How do I get WEB for C, FORTRAN, or some other language?

There is a version of WEB for C called CWEB written by Silvio Levy. It is available via anonymous ftp from princeton.edu (128.112.128.1) in the directory ./pub/cweb.

There is a version of WEB called Spidery WEB which supports many languages including ADA, awk, and C. It was written by Norman Ramsey and, while not in the public domain, is usable free. It is available via anonymous ftp from pip.shsu.edu (192.92.115.10) in tex-archive/web/spiderweb.

FWEB is a version of WEB for Fortran, Ratfor, and C written by John Krommes (krommes@lyman.pppl.gov). Version 1.13 is available via anonymous ftp from lyman.pppl.gov (192.55.106.129) in ./pub/fweb.

SchemeWEB is a Unix filter that translates SchemeWEB into LaTeX source or Scheme source. It was written by John Ramsdell and is available from sun.soe.clarkson.edu (128.153.12.3) in ./pub/tex/tex-programs/schemeweb.

APLWEB is a version of WEB for APL and is available from watserv1.waterloo.edu (129.97.129.140) in ./languages/apl.

FunnelWeb is a version of WEB that is language independent. It is available via anonymous ftp from ftp.adelaide.edu.au (129.127.40.3) in ./pub/funnelweb. It also appeared in comp.sources.unix volume 26 issue 121, posted 11 April 1993. Another language independent version of WEB is NUWEB, available via anonymous ftp from cs.rice.edu (128.42.1.30) in ./public/preston. NUWEB is written in ANSI C.

Most of the above are also available from your nearest CTAN site (see question 22).

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. 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-0869 (USA)
805-963-1338
FAX: 805-963-8358
tug@tug.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:

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 package is available from any CTAN site (see question 22) in ./tex-archive/macros/latex/distribs. Several files are needed.

Another way to do this is to use the alltt environment defined in the style file alltt.sty available from the CTAN archives in ./tex-archive/macros/latex/contrib/misc/alltt.sty.

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. The following are available from any CTAN site (see question 22):
makeindex
for LaTeX under Unix (but runs under other OS's without changes). A version for the Macintosh is available from Johnny Tolliver at tolliver%atf.mfenet@nmfecc.llnl.gov. The Makeindex documentation is a good source of information on how to create your own index. Makeindex can be used with some TeX macro packages other than LaTeX, such as Eplain.
idxtex
for LaTeX under VMS.
texix
for TeX on CMS and Macintosh machines.
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 (158.121.104.33) 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=<mode name>; mag=<magnification>; input <font file name>

in response to the * prompt or on the METAFONT command line. If <mode name> is unknown or omitted, then the mode defaults to proof mode. If this has happened METAFONT will produce an output file called <font file name>.2602gf. The <magnification> is a floating point number or magstep (magsteps are defined in _The METAFONTbook_ and _The TeXbook_). If mag=<magnification> 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 available via anonymous ftp from any CTAN archive (see question 22). 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.

Instructions for retrieving TeX via anonymous ftp are available in the document FTP.nwc, itself available via anonymous ftp from ftp.cs.umb.edu (158.21.104.33) in ./pub/tex.

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 ftp.uni-stuttgart.de (129.69.8.13) in ./tex-archive/systems/unix/aix3.1.

386/ix
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.

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.24) 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 ftp.uni-stuttgart.de (129.69.8.13) in ./tex-archive/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 (OzTeX). Another version is CMacTeX, which has TeX 3.14, METAFONT 2.7, a screen previewer, dvips, a PostScript printing utility for the LaserWriter, and some font managing utilities. It is available from the CTAN archives discussed in question 22.

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
TeX for VMS is available from any CTAN site (see question 22) in the directory ./systems/vms. Standard tape distribution is through DECUS or Maria Code.

Atari
TeX is available for the Atari ST from atari.archive.umich.edu (141.211.165.41) 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 from any CTAN archive in macros/latex/contrib/ucthesis (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?

To aid the archiving and retrieval of of TeX-related files, a TUG working group developed the Comprehensive TeX Archive Network (CTAN). Each CTAN site has identical material, and maintains authoritative versions of its material. These collections are extensive; in particular, almost everything mentioned in this document is archived at the CTAN sites, even if not explicitly stated.

The CTAN sites are currently ftp.uni-stuttgart.de (129.69.8.13) with the TeX root directory ./pub/tex, ftp.tex.ac.uk (134.151.44.19) with root directory ./pub/archive, and pip.shsu.edu (192.92.115.10) with root directory ./tex-archive. Under the root directory, the organization is identical.

To find software at a CTAN site, use anonymous ftp to the host, and then execute the command `quote site index <search-term>'.

The mail servers of the CTAN sites are not yet identical, but this is planned. Here are the current methods of access via electronic mail:

The host nic.switch.ch (130.59.1.40) mirrors ftp.uni-stuttgart.de in /mirrors/tex, as does ftp.uni-bielefeld.de (129.70.4.55) in /pub/tex. Src.doc.ic.ac.uk (146.169.2.1) mirrors ftp.tex.ac.uk in /packages/TeX/uk-tex/. Finally, wuarchive.wustl.edu (128.252.135.4) mirrors pip.shsu.edu in /packages/TeX.

There are several other repositories of TeX material available:

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. How do I use PostScript fonts with LaTeX?

The best way to do this is to install the New Font Selection Scheme (NFSS) (see question 35), and use the psnfss package written by Sebastian Rahtz. It is available from all the major archives mentioned in question 22. Unfortunately, on some it is known as soton and on others as psnfss. The definitive home for it is the UK TeX archive, tex.ac.uk (134.151.40.18) in [tex-archive.macros.latex.distribs.psnfss]. Other methods for using PostScript fonts in LaTeX are cumbersome at best.

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 (192.88.110.20) in the directory pd2:<unix-c.textproc>. 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-aachen.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 (192.88.110.20) in the directory pd1:<msdos.tex>.

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 was posted to alt.sources on 8 August 1990.

Commercial packages are available for DOS which convert from WordPerfect to LaTeX, and from TeX and LaTeX to WordPerfect, but I am unaware of any free products which do this.

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 (192.88.110.20) in directory pd1:<msdos.tex>. 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.11) 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. Unfortunately, this collection is not maintained.

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). There is also an rtf2LateX written by Erwin Wechtl available from ftp.vmars.tuwien.ac.at (128.130.39.16) in ./pub/misc.

Microsoft Word
A rudimentary program for converting MS-Word to LaTeX is wd2latex, for MS-DOS, available via anonymous ftp from any CTAN site (see question 22). 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 any CTAN archive (see question 22) and retrieve the file README.uploads in the root directory. It contains instructions for uploading files and notifying the appropriate people for that site.

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 styles already available 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 the CTAN archives (see question 22). Also, the file wujastyk.txh ./tex-archive/digests/texhax/txh/wujastyk.txh is a copy of Dominik Wujastyk's font article, and contains information on METAFONT fonts as well.

27. here 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.
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.

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.186.11) in ./pub/mnt/source/tex/tex-3.0/DVIware/lpr-viewers/crudetype and from ftp.uni-stuttgart.de (129.69.8.13) in ./tex-archive/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 (192.48.96.9)), although this is really more of a de-TeXing program. 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öpf. 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 ftp.uni-stuttgart.de (129.69.8.13) in ./tex-archive/macros/latex/distribs/nfss2. 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.

In LaTeX, the following works (taken from the manual):

\newlength{\gnat}
\settowidth{\gnat}{\em small}
This sets the value of the length command \gnat to the width of ``small'' in emphasized text.

39. In LaTeX, is there a comment or ``ignore'' environment with which I can exclude blocks of text from the .dvi file?

Rainer Schöpf's verbatim.sty provides a comment environment which excludes everything between \begin{comment} and \end{comment}. It is available via anonymous ftp from any CTAN site (see question 22) in ./tex-archive/macros/latex/distribs. Several files are needed to install the package. A more general environment for doing this is comment.sty, also available from the CTAN sites in ./tex-archive/macros/latex/contrib/misc.

40. Where can I find a spelling checker for my TeX file?

For Unix, ispell is probably the program of choice. It is available from any CTAN site (see question 22) in ./tex-archive/support/ispell.

For DOS, jspell is an extended version of ispell, and is available via anonymous ftp from oak.oakland.edu (141.210.10.117) in ./pub/msdos/tex/jspell*.zip.


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