home *** CD-ROM | disk | FTP | other *** search
/ ftp.muug.mb.ca / 2014.06.ftp.muug.mb.ca.tar / ftp.muug.mb.ca / pub / tex / muugtalk / FAQ-teTeX < prev    next >
Text File  |  1996-06-03  |  14KB  |  345 lines

  1. This is the FAQ for teTeX -- a TeX distribution for UNIX compatible
  2. systems. If you have questions about some points that remain unclear,
  3. or if you think that things could be described better, just drop me
  4. a line. My Email address:
  5.  
  6.         te@informatik.uni-hannover.de (Thomas Esser)
  7.  
  8.  
  9. This article includes answers to:
  10.   1) Is there a mailing list for teTeX?
  11.   2) Now that I know that there is a mailing list: is there an archive
  12.      of the list?
  13.   3) I use PostScript fonts in my documents. When previewing with xdvi,
  14.      MakeTeXPK sometimes hangs in gsftopk.
  15.   4) I moved the binaries to a different location. Now, tex says:
  16.      ``I can't find the default format file!''.
  17.   5) I added some files in the texmf tree. But they are not found.
  18.   6) When running some old dvi files through a dvi driver, I get warnings
  19.      about checksum errors.
  20.   7) What is the best method to get pk fonts in a batch job?
  21.   8) What to do if I need the fonts for several modes?
  22.   9) Can I share the teTeX directory tree between different platforms?
  23.  10) I use GNU bash 1.14.3. Why do some scripts not work properly?
  24.  11) MakeTeXTFM runs Metafont with a mode that I do not like.
  25.  12) Is there an easy way to copy .tfm or .pk fonts from a temporal directory
  26.      to their standard directory below $TEXMF?
  27.  13) How about adding program XYY or a macro package ABC to teTeX?
  28.  14) Where should I keep my local stuff (programs, macros, ...)?
  29.  15) How do I deinstall an old version of teTeX?
  30.  16) Who do I manage to execute the right binaries on each platform?
  31.  17) Why does not install.sh call fontimport to copy the fonts from my
  32.      previous teTeX installation?
  33.  
  34.  
  35. Answers:
  36.  
  37. 1)  Is there a mailing list for teTeX?
  38.  
  39.     Yes. The list is tetex@informatik.uni-hannover.de. To subscribe, send
  40.     a message containing the line
  41.         subscribe tetex
  42.     to majordomo@informatik.uni-hannover.de . The majordomo server does
  43.     understand a few more commands. To get more help about our server,
  44.     send a mail wilh the line 'help' in the body.
  45.  
  46. 2)  Now that I know that there is a mailing list: is there an archive
  47.     of the list?
  48.  
  49.     Yes. Just send a message with the line
  50.         get tetex archive
  51.     to majordomo@informatik.uni-hannover.de .
  52.  
  53. 3)  I use PostScript fonts in my documents. When previewing with xdvi,
  54.     MakeTeXPK sometimes hangs in gsftopk.
  55.  
  56.     There are known problems with gs3.XXX when using gsftopk. Solution:
  57.     use GNU gs2.6.2.
  58.  
  59. 4)  I moved the binaries to a different location. Now, tex says:
  60.     ``I can't find the default format file!''
  61.  
  62.     The modified Kpathsea library (a library to locate files on disks,
  63.     written by Karl Berry) used in the teTeX distribution set the
  64.     variables SELFAUTODIR and SELFAUTOPARENT relative to the location of
  65.     the binary.
  66.  
  67.     SELFAUTODIR is the directory one level above the directory containing the
  68.     binary and SELFAUTOPARENT is its parent directory.
  69.  
  70.     Example1: assuming xdvi is found in /usr/tex/bin/i486-linux/xdvi.
  71.           => SELFAUTODIR:         /usr/tex/bin
  72.           => SELFAUTOPARENT:      /usr/tex
  73.  
  74.     Example2: assuming xdvi is found in /usr/tex/bin/xdvi.
  75.           => SELFAUTODIR:         /usr/tex
  76.           => SELFAUTOPARENT:      /usr
  77.  
  78.     The file texmf.cnf is searched for in $SELFAUTODIR, $SELFAUTOPARENT,
  79.     $TETEXDIR. If the file texmf.cnf if not found, set the TETEXDIR variable
  80.     in your environment.
  81.  
  82.     But even if the texmf.cnf file is found, there may be an incorrect
  83.     definition of TETEXDIR in the file. Check the following:
  84.  
  85.     In example1, you could use TETEXDIR=$SELFAUTOPARENT and in example2
  86.     TETEXDIR=$SELFAUTODIR. A simpler setting for TETEXDIR could simply
  87.     be TETEXDIR=/usr/tex in both cases. This can be convinient if you
  88.     are not going to change the location of your teTeX tree.
  89.  
  90. 5)  I added some files in the texmf tree. But they are not found.
  91.  
  92.     You need to run texhash to update the ls-R file. See answer to 14)
  93.     as well...
  94.  
  95. 6)  When running some old dvi files through a dvi driver, I get warnings
  96.     about checksum errors.
  97.  
  98.     The PostScript fonts are completely rearranded and the tfm files have
  99.     different checksums. If you have the (La)TeX source of your document,
  100.     you can get rid of the messages by running the sources through (La)TeX
  101.     again.
  102.  
  103. 7)  What is the best method to get pk fonts in a batch job?
  104.  
  105.     If you do have lots of dvi files (e.g. the documentation of teTeX),
  106.     just run the allneeded script on them. If does run all those files
  107.     through dvips (but output is send to /dev/null and not to a printer),
  108.     and thus calculates all fonts that are needed to print these files
  109.     (or preview with the same mode).
  110.  
  111.     Example:
  112.          allneeded `kpsexpand '$TEXMF'`/doc >& /tmp/allneeded.log &
  113.  
  114.     The above command calculates the pk files for all the installed
  115.     documentation in a background job.
  116.  
  117.     If you do not have many dvi files, you can use the allcm and/or
  118.     alldc scripts (allcm is for Computer Modern fonts, and alldc for the
  119.     DC fonts). You need to have LaTeX installed and the scripts calculate
  120.     the fonts for all sizes and shapes that are used in typical LaTeX
  121.     documents. allcm and alldc produce lots of warnings. You can just
  122.     ignore them.
  123.  
  124. 8)  What to do if I need the fonts for several modes?
  125.  
  126.     You only need the modes together with a printer or for previewing. You
  127.     should add a dvips configuration file for each printer using texconfig
  128.     and use the most common printing mode for previewing.
  129.     Then, any of the above scrips in 7) (allneeded, allcm, alldc) can be
  130.     given an argument of the form -P PRINTER (where PRINTER must be a known
  131.     printer for dvips). This will calculate the fonts with the mode of
  132.     the printer PRINTER.
  133.  
  134.     Example:
  135.          For dvips I habe configured the printer lp to have the mode
  136.          ljfour. To get all DC fonts with ljfour mode, I would enter:
  137.  
  138.          allcm -P lp
  139.  
  140.     If you do not have a dvips configuration file that corresponts to a
  141.     specific mode, you can still enter the mode on the commandline.
  142.     Note however, that you should specify the corresponding resolution
  143.     as well.
  144.  
  145.     Example:
  146.          To get all fonts in cx mode (CanonCX mode is used by many 300dpi
  147.          printers), give the command:
  148.  
  149.          allcm -D 300 -mode cx
  150.  
  151.     The flags -D and -mode are directly passed down to dvips.
  152.  
  153. 9)  Can I share the teTeX directory tree between different platforms?
  154.  
  155.     Yes. The only platforms specific directory is $TETEXDIR/bin. If you
  156.     want to use the same teTeX tree by different platforms, just put
  157.     the binaries for each platform into a different subdirectory of
  158.     $TETEXDIR/bin, e.g
  159.          /usr/local/TeX/bin/i486-linux
  160.          /usr/local/TeX/bin/sparc-solaris2.4
  161.     You can then mount the whole $TETEXDIR tree on all machines and
  162.     share almost all the files between them.
  163.  
  164. 10) I use GNU bash 1.14.3. Why do some scripts not work properly?
  165.  
  166.     The shell is propably very broken. The original bash 1.14.3 has many
  167.     problems with exit codes and trap handling. Try the following line:
  168.  
  169.         bash -c 'exit 1'; echo $?
  170.  
  171.     The buggy bash gives 127 as result. Fixes for these problems have been
  172.     available e.g. from the internet newsgroup gnu.bash.bug, so not all
  173.     instances of bash 1.14.3 are broken. The current bash (now: 1.14.5)
  174.     does work fine with all script in teTeX.
  175.  
  176. 11) MakeTeXTFM runs Metafont with a mode that I do not like.
  177.  
  178.     Use texconfig and select a different mode as default mode.
  179.  
  180. 12) Is there an easy way to copy .tfm or .pk fonts from a temporal directory
  181.     to their standard directory below $TEXMF?
  182.  
  183.     Yes. Use the fontimport utility. If your want to turn off the "varfonts"
  184.     feature for fontimport, set USE_VARFONTS to false in the environment.
  185.  
  186.     An easy method to move your fonts from, e.g. $VARFONTS to their
  187.     "final" standard place is the following (can be used e.g. for a cron
  188.     command):
  189.  
  190.         env USE_VARFONTS=false fontimport -d `kpsexpand '$VARFONTS'`; texhash
  191.  
  192. 13) How about adding program XYY or a macro package ABC to teTeX?
  193.  
  194.     Well, there are some things to take into account:
  195.         - I want to keep the size of the distribution small.
  196.         - I have only a linited ammount of time.
  197.         - teTeX can be installed with a simple 'make world' on the most
  198.           common UNIX platforms. Adding a new program could break the whole
  199.           thing.
  200.     Please think about this before asking me to add something. But if a
  201.     really useful thing can be added without much effort and disk space
  202.     usage, I may decide to do that.
  203.  
  204.     Another possibility is, that things are added to the contrib directory
  205.     of teTeX.
  206.  
  207. 14) Where should I keep my local stuff (programs, macros, ...)?
  208.  
  209.     I suggest to use a different directory tree and to adjust the search
  210.     paths in the texmf.cnf file.
  211.  
  212.     Example: let us assume that you keep your local TEXMF tree
  213.       in /usr/local/TeX.extra/texmf and you keep the same structure
  214.       there that I usesed in the TEXMF tree of teTeX. You should modify
  215.       your texmf.cnf like this (but do not break the lines):
  216.  
  217.     TEXMFLOCAL=/usr/local/TeX.extra/texmf
  218.     TEXINPUTS.latex=$KPSE_DOT:!!$TEXMF/tex/latex//:!!$TEXMF/tex//:
  219.           $TEXMFLOCAL/tex/latex//:$TEXMFLOCAL/tex//
  220.     TEXINPUTS.tex=$KPSE_DOT:!!$TEXMF/tex//:$TEXMFLOCAL/tex//
  221.     MFINPUTS=$KPSE_DOT:!!$TEXMF/metafont//:!!$FONTDIR/source//:
  222.           $TEXMFLOCAL/metafont//:$TEXMFLOCAL/fonts/source//
  223.     VFFONTS=!!$FONTDIR/vf//:$KPSE_DOT
  224.     TFMFONTS=!!$FONTDIR/tfm//:TEXMFLOCAL/fonts/tfm//:
  225.       VARFONTS/tfm//:$KPSE_DOT
  226.     ...
  227.  
  228. 15) How do I deinstall an old version of teTeX?
  229.  
  230.     Well, the simple answer is: rm -rf. But there may be some more
  231.     things you want to do. You may keep a backup of your .pk fonts or of
  232.     some local files you added to $TEXMF (see question 14, too) before
  233.     you remove the old directory tree. Note, however that from teTeX 0.2
  234.     to 0.3, there has been an update of the CM fonts (Knuth has updated
  235.     the Metafon sources). So you may want to remove your old .pk files
  236.     and have them recreated with the new sources.
  237.  
  238.     Another problem is, that the may be some symbolic links in
  239.     /usr/local/{bin,man} (or a similar directory) after you remove the
  240.     old teTeX directory tree and you may want to remove those links,
  241.     too. A simple way to do this, is the following:
  242.  
  243.         cd /usr/local/bin
  244.         sh -c 'for i in *; do test -s $i || echo $i; done'
  245.  
  246.     This loop echo'es all files with zero length, especially all stale
  247.     symbolic links. If you want to remove all files that are shown by the
  248.     command above, you can do this with:
  249.  
  250.         sh -c 'for i in *; do test -s $i || rm -f $i; done'
  251.  
  252.     You can repeat the above steps for other directories, as well 
  253.     (e.g. /usr/local/man/man1 and /usr/local/man/man5).
  254.  
  255. 16) Who do I manage to execute the right binaries on each platform?
  256.  
  257.     Assuming that you have binaries for several platformes installed, your
  258.     binaries are in $TETEXDIR/bin/PLATFORM. The first thing you can try is
  259.     to set up your PATH with
  260.         SYSDIR=`uname -m`-`uname -s`
  261.         PATH=$TETEXDIR/bin/$SYSDIR:...
  262.     You may need to rename the PLATFORM directories ofr this method.
  263.  
  264.     Another thing that may help is to include a local directory in your
  265.     PATH (e.g. /usr/local/bin) and create symbolic links for the binaries:
  266.         linux# ln -sf /usr/local/teTeX/bin/i486-linux/* /usr/local/bin
  267.         sun# ln -sf /usr/local/teTeX/bin/sparc-solaris2.4/* /usr/local/bin
  268.         ...
  269.  
  270.     If you do not like the uname-method for your PATH and the symlink
  271.     method, you may consider insatlling a small wrapper program that
  272.     calls the programs for the right platform. Install the wrapper in
  273.     $TETEXDIR/bin and create a symbolic link for each binary.
  274.  
  275.     Here an example:
  276.     TETEXDIR=/usr/local/teTeX
  277.     cd $TETEXDIR/bin
  278.     vi platf_wrapper     # see script below ...
  279.     chmod +x platf_wrapper
  280.     list=`ls i486-linux`    # get a list of programs. 
  281.     for i in $list; do
  282.         ln -s platf_wrapper $i
  283.     done
  284.  
  285.      Tell your users to include $TETEXDIR/bin in their PATH. Make sure
  286.      that TETEXDIR is either set to an absolute path (e.g. /usr/local/teTeX)
  287.      or to $SELFAUTODIR (but not $SELFAUTOPARENT), since the programs are
  288.      now found one directory level earlier.
  289.  
  290.      Now the sample wrapper. Customize, if you need:
  291.  
  292.        #!/bin/sh
  293.        
  294.        # the path to the directories with the subdirs for each platform
  295.        BINDIR=/usr/local/teTeX/bin
  296.        
  297.        # export the variable. If we are called again,
  298.        # we do not need to recalculate.
  299.        export THIS_PLATFORM
  300.        
  301.        case "$THIS_PLATFORM" in
  302.          "")
  303.            case "`uname -s`" in
  304.              Linux)
  305.                ldd=`/usr/bin/ldd /bin/ls 2>/dev/null`
  306.                case "$ldd" in
  307.                  *libc.so.5*)
  308.                    THIS_PLATFORM=i486-linux;;
  309.                  *)
  310.                    THIS_PLATFORM=i486-linuxaout;;
  311.                esac;;
  312.              SunOS)
  313.                case "`uname -r`" in
  314.                  5*)
  315.                    THIS_PLATFORM=sparc-solaris2.4;;
  316.                  *)
  317.                    THIS_PLATFORM=sparc-sunos4.1.3;;
  318.                esac;;
  319.              IRIX)
  320.                THIS_PLATFORM=mips-irix5.3;;
  321.              AIX)
  322.                THIS_PLATFORM=rs6000-aix3.2;;
  323.              OSF1)
  324.                case "`uname -r`" in
  325.                  V3*)
  326.                    THIS_PLATFORM=alpha-osf2.0;;
  327.                  *)
  328.                    THIS_PLATFORM=alpha-osf2.0;;
  329.                esac;;
  330.              HP-UX)
  331.                THIS_PLATFORM=hppa1.1-hpux9.01;;
  332.              *)
  333.                echo "$0: falal error: system not detected." >&2
  334.                exit 126
  335.            esac;;
  336.        esac
  337.        
  338.        exec $BINDIR/$THIS_PLATFORM/`basename $0` "$@"
  339.  
  340. 17) Why does not install.sh call fontimport to copy the fonts from my
  341.     previous teTeX installation?
  342.  
  343.     Knuth has updated the Metafont sources. You get better .pk fonts if
  344.     you recalculate them. See also the ansers 7) and 8).
  345.