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)