dh_installtex (1) - Linux Manuals

dh_installtex: register Type 1 fonts, hyphenation patterns, or formats with TeX


dh_installtex - register Type 1 fonts, hyphenation patterns, or formats with TeX


dh_installtex [debhelper options] [-n] [--flavor=flavor[,flavor]] [map=MixedMap,file.map] [map=Map,file.map] [map=KanjiMap,file.map] [mapfile=file.cfg] [hyphen=lang,file[,lhm=n][,rhm=n][,synonym=syn,...]] [hyphenfile=file.cnf] [format=format,engine,hyphenfile,rest args] [formatfile=file.cnf]


dh_installtex is a debhelper program that is responsible for updating the ls-R databases, registering map files, new formats, and new hyphenation patterns with TeX.

Your package should depend on an appropriate version of tex-common so that the update-* commands are available. (This program adds that dependency to ${misc:Depends}.)

WARNING This program does not check for the actual existence of any input files in TEXMF trees. If you call it without any further specification on which packages to work on (using "-p" or "-N") it will add calls to management functions to all packages. In this case don't forget to add ${misc:Depends} to all packages' dependencies.

SIMPLE USAGE: Registering Files

If you only install files into /usr/share/texmf, nothing has to be done, tex-common will automatically detect changes and run mktexlsr.

COMPLEX USAGE: Registering fonts, hyphenation patterns and formats

If in addition, you have to install map files, hyphenation patterns for additional languages, or format definitions you can use three different methods to specify what should be installed:

1) Pre made config files: These files can be specified with the different typefile= options. type can be one of map, format and hyphen, and these files will be installed into /var/lib/tex-common/configdir/ for the respective type (fontmap-cfg for map files, hyphen-cnf for hyphenation patterns, and fmtutil-cnf for format definitions).


        dh_installtex mapfile=foo.cfg formatfile=debian/bar.cnf

would install foo.cfg as /var/lib/tex-common/fontmap-cfg/texmf/foo.cfg, and debian/bar.cnf as /var/lib/tex-common/fmtutil-cnf/texmf/bar.cnf.

2) Directly on the cmd line: You can specify maps, formats, and hyphenations on the cmd line. The items are stored in the respective config file 20package


        dh_installtex map=Map,foo.map hyphen=ngerman-x-2011-07-01,dehyphn-x-2011-07-01.tex,hyph-de-1996.pat.txt,lhm=2,rhm=2,synonym=ngerman-x-latest,exceptions=hyph-de-1996.hyp.txt

would install a file /var/lib/tex-common/fontmap-cfg/texmf/package.cfg containing the line

        Map foo.map

and a file /var/lib/tex-common/hyphen-cnf/texmf/package.cnf containing the lines

    name=ngerman-x-2011-07-01 file=dehyphn-x-2011-07-01.tex file_patterns=hyph-de-1996.pat.txt lefthyphenmin=2 righthyphenmin=2 synonym=ngerman-x-latest file_exceptions=hyph-de-1996.hyp.txt

3) Package files: You create a file debian/package.maps or debian/maps, debian/package.hyphens or debian/hyphens, debian/package.formats or debian/formats. These files are installed with the name of the package. Each of these files will be installed into the first package dh_installtex is told to act on. By default this is the first binary package in debian/control, but if you use -p, -i, or -a flags, it will be the first package specified by those flags.



would install a present debian/package.formats file as /var/lib/tex-common/fmtutil-cnf/texmf/package.cnf.

Mixing the different variants

The command line items (Variant 2) are merged into the debian/package.maps (debian/package.hyphens, debian/package.formats) file. If you specify an additional package.cfg/cnf (Variant 1) this will raise an error since both files would be installed as package.cfg/cnf.


-n, --noscripts
Do not modify postinst/prerm scripts.
This option is used to select a different tree then the default /usr/share/texmf, and to switch on additional options. The argument specify a list from flavors to be selected. At the moment you can select from the following list of flavors: tree:texlive, map:config_for_active_maps, map:config_for_all_maps, format:add_one:formatname.

tree:texlive will select the tree /usr/share/texlive/texmf-dist and should only be used for files installed into this tree.

map:config_for_active_maps will create a file config.bar for each active (i.e. uncommented) map in each of the cfg file generated by one of the three methods described above. These files are installed in /usr/share/texmf/dvips/config/.

If you select map:config_for_all_maps the script will generate config.bar even for those map files which are present in a cfg file, but deactivated by a comment.

The file config.bar is used when called by `dvips -Pbar ...'. Thus it allows the activation of single map files even if they are not automatically activated via the updmap(-sys) mechanism.

Default is not to generate any config files.

format:add_one:formatname allows one to add the generation of a specific format without actually providing it (in a cnf file). This is useful if a package adds hyphenation patterns to an existing formats.

format:no_links: Usually, for every format that is specified in a configuration file, dh_installtex will create a symlink /usr/bin/format that points to the corresponding engine. For example, /usr/bin/latex would be created as a symlink to pdftex.

The flavor format:no_links inhibits this. If a link already exists, dh_installtex will skip this format with an informational message, even if this option is not given.


``dh_installtex'' adds a dependency relation onto tex-common to misc:Depends.

Note that this command is not idempotent. ``dh_clean -k'' should be called between invocations of this command, unless using the -n option. Otherwise, it may cause multiple instances of the same text to be added to maintainer scripts.

Please refer to the Debian TeX policy for details about fonts configuration for TeX by Debian packages.


This program and its documentation was written by Norbert Preining for the Debian Operating System and both are licensed under the GNU General Public License Version 2 or later.