Provided by: texlive-base_2019.20200218-1_all bug

NAME

       fmtutil - manage TeX formats, Metafont bases and Metapost mems, per-user
       fmtutil-sys - manage TeX formats, Metafont bases and Metapost mems, system-wide
       mktexfmt - create a TeX format, Metafont base, or Metapost mem

SYNOPSIS

       fmtutil [OPTION] ... [COMMAND]
       fmtutil-sys [OPTION] ... [COMMAND]
       mktexfmt FORMAT.fmt|BASE.base|MEM.mem|FMTNAME.EXT

DESCRIPTION

       fmtutil version svn36788 (2015-04-13 00:53:26 +0900)

       Rebuild and manage TeX formats, Metafont bases and MetaPost mems.

       If  the  command  name ends in mktexfmt, only one format can be created.  The only options
       supported are --help and --version, and the command line must consist of either  a  format
       name,  with  its extension, or a plain name that is passed as the argument to --byfmt (see
       below).  The full name of the generated file (if any) is written to  stdout,  and  nothing
       else.

       If  not  operating  in  mktexfmt  mode, the command line can be more general, and multiple
       formats can be generated, as follows.

OPTIONS

       --cnffile FILE
              read FILE instead of fmtutil.cnf (can be given multiple times, in  which  case  all
              the files are used)

       --fmtdir DIRECTORY

       --no-engine-subdir
              don't use engine-specific subdir of the fmtdir

       --no-error-if-no-format
              exit successfully if no format is selected

       --no-error-if-no-engine=ENGINE1,ENGINE2,...
              exit successfully even if the required engine

              is missing, if it is included in the list.

       --quiet
              be silent

       --test (not implemented, just for compatibility)

       --dolinks
              (not implemented, just for compatibility)

       --force
              (not implemented, just for compatibility)

   Commands:
       --all  recreate all format files

       --missing
              create all missing format files

       --refresh
              recreate only existing format files

       --byengine ENGINENAME
              (re)create formats using ENGINENAME

       --byfmt FORMATNAME
              (re)create format for FORMATNAME

       --byhyphen HYPHENFILE
              (re)create formats that depend on HYPHENFILE

       --enablefmt FORMATNAME
              enable formatname in config file

       --disablefmt FORMATNAME
              disable formatname in config file

       --listcfg
              list (enabled and disabled) configurations, filtered to available formats

       --catcfg
              output the content of the config file

       --showhyphen FORMATNAME
              print name of hyphenfile for format FORMATNAME

       --version
              show version information and exit

       --help show this message and exit

ENVIRONMENT

       Explanation of trees and files normally used:

              If  --cnffile  is  specified  on  the  command  line (possibly multiple times), its
              value(s) are used.  Otherwise, fmtutil reads all the  fmtutil.cnf  files  found  by
              running `kpsewhich -all fmtutil.cnf', in the order returned by kpsewhich.

              In  any  case,  if multiple fmtutil.cnf files are found, all the format definitions
              found in all the fmtutil.cnf files are merged.

              Thus, if fmtutil.cnf files are present in all trees, and the default layout is used
              as shipped with TeX Live, the following files are read, in the given order.

              For fmtutil-sys:
              TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/fmtutil.cnf
              TEXMFSYSVAR    $TEXLIVE/YYYY/texmf-var/web2c/fmtutil.cnf
              TEXMFLOCAL     $TEXLIVE/texmf-local/web2c/fmtutil.cnf
              TEXMFDIST      $TEXLIVE/YYYY/texmf-dist/web2c/fmtutil.cnf

              For fmtutil:
              TEXMFCONFIG    $HOME/.texliveYYYY/texmf-config/web2c/fmtutil.cnf
              TEXMFVAR       $HOME/.texliveYYYY/texmf-var/web2c/fmtutil.cnf
              TEXMFHOME      $HOME/texmf/web2c/fmtutil.cnf
              TEXMFSYSCONFIG $TEXLIVE/YYYY/texmf-config/web2c/fmtutil.cnf
              TEXMFSYSVAR    $TEXLIVE/YYYY/texmf-var/web2c/fmtutil.cnf
              TEXMFLOCAL     $TEXLIVE/texmf-local/web2c/fmtutil.cnf
              TEXMFDIST      $TEXLIVE/YYYY/texmf-dist/web2c/fmtutil.cnf

              (where YYYY is the TeX Live release version).

              According to the actions, fmtutil might write to one of the given files or create a
              new fmtutil.cnf, described further below.

       Where changes are saved:

              If config files are given on the command line, then the first  one  given  will  be
              used to save any changes from --enable or --disable.  If the config files are taken
              from kpsewhich output, then the algorithm is more complex:

              1) If $TEXMFCONFIG/web2c/fmtutil.cnf or $TEXMFHOME/web2c/fmtutil.cnf appears in the
              list of used files, then the one listed first by kpsewhich --all (equivalently, the
              one returned by kpsewhich fmtutil.cnf), is used.

              2) If neither of the above two are present and changes are made, a new config  file
              is created in $TEXMFCONFIG/web2c/fmtutil.cnf.

              In general, the idea is that if a given config file is not writable, a higher-level
              one can be used.  That way, the  distribution's  settings  can  be  overridden  for
              system-wide  using TEXMFLOCAL, and then system settings can be overridden again for
              a particular using using TEXMFHOME.

       Resolving multiple definitions of a format:

              If a format is defined in more than one config file,  then  the  definition  coming
              from the first-listed fmtutil.cnf is used.

       Disabling formats:

              fmtutil.cnf  files  with  higher  priority  (listed  earlier)  can  disable formats
              mentioned in lower priority (listed later) fmtutil.cnf files by writing, e.g.,

              #! <fmtname> <enginename> <hyphen> <args>

              in the higher-priority fmtutil.cnf file.

              As an example, suppose you have want to disable the luajitlatex  format.   You  can
              create the file $TEXMFCONFIG/web2c/fmtutil.cnf with the content

              #! luajitlatex luajittex language.dat,language.dat.lua lualatex.ini

              and call fmtutil.

       fmtutil vs. fmtutil-sys (fmtutil --sys):

              When  fmtutil-sys  is  run or the command line option --sys is used, TEXMFSYSCONFIG
              and TEXMFSYSVAR are used instead of TEXMFCONFIG and TEXMFVAR,  respectively.   This
              is the primary difference between fmtutil-sys and fmtutil.

              Other  locations  may  be used if you give them on the command line, or these trees
              don't exist, or you are not using the original TeX Live.

REPORTING BUGS

       Report bugs to: tex-k@tug.org
       TeX Live home page: <http://tug.org/texlive/>