update-fmtlang (8) - Linux Manuals

update-fmtlang: update


update-language, update-fmtutil, update-fmtlang - update various TeX-related configuration files


update-language [options]
update-fmtutil [options]


This manual page explains briefly the usage of the three TeX configuration update programs update-language and update-fmtutil.

The update-fontlang script should not be called directly, but only via the two described links. For a more in-depth description, please see the document TeX on Debian in /usr/share/doc/tex-common/TeX-on-Debian.txt.gz (also available as HTML and PDF).

The programs update-language and update-fmtutil create or update the configuration files language.dat and fmtutil.cnf, respectively. These files define the hyphenation patterns to be loaded into LaTeX-related TeX formats (language.dat), and the list of formats to be created (fmtutil.cnf).

These programs can be used either in system-wide mode if called by root, or in a user-specific mode if called by a user without super-user privileges.


-c DIR, --conf-dir=DIR
directory where the user-specific configuration files are looked for in user-specific mode (default TEXMFCONFIG/language.d for update-language and TEXMFCONFIG/fmt.d for update-fmtutil, where TEXMFCONFIG is usually $HOME/.texmf-config).
-o FILE, --output-file=FILE
file to write the output to. Per default, in system-wide mode, update-language writes to /var/lib/texmf/tex/generic/config/language.dat and update-fmtutil writes to /var/lib/texmf/web2c/fmtutil.cnf.
perform sanity checks on the generated config file. Don't use this in maintainer scripts.
don't write anything to the standard output during normal operation
print a summary of the command-line usage and exit
output version information and exit


In system-wide mode, both programs merge those files ("configuration snippets") with a specific extension in the respective configuration directories to produce the final file. These configuration directories and extensions are language.d and .cnf for update-language, and fmt.d and .cnf for update-fmtutil. In system-wide mode, these directories are those under /etc/texmf/. Both TeX add-on packages and local administrators can add files to these directories.

If a package that provides such snippets is removed but not purged, including the snippet will likely break the system. To prevent the inclusion in these cases, snippets installed by packages have to contain a magic header:

# -_- DebPkgProvidedMaps -_-

which local administrators should not remove. From the files with a magic header, only those files which are also listed in one of the files in /var/lib/tex-common/language-cnf/ for update-language, and /var/lib/tex-common/fmtutil-cnf/ for update-fmtutil, are actually included into the final output file. This way, local changes to the configuration can be preserved while the package is in state 'rc' (that is, the package is removed, but its configuration files are still present). For details about this mechanism, package maintainers should consult the Debian TeX Policy. As a special case, the files for JadeTeX and xmlTeX are only included if there is already a file for the LaTeX format (see TeX on Debian for details).

The user-specific mode provides a way for a non-admin user to override system-wide settings. In this mode, update-language writes to TEXMFVAR/tex/generic/config/language.dat, and update-fmtutil writes to TEXMFVAR/web2c/fmtutil.cnf, where TEXMFVAR is usually $HOME/.texmf-var. Furthermore, files present within the user-specific configuration directories are included in addition to the files present in the system-wide configuration directories. In case the same filename exists in the system-wide configuration directory and the user-specific configuration directory, the user-specific file is used instead of the system-wide one. The user-specific configuration directories are TEXMFCONFIG/language.d for update-language and TEXMFCONFIG/fmt.d for update-fmtutil, where TEXMFCONFIG is usually $HOME/.texmf-config. The system-wide configuration directories have the same names, but are located in /etc/texmf/ instead of TEXMFCONFIG.

Note that changes introduced by updates of packages are not propagated to the user's configuration files. This has to be done by hand.


This file is generated or updated by update-language in system-wide mode and contains a list of the hyphenation patterns loaded into LaTeX-based formats by fmtutil-sys.
This file is generated or updated by update-fmtutil in system-wide mode and contains a list of formats to be generated by fmtutil-sys.
Input files for update-language
Input files for update-fmtutil
Lists the file(s) installed by package in /etc/texmf/language.d/.
Lists the file(s) installed by package in /etc/texmf/fmt.d/.


This manual page was written by Norbert Preining <preining [at] debian.org> for the Debian distribution (and may be used by others). It was later updated by Florent Rougon <f.rougon [at] free.fr>.


fmtutil(1), fmtutil-sys(1)
The programs actually using the generated configuration files (language.dat and fmtutil.cnf).
TeX on Debian Documentation
to be found in /usr/share/doc/tex-common/TeX-on-Debian.txt.gz (also available as HTML and PDF), describing in more detail how to setup and maintain a TeX system in Debian. It also includes details on user-specific configuration.
Debian TeX Policy
to be found in /usr/share/doc/tex-common/Debian-TeX-Policy.txt.gz (also available as HTML and PDF), describing the internals and the TeX Policy established on the Debian TeX mailing-list (debian-tex-maint [at] lists.debian.org). Intended audience is mainly developers packaging TeX-related resources for Debian.
a debhelper-like script for managing the installation of files into the system-wide configuration directories; this script helps to write Debian packages containing TeX-related resources that conform to the Debian TeX Policy.