mktex - phpMan

Command: man perldoc info search(apropos)  


File: kpathsea.info,  Node: mktex scripts,  Prev: Suppressing warnings,  Up: TeX support

6.5 'mktex' scripts
===================

If Kpathsea cannot otherwise find a file, for some file types it is
configured by default to invoke an external program to create it
dynamically (*note mktex configuration::).  These are collectively known
as "'mktex' scripts", since most of them are named 'mktex...'.

   For example, this is useful for fonts (bitmaps, TFM's, and
arbitrarily-sizable Metafont sources such as the Sauter and EC fonts),
since any given document can use fonts never before referenced.
Building all fonts in advance is therefore impractical, if not
impossible.

   It is also useful for the TeX '.fmt' (and Metafont '.base' and
Metapost '.mem' files, *note (Web2c)Memory dumps::), where
pre-generating every format consumes a lot of both time and space.

   The script is passed the name of the file to create and possibly
other arguments, as explained below.  It must echo the full pathname of
the file it created (and nothing else) to standard output; it can write
diagnostics to standard error.

* Menu:

* config: mktex configuration.
* names: mktex script names.
* args: mktex script arguments.

File: kpathsea.info,  Node: mktex configuration,  Next: mktex script names,  Up: mktex scripts

6.5.1 'mktex' configuration
---------------------------

The list of file types and program names that can run an external
program to create missing files is listed in the next section.  In the
absence of 'configure' options specifying otherwise, everything but
'mktextex' will be enabled by default.  The 'configure' options to
change the defaults are:

     --without-mktexfmt-default
     --without-mktexmf-default
     --without-mktexocp-default
     --without-mktexofm-default
     --without-mktexpk-default
     --without-mktextfm-default
     --with-mktextex-default

   The 'configure' setting is overridden if the environment variable or
configuration file value named for the script is set; e.g., 'MKTEXPK'
(*note mktex script arguments::).

   'mktexfmt' reads a file 'fmtutil.cnf', typically located in
'texmf/web2c/' to glean its configuration information.  The rest of the
files and features in this section are primarily intended for the font
generation scripts.

   As distributed, all the scripts source a file 'texmf/web2c/mktex.cnf'
if it exists, so you can override various defaults.  See 'mktex.opt',
for instance, which defines the default mode, resolution, some special
directory names, etc.  If you prefer not to change the distributed
scripts, you can simply create 'mktex.cnf' with the appropriate
definitions (you do not need to create it if you have nothing to put in
it).  'mktex.cnf' has no special syntax; it's an arbitrary Bourne shell
script.  The distribution contains a sample 'mktex.cnf' for you to copy
and modify as you please (it is not installed anywhere).

   In addition, you can configure a number of features with the
'MT_FEATURES' variable, which you can define:

   * in 'mktex.opt', as just mentioned;

   * by editing the file 'mktex.opt', either before 'make install' (in
     the source hierarchy) or after (in the installed hierarchy);

   * or in the environment.

   If none of the options below are enabled, 'mktexpk', 'mktextfm', and
'mktexmf' follow the following procedure to decide where fonts should be
installed.  Find the tree where the font's sources are, and test the
permissions of the 'fonts' directory of that tree to determine whether
it is writable.  If it is, put the files in the tree in appropriate
locations.  If it isn't writable, see whether the tree is a system tree
(named in 'SYSTEXMF').  If so, the 'VARTEXFONTS' tree is used.  In all
other cases the working directory is used.

   The 'appendonlydir' option is enabled by default.

'appendonlydir'
     Tell 'mktexdir' to create directories append-only, i.e., set their
     sticky bit (*note (coreutils)Mode Structure::).  This feature is
     silently ignored on non-Unix platforms (e.g.  Windows/NT and
     MS-DOS) which don't support similar functionality.  This feature is
     enabled by default.

'dosnames'
     Use 8.3 names; e.g., 'dpi600/cmr10.pk' instead of 'cmr10.600pk'.
     Note that this feature only affects filenames that would otherwise
     clash with other TeX-related filenames; 'mktex' scripts do nothing
     about filenames which exceed the 8+3 MS-DOS limits but remain
     unique when truncated (by the OS) to these limits, and nether do
     the scripts care about possible clashes with files which aren't
     related with TeX. For example, 'cmr10.600pk' would clash with
     'cmr10.600gf' and is therefore changed when 'dosnames' is in
     effect, but 'mf.pool' and 'mp.base' don't clash with any
     TeX-related files and are therefore unchanged.

     This feature is turned on by default on MS-DOS. If you do not wish
     'dosnames' to be set on an MS-DOS platform, you need to set the
     'MT_FEATURES' environment variable to a value that doesn't include
     'dosnames'.  You can also change the default setting by editing
     'mktex.opt', but only if you use the 'mktex' shell scripts; the
     emulation programs don't consult 'mktex.opt'.

'fontmaps'
     Instead of deriving the location of a font in the destination tree
     from the location of the sources, the aliases and directory names
     from the Fontname distribution are used.  (*note Introduction:
     (fontname)Top.).

'nomfdrivers'
     Let mktexpk and mktextfm create metafont driver files in a
     temporary directory.  These will be used for just one metafont run
     and not installed permanently.

'nomode'
     Omit the directory level for the mode name; this is fine as long as
     you generate fonts for only one mode.

'stripsupplier'
     Omit the font supplier name directory level.

'striptypeface'
     Omit the font typeface name directory level.

'strip'
     Omit the font supplier and typeface name directory levels.  This
     feature is deprecated in favour of 'stripsupplier' and
     'striptypeface'.

'varfonts'
     When this option is enabled, fonts that would otherwise be written
     in system texmf tree go to the 'VARTEXFONTS' tree instead.  The
     default value in 'kpathsea/Makefile.in' is '/var/tmp/texfonts'.
     The 'Linux File System Standard' recommends '/var/tex/fonts'.

     The 'varfonts' setting in 'MT_FEATURES' is overridden by the
     'USE_VARTEXFONTS' environment variable: if set to '1', the feature
     is enabled, and if set to '0', the feature is disabled.

'texmfvar'
     Force generated files that would go into a system tree (as defined
     by 'SYSTEXMF') into 'TEXMFVAR'.  Starting with teTeX-3.0, the
     variable 'TEXMFVAR' is always set.  The 'varfonts' feature takes
     precedence if also set.

     The 'texmfvar' setting in 'MT_FEATURES' is overridden by the
     'USE_TEXMFVAR' environment variable: if set to '1', the feature is
     enabled, and if set to '0', the feature is disabled.

File: kpathsea.info,  Node: mktex script names,  Next: mktex script arguments,  Prev: mktex configuration,  Up: mktex scripts

6.5.2 'mktex' script names
--------------------------

The following table shows the default name of the script for each of the
file types which support runtime generation.

'mktexfmt'
     ('.fmt', '.base', '.mem') TeX/Metafont/MetaPost formats.  This
     script is also named 'fmtutil', and reads 'fmtutil.cnf' for
     configuration information.

'mktexmf'
     ('.mf') Metafont input files.

'mkocp'
     ('.ocp') Omega compiled process files.

'mkofm'
     ('.ofm') Omega font metric files.

'mktexpk'
     ('pk') Glyph fonts.

'mktextex'
     ('.tex') TeX input files (disabled by default).

'mktextfm'
     ('.tfm') TFM files.

These names can be overridden by an environment variable specific to the
program--for example, 'DVIPSMAKEPK' for Dvipsk.

   If a 'mktex...' script fails, the invocation is appended to a file
'missfont.log' (by default) in the current directory.  You can then
execute the log file to create the missing files after fixing the
problem.

   If the current directory is not writable and the environment variable
or configuration file value 'TEXMFOUTPUT' is set, its value is used.
Otherwise, nothing is written.  The name 'missfont.log' is overridden by
the 'MISSFONT_LOG' environment variable or configuration file value.

File: kpathsea.info,  Node: mktex script arguments,  Prev: mktex script names,  Up: mktex scripts

6.5.3 'mktex' script arguments
------------------------------

The first argument to a 'mktex' script is always the name of the file to
be created.

   In the default 'mktexpk' implementation, additional arguments may
also be passed:

'--dpi NUM'
     Sets the resolution of the generated font to NUM.
'--mfmode NAME'
     Sets the Metafont mode to NAME.
'--bdpi NUM'
     Sets the "base dpi" for the font.  This must match the mode being
     used.
'--mag STRING'
     A "magstep" string suitable for the Metafont 'mag' variable.  This
     must match the combination of BDPI and DPI being used.
'--destdir STRING'
     A directory name.  If the directory is absolute, it is used as-is.
     Otherwise, it is appended to the root destination directory set in
     the script.


Generated by $Id: phpMan.php,v 4.55 2007/09/05 04:42:51 chedong Exp $ Author: Che Dong
On Apache
Under GNU General Public License
2024-12-22 12:10 @3.138.102.163 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0!Valid CSS!