[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]


Debian-specific information about the teTeX packages
Chapter 2 - Changing your configuration, file placement


2.1 General hints


2.1.1 System-wide versus user-specific configuration

Since version 3.0, teTeX supports a complete user-specific configuration setup in the user's home directory. System administrators must use the commands texconfig-sys, fmtutil-sys and updmap-sys which act on the system-wide configuration files. Users can invoke their user counterparts texconfig, fmtutil and updmap. This will put copies of the system-wide configuration files into the user's TEXCONFIG directory (by default, $HOME/.texmf-config), modify them and generate according formats, if applicable.


2.1.2 Configuration file placement

On a TeX system, in principle every TeX input file can be used to change the behavior of the system and hence could be treated as a configuration file. To avoid an inflation of configuration files, teTeX does not ship any TeX input files as configuration files. Instead, local admins can take any file they want from the TEXMFDIST (/usr/share/texmf-tetex) or TEXMFMAIN (/usr/share/texmf) trees and put changed copies into the respective directories below /etc/texmf.

Since the package management system does not know whether a file is treated as a configuration file on a specific system, it is up to the site admin or local user to check whether one of their configuration files has changed in TEXMFMAIN or TEXMFDIST.


2.1.3 What is configured where?

The central system-wide configuration files texmf.cnf (which controls the basic operation and file search paths for the included programs), fmtutil.cnf (which specifies the available TeX formats), updmap.cfg (font configuration) and language.dat (hyphenation patterns for many formats) are handled through a Debian-specific mechanism that allows the teTeX packages, add-on packages and local administrators to combine their changes (see below).

For some configuration changes, there is a program called texconfig-dialog (or simply texconfig for a commandline frontend); alternatively, you can of course make the necessary changes in configuration files by hand.


2.2 Hyphenation

Hyphenation should pretty much work out of the box. There have been some changes in the past — see NEWS.Debian and changelog.Debian — but currently (nearly) all available patterns are enabled. If you want to use a reduced set of hyphenation patterns (which might gain you a trifle more speed), you can exclude them from the format file by changing the file specified in the third column of fmtutil.cnf — usually language.dat — and rebuild the formats with fmtutil or fmtutil-sys. Please note that in Debian, language.dat is a generated file (see The files texmf.cnf, fmtutil.cnf, updmap.cfg and language.dat, Section 2.3).

For users of the norwegian and ukranian languages, there are several alternatives. For norwegian, there are different sets of patterns, and upstream chose nohyphb.tex. Details can be found in /usr/share/texmf/doc/generic/nohyph/README.nohyph — you can choose another one by editing language.dat or rather /etc/texmf/language.d/01tetex.cnf.

For ukranian, the right pattern file depends on the output encoding (see /usr/share/texmf/tex/generic/ukrhyph/ukrhyph.tex); you can also choose different rule sets in the file.

There are currently no free hyphenation patterns for british english. Before enabling british/UKenglish, you need to get the non-free ukhyphen.tex - otherwise the format generation will fail. Don't forget to complain to the UK TUG about how annoying this is...


2.3 The files texmf.cnf, fmtutil.cnf, updmap.cfg and language.dat

These files contain configuration options from teTeX itself, possibly from you, and from other TeX-related packages. They are generated by scripts and should not be edited directly. Rather, you should edit the source files, or add new ones. Note that this only applies to the system-wide versions of these files; currently, changes to existing items made by teTeX updates or add-on packages will not be propagated to the user's files. Since all texmf.cnf files are read, with earlier definitions taking precedence over later ones, it is best to keep only a minimal set of definitions in the user-specific file.

In order to make updates smooth, you should avoid editing these files as far as possible, and instead add new files to change settings. For texmf.cnf snippets, this is particularly easy, since earlier entries override any later entries. Only for removing settings completely from fmtutil.cnf, updmap.cfg or language.dat is it necessary to edit existing files.


2.3.1 texmf.cnf and update-texmf

The TeX binaries are built to look for texmf.cnf (the master config file for TeX and MetaFont) in /usr/share/texmf/web2c/texmf.cnf (or $HOME/.texmf-config/web2c/texmf.cnf if it exists). The system-wide file is a symbolic link to /etc/texmf/texmf.cnf. The Debian packaging includes a mechanism for constructing texmf.cnf from a collection of files under /etc/texmf/texmf.d/. To customize texmf.cnf while retaining the Debian-supplied configuration, create an appropriate file (or files) in /etc/texmf/texmf.d/, or change the files supplied by teTeX, and then run update-texmf. This will generate the desired texmf.cnf for you.

You should not edit this file directly! While changes made by the local administrator will not be overwritten, they will cause you trouble once the teTeX packages or some other TeX-related package is updated. You will be shown the differences between the edited and the newly generated file. We will try to merge our and your changes, but that might not always work, and you will probably have to edit again.

Therefore, if you want a smooth upgrade, please edit the files in /etc/texmf/texmf.d, or create an additional one, and invoke update-texmf. This will write your changes into /etc/texmf/texmf.cnf.

You should name your customization file something like 40macros.cnf; the leading numerals will decide the order in which configuration fragments will be assembled by update-texmf, so it might be important to place your customizations in an appropriate place in the sequence — earlier definitions take precedence over later ones.


2.3.2 fmtutil.cnf and update-fmtutil, updmap.cfg and update-updmap, language.dat and update-language

These files are also generated files, just as it has been explained above for texmf.cnf. The difference to texmf.cnf is that these files will be put into /var/lib/texmf/web2c, and any change made in these files will be unconditionally overwritten by update-fmtutil, update-language and update-updmap, respectively. Only the files in /etc/texmf/updmap.d/, /etc/texmf/fmt.d/ and /etc/texmf/language.d/ will be treated as configuration files.

Just as for texmf.cnf, the right way to change settings is to edit or add files in /etc/texmf/updmap.d/, /etc/texmf/fmt.d/ or /etc/texmf/language.d/. The details have been described above (see texmf.cnf and update-texmf, Section 2.3.1). Note, however, that the extension for updmap.cfg snippets in /etc/texmf/updmap.d/ is .cfg, not .cnf.


2.4 Available TEXMF trees for users and system administrators

The following TEXMF trees are available:

TEXMFCONFIG

Default location: $HOME/.texmf-config/

Contains user-specific configuration

TEXMFVAR

Default location: $HOME/.texmf-var/

Contains user-specific generated files

TEXMFHOME

Default location: $HOME/texmf/

Contains user-specific static input files

TEXMFSYSCONFIG

Default location: /etc/texmf

Contains system-wide configuration

TEXMFSYSVAR

Default location: /var/lib/texmf/

Contains system-wide generated files

TEXMFLOCAL

Default location: /usr/local/share/texmf/

Contains system-wide input files

TEXMFMAIN

Default location: /usr/share/texmf/

Contains system-wide, dpkg-managed input files (TeX add-on packages)

TEXMFDIST

Default location: /usr/share/texmf-{tetex,texlive}

Contains system-wide, dpkg-managed input files (basic TeX packages)

If you want to add files, you should usually use TEXMFLOCAL or TEXMFHOME, depending on whether you are the system administrator or a user. If needed, a system administrator can add additional trees to the TEXMF variable in /etc/texmf/texmf.d/05TeXMF.cnf (earlier entries take precedence). TEXMFCONFIG and TEXMFVAR are used by the user-specific texconfig, updmap, and fmtutil commands. Note that these commands create a copy of the configuration files in TEXMFMAIN (or rather /etc/texmf) at the time they are first invoked, and do not track later system-wide changes!


[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]


Debian-specific information about the teTeX packages

generated from $Id: README.Debian.sgml 1383 2006-05-24 16:07:24Z frank $

The Debian teTeX mailing List debian-tetex-maint@lists.debian.org