summaryrefslogtreecommitdiff
path: root/Master/texmf/doc/info/kpathsea.info
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf/doc/info/kpathsea.info')
-rw-r--r--Master/texmf/doc/info/kpathsea.info876
1 files changed, 542 insertions, 334 deletions
diff --git a/Master/texmf/doc/info/kpathsea.info b/Master/texmf/doc/info/kpathsea.info
index 11b984ebd45..52e8fdc336f 100644
--- a/Master/texmf/doc/info/kpathsea.info
+++ b/Master/texmf/doc/info/kpathsea.info
@@ -1,21 +1,10 @@
-This is kpathsea.info, produced by makeinfo version 4.8 from
+This is kpathsea.info, produced by makeinfo version 4.12 from
kpathsea.texi.
-INFO-DIR-SECTION TeX
-START-INFO-DIR-ENTRY
-* Kpathsea: (kpathsea). File lookup along search paths.
-* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
-* mktexmf: (kpathsea)mktex scripts. MF source generation.
-* mktexpk: (kpathsea)mktex scripts. PK bitmap generation.
-* mktextex: (kpathsea)mktex scripts. TeX source generation.
-* mktextfm: (kpathsea)mktex scripts. TeX font metric generation.
-* mktexlsr: (kpathsea)Filename database. Update ls-R.
-END-INFO-DIR-ENTRY
-
- This file documents the Kpathsea library for path searching.
+This file documents the Kpathsea library for path searching.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2007 Karl Berry & Olaf Weber.
+2005, 2007, 2008 Karl Berry & Olaf Weber.
Permission is granted to make and distribute verbatim copies of this
manual provided the copyright notice and this permission notice are
@@ -31,6 +20,18 @@ manual into another language, under the above conditions for modified
versions, except that this permission notice may be stated in a
translation approved by the Free Software Foundation.
+INFO-DIR-SECTION TeX
+START-INFO-DIR-ENTRY
+* Kpathsea: (kpathsea). File lookup along search paths.
+* kpsewhich: (kpathsea)Invoking kpsewhich. TeX file searching.
+* mktexfmt: (kpathsea)mktex scripts. Format (fmt/base/mem) generation.
+* mktexlsr: (kpathsea)Filename database. Update ls-R.
+* mktexmf: (kpathsea)mktex scripts. MF source generation.
+* mktexpk: (kpathsea)mktex scripts. PK bitmap generation.
+* mktextex: (kpathsea)mktex scripts. TeX source generation.
+* mktextfm: (kpathsea)mktex scripts. TeX font metric generation.
+END-INFO-DIR-ENTRY
+

File: kpathsea.info, Node: Top, Next: Introduction, Up: (dir)
@@ -38,8 +39,8 @@ Kpathsea library
****************
This manual documents how to install and use the Kpathsea library for
-filename lookup. It corresponds to version 3.5.6, released in
-January 2007.
+filename lookup. It corresponds to version 3.5.7, released in
+July 2008.
* Menu:
@@ -59,8 +60,8 @@ File: kpathsea.info, Node: Introduction, Next: Installation, Prev: Top, Up:
1 Introduction
**************
-This manual corresponds to version 3.5.6 of the Kpathsea library,
-released in January 2007.
+This manual corresponds to version 3.5.7 of the Kpathsea library,
+released in July 2008.
The library's fundamental purpose is to return a filename from a
list of directories specified by the user, similar to what shells do
@@ -199,7 +200,7 @@ File: kpathsea.info, Node: Installation, Next: Path searching, Prev: Introduc
(A copy of this chapter is in the distribution file `kpathsea/INSTALL'.)
The procedure for Kpathsea (and Web2c, etc.) configuration and
-installation follows. If you encounter trouble, see *Note Common
+installation follows. If you encounter trouble, see *note Common
problems::, a copy of which is in the file `kpathsea/BUGS'.
* Menu:
@@ -219,7 +220,7 @@ File: kpathsea.info, Node: Simple installation, Next: Custom installation, Up
Installing TeX and friends for the first time can be a daunting
experience. Thus, you may prefer to skip this whole thing and just get
-precompiled executables: see *Note unixtex.ftp::.
+precompiled executables: see *note unixtex.ftp::.
This section explains what to do if you wish to take the defaults for
everything, and generally to install in the simplest possible way. Most
@@ -268,13 +269,13 @@ everything is to be installed.
8. Set up a cron job to rebuild the filename database that makes
searching faster. This line will rebuild it every midnight:
0 0 * * * cd /usr/local/share/texmf && /BINDIR/mktexlsr
- *Note Filename database generation::, and *Note Filename
+ *Note Filename database generation::, and *note Filename
database::.
9. If you're installing Dvips, you also need to set up configuration
files for your printers and make any additional PostScript fonts
available. *Note Installation: (dvips)Installation. If you have
- any color printers, see *Note Color device configuration:
+ any color printers, see *note Color device configuration:
(dvips)Color device configuration.
10. The first time you run a DVI driver, a bunch of PK fonts will be
@@ -286,7 +287,7 @@ everything is to be installed.
By default, `mktexpk' will create these fonts in a hierarchy under
`/var/tmp/texfonts'; it simply assumes that `/var/tmp' exists and
is globally writable. If you need a different arrangement, see
- *Note mktex configuration::.
+ *note mktex configuration::.
*Note mktex scripts::.
@@ -562,14 +563,14 @@ File: kpathsea.info, Node: configure options, Next: configure environment, Pr
...........................
For a complete list of all `configure' options, run `configure --help'
-or see *Note Running `configure' scripts: (autoconf)Invoking configure,
+or see *note Running `configure' scripts: (autoconf)Invoking configure,
(a copy is in the file `kpathsea/README.CONFIGURE'). The generic
options are listed first in the `--help' output, and the
package-specific options come last. The environment variables
`configure' pays attention to are listed below.
Options particularly likely to be useful are `--prefix',
-`--datadir', and the like; see *Note configure scenarios::.
+`--datadir', and the like; see *note configure scenarios::.
This section gives pointers to descriptions of the `--with' and
`--enable' options to `configure' that Kpathsea-using programs accept.
@@ -674,7 +675,7 @@ Here are some common installation scenarios:
* To compile with optimization (to compile without debugging, remove
the `-g'):
env CFLAGS="-g -O" sh configure ...
- For a potential problem if you optimize, see *Note TeX or Metafont
+ For a potential problem if you optimize, see *note TeX or Metafont
failing: TeX or Metafont failing.

@@ -699,12 +700,6 @@ IRIX or Linux, use `-rpath${prefix}/lib'. (Unfortunately, making this
happen by default is very difficult, because of interactions with an
existing installed shared library.)
- Currently, shared library support is implemented only on Linux,
-SunOS 4 (Solaris 1), SunOS 5 (Solaris 2), IRIX 5, and IRIX 6. If you're
-interested and willing in adding support for other systems, please see
-the `configure' mode in the `klibtool' script, especially the
-host-specific case statement around line 250.
-

File: kpathsea.info, Node: Running make, Next: Installing files, Prev: Running configure, Up: Custom installation
@@ -854,11 +849,18 @@ File: kpathsea.info, Node: mktex scripts, Next: Installation testing, Prev: F
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::). This is most 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. Trying to build all fonts in advance is therefore
-impractical, if not impossible.
+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 Memory dumps: (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
@@ -867,9 +869,9 @@ diagnostics to standard error.
* Menu:
-* mktex configuration::
-* mktex script names::
-* mktex script arguments::
+* config: mktex configuration.
+* names: mktex script names.
+* args: mktex script arguments.

File: kpathsea.info, Node: mktex configuration, Next: mktex script names, Up: mktex scripts
@@ -877,15 +879,16 @@ File: kpathsea.info, Node: mktex configuration, Next: mktex script names, Up:
2.2.9.1 `mktex' configuration
.............................
-The following file types can run an external program to create missing
-files: `pk', `tfm', `mf', `tex'; the scripts are named `mktexpk',
-`mktextfm', `mktexmf', and `mktextex'.
-
- In the absence of `configure' options specifying otherwise,
-everything but `mktextex' will be enabled by default. The `configure'
-options to change the defaults are:
+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
@@ -894,6 +897,11 @@ options to change the defaults are:
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
@@ -907,6 +915,7 @@ 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
@@ -1003,24 +1012,34 @@ File: kpathsea.info, Node: mktex script names, Next: mktex script arguments,
2.2.9.2 `mktex' script names
............................
-The following table shows the default name of the script for each
-possible file types. (The source is the variable `kpse_make_specs' in
-`kpathsea/tex-make.c'.)
+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'
- Glyph fonts.
+ (`pk') Glyph fonts.
`mktextex'
- TeX input files.
-
-`mktexmf'
- Metafont input files.
+ (`.tex') TeX input files (disabled by default).
`mktextfm'
- TFM files.
+ (`.tfm') TFM files.
-These names are overridden by an environment variable specific to the
-program--for example, `DVIPSMAKEPK' for Dvipsk.
+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
@@ -1070,7 +1089,7 @@ File: kpathsea.info, Node: Installation testing, Prev: mktex scripts, Up: Cus
2.2.10 Installation testing
---------------------------
-Besides the tests listed in *Note Simple installation::, you can try
+Besides the tests listed in *note Simple installation::, you can try
running `make check'. This includes the torture tests (trip, trap, and
mptrap) that come with Web2c (*note Triptrap: (web2c)Triptrap.).
@@ -1092,8 +1111,8 @@ closed by default, but you can be permissive if you so desire in
the same issue.
Dvips, Xdvi, and TeX can also execute shell commands under some
-circumstances. To disable this, see the `-R' option in *Note Option
-details: (dvips)Option details, the xdvi man page, and *Note tex
+circumstances. To disable this, see the `-R' option in *note Option
+details: (dvips)Option details, the xdvi man page, and *note tex
invocation: (web2c)tex invocation, respectively.
Another security issue arises because it's very useful--almost
@@ -1147,7 +1166,7 @@ mirrors. The TDS document is available from `CTAN:/tex-archive/tds'
paths::). One common desire is to put everything (binaries and all)
under a single top-level directory such as `/usr/local/texmf' or
`/opt/texmf'--in the terms used below, make PREFIX and TEXMF the same.
-For specific instructions on doing that, see *Note configure
+For specific instructions on doing that, see *note configure
scenarios::.
Here is a skeleton of the default directory structure, extracted from
@@ -1254,7 +1273,7 @@ information and the membership registration form, and
`http://www.tug.org/usergroups.html' for a listing of all user groups.
For actual installation instructions after obtaining the necessary
-sources, see *Note Installation::. A copy is in the distribution file
+sources, see *note Installation::. A copy is in the distribution file
`kpathsea/INSTALL'.
* Menu:
@@ -1422,8 +1441,7 @@ Before reporting a bug, please check below to be sure it isn't already
known (*note Common problems::).
Bug reports should be sent via electronic mail to
-<tex-k@mail.tug.org>, or by postal mail to 135 Center Hill Road /
-Plymouth, MA 02360 / USA.
+<tex-k@mail.tug.org>.
The general principle is that a good bug report includes all the
information necessary for reproduction. Therefore, to enable
@@ -1469,12 +1487,6 @@ investigation, your report should include the following:
files are helpful, but the DVI file is necessary, because that's
the actual program input.
- GNU `shar', available from `ftp://prep.ai.mit.edu/pub/gnu' is a
- convenient way of packaging multiple (possibly binary) files for
- electronic mail. If you feel your input files are too big to send
- by email, you can ftp them to `ftp://ftp.tug.org/incoming' (that
- directory is writable, but not readable).
-
* If you are sending a patch (do so if you can!), please do so in
the form of a context diff (`diff -c') against the original
distribution source. Any other form of diff is either not as
@@ -1674,6 +1686,14 @@ The second word is the filename.
Only filenames that are absolute are recorded, to preserve some
semblance of privacy.
+ In addition to this Kpathsea-specific logging, `pdftex' provides an
+option `-recorder' to write the names of all files accessed during a
+run to the file `BASEFILE.fls'.
+
+ Finally, most systems provide a general tool to output each system
+call, thus including opening and closing files. It might be named
+`strace', `truss', `struss', or something else.
+

File: kpathsea.info, Node: Common problems, Prev: Logging, Up: Reporting bugs
@@ -1854,7 +1874,7 @@ to run the program under the debugger and see where it's failing.
Also, if you have trouble with a system C compiler, I advise trying
the GNU C compiler. And vice versa, unfortunately; but in that case I
-also recommend reporting a bug to the GCC mailing list; see *Note Bugs:
+also recommend reporting a bug to the GCC mailing list; see *note Bugs:
(gcc)Bugs.
To report compiler bugs effectively requires perseverance and
@@ -1970,7 +1990,7 @@ There are several fixes:
* Statically link the `Xmu' library into the executable.
- * Avoid using `Xmu' at all. If you are compiling Metafont, see *Note
+ * Avoid using `Xmu' at all. If you are compiling Metafont, see *note
Online Metafont graphics: (web2c)Online Metafont graphics. If you
are compiling Xdvi, see the `-DNOTOOL' option in `xdvik/INSTALL'.
@@ -2055,10 +2075,10 @@ same directory, the directory in which a file is found is floated to the
top of the directory list.)
The "file must exist" condition comes into play with VF files and
-input files read by the TeX `\openin' command. These files may not
-exist (consider `cmr10.vf'), and so it would be wrong to search the
-disk for them. Therefore, if you fail to update `ls-R' when you
-install a new VF file, it will never be found.
+input files read by the TeX `\openin' command. These files might very
+well not exist (consider `cmr10.vf'), and so it would be wrong to
+search the disk for them. Therefore, if you fail to update `ls-R' when
+you install a new VF file, it will not be found.
Each path element is checked in turn: first the database, then the
disk. If a match is found, the search stops and the result is
@@ -2081,15 +2101,15 @@ absolute or explicitly relative, i.e., starts with `/' or `./' or
Ordinarily, if Kpathsea tries to access a file or directory that
cannot be read, it gives a warning. This is so you will be alerted to
-directories or files that accidentally lack read permission (for
-example, a `lost+found'). If you prefer not to see these warnings,
-include the value `readable' in the `TEX_HUSH' environment variable or
-config file value.
+directories or files that accidentally lack any read permission (for
+example, a `lost+found' directory). If you prefer not to see these
+warnings, include the value `readable' in the `TEX_HUSH' environment
+variable or config file value.
This generic path searching algorithm is implemented in
`kpathsea/pathsearch.c'. It is employed by a higher-level algorithm
when searching for a file of a particular type (*note File lookup::,
-and *Note Glyph lookup::).
+and *note Glyph lookup::).

File: kpathsea.info, Node: Path sources, Next: Path expansion, Prev: Searching overview, Up: Path searching
@@ -2141,6 +2161,11 @@ the first one found; definitions in earlier files override those in
later files. Thus, if the search path is `.:$TEXMF', values from
`./texmf.cnf' override those from `$TEXMF/texmf.cnf'.
+ If Kpathsea cannot find any `texmf.cnf' file, it reports a warning
+including all the directories it checked. If you don't want to see
+this warning, set the environment variable `KPATHSEA_WARNING' to the
+single character `0' (zero, not oh).
+
While (or instead of) reading this description, you may find it
helpful to look at the distributed `texmf.cnf', which uses or at least
mentions most features. The format of `texmf.cnf' files follows:
@@ -2315,7 +2340,8 @@ File: kpathsea.info, Node: Tilde expansion, Next: Brace expansion, Prev: Vari
---------------------
A leading `~' in a path element is replaced by the value of the
-environment variable `HOME', or `.' if `HOME' is not set.
+environment variable `HOME', or `.' if `HOME' is not set. On Windows,
+the environment variable `USERPROFILE' is checked instead of `HOME'.
A leading `~USER' in a path element is replaced by USER's home
directory from the system `passwd' database.
@@ -2374,7 +2400,7 @@ File: kpathsea.info, Node: KPSE_DOT expansion, Next: Subdirectory expansion,
When `KPSE_DOT' is defined in the environment, it names a directory
that should be considered the current directory for the purpose of
looking up files in the search paths. This feature is needed by the
-`mktex...' scripts *Note mktex scripts::, because these change the
+`mktex...' scripts *note mktex scripts::, because these change the
working directory. You should not ever define it yourself.

@@ -2435,16 +2461,13 @@ File: kpathsea.info, Node: Filename database, Next: Invoking kpsewhich, Prev:
==============================
Kpathsea goes to some lengths to minimize disk accesses for searches
-(*note Subdirectory expansion::). Nevertheless, at installations with
-enough directories, searching each possible directory for a given file
-can take an excessively long time (depending on the speed of the disk,
-whether it's NFS-mounted, how patient you are, etc.).
+(*note Subdirectory expansion::). Nevertheless, in practice searching
+each possible directory in typical TeX installations takes an
+excessively long time.
- In practice, a font tree containing the standard PostScript and PCL
-fonts is large enough for searching to be noticeably slow on typical
-systems these days. Therefore, Kpathsea can use an externally-built
-"database" file named `ls-R' that maps files to directories, thus
-avoiding the need to exhaustively search the disk.
+ Therefore, Kpathsea can use an externally-built "filename database"
+file named `ls-R' that maps files to directories, thus avoiding the
+need to exhaustively search the disk.
A second database file `aliases' allows you to give additional names
to the files listed in `ls-R'. This can be helpful to adapt to "8.3"
@@ -2485,7 +2508,7 @@ below). GNU `ls', for example, outputs in this format. Also presuming
your `ls' hasn't been aliased in a system file (e.g., `/etc/profile')
to something problematic, e.g., `ls --color=tty'. In that case, you
will have to disable the alias before generating `ls-R'. For the
-precise definition of the file format, see *Note Database format::.
+precise definition of the file format, see *note Database format::.
Regardless of whether you use the supplied script or your own, you
will almost certainly want to invoke it via `cron', so when you make
@@ -2613,23 +2636,26 @@ accepted.
* Menu:
* Path searching options:: Changing the mode, resolution, etc.
+* Specially-recognized files:: Default formats for texmf.cnf, etc.
* Auxiliary tasks:: Path and variable expansion.
* Standard options:: --help and --version.

-File: kpathsea.info, Node: Path searching options, Next: Auxiliary tasks, Up: Invoking kpsewhich
+File: kpathsea.info, Node: Path searching options, Next: Specially-recognized files, Up: Invoking kpsewhich
3.5.1 Path searching options
----------------------------
Kpsewhich looks up each non-option argument on the command line as a
-filename, and returns the first file found. There is no option to
-return all the files with a particular name (you can run the Unix
-`find' utility for that, *note Invoking find: (findutils)Invoking
-find.).
+filename, and returns the first file found.
Various options alter the path searching behavior:
+`--all'
+ Report all matches found, one per line. By default, if there is
+ more than one match, just one will be reported (chosen effectively
+ at random).
+
`--dpi=NUM'
Set the resolution to NUM; this only affects `gf' and `pk'
lookups. `-D' is a synonym, for compatibility with Dvips.
@@ -2640,6 +2666,17 @@ find.).
engine name is used in some search paths to allow files with the
same name but used by different engines to coexist.
+ In particular, since the memory dump files (`.fmt'/`.base'/`.mem')
+ are now stored in subdirectories named for the engine (`tex',
+ `pdftex', `xetex', etc.), you must specify an engine name in order
+ to find them. For example, `cont-en.fmt' typically exists for both
+ `pdftex' and `xetex'. With the default path settings, you can use
+ `--engine=/' to look for any dump file, regardless of engine; if a
+ dump file exists for more than one engine, it's indeterminate
+ which one is returned. (The `/' ends up specifying a normal
+ recursive search along the path where the dumps are stored, namely
+ `$TEXMF/web2c{/$engine,}'.)
+
`--format=NAME'
Set the format for lookup to NAME. By default, the format is
guessed from the filename, with `tex' being used if nothing else
@@ -2735,17 +2772,129 @@ find.).
usual expansions are supported (*note Path expansion::). This
option and `--format' are mutually exclusive. To output the
complete directory expansion of a path, instead of doing a
- one-shot lookup, see `--expand-path' in the following section.
+ one-shot lookup, see `--expand-path' and `--show-path' in the
+ following section.
`--progname=NAME'
Set the program name to NAME; default is `kpsewhich'. This can
affect the search paths via the `.PROGNAM' feature in
configuration files (*note Config files::).
+`--subdir=STRING'
+ Report only those matches whose directory part _ends_ with STRING
+ (compared literally, except case is ignored on a case-insensitive
+ operating system). For example, suppose there are two matches for
+ a given name:
+
+ kpsewhich foo.sty
+ => /some/where/foo.sty
+ /another/place/foo.sty
+
+ Then we can narrow the result to what we are interested in with
+ `--subdir':
+
+ kpsewhich --subdir=where foo.sty
+ => /some/where/foo.sty
+
+ kpsewhich --subdir=place foo.sty
+ => /another/place/foo.sty
+
+ The string to match must be at the end of the directory part of the
+ match, and it is taken literally, with no pattern matching:
+
+ kpsewhich --subdir=another foo.sty
+ =>
+
+ The string to match may cross directory components:
+
+ kpsewhich --subdir=some/where foo.sty
+ => /some/where/foo.sty
+
+ `--subdir' implies `--all'; if there is more than one match, they
+ will all be reported (in our example, both `where' and `place' end
+ in `e'):
+
+ kpsewhich --subdir=e
+ => /some/where/foo.sty
+ /another/place/foo.sty
+
+ Because of the above rules, the presence of a leading `/' is
+ important, since it "anchors" the match to a full component name:
+
+ kpsewhich --subdir=/lace foo.sty
+ =>
+
+ However, a trailing `/' is immaterial (and ignored), since the
+ match always takes place at the end of the directory part:
+
+ kpsewhich --subdir=lace/ foo.sty
+ => /another/place/foo.sty
+
+ The purpose of these rules is to make it convenient to find results
+ only within a particular area of the tree. For instance, a given
+ script named `foo.lua' might exist within both
+ `texmf-dist/scripts/pkg1/' and `texmf-dist/scripts/pkg2/'. By
+ specifying, say, `--subdir=/pkg1', you can be sure of getting the
+ one you are interested in.
+
+ We only match at the end because a site might happen to install TeX
+ in `/some/coincidental/pkg1/path/', and we wouldn't want
+ `texmf-dist/scripts/pkg2/' to match that when searching for
+ `/pkg1'.
+
+

-File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Path searching options, Up: Invoking kpsewhich
+File: kpathsea.info, Node: Specially-recognized files, Next: Auxiliary tasks, Prev: Path searching options, Up: Invoking kpsewhich
+
+3.5.2 Specially-recognized files for `kpsewhich'
+------------------------------------------------
+
+`kpsewhich' recognizes a few special filenames on the command line and
+defaults to using the `known' file formats for them, merely to save the
+time and trouble of specifying the format. This is only a feature of
+`kpsewhich'; when using the Kpathsea library itself, none of these
+special filenames are recognized, and it's still up to the caller to
+specify the desired format.
+
+ Here is the list of special filenames to `kpsewhich', along with
+their corresponding format:
+
+`config.ps'
+ `dvips config'
+
+`dvipdfmx.cfg'
+ `other text files'
+
+`fmtutil.cnf'
+ `web2c files'
+
+`glyphlist.txt'
+ `map'
+
+`mktex.cnf'
+ `web2c files'
+
+`pdfglyphlist.txt'
+ `map'
+
+`pdftex.cfg'
+ `pdftex config' (although `pdftex.cfg' is not used any more; look
+ for the file `pdftexconfig.tex' instead.)
+
+`texmf.cnf'
+ `cnf'
-3.5.2 Auxiliary tasks
+
+ A user-specified format will override the above defaults.
+
+ Another useful configuration file in this regard is `tcfmgr.map',
+found in `texmf/texconfig/tcfmgr.map', which records various
+information about the above configuration files (among others).
+
+
+File: kpathsea.info, Node: Auxiliary tasks, Next: Standard options, Prev: Specially-recognized files, Up: Invoking kpsewhich
+
+3.5.3 Auxiliary tasks
---------------------
Kpsewhich provides some additional features not strictly related to path
@@ -2754,21 +2903,26 @@ lookup:
* `--debug=NUM' sets the debugging options to NUM. *Note
Debugging::.
- * `--var-value=VARIABLE' output the value of VARIABLE.
+ * `--var-value=VARIABLE' outputs the value of VARIABLE, expanding
+ `$' (*note Variable expansion:: and `~' (*note Tilde expansion::)
+ constructs, but not performing other expansions.
* `--expand-braces=STRING' outputs the variable and brace expansion
of STRING. *Note Path expansion::.
- * `--expand-var=STRING' outputs the variable expansion of STRING.
- For example, the `mktex...' scripts run `kpsewhich
+ * `--expand-var=STRING' outputs the variable and tilde expansion of
+ STRING. For example, the `mktex...' scripts run `kpsewhich
--expand-var='$TEXMF'' to find the root of the TeX system
hierarchy. *Note Path expansion::.
- * `--expand-path=STRING' outputs the complete expansion of STRING as
- a colon-separated path. This is useful to construct a search path
- for a program that doesn't accept recursive subdirectory
- specifications. Nonexistent directories are culled from the
- output:
+ * `--expand-path=STRING' outputs the complete expansion of STRING,
+ with each element separated by the usual path separator on the
+ current system (`;' on Windows, `:' otherwise). This may be
+ useful to construct a custom search path for a format not
+ otherwise supported. To retrieve the search path for a format
+ that is already supported, see `--show-path', next.
+
+ Nonexistent directories are culled from the output:
$ kpsewhich --expand-path '/tmp'
=> /tmp
@@ -2783,10 +2937,11 @@ lookup:
`.vf', etc.) or an integer can be used, just as with `--format',
described in the previous section.
+

File: kpathsea.info, Node: Standard options, Prev: Auxiliary tasks, Up: Invoking kpsewhich
-3.5.3 Standard options
+3.5.4 Standard options
----------------------
Kpsewhich accepts the standard GNU options:
@@ -3066,23 +3221,34 @@ This section describes how Kpathsea searches for most files (bitmap font
searches are the exception, as described in the next section).
Here is the search strategy for a file NAME:
+
1. If the file format defines default suffixes, and the suffix of
NAME name is not already a known suffix for that format, try the
- name with each default appended, and use alternative names found
- in the fontmaps if necessary. We postpone searching the disk as
- long as possible. Example: given `foo.sty', look for `foo.sty.tex'
- before `foo.sty'. This is unfortunate, but allows us to find
- `foo.bar.tex' before `foo.bar' if both exist and we were given
- `foo.bar'.
+ name with each default appended, and use alternative names found in
+ the fontmaps if necessary. Example: given `foo.bar', look for
+ `foo.bar.tex'.
2. Search for NAME, and if necessary for alternative names found in
- the fontmaps. Again we avoid searching the disk if possible.
- Example: given `foo', we look for `foo'.
+ the fontmaps. Example: given `foo.bar', we also look for
+ `foo.bar'.
3. If the file format defines a program to invoke to create missing
files, run it (*note mktex scripts::).
- This is implemented in the routine `kpse_find_file' in
+ The order in which we search for "suffixed" name (item 1) or the
+"as-is" name (item 2) is controlled by the `try_std_extension_first'
+configuration value. The default set in `texmf.cnf' is true, since
+common suffixes are already recognized: `babel.sty' will only look for
+`babel.sty', not `babel.sty.tex', regardless of this setting.
+
+ When the suffix is unknown (e.g., `foo.bar'), both names are always
+tried; the difference is the order in which they are tried.
+
+ `try_std_extension_first' only affects names being looked up which
+*already* have an extension. A name without an extension (e.g., `tex
+story') will always have an extension added first.
+
+ This algorithm is implemented in the routine `kpse_find_file' in
`kpathsea/tex-file.c'. You can watch it in action with the debugging
options (*note Debugging::).
@@ -3348,19 +3514,22 @@ this:
`NULL', the value of the first argument is used. This function
must be called before any other use of the Kpathsea library.
- If necessary, `kpse_set_program_name' sets the global variables
+ `kpse_set_program_name' always sets the global variables
`program_invocation_name' and `program_invocation_short_name'.
These variables are used in the error message macros defined in
`kpathsea/lib.h'. It sets the global variable `kpse_program_name'
- to the program name it uses. It also initializes debugging
- options based on the environment variable `KPATHSEA_DEBUG' (if
- that is set). Finally, it sets the variables `SELFAUTOLOC',
- `SELFAUTODIR' and `SELFAUTOPARENT' to the location, parent and
- grandparent directory of the executable, removing `.' and `..'
- path elements and resolving symbolic links. These are used in the
- default configuration file to allow people to invoke TeX from
- anywhere, specifically from a mounted CD-ROM. (You can use
- `--expand-var=\$SELFAUTOLOC', etc., to see the values finds.)
+ to the program name it uses.
+
+ It also initializes debugging options based on the environment
+ variable `KPATHSEA_DEBUG' (if that is set).
+
+ Finally, it sets the variables `SELFAUTOLOC', `SELFAUTODIR' and
+ `SELFAUTOPARENT' to the location, parent and grandparent directory
+ of the executable, removing `.' and `..' path elements and
+ resolving symbolic links. These are used in the default
+ configuration file to allow people to invoke TeX from anywhere.
+ You can use `kpsewhich --expand-var=\$SELFAUTOLOC', etc., to see
+ the values.
2. The `kpse_set_progname' is deprecated. A call to
`kpse_set_progname' with `argv[0]' is equivalent to a call of
@@ -3491,56 +3660,63 @@ Index
* !! in path specifications: ls-R. (line 52)
* $ expansion: Variable expansion. (line 6)
+* --all: Path searching options.
+ (line 12)
* --color=tty: ls-R. (line 21)
* --debug=NUM: Auxiliary tasks. (line 9)
* --disable-static: configure options. (line 31)
* --dpi=NUM: Path searching options.
- (line 15)
+ (line 17)
* --enable options: configure options. (line 16)
* --enable-maintainer-mode: configure options. (line 34)
* --enable-shared <1>: Shared library. (line 6)
* --enable-shared: configure options. (line 27)
* --engine=NAME: Path searching options.
- (line 20)
-* --expand-braces=STRING: Auxiliary tasks. (line 14)
-* --expand-path=STRING: Auxiliary tasks. (line 22)
-* --expand-var=STRING: Auxiliary tasks. (line 17)
+ (line 22)
+* --expand-braces=STRING: Auxiliary tasks. (line 16)
+* --expand-path=STRING: Auxiliary tasks. (line 24)
+* --expand-var=STRING: Auxiliary tasks. (line 19)
* --format=NAME: Path searching options.
- (line 25)
+ (line 38)
* --help: Standard options. (line 8)
* --interactive: Path searching options.
- (line 93)
+ (line 106)
* --mode=STRING: Path searching options.
- (line 104)
+ (line 117)
* --must-exist: Path searching options.
- (line 109)
+ (line 122)
* --path=STRING: Path searching options.
- (line 114)
+ (line 127)
* --progname=NAME: Path searching options.
- (line 122)
-* --show-path=NAME: Auxiliary tasks. (line 36)
+ (line 136)
+* --show-path=NAME: Auxiliary tasks. (line 41)
* --srcdir, for building multiple architectures: configure scenarios.
(line 18)
+* --subdir=STRING: Path searching options.
+ (line 141)
* --var-value=VARIABLE: Auxiliary tasks. (line 12)
* --version: Standard options. (line 10)
* --with options: configure options. (line 16)
-* --with-mktextex-default: mktex configuration. (line 14)
-* --without-mktexmf-default: mktex configuration. (line 14)
-* --without-mktexpk-default: mktex configuration. (line 14)
-* --without-mktextfm-default: mktex configuration. (line 14)
+* --with-mktextex-default: mktex configuration. (line 12)
+* --without-mktexfmt-default: mktex configuration. (line 12)
+* --without-mktexmf-default: mktex configuration. (line 12)
+* --without-mktexocp-default: mktex configuration. (line 12)
+* --without-mktexofm-default: mktex configuration. (line 12)
+* --without-mktexpk-default: mktex configuration. (line 12)
+* --without-mktextfm-default: mktex configuration. (line 12)
* -1 debugging value: Debugging. (line 23)
* -A option to ls: ls-R. (line 33)
* -Bdynamic: ShellWidgetClass. (line 45)
* -Bstatic: ShellWidgetClass. (line 45)
* -D NUM: Path searching options.
- (line 15)
+ (line 17)
* -dynamic: ShellWidgetClass. (line 43)
* -g, compiling without: configure scenarios. (line 32)
* -L option to ls: ls-R. (line 38)
* -mktex=FILETYPE: Path searching options.
- (line 98)
+ (line 111)
* -no-mktex=FILETYPE: Path searching options.
- (line 98)
+ (line 111)
* -O, compiling with: configure scenarios. (line 32)
* -static: ShellWidgetClass. (line 43)
* . directories, ignored: ls-R. (line 33)
@@ -3622,21 +3798,21 @@ Index
* .web: Supported file formats.
(line 43)
* / may not be /: Searching overview. (line 13)
-* /, trailing in home directory: Tilde expansion. (line 18)
+* /, trailing in home directory: Tilde expansion. (line 19)
* //: Subdirectory expansion.
(line 6)
* /afs/... , installing into: Installing files. (line 32)
* /etc/profile: Unable to find files.
(line 14)
* /etc/profile and aliases: ls-R. (line 21)
-* /var/tmp/texfonts: mktex configuration. (line 107)
+* /var/tmp/texfonts: mktex configuration. (line 114)
* 2602gf: Unable to generate fonts.
(line 36)
-* 8.3 filenames, using: mktex configuration. (line 62)
+* 8.3 filenames, using: mktex configuration. (line 69)
* : may not be :: Searching overview. (line 13)
* :: expansion: Default expansion. (line 6)
* @VAR@ substitutions: Running configure. (line 6)
-* \, line continuation in texmf.cnf: Config files. (line 26)
+* \, line continuation in texmf.cnf: Config files. (line 31)
* \openin: Searching overview. (line 31)
* \special, suppressing warnings about: Suppressing warnings.
(line 31)
@@ -3653,6 +3829,8 @@ Index
* aliases, for filenames: Filename aliases. (line 6)
* all: Suppressing warnings.
(line 13)
+* all matches, finding: Path searching options.
+ (line 12)
* alphabetical order, not: Subdirectory expansion.
(line 6)
* Amiga support: Custom installation. (line 19)
@@ -3662,7 +3840,7 @@ Index
* ANSI C: TeX or Metafont failing.
(line 30)
* append-only directories and mktexpk: Security. (line 36)
-* appendonlydir: mktex configuration. (line 54)
+* appendonlydir: mktex configuration. (line 61)
* architecture-(in)dependent files, installing only: Installing files.
(line 21)
* architectures, compiling multiple: configure scenarios. (line 18)
@@ -3670,7 +3848,7 @@ Index
(line 6)
* argv[0]: Calling sequence. (line 9)
* ash, losing with configure: configure shells. (line 19)
-* autoconf, recommended: Calling sequence. (line 90)
+* autoconf, recommended: Calling sequence. (line 93)
* automounter, and configuration: configure scenarios. (line 29)
* automounter, and ls-R: ls-R. (line 40)
* auxiliary tasks: Auxiliary tasks. (line 6)
@@ -3680,7 +3858,7 @@ Index
* Bach, Johann Sebastian: Default expansion. (line 41)
* backbone of CTAN: Electronic distribution.
(line 6)
-* backslash-newline: Config files. (line 26)
+* backslash-newline: Config files. (line 31)
* bash, recommended for running configure: configure shells. (line 6)
* basic glyph lookup: Basic glyph lookup. (line 6)
* Berry, Karl: History. (line 12)
@@ -3688,7 +3866,7 @@ Index
(line 28)
* binary mode, for file transfers: Electronic distribution.
(line 20)
-* blank lines, in texmf.cnf: Config files. (line 24)
+* blank lines, in texmf.cnf: Config files. (line 29)
* brace expansion: Brace expansion. (line 6)
* BSD universe: Running make. (line 44)
* bsh, ok with configure: configure shells. (line 14)
@@ -3698,7 +3876,7 @@ Index
* bug checklist: Bug checklist. (line 6)
* bug mailing list: Mailing lists. (line 6)
* bugs, reporting: Reporting bugs. (line 6)
-* c-*.h: Calling sequence. (line 90)
+* c-*.h: Calling sequence. (line 93)
* c-auto.h: Programming overview.
(line 25)
* c-auto.in: Running configure. (line 6)
@@ -3713,24 +3891,24 @@ Index
* CD-ROM distributions: CD-ROM distribution. (line 6)
* CFLAGS: configure environment.
(line 14)
-* ChangeLog entry: Bug checklist. (line 63)
+* ChangeLog entry: Bug checklist. (line 56)
* checklist for bug reports: Bug checklist. (line 6)
* checksum: Suppressing warnings.
(line 16)
* circle fonts: Fontmap. (line 19)
* clean Make target: Cleaning up. (line 15)
-* client_path in kpse_format_info: Calling sequence. (line 45)
+* client_path in kpse_format_info: Calling sequence. (line 48)
* CMAPFONTS: Supported file formats.
(line 36)
* cmr10, as fallback font: Fallback font. (line 15)
* cmr10.vf: Searching overview. (line 31)
-* cnf.c: Config files. (line 75)
+* cnf.c: Config files. (line 80)
* cnf.h: Programming with config files.
(line 23)
* code sharing: Shared library. (line 9)
* color printers, configuring: Simple installation. (line 60)
* comments, in fontmap files: Fontmap. (line 28)
-* comments, in texmf.cnf: Config files. (line 22)
+* comments, in texmf.cnf: Config files. (line 27)
* comments, making: Introduction. (line 27)
* common features in glyph lookup: Basic glyph lookup. (line 6)
* common problems: Common problems. (line 6)
@@ -3751,33 +3929,35 @@ Index
* conditions for use: Introduction. (line 31)
* config files: Config files. (line 6)
* config files, for Kpathsea-using programs: Calling sequence.
- (line 45)
+ (line 48)
* config files, programming with: Programming with config files.
(line 6)
* config.h: Programming overview.
(line 25)
-* config.log: Bug checklist. (line 29)
+* config.log: Bug checklist. (line 28)
+* config.ps: Specially-recognized files.
+ (line 16)
* config.ps, search path for: Supported file formats.
(line 47)
-* config.status: Bug checklist. (line 32)
+* config.status: Bug checklist. (line 31)
* configuration: Installation. (line 6)
-* configuration bugs: Bug checklist. (line 32)
+* configuration bugs: Bug checklist. (line 31)
* configuration compiler options: configure environment.
(line 23)
* configuration file, source for path: Path sources. (line 17)
-* configuration files as shell scripts.: Config files. (line 67)
+* configuration files as shell scripts.: Config files. (line 72)
* configuration of mktex scripts: mktex configuration. (line 6)
* configuration of optional features: configure options. (line 16)
* configure error from sed: Empty Makefiles. (line 6)
* configure options: configure options. (line 6)
-* configure options for mktex scripts: mktex configuration. (line 14)
+* configure options for mktex scripts: mktex configuration. (line 12)
* configure, running: Running configure. (line 6)
-* context diff: Bug checklist. (line 63)
-* continuation character: Config files. (line 26)
-* core dumps, reporting: Bug checklist. (line 69)
+* context diff: Bug checklist. (line 56)
+* continuation character: Config files. (line 31)
+* core dumps, reporting: Bug checklist. (line 62)
* CPPFLAGS: configure environment.
(line 22)
-* crashes, reporting: Bug checklist. (line 69)
+* crashes, reporting: Bug checklist. (line 62)
* CTAN, defined: Electronic distribution.
(line 6)
* CTAN.sites: Electronic distribution.
@@ -3789,10 +3969,10 @@ Index
* database, for filenames: Filename database. (line 6)
* database, format of: Database format. (line 6)
* debug.h: Debugging. (line 6)
-* debugger: Bug checklist. (line 69)
+* debugger: Bug checklist. (line 62)
* debugging: Debugging. (line 6)
* debugging options, in Kpathsea-using program: Calling sequence.
- (line 37)
+ (line 40)
* debugging output: Debugging. (line 27)
* debugging with -g, disabling: configure scenarios. (line 32)
* DEC shells and configure: configure shells. (line 25)
@@ -3811,7 +3991,7 @@ Index
(line 29)
* directories, changing default installation: Default path generation.
(line 6)
-* directories, making append-only: mktex configuration. (line 55)
+* directories, making append-only: mktex configuration. (line 62)
* directory permissions: Security. (line 51)
* directory structure, for TeX files: TeX directory structure.
(line 6)
@@ -3834,22 +4014,24 @@ Index
* dlsym.c: dlopen. (line 21)
* doc files: Supported file formats.
(line 158)
-* DOS compatible names: mktex configuration. (line 62)
+* DOS compatible names: mktex configuration. (line 69)
* DOS support: Custom installation. (line 19)
* DOS TeX implementations: Other TeX packages. (line 6)
-* dosnames: mktex configuration. (line 61)
+* dosnames: mktex configuration. (line 68)
* dot files: ls-R. (line 33)
* doubled colons: Default expansion. (line 6)
-* dpiNNN directories: mktex configuration. (line 62)
+* dpiNNN directories: mktex configuration. (line 69)
* DVI drivers: Kpathsea application distributions.
(line 12)
-* DVILJMAKEPK: mktex script names. (line 22)
+* DVILJMAKEPK: mktex script names. (line 32)
* DVILJSIZES: Fallback font. (line 6)
+* dvipdfmx.cfg: Specially-recognized files.
+ (line 19)
* DVIPSFONTS: Supported file formats.
(line 227)
* DVIPSHEADERS: Supported file formats.
(line 184)
-* DVIPSMAKEPK: mktex script names. (line 22)
+* DVIPSMAKEPK: mktex script names. (line 32)
* DVIPSSIZES: Fallback font. (line 6)
* dynamic creation of files: mktex scripts. (line 6)
* dynamic linking problems with OpenWin libraries: ShellWidgetClass.
@@ -3863,7 +4045,7 @@ Index
* ENCFONTS: Supported file formats.
(line 51)
* engine name: Path searching options.
- (line 20)
+ (line 22)
* environment variable, source for path: Path sources. (line 9)
* environment variables for TeX: Supported file formats.
(line 6)
@@ -3874,7 +4056,7 @@ Index
* error message macros: Calling sequence. (line 16)
* excessive startup time: Slow path searching. (line 6)
* expand.c: Brace expansion. (line 26)
-* expanding symlinks: Calling sequence. (line 16)
+* expanding symlinks: Calling sequence. (line 25)
* expansion, default: Default expansion. (line 6)
* expansion, path element: Searching overview. (line 43)
* expansion, search path: Path expansion. (line 6)
@@ -3883,10 +4065,11 @@ Index
* expansion, tilde: Tilde expansion. (line 6)
* expansion, variable: Variable expansion. (line 6)
* explicitly relative filenames: Searching overview. (line 52)
+* extensions, filename: File lookup. (line 24)
* externally-built filename database: Filename database. (line 6)
* extra colons: Default expansion. (line 6)
* extraclean Make target: Cleaning up. (line 23)
-* failed mktex... script invocation: mktex script names. (line 25)
+* failed mktex... script invocation: mktex script names. (line 35)
* fallback font: Fallback font. (line 6)
* fallback resolutions: Fallback font. (line 6)
* fallback resolutions, overriding: Running make. (line 10)
@@ -3912,14 +4095,18 @@ Index
(line 6)
* filesystem search: Searching overview. (line 22)
* floating directories: Searching overview. (line 22)
+* fmtutil: mktex script names. (line 10)
+* fmtutil.cnf: Specially-recognized files.
+ (line 22)
+* fmtutils.cnf: mktex configuration. (line 24)
* font alias files: Fontmap. (line 6)
* font generation failures: Unable to generate fonts.
(line 6)
* font of last resort: Fallback font. (line 6)
* font set, infinite: mktex scripts. (line 6)
* fontmap files: Fontmap. (line 6)
-* fontmaps: mktex configuration. (line 80)
-* fontname: mktex configuration. (line 81)
+* fontmaps: mktex configuration. (line 87)
+* fontname: mktex configuration. (line 88)
* fontnames, arbitrary length: Fontmap. (line 15)
* fonts, being created: Simple installation. (line 79)
* FOOINPUTS: Supported file formats.
@@ -3936,7 +4123,7 @@ Index
* fundamental purpose of Kpathsea: Introduction. (line 6)
* gcc, compiling with: configure environment.
(line 11)
-* gdb, recommended: Bug checklist. (line 69)
+* gdb, recommended: Bug checklist. (line 62)
* generation of filename database: Filename database generation.
(line 6)
* get_applicationShellWidgetClass: ShellWidgetClass. (line 6)
@@ -3950,13 +4137,15 @@ Index
* glyph lookup bitmap tolerance: Basic glyph lookup. (line 15)
* GLYPHFONTS: Supported file formats.
(line 58)
+* glyphlist.txt: Specially-recognized files.
+ (line 25)
* GNU C compiler bugs: TeX or Metafont failing.
(line 19)
* GNU General Public License: Introduction. (line 31)
* group-writable directories: Security. (line 40)
* GSFTOPK_DEBUG (128): Debugging. (line 88)
* hash table buckets, printing: Debugging. (line 105)
-* hash table routines: Calling sequence. (line 83)
+* hash table routines: Calling sequence. (line 86)
* hash_summary_only variable for debugging: Debugging. (line 105)
* help, mailing list for general TeX: Mailing lists. (line 29)
* HIER: Default path features.
@@ -3966,14 +4155,14 @@ Index
* HOME, as ~ expansion: Tilde expansion. (line 6)
* HP-UX, compiling on: TeX or Metafont failing.
(line 30)
-* identifiers, characters valid in: Config files. (line 36)
+* identifiers, characters valid in: Config files. (line 41)
* illegal pointer combination warnings: Pointer combination warnings.
(line 6)
* include fontmap directive: Fontmap. (line 33)
* INDEXSTYLE: Supported file formats.
(line 67)
* info-tex@shsu.edu: Mailing lists. (line 29)
-* input lines, reading: Calling sequence. (line 83)
+* input lines, reading: Calling sequence. (line 86)
* install-data Make target: Installing files. (line 28)
* install-exec Make target: Installing files. (line 23)
* installation: Installation. (line 6)
@@ -3989,7 +4178,7 @@ Index
* installation, simple: Simple installation. (line 6)
* installing files: Installing files. (line 6)
* interactive query: Path searching options.
- (line 93)
+ (line 106)
* interface, not frozen: Introduction. (line 27)
* introduction: Introduction. (line 6)
* kdebug:: Debugging. (line 105)
@@ -4008,11 +4197,12 @@ Index
* kpathsea/HIER: Default path features.
(line 41)
* kpathsea/README.CONFIGURE: Running configure. (line 15)
-* KPATHSEA_DEBUG: Calling sequence. (line 16)
+* KPATHSEA_DEBUG: Calling sequence. (line 22)
* kpathsea_debug: Debugging. (line 18)
* KPATHSEA_DEBUG: Debugging. (line 18)
* kpathsea_debug: Debugging. (line 6)
-* kpathsea_debug variable: Calling sequence. (line 37)
+* kpathsea_debug variable: Calling sequence. (line 40)
+* KPATHSEA_WARNING: Config files. (line 18)
* KPSE_BITMAP_TOLERANCE: Basic glyph lookup. (line 15)
* kpse_cnf_get: Programming with config files.
(line 23)
@@ -4025,19 +4215,18 @@ Index
* KPSE_DEBUG_VARS (64): Debugging. (line 83)
* KPSE_DOT expansion: KPSE_DOT expansion. (line 6)
* kpse_fallback_font: Fallback font. (line 15)
-* kpse_find_*: Calling sequence. (line 60)
-* kpse_find_file <1>: Calling sequence. (line 60)
-* kpse_find_file: File lookup. (line 26)
+* kpse_find_*: Calling sequence. (line 63)
+* kpse_find_file <1>: Calling sequence. (line 63)
+* kpse_find_file: File lookup. (line 37)
* kpse_find_glyph_format: Glyph lookup. (line 26)
-* kpse_format_info: Calling sequence. (line 45)
+* kpse_format_info: Calling sequence. (line 48)
* kpse_format_info_type: Debugging. (line 61)
-* kpse_init_prog: Calling sequence. (line 51)
+* kpse_init_prog: Calling sequence. (line 54)
* kpse_init_prog, and MAKETEX_MODE: Default path features.
(line 25)
-* kpse_make_specs: mktex script names. (line 6)
-* kpse_open_file: Calling sequence. (line 74)
+* kpse_open_file: Calling sequence. (line 77)
* kpse_program_name: Calling sequence. (line 16)
-* kpse_set_progname: Calling sequence. (line 30)
+* kpse_set_progname: Calling sequence. (line 33)
* kpse_set_program_name: Calling sequence. (line 9)
* kpse_var_value: Programming with config files.
(line 10)
@@ -4067,8 +4256,8 @@ Index
* license for using the library: Introduction. (line 31)
* LIGFONTS: Supported file formats.
(line 71)
-* lines, reading arbitrary-length: Calling sequence. (line 83)
-* Linux File System Standard: mktex configuration. (line 107)
+* lines, reading arbitrary-length: Calling sequence. (line 86)
+* Linux File System Standard: mktex configuration. (line 114)
* Linux shells and configure: configure shells. (line 19)
* Linux, using Web2c: CD-ROM distribution. (line 16)
* lndir for building symlink trees: configure scenarios. (line 18)
@@ -4103,8 +4292,8 @@ Index
* MAKETEX_FINE_DEBUG (1024): Debugging. (line 100)
* MAKETEX_MODE: Default path features.
(line 19)
-* memory allocation routines: Calling sequence. (line 83)
-* metafont driver files: mktex configuration. (line 87)
+* memory allocation routines: Calling sequence. (line 86)
+* metafont driver files: mktex configuration. (line 94)
* Metafont failures: TeX or Metafont failing.
(line 6)
* Metafont installation: Unable to generate fonts.
@@ -4127,24 +4316,29 @@ Index
(line 100)
* mismatched checksum warnings: Suppressing warnings.
(line 17)
-* missfont.log: mktex script names. (line 25)
-* MISSFONT_LOG: mktex script names. (line 30)
+* missfont.log: mktex script names. (line 35)
+* MISSFONT_LOG: mktex script names. (line 40)
* missing character warnings: Suppressing warnings.
(line 20)
+* mkocp: mktex script names. (line 18)
+* mkofm: mktex script names. (line 21)
* mktex script configuration: mktex configuration. (line 6)
* mktex script names: mktex script names. (line 6)
* mktex scripts: mktex scripts. (line 6)
-* mktex.cnf: mktex configuration. (line 23)
-* mktex.opt: mktex configuration. (line 34)
-* mktexdir: mktex configuration. (line 55)
-* mktexmf: mktex script names. (line 17)
-* mktexpk: mktex script names. (line 11)
+* mktex.cnf <1>: Specially-recognized files.
+ (line 28)
+* mktex.cnf: mktex configuration. (line 29)
+* mktex.opt: mktex configuration. (line 29)
+* mktexdir: mktex configuration. (line 62)
+* mktexfmt: mktex script names. (line 10)
+* mktexmf: mktex script names. (line 15)
+* mktexpk: mktex script names. (line 24)
* mktexpk , initial runs: Simple installation. (line 79)
* mktexpk can't guess mode: Unable to generate fonts.
(line 12)
-* mktextex: mktex script names. (line 14)
-* mktextfm: mktex script names. (line 20)
-* mode directory, omitting: mktex configuration. (line 92)
+* mktextex: mktex script names. (line 27)
+* mktextfm: mktex script names. (line 30)
+* mode directory, omitting: mktex configuration. (line 99)
* Morgan, Tim: History. (line 12)
* mostlyclean Make target: Cleaning up. (line 10)
* MPINPUTS: Supported file formats.
@@ -4155,7 +4349,7 @@ Index
(line 108)
* MPSUPPORT: Supported file formats.
(line 84)
-* MT_FEATURES: mktex configuration. (line 34)
+* MT_FEATURES: mktex configuration. (line 40)
* multiple architectures, compiling on: configure scenarios. (line 18)
* multiple architectures, directories for: configure scenarios.
(line 23)
@@ -4173,14 +4367,14 @@ Index
* NFS and ls-R: ls-R. (line 40)
* NFS CTAN access: Electronic distribution.
(line 17)
-* nomfdrivers: mktex configuration. (line 86)
-* nomode: mktex configuration. (line 91)
+* nomfdrivers: mktex configuration. (line 93)
+* nomode: mktex configuration. (line 98)
* non-English typesetting: Kpathsea application distributions.
(line 28)
* non-Unix operating systems: Custom installation. (line 19)
* none: Suppressing warnings.
(line 23)
-* null pointers, dereferencing: Bug checklist. (line 69)
+* null pointers, dereferencing: Bug checklist. (line 62)
* numeric debugging values: Debugging. (line 34)
* obtaining TeX: unixtex.ftp. (line 6)
* obtaining Web2c by ftp: Electronic distribution.
@@ -4236,8 +4430,14 @@ Index
(line 13)
* PDF generation: Kpathsea application distributions.
(line 16)
+* pdfglyphlist.txt: Specially-recognized files.
+ (line 31)
+* pdftex.cfg: Specially-recognized files.
+ (line 34)
* PDFTEXCONFIG: Supported file formats.
(line 136)
+* pdftexconfig.tex: Specially-recognized files.
+ (line 34)
* permission denied: Searching overview. (line 56)
* permissions, directory: Security. (line 51)
* permissions, file: Security. (line 47)
@@ -4261,7 +4461,7 @@ Index
* problems, common: Common problems. (line 6)
* proginit.c: Default path features.
(line 25)
-* proginit.h: Calling sequence. (line 51)
+* proginit.h: Calling sequence. (line 54)
* program-varying paths: Supported file formats.
(line 12)
* program_invocation_name: Calling sequence. (line 16)
@@ -4280,7 +4480,7 @@ Index
* quoting variable values: Variable expansion. (line 17)
* readable: Suppressing warnings.
(line 26)
-* reading arbitrary-length lines: Calling sequence. (line 83)
+* reading arbitrary-length lines: Calling sequence. (line 86)
* README.CONFIGURE: Running configure. (line 15)
* README.mirrors: Electronic distribution.
(line 13)
@@ -4288,14 +4488,14 @@ Index
* relative filenames: Searching overview. (line 52)
* relative filenames in ls-R: Installing files. (line 40)
* reporting bugs: Reporting bugs. (line 6)
-* resident.c: Calling sequence. (line 45)
+* resident.c: Calling sequence. (line 48)
* resolution, setting: Path searching options.
- (line 15)
+ (line 17)
* resolutions, last-resort: Fallback font. (line 6)
* retrieving TeX: unixtex.ftp. (line 6)
-* right-hand side of variable assignments: Config files. (line 44)
+* right-hand side of variable assignments: Config files. (line 49)
* Rokicki, Tom: History. (line 12)
-* root user: Tilde expansion. (line 18)
+* root user: Tilde expansion. (line 19)
* runtime configuration files: Config files. (line 6)
* runtime debugging: Debugging. (line 6)
* Sauter fonts, and dynamic source creation: mktex scripts. (line 6)
@@ -4310,23 +4510,22 @@ Index
* searching the disk: Searching overview. (line 22)
* security considerations: Security. (line 6)
* sed error from configure: Empty Makefiles. (line 6)
-* SELFAUTODIR: Calling sequence. (line 16)
-* SELFAUTOLOC: Calling sequence. (line 16)
-* SELFAUTOPARENT: Calling sequence. (line 16)
-* sending patches: Bug checklist. (line 63)
+* SELFAUTODIR: Calling sequence. (line 25)
+* SELFAUTOLOC: Calling sequence. (line 25)
+* SELFAUTOPARENT: Calling sequence. (line 25)
+* sending patches: Bug checklist. (line 56)
* setgid scripts: Security. (line 40)
* SFDFONTS: Supported file formats.
(line 149)
* sh5, ok with configure: configure shells. (line 25)
-* shar, recommended: Bug checklist. (line 57)
* shared library, making: Shared library. (line 6)
-* shell scripts as configuration files: Config files. (line 67)
+* shell scripts as configuration files: Config files. (line 72)
* shell variables: Variable expansion. (line 17)
* shell_escape, example for code: Programming with config files.
(line 10)
* shells and configure: configure shells. (line 6)
* simple installation: Simple installation. (line 6)
-* site overrides for mktex...: mktex configuration. (line 23)
+* site overrides for mktex...: mktex configuration. (line 29)
* size of distribution archives: Disk space. (line 6)
* skeleton TeX directory: TeX directory structure.
(line 6)
@@ -4339,23 +4538,24 @@ Index
(line 30)
* st_nlink: Subdirectory expansion.
(line 26)
-* stack trace: Bug checklist. (line 69)
+* stack trace: Bug checklist. (line 62)
* standalone path searching: Invoking kpsewhich. (line 6)
* standard error and debugging output: Debugging. (line 27)
* standard options: Standard options. (line 6)
* startup time, excessive: Slow path searching. (line 6)
* static linking: ShellWidgetClass. (line 39)
* static linking and dlsym: dlopen. (line 6)
-* string routines: Calling sequence. (line 83)
-* strip: mktex configuration. (line 101)
-* stripsupplier: mktex configuration. (line 95)
-* striptypeface: mktex configuration. (line 98)
+* string routines: Calling sequence. (line 86)
+* strip: mktex configuration. (line 108)
+* stripsupplier: mktex configuration. (line 102)
+* striptypeface: mktex configuration. (line 105)
* subdirectory searching: Subdirectory expansion.
(line 6)
+* suffixes, filename: File lookup. (line 24)
* suggestions, making: Introduction. (line 27)
* Sun 2: History. (line 12)
* Sun OpenWin patches: ShellWidgetClass. (line 29)
-* supplier directory, omitting: mktex configuration. (line 96)
+* supplier directory, omitting: mktex configuration. (line 103)
* supported file formats: Supported file formats.
(line 6)
* suppressing warnings: Suppressing warnings.
@@ -4365,7 +4565,7 @@ Index
* symbolic links not found: Unable to find files.
(line 21)
* symbolic links, and ls-R: ls-R. (line 38)
-* symlinks, resolving: Calling sequence. (line 16)
+* symlinks, resolving: Calling sequence. (line 25)
* system C compiler bugs: TeX or Metafont failing.
(line 19)
* system dependencies: Running configure. (line 6)
@@ -4376,6 +4576,8 @@ Index
(line 184)
* T42FONTS: Supported file formats.
(line 189)
+* tcfmgr.map: Specially-recognized files.
+ (line 44)
* TDS: TeX directory structure.
(line 6)
* testing, post-installation: Installation testing.
@@ -4397,7 +4599,7 @@ Index
* TeX support: TeX support. (line 6)
* TeX Users Group: Introduction. (line 39)
* tex-archive@math.utah.edu: Mailing lists. (line 25)
-* tex-file.c: File lookup. (line 26)
+* tex-file.c: File lookup. (line 37)
* tex-file.h: Programming overview.
(line 16)
* tex-glyph.c: Glyph lookup. (line 26)
@@ -4405,7 +4607,6 @@ Index
(line 16)
* tex-k-request@mail.tug.org: Mailing lists. (line 7)
* tex-k@mail.tug.org (bug address): Reporting bugs. (line 8)
-* tex-make.c: mktex script names. (line 6)
* TEX_HUSH <1>: Suppressing warnings.
(line 6)
* TEX_HUSH: Searching overview. (line 56)
@@ -4428,6 +4629,9 @@ Index
(line 62)
* TEXMF: TeX directory structure.
(line 6)
+* texmf.cnf: Specially-recognized files.
+ (line 38)
+* texmf.cnf missing, warning about: Config files. (line 18)
* texmf.cnf, and variable expansion: Variable expansion. (line 6)
* texmf.cnf, creating: Running make. (line 6)
* texmf.cnf, definition for: Config files. (line 6)
@@ -4449,11 +4653,11 @@ Index
* TEXMFINI: Supported file formats.
(line 24)
* TEXMFLOG: Logging. (line 10)
-* TEXMFOUTPUT: mktex script names. (line 30)
+* TEXMFOUTPUT: mktex script names. (line 40)
* TEXMFSCRIPTS: Supported file formats.
(line 164)
-* TEXMFVAR: mktex configuration. (line 117)
-* texmfvar: mktex configuration. (line 116)
+* TEXMFVAR: mktex configuration. (line 124)
+* texmfvar: mktex configuration. (line 123)
* TEXPICTS: Supported file formats.
(line 62)
* TEXPKS: Supported file formats.
@@ -4468,29 +4672,30 @@ Index
* TFMFONTS: Supported file formats.
(line 172)
* tilde expansion: Tilde expansion. (line 6)
-* tilde.c: Tilde expansion. (line 24)
+* tilde.c: Tilde expansion. (line 25)
* time system call: Logging. (line 15)
* tolerance for glyph lookup: Basic glyph lookup. (line 15)
* total disk space: Disk space. (line 6)
-* trailing / in home directory: Tilde expansion. (line 18)
+* trailing / in home directory: Tilde expansion. (line 19)
* trailing colons: Default expansion. (line 6)
* TRFONTS: Supported file formats.
(line 177)
* trick for detecting leaf directories: Subdirectory expansion.
(line 22)
* trojan horse attack: Security. (line 10)
+* try_std_extension_first: File lookup. (line 24)
* TTFONTS: Supported file formats.
(line 181)
* tug.org: unixtex.ftp. (line 6)
* tug@tug.org: Introduction. (line 46)
-* typeface directory, omitting: mktex configuration. (line 99)
+* typeface directory, omitting: mktex configuration. (line 106)
* ucbinclude, avoiding: Running make. (line 44)
* Ultrix shells and configure: configure shells. (line 25)
* unable to find files: Unable to find files.
(line 6)
* unable to generate fonts: Unable to generate fonts.
(line 6)
-* uname: Bug checklist. (line 22)
+* uname: Bug checklist. (line 21)
* universe, BSD vs. system V: Running make. (line 44)
* UNIX_ST_LINK: Subdirectory expansion.
(line 38)
@@ -4502,19 +4707,20 @@ Index
* unreadable files: Searching overview. (line 56)
* unusable ls-R warning: ls-R. (line 45)
* usage patterns, finding: Logging. (line 6)
-* USE_TEXMFVAR: mktex configuration. (line 122)
-* USE_VARTEXFONTS: mktex configuration. (line 112)
+* USE_TEXMFVAR: mktex configuration. (line 129)
+* USE_VARTEXFONTS: mktex configuration. (line 119)
* Usenet TeX newsgroup: Mailing lists. (line 29)
-* varfonts: mktex configuration. (line 106)
+* USERPROFILE, as ~ expansion: Tilde expansion. (line 6)
+* varfonts: mktex configuration. (line 113)
* variable expansion: Variable expansion. (line 6)
* variable.c: Variable expansion. (line 32)
* variable.h: Programming with config files.
(line 10)
-* VARTEXFONTS: mktex configuration. (line 107)
+* VARTEXFONTS: mktex configuration. (line 114)
* VAX 11/750: History. (line 12)
* version number, of Kpathsea: Kpathsea application distributions.
(line 6)
-* version numbers, determining: Bug checklist. (line 17)
+* version numbers, determining: Bug checklist. (line 16)
* VF files, not found: Searching overview. (line 31)
* VFFONTS: Supported file formats.
(line 192)
@@ -4523,6 +4729,7 @@ Index
* Vojta, Paul: History. (line 30)
* Walsh, Norman: History. (line 57)
* warning about unusable ls-R: ls-R. (line 45)
+* warning, about missing texmf.cnf: Config files. (line 18)
* warnings, file access: Searching overview. (line 56)
* warnings, pointer combinations: Pointer combination warnings.
(line 6)
@@ -4536,7 +4743,7 @@ Index
(line 196)
* whitespace, in fontmap files: Fontmap. (line 28)
* whitespace, not ignored on continuation lines: Config files.
- (line 26)
+ (line 31)
* Windows TeX implementations: Other TeX packages. (line 6)
* World Wide Web CTAN access: Electronic distribution.
(line 17)
@@ -4550,7 +4757,7 @@ Index
* XDEFS: Running make. (line 23)
* XDVIFONTS: Supported file formats.
(line 227)
-* XDVIMAKEPK: mktex script names. (line 22)
+* XDVIMAKEPK: mktex script names. (line 32)
* XDVISIZES: Fallback font. (line 6)
* XLDFLAGS: Running make. (line 29)
* XLOADLIBES: Running make. (line 32)
@@ -4564,85 +4771,86 @@ Index

Tag Table:
-Node: Top1468
-Node: Introduction2114
-Node: History4093
-Node: Installation8185
-Node: Simple installation8975
-Node: Custom installation12558
-Node: Disk space13732
-Node: Kpathsea application distributions14616
-Node: Changing search paths15731
-Node: Default path features16913
-Node: Default path generation19049
-Node: Running configure20492
-Node: configure shells21543
-Node: configure options22595
-Node: configure environment24102
-Node: configure scenarios25904
-Node: Shared library27490
-Node: Running make28824
-Node: Installing files30871
-Node: Cleaning up32818
-Node: Filename database generation33866
-Node: mktex scripts34433
-Node: mktex configuration35390
-Node: mktex script names40934
-Node: mktex script arguments42032
-Node: Installation testing42922
-Node: Security43286
-Node: TeX directory structure45853
-Node: unixtex.ftp50275
-Node: Electronic distribution52290
-Node: CD-ROM distribution55055
-Node: Other TeX packages56025
-Node: Reporting bugs57321
-Node: Bug checklist58061
-Node: Mailing lists62162
-Node: Debugging63521
-Node: Logging68593
-Node: Common problems70104
-Node: Unable to find files70935
-Node: Slow path searching73346
-Node: Unable to generate fonts74723
-Node: TeX or Metafont failing77232
-Node: Empty Makefiles79110
-Node: XtStrings80340
-Node: dlopen81176
-Node: ShellWidgetClass81994
-Node: Pointer combination warnings83626
-Node: Path searching84015
-Node: Searching overview84662
-Node: Path sources88034
-Node: Config files89105
-Node: Path expansion92505
-Node: Default expansion93454
-Node: Variable expansion95524
-Node: Tilde expansion96927
-Node: Brace expansion97825
-Node: KPSE_DOT expansion98930
-Node: Subdirectory expansion99443
-Node: Filename database101792
-Node: ls-R103106
-Node: Filename aliases106000
-Node: Database format107178
-Node: Invoking kpsewhich108191
-Node: Path searching options109068
-Node: Auxiliary tasks113205
-Node: Standard options114713
-Node: TeX support115033
-Node: Supported file formats116324
-Node: File lookup123472
-Node: Glyph lookup124763
-Node: Basic glyph lookup125890
-Node: Fontmap126769
-Node: Fallback font129386
-Node: Suppressing warnings130351
-Node: Programming131456
-Node: Programming overview131969
-Node: Calling sequence134245
-Node: Program-specific files139274
-Node: Programming with config files140312
-Node: Index141612
+Node: Top1552
+Node: Introduction2195
+Node: History4171
+Node: Installation8263
+Node: Simple installation9053
+Node: Custom installation12636
+Node: Disk space13810
+Node: Kpathsea application distributions14694
+Node: Changing search paths15809
+Node: Default path features16991
+Node: Default path generation19127
+Node: Running configure20570
+Node: configure shells21621
+Node: configure options22673
+Node: configure environment24180
+Node: configure scenarios25982
+Node: Shared library27568
+Node: Running make28582
+Node: Installing files30629
+Node: Cleaning up32576
+Node: Filename database generation33624
+Node: mktex scripts34191
+Node: mktex configuration35468
+Node: mktex script names41287
+Node: mktex script arguments42678
+Node: Installation testing43568
+Node: Security43932
+Node: TeX directory structure46499
+Node: unixtex.ftp50921
+Node: Electronic distribution52936
+Node: CD-ROM distribution55701
+Node: Other TeX packages56671
+Node: Reporting bugs57967
+Node: Bug checklist58707
+Node: Mailing lists62409
+Node: Debugging63768
+Node: Logging68840
+Node: Common problems70710
+Node: Unable to find files71541
+Node: Slow path searching73952
+Node: Unable to generate fonts75329
+Node: TeX or Metafont failing77838
+Node: Empty Makefiles79716
+Node: XtStrings80946
+Node: dlopen81782
+Node: ShellWidgetClass82600
+Node: Pointer combination warnings84232
+Node: Path searching84621
+Node: Searching overview85268
+Node: Path sources88664
+Node: Config files89735
+Node: Path expansion93380
+Node: Default expansion94329
+Node: Variable expansion96399
+Node: Tilde expansion97802
+Node: Brace expansion98782
+Node: KPSE_DOT expansion99887
+Node: Subdirectory expansion100400
+Node: Filename database102749
+Node: ls-R103803
+Node: Filename aliases106697
+Node: Database format107875
+Node: Invoking kpsewhich108888
+Node: Path searching options109833
+Node: Specially-recognized files116853
+Node: Auxiliary tasks118177
+Node: Standard options120002
+Node: TeX support120322
+Node: Supported file formats121613
+Node: File lookup128761
+Node: Glyph lookup130489
+Node: Basic glyph lookup131616
+Node: Fontmap132495
+Node: Fallback font135112
+Node: Suppressing warnings136077
+Node: Programming137182
+Node: Programming overview137695
+Node: Calling sequence139971
+Node: Program-specific files144963
+Node: Programming with config files146001
+Node: Index147301

End Tag Table