This is the FAQ for teTeX -- a TeX distribution for UNIX compatible
systems. If you have questions about some points that remain unclear,
or if you think that things could be described better, just drop me
a line. My Email address:

        Thomas Esser <te@dbs.uni-hannover.de>


This article includes answers to:
   0)  Where can I get the teTeX distribution?
   1)  Is there a mailing list for teTeX?
   2)  Now that I know that there is a mailing list: is there an archive
   6)  I added some files in the texmf tree. But they are not found.
   7)  When running some old dvi files through a dvi driver, I get warnings
   8)  What is the best method to get pk fonts in a batch job?
   9)  What to do if I need the fonts for several modes?
  10)  Can I share the teTeX directory tree between different platforms?
  11) After mktexpk and mktextfm successfully generate fonts, kpathsea
  12) mktextfm runs Metafont with a mode that I do not like.
  14) How about adding program XYY or a macro package ABC to teTeX?
  15) I want to keep my files separate from the system's files. What do
      I need to do to make sure that tex+friends will find my files?
  16) How do I deinstall an old version of teTeX?
  17) How do I manage to execute the right binaries on each platform?
  20) Using the Shrink* Buttons in xdvi, I cannot get back to see the full
  21) Which is the right way of using the AMS fonts/macros with LaTeX?
  23) Some things do not work properly. What should I do now?
  24) I get a error message about "TeX capacity exceeded". What can I do?
  25) The scrollbars of xdvi do not make sense to me. How do I move backwards?
  26) Is teTeX freely redistributable?
  27) dvips, pdftex, dvipdfm and xdvi use the European A4 size as default
  28) Why does ghostview display of my texts look so much worse than
  29) Metafont does not support the X display.
  32) How can I get the Euro currency symbol?
  33) Font map files and enc files from my local texmf tree are not
      found by dvips / pdftex etc.
  34) texconfig, updmap and fmtutil just change my personal settings. How
      can I change global defaults in a multi-user setup?

Answers:

0)  Where can I get the teTeX distribution?

    teTeX can be downloaded from CTAN and CTAN mirrors, e.g.:
      ftp://ftp.dante.de/tex-archive/systems/unix/teTeX/
      ftp://ftp.tex.ac.uk/tex-archive/systems/unix/teTeX/
      ftp://ftp.duke.edu/tex-archive/systems/unix/teTeX/
      ftp://sunsite.auc.dk/pub/tex/ctan/systems/unix/teTeX/

1)  Is there a mailing list for teTeX?

    Yes. There is one list for discussion and one (moderated) list for
    announcements. The discussion list is
      tetex@dbs.uni-hannover.de
    and the announcement list is
      tetex-announce@dbs.uni-hannover.de
    To subscribe to one of these lists, send a message containing the line
        subscribe tetex
    or
        subscribe tetex-announce
    resp. to majordomo@dbs.uni-hannover.de . The majordomo server
    understands a few more commands. To get more help about our
    server, send a mail with the line 'help' in the body.
    Note that announcements are posted into both lists, so if you are
    interested in discussions and announcements, you only need to
    subscribe to the tetex list.

2)  Now that I know that there is a mailing list: is there an archive
    of the list?

    Yes. Just send a message with the line
        get tetex archive
    to majordomo@dbs.uni-hannover.de .

6)  I added some files in the texmf tree. But they are not found.
 
    You need to run texhash to update the ls-R file. See answer to 15)
    as well...

7)  When running some old dvi files through a dvi driver, I get warnings
    about checksum errors.

    The Postscript fonts are completely rearranged and the tfm files have
    different checksums. If you have the (La)TeX source of your document,
    you can get rid of the messages by running the sources through (La)TeX
    again.

8)  What is the best method to get pk fonts in a batch job?
 
    If you do have lots of dvi files (e.g. the documentation of teTeX),
    just run the allneeded script on them. It runs all those files
    through dvips (but output is send to /dev/null and not to a printer),
    and thus calculates all fonts that are needed to print these files
    (or preview with the same mode).

    Example:
         allneeded `kpsexpand '$TEXMFMAIN'`/doc >& /tmp/allneeded.log &

    The above command calculates the pk files for all the installed
    documentation in a background job.

    If you do not have many dvi files, you can use the allcm and/or
    allec scripts (allcm is for Computer Modern fonts, and allec for the
    ec fonts). You need to have LaTeX installed and the scripts calculate
    the fonts for all sizes and shapes that are used in typical LaTeX
    documents.
 
9)  What to do if I need the fonts for several modes?

    You only need the modes together with a printer or for previewing. You
    should add a dvips configuration file for each printer using texconfig
    and use the most common printing mode for previewing.
    Then, any of the above scripts in 8) (allneeded, allcm, allec) can be
    given an argument of the form -P PRINTER (where PRINTER must be a known
    printer for dvips). This will calculate the fonts with the mode of
    the printer PRINTER.

    Example:
         For dvips I have configured the printer lp to have the mode
         ljfour. To get all ec fonts with ljfour mode, I would enter:
 
         allec -P lp

    If you do not have a dvips configuration file that corresponds to a
    specific mode, you can still enter the mode on the command line.
    Note however, that you should specify the corresponding resolution
    as well.

    Example:
         To get all fonts in cx mode (CanonCX mode is used by many 300dpi
         printers), give the command:

         allcm -D 300 -mode cx

    The flags -D and -mode are directly passed down to dvips.

10)  Can I share the teTeX directory tree between different platforms?

    Yes. The only platform-specific directory is $TETEXDIR/bin. If you
    want to use the same teTeX tree on different platforms, just put
    the binaries for each platform into a different subdirectory of
    $prefix/bin, e.g
         /usr/local/teTeX/bin/i486-linux
         /usr/local/teTeX/bin/sparc-solaris2.4
    You can then mount the whole /usr/local/teTeX tree on all machines
    and share almost all the files between them.

11) After mktexpk and mktextfm successfully generate fonts, kpathsea
    complains and does not use the newly generated font.

    If you happen to see output like this:
       ...
       Transcript written on ecti1000.log.
       /usr/local/teTeX/texmf/fonts/tfm/jknappen/ec/ecti1000.tfm
       kpathsea: Appending font creation commands to missfont.log.
       ...
    then your shell is probably very broken. This problem is known with
    the original bash 1.14.3 that has many problems with exit codes and
    trap handling. Try the following line:

        sh -c 'exit 1'; echo $?

    The buggy bash gives 127 as result. Fixes for these problems have been
    available e.g. from the internet newsgroup gnu.bash.bug, so not all
    instances of bash 1.14.3 are broken. Later versions of bash should not
    have that bug.

12) mktextfm runs Metafont with a mode that I do not like.

    Use texconfig and select a different mode as default mode.

14) How about adding program XYY or a macro package ABC to teTeX?

    Well, there are some things to take into account:
        - I want to keep the size of the distribution small.
        - I have only a limited amount of time.
        - teTeX can be installed with a simple
            ./configure && make && make install
          on the most common UNIX platforms. Adding a new program could
          break the whole thing.
    Please, think about this before asking me to add something. But if a
    really useful thing can be added without much effort and disk space
    usage, I may decide to do that.

    Another possibility is, that things are added to the contrib directory
    of teTeX.

15) I want to keep my files separate from the system's files. What do
    I need to do to make sure that tex+friends will find my files?

    If you are a local site administrator, please make use of the texmf
    tree $TEXMFLOCAL; a single user installation of local additions
    should go into the texmf tree $HOME/texmf. Mirror the structure
    of the distributed texmf tree $TEXMFDIST. You can query the system
    about these locations (TEXMFLOCAL / TEXMFDIST) by running e.g.
      kpsewhich -var-value TEXMFLOCAL

    The structure of these trees follows the TeX Directory Structure
    (TDS) standard (revision 1.1). You can view this document by running
    the command
      texdoc tds

    The following sections of the uktug faq deal with this topic:
      $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-instpackages.html
      $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-wherefiles.html
      $TEXMFDIST/doc/help/faq/uktug-faq/FAQ-privinst.html

    If texdoc properly knows how to load some html code into your browser,
    you can view these pages by running e.g.
      texdoc FAQ-instpackages.html

    One thing mentioned in the uktug faq is so important that I want to
    repeat here: you should always run the command
      texhash
    after you have added some file into a texmf tree.

16) How do I deinstall an old version of teTeX?

    Well, the simple answer is: rm -rf. But there may be some more things
    you want to do. You may keep a backup of your .pk fonts or of some
    local files you added to $TEXMF before you remove the old directory
    tree. Note, however that from teTeX 0.2 to 0.3, there has been an
    update of the CM fonts (Knuth has updated the Metafont sources). So
    you may want to remove your old .pk files and have them recreated
    with the new sources.

    Another problem is, that there may be some symbolic links in
    /usr/local/{bin,man} (or a similar directory) after you remove the
    old teTeX directory tree and you may want to remove those links,
    too. A simple way to do this, is the following:

        cd /usr/local/bin
        sh -c 'for i in *; do test -s $i || echo $i; done'

    This loop echo'es all files with zero length, especially all stale
    symbolic links. If you want to remove all files that are shown by the
    command above, you can do this with:

        sh -c 'for i in *; do test -s $i || rm -f $i; done'

    You can repeat the above steps for other directories, as well 
    (e.g. /usr/local/man/man1 and /usr/local/man/man5).

17) How do I manage to execute the right binaries on each platform?

    Assuming that you have binaries for several platforms installed, your
    binaries are in $TETEXDIR/bin/PLATFORM. The first thing you can try is
    to set up your PATH with
        SYSDIR=`uname -m`-`uname -s`
        PATH=$TETEXDIR/bin/$SYSDIR:...
    You may need to rename the PLATFORM directories for this method.

    Another thing that may help is to include a local directory in your
    PATH (e.g. /usr/local/bin) and create symbolic links for the binaries:
        linux# ln -sf /usr/local/teTeX/bin/i486-linux/* /usr/local/bin
        sun# ln -sf /usr/local/teTeX/bin/sparc-solaris2.4/* /usr/local/bin
        ...

    If you do not like the uname-method for your PATH and the symlink
    method, you may consider installing a small wrapper program that
    calls the programs for the right platform. Install the wrapper in
    $TETEXDIR/bin and create a symbolic link for each binary.

    Here an example:
	TETEXDIR=/usr/local/teTeX
	cd $TETEXDIR/bin
	vi platf_wrapper 	# see script below ...
	chmod +x platf_wrapper
	list=`ls i486-linux`	# get a list of programs. 
	for i in $list; do
		ln -s platf_wrapper $i
	done

     Tell your users to include $TETEXDIR/bin in their PATH. Make sure
     that TETEXDIR is either set to an absolute path (e.g. /usr/local/teTeX)
     or to $SELFAUTODIR (but not $SELFAUTOPARENT), since the programs are
     now found one directory level earlier.

     Now the sample wrapper. Customize, if you need:

       #!/bin/sh
       
       # the path to the directories with the subdirs for each platform
       BINDIR=/usr/local/teTeX/bin
       
       # export the variable. If we are called again,
       # we do not need to recalculate.
       export THIS_PLATFORM
       
       case "$THIS_PLATFORM" in
         "")
           case "`uname -s`" in
             Linux)
               THIS_PLATFORM=i486-linux;;
             SunOS)
               THIS_PLATFORM=sparc-solaris2.4;;
             IRIX)
               THIS_PLATFORM=mips-irix5.3;;
             *)
               echo "$0: fatal error: system not detected." >&2
               exit 1
           esac;;
       esac
       
       exec $BINDIR/$THIS_PLATFORM/`basename $0` "$@"

20) Using the Shrink* Buttons in xdvi, I cannot get back to see the full
    page on the screen.

    The four buttons can be configured via X resources. Just add
    them either to your personal X resources (usually ~/.Xdefaults)
    or to xdvi's global configuration file XDvi which resides in
    $TEXMFMAIN/xdvi. Such a resource setting might look like this:
      XDvi*shrinkButton3: 6
    (This example configures button 3 to do a shrinking by a factor of 6).
    
    
21) Which is the right way of using the AMS fonts/macros with LaTeX?

    Just \usepackage{amsmath} and/or \usepackage{amsfonts}. Read
    the documentation in doc/latex/amsmath, doc/latex/amsfonts and
    doc/latex/amscls included in the distributed texmf tree.

    Do *not* \usepackage{amstex} (amstex.sty is just for compatibility
    with old documents and only for use in LaTeX's 2.09 compatibility mode).

    Add \usepackage{amssymb} to get full access to all AMS symbols.

23) Some things do not work properly. What should I do now?

    First, make sure that your "environment" is ok and run
      texconfig confall
    This gives you an idea about which binaries are found along your
    PATH and if you have set some environment variables that might
    confuse teTeX's programs. If in doubt, unset all variables that
    are set in the "environment variables" section of the output.

    If binaries other than teTeX's are found, then change the definition
    of your PATH. Put the directory containing teTeX's binaries earlier
    into your PATH, so that teTeX's binaries are found before any other
    TeX related stuff.

    Then, your ls-R file might be out of date. Run
      texhash
    and see if your problem goes away.

    If your problem is due to old LaTeX209 files that do not work with
    LaTeX2e, then read $TEXMF/doc/latex/base/clsguide.dvi.

    If you cannot solve your problem by yourself, then
      a) if you think your problem is a general question about TeX/LaTeX:
	ask in some Newsgroup, such as comp.text.tex for help, or try to
        contact a local TeX user group.
      b) if you think there is a bug in a package contained in teTeX:
        contact the maintainer of the package with a good bug report. Add my
        Email address in the Cc field of your bug report, if you want.
      c) if your problem seems to be teTeX specific (e.g. a problem with
        one of the binaries or shell-scripts), then report it to the
        teTeX mailing list (tetex@dbs.uni-hannover.de). Please
        provide the following information:

        * The version of teTeX you have. For example
                teTeX version is 3.0
          (the version information is displayed by running "texconfig conf").
 
        * The flavor of Unix you are running (Solaris, HP, Linux, etc), and
        its version. For example
                The system is Solaris 2.4

        * The output of the command 
                texconfig conf

        * Possibly a *short* TeX file you have problem running, and
        the whole output of `texcommand filename', say, until the
        first error.

24) I get a error message about "TeX capacity exceeded". What can I do?

    If there is a constant in the system's texmf.cnf file, just enlarge
    this (by editing the texmf.cnf file) and run the command
       texconfig init

25) The scrollbars of xdvi do not make sense to me. How do I move backwards?

    The scrollbars are what one calls Athena scrollbars. To scroll
    forward, click the left mouse button on the location you would want
    to scroll to the beginning of the displayed area. To scroll backward,
    click the right mouse button on where you want to scroll the beginning
    of the displayed area to. Click the middle mouse button for "dragging"
    the beginning of the displayed area around.

26) Is teTeX freely redistributable?

    Yes. All parts of teTeX have been classified as being free software.

27) dvips, pdftex, dvipdfm and xdvi use the European A4 size as default
    papersize. How do I change this to make letterpaper the default?

    Simple answer: use texconfig.
	texconfig paper letter

28) Why does ghostview display of my texts look so much worse than
    with xdvi?

    xdvi does antialiasing.  If your version of ghostscript is
    sufficiently new, it has the x11alpha device.  Check for this with
      gs -h
    If it has, then putting
      Ghostview*arguments: -sDEVICE=x11alpha
    in your .Xdefault file (typically) will make ghostview use an
    anti-aliasing display as well, at the cost of display speed.

29) Metafont does not support the X display.
    It may be that your Metafont binary is compiled without support for
    the X windows system. If there exists a mfw binary, that one
    has the missing X support you need.

32) How can I get the Euro currency symbol?

    In LaTeX, use the marvosym package (documentation: texdoc marvodoc).
    It provides several Euro symbol by the command \EUR. The variants
    \EURtm, \EURhv and \EURcr match are designed to be used together
    with the fonts Times, Helvetica and Courier respectively.

33) Font map files and enc files from my local texmf tree are not found
    by dvips / pdftex etc.

    With version 1.1 of the TeX Directory Structure, the location for
    these files was changed. These files are font files and are now
    stored in fonts/{map,enc}/<syntax>/<package>. So, the solution to
    your problem is to rearrange these files in your tree and then call
    the command texhash. More help is given in the release notes section
    of the teTeX manual (run the command "texdoc TETEXDOC" to read it)
    and on the web page http://www.tug.org/texlive/mapenc.html.

34) texconfig, updmap and fmtutil just change my personal settings. How
    can I change global defaults in a multi-user setup?

    Simple answer: use the -sys variant of the tool: texconfig-sys,
    updmap-sys and fmtutil-sys.
