[ previous ] [ Contents ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ next ]
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.
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.
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.
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...
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.
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.
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
.
The following TEXMF trees are available:
Default location: $HOME/.texmf-config/
Contains user-specific configuration
Default location: $HOME/.texmf-var/
Contains user-specific generated files
Default location: $HOME/texmf/
Contains user-specific static input files
Default location: /etc/texmf
Contains system-wide configuration
Default location: /var/lib/texmf/
Contains system-wide generated files
Default location: /usr/local/share/texmf/
Contains system-wide input files
Default location: /usr/share/texmf/
Contains system-wide, dpkg
-managed input files (TeX add-on
packages)
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 $debian-tetex-maint@lists.debian.org