diff options
author | Karl Berry <karl@freefriends.org> | 2023-02-26 21:56:36 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-02-26 21:56:36 +0000 |
commit | a836aa89aaff61055928dbf4ba0ea3ef8f15bc51 (patch) | |
tree | c596163059357f93ad260db853fd3955219d87f1 /Master/texmf-dist | |
parent | 5f54db29da979f05965d02659e3f6530b5c8c228 (diff) |
general doc update for engines/etc.
git-svn-id: svn://tug.org/texlive/trunk@66203 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist')
32 files changed, 23436 insertions, 15722 deletions
diff --git a/Master/texmf-dist/doc/aleph/base/ChangeLog b/Master/texmf-dist/doc/aleph/base/ChangeLog new file mode 100644 index 00000000000..0d97ac202da --- /dev/null +++ b/Master/texmf-dist/doc/aleph/base/ChangeLog @@ -0,0 +1,341 @@ +2023-02-21 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * latespecial.ch: reduce memory usage, a la HH/luatex. + +2023-02-15 Phelype Oleinik <phelype.oleinik@latex-project.org> + + * latespecial.ch: new change file for "\special shipout". + * am/aleph.am (aleph_web_srcs): add latespecial.ch. + +2022-10-22 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + + * com16bit.ch: Sync with tex.ch changes: + - 2022-07-16 r63916 to disallow \noexpand\endwrite. + - 2021-07-22 r60013 explicit fmt loading error. + - 2022-09-28 r64547 protect against recursive --halt-on-error. + * comsrcspec.ch: Sync with tex.ch changes: + - 2022-09-28 r64547 protect against recursive --halt-on-error. + +2022-03-21 Karl Berry <karl@tug.org> + + * TL'22 release. + +2022-01-10 Karl Berry <karl@freefriends.org> + + * am/aleph.am: do not silence tangle-sh. + +2021-07-19 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + + * com16bit.ch: Sync with tex.ch to initialize limit. + https://tug.org/pipermail/tex-k/2021-July/003630.html + +2021-05-08 Akira Kakuto <kakuto@w32tex.org> + + * com16bit.ch: Sync sup_param_size and sup_save_size with tex.ch. + +2021-03-23 Karl Berry <karl@tug.org> + + * TL'21. + +2020-07-07 Akira Kakuto <kakuto@w32tex.org> + + * com16bit.ch: Sync with tex.ch (avoid seg fault in unusual + interaction sequence). + +2020-02-10 Akira Kakuto <kakuto@w32tex.org> + + * com16bit.ch: Sync with tex.ch for changes by Phelype Oleinik + to support \input {...}. + +2019-12-18 Akira Kakuto <kakuto@w32tex.org> + + * com16bit.ch: Sync with tex.ch for out_what [1374]. + +2019-08-10 Akira Kakuto <kakuto@w32tex.org> + + * com16bit.ch: Sync with tex.ch for texmf_yesno('log_openout'). + +2018-03-24 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + + * ceostuff.ch: Recover the right \lastnodetype initialization + value ignored by tex.ch. + +2017-12-25 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + + * omtrans.ch (omega_print): expand \newlinechar for terminal and + log output. (Without this, LaTeX error messages contain ^^J.) + +2017-12-13 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + + * om16bit.ch: \show\odelimiter should be \odelimiter, etc. + This is a backport from eptexdir/fam256.ch. + +2017-01-28 Karl Berry <karl@freefriends.org> + + * com16bit.ch (texarray): don't mention pool files in error message. + +2015-07-10 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Dependencies for 'make check'. + +2015-06-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Use $(tie_c) and $(tie_m). + +2015-04-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + * alephbis.c: Declare {in,out}_file_fd only when used (!WIN32). + +2015-01-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch: Drop intcast(). + +2014-12-15 Karl Berry <karl@tug.org> + + * alephbis.c (runexternalocp): quote arguments to system() + and check string values. Untested, sorry to say. + +2014-07-21 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * com16bit.ch: Add a function get_nullstr. + +2014-01-20 Peter Breitenlohner <peb@mppmu.mpg.de> + + TeX tuneup of 2014. + * com16bit.ch, eobase.ch, eoext.ch, eover.ch, omstr.ch, + om16bit.ch: Adapt to TeX Version 3.14159265. + +2014-01-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch, comsrcspec.ch: Write dump_name to the terminal. + +2014-01-13 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch.ch: Restore the word `preloaded' for + format_idents (as in ../tex.ch). + +2013-06-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * alephbis.c: Include "alephd.h" before system headers. + +2013-04-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + * alephextra.h, eover.ch: 0.0-rc4 ---> 0.1 for TL 2013. + +2012-12-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Enable silent rules. + +2012-12-02 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * om16bit.ch: fix a delcode bug. + +2012-11-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Define al_tangle and use it instead of o_tangle. + +2012-10-05 Peter Breitenlohner <peb@mppmu.mpg.de> + + * aleph.c ({allocate,undump}{font,ocp}table): Correctly specify + the new size for xrealloc(). Remove useless casts. + ({allocate,{un,}dump}fontsorttable): Drop unused functions. + * omocp.ch: Fix the logic of read_ocp_info(). + Check for ocp table overflow. + Avoid segmentation fault (uninitialized use of 'f'). + +2012-07-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * alephextra.c: Must #define DLLPROC before reading alephd.h. + +2012-06-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * alephextra.c [W32TeX]: #define DLLPROC for aleph.dll. + +2012-06-28 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * om16bit.ch: Aleph uses 256 math font families. + +2012-04-11 Peter Breitenlohner <peb@mppmu.mpg.de> + + * eobase.ch: Fixed a typo in TeX text (for e-TeX). + +2012-02-16 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch: Remove test for end-of-file after undump. + +2012-02-01 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch: Ensure dvi file size < 2GB. + +2011-12-13 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch, om16bit.ch: Consistency of `constants': + Aleph requires min_halfword==0. + +2011-12-08 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch, om16bit.ch: Consistency of `constants'. + * omocp.ch: Adjust to null, i.e., min_halfword <0. + + * aleph.test (new): Just testing 'aleph -version'. + * Makefile (removed): Unused. + * am/aleph.am: Adjusted. + +2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch.ch (print_file_line): Bug fix: avoid uninitialized + lineno - from ../tex.ch. + * eobase.ch: Slightly reformulate printing of current line - + from ../etexdir/etex.ch. + +2011-09-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + * alephbis.c (runexternalocp): Declare tempenv as const. + +2011-04-19 Peter Breitenlohner <peb@mppmu.mpg.de> + + Avoid 'differ in signedness' warnings. + * com16bit.ch: Cast runsystem() arg to string. + +2011-03-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Use AM_CFLAGS instead of aleph_CFLAGS. + +2011-03-23 Peter Breitenlohner <peb@mppmu.mpg.de> + + eobase.ch: Remove unused (commented) e-TeX changes. + +2011-03-21 Peter Breitenlohner <peb@mppmu.mpg.de> + + * aleph-pool.h, eomega.ech, etex.ch, omega.ch[012], omxml.ch + (removed): Obsolete. + * am/aleph.am (EXTRA_DIST): Adapt. + +2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + * eobase.ch: Adapt to ../etexdir/etex.ch: + Mention \protected in error and help messages only when in + in extended mode. + +2011-01-11 Peter Breitenlohner <peb@mppmu.mpg.de> + + * aleph.mk (removed): Obsolete. + +2011-01-01 Peter Breitenlohner <peb@mppmu.mpg.de> + + * alephextra.c (new): #include <alephd.h> and <lib/texmfmp.c>. + + * am/aleph.am: alephextra.c is now distributed. + +2010-12-31 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am (alephextra.c): Uniform dependencies and rules. + +2010-05-19 Peter Breitenlohner <peb@mppmu.mpg.de> + + * aleph.c (new_input_line): Cast integer to long for printing + to avoid warning on 64Bit systems. + +2010-05-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * eobase.ch: Adapt to ../etexdir/etex.ch: + More error message with \protected, from Heiko. + +2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * eobase.ch: Adapt to ../etexdir/etex.ch: + Fixed the error message for improper use of \protected, + reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>. + +2010-01-03 Karl Berry <karl@tug.org> + + * com16bit.ch: propagate "executed safely" wording change. + +2009-11-27 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch (read_font_info): Better wording of error message. + +2009-11-19 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch (read_font_info): Check font name length to avoid + broken .dvi files. + +2009-11-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch: Check for allowed filename before opening the + output file. Better diagnostic when input file not found. + From Akira Kakuto <kakuto@fuk.kindai.ac.jp>. + +2009-10-24 Peter Breitenlohner <peb@mppmu.mpg.de> + + * com16bit.ch: Use kpse_{in,out}_name_ok(), now in Kpathsea, + instead of open_{in,out}_name_ok(). + +2009-10-07 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Enable compiler warnings. + + Avoid many (--enable-...=max) compiler warnings. + * aleph.c (getc_two_LE, ungetc_two_LE): Declare as static. + (createeqtbptr): Comment out unused function. + (zpnewinputln, ziniteqtbentry): Drop extern decls; instead use + pnewinputln and initeqtbentry as defined in alephcoerce.h. + * alephbis.c (runexternalocp): Declare in_file_fd, out_file_fd + only when used (HAVE_MKSTEMP). + * alephmem.h: ANSI C function prototypes. + * com16bit.ch (bound_name, months): Declare as const_cstring. + (get_strings_started, open_log_file): Drop unused variables. + * eo16bit.ch (show_sa): Drop unused variable. + * eomem.ch (box_end): Drop unused variable. + * om16bit.ch (set_math_char): Drop unused variables. + +2009-09-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Adapt to new makecpool with one argument, + obsoleting aleph-pool.h. + +2009-08-16 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am: Adapt to tangle-sh and web2c-sh. + +2009-08-13 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/aleph.am (aleph_c_h): avoid to split the C code. + +2009-06-23 Peter Breitenlohner <peb@mppmu.mpg.de> + + * aleph.c, alephbis.c: drop P?C, P?H, use ANSI C function + declarations. + +2009-02-26 Karl Berry <karl@tug.org> + + * alephextra-rc2.h (BANNER, COPYRIGHT_HOLDER, BUG_ADDRESS): + make consistent. + * eocprt.ch: do not announce copyright on the terminal, + but do include full copyright notices in the .log. + * com16bit-rc2.ch (banner_k): just make equivalent to banner, + since Web2C announces itself. + + * comsrcspec.ch, com16bit-rc2.ch: + Use runsystem() instead of system(), etc. See tex.ch entry in + ../ChangeLog + +2008-03-23 Karl Berry <karl@freefriends.org> + + * Update to TeX 3.1415926; compile in pool files. + From Akira. + +2006-05-25 Roozbeh Pournader <roozbeh@farsiweb.info> + + * omfilter.ch: fixed a bug in OCP processing, increased + active_mem_size from 2000 to 50000. + + * alephbis.c: updated from ../omegadir/omegabis.c: optimized UTF-8 + read/write code, fixed a macro, closed files and freed memory to + avoid a leak. + + * omfilter.ch, eover-rc2.ch: made 'weave'-able. + + * alephbis.c, aleph.c, aleph.defines, alephextra.h, + alephextra-rc1.h, alephextra-rc2.h, alephmem.h: fixed copyright + lines. diff --git a/Master/texmf-dist/doc/dvipdfmx/README b/Master/texmf-dist/doc/dvipdfmx/README index 2ab97e311aa..eb0a0d32b7f 100644 --- a/Master/texmf-dist/doc/dvipdfmx/README +++ b/Master/texmf-dist/doc/dvipdfmx/README @@ -1,11 +1,26 @@ +$Id: README 63453 2022-05-31 15:40:57Z karl $ dvipdfmx and xdvipdfmx for TeX Live =================================== +dvipdfmx is a DVI-to-PDF translator. It requires the Kpathsea library +for patch searching. + +This package is released under the GNU GPL, version 2, or (at your +option) any later version. + +Mailing list for bug reports and all discussion: +https://lists.tug.org/dvipdfmx; anyone can join the list, but it is not +necessary to join to post. Archives are public. + +dvipdfmx is now maintained as part of TeX Live, https://tug.org/texlive. +Info on building only one program from TL, like this one: + https://tug.org/texinfohtml/tlbuild.html#Build-one-package +TeX Live general build info: + https://tug.org/texlive/build.html xdvipdfmx ========= - xdvipdfmx is an extended version of dvipdfmx, and is now incorporated in -the same sources. +the same sources. In the installation, dvipdfmx is a symlink to xdvipdfmx. The extensions provided by xdvipdfmx provide support for the Extended DVI (.xdv) format used by xetex, including support for platform-native fonts @@ -15,8 +30,6 @@ Like its direct ancestor dvipdfmx, this is free software and may be redistributed under the terms of the GNU General Public License, version 2 or (at your option) any later version. -There is a hope to merge xdvipdfmx into dvipdfmx. - Jonathan Kew mentions that in the past, XeTeX used a Mac-specific program xdv2pdf as the backend instead of xdvipdfmx. xdv2pdf supported a couple of special effects that are not yet available through @@ -26,71 +39,6 @@ things. It would be nice for those things to continue to be supported, if anyone is looking for some nontrivial but not-impossible job and happens across this file. -The dvipdfmx Project -==================== - -Copyright (C) 2002-2014 by Jin-Hwan Cho, Shunsaku Hirata, -Matthias Franz, and the dvipdfmx project team. This package is released -under the GNU GPL, version 2, or (at your option) any later version. - -dvipdfmx is now maintained as part of TeX Live. - -Contents --------- - -1. Introduction - -2. Installation - - 2.1. Compiling and Installation - - 2.2. TeX Directory Structure (TDS) - - 2.3. Auxiliary Files - -3. CJK Support - - 3.1. Quick Test of Installation - - 3.2. CJK-LaTeX and HLaTeX - - 3.3. Omega and Other Extended TeX - - 3.4. Vertical Typesetting - -4. Unicode Support - - 4.1. Unicode Support in General - - 4.2. ToUnicode CMap Support - - 4.3. OpenType Support and Unicode - - 4.4. Type1 Font Support and Unicode - -5. Graphics and Image Format - - 5.1. Supported Graphics File Format - - 5.2. Graphics Extension - - 5.3. Using External Programs for Format Conversion - -6. DVI Specials - - 6.1. Compatibility - - 6.2. Additions to Dvipdfm's pdf: Special - -7. Font Mapping - -8. Incompatible Changes From Dvipdfm - -9. Other Improvement Over Dvipdfm - -10. Font Licensing and Embedding - - 1. Introduction ------------ @@ -106,405 +54,53 @@ Contents Hirata and its modified one, dvipdfm-kor, by Jin-Hwan Cho. -2. Installation - ----------------------- - - Typical usage and installation steps are not different from the original dvipdfm. - Please refer documents from dvipdfm distribution for detailed instruction on how - to install and how to use dvipdfm. - - -2.1. Compiling and Installation - - - If you have obtained older version, please use latest version unless you have a - clear reason to choose older versions. The latest snapshot of dvipdfmx source is - available at: - - http://project.ktug.or.kr/dvipdfmx/snapshot/ - - And the CVS repository for this project can be obtained through anonymous CVS - access with the following command: - - cvs -d:pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot login - cvs -d:pserver:anonymous@cvs.ktug.or.kr:/home/cvsroot co dvipdfmx - - When prompted for a password, simply press the Enter key. - - - The kpathsea library is required to compile and install dvipdfmx in UNIX or - UNIX-like platforms. It is usually included for most of TeX distributions. - If you already have installed dvipdfm (the original) by yourself, you should - already have kpathsea library and it's headers. And zlib library is highly - recommended as dvipdfmx can't compress data without this. - - - Before starting things, you must check the location of your TeX installation. - If other TeX related programs are installed under, e.g., '/usr/local/TeX/bin', - you should specify directory '/usr/local/TeX' as an for ./configure script as - - ./configure --prefix=/usr/local/TeX --with-kpathsea=/usr/local/TeX - - If you are using libpaper to handle paper sizes for various program, you can - use --with-paper option to ./configure. The location of libpaper library can - be specified with this option as - - --with-paper=DIR - - Please note thath dvipdfmx uses JIS paper size for B-series paper instead of - ISO's one for historical reason. (too late to change the default behavior) - The most easiest way to fix this is to use libpaper if you already have that, - otherwise define ISO_PAPERSIZE macro at compilation time. - - Dvipdfmx requires libpng library available from - - http://www.libpng.org/pub/png/libpng.html - - to read PNG format images. To tell dvipdfmx the location of libpng header - and library, use configure option - - --with-png=DIR - - After you have finished ./configure, just type - - make && make install - - then dvipdfmx will be installed under the directory specified by the --prefix - option to ./configure script. After you have successfully installed dvipdfmx, - you may need to install various auxiliary files and slightly adjust location - of files or configuration. Amount of additional files and modification depends - on your environment, and briefly described in the sections follows. - - -2.2. TeX Directory Structure (TDS) - - - If your TeX installation is conforming with TDS version 1.1 described in - - http://www.tug.org/ftp/tex/tds-1.1/ - - , then you'll need to adjust your dvipdfmx installtion. This also applies when - you have updated programs without modifying existing platform independent files - (files in texmf directory). Dvipdfmx installs few files in addition to dvipdfmx - program itself, dvipdfmx.cnf, cid-x.map and others, but it currently does not - choose installation directory as appropriate for TDS 1.1. - - If your 'kpsewhich' program recognizes '.sfd' file format, i.e., - - kpsewhich --show-path --format=.sfd - - does not answer as 'unknown format', then you should move several files under - appropriate locations or should modify texmf.cnf as follows: - - * Subfont Definition (SFD) Files - - Recommended location of SFD files (.sfd) is - - $TEXMF/fonts/sfd/ - - and environmental variable for specifying additional search path for this - file format files is - - SFDFONTS - - . To make those files visible to dvipdfmx under TDS 1.1 installation, you - must move all .sfd files to the directory mentioned above or set SFDFONTS - variable in texmf.cnf. As some programs may not be updated to follow this - convention yet, it is recommended to preserve old installation directory. - If you have .sfd files under "$TEXMF/dvipdfm/", please do not use that, - please move all files to the directory mentioned above. - - * PostScript CMap Resources - - Recommended location of CMap files (no suffix or with suffix .cmap) is - - $TEXMF/fonts/cmap/ - - and environmental variable for adding extra search path for this format files - is - - CMAPFONTS - - You may want to set CMAPFONTS to include GhostScript's Resource path, e.g., - - /usr/share/ghostscript/Resource/CMap// - - in your texmf.cnf file as this resource can be used by various programs that - manipulates PS/PDF files. Dvipdfmx installs few additional files into the - directory "$TEXMF/dvipdfm/CMap", please move this files to the directory for - CMap files. But please note that file "Adobe-Identity-UCS2" is not meaningful - to other programs at all, so you should place at least this file in different - location than CMap files. (Or you can just remove this unless you see problems - in copy-and-pasting text from dvipdfmx output PDF.) - - * Font Mapping Files - - Suggested place for dvipdfm's font mapping files (.map) is - - $TEXMF/fonts/map/dvipdfm/ - - and environmental variable for this format files is - - TEXFONTMAPS - - For files containing dvipdfmx extension to dvipdfm format, place them into - - $TEXMF/fonts/map/dvipdfmx/ - - instead of sub-directory 'dvipdfm'. - - * OpenType Fonts - - Appropriate place for OpenType font with PostScript outline (.otf) is - - $TEXMF/fonts/opentype/supplier/typeface/ - - where 'supplier' and 'typeface' should be replaced with font's supplier and - typeface identifier strings. - - -2.3. Auxiliary Files - - - 1) CMap PostScript Resources - - Dvipdfmx internally identifies glyphs in a font with identifier represented - as numbers ranging from 0 to 65535. CMap PostScript Resources defines how the - input character codes are translated to those ID's (CID). CID's should be - uniquely assigned to every glyphs contained in a collection of glyphs. Adobe - has defined several "character collection"s; Adobe-GB1 (Simplified Chinese), - Adobe-CNS1 (Traditional Chinese), Adobe-Japan1 (Japanese), and Adobe-Korea1 - (Korean), which contains much of glyphs necessary for publishing for each - languages. Details on Adobe's character collections can be found at Adobe's - developer site: - - http://partners.adobe.com/public/developer/font/index.html - - Please install CMap resource files under the directory - - ${TEXMF}/fonts/cmap - - , or set CMAPFONTS variable to point the directory containing CMap resource - in texmf.cnf. If your TeX installation does not conforming TDS 1.1, then you - should set CMAPINPUTS variable to make those files visible to dvipdfmx. For - examples, - - CMAPINPUTS= .;$TEXMF/fonts/cmap// - - Adobe's "CMaps for PDF 1.4 CJK Fonts" are available from: - - http://partners.adobe.com/public/developer/acrobat/index_advanced.html - - or - - ftp://ftp.oreilly.com/pub/examples/nutshell/cjkv/adobe/ - - You can find a short explanation of each CMap files in cid2code.txt contained - in the archive files found at the above FTP site. - - - 2) SubFont Definition Files - - ..... - - - 3) Adobe Glyph List and ToUnicode Mapping Files - - The Adobe glyph list (AGL) file describes correspondence between PostScript - glyph names (e.g., AE, Aacute, ...) and it's Unicode character sequences. - Most features described in the section "Unicode Support" requires this file. - - Dvipdfmx looks for file "glyphlist.txt" when conversion from PostScript glyph - names to Unicode is necessary. This conversion is done in various situations; - when creating ToUnicode CMap for 8bit encoded fonts, finding glyph description - from TrueType/OpenType fonts supporting Unicode when the font itself does not - provide the mapping from PostScript glyph names to glyph indices (version 2.0 - "post" table), and when encoding "unicode" is specified for Type 1 font. - - The "glyphlist.txt" file written by Adobe is found at - - http://partners.adobe.com/asn/tech/type/glyphlist.txt - - You should place file "glyphlist.txt" in a directory shown by - - kpsewhich --progname=dvipdfm --show-path="other text files" - - Please check kpathsea library can find this file by 'kpsewhich' command: - - kpsewhich --progname=dvipdfm --format="other text files" glyphlist.txt - - The 'progname' is not dvipdfmx but dvipdfm here. - - ToUnicode mapping is similar to glyph list file but describes correspondence - between CID numbers and Unicode values. The content of this file look like a - CMap files and is contained in "CMaps for PDF 1.4 CJK Fonts" from Adobe (see - "CMap PostScript Resources" above). This file is required to support TrueType - font (including OpenType fonts with TrueType outline). Those files should be - installed same directory as ordinary CMap files. - - -3. CJK Support - -3.1. Quick Test of Installation - -3.2. CJK-LaTeX and HLaTeX - -3.3. Omega and Other Extended TeX - - -4. Unicode Support - -4.1. Unicode Support in General - -4.2. ToUnicode CMap Support - -4.3. OpenType Support and Unicode - -4.4. Type1 Font Support and Unicode - - -5. Graphics and Image Format - -5.1. Supported Graphics File Format - -5.2. Graphics Extension - -5.3. Using External Programs for Format Conversion - - -6. DVI Specials - -6.1. Compatibility - -6.2. Additions to Dvipdfm's pdf: Special - - -7. Font Mapping - - -7.1. Options for CJK Font - - Few options are available in dvipdfmx (for CID-keyed fonts) in addition - to the original dvipdfm. - - - 1) TTC Index - - You can specify TrueType Collection index number with :n: option in front - of TrueType font name. - - min10 H :1:mincho - - In this example, the option :1: tells dvipdfmx to select TrueType font #1 - from TrueType collection font "mincho.ttc". - - - 2) No-embed Switch - - It is possible to block embedding glyph data with the character `!' - in front of the font name in the font mapping file. - - This feature reduces the size of the final PDF output, but the PDF file - may not be viewed exactly in other systems on which appropriate fonts - are not installed. - - Use of this option is not recommended for fonts that contains unusual - characters (and characters having different width from default value). - Please note that glyph metric information is not written in the output - PDF file for TrueType fonts without embedding. It will be treated as - fixed-pitch with all widths equal to the default value (will be fixed - someday). - - - 3) Stylistic Variants - - Keywords ",Bold", ",Italic", and ",BoldItalic" can be used to create - synthetic bold, italic, and bolditalic style variants from other font - using PDF viewer's (or OS's) function. - - jbtmo@UKS@ UniKSCms-UCS2-H :0:!batang,Italic - jbtb@Unicode@ Identity-H !batang/UCS,Bold - - Availability of this feature highly depends on the implementation of PDF - viewers. This feature is not supported for embedded fonts in the most of - PDF viewers, like Adobe Acrobat Reader and GNU Ghostscript. - - Notice that this option automatically disable font embedding. - - - -8. Incompatible Changes From Dvipdfm - - - -9. Other Improvement Over Dvipdfm - - -9.1. Encryption - - -9.2. Font - - - -10. Font Licensing and Embedding - - In OpenType format, information regarding how the font should be treated - when creating documents can be recorded. Dvipdfmx uses this information - to decide whether embedding font into the document is permitted. - - This font embedding information is indicated by a flag called as "fsType" - flag; each bit representing different restrictions on font embedding. - If multiple flag bits are set in fsType, the least restrictive license - granted takes precedence in dvipdfmx. The fsType flag bits recognized by - dvipdfmx is as follows: - - * Installable embedding - - All font with this type of license can be embedded. - - * Editable embedding - - All font with this type of license can be embedded. - - * Embedding for Preview & Print only +2. Random number generating function + --------------------------------- - Dvipdfmx give the following warning message for fonts with this - type of license: + Prefixes of font names are calculated by using a function which + generates pseudo random numbers. In order to obtain a unique + prefix on all platforms when current time is common, a special + function MT19937, coded by Takuji Nishimura and Makoto Matsumoto, + is used. The header of the C program by Takuji Nishimura and + Makoto Matsumoto is the following: - This document contains `Preview & Print' only licensed font + A C-program for MT19937, with initialization improved 2002/1/26. + Coded by Takuji Nishimura and Makoto Matsumoto. - For the font with this type of licensing, font embedding is allowed - solely for the purpose of (on-screen) viewing and/or printing the - document; further editing of the document or extracting an embedded - font data for other purpose is not allowed. To ensure this condition, - you must at least protect your document with non-empty password. + Before using, initialize the state by using init_genrand(seed) + or init_by_array(init_key, key_length). - All other flags are treated as more restrictive license than any of the - above flags and treated as "No embedding allowed"; e.g., if both of the - editable-embedding flag and unrecognized license flag is set, the font - is treated as editable-embedding allowed, however, if only unrecognized - flags are set, the font is not embedded. + Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, + All rights reserved. - Embedding flags are preserved in embedded font if the font is embedded - as a TrueType font or a CIDFontType 2 CIDFont. For all font embedded as - a PostScript font (CFF, CIDFontType 0 CIDFont), they are not preserved. - Only /Copyright and /Notice in the FontInfo dictionary are preserved in - this case. + Redistribution and use in source and binary forms, with or without + modification, are permitted provided that the following conditions + are met: - Some font vendors put different embedding restrictions for different - condition; e.g., font embedding might be not permitted for commercial - materials unless you acquire "commercial license" separately. - Please read EULA carefully before making decision on font usage. + 1. Redistributions of source code must retain the above copyright + notice, this list of conditions and the following disclaimer. + 2. Redistributions in binary form must reproduce the above copyright + notice, this list of conditions and the following disclaimer in the + documentation and/or other materials provided with the distribution. - Adobe provide a font licensing FAQ and a list of embedding permissions - for Adobe Type Library fonts: + 3. The names of its contributors may not be used to endorse or promote + products derived from this software without specific prior written + permission. - http://www.adobe.com/type/browser/legal/ + THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS + "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT + LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR + A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR + CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, + EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, + PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR + PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF + LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING + NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - For Japanese font in general, embedding permission tend to be somewhat - restrictive. Japanese users should read the statement regarding font - embedding from Japan Typography Association (in Japanese): - http://www.typography.or.jp/act/morals/moral4.html + Any feedback is very welcome. + http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html + email: m-mat @ math.sci.hiroshima-u.ac.jp (remove space) diff --git a/Master/texmf-dist/doc/dvipng/dvipng.html b/Master/texmf-dist/doc/dvipng/dvipng.html index 3c444c6f204..3fbc749c30f 100644 --- a/Master/texmf-dist/doc/dvipng/dvipng.html +++ b/Master/texmf-dist/doc/dvipng/dvipng.html @@ -1,6 +1,6 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!DOCTYPE html> <html> -<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <title>A DVI-to-PNG translator</title> @@ -19,21 +19,17 @@ <link href="#Introduction" rel="next" title="Introduction"> <style type="text/css"> <!-- -a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} +a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} +a.summary-letter-printindex {text-decoration: none} div.example {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -span:hover a.copiable-anchor {visibility: visible} -ul.no-bullet {list-style: none} +span.r {font-family: initial; font-weight: normal; font-style: normal} +span:hover a.copiable-link {visibility: visible} +td.printindex-index-entry {vertical-align: top} +td.printindex-index-section {vertical-align: top} +th.entries-header-printindex {text-align:left} +th.sections-header-printindex {text-align:left} +ul.mark-bullet {list-style-type: disc} +ul.toc-numbered-mark {list-style: none} --> </style> @@ -41,7 +37,6 @@ ul.no-bullet {list-style: none} </head> <body lang="en"> -<h1 class="settitle" align="center">A DVI-to-PNG translator</h1> @@ -50,19 +45,19 @@ ul.no-bullet {list-style: none} -<div class="top" id="Top"> -<div class="header"> +<div class="top-level-extent" id="Top"> +<div class="nav-panel"> <p> Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="dvipng"></span><h1 class="top">dvipng</h1> +<h1 class="top" id="dvipng">dvipng</h1> <p>This manual documents dvipng, a program to translate a DVI (DeVice Independent) file into PNG (Portable Network Graphics). </p> <p>This file documents dvipng version 1.17 </p> -<p>Corrections or perhaps rewrites of sections are <em>very welcome</em>. +<p>Corrections or perhaps rewrites of sections are <em class="emph">very welcome</em>. </p> <p>Jan-Åke Larsson </p> @@ -70,15 +65,15 @@ Independent) file into PNG (Portable Network Graphics). -<div class="Contents_element" id="SEC_Contents"> +<div class="element-contents" id="SEC_Contents"> <h2 class="contents-heading">Table of Contents</h2> <div class="contents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="toc-Introduction-1" href="#Introduction">1 Introduction</a></li> <li><a id="toc-Installation-1" href="#Installation">2 Installation</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Prerequisites-1" href="#Prerequisites">2.1 Prerequisites</a></li> <li><a id="toc-Configure-1" href="#Configure">2.2 Configure</a></li> <li><a id="toc-Build_002finstall-1" href="#Build_002finstall">2.3 Build/install</a></li> @@ -87,23 +82,23 @@ Independent) file into PNG (Portable Network Graphics). </ul></li> <li><a id="toc-Basic-usage-of-dvipng" href="#Basic-usage">3 Basic usage of dvipng</a></li> <li><a id="toc-Command_002dline-options-1" href="#Command_002dline-options">4 Command-line options</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Option-summary-1" href="#Option-summary">4.1 Option summary</a></li> <li><a id="toc-Option-details-1" href="#Option-details">4.2 Option details</a></li> </ul></li> <li><a id="toc-Graphics-1" href="#Graphics">5 Graphics</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Encapsulated-PostScript-1" href="#Encapsulated-PostScript">5.1 Encapsulated PostScript</a></li> <li><a id="toc-Bitmapped-graphics-1" href="#Bitmapped-graphics">5.2 Bitmapped graphics</a></li> <li><a id="toc-Raw-PostScript-1" href="#Raw-PostScript">5.3 Raw PostScript</a></li> </ul></li> <li><a id="toc-Color-1" href="#Color">6 Color</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Color-specifications-1" href="#Color-specifications">6.1 Color specifications</a></li> <li><a id="toc-Color-specials-1" href="#Color-specials">6.2 Color specials</a></li> </ul></li> <li><a id="toc-Diagnosing-problems-1" href="#Diagnosing-problems">7 Diagnosing problems</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Contact-information-1" href="#Contact-information">7.1 Contact information</a></li> <li><a id="toc-Debug-options-1" href="#Debug-options">7.2 Debug options</a></li> </ul></li> @@ -114,12 +109,12 @@ Independent) file into PNG (Portable Network Graphics). </div> </div> <hr> -<div class="chapter" id="Introduction"> -<div class="header"> +<div class="chapter-level-extent" id="Introduction"> +<div class="nav-panel"> <p> Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="#Top" accesskey="p" rel="prev">dvipng</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> +<h2 class="chapter" id="Introduction-1">1 Introduction</h2> @@ -128,7 +123,7 @@ Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previou from TeX and its relatives. </p> <p>If GIF support is enabled, GIF output is chosen by using the -‘<samp>dvigif</samp>’ binary or with the ‘<samp>--gif</samp>’ option. +‘<samp class="samp">dvigif</samp>’ binary or with the ‘<samp class="samp">--gif</samp>’ option. </p> <p>It is intended to produce anti-aliased screen-resolution images as fast @@ -136,67 +131,67 @@ as is possible. The target audience is people who need to generate and regenerate many images again and again. The primary target is the preview-latex (X)Emacs package, a package to preview formulas from within (X)Emacs. Yes, you get to see your formulas in the (X)Emacs -buffer, see <a href="http://www.gnu.org/software/auctex/preview-latex.html">http://www.gnu.org/software/auctex/preview-latex.html</a>. +buffer, see <a class="url" href="http://www.gnu.org/software/auctex/preview-latex.html">http://www.gnu.org/software/auctex/preview-latex.html</a>. </p> <p>Another example is WeBWorK, an internet-based method for delivering homework problems to students over the internet, giving students instant feedback as to whether or not their answers are correct, see -<a href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>. +<a class="url" href="http://webwork.math.rochester.edu">http://webwork.math.rochester.edu</a>. </p> <p>A more recent addition to the dvipng-using applications out there is MediaWiki, the software behind Wikipedia and many other wikis out there. Dvipng is used to render mathematical formulae from version -1.8.0 of MediaWiki, see <a href="http://www.mediawiki.org">http://www.mediawiki.org</a>. +1.8.0 of MediaWiki, see <a class="url" href="http://www.mediawiki.org">http://www.mediawiki.org</a>. </p> <p>Other applications may also benefit, like web applications as latex2html and WYSIWYG editors like LyX. </p> -<p>The benefits of ‘<samp>dvipng</samp>’/‘<samp>dvigif</samp>’ include +<p>The benefits of ‘<samp class="samp">dvipng</samp>’/‘<samp class="samp">dvigif</samp>’ include </p> -<ul> -<li> Speed. It is a very fast bitmap-rendering code for DVI files, which +<ul class="itemize mark-bullet"> +<li>Speed. It is a very fast bitmap-rendering code for DVI files, which makes it suitable for generating large amounts of images on-the-fly, as needed in preview-latex, WeBWorK and others. -</li><li> It does not read the postamble, so it can be started before TeX -finishes. There is a ‘<samp>--follow</samp>’ switch that makes dvipng wait at +</li><li>It does not read the postamble, so it can be started before TeX +finishes. There is a ‘<samp class="samp">--follow</samp>’ switch that makes dvipng wait at end-of-file for further output, unless it finds the POST marker that indicates the end of the DVI. -</li><li> Interactive query of options. dvipng can read options interactively +</li><li>Interactive query of options. dvipng can read options interactively through stdin, and all options are usable. It is even possible to change the input file through this interface. -</li><li> Supports PK, VF, PostScript Type1, and TrueType fonts, subfonts (i.e., +</li><li>Supports PK, VF, PostScript Type1, and TrueType fonts, subfonts (i.e., as used in CJK-LaTeX), color specials, and inclusion of PostScript, PNG, JPEG or GIF images. -</li><li> and more... +</li><li>and more... </li></ul> <hr> </div> -<div class="chapter" id="Installation"> -<div class="header"> +<div class="chapter-level-extent" id="Installation"> +<div class="nav-panel"> <p> Next: <a href="#Basic-usage" accesskey="n" rel="next">Basic usage of dvipng</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2> +<h2 class="chapter" id="Installation-1">2 Installation</h2> -<span id="index-configuration_002c-of-dvipng"></span> -<span id="index-compilation"></span> -<span id="index-installation_002c-of-dvipng"></span> +<a class="index-entry-id" id="index-configuration_002c-of-dvipng"></a> +<a class="index-entry-id" id="index-compilation"></a> +<a class="index-entry-id" id="index-installation_002c-of-dvipng"></a> -<p>Installing dvipng should be simple: merely <code>./configure</code>, -<code>make</code>, and <code>make install</code>. +<p>Installing dvipng should be simple: merely <code class="code">./configure</code>, +<code class="code">make</code>, and <code class="code">make install</code>. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Prerequisites" accesskey="1">Prerequisites</a></li> <li><a href="#Configure" accesskey="2">Configure</a></li> <li><a href="#Build_002finstall" accesskey="3">Build/install</a></li> @@ -204,31 +199,31 @@ Next: <a href="#Basic-usage" accesskey="n" rel="next">Basic usage of dvipng</a>, <li><a href="#Advice-for-non_002dprivileged-users" accesskey="5">Installation for non-privileged users</a></li> </ul> <hr> -<div class="section" id="Prerequisites"> -<div class="header"> +<div class="section-level-extent" id="Prerequisites"> +<div class="nav-panel"> <p> Next: <a href="#Configure" accesskey="n" rel="next">Configure</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Prerequisites-1"></span><h3 class="section">2.1 Prerequisites</h3> +<h3 class="section" id="Prerequisites-1">2.1 Prerequisites</h3> -<ul> -<li> The GD Graphics Draw library, libgd +<ul class="itemize mark-bullet"> +<li>The GD Graphics Draw library, libgd -<p>The drawing library ‘<samp>libgd</samp>’ is necessary, and is downloadable at -<a href="https://bitbucket.org/libgd/gd-libgd/downloads">https://bitbucket.org/libgd/gd-libgd/downloads</a>, and there are +<p>The drawing library ‘<samp class="samp">libgd</samp>’ is necessary, and is downloadable at +<a class="uref" href="https://bitbucket.org/libgd/gd-libgd/downloads">https://bitbucket.org/libgd/gd-libgd/downloads</a>, and there are binary packages for most operating systems from their respective -distributors. In any case, the library installs using ‘<samp>autoconf</samp>’ so +distributors. In any case, the library installs using ‘<samp class="samp">autoconf</samp>’ so it should not be difficult for you to install it from source, and then proceed with installing dvipng. </p> -</li><li> The path-searching library kpathsea +</li><li>The path-searching library kpathsea <p>Kpathsea is most likely included in your LaTeX installation, but it may happen that ./configure does not find it; see below. If you do not -have it, download it from <a href="http://www.ctan.org">http://www.ctan.org</a> and compile it. +have it, download it from <a class="uref" href="http://www.ctan.org">http://www.ctan.org</a> and compile it. I have no experience with this, so I cannot help much here. </p> -</li><li> The font-rendering library FreeType 2 +</li><li>The font-rendering library FreeType 2 <p>While not strictly necessary, a recent FreeType 2 is recommended since dvipng currently will produce better-quality images when this library is @@ -244,81 +239,81 @@ resolutions without cluttering the disk with lots of bitmapped fonts. <p>Finally, it will enable subfont support in dvipng. That is, if you want to render CJK-LaTeX characters, you must have FreeType 2 installed. </p> -</li><li> libpng and libz +</li><li>libpng and libz <p>To be able to compress and write PNG files to disk, dvipng (or really libgd) uses libpng which in turn uses libz. These should be available on any modern system, if not, download them and install them. </p> -</li><li> The <code>texinfo</code> package +</li><li>The <code class="code">texinfo</code> package <p>This is needed for building the documentation. </p></li></ul> <hr> </div> -<div class="section" id="Configure"> -<div class="header"> +<div class="section-level-extent" id="Configure"> +<div class="nav-panel"> <p> Next: <a href="#Build_002finstall" accesskey="n" rel="next">Build/install</a>, Previous: <a href="#Prerequisites" accesskey="p" rel="prev">Prerequisites</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-1"></span><h3 class="section">2.2 Configure</h3> +<h3 class="section" id="Configure-1">2.2 Configure</h3> <p>The first step is to configure the source code, telling it where various files will be. To do so, run </p> <div class="example"> -<pre class="example">./configure <var>options</var> +<pre class="example-preformatted">./configure <var class="var">options</var> </pre></div> <p>(Note: if you have fetched dvipng from CVS rather than a regular -release, you will have to first generate <samp>./configure</samp> by running -<code>autoconf</code> 2.53 or later.) +release, you will have to first generate <samp class="file">./configure</samp> by running +<code class="code">autoconf</code> 2.53 or later.) </p> <p>On many machines, you will not need to specify any options, but if -<code>configure</code> cannot determine something on its own, you’ll need to +<code class="code">configure</code> cannot determine something on its own, you’ll need to help it out. For a list of the options type </p> <div class="example"> -<pre class="example">./configure --help +<pre class="example-preformatted">./configure --help </pre></div> <p>On some machines, the libraries will be installed in directories that are not in the linker’s search path. This will generate an error when -running <samp>./configure</samp>, indicating that it cannot find libgd or +running <samp class="file">./configure</samp>, indicating that it cannot find libgd or libkpathsea (most likely). You then need to specify the path to the respective library’s object files. They are typically called e.g., -<samp>libgd.a</samp> or <samp>libgd.so</samp>. If they are located in e.g., -<samp>/sw/local/lib</samp>, do +<samp class="file">libgd.a</samp> or <samp class="file">libgd.so</samp>. If they are located in e.g., +<samp class="file">/sw/local/lib</samp>, do </p> <div class="example"> -<pre class="example">./configure LDFLAGS=-L/sw/local/lib +<pre class="example-preformatted">./configure LDFLAGS=-L/sw/local/lib </pre></div> -<p>If the library is available as a shared object file (<samp>.so</samp>), the +<p>If the library is available as a shared object file (<samp class="file">.so</samp>), the runtime linker may also need to be told where to find the library, then use </p> <div class="example"> -<pre class="example">./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib' +<pre class="example-preformatted">./configure LDFLAGS='-L/sw/local/lib -R/sw/local/lib' </pre></div> <p>When either of these is necessary, it is likely that the C header files are also installed in directories that are not in the C preprocessor’s search path. This will also generate an error when -running <samp>./configure</samp>, indicating that it cannot find e.g., -<samp>gd.h</samp> or <samp>kpathsea.h</samp> (most likely). You then need to +running <samp class="file">./configure</samp>, indicating that it cannot find e.g., +<samp class="file">gd.h</samp> or <samp class="file">kpathsea.h</samp> (most likely). You then need to specify the path to the respective library’s C header files. If they -are located in e.g., <samp>/sw/local/include</samp>, do +are located in e.g., <samp class="file">/sw/local/include</samp>, do </p> <div class="example"> -<pre class="example">./configure CPPFLAGS=-I/sw/local/include +<pre class="example-preformatted">./configure CPPFLAGS=-I/sw/local/include </pre></div> <p>On my SUN Solaris workstation, I had to combine this into </p> <div class="example"> -<pre class="example">./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\ +<pre class="example-preformatted">./configure CPPFLAGS='-I/sw/local/include -I/sw/tex/teTeX/1.0/include'\ LDFLAGS='-L/sw/local/lib -R/sw/local/lib -L/sw/tex/teTeX/1.0/lib/' </pre></div> @@ -326,24 +321,24 @@ are located in e.g., <samp>/sw/local/include</samp>, do </p> <hr> </div> -<div class="section" id="Build_002finstall"> -<div class="header"> +<div class="section-level-extent" id="Build_002finstall"> +<div class="nav-panel"> <p> Next: <a href="#Installation-outside-the-texmf-tree" accesskey="n" rel="next">Installation outside the texmf tree</a>, Previous: <a href="#Configure" accesskey="p" rel="prev">Configure</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build_002finstall-1"></span><h3 class="section">2.3 Build/install</h3> +<h3 class="section" id="Build_002finstall-1">2.3 Build/install</h3> -<p>Once <samp>configure</samp> has been run, simply enter +<p>Once <samp class="file">configure</samp> has been run, simply enter </p> <div class="example"> -<pre class="example">make +<pre class="example-preformatted">make </pre></div> <p>at the prompt to compile the C code, and build the documentation files. To install the files into the locations chosen earlier, type </p> <div class="example"> -<pre class="example">make install +<pre class="example-preformatted">make install </pre></div> <p>You may need special privileges to install, e.g., if you are installing @@ -351,69 +346,69 @@ into system directories. </p> <hr> </div> -<div class="section" id="Installation-outside-the-texmf-tree"> -<div class="header"> +<div class="section-level-extent" id="Installation-outside-the-texmf-tree"> +<div class="nav-panel"> <p> Next: <a href="#Advice-for-non_002dprivileged-users" accesskey="n" rel="next">Installation for non-privileged users</a>, Previous: <a href="#Build_002finstall" accesskey="p" rel="prev">Build/install</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installation-outside-the-texmf-tree-1"></span><h3 class="section">2.4 Installation outside the texmf tree</h3> +<h3 class="section" id="Installation-outside-the-texmf-tree-1">2.4 Installation outside the texmf tree</h3> <p>In some cases, a dvipng binary installed outside the texmf tree will not be able to find virtual fonts, or the PostScript font maps -(normally used by dvips). This may be because <em>only</em> +(normally used by dvips). This may be because <em class="emph">only</em> $SELFAUTOLOC, $SELFAUTODIR, and $SELFAUTOPARENT are used in the texmf -tree configuration file ‘<samp>texmf.cnf</samp>’. If so, give the switch -‘<samp>--enable-selfauto-set</samp>’ to ‘<samp>./configure</samp>’. This will make +tree configuration file ‘<samp class="samp">texmf.cnf</samp>’. If so, give the switch +‘<samp class="samp">--enable-selfauto-set</samp>’ to ‘<samp class="samp">./configure</samp>’. This will make dvipng adjust these three internally so that kpathsea thinks that -dvipng <em>is</em> installed in the texmf tree. +dvipng <em class="emph">is</em> installed in the texmf tree. </p> <hr> </div> -<div class="section" id="Advice-for-non_002dprivileged-users"> -<div class="header"> +<div class="section-level-extent" id="Advice-for-non_002dprivileged-users"> +<div class="nav-panel"> <p> Previous: <a href="#Installation-outside-the-texmf-tree" accesskey="p" rel="prev">Installation outside the texmf tree</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installation-for-non_002dprivileged-users"></span><h3 class="section">2.5 Installation for non-privileged users</h3> +<h3 class="section" id="Installation-for-non_002dprivileged-users">2.5 Installation for non-privileged users</h3> <p>Often people without system administration privileges want to install software for their private use. In that case you need to specify more -options to the <samp>configure</samp> script, usually this is done by using -the ‘<samp>--prefix</samp>’ option to the <samp>configure</samp> script, and let it +options to the <samp class="file">configure</samp> script, usually this is done by using +the ‘<samp class="samp">--prefix</samp>’ option to the <samp class="file">configure</samp> script, and let it point to the personal home directory. In that way, resulting binaries -will be installed under the <samp>bin</samp> subdirectory of your home -directory, manual pages under <samp>man</samp> and so on. That way, it is +will be installed under the <samp class="file">bin</samp> subdirectory of your home +directory, manual pages under <samp class="file">man</samp> and so on. That way, it is reasonably easy to maintain a bunch of additional packages, since the -prefix argument is supported by most <samp>configure</samp> scripts. +prefix argument is supported by most <samp class="file">configure</samp> scripts. </p> -<p>You’ll have to add something like <samp>/home/myself/bin</samp> to your -<code>PATH</code> shell variable, if it isn’t there already, and similarly -set the <code>INFOPATH</code> and <code>MANPATH</code> variables to be able to +<p>You’ll have to add something like <samp class="file">/home/myself/bin</samp> to your +<code class="code">PATH</code> shell variable, if it isn’t there already, and similarly +set the <code class="code">INFOPATH</code> and <code class="code">MANPATH</code> variables to be able to access the documentation. </p> <hr> </div> </div> -<div class="chapter" id="Basic-usage"> -<div class="header"> +<div class="chapter-level-extent" id="Basic-usage"> +<div class="nav-panel"> <p> Next: <a href="#Command_002dline-options" accesskey="n" rel="next">Command-line options</a>, Previous: <a href="#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Basic-usage-of-dvipng"></span><h2 class="chapter">3 Basic usage of dvipng</h2> +<h2 class="chapter" id="Basic-usage-of-dvipng">3 Basic usage of dvipng</h2> -<span id="index-invoking-dvipng"></span> +<a class="index-entry-id" id="index-invoking-dvipng"></a> <p>To use dvipng at its simplest, simply type </p> <div class="example"> -<pre class="example">dvipng foo +<pre class="example-preformatted">dvipng foo </pre></div> -<p>where <samp>foo.dvi</samp> is the output of TeX that you want to convert to -PNG format. If there are four pages in <samp>foo.dvi</samp>, those pages will -be output as <samp>foo1.png</samp>, <samp>foo2.png</samp>, <samp>foo3.png</samp>, and -<samp>foo4.png</samp>, respectively. +<p>where <samp class="file">foo.dvi</samp> is the output of TeX that you want to convert to +PNG format. If there are four pages in <samp class="file">foo.dvi</samp>, those pages will +be output as <samp class="file">foo1.png</samp>, <samp class="file">foo2.png</samp>, <samp class="file">foo3.png</samp>, and +<samp class="file">foo4.png</samp>, respectively. </p> <p>If you have enabled the PostScript font support (via FreeType), fonts will be rendered as they are needed. Otherwise, dvipng will use @@ -423,50 +418,50 @@ can take a few minutes, so progress reports appear by default. The next time the same font is used, it will have been saved on disk, so rendering will go much faster. (If dvipng tries to endlessly generate the same fonts over and over again, something is wrong. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to -generate fonts</a> in <cite>Kpathsea</cite>.) +generate fonts</a> in <cite class="cite">Kpathsea</cite>.) </p> <p>Many options are available (see the next section). For a brief summary of available options, just type </p> <div class="example"> -<pre class="example">dvipng --help +<pre class="example-preformatted">dvipng --help </pre></div> <hr> </div> -<div class="chapter" id="Command_002dline-options"> -<div class="header"> +<div class="chapter-level-extent" id="Command_002dline-options"> +<div class="nav-panel"> <p> Next: <a href="#Graphics" accesskey="n" rel="next">Graphics</a>, Previous: <a href="#Basic-usage" accesskey="p" rel="prev">Basic usage of dvipng</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Command_002dline-options-1"></span><h2 class="chapter">4 Command-line options</h2> +<h2 class="chapter" id="Command_002dline-options-1">4 Command-line options</h2> -<span id="index-command_002dline-options"></span> -<span id="index-options_002c-dvipng"></span> +<a class="index-entry-id" id="index-command_002dline-options"></a> +<a class="index-entry-id" id="index-options_002c-dvipng"></a> <p>dvipng has a plethora of command line options. Reading through this section will give a good idea of the capabilities of the driver. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Option-summary" accesskey="1">Option summary</a></li> <li><a href="#Option-details" accesskey="2">Option details</a></li> </ul> <hr> -<div class="section" id="Option-summary"> -<div class="header"> +<div class="section-level-extent" id="Option-summary"> +<div class="nav-panel"> <p> Next: <a href="#Option-details" accesskey="n" rel="next">Option details</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Option-summary-1"></span><h3 class="section">4.1 Option summary</h3> +<h3 class="section" id="Option-summary-1">4.1 Option summary</h3> -<span id="index-options_002c-summary"></span> +<a class="index-entry-id" id="index-options_002c-summary"></a> <p>Here is a handy summary of the options; it is printed out when you run -dvipng with no arguments or with the standard ‘<samp>--help</samp>’ option. +dvipng with no arguments or with the standard ‘<samp class="samp">--help</samp>’ option. </p> <div class="example"> -<pre class="example">This is ./dvipng 1.17 Copyright 2002-2015, 2019 Jan-Ake Larsson +<pre class="example-preformatted">This is ./dvipng 1.17 Copyright 2002-2015, 2019 Jan-Ake Larsson Usage: ./dvipng [OPTION]... FILENAME[.dvi] Options are chosen to be similar to dvips' options where possible: @@ -514,57 +509,57 @@ These do not correspond to dvips options: <hr> </div> -<div class="section" id="Option-details"> -<div class="header"> +<div class="section-level-extent" id="Option-details"> +<div class="nav-panel"> <p> Previous: <a href="#Option-summary" accesskey="p" rel="prev">Option summary</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Option-details-1"></span><h3 class="section">4.2 Option details</h3> +<h3 class="section" id="Option-details-1">4.2 Option details</h3> -<span id="index-option_002c-details-of"></span> +<a class="index-entry-id" id="index-option_002c-details-of"></a> <p>Many of the parameterless options listed here can be turned off by -suffixing the option with a zero (‘<samp>0</samp>’); for instance, to turn off -page reversal, use ‘<samp>-r0</samp>’. Such options are marked with a trailing -‘<samp>*</samp>’. +suffixing the option with a zero (‘<samp class="samp">0</samp>’); for instance, to turn off +page reversal, use ‘<samp class="samp">-r0</samp>’. Such options are marked with a trailing +‘<samp class="samp">*</samp>’. </p> -<dl compact="compact"> -<dt id='index-options_002c-reading-from-standard-input'><span>‘<samp>-</samp>’<a href='#index-options_002c-reading-from-standard-input' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-standard-input_002c-reading-options-from"></span> +<dl class="table"> +<dt id='index-options_002c-reading-from-standard-input'><span>‘<samp class="samp">-</samp>’<a class="copiable-link" href='#index-options_002c-reading-from-standard-input'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-standard-input_002c-reading-options-from"></a> <p>Read additional options from standard input after processing the command line. </p> </dd> -<dt><span>‘<samp>--help</samp>’</span></dt> +<dt>‘<samp class="samp">--help</samp>’</dt> <dd><p>Print a usage message and exit. </p> </dd> -<dt><span>‘<samp>--version</samp>’</span></dt> +<dt>‘<samp class="samp">--version</samp>’</dt> <dd><p>Print the version number and exit. </p> </dd> -<dt><span>‘<samp>-bd <var>num</var></samp>’</span></dt> -<dt><span>‘<samp>-bd <var>color_spec</var></samp>’</span></dt> -<dt id='index-transparent-border-width'><span>‘<samp>-bd '<var>num</var> <var>color_spec</var>'</samp>’<a href='#index-transparent-border-width' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-transparent-border-fallback-color"></span> +<dt>‘<samp class="samp">-bd <var class="var">num</var></samp>’</dt> +<dt>‘<samp class="samp">-bd <var class="var">color_spec</var></samp>’</dt> +<dt id='index-transparent-border-width'><span>‘<samp class="samp">-bd '<var class="var">num</var> <var class="var">color_spec</var>'</samp>’<a class="copiable-link" href='#index-transparent-border-width'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-transparent-border-fallback-color"></a> <p>Set the pixel width of the transparent border (default 0). Using this option will make the image edges transparent, but it only affects pixels -with the background color. Giving a <var>color_spec</var> will set the +with the background color. Giving a <var class="var">color_spec</var> will set the fallback color, to be used in viewers that cannot handle transparency (the default is the background color). The color spec should be in TeX color \special syntax, e.g., ’rgb 1.0 0.0 0.0’. Setting the -fallback color makes the default border width 1 px. See <a href="#Color">Color</a>. +fallback color makes the default border width 1 px. See <a class="xref" href="#Color">Color</a>. </p> </dd> -<dt id='index-base-resolution_002c-setting'><span>‘<samp>--bdpi <var>num</var></samp>’<a href='#index-base-resolution_002c-setting' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-base-resolution_002c-setting'><span>‘<samp class="samp">--bdpi <var class="var">num</var></samp>’<a class="copiable-link" href='#index-base-resolution_002c-setting'> ¶</a></span></dt> <dd><p>This option only has an effect when using bitmapped (PK) fonts. The option sets the base (Metafont) resolution, both horizontal and -vertical, to <var>num</var> dpi (dots per inch). This option is necessary +vertical, to <var class="var">num</var> dpi (dots per inch). This option is necessary when manually selecting Metafont mode with the –mode option (see below). </p> </dd> -<dt id='index-background-color-_0028option_0029'><span>‘<samp>-bg <var>color_spec</var></samp>’<a href='#index-background-color-_0028option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-background-color-_0028option_0029'><span>‘<samp class="samp">-bg <var class="var">color_spec</var></samp>’<a class="copiable-link" href='#index-background-color-_0028option_0029'> ¶</a></span></dt> <dd><p>Choose background color for the images. This option will be ignored if there is a background color \special in the DVI. The color spec should be in TeX color \special syntax, e.g., ’rgb 1.0 0.0 0.0’. You can @@ -575,25 +570,25 @@ all-lowercase ’transparent’ will give a simple fully transparent background with non-transparent antialiased pixels. The latter would be suitable for viewers who cannot cope with a true alpha channel. GIF images do not support full alpha transparency, so in case of GIF output, -both variants will use the latter behaviour. See <a href="#Color">Color</a>. +both variants will use the latter behaviour. See <a class="xref" href="#Color">Color</a>. </p> </dd> -<dt id='index-debugging'><span>‘<samp>-d <var>num</var></samp>’<a href='#index-debugging' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-debugging'><span>‘<samp class="samp">-d <var class="var">num</var></samp>’<a class="copiable-link" href='#index-debugging'> ¶</a></span></dt> <dd><p>Set the debug flags, showing what dvipng (thinks it) is doing. This will -work unless dvipng has been compiled without the <code>DEBUG</code> option -(not recommended). Set the flags as you need them, use ‘<samp>-d -1</samp>’ as -the first option for maximum output. See <a href="#Debug-options">Debug options</a>. +work unless dvipng has been compiled without the <code class="code">DEBUG</code> option +(not recommended). Set the flags as you need them, use ‘<samp class="samp">-d -1</samp>’ as +the first option for maximum output. See <a class="xref" href="#Debug-options">Debug options</a>. </p> </dd> -<dt id='index-output-resolution_002c-setting'><span>‘<samp>-D <var>num</var></samp>’<a href='#index-output-resolution_002c-setting' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the output resolution, both horizontal and vertical, to <var>num</var> +<dt id='index-output-resolution_002c-setting'><span>‘<samp class="samp">-D <var class="var">num</var></samp>’<a class="copiable-link" href='#index-output-resolution_002c-setting'> ¶</a></span></dt> +<dd><p>Set the output resolution, both horizontal and vertical, to <var class="var">num</var> dpi (dots per inch). </p> <p>One may want to adjust this to fit a certain text font size (e.g., on -a web page), and for a text font height of <var>font_px</var> pixels (in +a web page), and for a text font height of <var class="var">font_px</var> pixels (in Mozilla) the correct formula is </p><div class="example"> -<pre class="example"><var>dpi</var> = <var>font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt] +<pre class="example-preformatted"><var class="var">dpi</var> = <var class="var">font_px</var> * 72.27 / 10 [px * TeXpt/in / TeXpt] </pre></div> <p>The last division by ten is due to the standard font height 10pt in your document, if you use 12pt, divide by 12. Unfortunately, some @@ -601,52 +596,52 @@ proprietary browsers have font height in pt (points), not pixels. You have to rescale that to pixels, using the screen resolution (default is usually 96 dpi) which means the formula is </p><div class="example"> -<pre class="example"><var>font_px</var> = <var>font_pt</var> * 96 / 72 [pt * px/in / (pt/in)] +<pre class="example-preformatted"><var class="var">font_px</var> = <var class="var">font_pt</var> * 96 / 72 [pt * px/in / (pt/in)] </pre></div> <p>On some high-res screens, the value is instead 120 dpi. Good luck! </p> </dd> -<dt id='index-baseline-reporting'><span>‘<samp>--depth*</samp>’<a href='#index-baseline-reporting' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-depth-reporting"></span> +<dt id='index-baseline-reporting'><span>‘<samp class="samp">--depth*</samp>’<a class="copiable-link" href='#index-baseline-reporting'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-depth-reporting"></a> <p>Report the depth of the image. This only works reliably when the -LaTeX style <samp>preview.sty</samp> from preview-latex is used with -the ‘<samp>active</samp>’ option. It reports the number of pixels from the +LaTeX style <samp class="file">preview.sty</samp> from preview-latex is used with +the ‘<samp class="samp">active</samp>’ option. It reports the number of pixels from the bottom of the image to the baseline of the image. This can be used for vertical positioning of the image in, e.g., web documents, where one would use (Cascading StyleSheets 1) </p><div class="example"> -<pre class="example"><IMG SRC="<var>filename.png</var>" STYLE="vertical-align: -<var>depth</var>px"> +<pre class="example-preformatted"><IMG SRC="<var class="var">filename.png</var>" STYLE="vertical-align: -<var class="var">depth</var>px"> </pre></div> <p>The depth is a negative offset in this case, so the minus sign is necessary, and the unit is pixels (px). </p> </dd> -<dt><span>‘<samp>--dvinum*</samp>’</span></dt> +<dt>‘<samp class="samp">--dvinum*</samp>’</dt> <dd><p>Set this option to make the output page number be the TeX page -numbers rather than the physical page number. See the ‘<samp>-o</samp>’ switch. +numbers rather than the physical page number. See the ‘<samp class="samp">-o</samp>’ switch. </p> </dd> -<dt id='index-foreground-color-_0028option_0029'><span>‘<samp>-fg <var>color_spec</var></samp>’<a href='#index-foreground-color-_0028option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-foreground-color-_0028option_0029'><span>‘<samp class="samp">-fg <var class="var">color_spec</var></samp>’<a class="copiable-link" href='#index-foreground-color-_0028option_0029'> ¶</a></span></dt> <dd><p>Choose foreground color for the images. This option will be ignored if there is a foreground color \special in the DVI. The color spec should be in TeX color \special syntax, e.g., ’rgb 1.0 0.0 0.0’. -See <a href="#Color">Color</a>. +See <a class="xref" href="#Color">Color</a>. </p> </dd> -<dt id='index-follow-mode'><span>‘<samp>--follow*</samp>’<a href='#index-follow-mode' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-follow-mode'><span>‘<samp class="samp">--follow*</samp>’<a class="copiable-link" href='#index-follow-mode'> ¶</a></span></dt> <dd><p>Wait for data at end-of-file. One of the benefits of dvipng is that it does not read the postamble, so it can be started before TeX finishes. This switch makes dvipng wait at end-of-file for further output, unless it finds the POST marker that indicates the end of the -DVI. This is similar to ‘<samp>tail -f</samp>’ but for DVI-to-PNG conversion. +DVI. This is similar to ‘<samp class="samp">tail -f</samp>’ but for DVI-to-PNG conversion. </p> </dd> -<dt id='index-FreeType-font-rendering'><span>‘<samp>--freetype*</samp>’<a href='#index-FreeType-font-rendering' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-FreeType-font-rendering'><span>‘<samp class="samp">--freetype*</samp>’<a class="copiable-link" href='#index-FreeType-font-rendering'> ¶</a></span></dt> <dd><p>Enable/disable FreeType font rendering (default on). This option is available if the FreeType2 font library was present at compilation time. If this is the case, dvipng will have direct support for PostScript -Type1 and TrueType fonts internally, rather than using ‘<samp>gsftopk</samp>’ +Type1 and TrueType fonts internally, rather than using ‘<samp class="samp">gsftopk</samp>’ for rendering the fonts. If you have PostScript versions of Computer Modern installed, there will be no need to generate bitmapped (PK) variants on disk of these. Then, you can render images at different (and @@ -657,127 +652,127 @@ identical output on different platforms, since FreeType uses the native renderer and therefore can give slightly different output on each platform. </p> </dd> -<dt id='index-gamma'><span>‘<samp>--gamma <var>num</var></samp>’<a href='#index-gamma' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-dark-fonts"></span> -<span id="index-light-fonts"></span> -<span id="index-fuzzy-images"></span> +<dt id='index-gamma'><span>‘<samp class="samp">--gamma <var class="var">num</var></samp>’<a class="copiable-link" href='#index-gamma'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-dark-fonts"></a> +<a class="index-entry-id" id="index-light-fonts"></a> +<a class="index-entry-id" id="index-fuzzy-images"></a> <p>Control the interpolation of colors in the greyscale anti-aliasing -color palette. Default value is 1.0. For 0 < <var>num</var> < 1, the -fonts will be lighter (more like the background), and for <var>num</var> > +color palette. Default value is 1.0. For 0 < <var class="var">num</var> < 1, the +fonts will be lighter (more like the background), and for <var class="var">num</var> > 1, the fonts will be darker (more like the foreground). </p> </dd> -<dt id='index-GIF-image-format'><span>‘<samp>--gif*</samp>’<a href='#index-GIF-image-format' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-GIF-image-format'><span>‘<samp class="samp">--gif*</samp>’<a class="copiable-link" href='#index-GIF-image-format'> ¶</a></span></dt> <dd><p>The images are output in the GIF format, if GIF support is enabled. -This is the default for the ‘<samp>dvigif</samp>’ binary, which only will be +This is the default for the ‘<samp class="samp">dvigif</samp>’ binary, which only will be available when GIF support is enabled. GIF images are palette images -(see the ‘<samp>--palette</samp>’ option) and does not support true alpha -channels (see the ‘<samp>--bg</samp>’ option). See also the ‘<samp>--png</samp>’ +(see the ‘<samp class="samp">--palette</samp>’ option) and does not support true alpha +channels (see the ‘<samp class="samp">--bg</samp>’ option). See also the ‘<samp class="samp">--png</samp>’ option. </p> </dd> -<dt id='index-baseline-reporting-1'><span>‘<samp>--height*</samp>’<a href='#index-baseline-reporting-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-height-reporting"></span> +<dt id='index-baseline-reporting-1'><span>‘<samp class="samp">--height*</samp>’<a class="copiable-link" href='#index-baseline-reporting-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-height-reporting"></a> <p>Report the height of the image. This only works reliably when the -LaTeX style <samp>preview.sty</samp> from preview-latex is used with -the ‘<samp>active</samp>’ option. It reports the number of pixels from the top +LaTeX style <samp class="file">preview.sty</samp> from preview-latex is used with +the ‘<samp class="samp">active</samp>’ option. It reports the number of pixels from the top of the image to the baseline of the image. The total height of the image is obtained as the sum of the values reported from -‘<samp>--height</samp>’ and ‘<samp>--depth</samp>’. +‘<samp class="samp">--height</samp>’ and ‘<samp class="samp">--depth</samp>’. </p> </dd> -<dt id='index-last-page-printed'><span>‘<samp>-l [=]<var>num</var></samp>’<a href='#index-last-page-printed' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-page_002c-last-printed"></span> -<span id="index-physical-page-number_002c-and-_002dl"></span> -<span id="index-absolute-page-number_002c-and-_002dl"></span> -<p>The last page printed will be the first one numbered <var>num</var>. Default -is the last page in the document. If <var>num</var> is prefixed by an equals -sign, then it (and the argument to the ‘<samp>-p</samp>’ option, if specified) +<dt id='index-last-page-printed'><span>‘<samp class="samp">-l [=]<var class="var">num</var></samp>’<a class="copiable-link" href='#index-last-page-printed'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-page_002c-last-printed"></a> +<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dl"></a> +<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dl"></a> +<p>The last page printed will be the first one numbered <var class="var">num</var>. Default +is the last page in the document. If <var class="var">num</var> is prefixed by an equals +sign, then it (and the argument to the ‘<samp class="samp">-p</samp>’ option, if specified) is treated as a physical (absolute) page number, rather than a value to -compare with the TeX ‘<samp>\count0</samp>’ values stored in the DVI file. -Thus, using ‘<samp>-l =9</samp>’ will end with the ninth page of the document, +compare with the TeX ‘<samp class="samp">\count0</samp>’ values stored in the DVI file. +Thus, using ‘<samp class="samp">-l =9</samp>’ will end with the ninth page of the document, no matter what the pages are actually numbered. </p> </dd> -<dt id='index-mode-name_002c-specifying'><span>‘<samp>--mode <var>mode</var></samp>’<a href='#index-mode-name_002c-specifying' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Metafont-mode_002c-specifying"></span> +<dt id='index-mode-name_002c-specifying'><span>‘<samp class="samp">--mode <var class="var">mode</var></samp>’<a class="copiable-link" href='#index-mode-name_002c-specifying'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Metafont-mode_002c-specifying"></a> <p>This option only has an effect when using bitmapped (PK) fonts. Use -<var>mode</var> as the Metafont device name for the PK fonts (both for path +<var class="var">mode</var> as the Metafont device name for the PK fonts (both for path searching and font generation). This needs to be augmented with the base -device resolution, given with the ‘<samp>--bdpi</samp>’ option. See the file -<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode -names for most devices. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>. +device resolution, given with the ‘<samp class="samp">--bdpi</samp>’ option. See the file +<a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode +names for most devices. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> -<dt id='index-font-generation_002c-avoiding'><span>‘<samp>-M*</samp>’<a href='#index-font-generation_002c-avoiding' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-mktexpk_002c-avoiding"></span> +<dt id='index-font-generation_002c-avoiding'><span>‘<samp class="samp">-M*</samp>’<a class="copiable-link" href='#index-font-generation_002c-avoiding'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-mktexpk_002c-avoiding"></a> <p>This option only has an effect when using bitmapped (PK) fonts. It turns -off automatic PK font generation (<samp>mktexpk</samp>). +off automatic PK font generation (<samp class="file">mktexpk</samp>). </p> </dd> -<dt id='index-GhostScript_002c-turning-off'><span>‘<samp>--nogs*</samp>’<a href='#index-GhostScript_002c-turning-off' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-GhostScript_002c-turning-off'><span>‘<samp class="samp">--nogs*</samp>’<a class="copiable-link" href='#index-GhostScript_002c-turning-off'> ¶</a></span></dt> <dd><p>This switch prohibits the internal call to GhostScript for displaying -PostScript specials. ‘<samp>--nogs0</samp>’ turns the call back on. +PostScript specials. ‘<samp class="samp">--nogs0</samp>’ turns the call back on. </p> </dd> -<dt id='index-GhostScript-and-_002ddSAFER'><span>‘<samp>--nogssafer*</samp>’<a href='#index-GhostScript-and-_002ddSAFER' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002ddSAFER"></span> +<dt id='index-GhostScript-and-_002ddSAFER'><span>‘<samp class="samp">--nogssafer*</samp>’<a class="copiable-link" href='#index-GhostScript-and-_002ddSAFER'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002ddSAFER"></a> <p>Normally, if GhostScript is used to render PostScript specials, the -GhostScript interpreter is run with the option ‘<samp>-dSAFER</samp>’. The -‘<samp>--nogssafer</samp>’ option runs GhostScript without ‘<samp>-dSAFER</samp>’. The -‘<samp>-dSAFER</samp>’ option in Ghostscript disables PostScript operators such +GhostScript interpreter is run with the option ‘<samp class="samp">-dSAFER</samp>’. The +‘<samp class="samp">--nogssafer</samp>’ option runs GhostScript without ‘<samp class="samp">-dSAFER</samp>’. The +‘<samp class="samp">-dSAFER</samp>’ option in Ghostscript disables PostScript operators such as deletefile, to prevent possibly malicious PostScript programs from having any effect. </p> </dd> -<dt id='index-PostScript_002c-turning-off-raw-PostScript-specials'><span>‘<samp>--norawps*</samp>’<a href='#index-PostScript_002c-turning-off-raw-PostScript-specials' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-PostScript_002c-turning-off-raw-PostScript-specials'><span>‘<samp class="samp">--norawps*</samp>’<a class="copiable-link" href='#index-PostScript_002c-turning-off-raw-PostScript-specials'> ¶</a></span></dt> <dd><p>Some packages generate raw PostScript specials, even non-rendering such specials. This switch turns off the internal call to GhostScript -intended to display these raw PostScript specials. ‘<samp>--norawps0</samp>’ +intended to display these raw PostScript specials. ‘<samp class="samp">--norawps0</samp>’ turns the call back on. </p> </dd> -<dt id='index-output_002c-redirecting'><span>‘<samp>-o <var>name</var></samp>’<a href='#index-output_002c-redirecting' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-standard-output_002c-output-to"></span> -<p>Send output to the file <var>name</var>. A single occurrence of ‘<samp>%d</samp>’ or -‘<samp>%01d</samp>’, …, ‘<samp>%09d</samp>’ will be exchanged for the physical -page number (this can be changed, see the ‘<samp>--dvinum</samp>’ switch). The -default output filename is ‘<samp><var>file</var>%d.png</samp>’ where the input DVI -file was ‘<samp><var>file</var>.dvi</samp>’. +<dt id='index-output_002c-redirecting'><span>‘<samp class="samp">-o <var class="var">name</var></samp>’<a class="copiable-link" href='#index-output_002c-redirecting'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-standard-output_002c-output-to"></a> +<p>Send output to the file <var class="var">name</var>. A single occurrence of ‘<samp class="samp">%d</samp>’ or +‘<samp class="samp">%01d</samp>’, …, ‘<samp class="samp">%09d</samp>’ will be exchanged for the physical +page number (this can be changed, see the ‘<samp class="samp">--dvinum</samp>’ switch). The +default output filename is ‘<samp class="samp"><var class="var">file</var>%d.png</samp>’ where the input DVI +file was ‘<samp class="samp"><var class="var">file</var>.dvi</samp>’. </p> </dd> -<dt id='index-offset-pages'><span>‘<samp>-O <var>x-offset</var>,<var>y-offset</var></samp>’<a href='#index-offset-pages' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated -pair of dimensions such as ‘<samp>.1in,-.3cm</samp>’. +<dt id='index-offset-pages'><span>‘<samp class="samp">-O <var class="var">x-offset</var>,<var class="var">y-offset</var></samp>’<a class="copiable-link" href='#index-offset-pages'> ¶</a></span></dt> +<dd><p>Move the origin by <var class="var">x-offset</var>,<var class="var">y-offset</var>, a comma-separated +pair of dimensions such as ‘<samp class="samp">.1in,-.3cm</samp>’. The origin of the page is shifted from the default position (of one inch down, one inch to the right from the upper left corner of the paper) by this amount. </p> </dd> -<dt id='index-first-page-printed'><span>‘<samp>-p [=]<var>num</var></samp>’<a href='#index-first-page-printed' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-page_002c-first-printed"></span> -<span id="index-physical-page-number_002c-and-_002dp"></span> -<span id="index-absolute-page-number_002c-and-_002dp"></span> -<p>The first page printed will be the first one numbered <var>num</var>. Default -is the first page in the document. If <var>num</var> is prefixed by an -equals sign, then it (and the argument to the ‘<samp>-l</samp>’ option, if +<dt id='index-first-page-printed'><span>‘<samp class="samp">-p [=]<var class="var">num</var></samp>’<a class="copiable-link" href='#index-first-page-printed'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-page_002c-first-printed"></a> +<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dp"></a> +<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dp"></a> +<p>The first page printed will be the first one numbered <var class="var">num</var>. Default +is the first page in the document. If <var class="var">num</var> is prefixed by an +equals sign, then it (and the argument to the ‘<samp class="samp">-l</samp>’ option, if specified) is treated as a physical (absolute) page number, rather than -a value to compare with the TeX ‘<samp>\count0</samp>’ values stored in the -DVI file. Thus, using ‘<samp>-p =3</samp>’ will start with the third page of +a value to compare with the TeX ‘<samp class="samp">\count0</samp>’ values stored in the +DVI file. Thus, using ‘<samp class="samp">-p =3</samp>’ will start with the third page of the document, no matter what the pages are actually numbered. </p> </dd> -<dt id='index-forcing-palette-output'><span>‘<samp>--palette*</samp>’<a href='#index-forcing-palette-output' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>When an external image is included, ‘<samp>dvipng</samp>’ will automatically +<dt id='index-forcing-palette-output'><span>‘<samp class="samp">--palette*</samp>’<a class="copiable-link" href='#index-forcing-palette-output'> ¶</a></span></dt> +<dd><p>When an external image is included, ‘<samp class="samp">dvipng</samp>’ will automatically switch to truecolor mode, to avoid unnecessary delay and quality reduction, and enable the EPS translator to draw on a transparent background and outside of the boundingbox. This switch will force -palette (256-color) output and make ‘<samp>dvipng</samp>’ revert to opaque -clipped image inclusion. This will also override the ‘<samp>--truecolor</samp>’ +palette (256-color) output and make ‘<samp class="samp">dvipng</samp>’ revert to opaque +clipped image inclusion. This will also override the ‘<samp class="samp">--truecolor</samp>’ switch if present. </p> </dd> -<dt id='index-no-erroneous-images'><span>‘<samp>--picky*</samp>’<a href='#index-no-erroneous-images' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-no-erroneous-images'><span>‘<samp class="samp">--picky*</samp>’<a class="copiable-link" href='#index-no-erroneous-images'> ¶</a></span></dt> <dd><p>No images are output when a warning occurs. Normally, dvipng will output an image in spite of a warning, but there may be something missing in this image. One reason to use this option would be if you @@ -787,108 +782,108 @@ but warnings will also occur for missing or unknown color specs and missing PK fonts. </p> </dd> -<dt id='index-PNG-image-format'><span>‘<samp>--png*</samp>’<a href='#index-PNG-image-format' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-PNG-image-format'><span>‘<samp class="samp">--png*</samp>’<a class="copiable-link" href='#index-PNG-image-format'> ¶</a></span></dt> <dd><p>The images are output in the PNG format. This is the default for the -‘<samp>dvipng</samp>’ binary. See also the ‘<samp>--gif</samp>’ option. +‘<samp class="samp">dvipng</samp>’ binary. See also the ‘<samp class="samp">--gif</samp>’ option. </p> </dd> -<dt id='index-page-range'><span>‘<samp>-pp <var>firstpage</var>-<var>lastpage</var></samp>’<a href='#index-page-range' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Print pages <var>firstpage</var> through <var>lastpage</var>; but not quite -equivalent to ‘<samp>-p <var>firstpage</var> -l <var>lastpage</var></samp>’. For example, +<dt id='index-page-range'><span>‘<samp class="samp">-pp <var class="var">firstpage</var>-<var class="var">lastpage</var></samp>’<a class="copiable-link" href='#index-page-range'> ¶</a></span></dt> +<dd><p>Print pages <var class="var">firstpage</var> through <var class="var">lastpage</var>; but not quite +equivalent to ‘<samp class="samp">-p <var class="var">firstpage</var> -l <var class="var">lastpage</var></samp>’. For example, when rendering a book, there may be several instances of a page in the -DVI file (one in <code>\frontmatter</code>, one in <code>\mainmatter</code>, and one -in <code>\backmatter</code>). In case of several pages matching, ‘<samp>-pp -<var>firstpage</var>-<var>lastpage</var></samp>’ will render <em>all</em> pages that -matches the specified range, while ‘<samp>-p <var>firstpage</var> -l -<var>lastpage</var></samp>’ will render the pages from the <em>first</em> occurrence -of <var>firstpage</var> to the <em>first</em> occurrence of <var>lastpage</var>. +DVI file (one in <code class="code">\frontmatter</code>, one in <code class="code">\mainmatter</code>, and one +in <code class="code">\backmatter</code>). In case of several pages matching, ‘<samp class="samp">-pp +<var class="var">firstpage</var>-<var class="var">lastpage</var></samp>’ will render <em class="emph">all</em> pages that +matches the specified range, while ‘<samp class="samp">-p <var class="var">firstpage</var> -l +<var class="var">lastpage</var></samp>’ will render the pages from the <em class="emph">first</em> occurrence +of <var class="var">firstpage</var> to the <em class="emph">first</em> occurrence of <var class="var">lastpage</var>. This is the (undocumented) behaviour of dvips. In dvipng you can give both kinds of options, in which case you get all pages that matches the -range in ‘<samp>-pp</samp>’ between the pages from ‘<samp>-p</samp>’ to ‘<samp>-l</samp>’. Also -multiple ‘<samp>-pp</samp>’ options accumulate, unlike ‘<samp>-p</samp>’ and ‘<samp>-l</samp>’. -The ‘<samp>-</samp>’ separator can also be ‘<samp>:</samp>’. Note that ‘<samp>-pp -1</samp>’ +range in ‘<samp class="samp">-pp</samp>’ between the pages from ‘<samp class="samp">-p</samp>’ to ‘<samp class="samp">-l</samp>’. Also +multiple ‘<samp class="samp">-pp</samp>’ options accumulate, unlike ‘<samp class="samp">-p</samp>’ and ‘<samp class="samp">-l</samp>’. +The ‘<samp class="samp">-</samp>’ separator can also be ‘<samp class="samp">:</samp>’. Note that ‘<samp class="samp">-pp -1</samp>’ will be interpreted as "all pages up to and including 1", if you want a -page numbered -1 (only the table of contents, say) put ‘<samp>-pp -1--1</samp>’, -or more readable, ‘<samp>-pp -1:-1</samp>’. +page numbered -1 (only the table of contents, say) put ‘<samp class="samp">-pp -1--1</samp>’, +or more readable, ‘<samp class="samp">-pp -1:-1</samp>’. </p> </dd> -<dt id='index-quiet-operation'><span>‘<samp>-q*</samp>’<a href='#index-quiet-operation' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-silent-operation"></span> -<span id="index-warnings_002c-suppressing"></span> +<dt id='index-quiet-operation'><span>‘<samp class="samp">-q*</samp>’<a class="copiable-link" href='#index-quiet-operation'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-silent-operation"></a> +<a class="index-entry-id" id="index-warnings_002c-suppressing"></a> <p>Run quietly. Don’t chatter about pages converted, etc. to standard output; report no warnings (only errors) to standard error. </p> </dd> -<dt id='index-antialiasing-levels_002c-number-of'><span>‘<samp>-Q <var>num</var></samp>’<a href='#index-antialiasing-levels_002c-number-of' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-quality"></span> -<p>Set the quality to <var>num</var>. That is, choose the number of antialiasing +<dt id='index-antialiasing-levels_002c-number-of'><span>‘<samp class="samp">-Q <var class="var">num</var></samp>’<a class="copiable-link" href='#index-antialiasing-levels_002c-number-of'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-quality"></a> +<p>Set the quality to <var class="var">num</var>. That is, choose the number of antialiasing levels for bitmapped fonts (PK), to be -<var>num</var>*<var>num</var>+1. The default value is 4 which gives 17 levels of +<var class="var">num</var>*<var class="var">num</var>+1. The default value is 4 which gives 17 levels of antialiasing for antialiased fonts from these two. If FreeType is available, its rendering is unaffected by this option. </p> </dd> -<dt id='index-reverse-pagination'><span>‘<samp>-r*</samp>’<a href='#index-reverse-pagination' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-reverse-pagination'><span>‘<samp class="samp">-r*</samp>’<a class="copiable-link" href='#index-reverse-pagination'> ¶</a></span></dt> <dd><p>Toggle output of pages in reverse/forward order. By default, the first page in the DVI is output first. </p> </dd> -<dt id='index-exit-on-erroneous-images'><span>‘<samp>--strict*</samp>’<a href='#index-exit-on-erroneous-images' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-exit-on-erroneous-images'><span>‘<samp class="samp">--strict*</samp>’<a class="copiable-link" href='#index-exit-on-erroneous-images'> ¶</a></span></dt> <dd><p>The program exits when a warning occurs. Normally, dvipng will output an image in spite of a warning, but there may be something missing in this image. One reason to use this option would be if you have a more -complete but slower fallback converter. See the ‘<samp>--picky</samp>’ option +complete but slower fallback converter. See the ‘<samp class="samp">--picky</samp>’ option above for a list of when warnings occur. </p> </dd> -<dt><span>‘<samp>-T <var>image_size</var></samp>’</span></dt> -<dd><p>Set the image size to <var>image_size</var> which can be either of -‘<samp>bbox</samp>’, ‘<samp>tight</samp>’, or a comma-separated pair of dimensions -<var>hsize</var>,<var>vsize</var> such as ‘<samp>.1in,.3cm</samp>’. The default is -‘<samp>bbox</samp>’ which produces a PNG that includes all ink put on the page +<dt>‘<samp class="samp">-T <var class="var">image_size</var></samp>’</dt> +<dd><p>Set the image size to <var class="var">image_size</var> which can be either of +‘<samp class="samp">bbox</samp>’, ‘<samp class="samp">tight</samp>’, or a comma-separated pair of dimensions +<var class="var">hsize</var>,<var class="var">vsize</var> such as ‘<samp class="samp">.1in,.3cm</samp>’. The default is +‘<samp class="samp">bbox</samp>’ which produces a PNG that includes all ink put on the page and in addition the DVI origin, located 1in from the top and 1in from the left edge of the paper. This usually gives whitespace above and to -the left in the produced image. The value ‘<samp>tight</samp>’ will make dvipng +the left in the produced image. The value ‘<samp class="samp">tight</samp>’ will make dvipng only include all ink put on the page, producing neat images. </p> </dd> -<dt id='index-truecolor-output'><span>‘<samp>--truecolor*</samp>’<a href='#index-truecolor-output' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>This will make ‘<samp>dvipng</samp>’ generate truecolor output. Note that +<dt id='index-truecolor-output'><span>‘<samp class="samp">--truecolor*</samp>’<a class="copiable-link" href='#index-truecolor-output'> ¶</a></span></dt> +<dd><p>This will make ‘<samp class="samp">dvipng</samp>’ generate truecolor output. Note that truecolor output is automatic if you include an external image in your -DVI, e.g., via a PostScript special (i.e., the ‘<samp>graphics</samp>’ or -‘<samp>graphicx</samp>’ package). This switch is overridden by the -‘<samp>--palette</samp>’ switch. +DVI, e.g., via a PostScript special (i.e., the ‘<samp class="samp">graphics</samp>’ or +‘<samp class="samp">graphicx</samp>’ package). This switch is overridden by the +‘<samp class="samp">--palette</samp>’ switch. </p> </dd> -<dt><span>‘<samp>-v*</samp>’</span></dt> +<dt>‘<samp class="samp">-v*</samp>’</dt> <dd><p>Enable verbose operation. This will currently indicate what fonts is used, in addition to the usual output. </p> </dd> -<dt id='index-width-reporting'><span>‘<samp>--width*</samp>’<a href='#index-width-reporting' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Report the width of the image. See also ‘<samp>--height</samp>’ and -‘<samp>--depth</samp>’. +<dt id='index-width-reporting'><span>‘<samp class="samp">--width*</samp>’<a class="copiable-link" href='#index-width-reporting'> ¶</a></span></dt> +<dd><p>Report the width of the image. See also ‘<samp class="samp">--height</samp>’ and +‘<samp class="samp">--depth</samp>’. </p> </dd> -<dt id='index-magnification_002c-overriding-DVI'><span>‘<samp>-x <var>num</var></samp>’<a href='#index-magnification_002c-overriding-DVI' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-magnification_002c-overriding-DVI'><span>‘<samp class="samp">-x <var class="var">num</var></samp>’<a class="copiable-link" href='#index-magnification_002c-overriding-DVI'> ¶</a></span></dt> <dd><p>This option is deprecated; it should not be used. It is much better to -select the output resolution directly with the ‘<samp>-D</samp>’ option. This -option sets the magnification ratio to <em class='math'><var>num</var>/1000</em> and +select the output resolution directly with the ‘<samp class="samp">-D</samp>’ option. This +option sets the magnification ratio to <em class="math"><var class="var">num</var>/1000</em> and overrides the magnification specified in the DVI file. Must be between 10 and 100000. It is recommended that you use standard magstep values (1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the -total number of PK files generated. <var>num</var> may be a real number, not +total number of PK files generated. <var class="var">num</var> may be a real number, not an integer, for increased precision. </p> </dd> -<dt id='index-compression'><span>‘<samp>-z <var>num</var></samp>’<a href='#index-compression' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the PNG compression level to <var>num</var>. This option is enabled if -your ‘<samp>libgd</samp>’ is new enough. The default compression level is 1, +<dt id='index-compression'><span>‘<samp class="samp">-z <var class="var">num</var></samp>’<a class="copiable-link" href='#index-compression'> ¶</a></span></dt> +<dd><p>Set the PNG compression level to <var class="var">num</var>. This option is enabled if +your ‘<samp class="samp">libgd</samp>’ is new enough. The default compression level is 1, which selects maximum speed at the price of slightly larger PNGs. For an -older ‘<samp>libgd</samp>’, the hard-soldered value 5 is used. The include file -‘<samp>png.h</samp>’ says -</p><blockquote> +older ‘<samp class="samp">libgd</samp>’, the hard-soldered value 5 is used. The include file +‘<samp class="samp">png.h</samp>’ says +</p><blockquote class="quotation"> <p>Currently, valid values range from 0 - 9, corresponding directly to the zlib compression levels 0 - 9 (0 - no compression, 9 - "maximal" compression). Note that tests have shown that zlib compression levels @@ -902,34 +897,34 @@ correspond directly to the zlib compression levels. <hr> </div> </div> -<div class="chapter" id="Graphics"> -<div class="header"> +<div class="chapter-level-extent" id="Graphics"> +<div class="nav-panel"> <p> Next: <a href="#Color" accesskey="n" rel="next">Color</a>, Previous: <a href="#Command_002dline-options" accesskey="p" rel="prev">Command-line options</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Graphics-1"></span><h2 class="chapter">5 Graphics</h2> +<h2 class="chapter" id="Graphics-1">5 Graphics</h2> -<p>‘<samp>dvipng</samp>’ attempts to handle graphics as included by the -‘<samp>graphicx</samp>’ and ‘<samp>graphics</samp>’ packages, without the need of +<p>‘<samp class="samp">dvipng</samp>’ attempts to handle graphics as included by the +‘<samp class="samp">graphicx</samp>’ and ‘<samp class="samp">graphics</samp>’ packages, without the need of specifying a driver to these packages. This means that it recognizes -the encapsulated postscript inclusion meant for ‘<samp>dvips</samp>’, but is +the encapsulated postscript inclusion meant for ‘<samp class="samp">dvips</samp>’, but is also able (from version 1.8) to include bitmapped graphics. It also tries to handle some of the raw PostScript that is output from various packages. Some of the possibilities and problems are mentioned below. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Encapsulated-PostScript" accesskey="1">Encapsulated PostScript</a></li> <li><a href="#Bitmapped-graphics" accesskey="2">Bitmapped graphics</a></li> <li><a href="#Raw-PostScript" accesskey="3">Raw PostScript</a></li> </ul> <hr> -<div class="section" id="Encapsulated-PostScript"> -<div class="header"> +<div class="section-level-extent" id="Encapsulated-PostScript"> +<div class="nav-panel"> <p> Next: <a href="#Bitmapped-graphics" accesskey="n" rel="next">Bitmapped graphics</a>, Up: <a href="#Graphics" accesskey="u" rel="up">Graphics</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Encapsulated-PostScript-1"></span><h3 class="section">5.1 Encapsulated PostScript</h3> +<h3 class="section" id="Encapsulated-PostScript-1">5.1 Encapsulated PostScript</h3> <p>When an EPS file is included, a call to GhostScript is performed to produce a bitmapped image that can be included. The default is to @@ -939,43 +934,43 @@ foreground on the PNG. Of course, if the image is to be cropped, that is done. The included image will be a truecolor image, so for maximum performance the output PNG will be in truecolor mode as well. </p> -<p>This conversion needs the ‘<samp>pngalpha</samp>’ output device to be present +<p>This conversion needs the ‘<samp class="samp">pngalpha</samp>’ output device to be present in your copy of GhostScript. If that device is not present, or you use -the ‘<samp>--palette</samp>’ switch or request GIF output, the fallback is to -use the ‘<samp>png16m</samp>’ device to produce a cropped opaque image for -inclusion. Other relevant switches are ‘<samp>--noghostscript</samp>’ and -‘<samp>--nogssafer</samp>’. See <a href="#Option-details">Option details</a>. +the ‘<samp class="samp">--palette</samp>’ switch or request GIF output, the fallback is to +use the ‘<samp class="samp">png16m</samp>’ device to produce a cropped opaque image for +inclusion. Other relevant switches are ‘<samp class="samp">--noghostscript</samp>’ and +‘<samp class="samp">--nogssafer</samp>’. See <a class="xref" href="#Option-details">Option details</a>. </p> -<span id="index-PostScript-inclusion-problems"></span> +<a class="index-entry-id" id="index-PostScript-inclusion-problems"></a> <p>The most common problem with including graphics is an incorrect bounding box. Complain to whoever wrote the software that generated the file if the bounding box is indeed incorrect. An adjusted -boundingbox can be specified in the ‘<samp>\includegraphics</samp>’ call, as -in this example (using ‘<samp>graphicx</samp>’): +boundingbox can be specified in the ‘<samp class="samp">\includegraphics</samp>’ call, as +in this example (using ‘<samp class="samp">graphicx</samp>’): </p> <div class="example"> -<pre class="example">\includegraphics[bb=10 20 100 200]{imagename.eps} +<pre class="example-preformatted">\includegraphics[bb=10 20 100 200]{imagename.eps} </pre></div> <hr> </div> -<div class="section" id="Bitmapped-graphics"> -<div class="header"> +<div class="section-level-extent" id="Bitmapped-graphics"> +<div class="nav-panel"> <p> Next: <a href="#Raw-PostScript" accesskey="n" rel="next">Raw PostScript</a>, Previous: <a href="#Encapsulated-PostScript" accesskey="p" rel="prev">Encapsulated PostScript</a>, Up: <a href="#Graphics" accesskey="u" rel="up">Graphics</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Bitmapped-graphics-1"></span><h3 class="section">5.2 Bitmapped graphics</h3> +<h3 class="section" id="Bitmapped-graphics-1">5.2 Bitmapped graphics</h3> <p>dvipng can include PNG, JPEG and GIF graphics. When including such -images via ‘<samp>\includegraphics</samp>’ you need to specify the bounding +images via ‘<samp class="samp">\includegraphics</samp>’ you need to specify the bounding box since TeX itself cannot read them from the files in question. -The bounding box size should be given as ‘<samp>0 0 w h</samp>’ in pixels, -e.g., if the file ‘<samp>imagename.png</samp>’ is 300x400 pixels, the +The bounding box size should be given as ‘<samp class="samp">0 0 w h</samp>’ in pixels, +e.g., if the file ‘<samp class="samp">imagename.png</samp>’ is 300x400 pixels, the inclusion would read </p> <div class="example"> -<pre class="example">\includegraphics[bb=0 0 300 400]{imagename.png} +<pre class="example-preformatted">\includegraphics[bb=0 0 300 400]{imagename.png} </pre></div> <p>The default size is the image size in bp (“big points” in TeX @@ -991,30 +986,30 @@ so on. Simple, eh? The example above at 200 dpi would be 1.5 inches wide: </p> <div class="example"> -<pre class="example">\includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png} +<pre class="example-preformatted">\includegraphics[bb=0 0 300 400,witdh=1.5in]{imagename.png} </pre></div> <hr> </div> -<div class="section" id="Raw-PostScript"> -<div class="header"> +<div class="section-level-extent" id="Raw-PostScript"> +<div class="nav-panel"> <p> Previous: <a href="#Bitmapped-graphics" accesskey="p" rel="prev">Bitmapped graphics</a>, Up: <a href="#Graphics" accesskey="u" rel="up">Graphics</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Raw-PostScript-1"></span><h3 class="section">5.3 Raw PostScript</h3> +<h3 class="section" id="Raw-PostScript-1">5.3 Raw PostScript</h3> <p>dvipng attempts to handle raw PostScript. Rendering raw PostScript specials is done on top of the page by including a transparent image -generated by the ‘<samp>pngalpha</samp>’ device in GhostScript (automatically -selecting ‘<samp>truecolor</samp>’ mode in dvipng). +generated by the ‘<samp class="samp">pngalpha</samp>’ device in GhostScript (automatically +selecting ‘<samp class="samp">truecolor</samp>’ mode in dvipng). </p> <p>Included PostScript headers are respected, and if the header -‘<samp>tex.pro</samp>’ is included, dvipng also throws in ‘<samp>color.pro</samp>’ and -‘<samp>special.pro</samp>’. The package ‘<samp>xcolor</samp>’ includes its own headers +‘<samp class="samp">tex.pro</samp>’ is included, dvipng also throws in ‘<samp class="samp">color.pro</samp>’ and +‘<samp class="samp">special.pro</samp>’. The package ‘<samp class="samp">xcolor</samp>’ includes its own headers with color names, and this is not only kept as a PostScript header, but is also read and interpreted by dvipng itself. An attempt is also made to respect the PGF header. The non-rendering specials from -‘<samp>hyperref</samp>’ are handled via some heuristics and do not give an +‘<samp class="samp">hyperref</samp>’ are handled via some heuristics and do not give an error. </p> <p>Really rendering and moving things with raw PostScript specials is more @@ -1026,99 +1021,99 @@ this, at present. An attempt has been made to handle the rendering specials output by PGF (tikz), and also PSTricks. Some things work, but others do not. This is especially clear when mixing PostScript and DVI rendering commands such as glyphs. dvipng cannot at present detect if -PostScript code moves ‘<samp>currentpoint</samp>’ or rotates the frame since +PostScript code moves ‘<samp class="samp">currentpoint</samp>’ or rotates the frame since GhostScript does not return such information. A recommendation would be to produce images from these packages as EPS files and include them into your document in the standard manner. </p> <p>Another way to handle this would be to use a slower fallback (with dvips and gs, for example). If you want to disable raw PostScript handling in -dvipng, use the switch ‘<samp>--norawps</samp>’. This switch turns off the +dvipng, use the switch ‘<samp class="samp">--norawps</samp>’. This switch turns off the internal call to GhostScript intended to display these raw PostScript specials. Further, when dvipng encounters raw PostScript and the gs call is turned off, it gives a warning. It is now possible to use the switch -‘<samp>--picky</samp>’ to disable page rendering of pages with warnings, and use +‘<samp class="samp">--picky</samp>’ to disable page rendering of pages with warnings, and use the slower fallback for these pages. </p> <hr> </div> </div> -<div class="chapter" id="Color"> -<div class="header"> +<div class="chapter-level-extent" id="Color"> +<div class="nav-panel"> <p> Next: <a href="#Diagnosing-problems" accesskey="n" rel="next">Diagnosing problems</a>, Previous: <a href="#Graphics" accesskey="p" rel="prev">Graphics</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-1"></span><h2 class="chapter">6 Color</h2> +<h2 class="chapter" id="Color-1">6 Color</h2> <p>To support color, dvipng recognizes a certain set of specials as -generated by the ‘<samp>color</samp>’ and ‘<samp>xcolor</samp>’ style files. These -specials start with the keyword ‘<samp>color</samp>’ or the keyword -‘<samp>background</samp>’, followed by a color specification. +generated by the ‘<samp class="samp">color</samp>’ and ‘<samp class="samp">xcolor</samp>’ style files. These +specials start with the keyword ‘<samp class="samp">color</samp>’ or the keyword +‘<samp class="samp">background</samp>’, followed by a color specification. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Color-specifications" accesskey="1">Color specifications</a></li> <li><a href="#Color-specials" accesskey="2">Color specials</a></li> </ul> <hr> -<div class="section" id="Color-specifications"> -<div class="header"> +<div class="section-level-extent" id="Color-specifications"> +<div class="nav-panel"> <p> Next: <a href="#Color-specials" accesskey="n" rel="next">Color specials</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-specifications-1"></span><h3 class="section">6.1 Color specifications</h3> +<h3 class="section" id="Color-specifications-1">6.1 Color specifications</h3> -<span id="index-color-specifications"></span> +<a class="index-entry-id" id="index-color-specifications"></a> <p>The color specification supported by dvipng is by-value or by-name. The -by-value spec starts with the name of a color model (one of ‘<samp>rgb</samp>’, -‘<samp>hsb</samp>’, ‘<samp>cmy</samp>’, ‘<samp>cmyk</samp>’, or ‘<samp>gray</samp>’) followed by the +by-value spec starts with the name of a color model (one of ‘<samp class="samp">rgb</samp>’, +‘<samp class="samp">hsb</samp>’, ‘<samp class="samp">cmy</samp>’, ‘<samp class="samp">cmyk</samp>’, or ‘<samp class="samp">gray</samp>’) followed by the appropriate number of parameters. Thus, the color specification -‘<samp>rgb 0.3 0.4 0.5</samp>’ would correspond to the color that is ‘<samp>0.3 +‘<samp class="samp">rgb 0.3 0.4 0.5</samp>’ would correspond to the color that is ‘<samp class="samp">0.3 0.4 0.5</samp>’ in its red, blue and green values. The color model used -internally in dvipng is ‘<samp>RGB</samp>’ (discretized to 256 levels), for -details on the formulas used in conversion, see the ‘<samp>xcolor</samp>’ +internally in dvipng is ‘<samp class="samp">RGB</samp>’ (discretized to 256 levels), for +details on the formulas used in conversion, see the ‘<samp class="samp">xcolor</samp>’ documentation. </p> <p>By-name color specifications are single (case-dependent) words and are -compared with color names defined in ‘<samp>dvipsnam.def</samp>’ (from the -‘<samp>graphics</samp>’ bundle), ‘<samp>svgnam.def</samp>’ and ‘<samp>xcolor.sty</samp>’ (from -the ‘<samp>xcolor</samp>’ bundle). See the ‘<samp>xcolor</samp>’ documentation for a +compared with color names defined in ‘<samp class="samp">dvipsnam.def</samp>’ (from the +‘<samp class="samp">graphics</samp>’ bundle), ‘<samp class="samp">svgnam.def</samp>’ and ‘<samp class="samp">xcolor.sty</samp>’ (from +the ‘<samp class="samp">xcolor</samp>’ bundle). See the ‘<samp class="samp">xcolor</samp>’ documentation for a list of names and the corresponding colors. </p> -<p>On the command-line, the name ‘<samp>Transparent</samp>’ can also be used as -an argument to ‘<samp>--bg</samp>’ to choose transparent background. -See <a href="#Option-details">Option details</a>. +<p>On the command-line, the name ‘<samp class="samp">Transparent</samp>’ can also be used as +an argument to ‘<samp class="samp">--bg</samp>’ to choose transparent background. +See <a class="xref" href="#Option-details">Option details</a>. </p> <hr> </div> -<div class="section" id="Color-specials"> -<div class="header"> +<div class="section-level-extent" id="Color-specials"> +<div class="nav-panel"> <p> Previous: <a href="#Color-specifications" accesskey="p" rel="prev">Color specifications</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-specials-1"></span><h3 class="section">6.2 Color specials</h3> +<h3 class="section" id="Color-specials-1">6.2 Color specials</h3> -<p>We will describe ‘<samp>background</samp>’ first, since it is the simplest. The -‘<samp>background</samp>’ keyword must be followed by a color specification. +<p>We will describe ‘<samp class="samp">background</samp>’ first, since it is the simplest. The +‘<samp class="samp">background</samp>’ keyword must be followed by a color specification. That color specification is used as a fill color for the background. The -last ‘<samp>background</samp>’ special on a page is the one that gets used, and +last ‘<samp class="samp">background</samp>’ special on a page is the one that gets used, and is used for the whole of the page image. (This is possible because the prescan phase of dvipng notices all of the color specials so that the appropriate information can be written out during the second phase.) </p> -<p>The ‘<samp>color</samp>’ special itself has three forms. The first is just -‘<samp>color</samp>’ followed by a color specification. In this case, the +<p>The ‘<samp class="samp">color</samp>’ special itself has three forms. The first is just +‘<samp class="samp">color</samp>’ followed by a color specification. In this case, the current global color is set to that color; the color stack must be empty when such a command is executed. </p> -<p>The second form is ‘<samp>color push</samp>’ followed by a color specification. +<p>The second form is ‘<samp class="samp">color push</samp>’ followed by a color specification. This saves the current color on the color stack and sets the color to be that given by the color specification. This is the most common way to set a color. </p> -<p>The final form of the ‘<samp>color</samp>’ special is just ‘<samp>color pop</samp>’, +<p>The final form of the ‘<samp class="samp">color</samp>’ special is just ‘<samp class="samp">color pop</samp>’, with no color specification; this says to pop the color last pushed on the color stack from the color stack and set the current color to be that color. @@ -1129,16 +1124,16 @@ the pages are rendered repeatedly or in reverse order. <hr> </div> </div> -<div class="chapter" id="Diagnosing-problems"> -<div class="header"> +<div class="chapter-level-extent" id="Diagnosing-problems"> +<div class="nav-panel"> <p> Next: <a href="#Credits" accesskey="n" rel="next">Credits</a>, Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Diagnosing-problems-1"></span><h2 class="chapter">7 Diagnosing problems</h2> +<h2 class="chapter" id="Diagnosing-problems-1">7 Diagnosing problems</h2> -<span id="index-problems"></span> -<span id="index-trouble"></span> -<span id="index-debugging-1"></span> +<a class="index-entry-id" id="index-problems"></a> +<a class="index-entry-id" id="index-trouble"></a> +<a class="index-entry-id" id="index-debugging-1"></a> <p>You’ve gone through all the trouble of installing dvipng, carefully read all the instructions in this manual, and still can’t get something to @@ -1146,92 +1141,92 @@ work. The following sections provide some helpful hints if you find yourself in such a situation. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Contact-information" accesskey="1">Contact information</a></li> <li><a href="#Debug-options" accesskey="2">Debug options</a></li> </ul> <hr> -<div class="section" id="Contact-information"> -<div class="header"> +<div class="section-level-extent" id="Contact-information"> +<div class="nav-panel"> <p> Next: <a href="#Debug-options" accesskey="n" rel="next">Debug options</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Contact-information-1"></span><h3 class="section">7.1 Contact information</h3> +<h3 class="section" id="Contact-information-1">7.1 Contact information</h3> <p>Bug reports should be sent to -<a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. +<a class="email" href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. </p> <p>Questions, suggestions for new features, pleas for help, and/or praise -should go to <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this +should go to <a class="email" href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. For more information on this mailing list, send a message with just the word ‘help’ as subject or -body to <a href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at -<a href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>. +body to <a class="email" href="mailto:dvipng-request@nongnu.org">dvipng-request@nongnu.org</a> or look at +<a class="url" href="http://lists.nongnu.org/mailman/listinfo/dvipng">http://lists.nongnu.org/mailman/listinfo/dvipng</a>. </p> <p>Offers to support further development will be appreciated. For developer -access, ask on <a href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. +access, ask on <a class="email" href="mailto:dvipng@nongnu.org">dvipng@nongnu.org</a>. </p> -<p>For details on the TeX path-searching library, and <code>mktexpk</code> -problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Common-problems">Common problems</a> in <cite>Kpathsea</cite>. +<p>For details on the TeX path-searching library, and <code class="code">mktexpk</code> +problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Common-problems">Common problems</a> in <cite class="cite">Kpathsea</cite>. </p> <hr> </div> -<div class="section" id="Debug-options"> -<div class="header"> +<div class="section-level-extent" id="Debug-options"> +<div class="nav-panel"> <p> Previous: <a href="#Contact-information" accesskey="p" rel="prev">Contact information</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Debug-options-1"></span><h3 class="section">7.2 Debug options</h3> +<h3 class="section" id="Debug-options-1">7.2 Debug options</h3> -<p>The ‘<samp>-d</samp>’ flag to dvipng helps in tracking down certain errors. The +<p>The ‘<samp class="samp">-d</samp>’ flag to dvipng helps in tracking down certain errors. The parameter to this flag is an integer that tells what errors are currently being tracked. To track a certain class of debug messages, simply provide the appropriate number given below; if you wish to track multiple classes, sum the numbers of the classes you wish to track. To -track all classes, you can use <code>-1</code>. +track all classes, you can use <code class="code">-1</code>. </p> <p>Some of these debugging options are actually provided by Kpathsea -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>). +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>). </p> <p>The classes are: -</p><dl compact="compact"> -<dt><span>1</span></dt> +</p><dl class="table"> +<dt>1</dt> <dd><p>Normal dvi op-codes </p></dd> -<dt><span>2</span></dt> +<dt>2</dt> <dd><p>Virtual fonts </p></dd> -<dt><span>4</span></dt> +<dt>4</dt> <dd><p>PK fonts </p></dd> -<dt><span>8</span></dt> +<dt>8</dt> <dd><p>TFM files </p></dd> -<dt><span>16</span></dt> +<dt>16</dt> <dd><p>Glyph rendering </p></dd> -<dt><span>32</span></dt> +<dt>32</dt> <dd><p>FreeType calls </p></dd> -<dt><span>64</span></dt> +<dt>64</dt> <dd><p>Encoding loads </p></dd> -<dt><span>128</span></dt> +<dt>128</dt> <dd><p>Color specials </p></dd> -<dt><span>256</span></dt> +<dt>256</dt> <dd><p>GhostScript specials </p></dd> -<dt><span>512</span></dt> -<dd><p>Kpathsea <code>stat</code> calls +<dt>512</dt> +<dd><p>Kpathsea <code class="code">stat</code> calls </p></dd> -<dt><span>1024</span></dt> +<dt>1024</dt> <dd><p>Kpathsea hash table lookups </p></dd> -<dt><span>2048</span></dt> +<dt>2048</dt> <dd><p>Kpathsea path element expansion </p></dd> -<dt><span>4096</span></dt> +<dt>4096</dt> <dd><p>Kpathsea path searches </p> </dd> @@ -1240,12 +1235,12 @@ track all classes, you can use <code>-1</code>. <hr> </div> </div> -<div class="chapter" id="Credits"> -<div class="header"> +<div class="chapter-level-extent" id="Credits"> +<div class="nav-panel"> <p> Next: <a href="#Copying" accesskey="n" rel="next">Copying</a>, Previous: <a href="#Diagnosing-problems" accesskey="p" rel="prev">Diagnosing problems</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Credits-1"></span><h2 class="chapter">8 Credits</h2> +<h2 class="chapter" id="Credits-1">8 Credits</h2> <p>A number of persons have contributed, if I forget to mention someone, I apologize. First and foremost we have David Kastrup whose @@ -1268,12 +1263,12 @@ Waldeck Schutzer, Ahzo, and Andy Nguyen. <hr> </div> -<div class="chapter" id="Copying"> -<div class="header"> +<div class="chapter-level-extent" id="Copying"> +<div class="nav-panel"> <p> Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#Credits" accesskey="p" rel="prev">Credits</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Copying-1"></span><h2 class="chapter">9 Copying</h2> +<h2 class="chapter" id="Copying-1">9 Copying</h2> <p>This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as @@ -1295,210 +1290,212 @@ License along with this program. If not, see </p> <hr> </div> -<div class="unnumbered" id="Index"> -<div class="header"> +<div class="unnumbered-level-extent" id="Index"> +<div class="nav-panel"> <p> Previous: <a href="#Copying" accesskey="p" rel="prev">Copying</a>, Up: <a href="#Top" accesskey="u" rel="up">dvipng</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> +<h2 class="unnumbered" id="Index-1">Index</h2> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>-</b></a> +<div class="printindex cp-printindex"> +<table class="cp-letters-header-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>-</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> </td></tr></table> -<table class="index-cp" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<table class="cp-entries-printindex" border="0"> +<tr><td></td><th class="entries-header-printindex">Index Entry</th><td> </td><th class="sections-header-printindex"> Section</th></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-1">-</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ddSAFER">-dSAFER</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ddSAFER">-dSAFER</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and ‘<samp>-l</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and ‘<samp>-p</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-antialiasing-levels_002c-number-of">antialiasing levels<span class="roman">, number of</span></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and ‘<samp class="samp">-l</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and ‘<samp class="samp">-p</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-antialiasing-levels_002c-number-of">antialiasing levels<span class="r">, number of</span></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-background-color-_0028option_0029">background color (option)</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-resolution_002c-setting">base resolution, setting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-baseline-reporting">baseline reporting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-baseline-reporting-1">baseline reporting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-background-color-_0028option_0029">background color (option)</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-resolution_002c-setting">base resolution, setting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-baseline-reporting">baseline reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-baseline-reporting-1">baseline reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-specifications">color specifications</a>:</td><td> </td><td valign="top"><a href="#Color-specifications">Color specifications</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-command_002dline-options">command-line options</a>:</td><td> </td><td valign="top"><a href="#Command_002dline-options">Command-line options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compilation">compilation</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compression">compression</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration_002c-of-dvipng">configuration, of dvipng</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-specifications">color specifications</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-specifications">Color specifications</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-command_002dline-options">command-line options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Command_002dline-options">Command-line options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation">compilation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compression">compression</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-of-dvipng">configuration, of dvipng</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-dark-fonts">dark fonts</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging">debugging</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-1">debugging</a>:</td><td> </td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-depth-reporting">depth reporting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dark-fonts">dark fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging">debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-1">debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-depth-reporting">depth reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-exit-on-erroneous-images">exit on erroneous images</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-exit-on-erroneous-images">exit on erroneous images</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-first-page-printed">first page printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-follow-mode">follow mode</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-forcing-palette-output">forcing palette output</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-foreground-color-_0028option_0029">foreground color (option)</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FreeType-font-rendering">FreeType font rendering</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fuzzy-images">fuzzy images</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-first-page-printed">first page printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-follow-mode">follow mode</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-forcing-palette-output">forcing palette output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-foreground-color-_0028option_0029">foreground color (option)</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FreeType-font-rendering">FreeType font rendering</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fuzzy-images">fuzzy images</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-gamma">gamma</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GhostScript-and-_002ddSAFER">GhostScript and -dSAFER</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GhostScript_002c-turning-off">GhostScript, turning off</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GIF-image-format">GIF image format</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gamma">gamma</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GhostScript-and-_002ddSAFER">GhostScript and -dSAFER</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GhostScript_002c-turning-off">GhostScript, turning off</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GIF-image-format">GIF image format</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-height-reporting">height reporting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-height-reporting">height reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-installation_002c-of-dvipng">installation, of dvipng</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-invoking-dvipng">invoking dvipng</a>:</td><td> </td><td valign="top"><a href="#Basic-usage">Basic usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installation_002c-of-dvipng">installation, of dvipng</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-invoking-dvipng">invoking dvipng</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-usage">Basic usage</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-last-page-printed">last page printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-light-fonts">light fonts</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-last-page-printed">last page printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-light-fonts">light fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="roman">, avoiding</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="r">, avoiding</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-no-erroneous-images">no erroneous images</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-no-erroneous-images">no erroneous images</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-offset-pages">offset pages</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-option_002c-details-of">option, details of</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-dvipng">options, dvipng</a>:</td><td> </td><td valign="top"><a href="#Command_002dline-options">Command-line options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-summary">options, summary</a>:</td><td> </td><td valign="top"><a href="#Option-summary">Option summary</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-resolution_002c-setting">output resolution, setting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-offset-pages">offset pages</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-option_002c-details-of">option, details of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-dvipng">options, dvipng</a>:</td><td> </td><td class="printindex-index-section"><a href="#Command_002dline-options">Command-line options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-summary">options, summary</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-summary">Option summary</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-resolution_002c-setting">output resolution, setting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-page-range">page range</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and ‘<samp>-l</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and ‘<samp>-p</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PNG-image-format">PNG image format</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-inclusion-problems">PostScript inclusion problems</a>:</td><td> </td><td valign="top"><a href="#Encapsulated-PostScript">Encapsulated PostScript</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript_002c-turning-off-raw-PostScript-specials">PostScript, turning off raw PostScript specials</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-problems">problems</a>:</td><td> </td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page-range">page range</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and ‘<samp class="samp">-l</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and ‘<samp class="samp">-p</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PNG-image-format">PNG image format</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-inclusion-problems">PostScript inclusion problems</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encapsulated-PostScript">Encapsulated PostScript</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript_002c-turning-off-raw-PostScript-specials">PostScript, turning off raw PostScript specials</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-problems">problems</a>:</td><td> </td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-quality">quality</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-quiet-operation">quiet operation</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-quality">quality</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-quiet-operation">quiet operation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-silent-operation">silent operation</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-silent-operation">silent operation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-transparent-border-fallback-color">transparent border fallback color</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-transparent-border-width">transparent border width</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trouble">trouble</a>:</td><td> </td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-truecolor-output">truecolor output</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-transparent-border-fallback-color">transparent border fallback color</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-transparent-border-width">transparent border width</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trouble">trouble</a>:</td><td> </td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-truecolor-output">truecolor output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-width-reporting">width reporting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-width-reporting">width reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> </table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>-</b></a> +<table class="cp-letters-footer-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>-</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> </td></tr></table> </div> </div> +</div> diff --git a/Master/texmf-dist/doc/dvipng/dvipng.pdf b/Master/texmf-dist/doc/dvipng/dvipng.pdf Binary files differindex 028cd521cf1..a33c295355a 100644 --- a/Master/texmf-dist/doc/dvipng/dvipng.pdf +++ b/Master/texmf-dist/doc/dvipng/dvipng.pdf diff --git a/Master/texmf-dist/doc/dvips/NEWS b/Master/texmf-dist/doc/dvips/NEWS index 5389f7c95bd..f301547e267 100644 --- a/Master/texmf-dist/doc/dvips/NEWS +++ b/Master/texmf-dist/doc/dvips/NEWS @@ -1,6 +1,30 @@ -$Id: NEWS 46759 2018-02-27 23:14:55Z karl $ +$Id: NEWS 65770 2023-02-09 21:26:50Z karl $ This file records noteworthy changes. (Public domain.) +dvips 2023.1 (TeX Live 2023): + Check --help and --version early to avoid looking for texmf.cnf. + +dvips 2022.1 (TeX Live 2022): + New option (and config file directive) -landscaperotate: try to + automatically match rotated page content and paper sizes; in the past, + this was done by default, but it is generally unnecessary nowadays, + and can be troublesome when converting to PDF, so now the default is + not to do this. This option re-enables the rotated matching. + Use full font path (if specified) for tfm lookups, as with pk. + +dvips 2021.1 (TeX Live 2021): + Default title is now the basename of the input file instead of the + full path, and can be overridden with new option -title. + If an .eps or other image file is not found, dvips now exits unsuccessfully. + Support new feature of virtual font to fallback Japanese font definition. + +dvips 2020.1 (TeX Live 2020): + Encodings for bitmap fonts: + https://tug.org/TUGboat/tb40-2/tb125rokicki-type3search.pdf + +dvips 5.999 (TeX Live 2019): + Buffer overflows. + dvips 5.998 (TeX Live 2018): New JFM (Japanese font metrics) spec supported; compiler portability fixes. diff --git a/Master/texmf-dist/doc/dvips/README b/Master/texmf-dist/doc/dvips/README index 8f373b1a033..e661ed70443 100644 --- a/Master/texmf-dist/doc/dvips/README +++ b/Master/texmf-dist/doc/dvips/README @@ -1,13 +1,25 @@ -$Id: README 17566 2010-03-26 17:29:02Z karl $ +$Id: README 63453 2022-05-31 15:40:57Z karl $ This directory contains Dvips, Tom Rokicki's dvips, a DVI-to-PostScript translator. It requires the Kpathsea library for path searching. -See `NEWS' for changes by release, `ChangeLog` for all changes. -See `../kpathsea/BUGS' for details on reporting bugs. - Dvips is free software; Tom's original files are public domain. The files Karl wrote (originally for the Free Software Foundation) are covered by the GNU General Public License -- see the files COPYING*. + +Mailing list for bug reports and all general discussion: +https://lists.tug.org/tex-k; anyone can join the list, but it is not +necessary to join to post. Archives are public. + +See `NEWS' for changes by release, `ChangeLog` for all changes. + +dvips is now maintained as part of TeX Live, https://tug.org/texlive. +Info on building only one program from TL, like this one: + https://tug.org/texinfohtml/tlbuild.html#Build-one-package +TeX Live general build info: + https://tug.org/texlive/build.html +Mailing list for build issues (same setup as tex-k, above): + https://lists.tug.org/tlbuild + ------------------------------------------------------------------------- The documentation is in the file dvips.texi. diff --git a/Master/texmf-dist/doc/dvips/dvips.html b/Master/texmf-dist/doc/dvips/dvips.html index 30e59aef42e..54d42fa9a52 100644 --- a/Master/texmf-dist/doc/dvips/dvips.html +++ b/Master/texmf-dist/doc/dvips/dvips.html @@ -1,10 +1,10 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!DOCTYPE html> <html> -<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> -<!-- This manual documents Dvips version 2022.1 -(January 2022), a program to translate a DVI file into +<!-- This manual documents Dvips version 2023.1 +(February 2022), a program to translate a DVI file into PostScript. You may freely use, modify and/or distribute this file. --> <title>Dvips: A DVI-to-PostScript translator</title> @@ -22,21 +22,20 @@ PostScript. You may freely use, modify and/or distribute this file. --> <link href="#Why-Dvips" rel="next" title="Why Dvips"> <style type="text/css"> <!-- -a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} +a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} +a.summary-letter-printindex {text-decoration: none} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -span:hover a.copiable-anchor {visibility: visible} -ul.no-bullet {list-style: none} +pre.display-preformatted {font-family: inherit} +span.r {font-family: initial; font-weight: normal; font-style: normal} +span:hover a.copiable-link {visibility: visible} +td.printindex-index-entry {vertical-align: top} +td.printindex-index-section {vertical-align: top} +th.entries-header-printindex {text-align:left} +th.sections-header-printindex {text-align:left} +ul.mark-bullet {list-style-type: disc} +ul.mark-minus {list-style-type: "\2212"} +ul.toc-numbered-mark {list-style: none} --> </style> @@ -44,7 +43,6 @@ ul.no-bullet {list-style: none} </head> <body lang="en"> -<h1 class="settitle" align="center">Dvips: A DVI-to-PostScript translator</h1> @@ -53,33 +51,33 @@ ul.no-bullet {list-style: none} -<div class="top" id="Top"> -<div class="header"> +<div class="top-level-extent" id="Top"> +<div class="nav-panel"> <p> Next: <a href="#Why-Dvips" accesskey="n" rel="next">Why use Dvips?</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Dvips"></span><h1 class="top">Dvips</h1> +<h1 class="top" id="Dvips">Dvips</h1> -<p>This manual documents Dvips version 2022.1 -(January 2022), a program to translate a DVI file into +<p>This manual documents Dvips version 2023.1 +(February 2022), a program to translate a DVI file into PostScript. You may freely use, modify and/or distribute this file. </p> -<div class="Contents_element" id="SEC_Contents"> +<div class="element-contents" id="SEC_Contents"> <h2 class="contents-heading">Table of Contents</h2> <div class="contents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="toc-Why-use-Dvips_003f" href="#Why-Dvips">1 Why use Dvips?</a></li> <li><a id="toc-Installation-1" href="#Installation">2 Installation</a> - <ul class="no-bullet"> - <li><a id="toc-config_002eps-installation-1" href="#config_002eps-installation">2.1 <samp>config.ps</samp> installation</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-config_002eps-installation-1" href="#config_002eps-installation">2.1 <samp class="file">config.ps</samp> installation</a></li> <li><a id="toc-PostScript-font-installation-1" href="#PostScript-font-installation">2.2 PostScript font installation</a></li> <li><a id="toc-Ghostscript-installation-1" href="#Ghostscript-installation">2.3 Ghostscript installation</a></li> <li><a id="toc-Diagnosing-problems-1" href="#Diagnosing-problems">2.4 Diagnosing problems</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Debug-options-1" href="#Debug-options">2.4.1 Debug options</a></li> <li><a id="toc-No-output-at-all" href="#No-output">2.4.2 No output at all</a></li> <li><a id="toc-Output-too-small-or-inverted" href="#Small-or-inverted">2.4.3 Output too small or inverted</a></li> @@ -89,65 +87,65 @@ PostScript. You may freely use, modify and/or distribute this file. </ul></li> </ul></li> <li><a id="toc-Invoking-Dvips-1" href="#Invoking-Dvips">3 Invoking Dvips</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Basic-usage-of-Dvips" href="#Basic-usage">3.1 Basic usage of Dvips</a></li> <li><a id="toc-Command_002dline-options-1" href="#Command_002dline-options">3.2 Command-line options</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Option-summary-1" href="#Option-summary">3.2.1 Option summary</a></li> <li><a id="toc-Option-details-1" href="#Option-details">3.2.2 Option details</a></li> </ul></li> <li><a id="toc-Environment-variables-1" href="#Environment-variables">3.3 Environment variables</a></li> <li><a id="toc-Dvips-configuration-files" href="#Config-files">3.4 Dvips configuration files</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Configuration-file-searching-1" href="#Configuration-file-searching">3.4.1 Configuration file searching</a></li> <li><a id="toc-Configuration-file-commands-1" href="#Configuration-file-commands">3.4.2 Configuration file commands</a></li> </ul></li> </ul></li> <li><a id="toc-Paper-size-and-landscape-orientation" href="#Paper-size-and-landscape">4 Paper size and landscape orientation</a> - <ul class="no-bullet"> - <li><a id="toc-papersize-special-1" href="#papersize-special">4.1 ‘<samp>papersize</samp>’ special</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-papersize-special-1" href="#papersize-special">4.1 ‘<samp class="samp">papersize</samp>’ special</a></li> <li><a id="toc-Configuration-file-paper-size-command" href="#Config-file-paper-sizes">4.2 Configuration file paper size command</a></li> <li><a id="toc-Paper-trays-1" href="#Paper-trays">4.3 Paper trays</a></li> </ul></li> <li><a id="toc-Interaction-with-PostScript-1" href="#Interaction-with-PostScript">5 Interaction with PostScript</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-PostScript-figures-1" href="#PostScript-figures">5.1 PostScript figures</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-The-bounding-box-comment" href="#Bounding-box">5.1.1 The bounding box comment</a></li> <li><a id="toc-The-_005cincludegraphics-macro-for-LaTeX" href="#g_t_005cincludegraphics">5.1.2 The \includegraphics macro for LaTeX</a></li> <li><a id="toc-Using-the-EPSF-macros" href="#EPSF-macros">5.1.3 Using the EPSF macros</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-EPSF-scaling-1" href="#EPSF-scaling">5.1.3.1 EPSF scaling</a></li> <li><a id="toc-EPSF-clipping-1" href="#EPSF-clipping">5.1.3.2 EPSF clipping</a></li> </ul></li> - <li><a id="toc-psfile-special-1" href="#psfile-special">5.1.4 ‘<samp>psfile</samp>’ special</a></li> + <li><a id="toc-psfile-special-1" href="#psfile-special">5.1.4 ‘<samp class="samp">psfile</samp>’ special</a></li> <li><a id="toc-Dynamic-creation-of-PostScript-graphics-files" href="#Dynamic-creation-of-graphics">5.1.5 Dynamic creation of PostScript graphics files</a></li> <li><a id="toc-Fonts-in-figures-1" href="#Fonts-in-figures">5.1.6 Fonts in figures</a></li> </ul></li> <li><a id="toc-PostScript-header-files" href="#Header-files">5.2 PostScript header files</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Including-headers-from-TeX-1" href="#Including-headers-from-TeX">5.2.1 Including headers from TeX</a></li> <li><a id="toc-Including-headers-from-the-command-line-1" href="#Including-headers-from-the-command-line">5.2.2 Including headers from the command line</a></li> <li><a id="toc-Headers-and-memory-usage-1" href="#Headers-and-memory-usage">5.2.3 Headers and memory usage</a></li> </ul></li> <li><a id="toc-Literal-PostScript" href="#Literal-PS">5.3 Literal PostScript</a> - <ul class="no-bullet"> - <li><a id="toc-_0022-special_003a-Literal-PostScript" href="#g_t_0022-special">5.3.1 <code>"</code> special: Literal PostScript</a></li> - <li><a id="toc-ps-special-1" href="#ps-special">5.3.2 ‘<samp>ps</samp>’ special</a></li> - <li><a id="toc-Literal-headers_003a-_0021-_005cspecial" href="#Literal-headers">5.3.3 Literal headers: ‘<samp>!</samp>’ <code>\special</code></a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-_0022-special_003a-Literal-PostScript" href="#g_t_0022-special">5.3.1 <code class="code">"</code> special: Literal PostScript</a></li> + <li><a id="toc-ps-special-1" href="#ps-special">5.3.2 ‘<samp class="samp">ps</samp>’ special</a></li> + <li><a id="toc-Literal-headers_003a-_0021-_005cspecial" href="#Literal-headers">5.3.3 Literal headers: ‘<samp class="samp">!</samp>’ <code class="code">\special</code></a></li> <li><a id="toc-PostScript-hooks-1" href="#PostScript-hooks">5.3.4 PostScript hooks</a></li> <li><a id="toc-Literal-examples-1" href="#Literal-examples">5.3.5 Literal examples</a></li> </ul></li> <li><a id="toc-HyperTeXt" href="#Hypertext">5.4 HyperTeXt</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Hypertext-caveats-1" href="#Hypertext-caveats">5.4.1 Hypertext caveats</a></li> <li><a id="toc-Hypertext-specials-1" href="#Hypertext-specials">5.4.2 Hypertext specials</a></li> </ul></li> </ul></li> <li><a id="toc-PostScript-fonts-1" href="#PostScript-fonts">6 PostScript fonts</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Font-concepts-1" href="#Font-concepts">6.1 Font concepts</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Metric-files-1" href="#Metric-files">6.1.1 Metric files</a></li> <li><a id="toc-Glyph-files-1" href="#Glyph-files">6.1.2 Glyph files</a></li> <li><a id="toc-Virtual-fonts-1" href="#Virtual-fonts">6.1.3 Virtual fonts</a></li> @@ -157,29 +155,29 @@ PostScript. You may freely use, modify and/or distribute this file. </ul></li> <li><a id="toc-Making-a-PostScript-font-available" href="#Making-a-font-available">6.2 Making a PostScript font available</a></li> <li><a id="toc-Invoking-Afm2tfm" href="#Invoking-afm2tfm">6.3 Invoking Afm2tfm</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Changing-font-encodings-1" href="#Changing-font-encodings">6.3.1 Changing font encodings</a> - <ul class="no-bullet"> - <li><a id="toc-_002dt_003a-Changing-TeX-encodings" href="#Changing-TeX-encodings">6.3.1.1 ‘<samp>-t</samp>’: Changing TeX encodings</a></li> - <li><a id="toc-_002dp_003a-Changing-PostScript-encodings" href="#Changing-PostScript-encodings">6.3.1.2 ‘<samp>-p</samp>’: Changing PostScript encodings</a></li> - <li><a id="toc-_002dT_003a-Changing-both-TeX-and-PostScript-encodings" href="#Changing-both-encodings">6.3.1.3 ‘<samp>-T</samp>’: Changing both TeX and PostScript encodings</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-_002dt_003a-Changing-TeX-encodings" href="#Changing-TeX-encodings">6.3.1.1 ‘<samp class="samp">-t</samp>’: Changing TeX encodings</a></li> + <li><a id="toc-_002dp_003a-Changing-PostScript-encodings" href="#Changing-PostScript-encodings">6.3.1.2 ‘<samp class="samp">-p</samp>’: Changing PostScript encodings</a></li> + <li><a id="toc-_002dT_003a-Changing-both-TeX-and-PostScript-encodings" href="#Changing-both-encodings">6.3.1.3 ‘<samp class="samp">-T</samp>’: Changing both TeX and PostScript encodings</a></li> <li><a id="toc-Reencoding-with-Afm2tfm-1" href="#Reencoding-with-Afm2tfm">6.3.1.4 Reencoding with Afm2tfm</a></li> <li><a id="toc-Encoding-file-format-1" href="#Encoding-file-format">6.3.1.5 Encoding file format</a></li> </ul></li> <li><a id="toc-Special-font-effects-1" href="#Special-font-effects">6.3.2 Special font effects</a></li> <li><a id="toc-Afm2tfm-options-1" href="#Afm2tfm-options">6.3.3 Afm2tfm options</a></li> </ul></li> - <li><a id="toc-psfonts_002emap_003a-PostScript-font-catalog" href="#psfonts_002emap">6.4 <samp>psfonts.map</samp>: PostScript font catalog</a></li> + <li><a id="toc-psfonts_002emap_003a-PostScript-font-catalog" href="#psfonts_002emap">6.4 <samp class="file">psfonts.map</samp>: PostScript font catalog</a></li> </ul></li> <li><a id="toc-Color-1" href="#Color">7 Color</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Color-macro-files-1" href="#Color-macro-files">7.1 Color macro files</a></li> <li><a id="toc-User_002ddefinable-colors-1" href="#User_002ddefinable-colors">7.2 User-definable colors</a></li> <li><a id="toc-Color-subtleties-1" href="#Color-subtleties">7.3 Color subtleties</a></li> <li><a id="toc-Printing-in-black_002fwhite-after-colorizing" href="#Ted-Turner">7.4 Printing in black/white after colorizing</a></li> <li><a id="toc-Color-device-configuration-1" href="#Color-device-configuration">7.5 Color device configuration</a></li> <li><a id="toc-Color-support-details-1" href="#Color-support-details">7.6 Color support details</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Color-specifications-1" href="#Color-specifications">7.6.1 Color specifications</a></li> <li><a id="toc-Color-specials-1" href="#Color-specials">7.6.2 Color specials</a></li> </ul></li> @@ -188,11 +186,11 @@ PostScript. You may freely use, modify and/or distribute this file. </ul> </div> </div> -<div class="Overview_element" id="SEC_Overview"> +<div class="element-shortcontents" id="SEC_Shortcontents"> <h2 class="shortcontents-heading">Short Table of Contents</h2> <div class="shortcontents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="stoc-Why-use-Dvips_003f" href="#toc-Why-use-Dvips_003f">1 Why use Dvips?</a></li> <li><a id="stoc-Installation-1" href="#toc-Installation-1">2 Installation</a></li> <li><a id="stoc-Invoking-Dvips-1" href="#toc-Invoking-Dvips-1">3 Invoking Dvips</a></li> @@ -205,17 +203,17 @@ PostScript. You may freely use, modify and/or distribute this file. </div> </div> <hr> -<div class="chapter" id="Why-Dvips"> -<div class="header"> +<div class="chapter-level-extent" id="Why-Dvips"> +<div class="nav-panel"> <p> Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Dvips</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Why-use-Dvips_003f"></span><h2 class="chapter">1 Why use Dvips?</h2> +<h2 class="chapter" id="Why-use-Dvips_003f">1 Why use Dvips?</h2> <p>The Dvips program has a number of features that set it apart from other PostScript drivers for TeX. This rather long section describes the advantages of using Dvips, and may be skipped if you are just -interested in learning how to use the program. See <a href="#Installation">Installation</a>, for +interested in learning how to use the program. See <a class="xref" href="#Installation">Installation</a>, for details of compilation and installation. </p> <p>The Dvips driver generates excellent, standard PostScript, that @@ -259,77 +257,77 @@ files. is possible. Adding such features is made easier by the highly modular structure of the program. </p> -<span id="index-Rokicki_002c-Tomas"></span> +<a class="index-entry-id" id="index-Rokicki_002c-Tomas"></a> <p>Tom Rokicki wrote and maintains the original Dvips program. </p> <hr> </div> -<div class="chapter" id="Installation"> -<div class="header"> +<div class="chapter-level-extent" id="Installation"> +<div class="nav-panel"> <p> Next: <a href="#Invoking-Dvips" accesskey="n" rel="next">Invoking Dvips</a>, Previous: <a href="#Why-Dvips" accesskey="p" rel="prev">Why use Dvips?</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2> +<h2 class="chapter" id="Installation-1">2 Installation</h2> -<span id="index-configuration_002c-of-Dvips"></span> -<span id="index-compilation"></span> -<span id="index-installation_002c-of-Dvips"></span> +<a class="index-entry-id" id="index-configuration_002c-of-Dvips"></a> +<a class="index-entry-id" id="index-compilation"></a> +<a class="index-entry-id" id="index-installation_002c-of-Dvips"></a> <p>Installing Dvips is mostly the same as installing any Kpathsea-using program. Therefore, for the basic steps involved, -see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite>Kpathsea</cite>. +see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite class="cite">Kpathsea</cite>. </p> <p>For solutions to common installation problems and information on how to -report a bug, see the file <samp>kpathsea/BUGS</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>). For solutions to Dvips-specific problems, -see <a href="#Debug-options">Debug options</a>. +report a bug, see the file <samp class="file">kpathsea/BUGS</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>). For solutions to Dvips-specific problems, +see <a class="pxref" href="#Debug-options">Debug options</a>. </p> <p>Dvips does require some additional installation, detailed in the -sections below. Also, to configure color devices, see <a href="#Color-device-configuration">Color device configuration</a>. +sections below. Also, to configure color devices, see <a class="pxref" href="#Color-device-configuration">Color device configuration</a>. </p> -<ul class="section-toc"> -<li><a href="#config_002eps-installation" accesskey="1"><samp>config.ps</samp> installation</a></li> +<ul class="mini-toc"> +<li><a href="#config_002eps-installation" accesskey="1"><samp class="file">config.ps</samp> installation</a></li> <li><a href="#PostScript-font-installation" accesskey="2">PostScript font installation</a></li> <li><a href="#Ghostscript-installation" accesskey="3">Ghostscript installation</a></li> <li><a href="#Diagnosing-problems" accesskey="4">Diagnosing problems</a></li> </ul> <hr> -<div class="section" id="config_002eps-installation"> -<div class="header"> +<div class="section-level-extent" id="config_002eps-installation"> +<div class="nav-panel"> <p> Next: <a href="#PostScript-font-installation" accesskey="n" rel="next">PostScript font installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="config_002eps-installation-1"></span><h3 class="section">2.1 <samp>config.ps</samp> installation</h3> +<h3 class="section" id="config_002eps-installation-1">2.1 <samp class="file">config.ps</samp> installation</h3> -<span id="index-config_002eps-installation"></span> -<span id="index-installation-of-config_002eps"></span> -<span id="index-printer-configuration"></span> -<span id="index-paper-size_002c-default"></span> -<span id="index-configuration-files_002c-creating"></span> +<a class="index-entry-id" id="index-config_002eps-installation"></a> +<a class="index-entry-id" id="index-installation-of-config_002eps"></a> +<a class="index-entry-id" id="index-printer-configuration"></a> +<a class="index-entry-id" id="index-paper-size_002c-default"></a> +<a class="index-entry-id" id="index-configuration-files_002c-creating"></a> -<p>Dvips has its own configuration files: a file <samp>config.ps</samp> for -sitewide defaults, and a file <samp>config.<var>printer</var></samp> for each -printer (output device). Since these are site-specific, <code>make +<p>Dvips has its own configuration files: a file <samp class="file">config.ps</samp> for +sitewide defaults, and a file <samp class="file">config.<var class="var">printer</var></samp> for each +printer (output device). Since these are site-specific, <code class="code">make install</code> does not create them; you must create them yourself. </p> <p>(These Dvips configuration files are independent of the Kpathsea -configuration file <samp>texmf.cnf</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>). +configuration file <samp class="file">texmf.cnf</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>). </p> -<span id="index-config_002eproto"></span> -<span id="index-prototype-printer-configuration-file"></span> -<span id="index-printer-configuration-file_002c-prototype"></span> -<span id="index-configuration-files_002c-prototype"></span> +<a class="index-entry-id" id="index-config_002eproto"></a> +<a class="index-entry-id" id="index-prototype-printer-configuration-file"></a> +<a class="index-entry-id" id="index-printer-configuration-file_002c-prototype"></a> +<a class="index-entry-id" id="index-configuration-files_002c-prototype"></a> <p>Dvips configuration files contents and searching are described fully in -<a href="#Config-files">Dvips configuration files</a>. The simplest way to create a new configuration file -is to copy and modify the file <samp>dvipsk/contrib/config.proto</samp>, -seasoning with options to your taste from <a href="#Config-files">Dvips configuration files</a>. Here is -<samp>config.proto</samp> +<a class="ref" href="#Config-files">Dvips configuration files</a>. The simplest way to create a new configuration file +is to copy and modify the file <samp class="file">dvipsk/contrib/config.proto</samp>, +seasoning with options to your taste from <a class="ref" href="#Config-files">Dvips configuration files</a>. Here is +<samp class="file">config.proto</samp> for your reading pleasure: </p><div class="example"> -<pre class="example">% Prototype Dvips configuration file. (Public domain.) +<pre class="example-preformatted">% Prototype Dvips configuration file. (Public domain.) % How to print, maybe with lp instead lpr, etc. o |lpr @@ -339,7 +337,7 @@ D 600 % Metafont mode. (This is completely different from the -M command-line % option, which controls whether MakeTeXPK is invoked.) Get -% <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of mode names. This mode +% <a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of mode names. This mode % and the D number above must agree, or MakeTeXPK will get confused. M ljfour @@ -356,7 +354,7 @@ O 0pt,0pt % Partially download Type 1 fonts by default. Only reason not to do % this is if you encounter bugs. (Please report them to -% <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you do.) +% <a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a> if you do.) j % Also look for fonts at these resolutions. @@ -376,93 +374,93 @@ Z %c FILENAME % You will also want definitions for alternative paper sizes -- A4, -% legal, and such. Examples in <samp>contrib/papersize.level2</samp> and -% <samp>contrib/papersize.simple</samp>. +% legal, and such. Examples in <samp class="file">contrib/papersize.level2</samp> and +% <samp class="file">contrib/papersize.simple</samp>. </pre></div> <hr> </div> -<div class="section" id="PostScript-font-installation"> -<div class="header"> +<div class="section-level-extent" id="PostScript-font-installation"> +<div class="nav-panel"> <p> -Next: <a href="#Ghostscript-installation" accesskey="n" rel="next">Ghostscript installation</a>, Previous: <a href="#config_002eps-installation" accesskey="p" rel="prev"><samp>config.ps</samp> installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Ghostscript-installation" accesskey="n" rel="next">Ghostscript installation</a>, Previous: <a href="#config_002eps-installation" accesskey="p" rel="prev"><samp class="file">config.ps</samp> installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PostScript-font-installation-1"></span><h3 class="section">2.2 PostScript font installation</h3> +<h3 class="section" id="PostScript-font-installation-1">2.2 PostScript font installation</h3> -<span id="index-installation-of-PostScript-fonts"></span> -<span id="index-fonts_002c-installation-of-PostScript"></span> -<span id="index-PostScript-fonts_002c-installing"></span> +<a class="index-entry-id" id="index-installation-of-PostScript-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-installation-of-PostScript"></a> +<a class="index-entry-id" id="index-PostScript-fonts_002c-installing"></a> <p>To use PostScript fonts with TeX and Dvips, you need both metric -files (<samp>.tfm</samp> and <samp>.vf</samp>) and the outlines (<samp>.pfa</samp> or -<samp>.pfb</samp>). See <a href="#Font-concepts">Font concepts</a>. Current TeX systems +files (<samp class="file">.tfm</samp> and <samp class="file">.vf</samp>) and the outlines (<samp class="file">.pfa</samp> or +<samp class="file">.pfb</samp>). See <a class="xref" href="#Font-concepts">Font concepts</a>. Current TeX systems come with support for 35 base PostScript fonts and many more. </p> -<span id="index-fonts_002c-system-PostScript"></span> -<span id="index-PostScript-fonts_002c-on-your-system"></span> -<span id="index-psfonts_002emap"></span> +<a class="index-entry-id" id="index-fonts_002c-system-PostScript"></a> +<a class="index-entry-id" id="index-PostScript-fonts_002c-on-your-system"></a> +<a class="index-entry-id" id="index-psfonts_002emap"></a> <p>If you have additional PostScript fonts, you can make them available to Dvips by (1) giving them appropriate filenames; and -(2) running Afm2tfm (see <a href="#Making-a-font-available">Making a PostScript font available</a>) to make TFM +(2) running Afm2tfm (see <a class="pxref" href="#Making-a-font-available">Making a PostScript font available</a>) to make TFM and VF metrics for TeX and Dvips to use. Also add them to -<samp>psfonts.map</samp> (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>); this file must contain -everything available in the system. The <code>updmap</code> program is -usually used to maintain <samp>psfonts.map</samp>; run ‘<samp>updmap --help</samp>’ +<samp class="file">psfonts.map</samp> (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>); this file must contain +everything available in the system. The <code class="code">updmap</code> program is +usually used to maintain <samp class="file">psfonts.map</samp>; run ‘<samp class="samp">updmap --help</samp>’ for lots of information about how it works. </p> <hr> </div> -<div class="section" id="Ghostscript-installation"> -<div class="header"> +<div class="section-level-extent" id="Ghostscript-installation"> +<div class="nav-panel"> <p> Next: <a href="#Diagnosing-problems" accesskey="n" rel="next">Diagnosing problems</a>, Previous: <a href="#PostScript-font-installation" accesskey="p" rel="prev">PostScript font installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Ghostscript-installation-1"></span><h3 class="section">2.3 Ghostscript installation</h3> +<h3 class="section" id="Ghostscript-installation-1">2.3 Ghostscript installation</h3> -<span id="index-Ghostscript-installation"></span> -<span id="index-gs-installation"></span> +<a class="index-entry-id" id="index-Ghostscript-installation"></a> +<a class="index-entry-id" id="index-gs-installation"></a> -<span id="index-Deutsch_002c-Peter"></span> -<span id="index-Epson-printers"></span> -<span id="index-previewing-Dvips-output"></span> -<span id="index-PostScript-previewers"></span> -<span id="index-PDF-files_002c-making"></span> -<span id="index-Aladdin-Ghostscript"></span> +<a class="index-entry-id" id="index-Deutsch_002c-Peter"></a> +<a class="index-entry-id" id="index-Epson-printers"></a> +<a class="index-entry-id" id="index-previewing-Dvips-output"></a> +<a class="index-entry-id" id="index-PostScript-previewers"></a> +<a class="index-entry-id" id="index-PDF-files_002c-making"></a> +<a class="index-entry-id" id="index-Aladdin-Ghostscript"></a> <p>Ghostscript is a PostScript interpreter freely available to end-users, originally written by Peter Deutsch. It can read the PostScript produced by Dvips and render it on your monitor, or for another device (e.g., an Epson printer) that does not support PostScript, or in PDF format. The latest version is available via -<a href="https://ghostscript.com">https://ghostscript.com</a>. -</p> -<span id="index-Theisen_002c-Tim"></span> -<span id="index-ghostview"></span> -<span id="index-Ghostview_002c-and-no-N"></span> -<span id="index-EPS_002c-and-Ghostview"></span> -<span id="index-standard-PostScript_002c-required-by-Ghostview"></span> -<span id="index-_0025_0025Page_002c-required-by-Ghostview"></span> +<a class="url" href="https://ghostscript.com">https://ghostscript.com</a>. +</p> +<a class="index-entry-id" id="index-Theisen_002c-Tim"></a> +<a class="index-entry-id" id="index-ghostview"></a> +<a class="index-entry-id" id="index-Ghostview_002c-and-no-N"></a> +<a class="index-entry-id" id="index-EPS_002c-and-Ghostview"></a> +<a class="index-entry-id" id="index-standard-PostScript_002c-required-by-Ghostview"></a> +<a class="index-entry-id" id="index-_0025_0025Page_002c-required-by-Ghostview"></a> <p>The program Ghostview, originally written by Johannes Plass and Tim Theisen, provides typical previewing capabilities (next page/previous page, magnification, etc.). It requires Ghostscript to run, and files -in structured PostScript, specifically with ‘<samp>%%Page</samp>’ comments (no -‘<samp>N</samp>’ in <samp>config.ps</samp>). The current version is known as GV, -and is available from <a href="https://www.gnu.org/software/gv">https://www.gnu.org/software/gv</a>. +in structured PostScript, specifically with ‘<samp class="samp">%%Page</samp>’ comments (no +‘<samp class="samp">N</samp>’ in <samp class="file">config.ps</samp>). The current version is known as GV, +and is available from <a class="url" href="https://www.gnu.org/software/gv">https://www.gnu.org/software/gv</a>. </p> <hr> </div> -<div class="section" id="Diagnosing-problems"> -<div class="header"> +<div class="section-level-extent" id="Diagnosing-problems"> +<div class="nav-panel"> <p> Previous: <a href="#Ghostscript-installation" accesskey="p" rel="prev">Ghostscript installation</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Diagnosing-problems-1"></span><h3 class="section">2.4 Diagnosing problems</h3> +<h3 class="section" id="Diagnosing-problems-1">2.4 Diagnosing problems</h3> -<span id="index-problems"></span> -<span id="index-trouble"></span> -<span id="index-debugging"></span> +<a class="index-entry-id" id="index-problems"></a> +<a class="index-entry-id" id="index-trouble"></a> +<a class="index-entry-id" id="index-debugging"></a> <p>You’ve gone through all the trouble of installing Dvips, carefully read all the instructions in this manual, and still can’t get something to @@ -470,16 +468,16 @@ work. The following sections provide some helpful hints if you find yourself in such a situation. </p> <p>For details on effective bug reporting, common installation problems, -and <code>mktexpk</code> problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>. +and <code class="code">mktexpk</code> problems, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>. </p> <p>A good first debugging operation is to set the environment variable -<code>DVIPSDEBUG</code>, which will display any configuration and map files +<code class="env">DVIPSDEBUG</code>, which will display any configuration and map files read by Dvips. This way you can be sure it’s finding the files and settings you expect. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Debug-options" accesskey="1">Debug options</a></li> <li><a href="#No-output" accesskey="2">No output at all</a></li> <li><a href="#Small-or-inverted" accesskey="3">Output too small or inverted</a></li> @@ -488,67 +486,67 @@ settings you expect. <li><a href="#Including-graphics-fails" accesskey="6">Including graphics fails</a></li> </ul> <hr> -<div class="subsection" id="Debug-options"> -<div class="header"> +<div class="subsection-level-extent" id="Debug-options"> +<div class="nav-panel"> <p> Next: <a href="#No-output" accesskey="n" rel="next">No output at all</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Debug-options-1"></span><h4 class="subsection">2.4.1 Debug options</h4> +<h4 class="subsection" id="Debug-options-1">2.4.1 Debug options</h4> -<span id="index-debugging-options"></span> -<span id="index-options_002c-debugging"></span> +<a class="index-entry-id" id="index-debugging-options"></a> +<a class="index-entry-id" id="index-options_002c-debugging"></a> -<p>The ‘<samp>-d</samp>’ flag to Dvips helps in tracking down certain errors. +<p>The ‘<samp class="samp">-d</samp>’ flag to Dvips helps in tracking down certain errors. The parameter to this flag is an integer that tells what errors are currently being tracked. To track a certain class of debug messages, specify the appropriate number given below; if you wish to track multiple classes, sum the numbers of the classes you wish to track. -To track all classes, you can use <code>-1</code>. +To track all classes, you can use <code class="code">-1</code>. </p> -<p>You can also set the environment variable <code>KPATHSEA_DEBUG</code> instead -of using ‘<samp>-d</samp>’. Some of these debugging options are actually -provided by Kpathsea (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>). +<p>You can also set the environment variable <code class="env">KPATHSEA_DEBUG</code> instead +of using ‘<samp class="samp">-d</samp>’. Some of these debugging options are actually +provided by Kpathsea (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>). </p> <p>The classes are: </p> -<dl compact="compact"> -<dt><span>1</span></dt> +<dl class="table"> +<dt>1</dt> <dd><p>specials </p></dd> -<dt><span>2</span></dt> +<dt>2</dt> <dd><p>paths </p></dd> -<dt><span>4</span></dt> +<dt>4</dt> <dd><p>fonts </p></dd> -<dt><span>8</span></dt> +<dt>8</dt> <dd><p>pages </p></dd> -<dt><span>16</span></dt> +<dt>16</dt> <dd><p>headers </p></dd> -<dt><span>32</span></dt> +<dt>32</dt> <dd><p>font compression </p></dd> -<dt><span>64</span></dt> +<dt>64</dt> <dd><p>files </p></dd> -<dt><span>128</span></dt> +<dt>128</dt> <dd><p>(omitted) </p></dd> -<dt><span>256</span></dt> +<dt>256</dt> <dd><p>config files </p></dd> -<dt><span>512</span></dt> -<dd><p>Kpathsea <code>stat</code> calls +<dt>512</dt> +<dd><p>Kpathsea <code class="code">stat</code> calls </p></dd> -<dt><span>1024</span></dt> +<dt>1024</dt> <dd><p>Kpathsea hash table lookups </p></dd> -<dt><span>2048</span></dt> +<dt>2048</dt> <dd><p>Kpathsea path element expansion </p></dd> -<dt><span>4096</span></dt> +<dt>4096</dt> <dd><p>Kpathsea path searches </p></dd> </dl> @@ -556,29 +554,29 @@ provided by Kpathsea (see <a data-manual="kpathsea" href="https://tug.org/texinf <hr> </div> -<div class="subsection" id="No-output"> -<div class="header"> +<div class="subsection-level-extent" id="No-output"> +<div class="nav-panel"> <p> Next: <a href="#Small-or-inverted" accesskey="n" rel="next">Output too small or inverted</a>, Previous: <a href="#Debug-options" accesskey="p" rel="prev">Debug options</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="No-output-at-all"></span><h4 class="subsection">2.4.2 No output at all</h4> +<h4 class="subsection" id="No-output-at-all">2.4.2 No output at all</h4> -<span id="index-output_002c-none"></span> -<span id="index-no-output-at-all"></span> -<span id="index-failure_002c-to-print-at-all"></span> +<a class="index-entry-id" id="index-output_002c-none"></a> +<a class="index-entry-id" id="index-no-output-at-all"></a> +<a class="index-entry-id" id="index-failure_002c-to-print-at-all"></a> <p>If you are not getting any output at all, even from the simplest -one-character file (for instance, ‘<samp>\ \bye</samp>’), then something is very +one-character file (for instance, ‘<samp class="samp">\ \bye</samp>’), then something is very wrong. Practically any file sent to a PostScript laser printer should generate some output, at the very least a page detailing what error occurred, if any. Talk to your system administrator about downloading a PostScript error handler. (Adobe distributes a good one called -‘<samp>ehandler.ps</samp>’.) -<span id="index-ehandler_002eps"></span> +‘<samp class="samp">ehandler.ps</samp>’.) +<a class="index-entry-id" id="index-ehandler_002eps"></a> </p> -<span id="index-PowerPage-PostScript-implementation"></span> -<span id="index-Shinko-CHC_002dS446i-printer"></span> -<span id="index-Mitsubishi-Shinko-CHC_002dS446i-printer"></span> +<a class="index-entry-id" id="index-PowerPage-PostScript-implementation"></a> +<a class="index-entry-id" id="index-Shinko-CHC_002dS446i-printer"></a> +<a class="index-entry-id" id="index-Mitsubishi-Shinko-CHC_002dS446i-printer"></a> <p>It is possible, especially if you are using non-Adobe PostScript, that your PostScript interpreter is broken. Even then it should generate an error message. Dvips tries to work around as many bugs as possible in @@ -590,88 +588,88 @@ unable to print with any but builtin fonts. <p>If Dvips gives any strange error messages, or compilation on your machine generated a lot of warnings, perhaps the Dvips program itself is broken. Try using the debug options to determine where the error -occurred (see <a href="#Debug-options">Debug options</a>). +occurred (see <a class="pxref" href="#Debug-options">Debug options</a>). </p> <p>It is possible your spooler is broken and is misinterpreting the -structured comments. Try the ‘<samp>-N</samp>’ flag to turn off structured +structured comments. Try the ‘<samp class="samp">-N</samp>’ flag to turn off structured comments and see what happens. </p> <hr> </div> -<div class="subsection" id="Small-or-inverted"> -<div class="header"> +<div class="subsection-level-extent" id="Small-or-inverted"> +<div class="nav-panel"> <p> Next: <a href="#Printer-errors" accesskey="n" rel="next">Error messages from printer</a>, Previous: <a href="#No-output" accesskey="p" rel="prev">No output at all</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Output-too-small-or-inverted"></span><h4 class="subsection">2.4.3 Output too small or inverted</h4> +<h4 class="subsection" id="Output-too-small-or-inverted">2.4.3 Output too small or inverted</h4> -<span id="index-output_002c-too-small"></span> -<span id="index-output_002c-inverted"></span> -<span id="index-inverted-output"></span> -<span id="index-too_002dsmall-output"></span> +<a class="index-entry-id" id="index-output_002c-too-small"></a> +<a class="index-entry-id" id="index-output_002c-inverted"></a> +<a class="index-entry-id" id="index-inverted-output"></a> +<a class="index-entry-id" id="index-too_002dsmall-output"></a> -<span id="index-save_002frestore_002c-and-inverted-output"></span> +<a class="index-entry-id" id="index-save_002frestore_002c-and-inverted-output"></a> <p>If some documents come out inverted or too small, probably your spooler is not supplying an end of job indicator at the end of each file. (This commonly happens on small machines that don’t have spoolers.) You can -force Dvips to do this with the ‘<samp>-F</samp>’ flag (or ‘<samp>F</samp>’ config file +force Dvips to do this with the ‘<samp class="samp">-F</samp>’ flag (or ‘<samp class="samp">F</samp>’ config file option), but this generates files with a terminating binary character -(control-D). You can also try using the ‘<samp>-s</samp>’ flag (or ‘<samp>s</samp>’ +(control-D). You can also try using the ‘<samp class="samp">-s</samp>’ flag (or ‘<samp class="samp">s</samp>’ config file option) to enclose the entire job in a save/restore pair. -See <a href="#Command_002dline-options">Command-line options</a>, and <a href="#Config-files">Dvips configuration files</a>. +See <a class="xref" href="#Command_002dline-options">Command-line options</a>, and <a class="ref" href="#Config-files">Dvips configuration files</a>. </p> <hr> </div> -<div class="subsection" id="Printer-errors"> -<div class="header"> +<div class="subsection-level-extent" id="Printer-errors"> +<div class="nav-panel"> <p> Next: <a href="#Long-documents-fail" accesskey="n" rel="next">Long documents fail to print</a>, Previous: <a href="#Small-or-inverted" accesskey="p" rel="prev">Output too small or inverted</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Error-messages-from-printer"></span><h4 class="subsection">2.4.4 Error messages from printer</h4> +<h4 class="subsection" id="Error-messages-from-printer">2.4.4 Error messages from printer</h4> -<span id="index-printer-errors"></span> -<span id="index-error-messages-from-printer"></span> -<span id="index-failure_002c-and-printer-errors"></span> +<a class="index-entry-id" id="index-printer-errors"></a> +<a class="index-entry-id" id="index-error-messages-from-printer"></a> +<a class="index-entry-id" id="index-failure_002c-and-printer-errors"></a> -<span id="index-bop-undefined-error"></span> +<a class="index-entry-id" id="index-bop-undefined-error"></a> <p>If your printer returns error messages, the error message gives very good information on what might be going wrong. One of the most common -error messages is ‘<samp>bop undefined</samp>’. This is caused by old versions +error messages is ‘<samp class="samp">bop undefined</samp>’. This is caused by old versions of Transcript and other spoolers that do not properly parse the setup section of the PostScript. To fix this, turn off structured comments -with the ‘<samp>-N</samp>’ option, but it’d be best to get your spooling +with the ‘<samp class="samp">-N</samp>’ option, but it’d be best to get your spooling software updated. </p> -<span id="index-VM-exhausted"></span> -<span id="index-printer-memory-exhausted"></span> -<span id="index-memory-of-printer-exhausted"></span> -<p>Another error message is ‘<samp>VM exhausted</samp>’. Some printers indicate +<a class="index-entry-id" id="index-VM-exhausted"></a> +<a class="index-entry-id" id="index-printer-memory-exhausted"></a> +<a class="index-entry-id" id="index-memory-of-printer-exhausted"></a> +<p>Another error message is ‘<samp class="samp">VM exhausted</samp>’. Some printers indicate this error by locking up, others quietly reset. This is caused by Dvips thinking that the printer has more memory than it actually does, and then printing a complicated document. To fix this, try lowering the -‘<samp>m</samp>’ parameter in the configuration file; use the debug option to +‘<samp class="samp">m</samp>’ parameter in the configuration file; use the debug option to make sure you adjust the correct file. </p> <p>Other errors may indicate you are trying to include graphics that don’t nest properly in other PostScript documents, among other things. Try the PostScript file on a QMS PS-810 or other Adobe PostScript printer if -you have one, or Ghostscript (see <a href="#Ghostscript-installation">Ghostscript installation</a>); it +you have one, or Ghostscript (see <a class="pxref" href="#Ghostscript-installation">Ghostscript installation</a>); it might be a problem with the printer itself. </p> <hr> </div> -<div class="subsection" id="Long-documents-fail"> -<div class="header"> +<div class="subsection-level-extent" id="Long-documents-fail"> +<div class="nav-panel"> <p> Next: <a href="#Including-graphics-fails" accesskey="n" rel="next">Including graphics fails</a>, Previous: <a href="#Printer-errors" accesskey="p" rel="prev">Error messages from printer</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Long-documents-fail-to-print"></span><h4 class="subsection">2.4.5 Long documents fail to print</h4> +<h4 class="subsection" id="Long-documents-fail-to-print">2.4.5 Long documents fail to print</h4> -<span id="index-long-documents-not-printing"></span> -<span id="index-failure_002c-of-long-documents"></span> +<a class="index-entry-id" id="index-long-documents-not-printing"></a> +<a class="index-entry-id" id="index-failure_002c-of-long-documents"></a> <p>This is usually caused by incorrectly specifying the amount of memory the printer has in the configuration file; see the previous section. @@ -679,36 +677,36 @@ the printer has in the configuration file; see the previous section. <hr> </div> -<div class="subsection" id="Including-graphics-fails"> -<div class="header"> +<div class="subsection-level-extent" id="Including-graphics-fails"> +<div class="nav-panel"> <p> Previous: <a href="#Long-documents-fail" accesskey="p" rel="prev">Long documents fail to print</a>, Up: <a href="#Diagnosing-problems" accesskey="u" rel="up">Diagnosing problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Including-graphics-fails-1"></span><h4 class="subsection">2.4.6 Including graphics fails</h4> +<h4 class="subsection" id="Including-graphics-fails-1">2.4.6 Including graphics fails</h4> -<span id="index-including-graphics-fails"></span> -<span id="index-graphics-inclusion-fails"></span> -<span id="index-failure_002c-to-include-graphics"></span> +<a class="index-entry-id" id="index-including-graphics-fails"></a> +<a class="index-entry-id" id="index-graphics-inclusion-fails"></a> +<a class="index-entry-id" id="index-failure_002c-to-include-graphics"></a> <p>The most common problem with including graphics is an incorrect bounding -box (see <a href="#Bounding-box">The bounding box comment</a>). Complain to whoever wrote the software that +box (see <a class="pxref" href="#Bounding-box">The bounding box comment</a>). Complain to whoever wrote the software that generated the file if the bounding box is indeed incorrect. </p> -<span id="index-Illustrator_002c-workaround-for"></span> +<a class="index-entry-id" id="index-Illustrator_002c-workaround-for"></a> <p>Another possible problem is that the figure you are trying to include does not nest properly; there are certain rules PostScript applications must follow when generating files to be included. The Dvips program includes work-arounds for such errors in Adobe Illustrator and other programs, but there are certainly applications that haven’t been tested. </p> -<p>One possible thing to try is the ‘<samp>-K</samp>’ flag which strips the comments +<p>One possible thing to try is the ‘<samp class="samp">-K</samp>’ flag which strips the comments from an included figure. This might be necessary if the PostScript spooling software does not read the structured comments correctly. Use of this flag will break graphics from some applications, though, since some applications read the PostScript file from the input stream, looking for a particular comment. </p> -<span id="index-binary-files_002c-not-supported"></span> +<a class="index-entry-id" id="index-binary-files_002c-not-supported"></a> <p>Any application which generates graphics output containing raw binary (not ASCII hex) will probably fail with Dvips. </p> @@ -717,16 +715,16 @@ looking for a particular comment. </div> </div> </div> -<div class="chapter" id="Invoking-Dvips"> -<div class="header"> +<div class="chapter-level-extent" id="Invoking-Dvips"> +<div class="nav-panel"> <p> Next: <a href="#Paper-size-and-landscape" accesskey="n" rel="next">Paper size and landscape orientation</a>, Previous: <a href="#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Invoking-Dvips-1"></span><h2 class="chapter">3 Invoking Dvips</h2> +<h2 class="chapter" id="Invoking-Dvips-1">3 Invoking Dvips</h2> -<span id="index-command_002dline-options"></span> -<span id="index-options_002c-Dvips"></span> -<span id="index-invoking-Dvips"></span> +<a class="index-entry-id" id="index-command_002dline-options"></a> +<a class="index-entry-id" id="index-options_002c-Dvips"></a> +<a class="index-entry-id" id="index-invoking-Dvips"></a> <p>Dvips reads a DVI file as output by (for example) TeX, and converts it to PostScript, taking care of builtin or downloaded PostScript fonts, @@ -738,30 +736,30 @@ environment variables, and command-line options. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Basic-usage" accesskey="1">Basic usage of Dvips</a></li> <li><a href="#Command_002dline-options" accesskey="2">Command-line options</a></li> <li><a href="#Environment-variables" accesskey="3">Environment variables</a></li> <li><a href="#Config-files" accesskey="4">Dvips configuration files</a></li> </ul> <hr> -<div class="section" id="Basic-usage"> -<div class="header"> +<div class="section-level-extent" id="Basic-usage"> +<div class="nav-panel"> <p> Next: <a href="#Command_002dline-options" accesskey="n" rel="next">Command-line options</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Basic-usage-of-Dvips"></span><h3 class="section">3.1 Basic usage of Dvips</h3> +<h3 class="section" id="Basic-usage-of-Dvips">3.1 Basic usage of Dvips</h3> -<span id="index-usage_002c-basic"></span> +<a class="index-entry-id" id="index-usage_002c-basic"></a> <p>To use Dvips at its simplest, simply type </p> <div class="example"> -<pre class="example">dvips foo +<pre class="example-preformatted">dvips foo </pre></div> -<p>where <samp>foo.dvi</samp> is the output of TeX that you want to print. -The default output is to a corresponding file <samp>foo.ps</samp>; Dvips may +<p>where <samp class="file">foo.dvi</samp> is the output of TeX that you want to print. +The default output is to a corresponding file <samp class="file">foo.ps</samp>; Dvips may also have been locally configured to output directly to a printer by default. </p> @@ -771,46 +769,46 @@ progress reports appear by default. The next time that document is printed, these fonts will have been saved in the proper directories, so printing will go much faster. (If Dvips tries to endlessly generate the same fonts over and over again, it hasn’t been installed properly. -See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>.) +See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite class="cite">Kpathsea</cite>.) </p> <p>Many options are available (see the next section). For a brief summary of available options, run </p> <div class="example"> -<pre class="example">dvips --help +<pre class="example-preformatted">dvips --help </pre></div> <hr> </div> -<div class="section" id="Command_002dline-options"> -<div class="header"> +<div class="section-level-extent" id="Command_002dline-options"> +<div class="nav-panel"> <p> Next: <a href="#Environment-variables" accesskey="n" rel="next">Environment variables</a>, Previous: <a href="#Basic-usage" accesskey="p" rel="prev">Basic usage of Dvips</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Command_002dline-options-1"></span><h3 class="section">3.2 Command-line options</h3> +<h3 class="section" id="Command_002dline-options-1">3.2 Command-line options</h3> <p>Dvips has a plethora of command line options. Reading through this section will give a good idea of the capabilities of the driver. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Option-summary" accesskey="1">Option summary</a></li> <li><a href="#Option-details" accesskey="2">Option details</a></li> </ul> <hr> -<div class="subsection" id="Option-summary"> -<div class="header"> +<div class="subsection-level-extent" id="Option-summary"> +<div class="nav-panel"> <p> Next: <a href="#Option-details" accesskey="n" rel="next">Option details</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Option-summary-1"></span><h4 class="subsection">3.2.1 Option summary</h4> +<h4 class="subsection" id="Option-summary-1">3.2.1 Option summary</h4> -<span id="index-options_002c-summary"></span> +<a class="index-entry-id" id="index-options_002c-summary"></a> <p>Here is a handy summary of the options; it is printed out when you run -Dvips with no arguments or with the standard ‘<samp>--help</samp>’ option. -<span id="index-_002d_002dhelp"></span> +Dvips with no arguments or with the standard ‘<samp class="samp">--help</samp>’ option. +<a class="index-entry-id" id="index-_002d_002dhelp"></a> </p> <pre class="verbatim">Usage: dvips [OPTION]... FILENAME[.dvi] Convert DVI input files to PostScript. @@ -856,118 +854,118 @@ Email bug reports to tex-k@mail.tug.org. <hr> </div> -<div class="subsection" id="Option-details"> -<div class="header"> +<div class="subsection-level-extent" id="Option-details"> +<div class="nav-panel"> <p> Previous: <a href="#Option-summary" accesskey="p" rel="prev">Option summary</a>, Up: <a href="#Command_002dline-options" accesskey="u" rel="up">Command-line options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Option-details-1"></span><h4 class="subsection">3.2.2 Option details</h4> +<h4 class="subsection" id="Option-details-1">3.2.2 Option details</h4> -<span id="index-option_002c-details-of"></span> +<a class="index-entry-id" id="index-option_002c-details-of"></a> <p>Many of the parameterless options listed here can be turned off by -suffixing the option with a zero (‘<samp>0</samp>’); for instance, to turn off -page reversal, use ‘<samp>-r0</samp>’. Such options are marked with a trailing -‘<samp>*</samp>’. -</p> -<dl compact="compact"> -<dt id='index-_002d'><span>‘<samp>-</samp>’<a href='#index-_002d' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-options_002c-reading-from-standard-input"></span> -<span id="index-standard-input_002c-reading-options-from"></span> +suffixing the option with a zero (‘<samp class="samp">0</samp>’); for instance, to turn off +page reversal, use ‘<samp class="samp">-r0</samp>’. Such options are marked with a trailing +‘<samp class="samp">*</samp>’. +</p> +<dl class="table"> +<dt id='index-_002d'><span>‘<samp class="samp">-</samp>’<a class="copiable-link" href='#index-_002d'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-options_002c-reading-from-standard-input"></a> +<a class="index-entry-id" id="index-standard-input_002c-reading-options-from"></a> <p>Read additional options from standard input after processing the command line. </p> </dd> -<dt id='index-_002d_002dhelp-1'><span>‘<samp>--help</samp>’<a href='#index-_002d_002dhelp-1' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002d_002dhelp-1'><span>‘<samp class="samp">--help</samp>’<a class="copiable-link" href='#index-_002d_002dhelp-1'> ¶</a></span></dt> <dd><p>Print a usage message and exit. </p> </dd> -<dt id='index-_002d_002dversion'><span>‘<samp>--version</samp>’<a href='#index-_002d_002dversion' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002d_002dversion'><span>‘<samp class="samp">--version</samp>’<a class="copiable-link" href='#index-_002d_002dversion'> ¶</a></span></dt> <dd><p>Print the version number and exit. </p> </dd> -<dt id='index-_002da'><span>‘<samp>-a*</samp>’<a href='#index-_002da' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-memory_002c-conserving"></span> +<dt id='index-_002da'><span>‘<samp class="samp">-a*</samp>’<a class="copiable-link" href='#index-_002da'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-memory_002c-conserving"></a> <p>Conserve memory by making three passes over the DVI file instead of two and only loading those characters actually used. Generally only useful on machines with a very limited amount of memory, like some PCs. </p> </dd> -<dt id='index-_002dA'><span>‘<samp>-A</samp>’<a href='#index-_002dA' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-odd-pages-only"></span> +<dt id='index-_002dA'><span>‘<samp class="samp">-A</samp>’<a class="copiable-link" href='#index-_002dA'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-odd-pages-only"></a> <p>Print only the odd pages. This option uses TeX page numbers, not physical page numbers. </p> </dd> -<dt id='index-_002db-num'><span>‘<samp>-b <var>num</var></samp>’<a href='#index-_002db-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002f_0023copies"></span> -<span id="index-copies_002c-duplicated-page-bodies"></span> -<span id="index-color-separations"></span> -<p>Generate <var>num</var> copies of each page, but duplicating the page body -rather than using the ‘<samp>/#copies</samp>’ PostScript variable. This can -be useful in conjunction with a header file setting ‘<samp>bop-hook</samp>’ to +<dt id='index-_002db-num'><span>‘<samp class="samp">-b <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002db-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002f_0023copies"></a> +<a class="index-entry-id" id="index-copies_002c-duplicated-page-bodies"></a> +<a class="index-entry-id" id="index-color-separations"></a> +<p>Generate <var class="var">num</var> copies of each page, but duplicating the page body +rather than using the ‘<samp class="samp">/#copies</samp>’ PostScript variable. This can +be useful in conjunction with a header file setting ‘<samp class="samp">bop-hook</samp>’ to do color separations or other neat tricks. </p> </dd> -<dt id='index-_002dB'><span>‘<samp>-B</samp>’<a href='#index-_002dB' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-even-pages-only"></span> -<span id="index-double_002dsided-printing"></span> +<dt id='index-_002dB'><span>‘<samp class="samp">-B</samp>’<a class="copiable-link" href='#index-_002dB'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-even-pages-only"></a> +<a class="index-entry-id" id="index-double_002dsided-printing"></a> <p>Print only the even pages. This option uses TeX page numbers, not physical page numbers. </p> </dd> -<dt id='index-_002dbitmapfontenc-option'><span>‘<samp>-bitmapfontenc <var>option</var></samp>’<a href='#index-_002dbitmapfontenc-option' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-bitmap-font-encoding"></span> -<p>Turns bitmap font encoding to ‘<samp>off</samp>’, ‘<samp>on</samp>’ (no warnings -for missing bitmap font encodings), or ‘<samp>strict</samp>’ (with warnings +<dt id='index-_002dbitmapfontenc-option'><span>‘<samp class="samp">-bitmapfontenc <var class="var">option</var></samp>’<a class="copiable-link" href='#index-_002dbitmapfontenc-option'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-bitmap-font-encoding"></a> +<p>Turns bitmap font encoding to ‘<samp class="samp">off</samp>’, ‘<samp class="samp">on</samp>’ (no warnings +for missing bitmap font encodings), or ‘<samp class="samp">strict</samp>’ (with warnings for missing bitmap font encodings). </p> </dd> -<dt id='index-_002dc-num'><span>‘<samp>-c <var>num</var></samp>’<a href='#index-_002dc-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002f_0023copies-1"></span> -<span id="index-copies_002c-uncollated"></span> -<span id="index-uncollated-copies"></span> -<p>Generate <var>num</var> consecutive copies of every page, i.e., the output is +<dt id='index-_002dc-num'><span>‘<samp class="samp">-c <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dc-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002f_0023copies-1"></a> +<a class="index-entry-id" id="index-copies_002c-uncollated"></a> +<a class="index-entry-id" id="index-uncollated-copies"></a> +<p>Generate <var class="var">num</var> consecutive copies of every page, i.e., the output is uncollated. This merely sets the builtin PostScript variable -‘<samp>/#copies</samp>’. +‘<samp class="samp">/#copies</samp>’. </p> </dd> -<dt id='index-_002dC-num'><span>‘<samp>-C <var>num</var></samp>’<a href='#index-_002dC-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-copies_002c-collated"></span> -<span id="index-collated-copies"></span> -<p>Generate <var>num</var> copies, but collated (by replicating the data in the -PostScript file). Slower than the ‘<samp>-c</samp>’ option, but easier on the +<dt id='index-_002dC-num'><span>‘<samp class="samp">-C <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dC-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-copies_002c-collated"></a> +<a class="index-entry-id" id="index-collated-copies"></a> +<p>Generate <var class="var">num</var> copies, but collated (by replicating the data in the +PostScript file). Slower than the ‘<samp class="samp">-c</samp>’ option, but easier on the hands, and faster than resubmitting the same PostScript file multiple times. </p> </dd> -<dt id='index-_002dd-num'><span>‘<samp>-d <var>num</var></samp>’<a href='#index-_002dd-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-debugging-1"></span> +<dt id='index-_002dd-num'><span>‘<samp class="samp">-d <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dd-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-debugging-1"></a> <p>Set the debug flags, showing what Dvips (thinks it) is doing. This will -work unless Dvips has been compiled without the ‘<samp>DEBUG</samp>’ option (not -recommended). See <a href="#Debug-options">Debug options</a>, for the possible values of -<var>num</var>. Use ‘<samp>-d -1</samp>’ as the first option for maximum output. +work unless Dvips has been compiled without the ‘<samp class="samp">DEBUG</samp>’ option (not +recommended). See <a class="xref" href="#Debug-options">Debug options</a>, for the possible values of +<var class="var">num</var>. Use ‘<samp class="samp">-d -1</samp>’ as the first option for maximum output. </p> </dd> -<dt id='index-_002dD-num'><span>‘<samp>-D <var>num</var></samp>’<a href='#index-_002dD-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-resolution_002c-setting"></span> -<p>Set both the horizontal and vertical resolution to <var>num</var>, given in +<dt id='index-_002dD-num'><span>‘<samp class="samp">-D <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dD-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-resolution_002c-setting"></a> +<p>Set both the horizontal and vertical resolution to <var class="var">num</var>, given in dpi (dots per inch). This affects the choice of bitmap fonts that are loaded and also the positioning of letters in resident PostScript fonts. Must be between 10 and 10000. This affects both the horizontal and vertical resolution. If a high resolution (something greater than -400 dpi, say) is selected, the ‘<samp>-Z</samp>’ flag should probably also be +400 dpi, say) is selected, the ‘<samp class="samp">-Z</samp>’ flag should probably also be used. If you are using fonts made with Metafont, such as Computer -Modern, <samp>mktexpk</samp> needs to know about the value for <var>num</var> +Modern, <samp class="file">mktexpk</samp> needs to know about the value for <var class="var">num</var> that you use or Metafont will fail. See the file -<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode +<a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a> for a list of resolutions and mode names for most devices. </p> </dd> -<dt id='index-_002de-num'><span>‘<samp>-e <var>num</var></samp>’<a href='#index-_002de-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-maxdrift"></span> -<span id="index-accuracy-in-positioning"></span> -<span id="index-positioning-accuracy"></span> +<dt id='index-_002de-num'><span>‘<samp class="samp">-e <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002de-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-maxdrift"></a> +<a class="index-entry-id" id="index-accuracy-in-positioning"></a> +<a class="index-entry-id" id="index-positioning-accuracy"></a> <p>Maximum drift in pixels of each character from its ‘true’ resolution-independent position on the page. The default value of this parameter is resolution dependent (it is the number of entries in the @@ -979,10 +977,10 @@ position at the beginning of each new word, improves the spacing of letters in words. </p> </dd> -<dt id='index-_002dE'><span>‘<samp>-E*</samp>’<a href='#index-_002dE' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-EPSF_002c-generating"></span> -<span id="index-tight-bounding-box_002c-finding"></span> -<span id="index-bounding-box_002c-finding-tight"></span> +<dt id='index-_002dE'><span>‘<samp class="samp">-E*</samp>’<a class="copiable-link" href='#index-_002dE'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-EPSF_002c-generating"></a> +<a class="index-entry-id" id="index-tight-bounding-box_002c-finding"></a> +<a class="index-entry-id" id="index-bounding-box_002c-finding-tight"></a> <p>Generate an EPSF file with a tight bounding box. This only looks at marks made by characters and rules, not by any included graphics. In addition, it gets the glyph metrics from the TFM file, so characters @@ -993,32 +991,32 @@ well enough for creating small EPSF files for equations or tables or the like. (Of course, Dvips output, especially when using bitmap fonts, is resolution-dependent and thus does not make very good EPSF files, especially if the images are to be scaled; use these EPSF files with -care.) For multiple page input files, also specify ‘<samp>-i</samp>’ to get +care.) For multiple page input files, also specify ‘<samp class="samp">-i</samp>’ to get each page as a separate EPSF file; otherwise, all the pages are overlaid in the single output file. </p> </dd> -<dt id='index-_002df'><span>‘<samp>-f*</samp>’<a href='#index-_002df' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-filter_002c-running-as-a"></span> -<span id="index-standard-I_002fO"></span> -<span id="index-pipes_002c-not-readable"></span> -<span id="index-PRINTER_002c-avoided-with-_002df"></span> +<dt id='index-_002df'><span>‘<samp class="samp">-f*</samp>’<a class="copiable-link" href='#index-_002df'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-filter_002c-running-as-a"></a> +<a class="index-entry-id" id="index-standard-I_002fO"></a> +<a class="index-entry-id" id="index-pipes_002c-not-readable"></a> +<a class="index-entry-id" id="index-PRINTER_002c-avoided-with-_002df"></a> <p>Run as a filter. Read the DVI file from standard input and write the PostScript to standard output. The standard input must be seekable, so it cannot be a pipe. If your input must be a pipe, write a shell script that copies the pipe output to a temporary file and then points Dvips at this file. This option also disables the automatic reading of the -<code>PRINTER</code> environment variable; use ‘<samp>-P$PRINTER</samp>’ after the -‘<samp>-f</samp>’ to read it anyway. It also turns off the automatic sending of -control-D if it was turned on with the ‘<samp>-F</samp>’ option or in the -configuration file; use ‘<samp>-F</samp>’ after the ‘<samp>-f</samp>’ to send it anyway. +<code class="code">PRINTER</code> environment variable; use ‘<samp class="samp">-P$PRINTER</samp>’ after the +‘<samp class="samp">-f</samp>’ to read it anyway. It also turns off the automatic sending of +control-D if it was turned on with the ‘<samp class="samp">-F</samp>’ option or in the +configuration file; use ‘<samp class="samp">-F</samp>’ after the ‘<samp class="samp">-f</samp>’ to send it anyway. </p> </dd> -<dt id='index-_002dF'><span>‘<samp>-F*</samp>’<a href='#index-_002dF' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-EOF"></span> -<span id="index-control_002dD"></span> -<span id="index-printer_002c-driving-directly"></span> -<span id="index-spooler_002c-lacking"></span> +<dt id='index-_002dF'><span>‘<samp class="samp">-F*</samp>’<a class="copiable-link" href='#index-_002dF'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-EOF"></a> +<a class="index-entry-id" id="index-control_002dD"></a> +<a class="index-entry-id" id="index-printer_002c-driving-directly"></a> +<a class="index-entry-id" id="index-spooler_002c-lacking"></a> <p>Write control-D (ASCII code 4) as the very last character of the PostScript file. This is useful when Dvips is driving the printer directly instead of working through a spooler, as is common on personal @@ -1026,35 +1024,35 @@ systems. On systems shared by more than one person, this is not recommended. </p> </dd> -<dt id='index-_002dG'><span>‘<samp>-G*</samp>’<a href='#index-_002dG' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-low-characters_002c-shifting"></span> -<span id="index-non_002dprinting-characters_002c-shifting"></span> +<dt id='index-_002dG'><span>‘<samp class="samp">-G*</samp>’<a class="copiable-link" href='#index-_002dG'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-low-characters_002c-shifting"></a> +<a class="index-entry-id" id="index-non_002dprinting-characters_002c-shifting"></a> <p>Shift non-printing characters (ASCII 0-32, 127) to higher-numbered positions. This was useful to work around bugs in old versions of Adobe’s PDF reader. It’s more likely to cause problems nowadays. </p> </dd> -<dt id='index-_002dh-name'><span>‘<samp>-h <var>name</var></samp>’<a href='#index-_002dh-name' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-header-file_002c-downloading"></span> -<span id="index-userdict_002c-used-for-header-files"></span> -<p>Prepend <var>name</var> as an additional header file, or, if <var>name</var> is -‘<samp>-</samp>’, suppress inclusion of default header files. If <code>-h</code> is +<dt id='index-_002dh-name'><span>‘<samp class="samp">-h <var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002dh-name'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-header-file_002c-downloading"></a> +<a class="index-entry-id" id="index-userdict_002c-used-for-header-files"></a> +<p>Prepend <var class="var">name</var> as an additional header file, or, if <var class="var">name</var> is +‘<samp class="samp">-</samp>’, suppress inclusion of default header files. If <code class="code">-h</code> is given multiple times, the headers are included in the order given. Any definitions in the header file get added to the PostScript -‘<samp>userdict</samp>’. +‘<samp class="samp">userdict</samp>’. </p> </dd> -<dt id='index-_002di'><span>‘<samp>-i*</samp>’<a href='#index-_002di' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-sections-output_002c-in-separate-files"></span> -<span id="index-multiple-output-files"></span> -<span id="index-output-files_002c-multiple"></span> -<p>Make each section be a separate file; a <em>section</em> is a part of the +<dt id='index-_002di'><span>‘<samp class="samp">-i*</samp>’<a class="copiable-link" href='#index-_002di'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-sections-output_002c-in-separate-files"></a> +<a class="index-entry-id" id="index-multiple-output-files"></a> +<a class="index-entry-id" id="index-output-files_002c-multiple"></a> +<p>Make each section be a separate file; a <em class="dfn">section</em> is a part of the document processed independently, most often created to avoid memory overflow. The filenames are created replacing the suffix of the supplied output file name by a three-digit sequence number. This option -is most often used in conjunction with the ‘<samp>-S</samp>’ option which sets -the maximum section length in pages; if ‘<samp>-i</samp>’ is specified and -‘<samp>-S</samp>’ is not, each page is output as a separate file. For instance, +is most often used in conjunction with the ‘<samp class="samp">-S</samp>’ option which sets +the maximum section length in pages; if ‘<samp class="samp">-i</samp>’ is specified and +‘<samp class="samp">-S</samp>’ is not, each page is output as a separate file. For instance, some phototypesetters cannot print more than ten or so consecutive pages before running out of steam; these options can be used to automatically split a book into ten-page sections, each to its own file. @@ -1062,125 +1060,125 @@ split a book into ten-page sections, each to its own file. <p>On the other hand, if your document uses very large fonts or very large included figures, Dvips might take it upon itself to split the output into unwanted sections, to try to avoid overflowing printer -memory. See <a href="#Headers-and-memory-usage">Headers and memory usage</a>, for ways to handle this. +memory. See <a class="xref" href="#Headers-and-memory-usage">Headers and memory usage</a>, for ways to handle this. </p> </dd> -<dt id='index-_002dj-for-partial-font-downloading'><span>‘<samp>-j*</samp>’<a href='#index-_002dj-for-partial-font-downloading' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002dj-for-partial-font-downloading'><span>‘<samp class="samp">-j*</samp>’<a class="copiable-link" href='#index-_002dj-for-partial-font-downloading'> ¶</a></span></dt> <dd><p>Download only needed characters from Type 1 fonts. This is the default in the current release. Some debugging flags trace this operation -(see <a href="#Debug-options">Debug options</a>). You can also control partial downloading on a -per-font basis (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>). +(see <a class="pxref" href="#Debug-options">Debug options</a>). You can also control partial downloading on a +per-font basis (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>). </p> </dd> -<dt id='index-_002dk-for-cropmarks'><span>‘<samp>-k*</samp>’<a href='#index-_002dk-for-cropmarks' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-cropmarks"></span> -<span id="index-crop_002epro"></span> +<dt id='index-_002dk-for-cropmarks'><span>‘<samp class="samp">-k*</samp>’<a class="copiable-link" href='#index-_002dk-for-cropmarks'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-cropmarks"></a> +<a class="index-entry-id" id="index-crop_002epro"></a> <p>Print crop marks. This option increases the paper size (which should be -specified, either with a paper size special or with the ‘<samp>-T</samp>’ +specified, either with a paper size special or with the ‘<samp class="samp">-T</samp>’ option) by a half inch in each dimension. It translates each page by a quarter inch and draws cross-style crop marks. It is mostly useful with typesetters that can set the page size automatically. This works by -downloading <samp>crop.pro</samp>. +downloading <samp class="file">crop.pro</samp>. </p> </dd> -<dt id='index-_002dK'><span>‘<samp>-K*</samp>’<a href='#index-_002dK' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-comments_002c-removing-included"></span> -<span id="index-_0025_0025Page_002c-removing"></span> +<dt id='index-_002dK'><span>‘<samp class="samp">-K*</samp>’<a class="copiable-link" href='#index-_002dK'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-comments_002c-removing-included"></a> +<a class="index-entry-id" id="index-_0025_0025Page_002c-removing"></a> <p>Remove comments in included PostScript graphics, font files, and headers; only necessary to get around bugs in spoolers or PostScript -post-processing programs. Specifically, the ‘<samp>%%Page</samp>’ +post-processing programs. Specifically, the ‘<samp class="samp">%%Page</samp>’ comments, when left in, often cause difficulties. Use of this flag can cause other graphics to fail, however, since the PostScript header macros from some software packages read portion the input stream line by line, searching for a particular comment. </p> </dd> -<dt id='index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d'><span>‘<samp>-l [=]<var>num</var>[.<var>pageseq</var>]</samp>’<a href='#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-last-page-printed"></span> -<span id="index-page_002c-last-printed"></span> -<span id="index-page-numbers_002c-multiple-repetitions-of"></span> -<span id="index-physical-page-number_002c-and-_002dl"></span> -<span id="index-absolute-page-number_002c-and-_002dl"></span> -<p>The last page printed will be the first one numbered <var>num</var>; the +<dt id='index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d'><span>‘<samp class="samp">-l [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</samp>’<a class="copiable-link" href='#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-last-page-printed"></a> +<a class="index-entry-id" id="index-page_002c-last-printed"></a> +<a class="index-entry-id" id="index-page-numbers_002c-multiple-repetitions-of"></a> +<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dl"></a> +<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dl"></a> +<p>The last page printed will be the first one numbered <var class="var">num</var>; the default is the last page in the document. </p> -<p>By default, <var>num</var> is compared to TeX’s idea of the page number -(more precisely, the <code>\count0</code> value written in the DVI file). -But if <var>num</var> is prefixed by an equals sign, then it (and the -argument to the ‘<samp>-p</samp>’ option, if specified) is treated as a -physical (absolute) page number, Thus, using ‘<samp>-l =9</samp>’ will end the +<p>By default, <var class="var">num</var> is compared to TeX’s idea of the page number +(more precisely, the <code class="code">\count0</code> value written in the DVI file). +But if <var class="var">num</var> is prefixed by an equals sign, then it (and the +argument to the ‘<samp class="samp">-p</samp>’ option, if specified) is treated as a +physical (absolute) page number, Thus, using ‘<samp class="samp">-l =9</samp>’ will end the output with the ninth page of the document, no matter what the pages are actually numbered. </p> -<p>On the other hand, if <var>pageseq</var> is specified, the <var>pageseq</var>th +<p>On the other hand, if <var class="var">pageseq</var> is specified, the <var class="var">pageseq</var>th occurrence of the given TeX page number is used. For example, -‘<samp>-l 99.2</samp>’ says to end with the second page numbered 99 in the -document. The ‘<samp>=</samp>’ and <var>lastseq</var> features aren’t useful +‘<samp class="samp">-l 99.2</samp>’ says to end with the second page numbered 99 in the +document. The ‘<samp class="samp">=</samp>’ and <var class="var">lastseq</var> features aren’t useful together. </p> </dd> -<dt id='index-_002dL'><span>‘<samp>-L*</samp>’<a href='#index-_002dL' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-papersize-special_002c-first-vs_002e-last"></span> -<p>By default or with <code>-L1</code>, the last ‘<samp>papersize</samp>’ special wins; -with <code>-L0</code>, the first special wins. See <a href="#papersize-special">‘<samp>papersize</samp>’ special</a>. +<dt id='index-_002dL'><span>‘<samp class="samp">-L*</samp>’<a class="copiable-link" href='#index-_002dL'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-papersize-special_002c-first-vs_002e-last"></a> +<p>By default or with <code class="code">-L1</code>, the last ‘<samp class="samp">papersize</samp>’ special wins; +with <code class="code">-L0</code>, the first special wins. See <a class="xref" href="#papersize-special">‘<samp class="samp">papersize</samp>’ special</a>. </p> </dd> -<dt id='index-_002dlandscaperotate'><span>‘<samp>-landscaperotate*</samp>’<a href='#index-_002dlandscaperotate' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-landscaperotate"></span> +<dt id='index-_002dlandscaperotate'><span>‘<samp class="samp">-landscaperotate*</samp>’<a class="copiable-link" href='#index-_002dlandscaperotate'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-landscaperotate"></a> <p>When looking for matching paper sizes, permit rotation of page content on the page to match the given size; the default, as of Dvips 2022.1, is not to do this. It should not be needed in modern systems with normal print spoolers, and can be harmful when converting to PDF -(see <a href="#Config-file-paper-sizes">Configuration file paper size command</a>). This option accepts an optional +(see <a class="pxref" href="#Config-file-paper-sizes">Configuration file paper size command</a>). This option accepts an optional suffix of 0 (to explicitly disable) or 1 (to explicitly enable); if the option is specified without a suffix, it enables the behavior. </p> </dd> -<dt id='index-_002dm'><span>‘<samp>-m*</samp>’<a href='#index-_002dm' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-manual-feed"></span> +<dt id='index-_002dm'><span>‘<samp class="samp">-m*</samp>’<a class="copiable-link" href='#index-_002dm'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-manual-feed"></a> <p>Specify manual feed, if supported by the output device. </p> </dd> -<dt id='index-_002dmode-mode'><span>‘<samp>-mode <var>mode</var></samp>’<a href='#index-_002dmode-mode' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-mode-name_002c-specifying"></span> -<span id="index-Metafont-mode_002c-specifying"></span> -<p>Use <var>mode</var> as the Metafont device name for path searching and font +<dt id='index-_002dmode-mode'><span>‘<samp class="samp">-mode <var class="var">mode</var></samp>’<a class="copiable-link" href='#index-_002dmode-mode'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-mode-name_002c-specifying"></a> +<a class="index-entry-id" id="index-Metafont-mode_002c-specifying"></a> +<p>Use <var class="var">mode</var> as the Metafont device name for path searching and font generation. This overrides any value from configuration files. With the default paths, explicitly specifying the mode also makes the program -assume the fonts are in a subdirectory named <var>mode</var>. -See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#TeX-directory-structure">TeX directory structure</a> in <cite>Kpathsea</cite>. If Metafont does not understand the <var>mode</var> name, see -<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite>Kpathsea</cite>. -</p> -</dd> -<dt id='index-_002dM'><span>‘<samp>-M*</samp>’<a href='#index-_002dM' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-font-generation_002c-avoiding"></span> -<span id="index-mktexpk_002c-avoiding"></span> -<span id="index-missfont_002elog"></span> -<p>Turns off automatic font generation (<samp>mktexpk</samp>). If -<code>mktexpk</code>, the invocation is appended to a file -<samp>missfont.log</samp> (by default) in the current directory. You can then +assume the fonts are in a subdirectory named <var class="var">mode</var>. +See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#TeX-directory-structure">TeX directory structure</a> in <cite class="cite">Kpathsea</cite>. If Metafont does not understand the <var class="var">mode</var> name, see +<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Unable-to-generate-fonts">Unable to generate fonts</a> in <cite class="cite">Kpathsea</cite>. +</p> +</dd> +<dt id='index-_002dM'><span>‘<samp class="samp">-M*</samp>’<a class="copiable-link" href='#index-_002dM'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-font-generation_002c-avoiding"></a> +<a class="index-entry-id" id="index-mktexpk_002c-avoiding"></a> +<a class="index-entry-id" id="index-missfont_002elog"></a> +<p>Turns off automatic font generation (<samp class="file">mktexpk</samp>). If +<code class="code">mktexpk</code>, the invocation is appended to a file +<samp class="file">missfont.log</samp> (by default) in the current directory. You can then execute the log file to create the missing files after fixing the problem. -<span id="index-TEXMFOUTPUT"></span> -<span id="index-MISSFONT_005fLOG"></span> +<a class="index-entry-id" id="index-TEXMFOUTPUT"></a> +<a class="index-entry-id" id="index-MISSFONT_005fLOG"></a> If the current directory is not writable and the environment variable or -configuration file value ‘<samp>TEXMFOUTPUT</samp>’ is set, its value is used. -Otherwise, nothing is written. The name ‘<samp>missfont.log</samp>’ is -overridden by the ‘<samp>MISSFONT_LOG</samp>’ environment variable or +configuration file value ‘<samp class="samp">TEXMFOUTPUT</samp>’ is set, its value is used. +Otherwise, nothing is written. The name ‘<samp class="samp">missfont.log</samp>’ is +overridden by the ‘<samp class="samp">MISSFONT_LOG</samp>’ environment variable or configuration file value. </p> </dd> -<dt id='index-_002dn-num'><span>‘<samp>-n <var>num</var></samp>’<a href='#index-_002dn-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-maximum-pages-printed"></span> -<span id="index-pages_002c-maximum-printed"></span> -<p>Print at most <var>num</var> pages. Default is 100000. +<dt id='index-_002dn-num'><span>‘<samp class="samp">-n <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dn-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-maximum-pages-printed"></a> +<a class="index-entry-id" id="index-pages_002c-maximum-printed"></a> +<p>Print at most <var class="var">num</var> pages. Default is 100000. </p> </dd> -<dt id='index-_002dN'><span>‘<samp>-N*</samp>’<a href='#index-_002dN' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-structured-comments"></span> -<span id="index-TranScript"></span> -<span id="index-_0025_0025Page_002c-not-generating"></span> -<p>Turns off generation of structured comments such as ‘<samp>%%Page</samp>’; this +<dt id='index-_002dN'><span>‘<samp class="samp">-N*</samp>’<a class="copiable-link" href='#index-_002dN'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-structured-comments"></a> +<a class="index-entry-id" id="index-TranScript"></a> +<a class="index-entry-id" id="index-_0025_0025Page_002c-not-generating"></a> +<p>Turns off generation of structured comments such as ‘<samp class="samp">%%Page</samp>’; this may be necessary on some systems that try to interpret PostScript comments in weird ways, or on some PostScript printers. Old versions of TranScript in particular cannot handle modern Encapsulated PostScript. @@ -1188,21 +1186,21 @@ Beware: This also disables page movement, etc., in PostScript viewers such as Ghostview. </p> </dd> -<dt id='index-_002dnoomega'><span>‘<samp>-noomega</samp>’<a href='#index-_002dnoomega' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Omega-extensions"></span> -<span id="index-pTeX-extensions"></span> +<dt id='index-_002dnoomega'><span>‘<samp class="samp">-noomega</samp>’<a class="copiable-link" href='#index-_002dnoomega'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Omega-extensions"></a> +<a class="index-entry-id" id="index-pTeX-extensions"></a> <p>Disable the use of Omega extensions when interpreting DVI -files. By default, the additional opcodes ‘<samp>129</samp>’ and ‘<samp>134</samp>’ +files. By default, the additional opcodes ‘<samp class="samp">129</samp>’ and ‘<samp class="samp">134</samp>’ are recognized by Dvips as Omega or pTeX extensions and interpreted as requests to set 2-byte characters. </p> </dd> -<dt id='index-_002dnoptex'><span>‘<samp>-noptex</samp>’<a href='#index-_002dnoptex' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-pTeX-extensions-1"></span> +<dt id='index-_002dnoptex'><span>‘<samp class="samp">-noptex</samp>’<a class="copiable-link" href='#index-_002dnoptex'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-pTeX-extensions-1"></a> <p>Disable the use of pTeX extensions when interpreting DVI files. By -default, the additional opcodes ‘<samp>130</samp>’ and ‘<samp>135</samp>’ are +default, the additional opcodes ‘<samp class="samp">130</samp>’ and ‘<samp class="samp">135</samp>’ are recognized by Dvips as Omega extensions and interpreted as requests to -set 3-byte characters, and ‘<samp>255</samp>’ as request to change the +set 3-byte characters, and ‘<samp class="samp">255</samp>’ as request to change the typesetting direction. </p> <p>The only drawback is that the virtual font array will (at least @@ -1210,202 +1208,202 @@ temporarily) require 65536 or more positions instead of the default 256 positions, i.e., the memory requirements of Dvips will be somewhat larger. If you find this unacceptable or encounter another problem with the Omega or pTeX extensions, you can switch off the pTeX -extension by using ‘<samp>-noptex</samp>’, or both by using ‘<samp>-noomega</samp>’ +extension by using ‘<samp class="samp">-noptex</samp>’, or both by using ‘<samp class="samp">-noomega</samp>’ (but please do send a bug report if you find such problems, -see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>). +see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>). </p> </dd> -<dt id='index-_002do-name'><span>‘<samp>-o <var>name</var></samp>’<a href='#index-_002do-name' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-output_002c-redirecting"></span> -<span id="index-standard-output_002c-output-to"></span> -<p>Send output to the file <var>name</var>. If ‘<samp>-o</samp>’ is specified without -<var>name</var> (i.e., it is the last thing on the command line), the -default is ‘<samp><var>file</var>.ps</samp>’ where the input DVI file was -‘<samp><var>file</var>.dvi</samp>’. If ‘<samp>-o</samp>’ isn’t given at all, the +<dt id='index-_002do-name'><span>‘<samp class="samp">-o <var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002do-name'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-output_002c-redirecting"></a> +<a class="index-entry-id" id="index-standard-output_002c-output-to"></a> +<p>Send output to the file <var class="var">name</var>. If ‘<samp class="samp">-o</samp>’ is specified without +<var class="var">name</var> (i.e., it is the last thing on the command line), the +default is ‘<samp class="samp"><var class="var">file</var>.ps</samp>’ where the input DVI file was +‘<samp class="samp"><var class="var">file</var>.dvi</samp>’. If ‘<samp class="samp">-o</samp>’ isn’t given at all, the configuration file default is used. </p> -<span id="index-popen-for-output"></span> -<span id="index-_002d-as-output-filename"></span> -<span id="index-_0021-starting-output-filename"></span> -<span id="index-_007c-starting-output-filename"></span> -<span id="index-lpr-spooler_002c-MS_002dDOS-emulation"></span> -<span id="index-spooling-to-lpr-on-MS_002dDOS"></span> -<p>If <var>name</var> is ‘<samp>-</samp>’, output goes to standard output. If the first -character of <var>name</var> is ‘<samp>!</samp>’ or ‘<samp>|</samp>’, then the remainder will -be used as an argument to <code>popen</code>; thus, specifying ‘<samp>|lpr</samp>’ as +<a class="index-entry-id" id="index-popen-for-output"></a> +<a class="index-entry-id" id="index-_002d-as-output-filename"></a> +<a class="index-entry-id" id="index-_0021-starting-output-filename"></a> +<a class="index-entry-id" id="index-_007c-starting-output-filename"></a> +<a class="index-entry-id" id="index-lpr-spooler_002c-MS_002dDOS-emulation"></a> +<a class="index-entry-id" id="index-spooling-to-lpr-on-MS_002dDOS"></a> +<p>If <var class="var">name</var> is ‘<samp class="samp">-</samp>’, output goes to standard output. If the first +character of <var class="var">name</var> is ‘<samp class="samp">!</samp>’ or ‘<samp class="samp">|</samp>’, then the remainder will +be used as an argument to <code class="code">popen</code>; thus, specifying ‘<samp class="samp">|lpr</samp>’ as the output file will automatically queue the file for printing as usual. (The MS-DOS version will print to the local printer device -<samp>PRN</samp> when <var>name</var> is ‘<samp>|lpr</samp>’ and a program by that name +<samp class="file">PRN</samp> when <var class="var">name</var> is ‘<samp class="samp">|lpr</samp>’ and a program by that name cannot be found.) </p> -<p>‘<samp>-o</samp>’ disables the automatic reading of the <code>PRINTER</code> +<p>‘<samp class="samp">-o</samp>’ disables the automatic reading of the <code class="code">PRINTER</code> environment variable, and turns off the automatic sending of control-D. -See the ‘<samp>-f</samp>’ option for how to override this. +See the ‘<samp class="samp">-f</samp>’ option for how to override this. </p> </dd> -<dt id='index-_002dO-x_002doffset_002cy_002doffset'><span>‘<samp>-O <var>x-offset</var>,<var>y-offset</var></samp>’<a href='#index-_002dO-x_002doffset_002cy_002doffset' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-offset-pages"></span> -<span id="index-printer-offset"></span> -<p>Move the origin by <var>x-offset</var>,<var>y-offset</var>, a comma-separated -pair of dimensions such as ‘<samp>.1in,-.3cm</samp>’ (see <a href="#papersize-special">‘<samp>papersize</samp>’ special</a>). The origin of the page is shifted from the default position +<dt id='index-_002dO-x_002doffset_002cy_002doffset'><span>‘<samp class="samp">-O <var class="var">x-offset</var>,<var class="var">y-offset</var></samp>’<a class="copiable-link" href='#index-_002dO-x_002doffset_002cy_002doffset'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-offset-pages"></a> +<a class="index-entry-id" id="index-printer-offset"></a> +<p>Move the origin by <var class="var">x-offset</var>,<var class="var">y-offset</var>, a comma-separated +pair of dimensions such as ‘<samp class="samp">.1in,-.3cm</samp>’ (see <a class="pxref" href="#papersize-special">‘<samp class="samp">papersize</samp>’ special</a>). The origin of the page is shifted from the default position (of one inch down, one inch to the right from the upper left corner of the paper) by this amount. This is usually best specified in the printer-specific configuration file. </p> -<span id="index-testpage_002etex"></span> +<a class="index-entry-id" id="index-testpage_002etex"></a> <p>This is useful for a printer that consistently offsets output pages by a -certain amount. You can use the file <samp>testpage.tex</samp> to determine +certain amount. You can use the file <samp class="file">testpage.tex</samp> to determine the correct value for your printer. Be sure to do several runs with the -same <code>O</code> value—some printers vary widely from run to run. +same <code class="code">O</code> value—some printers vary widely from run to run. </p> -<span id="index-bop_002dhook_002c-and-offset-pages"></span> +<a class="index-entry-id" id="index-bop_002dhook_002c-and-offset-pages"></a> <p>If your printer offsets every other page consistently, instead of every -page, your best recourse is to use ‘<samp>bop-hook</samp>’ (see <a href="#PostScript-hooks">PostScript hooks</a>). +page, your best recourse is to use ‘<samp class="samp">bop-hook</samp>’ (see <a class="pxref" href="#PostScript-hooks">PostScript hooks</a>). </p> </dd> -<dt id='index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d'><span>‘<samp>-p [=]<var>num</var>[.<var>pageseq</var>]</samp>’<a href='#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-first-page-printed"></span> -<span id="index-page_002c-first-printed"></span> -<span id="index-physical-page-number_002c-and-_002dp"></span> -<span id="index-absolute-page-number_002c-and-_002dp"></span> -<p>Exactly analogous to <code>-l</code> (q.v.), but specifying the first page +<dt id='index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d'><span>‘<samp class="samp">-p [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</samp>’<a class="copiable-link" href='#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-first-page-printed"></a> +<a class="index-entry-id" id="index-page_002c-first-printed"></a> +<a class="index-entry-id" id="index-physical-page-number_002c-and-_002dp"></a> +<a class="index-entry-id" id="index-absolute-page-number_002c-and-_002dp"></a> +<p>Exactly analogous to <code class="code">-l</code> (q.v.), but specifying the first page number to be printed (processed). </p> </dd> -<dt id='index-_002dpp-first_002dlast'><span>‘<samp>-pp <var>first</var>-<var>last</var></samp>’<a href='#index-_002dpp-first_002dlast' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-page-range"></span> -<span id="index-_002dpp-range"></span> -<p>Print pages <var>first</var> through <var>last</var>; equivalent to ‘<samp>-p -<var>first</var> -l <var>last</var></samp>’, except that multiple ‘<samp>-pp</samp>’ options -accumulate, unlike ‘<samp>-p</samp>’ and ‘<samp>-l</samp>’. The ‘<samp>-</samp>’ separator can -also be ‘<samp>:</samp>’. +<dt id='index-_002dpp-first_002dlast'><span>‘<samp class="samp">-pp <var class="var">first</var>-<var class="var">last</var></samp>’<a class="copiable-link" href='#index-_002dpp-first_002dlast'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-page-range"></a> +<a class="index-entry-id" id="index-_002dpp-range"></a> +<p>Print pages <var class="var">first</var> through <var class="var">last</var>; equivalent to ‘<samp class="samp">-p +<var class="var">first</var> -l <var class="var">last</var></samp>’, except that multiple ‘<samp class="samp">-pp</samp>’ options +accumulate, unlike ‘<samp class="samp">-p</samp>’ and ‘<samp class="samp">-l</samp>’. The ‘<samp class="samp">-</samp>’ separator can +also be ‘<samp class="samp">:</samp>’. </p> </dd> -<dt id='index-_002dP-printer'><span>‘<samp>-P <var>printer</var></samp>’<a href='#index-_002dP-printer' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-config_002eps"></span> -<p>Read the configuration file <samp>config.<var>printer</var></samp> -(<samp><var>printer</var>.cfg</samp> on MS-DOS), which typically sets the output -name (most likely ‘<samp>o |lpr -P<var>printer</var></samp>’), resolution, Metafont +<dt id='index-_002dP-printer'><span>‘<samp class="samp">-P <var class="var">printer</var></samp>’<a class="copiable-link" href='#index-_002dP-printer'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-config_002eps"></a> +<p>Read the configuration file <samp class="file">config.<var class="var">printer</var></samp> +(<samp class="file"><var class="var">printer</var>.cfg</samp> on MS-DOS), which typically sets the output +name (most likely ‘<samp class="samp">o |lpr -P<var class="var">printer</var></samp>’), resolution, Metafont mode, and perhaps other printer-specific defaults. It works best to -put sitewide defaults in the one master ‘<samp>config.ps</samp>’ file and only +put sitewide defaults in the one master ‘<samp class="samp">config.ps</samp>’ file and only things that vary from printer to printer in the -‘<samp>config.<var>printer</var></samp>’ files; ‘<samp>config.ps</samp>’ is read before -‘<samp>config.<var>printer</var></samp>’. +‘<samp class="samp">config.<var class="var">printer</var></samp>’ files; ‘<samp class="samp">config.ps</samp>’ is read before +‘<samp class="samp">config.<var class="var">printer</var></samp>’. </p> <p>A configuration file for eventual creation of Adobe PDF files is -provided in ‘<samp>config.pdf</samp>’ and thus can be loaded with -‘<samp>-Ppdf</samp>’. It will try to include Type 1 outline fonts into the -PostScript file (see <a href="#Hypertext-caveats">Hypertext caveats</a>). +provided in ‘<samp class="samp">config.pdf</samp>’ and thus can be loaded with +‘<samp class="samp">-Ppdf</samp>’. It will try to include Type 1 outline fonts into the +PostScript file (see <a class="pxref" href="#Hypertext-caveats">Hypertext caveats</a>). </p> -<p>If no ‘<samp>-P</samp>’ or ‘<samp>-o</samp>’ is given, the environment variable -<code>PRINTER</code> is checked. If that variable exists, and a corresponding -<samp>config.<var>printer</var></samp> (<samp><var>printer</var>.cfg</samp> on MS-DOS) file +<p>If no ‘<samp class="samp">-P</samp>’ or ‘<samp class="samp">-o</samp>’ is given, the environment variable +<code class="code">PRINTER</code> is checked. If that variable exists, and a corresponding +<samp class="file">config.<var class="var">printer</var></samp> (<samp class="file"><var class="var">printer</var>.cfg</samp> on MS-DOS) file exists, it is read. -See <a href="#Configuration-file-searching">Configuration file searching</a>. +See <a class="xref" href="#Configuration-file-searching">Configuration file searching</a>. </p> </dd> -<dt id='index-_002dq'><span>‘<samp>-q*</samp>’<a href='#index-_002dq' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-quiet-operation"></span> -<span id="index-silent-operation"></span> -<span id="index-warnings_002c-suppressing"></span> +<dt id='index-_002dq'><span>‘<samp class="samp">-q*</samp>’<a class="copiable-link" href='#index-_002dq'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-quiet-operation"></a> +<a class="index-entry-id" id="index-silent-operation"></a> +<a class="index-entry-id" id="index-warnings_002c-suppressing"></a> <p>Run quietly. Don’t chatter about pages converted, etc., and report no warnings (only errors) to standard error. </p> </dd> -<dt id='index-_002dr'><span>‘<samp>-r*</samp>’<a href='#index-_002dr' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-reverse-pagination"></span> +<dt id='index-_002dr'><span>‘<samp class="samp">-r*</samp>’<a class="copiable-link" href='#index-_002dr'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-reverse-pagination"></a> <p>Output pages in reverse order. By default, page 1 is output first. </p> </dd> -<dt id='index-_002dR'><span>‘<samp>-R</samp>’<a href='#index-_002dR' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-security"></span> -<span id="index-shell-command-execution_002c-disabling"></span> -<span id="index-absolute-filenames_002c-disabling"></span> -<span id="index-_002e_002e_002drelative-filenames"></span> -<p>Run securely. ‘<samp>-R2</samp>’ disables both shell command execution in -<code>\special</code> (via ‘<samp>`</samp>’, see <a href="#Dynamic-creation-of-graphics">Dynamic creation of PostScript graphics files</a>) -and config files (via the ‘<samp>E</samp>’ option, see <a href="#Configuration-file-commands">Configuration file commands</a>) and opening of any absolute or <samp>..</samp>-relative -filenames. ‘<samp>-R1</samp>’, the default, forbids shell escapes but allows -absolute filenames. ‘<samp>-R0</samp>’ allows both. +<dt id='index-_002dR'><span>‘<samp class="samp">-R</samp>’<a class="copiable-link" href='#index-_002dR'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-security"></a> +<a class="index-entry-id" id="index-shell-command-execution_002c-disabling"></a> +<a class="index-entry-id" id="index-absolute-filenames_002c-disabling"></a> +<a class="index-entry-id" id="index-_002e_002e_002drelative-filenames"></a> +<p>Run securely. ‘<samp class="samp">-R2</samp>’ disables both shell command execution in +<code class="code">\special</code> (via ‘<samp class="samp">`</samp>’, see <a class="pxref" href="#Dynamic-creation-of-graphics">Dynamic creation of PostScript graphics files</a>) +and config files (via the ‘<samp class="samp">E</samp>’ option, see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>) and opening of any absolute or <samp class="file">..</samp>-relative +filenames. ‘<samp class="samp">-R1</samp>’, the default, forbids shell escapes but allows +absolute filenames. ‘<samp class="samp">-R0</samp>’ allows both. </p> </dd> -<dt id='index-_002ds'><span>‘<samp>-s*</samp>’<a href='#index-_002ds' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-save_002frestore_002c-generating-global"></span> +<dt id='index-_002ds'><span>‘<samp class="samp">-s*</samp>’<a class="copiable-link" href='#index-_002ds'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-save_002frestore_002c-generating-global"></a> <p>Enclose the output in a global save/restore pair. This causes the file to not be truly conformant, and is thus not recommended, but is useful if you are driving a deficient printer directly and thus don’t care too much about the portability of the output to other environments. </p> </dd> -<dt id='index-_002dS-num'><span>‘<samp>-S <var>num</var></samp>’<a href='#index-_002dS-num' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002dS-num'><span>‘<samp class="samp">-S <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dS-num'> ¶</a></span></dt> <dd><p>Set the maximum number of pages in each ‘section’. This option is most -commonly used with the ‘<samp>-i</samp>’ option; see its description above for +commonly used with the ‘<samp class="samp">-i</samp>’ option; see its description above for more information. </p> </dd> -<dt id='index-_002dt-papertype'><span>‘<samp>-t <var>papertype</var></samp>’<a href='#index-_002dt-papertype' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-paper-type"></span> -<span id="index-media"></span> -<span id="index-letter-papertype"></span> -<span id="index-legal-papertype"></span> -<span id="index-ledger-papertype"></span> -<span id="index-a4-papertype"></span> -<span id="index-a3-papertype"></span> -<span id="index-landscape-papertype"></span> -<span id="index-papersize-special_002c-and-no-_002dt"></span> -<p>Set the paper type to <var>papertype</var>, usually defined in one of the +<dt id='index-_002dt-papertype'><span>‘<samp class="samp">-t <var class="var">papertype</var></samp>’<a class="copiable-link" href='#index-_002dt-papertype'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-paper-type"></a> +<a class="index-entry-id" id="index-media"></a> +<a class="index-entry-id" id="index-letter-papertype"></a> +<a class="index-entry-id" id="index-legal-papertype"></a> +<a class="index-entry-id" id="index-ledger-papertype"></a> +<a class="index-entry-id" id="index-a4-papertype"></a> +<a class="index-entry-id" id="index-a3-papertype"></a> +<a class="index-entry-id" id="index-landscape-papertype"></a> +<a class="index-entry-id" id="index-papersize-special_002c-and-no-_002dt"></a> +<p>Set the paper type to <var class="var">papertype</var>, usually defined in one of the configuration files, along with the appropriate PostScript code to -select it (see <a href="#Config-file-paper-sizes">Configuration file paper size command</a>). -</p><ul class="no-bullet"> -<li>- You can also specify a <var>papertype</var> of ‘<samp>landscape</samp>’, +select it (see <a class="pxref" href="#Config-file-paper-sizes">Configuration file paper size command</a>). +</p><ul class="itemize mark-minus"> +<li>You can also specify a <var class="var">papertype</var> of ‘<samp class="samp">landscape</samp>’, which rotates a document by 90 degrees. -</li><li>- To rotate a document whose paper type is not the default, you -can use the ‘<samp>-t</samp>’ option twice, once for the paper type, and once -for ‘<samp>landscape</samp>’. -</li><li>- In general, you should not use any ‘<samp>-t</samp>’ option when -using a ‘<samp>papersize</samp>’ special, which some LaTeX packages (e.g., -‘<samp>hyperref</samp>’) insert. -</li><li>- One exception is when using a nonstandard paper size that is not -already defined in <samp>config.ps</samp>; in this case, you need to specify -‘<samp>-t unknown</samp>’. -</li><li>- Another exception is when producing multi-page files for further -processing; use ‘<samp>-t nopaper</samp>’ to omit any paper size +</li><li>To rotate a document whose paper type is not the default, you +can use the ‘<samp class="samp">-t</samp>’ option twice, once for the paper type, and once +for ‘<samp class="samp">landscape</samp>’. +</li><li>In general, you should not use any ‘<samp class="samp">-t</samp>’ option when +using a ‘<samp class="samp">papersize</samp>’ special, which some LaTeX packages (e.g., +‘<samp class="samp">hyperref</samp>’) insert. +</li><li>One exception is when using a nonstandard paper size that is not +already defined in <samp class="file">config.ps</samp>; in this case, you need to specify +‘<samp class="samp">-t unknown</samp>’. +</li><li>Another exception is when producing multi-page files for further +processing; use ‘<samp class="samp">-t nopaper</samp>’ to omit any paper size information in the output. (If you just have a single page document, -you can use ‘<samp>-E</samp>’ to get pure EPSF output.) +you can use ‘<samp class="samp">-E</samp>’ to get pure EPSF output.) </li></ul> </dd> -<dt id='index-_002dtitle-str'><span>‘<samp>-title <var>string</var></samp>’<a href='#index-_002dtitle-str' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-title_002c-specifying"></span> -<span id="index-output-title_002c-specifying"></span> -<span id="index-document-title_002c-specifying"></span> -<span id="index-_0025_0025Title"></span> -<p>Use <var>string</var> as the title in the generated PostScript -(<code>%%Title</code>). If not specified, the default is the basename of the -input file; for example, running <code>dvips /foo/bar.dvi</code> will have a -<code>%%Title</code> of ‘<samp>bar.dvi</samp>’. +<dt id='index-_002dtitle-str'><span>‘<samp class="samp">-title <var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002dtitle-str'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-title_002c-specifying"></a> +<a class="index-entry-id" id="index-output-title_002c-specifying"></a> +<a class="index-entry-id" id="index-document-title_002c-specifying"></a> +<a class="index-entry-id" id="index-_0025_0025Title"></a> +<p>Use <var class="var">string</var> as the title in the generated PostScript +(<code class="code">%%Title</code>). If not specified, the default is the basename of the +input file; for example, running <code class="code">dvips /foo/bar.dvi</code> will have a +<code class="code">%%Title</code> of ‘<samp class="samp">bar.dvi</samp>’. </p> </dd> -<dt id='index-_002dT-hsize_002cvsize'><span>‘<samp>-T <var>hsize</var>,<var>vsize</var></samp>’<a href='#index-_002dT-hsize_002cvsize' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the paper size to (<var>hsize</var>,<var>vsize</var>), a comma-separated -pair of dimensions such as ‘<samp>.1in,-.3cm</samp>’ (see <a href="#papersize-special">‘<samp>papersize</samp>’ special</a>). It overrides any paper size special in the DVI file. Be +<dt id='index-_002dT-hsize_002cvsize'><span>‘<samp class="samp">-T <var class="var">hsize</var>,<var class="var">vsize</var></samp>’<a class="copiable-link" href='#index-_002dT-hsize_002cvsize'> ¶</a></span></dt> +<dd><p>Set the paper size to (<var class="var">hsize</var>,<var class="var">vsize</var>), a comma-separated +pair of dimensions such as ‘<samp class="samp">.1in,-.3cm</samp>’ (see <a class="pxref" href="#papersize-special">‘<samp class="samp">papersize</samp>’ special</a>). It overrides any paper size special in the DVI file. Be careful, as the paper size will stick to a predefined size if there is -one close enough. To disable this behavior, use ‘<samp>-tunknown</samp>’. +one close enough. To disable this behavior, use ‘<samp class="samp">-tunknown</samp>’. </p> </dd> -<dt id='index-_002du-psmapfile'><span>‘<samp>-u <var>psmapfile</var></samp>’<a href='#index-_002du-psmapfile' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-PostScript-font-alias-file"></span> -<span id="index-resident-fonts_002c-different-in-different-printers"></span> -<p>Set <var>psmapfile</var> to be the file that dvips uses for looking up -PostScript font aliases. If <var>psmapfile</var> begins with a ‘<samp>+</samp>’ +<dt id='index-_002du-psmapfile'><span>‘<samp class="samp">-u <var class="var">psmapfile</var></samp>’<a class="copiable-link" href='#index-_002du-psmapfile'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-PostScript-font-alias-file"></a> +<a class="index-entry-id" id="index-resident-fonts_002c-different-in-different-printers"></a> +<p>Set <var class="var">psmapfile</var> to be the file that dvips uses for looking up +PostScript font aliases. If <var class="var">psmapfile</var> begins with a ‘<samp class="samp">+</samp>’ character, then the rest of the name is used as the name of the map file, and the map file is appended to the list of map files (instead of replacing -the list). In either case, if the name has no extension, then ‘<samp>.map</samp>’ +the list). In either case, if the name has no extension, then ‘<samp class="samp">.map</samp>’ is added at the end. </p> </dd> -<dt id='index-_002dU'><span>‘<samp>-U*</samp>’<a href='#index-_002dU' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Xerox-4045"></span> +<dt id='index-_002dU'><span>‘<samp class="samp">-U*</samp>’<a class="copiable-link" href='#index-_002dU'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Xerox-4045"></a> <p>Disable a PostScript virtual memory-saving optimization that stores the character metric information in the same string that is used to store the bitmap information. This is only necessary when driving the Xerox @@ -1414,68 +1412,68 @@ bottom of each character. Not recommended unless you must drive this printer. </p> </dd> -<dt id='index-_002dv'><span>‘<samp>-v</samp>’<a href='#index-_002dv' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002dv'><span>‘<samp class="samp">-v</samp>’<a class="copiable-link" href='#index-_002dv'> ¶</a></span></dt> <dd><p>Print the dvips version number and exit. </p> </dd> -<dt id='index-_002dV'><span>‘<samp>-V*</samp>’<a href='#index-_002dV' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002dV'><span>‘<samp class="samp">-V*</samp>’<a class="copiable-link" href='#index-_002dV'> ¶</a></span></dt> <dd><p>Download non-resident PostScript fonts as bitmaps. This requires use -<span id="index-mtpk"></span> -<span id="index-gsftopk"></span> -<span id="index-pstopk"></span> -of <code>mtpk</code> or <code>gsftopk</code> or <code>pstopk</code> or some combination +<a class="index-entry-id" id="index-mtpk"></a> +<a class="index-entry-id" id="index-gsftopk"></a> +<a class="index-entry-id" id="index-pstopk"></a> +of <code class="code">mtpk</code> or <code class="code">gsftopk</code> or <code class="code">pstopk</code> or some combination thereof to generate the required bitmap fonts; these programs are -supplied with Dvips. The bitmap must be put into <samp>psfonts.map</samp> as +supplied with Dvips. The bitmap must be put into <samp class="file">psfonts.map</samp> as the downloadable file for that font. This is useful only for those fonts for which you do not have real outlines, being downloaded to printers that have no resident fonts, i.e., very rarely. </p> </dd> -<dt id='index-_002dx-num'><span>‘<samp>-x <var>num</var></samp>’<a href='#index-_002dx-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-magnification_002c-overriding-DVI"></span> -<p>Set the magnification ratio to <em class='math'><var>num</var>/1000</em>. Overrides +<dt id='index-_002dx-num'><span>‘<samp class="samp">-x <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dx-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-magnification_002c-overriding-DVI"></a> +<p>Set the magnification ratio to <em class="math"><var class="var">num</var>/1000</em>. Overrides the magnification specified in the DVI file. Must be between 10 and 100000. It is recommended that you use standard magstep values (1095, 1200, 1440, 1728, 2074, 2488, 2986, and so on) to help reduce the total -number of PK files generated. <var>num</var> may be a real number, not an +number of PK files generated. <var class="var">num</var> may be a real number, not an integer, for increased precision. </p> </dd> -<dt id='index-_002dX-num'><span>‘<samp>-X <var>num</var></samp>’<a href='#index-_002dX-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-resolution"></span> -<p>Set the horizontal resolution in dots per inch to <var>num</var>. +<dt id='index-_002dX-num'><span>‘<samp class="samp">-X <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dX-num'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-resolution"></a> +<p>Set the horizontal resolution in dots per inch to <var class="var">num</var>. </p> </dd> -<dt id='index-magnification_002c-vertical'><span>‘<samp>-y <var>num</var></samp>’<a href='#index-magnification_002c-vertical' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the magnification ratio to <em class='math'><var>num</var>/1000</em> times the +<dt id='index-magnification_002c-vertical'><span>‘<samp class="samp">-y <var class="var">num</var></samp>’<a class="copiable-link" href='#index-magnification_002c-vertical'> ¶</a></span></dt> +<dd><p>Set the magnification ratio to <em class="math"><var class="var">num</var>/1000</em> times the magnification specified in the DVI file. See -‘<samp>-x</samp>’ above. +‘<samp class="samp">-x</samp>’ above. </p> </dd> -<dt id='index-_002dY-num'><span>‘<samp>-Y <var>num</var></samp>’<a href='#index-_002dY-num' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the vertical resolution in dots per inch to <var>num.</var> -<span id="index-resolution-1"></span> +<dt id='index-_002dY-num'><span>‘<samp class="samp">-Y <var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002dY-num'> ¶</a></span></dt> +<dd><p>Set the vertical resolution in dots per inch to <var class="var">num.</var> +<a class="index-entry-id" id="index-resolution-1"></a> </p> </dd> -<dt id='index-_002dz-for-recognizing-hyperdvi'><span>‘<samp>-z*</samp>’<a href='#index-_002dz-for-recognizing-hyperdvi' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-hyperdvi-extensions_002c-enabling"></span> -<span id="index-distillation_002c-and-_002dz"></span> -<span id="index-PDF-files_002c-option-for"></span> -<span id="index-html-specials_002c-and-_002dz"></span> -<p>Pass ‘<samp>html</samp>’ hyperdvi specials through to the output for eventual +<dt id='index-_002dz-for-recognizing-hyperdvi'><span>‘<samp class="samp">-z*</samp>’<a class="copiable-link" href='#index-_002dz-for-recognizing-hyperdvi'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-hyperdvi-extensions_002c-enabling"></a> +<a class="index-entry-id" id="index-distillation_002c-and-_002dz"></a> +<a class="index-entry-id" id="index-PDF-files_002c-option-for"></a> +<a class="index-entry-id" id="index-html-specials_002c-and-_002dz"></a> +<p>Pass ‘<samp class="samp">html</samp>’ hyperdvi specials through to the output for eventual distillation into PDF. This is not enabled by default to avoid including the header files unnecessarily, and use of temporary files in -creating the output. See <a href="#Hypertext">HyperTeXt</a>. +creating the output. See <a class="xref" href="#Hypertext">HyperTeXt</a>. </p> </dd> -<dt id='index-_002dZ-for-compressing-bitmap-fonts'><span>‘<samp>-Z*</samp>’<a href='#index-_002dZ-for-compressing-bitmap-fonts' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-compressing-bitmap-fonts"></span> +<dt id='index-_002dZ-for-compressing-bitmap-fonts'><span>‘<samp class="samp">-Z*</samp>’<a class="copiable-link" href='#index-_002dZ-for-compressing-bitmap-fonts'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-compressing-bitmap-fonts"></a> <p>Compress bitmap fonts in the output file, thereby reducing the size of what gets downloaded. Especially useful at high resolutions or when very large fonts are used. May slow down printing, especially on early 68000-based PostScript printers. Generally recommend today, and can be -enabled in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>). +enabled in the configuration file (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>). </p> </dd> </dl> @@ -1484,87 +1482,87 @@ enabled in the configuration file (see <a href="#Configuration-file-commands">Co <hr> </div> </div> -<div class="section" id="Environment-variables"> -<div class="header"> +<div class="section-level-extent" id="Environment-variables"> +<div class="nav-panel"> <p> Next: <a href="#Config-files" accesskey="n" rel="next">Dvips configuration files</a>, Previous: <a href="#Command_002dline-options" accesskey="p" rel="prev">Command-line options</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Environment-variables-1"></span><h3 class="section">3.3 Environment variables</h3> +<h3 class="section" id="Environment-variables-1">3.3 Environment variables</h3> -<span id="index-environment-variables"></span> +<a class="index-entry-id" id="index-environment-variables"></a> <p>Dvips looks for many environment variables, to define search paths and other things. The path variables are read as needed, after all configuration files are read, so they override values in the -configuration files. (Except for <code>TEXCONFIG</code>, which defines where +configuration files. (Except for <code class="code">TEXCONFIG</code>, which defines where the configuration files themselves are found.) </p> -<p>See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Path-specifications">Path specifications</a> in <cite>Kpathsea</cite>, for details of +<p>See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Path-specifications">Path specifications</a> in <cite class="cite">Kpathsea</cite>, for details of interpretation of path and other environment variables common to all Kpathsea-using programs. Only the environment variables specific to Dvips are mentioned here. </p> -<dl compact="compact"> -<dt id='index-DVIPSDEBUG'><span><code>DVIPSDEBUG</code><a href='#index-DVIPSDEBUG' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-KPATHSEA_005fDEBUG"></span> +<dl class="vtable"> +<dt id='index-DVIPSDEBUG'><span><code class="code">DVIPSDEBUG</code><a class="copiable-link" href='#index-DVIPSDEBUG'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-KPATHSEA_005fDEBUG"></a> <p>Write the absolute path names of any configuration or map files to standard output, for debugging. This isn’t done by default because these files are read even before the banner is printed. For voluminous additional debugging, set the environment variable -<code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>). (If <code>KPATHSEA_DEBUG</code> is -set to any value, it automatically turns on <code>DVIPSDEBUG</code>.) +<code class="env">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>). (If <code class="env">KPATHSEA_DEBUG</code> is +set to any value, it automatically turns on <code class="env">DVIPSDEBUG</code>.) </p> </dd> -<dt id='index-DVIPSFONTS'><span><code>DVIPSFONTS</code><a href='#index-DVIPSFONTS' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-DVIPSFONTS'><span><code class="code">DVIPSFONTS</code><a class="copiable-link" href='#index-DVIPSFONTS'> ¶</a></span></dt> <dd><p>Default path to search for all fonts. Overrides all the font path config file options and other environment variables (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported -file formats</a> in <cite>Kpathsea</cite>). +file formats</a> in <cite class="cite">Kpathsea</cite>). </p> </dd> -<dt id='index-DVIPSHEADERS'><span><code>DVIPSHEADERS</code><a href='#index-DVIPSHEADERS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Default path to search for PostScript header files. Overrides the ‘<samp>H</samp>’ -config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>). +<dt id='index-DVIPSHEADERS'><span><code class="code">DVIPSHEADERS</code><a class="copiable-link" href='#index-DVIPSHEADERS'> ¶</a></span></dt> +<dd><p>Default path to search for PostScript header files. Overrides the ‘<samp class="samp">H</samp>’ +config file option (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>). </p> </dd> -<dt id='index-DVIPSMAKEPK'><span><code>DVIPSMAKEPK</code><a href='#index-DVIPSMAKEPK' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-mktexpk_002c-changing-name"></span> -<p>Overrides ‘<samp>mktexpk</samp>’ as the name of the program to invoke to +<dt id='index-DVIPSMAKEPK'><span><code class="code">DVIPSMAKEPK</code><a class="copiable-link" href='#index-DVIPSMAKEPK'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-mktexpk_002c-changing-name"></a> +<p>Overrides ‘<samp class="samp">mktexpk</samp>’ as the name of the program to invoke to create missing PK fonts. You can change the arguments passed to the -<code>mktexpk</code> program with the <code>MAKETEXPK</code> environment -variable; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#MakeTeX-script-arguments">MakeTeX script arguments</a> in <cite>Kpathsea</cite>. +<code class="code">mktexpk</code> program with the <code class="code">MAKETEXPK</code> environment +variable; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#MakeTeX-script-arguments">MakeTeX script arguments</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> -<dt id='index-DVIPSRC'><span><code>DVIPSRC</code><a href='#index-DVIPSRC' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Specifies the name of the startup file (see <a href="#Configuration-file-searching">Configuration file searching</a>) which is read after <samp>config.ps</samp> but before any +<dt id='index-DVIPSRC'><span><code class="code">DVIPSRC</code><a class="copiable-link" href='#index-DVIPSRC'> ¶</a></span></dt> +<dd><p>Specifies the name of the startup file (see <a class="pxref" href="#Configuration-file-searching">Configuration file searching</a>) which is read after <samp class="file">config.ps</samp> but before any printer-specific configuration files. </p> </dd> -<dt id='index-DVIPSSIZES'><span><code>DVIPSSIZES</code><a href='#index-DVIPSSIZES' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-last_002dresort-font-scaling_002c-with-DVIPSSIZES"></span> -<p>Last-resort sizes for scaling of unfound fonts. Overrides the ‘<samp>R</samp>’ -definition in config files (see <a href="#Configuration-file-commands">Configuration file commands</a>). +<dt id='index-DVIPSSIZES'><span><code class="code">DVIPSSIZES</code><a class="copiable-link" href='#index-DVIPSSIZES'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-last_002dresort-font-scaling_002c-with-DVIPSSIZES"></a> +<p>Last-resort sizes for scaling of unfound fonts. Overrides the ‘<samp class="samp">R</samp>’ +definition in config files (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>). </p> </dd> -<dt id='index-PRINTER'><span><code>PRINTER</code><a href='#index-PRINTER' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-PRINTER'><span><code class="code">PRINTER</code><a class="copiable-link" href='#index-PRINTER'> ¶</a></span></dt> <dd><p>Determine the default printer configuration file. (Dvips itself does -not use <code>PRINTER</code> to determine the output destination in any way.) +not use <code class="code">PRINTER</code> to determine the output destination in any way.) </p> </dd> -<dt id='index-TEXCONFIG'><span><code>TEXCONFIG</code><a href='#index-TEXCONFIG' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-configuration-file-path"></span> -<p>Path to search for Dvips’ <samp>config.<var>printer</var></samp> configuration -files, including the base <samp>config.ps</samp>. Using this single +<dt id='index-TEXCONFIG'><span><code class="code">TEXCONFIG</code><a class="copiable-link" href='#index-TEXCONFIG'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-configuration-file-path"></a> +<p>Path to search for Dvips’ <samp class="file">config.<var class="var">printer</var></samp> configuration +files, including the base <samp class="file">config.ps</samp>. Using this single environment variable, you can override everything else. (The -printer-specific configuration files are called <samp><var>printer</var>.cfg</samp> -on MS-DOS, but <samp>config.ps</samp> is called by that name on all +printer-specific configuration files are called <samp class="file"><var class="var">printer</var>.cfg</samp> +on MS-DOS, but <samp class="file">config.ps</samp> is called by that name on all platforms.) </p> </dd> -<dt id='index-TEXPICTS'><span><code>TEXPICTS</code><a href='#index-TEXPICTS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Path to search for included graphics files. Overrides the ‘<samp>S</samp>’ -config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>). If not set, -<code>TEXINPUTS</code> is looked for. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>. +<dt id='index-TEXPICTS'><span><code class="code">TEXPICTS</code><a class="copiable-link" href='#index-TEXPICTS'> ¶</a></span></dt> +<dd><p>Path to search for included graphics files. Overrides the ‘<samp class="samp">S</samp>’ +config file option (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>). If not set, +<code class="code">TEXINPUTS</code> is looked for. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> </dl> @@ -1572,243 +1570,243 @@ config file option (see <a href="#Configuration-file-commands">Configuration fil <hr> </div> -<div class="section" id="Config-files"> -<div class="header"> +<div class="section-level-extent" id="Config-files"> +<div class="nav-panel"> <p> Previous: <a href="#Environment-variables" accesskey="p" rel="prev">Environment variables</a>, Up: <a href="#Invoking-Dvips" accesskey="u" rel="up">Invoking Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Dvips-configuration-files"></span><h3 class="section">3.4 Dvips configuration files</h3> +<h3 class="section" id="Dvips-configuration-files">3.4 Dvips configuration files</h3> -<span id="index-configuration-files"></span> +<a class="index-entry-id" id="index-configuration-files"></a> -<p>This section describes in detail the Dvips-specific <samp>config.*</samp> -device configuration files (called <samp>*.cfg</samp> on MS-DOS), which -override the <samp>texmf.cnf</samp> +<p>This section describes in detail the Dvips-specific <samp class="file">config.*</samp> +device configuration files (called <samp class="file">*.cfg</samp> on MS-DOS), which +override the <samp class="file">texmf.cnf</samp> configuration files generic to Kpathsea which Dvips also reads -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>). +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>). </p> <p>For information about installing these files, including a prototype file -you can copy, see <a href="#config_002eps-installation"><samp>config.ps</samp> installation</a>. +you can copy, see <a class="pxref" href="#config_002eps-installation"><samp class="file">config.ps</samp> installation</a>. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Configuration-file-searching" accesskey="1">Configuration file searching</a></li> <li><a href="#Configuration-file-commands" accesskey="2">Configuration file commands</a></li> </ul> <hr> -<div class="subsection" id="Configuration-file-searching"> -<div class="header"> +<div class="subsection-level-extent" id="Configuration-file-searching"> +<div class="nav-panel"> <p> Next: <a href="#Configuration-file-commands" accesskey="n" rel="next">Configuration file commands</a>, Up: <a href="#Config-files" accesskey="u" rel="up">Dvips configuration files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configuration-file-searching-1"></span><h4 class="subsection">3.4.1 Configuration file searching</h4> +<h4 class="subsection" id="Configuration-file-searching-1">3.4.1 Configuration file searching</h4> -<span id="index-configuration-file-searching"></span> -<span id="index-searching-config-files_002c-order-of"></span> +<a class="index-entry-id" id="index-configuration-file-searching"></a> +<a class="index-entry-id" id="index-searching-config-files_002c-order-of"></a> <p>The Dvips program loads many different configuration files, so that parameters can be set globally across the system, on a per-device basis, or individually by each user. </p> -<ol> -<li> <span id="index-config_002eps_002c-searched-for"></span> -Dvips first reads (if it exists) <samp>config.ps</samp>; it is searched for +<ol class="enumerate"> +<li> <a class="index-entry-id" id="index-config_002eps_002c-searched-for"></a> +Dvips first reads (if it exists) <samp class="file">config.ps</samp>; it is searched for along the path for Dvips configuration files, as described in -<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>. +<a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>. -</li><li> <span id="index-_002edvipsrc_002c-searched-for"></span> +</li><li> <a class="index-entry-id" id="index-_002edvipsrc_002c-searched-for"></a> A user-specific startup file is loaded, so individual users can override any options set in the global file. The environment variable -<code>DVIPSRC</code>, if defined, is used as the specification of the startup +<code class="code">DVIPSRC</code>, if defined, is used as the specification of the startup file. If this variable is undefined, Dvips uses a platform-specific default name. On Unix Dvips looks for the default startup file under -the name <samp>$HOME/.dvipsrc</samp>, which is in the user’s home directory. +the name <samp class="file">$HOME/.dvipsrc</samp>, which is in the user’s home directory. On MS-DOS and MS-Windows, where users generally don’t have their private -directories, the startup file is called <samp>dvips.ini</samp> and it is +directories, the startup file is called <samp class="file">dvips.ini</samp> and it is searched for along the path for Dvips configuration files (as described -in <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>.); users are +in <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>.); users are expected to set this path as they see fit for their taste. -</li><li> <span id="index-_002dPprinter_002c-and-config-file-searching"></span> -The command line is read and parsed: if the ‘<samp>-P<var>device</var></samp>’ option -is encountered, at that point <samp>config.<var>device</var></samp> is loaded. +</li><li> <a class="index-entry-id" id="index-_002dPprinter_002c-and-config-file-searching"></a> +The command line is read and parsed: if the ‘<samp class="samp">-P<var class="var">device</var></samp>’ option +is encountered, at that point <samp class="file">config.<var class="var">device</var></samp> is loaded. Thus, the printer configuration file can override anything in the site-wide or user configuration file, and it can also override options -in the command line up to the point that the ‘<samp>-P</samp>’ option was +in the command line up to the point that the ‘<samp class="samp">-P</samp>’ option was encountered. (On MS-DOS, the printer configuration files are called -<samp><var>device</var>.cfg</samp>, since DOS doesn’t allow more than 3 characters +<samp class="file"><var class="var">device</var>.cfg</samp>, since DOS doesn’t allow more than 3 characters after the dot in filenames.) -</li><li> <span id="index-PRINTER_002c-and-config-file-searching"></span> -If no ‘<samp>-P</samp>’ option was specified, and also the ‘<samp>-o</samp>’ and -‘<samp>-f</samp>’ command line options were not used, Dvips checks the -environment variable <code>PRINTER</code>. If it exists, then -<samp>config.<var>$PRINTER</var></samp> (<samp><var>$PRINTER</var>.cfg</samp> on MS-DOS) is +</li><li> <a class="index-entry-id" id="index-PRINTER_002c-and-config-file-searching"></a> +If no ‘<samp class="samp">-P</samp>’ option was specified, and also the ‘<samp class="samp">-o</samp>’ and +‘<samp class="samp">-f</samp>’ command line options were not used, Dvips checks the +environment variable <code class="code">PRINTER</code>. If it exists, then +<samp class="file">config.<var class="var">$PRINTER</var></samp> (<samp class="file"><var class="var">$PRINTER</var>.cfg</samp> on MS-DOS) is loaded (if it exists). </li></ol> -<p>Because the <samp>.dvipsrc</samp> file is read before the printer-specific +<p>Because the <samp class="file">.dvipsrc</samp> file is read before the printer-specific configuration files, individual users cannot override settings in the -latter. On the other hand, the <code>TEXCONFIG</code> path can be set to +latter. On the other hand, the <code class="code">TEXCONFIG</code> path can be set to anything, so the users can always define their own printer-specific configuration files to be found before the system’s. </p> <p>A few command-line options are treated specially, in that they are not overridden by configuration files: </p> -<dl compact="compact"> -<dt><span>‘<samp>-D</samp>’</span></dt> +<dl class="table"> +<dt>‘<samp class="samp">-D</samp>’</dt> <dd><p>As well as setting the resolution, this unsets the mode, if the mode was -previously set from a configuration file. If <samp>config.$PRINTER</samp> is -read, however, any ‘<samp>D</samp>’ or ‘<samp>M</samp>’ lines from there will take +previously set from a configuration file. If <samp class="file">config.$PRINTER</samp> is +read, however, any ‘<samp class="samp">D</samp>’ or ‘<samp class="samp">M</samp>’ lines from there will take effect. </p> </dd> -<dt><span>‘<samp>-mode</samp>’</span></dt> -<dd><p>This overrides any mode setting (‘<samp>M</samp>’ line) in configuration files. -‘<samp>-mode</samp>’ does not affect the resolution. +<dt>‘<samp class="samp">-mode</samp>’</dt> +<dd><p>This overrides any mode setting (‘<samp class="samp">M</samp>’ line) in configuration files. +‘<samp class="samp">-mode</samp>’ does not affect the resolution. </p> </dd> -<dt><span>‘<samp>-o</samp>’</span></dt> -<dd><p>This overrides any output setting (‘<samp>o</samp>’ line) in configuration files. +<dt>‘<samp class="samp">-o</samp>’</dt> +<dd><p>This overrides any output setting (‘<samp class="samp">o</samp>’ line) in configuration files. </p> </dd> </dl> <p>The purpose of these special cases is to (1) minimize the chance of -having a mismatched mode and resolution (which ‘<samp>mktexpk</samp>’ cannot +having a mismatched mode and resolution (which ‘<samp class="samp">mktexpk</samp>’ cannot resolve), and (2) let command-line options override config files where possible. </p> <hr> </div> -<div class="subsection" id="Configuration-file-commands"> -<div class="header"> +<div class="subsection-level-extent" id="Configuration-file-commands"> +<div class="nav-panel"> <p> Previous: <a href="#Configuration-file-searching" accesskey="p" rel="prev">Configuration file searching</a>, Up: <a href="#Config-files" accesskey="u" rel="up">Dvips configuration files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configuration-file-commands-1"></span><h4 class="subsection">3.4.2 Configuration file commands</h4> +<h4 class="subsection" id="Configuration-file-commands-1">3.4.2 Configuration file commands</h4> -<span id="index-configuration-file-options"></span> -<span id="index-Dvips-configuration-file-options"></span> +<a class="index-entry-id" id="index-configuration-file-options"></a> +<a class="index-entry-id" id="index-Dvips-configuration-file-options"></a> <p>Most of the configuration file commands are similar to corresponding command line options, but there are a few exceptions. When they are the same, we omit the description here. </p> <p>As with command line options, many may be turned off by suffixing the -letter with a zero (‘<samp>0</samp>’). +letter with a zero (‘<samp class="samp">0</samp>’). </p> -<span id="index-comments_002c-in-configuration-files"></span> -<span id="index-continuation-lines_002c-not-supported"></span> +<a class="index-entry-id" id="index-comments_002c-in-configuration-files"></a> +<a class="index-entry-id" id="index-continuation-lines_002c-not-supported"></a> <p>Within a configuration file, empty lines, and lines starting with a space, asterisk, equal sign, percent sign, or pound sign are ignored. There is no provision for continuation lines. </p> -<dl compact="compact"> -<dt id='index-_0040-config-command-_0028define-paper-sizes_0029'><span>‘<samp>@ <var>name hsize vsize</var></samp>’<a href='#index-_0040-config-command-_0028define-paper-sizes_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Define paper sizes. See <a href="#Config-file-paper-sizes">Configuration file paper size command</a>. +<dl class="table"> +<dt id='index-_0040-config-command-_0028define-paper-sizes_0029'><span>‘<samp class="samp">@ <var class="var">name hsize vsize</var></samp>’<a class="copiable-link" href='#index-_0040-config-command-_0028define-paper-sizes_0029'> ¶</a></span></dt> +<dd><p>Define paper sizes. See <a class="xref" href="#Config-file-paper-sizes">Configuration file paper size command</a>. </p> </dd> -<dt id='index-a-config-command-_0028conserve-memory_0029'><span>‘<samp>a*</samp>’<a href='#index-a-config-command-_0028conserve-memory_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Memory conservation. Same as ‘<samp>-a</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-a-config-command-_0028conserve-memory_0029'><span>‘<samp class="samp">a*</samp>’<a class="copiable-link" href='#index-a-config-command-_0028conserve-memory_0029'> ¶</a></span></dt> +<dd><p>Memory conservation. Same as ‘<samp class="samp">-a</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-b-config-command-_0028_0023copies_0029'><span>‘<samp>b <var>#copies</var></samp>’<a href='#index-b-config-command-_0028_0023copies_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Multiple copies. Same as ‘<samp>-b</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-b-config-command-_0028_0023copies_0029'><span>‘<samp class="samp">b <var class="var">#copies</var></samp>’<a class="copiable-link" href='#index-b-config-command-_0028_0023copies_0029'> ¶</a></span></dt> +<dd><p>Multiple copies. Same as ‘<samp class="samp">-b</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029'><span>‘<samp>bitmapfontenc <var>option</var></samp>’<a href='#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Turns bitmap font encoding to ‘<samp>off</samp>’, ‘<samp>on</samp>’ (no warnings -for missing bitmap font encodings), or ‘<samp>strict</samp>’ (with warnings +<dt id='index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029'><span>‘<samp class="samp">bitmapfontenc <var class="var">option</var></samp>’<a class="copiable-link" href='#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029'> ¶</a></span></dt> +<dd><p>Turns bitmap font encoding to ‘<samp class="samp">off</samp>’, ‘<samp class="samp">on</samp>’ (no warnings +for missing bitmap font encodings), or ‘<samp class="samp">strict</samp>’ (with warnings for missing bitmap font encodings). </p> </dd> -<dt id='index-c-config-command-_0028include-another-config-file_0029'><span>‘<samp>c <var>filename</var></samp>’<a href='#index-c-config-command-_0028include-another-config-file_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Include <var>filename</var> as an additional configuration file, read +<dt id='index-c-config-command-_0028include-another-config-file_0029'><span>‘<samp class="samp">c <var class="var">filename</var></samp>’<a class="copiable-link" href='#index-c-config-command-_0028include-another-config-file_0029'> ¶</a></span></dt> +<dd><p>Include <var class="var">filename</var> as an additional configuration file, read immediately. </p> </dd> -<dt id='index-D-config-command-_0028dpi_0029'><span>‘<samp>D <var>dpi</var></samp>’<a href='#index-D-config-command-_0028dpi_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output resolution. Same as ‘<samp>-D</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-D-config-command-_0028dpi_0029'><span>‘<samp class="samp">D <var class="var">dpi</var></samp>’<a class="copiable-link" href='#index-D-config-command-_0028dpi_0029'> ¶</a></span></dt> +<dd><p>Output resolution. Same as ‘<samp class="samp">-D</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-e-config-command-_0028maxdrift_0029'><span>‘<samp>e <var>num</var></samp>’<a href='#index-e-config-command-_0028maxdrift_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Max drift. Same as ‘<samp>-e</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-e-config-command-_0028maxdrift_0029'><span>‘<samp class="samp">e <var class="var">num</var></samp>’<a class="copiable-link" href='#index-e-config-command-_0028maxdrift_0029'> ¶</a></span></dt> +<dd><p>Max drift. Same as ‘<samp class="samp">-e</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-E-config-command-_0028shell-escape_0029'><span>‘<samp>E <var>command</var></samp>’<a href='#index-E-config-command-_0028shell-escape_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-system-in-config-file"></span> -<span id="index-datestamp_002c-in-output"></span> -<span id="index-shell-escape_002c-in-config-file"></span> -<p>Executes the command listed with <code>system</code>(3); can be used to get +<dt id='index-E-config-command-_0028shell-escape_0029'><span>‘<samp class="samp">E <var class="var">command</var></samp>’<a class="copiable-link" href='#index-E-config-command-_0028shell-escape_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-system-in-config-file"></a> +<a class="index-entry-id" id="index-datestamp_002c-in-output"></a> +<a class="index-entry-id" id="index-shell-escape_002c-in-config-file"></a> +<p>Executes the command listed with <code class="code">system</code>(3); can be used to get the current date into a header file for inclusion, for instance. Possibly dangerous; this may be disabled, in which case a warning will be printed if the option is used (and warnings are not suppressed). </p> </dd> -<dt id='index-f-config-command-_0028filter_0029'><span>‘<samp>f*</samp>’<a href='#index-f-config-command-_0028filter_0029' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>F</samp>’</span></dt> -<dd><span id="index-F-config-command-_0028filter_0029"></span> -<p>Run as a filter. Same as ‘<samp>-f</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-f-config-command-_0028filter_0029'><span>‘<samp class="samp">f*</samp>’<a class="copiable-link" href='#index-f-config-command-_0028filter_0029'> ¶</a></span></dt> +<dt>‘<samp class="samp">F</samp>’</dt> +<dd><a class="index-entry-id" id="index-F-config-command-_0028filter_0029"></a> +<p>Run as a filter. Same as ‘<samp class="samp">-f</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-G-config-command-_0028character-shifting_0029'><span>‘<samp>G*</samp>’<a href='#index-G-config-command-_0028character-shifting_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Shift low-numbered characters; obsolete. Same as ‘<samp>-G</samp>’, -see <a href="#Option-details">Option details</a>. +<dt id='index-G-config-command-_0028character-shifting_0029'><span>‘<samp class="samp">G*</samp>’<a class="copiable-link" href='#index-G-config-command-_0028character-shifting_0029'> ¶</a></span></dt> +<dd><p>Shift low-numbered characters; obsolete. Same as ‘<samp class="samp">-G</samp>’, +see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-h-config-command-_0028download-additional-header_0029'><span>‘<samp>h <var>header</var></samp>’<a href='#index-h-config-command-_0028download-additional-header_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Prepend <var>header</var> to output. Same as ‘<samp>h-</samp>’; that is, the -config file <code>h</code> directive suppresses any inclusion of standard -headers (see <a href="#Option-details">Option details</a>). +<dt id='index-h-config-command-_0028download-additional-header_0029'><span>‘<samp class="samp">h <var class="var">header</var></samp>’<a class="copiable-link" href='#index-h-config-command-_0028download-additional-header_0029'> ¶</a></span></dt> +<dd><p>Prepend <var class="var">header</var> to output. Same as ‘<samp class="samp">h-</samp>’; that is, the +config file <code class="code">h</code> directive suppresses any inclusion of standard +headers (see <a class="pxref" href="#Option-details">Option details</a>). </p> </dd> -<dt id='index-H-config-command-_0028PostScript-header-path_0029'><span>‘<samp>H <var>path</var></samp>’<a href='#index-H-config-command-_0028PostScript-header-path_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-header-path_002c-defining"></span> -<span id="index-DVIPSHEADERS_002c-overrides-H"></span> -<p>Use <var>path</var> to search for PostScript header files. The environment -variable <code>DVIPSHEADERS</code> overrides this. +<dt id='index-H-config-command-_0028PostScript-header-path_0029'><span>‘<samp class="samp">H <var class="var">path</var></samp>’<a class="copiable-link" href='#index-H-config-command-_0028PostScript-header-path_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-header-path_002c-defining"></a> +<a class="index-entry-id" id="index-DVIPSHEADERS_002c-overrides-H"></a> +<p>Use <var class="var">path</var> to search for PostScript header files. The environment +variable <code class="code">DVIPSHEADERS</code> overrides this. </p> </dd> -<dt id='index-i-config-command-_0028pages_002fsection_0029'><span>‘<samp>i <var>n</var></samp>’<a href='#index-i-config-command-_0028pages_002fsection_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Make multiple output files. Same as ‘<samp>-i -S <var>n</var></samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-i-config-command-_0028pages_002fsection_0029'><span>‘<samp class="samp">i <var class="var">n</var></samp>’<a class="copiable-link" href='#index-i-config-command-_0028pages_002fsection_0029'> ¶</a></span></dt> +<dd><p>Make multiple output files. Same as ‘<samp class="samp">-i -S <var class="var">n</var></samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-j-config-command-_0028partial-font-downloading_0029'><span>‘<samp>j*</samp>’<a href='#index-j-config-command-_0028partial-font-downloading_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Partially download Type 1 fonts. Same as ‘<samp>-j</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-j-config-command-_0028partial-font-downloading_0029'><span>‘<samp class="samp">j*</samp>’<a class="copiable-link" href='#index-j-config-command-_0028partial-font-downloading_0029'> ¶</a></span></dt> +<dd><p>Partially download Type 1 fonts. Same as ‘<samp class="samp">-j</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-K-config-command-_0028comment-removal_0029'><span>‘<samp>K*</samp>’<a href='#index-K-config-command-_0028comment-removal_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Remove comments from included PostScript files. Same as ‘<samp>-K</samp>’, -see <a href="#Option-details">Option details</a>. +<dt id='index-K-config-command-_0028comment-removal_0029'><span>‘<samp class="samp">K*</samp>’<a class="copiable-link" href='#index-K-config-command-_0028comment-removal_0029'> ¶</a></span></dt> +<dd><p>Remove comments from included PostScript files. Same as ‘<samp class="samp">-K</samp>’, +see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-L-config-command-_0028last-paper-size-wins_0029'><span>‘<samp>L*</samp>’<a href='#index-L-config-command-_0028last-paper-size-wins_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-L-config-command-_0028last-paper-size-wins_0029'><span>‘<samp class="samp">L*</samp>’<a class="copiable-link" href='#index-L-config-command-_0028last-paper-size-wins_0029'> ¶</a></span></dt> <dd><p>If zero, the first paper size specified is effective, else the last. -Same as ‘<samp>-L</samp>’, see <a href="#Option-details">Option details</a>. +Same as ‘<samp class="samp">-L</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-landscaperotate-config-command'><span>‘<samp>landscaperotate</samp>’<a href='#index-landscaperotate-config-command' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-landscaperotate-config-command'><span>‘<samp class="samp">landscaperotate</samp>’<a class="copiable-link" href='#index-landscaperotate-config-command'> ¶</a></span></dt> <dd><p>Permit rotation of page content to match page size. -Same as ‘<samp>-landscaperotate</samp>’, see <a href="#Option-details">Option details</a>. +Same as ‘<samp class="samp">-landscaperotate</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-m-config-command-_0028available-memory_0029'><span>‘<samp>m <var>num</var></samp>’<a href='#index-m-config-command-_0028available-memory_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-memory-available"></span> -<span id="index-printer-memory"></span> -<p>Declare <var>num</var> as the memory available for fonts and strings in the +<dt id='index-m-config-command-_0028available-memory_0029'><span>‘<samp class="samp">m <var class="var">num</var></samp>’<a class="copiable-link" href='#index-m-config-command-_0028available-memory_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-memory-available"></a> +<a class="index-entry-id" id="index-printer-memory"></a> +<p>Declare <var class="var">num</var> as the memory available for fonts and strings in the printer. The compile-time default is 180000, but this is typically -overridden by <samp>config.ps</samp> or other configuration files. This +overridden by <samp class="file">config.ps</samp> or other configuration files. This value must be accurate if memory conservation and document splitting is to work correctly. To determine this value, send the following file to the printer: </p> <div class="example"> -<pre class="example">%! Hey, we're PostScript +<pre class="example-preformatted">%! Hey, we're PostScript /Times-Roman findfont 30 scalefont setfont 144 432 moveto vmstatus exch sub 40 string cvs show pop showpage </pre></div> @@ -1822,158 +1820,158 @@ might return a ridiculously low number; for example, the NeXT computer and Ghostscript. In these cases, a value of, say, 10 million is likely fine. </p> -<p>To go all out: If <var>num</var> is zero or negative, Dvips sets the +<p>To go all out: If <var class="var">num</var> is zero or negative, Dvips sets the available memory to a very large number (the maximum integer value in C), the idea being that output is not to a printer and thus no splitting of the output is desirable. The Dvips config file -<samp>config.maxmem</samp> is provided to do this conveniently, namely with -‘<samp>dvips -Pmaxmem</samp>’. +<samp class="file">config.maxmem</samp> is provided to do this conveniently, namely with +‘<samp class="samp">dvips -Pmaxmem</samp>’. </p> </dd> -<dt id='index-M-config-command-_0028mf-mode_0029'><span>‘<samp>M <var>mode</var></samp>’<a href='#index-M-config-command-_0028mf-mode_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Metafont mode. Same as ‘<samp>-mode</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-M-config-command-_0028mf-mode_0029'><span>‘<samp class="samp">M <var class="var">mode</var></samp>’<a class="copiable-link" href='#index-M-config-command-_0028mf-mode_0029'> ¶</a></span></dt> +<dd><p>Metafont mode. Same as ‘<samp class="samp">-mode</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-N--config-command-_0028disable-EPS_0029'><span>‘<samp>N*</samp>’<a href='#index-N--config-command-_0028disable-EPS_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-N-config-command-_0028disable-EPS_0029'><span>‘<samp class="samp">N*</samp>’<a class="copiable-link" href='#index-N-config-command-_0028disable-EPS_0029'> ¶</a></span></dt> <dd><p>Disable structured comments. Beware: This also turns off displaying page numbers or changing to specific page numbers in PostScript viewers. -Same as ‘<samp>-N</samp>’, see <a href="#Option-details">Option details</a>. +Same as ‘<samp class="samp">-N</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-o-config-command-_0028output-destination_0029'><span>‘<samp>o <var>name</var></samp>’<a href='#index-o-config-command-_0028output-destination_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-output-file_002c-setting"></span> -<p>Send output to <var>name</var>. Same as ‘<samp>-o</samp>’, see <a href="#Option-details">Option details</a>. -In the file <samp>config.foo</samp>, a setting like this is probably +<dt id='index-o-config-command-_0028output-destination_0029'><span>‘<samp class="samp">o <var class="var">name</var></samp>’<a class="copiable-link" href='#index-o-config-command-_0028output-destination_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-output-file_002c-setting"></a> +<p>Send output to <var class="var">name</var>. Same as ‘<samp class="samp">-o</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. +In the file <samp class="file">config.foo</samp>, a setting like this is probably appropriate: </p><div class="example"> -<pre class="example">o |lpr -Pfoo +<pre class="example-preformatted">o |lpr -Pfoo </pre></div> -<p>The MS-DOS version will emulate spooling to <code>lpr</code> by printing to -the local printer device <samp>PRN</samp> if it doesn’t find an executable -program by that name in the current directory or along the <code>PATH</code>. +<p>The MS-DOS version will emulate spooling to <code class="code">lpr</code> by printing to +the local printer device <samp class="file">PRN</samp> if it doesn’t find an executable +program by that name in the current directory or along the <code class="code">PATH</code>. </p> </dd> -<dt id='index-O-config-command-_0028page-offsets_0029'><span>‘<samp>O <var>xoff</var>,<var>yoff</var></samp>’<a href='#index-O-config-command-_0028page-offsets_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Origin offset. Same as ‘<samp>-O</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-O-config-command-_0028page-offsets_0029'><span>‘<samp class="samp">O <var class="var">xoff</var>,<var class="var">yoff</var></samp>’<a class="copiable-link" href='#index-O-config-command-_0028page-offsets_0029'> ¶</a></span></dt> +<dd><p>Origin offset. Same as ‘<samp class="samp">-O</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-p-config-command-_0028font-aliases_0029'><span>‘<samp>p <span class="roman">[+]</span><var>name</var></samp>’<a href='#index-p-config-command-_0028font-aliases_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-PostScript-font-alias-file-1"></span> -<span id="index-resident-fonts_002c-different-in-different-printers-1"></span> -<span id="index-_002bpsmapfile"></span> -<p>Examine <var>name</var> for PostScript font aliases. Default is -<samp>psfonts.map</samp>. This option allows you to specify different resident -fonts that different printers may have. If <var>name</var> starts with a -‘<samp>+</samp>’ character, then the rest of the name (after any leading spaces) +<dt id='index-p-config-command-_0028font-aliases_0029'><span>‘<samp class="samp">p <span class="r">[+]</span><var class="var">name</var></samp>’<a class="copiable-link" href='#index-p-config-command-_0028font-aliases_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-PostScript-font-alias-file-1"></a> +<a class="index-entry-id" id="index-resident-fonts_002c-different-in-different-printers-1"></a> +<a class="index-entry-id" id="index-_002bpsmapfile"></a> +<p>Examine <var class="var">name</var> for PostScript font aliases. Default is +<samp class="file">psfonts.map</samp>. This option allows you to specify different resident +fonts that different printers may have. If <var class="var">name</var> starts with a +‘<samp class="samp">+</samp>’ character, then the rest of the name (after any leading spaces) is used as an additional map file; thus, it is possible to have local map files pointed to by local configuration files that append to the global map file. This can be used for font families. </p> </dd> -<dt id='index-P-config-command-_0028PK-path_0029'><span>‘<samp>P <var>path</var></samp>’<a href='#index-P-config-command-_0028PK-path_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-PKFONTS_002c-overrides-P"></span> -<span id="index-TEXPKS_002c-overrides-P"></span> -<span id="index-GLYPHFONTS_002c-overrides-P"></span> -<span id="index-TEXFONTS_002c-overrides-P"></span> -<p>Use <var>path</var> to search for bitmap PK font files is <var>path</var>. The -<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, and <code>TEXFONTS</code> -environment variables override this. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>. +<dt id='index-P-config-command-_0028PK-path_0029'><span>‘<samp class="samp">P <var class="var">path</var></samp>’<a class="copiable-link" href='#index-P-config-command-_0028PK-path_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-PKFONTS_002c-overrides-P"></a> +<a class="index-entry-id" id="index-TEXPKS_002c-overrides-P"></a> +<a class="index-entry-id" id="index-GLYPHFONTS_002c-overrides-P"></a> +<a class="index-entry-id" id="index-TEXFONTS_002c-overrides-P"></a> +<p>Use <var class="var">path</var> to search for bitmap PK font files is <var class="var">path</var>. The +<code class="code">PKFONTS</code>, <code class="code">TEXPKS</code>, <code class="code">GLYPHFONTS</code>, and <code class="code">TEXFONTS</code> +environment variables override this. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> -<dt id='index-q-config-command-_0028quiet_0029'><span>‘<samp>q*</samp>’<a href='#index-q-config-command-_0028quiet_0029' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>Q</samp>’</span></dt> -<dd><span id="index-Q-config-command-_0028quiet_0029"></span> -<p>Run quietly. Same as ‘<samp>-q</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-q-config-command-_0028quiet_0029'><span>‘<samp class="samp">q*</samp>’<a class="copiable-link" href='#index-q-config-command-_0028quiet_0029'> ¶</a></span></dt> +<dt>‘<samp class="samp">Q</samp>’</dt> +<dd><a class="index-entry-id" id="index-Q-config-command-_0028quiet_0029"></a> +<p>Run quietly. Same as ‘<samp class="samp">-q</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-r-config-command-_0028page-reversal_0029'><span>‘<samp>r*</samp>’<a href='#index-r-config-command-_0028page-reversal_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Page reversal. Same as ‘<samp>-r</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-r-config-command-_0028page-reversal_0029'><span>‘<samp class="samp">r*</samp>’<a class="copiable-link" href='#index-r-config-command-_0028page-reversal_0029'> ¶</a></span></dt> +<dd><p>Page reversal. Same as ‘<samp class="samp">-r</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-R-config-command-_0028fallback-resolution_0029'><span>‘<samp>R <var>num1 num2 …</var></samp>’<a href='#index-R-config-command-_0028fallback-resolution_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-fallback-resolutions"></span> -<span id="index-default-resolutions"></span> -<span id="index-last_002dresort-scaling_002c-with-R"></span> +<dt id='index-R-config-command-_0028fallback-resolution_0029'><span>‘<samp class="samp">R <var class="var">num1 num2 …</var></samp>’<a class="copiable-link" href='#index-R-config-command-_0028fallback-resolution_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-fallback-resolutions"></a> +<a class="index-entry-id" id="index-default-resolutions"></a> +<a class="index-entry-id" id="index-last_002dresort-scaling_002c-with-R"></a> <p>Define the list of default resolutions for PK fonts. If a font size actually used in a document is not available and cannot be created, Dvips will scale the font found at the closest of these resolutions to the requested size, using PostScript scaling. The resulting output may be ugly, and thus a warning is issued. To turn this last-resort scaling -off, use a line with just the ‘<samp>R</samp>’ and no numbers. +off, use a line with just the ‘<samp class="samp">R</samp>’ and no numbers. </p> <p>The given numbers must be sorted in increasing order; any number smaller than the preceding one is ignored. This is because it is better to scale a font up than down; scaling down can obliterate small features in the character shape. </p> -<span id="index-DVIPSSIZES_002c-overrides-R"></span> -<span id="index-TEXSIZES_002c-overrides-R"></span> -<p>The environment and config file values ‘<samp>DVIPSSIZES</samp>’ or -‘<samp>TEXSIZES</samp>’ override this configuration file setting. +<a class="index-entry-id" id="index-DVIPSSIZES_002c-overrides-R"></a> +<a class="index-entry-id" id="index-TEXSIZES_002c-overrides-R"></a> +<p>The environment and config file values ‘<samp class="samp">DVIPSSIZES</samp>’ or +‘<samp class="samp">TEXSIZES</samp>’ override this configuration file setting. </p> -<span id="index-default_005ftexsizes-Make-variable"></span> -<p>If no ‘<samp>R</samp>’ settings or environment variables are specified, a list +<a class="index-entry-id" id="index-default_005ftexsizes-Make-variable"></a> +<p>If no ‘<samp class="samp">R</samp>’ settings or environment variables are specified, a list compiled in during installation is used. This default list is defined by -the Makefile variable ‘<samp>default_texsizes</samp>’, defined in the file -<samp>make/paths.make</samp>. +the Makefile variable ‘<samp class="samp">default_texsizes</samp>’, defined in the file +<samp class="file">make/paths.make</samp>. </p> </dd> -<dt id='index-s-config-command-_0028global-save_002frestore_0029'><span>‘<samp>s*</samp>’<a href='#index-s-config-command-_0028global-save_002frestore_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output global save/restore. Same as ‘<samp>-s</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-s-config-command-_0028global-save_002frestore_0029'><span>‘<samp class="samp">s*</samp>’<a class="copiable-link" href='#index-s-config-command-_0028global-save_002frestore_0029'> ¶</a></span></dt> +<dd><p>Output global save/restore. Same as ‘<samp class="samp">-s</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-S-config-command-_0028pict-path_0029'><span>‘<samp>S <var>path</var></samp>’<a href='#index-S-config-command-_0028pict-path_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXPICTS_002c-overrides-S"></span> -<span id="index-TEXINPUTS_002c-overrides-S"></span> -<p>Use <var>path</var> to search for special illustrations (Encapsulated -PostScript files or psfiles). The <code>TEXPICTS</code> and then -<code>TEXINPUTS</code> environment variables override this. +<dt id='index-S-config-command-_0028pict-path_0029'><span>‘<samp class="samp">S <var class="var">path</var></samp>’<a class="copiable-link" href='#index-S-config-command-_0028pict-path_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXPICTS_002c-overrides-S"></a> +<a class="index-entry-id" id="index-TEXINPUTS_002c-overrides-S"></a> +<p>Use <var class="var">path</var> to search for special illustrations (Encapsulated +PostScript files or psfiles). The <code class="code">TEXPICTS</code> and then +<code class="code">TEXINPUTS</code> environment variables override this. </p> </dd> -<dt id='index-T-config-command-_0028TFM-path_0029'><span>‘<samp>T <var>path</var></samp>’<a href='#index-T-config-command-_0028TFM-path_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TFMFONTS_002c-overrides-T"></span> -<span id="index-TEXFONTS_002c-overrides-T"></span> -<p>Use <var>path</var> to search for TFM files. The <code>TFMFONTS</code> and then -<code>TEXFONTS</code> environment variables overrides this. This path is used +<dt id='index-T-config-command-_0028TFM-path_0029'><span>‘<samp class="samp">T <var class="var">path</var></samp>’<a class="copiable-link" href='#index-T-config-command-_0028TFM-path_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TFMFONTS_002c-overrides-T"></a> +<a class="index-entry-id" id="index-TEXFONTS_002c-overrides-T"></a> +<p>Use <var class="var">path</var> to search for TFM files. The <code class="code">TFMFONTS</code> and then +<code class="code">TEXFONTS</code> environment variables overrides this. This path is used for resident fonts and fonts that can’t otherwise be found. </p> </dd> -<dt id='index-U-config-command-_0028Xerox-4045_0029'><span>‘<samp>U*</samp>’<a href='#index-U-config-command-_0028Xerox-4045_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Work around bug in Xerox 4045 printer. Same as ‘<samp>-U</samp>’, see <a href="#Option-details">Option details</a>. +<dt id='index-U-config-command-_0028Xerox-4045_0029'><span>‘<samp class="samp">U*</samp>’<a class="copiable-link" href='#index-U-config-command-_0028Xerox-4045_0029'> ¶</a></span></dt> +<dd><p>Work around bug in Xerox 4045 printer. Same as ‘<samp class="samp">-U</samp>’, see <a class="pxref" href="#Option-details">Option details</a>. </p> </dd> -<dt id='index-V-config-command-_0028vf-path_0029'><span>‘<samp>V <var>path</var></samp>’<a href='#index-V-config-command-_0028vf-path_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-virtual-font-path"></span> -<span id="index-device-dependency_002c-and-virtual-fonts"></span> -<p>Use <var>path</var> to search for virtual font files. This may be +<dt id='index-V-config-command-_0028vf-path_0029'><span>‘<samp class="samp">V <var class="var">path</var></samp>’<a class="copiable-link" href='#index-V-config-command-_0028vf-path_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-virtual-font-path"></a> +<a class="index-entry-id" id="index-device-dependency_002c-and-virtual-fonts"></a> +<p>Use <var class="var">path</var> to search for virtual font files. This may be device-dependent if you use virtual fonts to simulate actual fonts on different devices. </p> </dd> -<dt id='index-W-config-command-_0028emit-warning_0029'><span>‘<samp>W <span class="roman">[<var>string</var>]</span></samp>’<a href='#index-W-config-command-_0028emit-warning_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-warning-messages_002c-defining"></span> -<p>If <var>string</var> is supplied, write it to standard error after reading -all the configuration files; with no <var>string</var>, cancel any previous -‘<samp>W</samp>’ message. This is useful in the default configuration file to +<dt id='index-W-config-command-_0028emit-warning_0029'><span>‘<samp class="samp">W <span class="r">[<var class="var">string</var>]</span></samp>’<a class="copiable-link" href='#index-W-config-command-_0028emit-warning_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-warning-messages_002c-defining"></a> +<p>If <var class="var">string</var> is supplied, write it to standard error after reading +all the configuration files; with no <var class="var">string</var>, cancel any previous +‘<samp class="samp">W</samp>’ message. This is useful in the default configuration file to remind users to specify a printer, for instance, or to notify users about special characteristics of a particular printer. </p> </dd> -<dt id='index-X-config-command-_0028horizontal-resolution_0029'><span>‘<samp>X <var>num</var></samp>’<a href='#index-X-config-command-_0028horizontal-resolution_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Horizontal resolution. Same as ‘<samp>-X</samp>’ (see <a href="#Option-details">Option details</a>). +<dt id='index-X-config-command-_0028horizontal-resolution_0029'><span>‘<samp class="samp">X <var class="var">num</var></samp>’<a class="copiable-link" href='#index-X-config-command-_0028horizontal-resolution_0029'> ¶</a></span></dt> +<dd><p>Horizontal resolution. Same as ‘<samp class="samp">-X</samp>’ (see <a class="pxref" href="#Option-details">Option details</a>). </p> </dd> -<dt id='index-Y-config-command-_0028vertical-resolution_0029'><span>‘<samp>Y <var>num</var></samp>’<a href='#index-Y-config-command-_0028vertical-resolution_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Vertical resolution. Same as ‘<samp>-Y</samp>’ (see <a href="#Option-details">Option details</a>). +<dt id='index-Y-config-command-_0028vertical-resolution_0029'><span>‘<samp class="samp">Y <var class="var">num</var></samp>’<a class="copiable-link" href='#index-Y-config-command-_0028vertical-resolution_0029'> ¶</a></span></dt> +<dd><p>Vertical resolution. Same as ‘<samp class="samp">-Y</samp>’ (see <a class="pxref" href="#Option-details">Option details</a>). </p> </dd> -<dt id='index-Z-config-command-_0028compress-fonts_0029'><span>‘<samp>Z*</samp>’<a href='#index-Z-config-command-_0028compress-fonts_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Compress bitmap fonts. Same as ‘<samp>-Z</samp>’ (see <a href="#Option-details">Option details</a>). +<dt id='index-Z-config-command-_0028compress-fonts_0029'><span>‘<samp class="samp">Z*</samp>’<a class="copiable-link" href='#index-Z-config-command-_0028compress-fonts_0029'> ¶</a></span></dt> +<dd><p>Compress bitmap fonts. Same as ‘<samp class="samp">-Z</samp>’ (see <a class="pxref" href="#Option-details">Option details</a>). </p> </dd> -<dt id='index-z-config-command-_0028secure-mode_0029'><span>‘<samp>z*</samp>’<a href='#index-z-config-command-_0028secure-mode_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Disables execution of system commands, like ‘<samp>-R</samp>’ -(see <a href="#Option-details">Option details</a>). If ‘<samp>-R</samp>’ is specified +<dt id='index-z-config-command-_0028secure-mode_0029'><span>‘<samp class="samp">z*</samp>’<a class="copiable-link" href='#index-z-config-command-_0028secure-mode_0029'> ¶</a></span></dt> +<dd><p>Disables execution of system commands, like ‘<samp class="samp">-R</samp>’ +(see <a class="pxref" href="#Option-details">Option details</a>). If ‘<samp class="samp">-R</samp>’ is specified on the command line, that takes precedence. </p> </dd> @@ -1984,148 +1982,148 @@ on the command line, that takes precedence. </div> </div> </div> -<div class="chapter" id="Paper-size-and-landscape"> -<div class="header"> +<div class="chapter-level-extent" id="Paper-size-and-landscape"> +<div class="nav-panel"> <p> Next: <a href="#Interaction-with-PostScript" accesskey="n" rel="next">Interaction with PostScript</a>, Previous: <a href="#Invoking-Dvips" accesskey="p" rel="prev">Invoking Dvips</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Paper-size-and-landscape-orientation"></span><h2 class="chapter">4 Paper size and landscape orientation</h2> +<h2 class="chapter" id="Paper-size-and-landscape-orientation">4 Paper size and landscape orientation</h2> -<span id="index-paper-size_002c-general"></span> +<a class="index-entry-id" id="index-paper-size_002c-general"></a> <p>Most TeX documents at a particular site are designed to use the local standard paper size (letter size in the United States, A4 elsewhere). The Dvips program can be customized either sitewide or for a particular printer. </p> -<span id="index-landscape-orientation_002c-defined"></span> -<span id="index-portrait-orientation_002c-defined"></span> +<a class="index-entry-id" id="index-landscape-orientation_002c-defined"></a> +<a class="index-entry-id" id="index-portrait-orientation_002c-defined"></a> <p>On the other hand, plenty of documents are designed for other paper sizes. For instance, you may want to design a document that has the long edge of the paper horizontal. This can be useful when typesetting booklets, brochures, complex tables, or many other -documents. This type of paper orientation is called <em>landscape</em> -orientation (the default orientation is called <em>portrait</em>). +documents. This type of paper orientation is called <em class="dfn">landscape</em> +orientation (the default orientation is called <em class="dfn">portrait</em>). Alternatively, a document might be designed for ledger or A3 paper. </p> <p>Since the intended paper size in these cases is a document design decision, not a printing decision, such information should be given in the TeX file and not on the Dvips command line. For this reason, -Dvips supports a ‘<samp>papersize</samp>’ special. It is hoped that this +Dvips supports a ‘<samp class="samp">papersize</samp>’ special. It is hoped that this special will become standard over time for TeX previewers and other printer drivers. </p> -<p>Some LaTeX packages, e.g., ‘<samp>hyperref.sty</samp>’, write a -‘<samp>papersize</samp>’ special into the DVI file. In this case, you need +<p>Some LaTeX packages, e.g., ‘<samp class="samp">hyperref.sty</samp>’, write a +‘<samp class="samp">papersize</samp>’ special into the DVI file. In this case, you need not and should not attempt to override it manually. </p> -<ul class="section-toc"> -<li><a href="#papersize-special" accesskey="1">‘<samp>papersize</samp>’ special</a></li> +<ul class="mini-toc"> +<li><a href="#papersize-special" accesskey="1">‘<samp class="samp">papersize</samp>’ special</a></li> <li><a href="#Config-file-paper-sizes" accesskey="2">Configuration file paper size command</a></li> <li><a href="#Paper-trays" accesskey="3">Paper trays</a></li> </ul> <hr> -<div class="section" id="papersize-special"> -<div class="header"> +<div class="section-level-extent" id="papersize-special"> +<div class="nav-panel"> <p> Next: <a href="#Config-file-paper-sizes" accesskey="n" rel="next">Configuration file paper size command</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="papersize-special-1"></span><h3 class="section">4.1 ‘<samp>papersize</samp>’ special</h3> +<h3 class="section" id="papersize-special-1">4.1 ‘<samp class="samp">papersize</samp>’ special</h3> -<span id="index-papersize-special"></span> +<a class="index-entry-id" id="index-papersize-special"></a> -<p>The format of the ‘<samp>papersize</samp>’ special is +<p>The format of the ‘<samp class="samp">papersize</samp>’ special is </p> <div class="example"> -<pre class="example">\special{papersize=<var>width</var>,<var>height</var>} +<pre class="example-preformatted">\special{papersize=<var class="var">width</var>,<var class="var">height</var>} </pre></div> -<p><var>width</var> is the horizontal size of the page, and <var>height</var> is the +<p><var class="var">width</var> is the horizontal size of the page, and <var class="var">height</var> is the vertical size. The dimensions supported are the same as for TeX; namely, in (inches), cm (centimeters), mm (millimeters), pt (points), sp (scaled points), bp (big points, the same as the default PostScript unit), pc (picas), dd (didot points), and cc (ciceros). </p> -<span id="index-landscape_002c-as-_005cspecial"></span> -<p>For a US letter size landscape document, the ‘<samp>papersize</samp>’ would be: +<a class="index-entry-id" id="index-landscape_002c-as-_005cspecial"></a> +<p>For a US letter size landscape document, the ‘<samp class="samp">papersize</samp>’ would be: </p><div class="example"> -<pre class="example">\special{papersize=11in,8.5in} +<pre class="example-preformatted">\special{papersize=11in,8.5in} </pre></div> -<p>An alternate specification of <code>landscape</code>: +<p>An alternate specification of <code class="code">landscape</code>: </p><div class="example"> -<pre class="example">\special{landscape} +<pre class="example-preformatted">\special{landscape} </pre></div> <p>This is supported for backward compatibility, but it is hoped that -eventually the ‘<samp>papersize</samp>’ comment will dominate. +eventually the ‘<samp class="samp">papersize</samp>’ comment will dominate. </p> -<p>Of course, such a <code>\special</code> only informs Dvips of the desired -paper size; you must also adjust <code>\hsize</code> and <code>\vsize</code> in your +<p>Of course, such a <code class="code">\special</code> only informs Dvips of the desired +paper size; you must also adjust <code class="code">\hsize</code> and <code class="code">\vsize</code> in your TeX document typeset to those dimensions. </p> -<span id="index-unknown_002c-paper-format-for-_002dt"></span> -<p>When using the ‘<samp>papersize</samp>’ special, you generally should not also -specify <code>-t</code> on the command line (see <a href="#Option-details">Option details</a>). The +<a class="index-entry-id" id="index-unknown_002c-paper-format-for-_002dt"></a> +<p>When using the ‘<samp class="samp">papersize</samp>’ special, you generally should not also +specify <code class="code">-t</code> on the command line (see <a class="pxref" href="#Option-details">Option details</a>). The exception is when using a nonstandard paper size that isn’t -predefined; in this case, use <code>-t unknown</code>. +predefined; in this case, use <code class="code">-t unknown</code>. </p> -<p>The ‘<samp>papersize</samp>’ special must occur somewhere on the first page of -the document. Some packages, notably ‘<samp>hyperref</samp>’, insert this special. +<p>The ‘<samp class="samp">papersize</samp>’ special must occur somewhere on the first page of +the document. Some packages, notably ‘<samp class="samp">hyperref</samp>’, insert this special. </p> -<p>By default, if a DVI file contains multiple ‘<samp>papersize</samp>’ specials, -the last one wins; this is also the behavior of the <code>dvipdfmx</code> -driver. If the <code>-L0</code> command line option or <code>L0</code> config +<p>By default, if a DVI file contains multiple ‘<samp class="samp">papersize</samp>’ specials, +the last one wins; this is also the behavior of the <code class="code">dvipdfmx</code> +driver. If the <code class="code">-L0</code> command line option or <code class="code">L0</code> config file command is specified, the first special wins—this was the behavior of Dvips prior to the 2017 release. </p> <hr> </div> -<div class="section" id="Config-file-paper-sizes"> -<div class="header"> +<div class="section-level-extent" id="Config-file-paper-sizes"> +<div class="nav-panel"> <p> -Next: <a href="#Paper-trays" accesskey="n" rel="next">Paper trays</a>, Previous: <a href="#papersize-special" accesskey="p" rel="prev">‘<samp>papersize</samp>’ special</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Paper-trays" accesskey="n" rel="next">Paper trays</a>, Previous: <a href="#papersize-special" accesskey="p" rel="prev">‘<samp class="samp">papersize</samp>’ special</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configuration-file-paper-size-command"></span><h3 class="section">4.2 Configuration file paper size command</h3> +<h3 class="section" id="Configuration-file-paper-size-command">4.2 Configuration file paper size command</h3> -<span id="index-paper-size-configuration-file-command"></span> -<span id="index-configuration-file-paper-size-command"></span> +<a class="index-entry-id" id="index-paper-size-configuration-file-command"></a> +<a class="index-entry-id" id="index-configuration-file-paper-size-command"></a> -<p>The ‘<samp>@</samp>’ command in a configuration file sets the paper size -defaults and options. The first ‘<samp>@</samp>’ command defines the default +<p>The ‘<samp class="samp">@</samp>’ command in a configuration file sets the paper size +defaults and options. The first ‘<samp class="samp">@</samp>’ command defines the default paper size. It has three possible parameters: </p> <div class="example"> -<pre class="example">@ <span class="roman">[</span><var>name</var> <span class="roman">[</span><var>hsize</var> <var>vsize</var><span class="roman">]]</span> +<pre class="example-preformatted">@ <span class="r">[</span><var class="var">name</var> <span class="r">[</span><var class="var">hsize</var> <var class="var">vsize</var><span class="r">]]</span> </pre></div> -<p>If ‘<samp>@</samp>’ is specified on a line by itself, with no parameters, it +<p>If ‘<samp class="samp">@</samp>’ is specified on a line by itself, with no parameters, it instructs Dvips to discard all previous paper size information (possibly from another configuration file). </p> <p>If three parameters are given, with the first parameter being a name and -the second and third being a dimension (as in ‘<samp>8.5in</samp>’ or -‘<samp>3.2cc</samp>’, just like in the ‘<samp>papersize</samp>’ special), then the +the second and third being a dimension (as in ‘<samp class="samp">8.5in</samp>’ or +‘<samp class="samp">3.2cc</samp>’, just like in the ‘<samp class="samp">papersize</samp>’ special), then the option is interpreted as starting a new paper size description, where -<var>name</var> is the name and <var>hsize</var> and <var>vsize</var> define the +<var class="var">name</var> is the name and <var class="var">hsize</var> and <var class="var">vsize</var> define the horizontal and vertical size of the sheet of paper, respectively. For example: </p> <div class="example"> -<pre class="example">@ letterSize 8.5in 11in +<pre class="example-preformatted">@ letterSize 8.5in 11in </pre></div> -<p>If both <var>hsize</var> and <var>vsize</var> are zero (you must still specify -units!) then any page size will match. If the ‘<samp>@</samp>’ character is -immediately followed by a ‘<samp>+</samp>’ sign, then the remainder of the line +<p>If both <var class="var">hsize</var> and <var class="var">vsize</var> are zero (you must still specify +units!) then any page size will match. If the ‘<samp class="samp">@</samp>’ character is +immediately followed by a ‘<samp class="samp">+</samp>’ sign, then the remainder of the line (after skipping any leading blanks) is treated as PostScript code to send to the printer, presumably to select that particular paper size: </p> <div class="example"> -<pre class="example">@ letter 8.5in 11in +<pre class="example-preformatted">@ letter 8.5in 11in @+ %%BeginPaperSize: Letter @+ letter @+ %%EndPaperSize @@ -2137,7 +2135,7 @@ output file; else, it is put in the setup section of the output file. For example: </p> <div class="example"> -<pre class="example">@ legal 8.5in 14in +<pre class="example-preformatted">@ legal 8.5in 14in @+ ! %%DocumentPaperSizes: Legal @+ %%BeginPaperSize: Legal @+ legal @@ -2145,23 +2143,23 @@ For example: </pre></div> <p>When Dvips has a paper format name given on the command line, it looks -for a match by the <var>name</var>; when it has a ‘<samp>papersize</samp>’ special, +for a match by the <var class="var">name</var>; when it has a ‘<samp class="samp">papersize</samp>’ special, it looks for a match by dimensions. The best match found (from the paper size information in the configuration file) is used. The dimensions must match within 5bp. </p> <p>If nothing matches, a warning is printed and the first paper size with -zero dimensions is used; this should be the <code>unknown</code> paper size +zero dimensions is used; this should be the <code class="code">unknown</code> paper size definition mentioned below, resulting in the actual dimensions being used. </p> -<span id="index-landscaperotate-configuration-file-command"></span> -<span id="index-landscaperotate-command-line-option"></span> +<a class="index-entry-id" id="index-landscaperotate-configuration-file-command"></a> +<a class="index-entry-id" id="index-landscaperotate-command-line-option"></a> <p>In versions of Dvips prior to 2022.1, if the paper size specified did not match one of the defined paper sizes, Dvips considered rotated page content and rotated paper sizes for a match. This provided some automatic support for landscape mode on raw printers, but today it can -be harmful when generating PDF. (Specifically, the ‘<samp>/MediaBox</samp>’ +be harmful when generating PDF. (Specifically, the ‘<samp class="samp">/MediaBox</samp>’ then ends up with rotated values, which is not expected by PDF viewers, e.g., when a document intentionally has a single page rotated.) @@ -2171,101 +2169,101 @@ provided instead by a print spooler that considers the bounding box of the document and inserts appropriate media selection commands as part of the print job. So, this automatic rotation is no longer done by default by Dvips. If you want to enable it, the -‘<samp>-landscaperotate</samp>’ command line option or ‘<samp>landscaperotate</samp>’ -configuration file option can be used. See <a href="#Option-details">Option details</a>. +‘<samp class="samp">-landscaperotate</samp>’ command line option or ‘<samp class="samp">landscaperotate</samp>’ +configuration file option can be used. See <a class="xref" href="#Option-details">Option details</a>. </p> -<span id="index-zero-dimensions-and-setting-paper-size"></span> +<a class="index-entry-id" id="index-zero-dimensions-and-setting-paper-size"></a> <p>If your printer has a command to set a special paper size, then give -dimensions of ‘<samp>0in 0in</samp>’; the PostScript code that sets the paper -size can refer to the dimensions the user requested as ‘<samp>hsize</samp>’ -and ‘<samp>vsize</samp>’; these will be macros defined in the PostScript that +dimensions of ‘<samp class="samp">0in 0in</samp>’; the PostScript code that sets the paper +size can refer to the dimensions the user requested as ‘<samp class="samp">hsize</samp>’ +and ‘<samp class="samp">vsize</samp>’; these will be macros defined in the PostScript that return the requested size in default PostScript units. Also, some -printers want ‘<samp>BeginPaperSize</samp>’ comments and paper size setting -commands; others (such as the NeXT) want ‘<samp>PaperSize</samp>’ comments and +printers want ‘<samp class="samp">BeginPaperSize</samp>’ comments and paper size setting +commands; others (such as the NeXT) want ‘<samp class="samp">PaperSize</samp>’ comments and they will handle setting the paper size. So paper size entries should typically specify both. </p> -<span id="index-unknown_002c-paper-format-for-_002dt-1"></span> +<a class="index-entry-id" id="index-unknown_002c-paper-format-for-_002dt-1"></a> <p>When using a paper size that is not already defined in -<samp>config.ps</samp>, you probably want to say ‘<samp>-t unknown</samp>’ on -the command line; the <code>unknown</code> paper size definition in -<samp>config.ps</samp> has the requisite PostScript incantation to set the +<samp class="file">config.ps</samp>, you probably want to say ‘<samp class="samp">-t unknown</samp>’ on +the command line; the <code class="code">unknown</code> paper size definition in +<samp class="file">config.ps</samp> has the requisite PostScript incantation to set the PostScript page size, as just described. </p> -<span id="index-nopaper_002c-paper-format-for-_002dt"></span> +<a class="index-entry-id" id="index-nopaper_002c-paper-format-for-_002dt"></a> <p>If you want no paper size information in the output at all, use -‘<samp>-t nopaper</samp>’. This is useful with multi-page output that +‘<samp class="samp">-t nopaper</samp>’. This is useful with multi-page output that will be processed further. If you just have a single page document, -you can use ‘<samp>-E</samp>’ to get pure EPSF output. +you can use ‘<samp class="samp">-E</samp>’ to get pure EPSF output. </p> -<span id="index-mkdvipspapers"></span> -<p>The Perl 5 script <samp>contrib/configs/mkdvipspapers</samp> in the +<a class="index-entry-id" id="index-mkdvipspapers"></a> +<p>The Perl 5 script <samp class="file">contrib/configs/mkdvipspapers</samp> in the distribution directory may help in determining appropriate paper size definitions. </p> -<span id="index-config_002eps-paper-sizes"></span> -<span id="index-letter-paper-size"></span> -<span id="index-a4-paper-size"></span> -<p>Notwithstanding the above, the default <code>letter</code> and <code>a4</code> -paper size definitions in <samp>config.ps</samp> execute the -<code>setpagedevice</code> operator if it exists (it was defined in -PostScript Level 2), or the ‘<samp>letter</samp>’ or ‘<samp>a4</samp>’ operator +<a class="index-entry-id" id="index-config_002eps-paper-sizes"></a> +<a class="index-entry-id" id="index-letter-paper-size"></a> +<a class="index-entry-id" id="index-a4-paper-size"></a> +<p>Notwithstanding the above, the default <code class="code">letter</code> and <code class="code">a4</code> +paper size definitions in <samp class="file">config.ps</samp> execute the +<code class="code">setpagedevice</code> operator if it exists (it was defined in +PostScript Level 2), or the ‘<samp class="samp">letter</samp>’ or ‘<samp class="samp">a4</samp>’ operator if they exist (they are nonstandard and thus perhaps cause failures on certain (unknown) printers). Not executing any page size definition at all confuses PostScript conversion programs such as -<code>ps2pdf</code>, so we want to execute one if we can. +<code class="command">ps2pdf</code>, so we want to execute one if we can. </p> -<span id="index-letterSize-paper-size"></span> -<span id="index-A4size-paper-size"></span> -<p>The <code>letterSize</code> and <code>A4Size</code> paper size definitions are now -synonyms for <code>letter</code> and <code>a4</code>. +<a class="index-entry-id" id="index-letterSize-paper-size"></a> +<a class="index-entry-id" id="index-A4size-paper-size"></a> +<p>The <code class="code">letterSize</code> and <code class="code">A4Size</code> paper size definitions are now +synonyms for <code class="code">letter</code> and <code class="code">a4</code>. </p> <hr> </div> -<div class="section" id="Paper-trays"> -<div class="header"> +<div class="section-level-extent" id="Paper-trays"> +<div class="nav-panel"> <p> Previous: <a href="#Config-file-paper-sizes" accesskey="p" rel="prev">Configuration file paper size command</a>, Up: <a href="#Paper-size-and-landscape" accesskey="u" rel="up">Paper size and landscape orientation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Paper-trays-1"></span><h3 class="section">4.3 Paper trays</h3> +<h3 class="section" id="Paper-trays-1">4.3 Paper trays</h3> -<span id="index-paper-trays"></span> -<span id="index-dual-paper-trays"></span> -<span id="index-multiple-paper-trays"></span> -<span id="index-HP4Si-printer-and-paper-trays"></span> +<a class="index-entry-id" id="index-paper-trays"></a> +<a class="index-entry-id" id="index-dual-paper-trays"></a> +<a class="index-entry-id" id="index-multiple-paper-trays"></a> +<a class="index-entry-id" id="index-HP4Si-printer-and-paper-trays"></a> -<span id="index-bop_002dhook"></span> +<a class="index-entry-id" id="index-bop_002dhook"></a> <p>Some printers, such as the Hewlett-Packard HP4si, have multiple paper trays. You can set up Dvips to take advantage of this using the -<code>bop-hook</code> PostScript variable (see <a href="#PostScript-hooks">PostScript hooks</a>). +<code class="code">bop-hook</code> PostScript variable (see <a class="pxref" href="#PostScript-hooks">PostScript hooks</a>). </p> -<span id="index-letterhead-tray"></span> +<a class="index-entry-id" id="index-letterhead-tray"></a> <p>For example, suppose you have an alternate tray stocked with letterhead paper; the usual tray has the usual paper. You have a document where you want the first page printed on letterhead, and the remaining pages on the usual paper. You can create a header file, say -<samp>firstletterhead.PS</samp>, with the following (PostScript) code -(<code>bop-hook</code> is passed the current physical page number, which +<samp class="file">firstletterhead.PS</samp>, with the following (PostScript) code +(<code class="code">bop-hook</code> is passed the current physical page number, which starts at zero): </p> <div class="example"> -<pre class="example">/bop-hook { dup 0 eq { <var>alternatetray</var> } { <var>normaltray</var> } ifelse } def +<pre class="example-preformatted">/bop-hook { dup 0 eq { <var class="var">alternatetray</var> } { <var class="var">normaltray</var> } ifelse } def </pre></div> -<p>where <var>alternatetray</var> and <var>normaltray</var> are the appropriate -commands to select the paper trays. On the 4SI, <var>alternatetray</var> is -‘<samp>statusdict begin 1 setpapertray end</samp>’ and <var>normaltray</var> is -‘<samp>statusdict begin 0 setpapertray end</samp>’. +<p>where <var class="var">alternatetray</var> and <var class="var">normaltray</var> are the appropriate +commands to select the paper trays. On the 4SI, <var class="var">alternatetray</var> is +‘<samp class="samp">statusdict begin 1 setpapertray end</samp>’ and <var class="var">normaltray</var> is +‘<samp class="samp">statusdict begin 0 setpapertray end</samp>’. </p> <p>Then, include the file with either -</p><ul> -<li> the ‘<samp>-h</samp>’ command-line option (see <a href="#Option-details">Option details</a>); or +</p><ul class="itemize mark-bullet"> +<li>the ‘<samp class="samp">-h</samp>’ command-line option (see <a class="pxref" href="#Option-details">Option details</a>); or -</li><li> the ‘<samp>h</samp>’ config file option (see <a href="#Configuration-file-commands">Configuration file commands</a>); or +</li><li>the ‘<samp class="samp">h</samp>’ config file option (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>); or -</li><li> ‘<samp>\special{header=<var>file</var>}</samp>’ in your TeX document -(see <a href="#Including-headers-from-TeX">Including headers from TeX</a>). +</li><li>‘<samp class="samp">\special{header=<var class="var">file</var>}</samp>’ in your TeX document +(see <a class="pxref" href="#Including-headers-from-TeX">Including headers from TeX</a>). </li></ul> @@ -2273,15 +2271,15 @@ commands to select the paper trays. On the 4SI, <var>alternatetray</var> is <hr> </div> </div> -<div class="chapter" id="Interaction-with-PostScript"> -<div class="header"> +<div class="chapter-level-extent" id="Interaction-with-PostScript"> +<div class="nav-panel"> <p> Next: <a href="#PostScript-fonts" accesskey="n" rel="next">PostScript fonts</a>, Previous: <a href="#Paper-size-and-landscape" accesskey="p" rel="prev">Paper size and landscape orientation</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Interaction-with-PostScript-1"></span><h2 class="chapter">5 Interaction with PostScript</h2> +<h2 class="chapter" id="Interaction-with-PostScript-1">5 Interaction with PostScript</h2> -<span id="index-interaction-with-PostScript"></span> -<span id="index-PostScript-interaction"></span> +<a class="index-entry-id" id="index-interaction-with-PostScript"></a> +<a class="index-entry-id" id="index-PostScript-interaction"></a> <p>Dvips supports inclusion of PostScript figure files (e.g., Encapsulated PostScript), downloading other header files (e.g., fonts), including @@ -2289,19 +2287,19 @@ literal PostScript code, and hypertext. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#PostScript-figures" accesskey="1">PostScript figures</a></li> <li><a href="#Header-files" accesskey="2">PostScript header files</a></li> <li><a href="#Literal-PS" accesskey="3">Literal PostScript</a></li> <li><a href="#Hypertext" accesskey="4">HyperTeXt</a></li> </ul> <hr> -<div class="section" id="PostScript-figures"> -<div class="header"> +<div class="section-level-extent" id="PostScript-figures"> +<div class="nav-panel"> <p> Next: <a href="#Header-files" accesskey="n" rel="next">PostScript header files</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PostScript-figures-1"></span><h3 class="section">5.1 PostScript figures</h3> +<h3 class="section" id="PostScript-figures-1">5.1 PostScript figures</h3> <p>Scaling and including PostScript graphics is a breeze—if the PostScript file is correctly formed. Even if it is not, however, the file can usually @@ -2309,57 +2307,57 @@ be accommodated with just a little more work. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Bounding-box" accesskey="1">The bounding box comment</a></li> <li><a href="#g_t_005cincludegraphics" accesskey="2">The \includegraphics macro for LaTeX</a></li> <li><a href="#EPSF-macros" accesskey="3">Using the EPSF macros</a></li> -<li><a href="#psfile-special" accesskey="4">‘<samp>psfile</samp>’ special</a></li> +<li><a href="#psfile-special" accesskey="4">‘<samp class="samp">psfile</samp>’ special</a></li> <li><a href="#Dynamic-creation-of-graphics" accesskey="5">Dynamic creation of PostScript graphics files</a></li> <li><a href="#Fonts-in-figures" accesskey="6">Fonts in figures</a></li> </ul> <hr> -<div class="subsection" id="Bounding-box"> -<div class="header"> +<div class="subsection-level-extent" id="Bounding-box"> +<div class="nav-panel"> <p> Next: <a href="#g_t_005cincludegraphics" accesskey="n" rel="next">The \includegraphics macro for LaTeX</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-bounding-box-comment"></span><h4 class="subsection">5.1.1 The bounding box comment</h4> +<h4 class="subsection" id="The-bounding-box-comment">5.1.1 The bounding box comment</h4> -<span id="index-bounding-box_002c-comment-for"></span> +<a class="index-entry-id" id="index-bounding-box_002c-comment-for"></a> <p>The most important feature of a good PostScript file from the standpoint of including it in another document is an accurate bounding box comment. Every well-formed PostScript file has a comment describing where on the page the graphic is located, and how big that graphic is. </p> -<span id="index-big-points"></span> -<span id="index-PostScript-units"></span> -<span id="index-bounding-box_002c-defined"></span> +<a class="index-entry-id" id="index-big-points"></a> +<a class="index-entry-id" id="index-PostScript-units"></a> +<a class="index-entry-id" id="index-bounding-box_002c-defined"></a> <p>This information is given as the lower left and upper right corners of the box just enclosing the graphic, and is thus referred to as the -<em>bounding box</em>. These coordinates are given in the default +<em class="dfn">bounding box</em>. These coordinates are given in the default PostScript units (there are precisely 72 PostScript units to the inch, like TeX big points) with respect to the lower left corner of the sheet of paper. </p> -<span id="index-_0025_0025BoundingBox"></span> +<a class="index-entry-id" id="index-_0025_0025BoundingBox"></a> <p>To see if a PostScript file has a bounding box comment, just look at the first few lines of the file. PostScript files are standard ASCII, so you can use any text editor to do this. If within the first few dozen lines there is a line like </p> <div class="example"> -<pre class="example">%%BoundingBox: 25 50 400 300 +<pre class="example-preformatted">%%BoundingBox: 25 50 400 300 </pre></div> <p>(with any reasonable numbers), chances are very good that the file is Encapsulated PostScript and will work easily with Dvips. If the file contains instead a line like </p> -<span id="index-atend_002c-bounding-box-specification"></span> -<span id="index-_0028atend_0029_002c-bounding-box-specification"></span> +<a class="index-entry-id" id="index-atend_002c-bounding-box-specification"></a> +<a class="index-entry-id" id="index-_0028atend_0029_002c-bounding-box-specification"></a> <div class="example"> -<pre class="example">%%BoundingBox: (atend) +<pre class="example-preformatted">%%BoundingBox: (atend) </pre></div> <p>the file is still probably Encapsulated PostScript, but the bounding box @@ -2369,18 +2367,18 @@ bounding box is given in this way when the program that generated the PostScript couldn’t know the size in advance, or was too lazy to compute it.) </p> -<span id="index-bbfig"></span> -<span id="index-bounding-box_002c-determining"></span> -<p>If the document lacks a ‘<samp>%%BoundingBox:</samp>’ altogether, you can -determine one in a couple of ways. One is to use the ‘<samp>bbfig</samp>’ -program distributed with Dvips in the <samp>contrib</samp> directory. This can +<a class="index-entry-id" id="index-bbfig"></a> +<a class="index-entry-id" id="index-bounding-box_002c-determining"></a> +<p>If the document lacks a ‘<samp class="samp">%%BoundingBox:</samp>’ altogether, you can +determine one in a couple of ways. One is to use the ‘<samp class="samp">bbfig</samp>’ +program distributed with Dvips in the <samp class="file">contrib</samp> directory. This can usually find the correct bounding box automatically; it works best with Ghostscript. </p> -<span id="index-612-792-bounding-box-size"></span> +<a class="index-entry-id" id="index-612-792-bounding-box-size"></a> <p>If the comment looks like this: </p><div class="example"> -<pre class="example">%%BoundingBox: 0 0 612 792 +<pre class="example-preformatted">%%BoundingBox: 0 0 612 792 </pre></div> <p>the graphic claims to take up an entire sheet of paper. This is @@ -2389,20 +2387,20 @@ usually a symptom of a bug in the program that generated it. <p>The other is to do it yourself: print the file. Now, take a ruler, and make the following measurements (in PostScript units, so measure in inches and multiply by 72): From the left edge of the paper to the -leftmost mark on the paper is <var>llx</var>, the first number. From the +leftmost mark on the paper is <var class="var">llx</var>, the first number. From the bottom edge of the paper to the bottommost mark on the paper is -<var>lly</var>, the second number. From the left edge of the paper to the -rightmost mark on the paper is <var>urx</var>, the third number. The fourth -and final number, <var>ury</var>, is the distance from the bottom of the page +<var class="var">lly</var>, the second number. From the left edge of the paper to the +rightmost mark on the paper is <var class="var">urx</var>, the third number. The fourth +and final number, <var class="var">ury</var>, is the distance from the bottom of the page to the uppermost mark on the paper. </p> <p>Once you have the numbers, add a comment of the following form as the second line of the document. (The first line should already be a line -starting with the two characters ‘<samp>%!</samp>’; if it is not, the file +starting with the two characters ‘<samp class="samp">%!</samp>’; if it is not, the file probably isn’t PostScript.) </p> <div class="example"> -<pre class="example">%%BoundingBox: <var>llx</var> <var>lly</var> <var>urx</var> <var>ury</var> +<pre class="example-preformatted">%%BoundingBox: <var class="var">llx</var> <var class="var">lly</var> <var class="var">urx</var> <var class="var">ury</var> </pre></div> <p>Or, if you don’t want to modify the file, you can simply write these @@ -2417,63 +2415,63 @@ the file. <hr> </div> -<div class="subsection" id="g_t_005cincludegraphics"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_005cincludegraphics"> +<div class="nav-panel"> <p> Next: <a href="#EPSF-macros" accesskey="n" rel="next">Using the EPSF macros</a>, Previous: <a href="#Bounding-box" accesskey="p" rel="prev">The bounding box comment</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-_005cincludegraphics-macro-for-LaTeX"></span><h4 class="subsection">5.1.2 The \includegraphics macro for LaTeX</h4> +<h4 class="subsection" id="The-_005cincludegraphics-macro-for-LaTeX">5.1.2 The \includegraphics macro for LaTeX</h4> -<span id="index-_005cincludegraphics-LaTeX-macro"></span> -<span id="index-macros-for-epsf-inclusion"></span> +<a class="index-entry-id" id="index-_005cincludegraphics-LaTeX-macro"></a> +<a class="index-entry-id" id="index-macros-for-epsf-inclusion"></a> <p>Once the figure file has a bounding box comment (see the previous section) you are ready to import the graphic into a LaTeX document. For LaTeX2e, you can use the epsf, graphics or graphicx packages, but the last is recommended—it has the most flexible syntax, and is briefly described here. Further information can be -found in <samp>grfguide</samp> or <samp>epslatex</samp>, which should be included +found in <samp class="file">grfguide</samp> or <samp class="file">epslatex</samp>, which should be included in your LaTeX distribution in DVI, PDF, or other formats. (If you are still using LaTeX 2.09, use epsf.sty). </p> <p>Just put the following command into your preamble: </p> <div class="example"> -<pre class="example">\usepackage[dvips]{graphicx} +<pre class="example-preformatted">\usepackage[dvips]{graphicx} </pre></div> <p>Depending on your system, a suitable driver setup may already be present, so that LaTeX automatically produces DVI files suitable for -Dvips. In this case you can leave out the ‘<samp>[dvips]</samp>’ parameter. +Dvips. In this case you can leave out the ‘<samp class="samp">[dvips]</samp>’ parameter. </p> -<p>Now, at the point you want to include a file <samp>foo.eps</samp>, enter a +<p>Now, at the point you want to include a file <samp class="file">foo.eps</samp>, enter a line such as: </p> <div class="example"> -<pre class="example">\includegraphics{foo.eps} +<pre class="example-preformatted">\includegraphics{foo.eps} </pre></div> <p>However, it is usually best to omit the file extension and only use </p> <div class="example"> -<pre class="example">\includegraphics{foo} +<pre class="example-preformatted">\includegraphics{foo} </pre></div> <p>because then you can process the same LaTeX file with different TeX engines or DVI converters if you also provide -suitable graphics files for them, e.g., <samp>foo.pdf</samp> or -<samp>foo.png</samp>. +suitable graphics files for them, e.g., <samp class="file">foo.pdf</samp> or +<samp class="file">foo.png</samp>. </p> -<span id="index-bounding-box_002c-supplying-to-TeX"></span> +<a class="index-entry-id" id="index-bounding-box_002c-supplying-to-TeX"></a> <p>The \includegraphics command has many options, specified in -‘<samp>key=value</samp>’ syntax, to allow you to resize, rotate or trim the -included graphic—see <samp>grfguide</samp> or <samp>epslatex</samp>. If your +‘<samp class="samp">key=value</samp>’ syntax, to allow you to resize, rotate or trim the +included graphic—see <samp class="file">grfguide</samp> or <samp class="file">epslatex</samp>. If your file does not have a bounding box comment, you can supply the numbers as determined in the previous section, in the same order they would have been in a normal bounding box comment: </p> <div class="example"> -<pre class="example">\includegraphics[bb=100 100 500 500]{foo.ps} +<pre class="example-preformatted">\includegraphics[bb=100 100 500 500]{foo.ps} </pre></div> <p>Now, save your changes and run LaTeX and Dvips; the output should @@ -2483,40 +2481,40 @@ occupying the proper amount of space. <p>PostScript graphics have their origin in the lower left corner. Therefore, in TeX, a graphic will occupy a box that extends far above the line where it is put in, but has depth zero below it. -Combining ‘<samp>\includegraphics</samp>’ with ‘<samp>\parbox</samp>’ commands or +Combining ‘<samp class="samp">\includegraphics</samp>’ with ‘<samp class="samp">\parbox</samp>’ commands or minipages can sometimes be confusing when this is not taken into account. </p> <hr> </div> -<div class="subsection" id="EPSF-macros"> -<div class="header"> +<div class="subsection-level-extent" id="EPSF-macros"> +<div class="nav-panel"> <p> -Next: <a href="#psfile-special" accesskey="n" rel="next">‘<samp>psfile</samp>’ special</a>, Previous: <a href="#g_t_005cincludegraphics" accesskey="p" rel="prev">The \includegraphics macro for LaTeX</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#psfile-special" accesskey="n" rel="next">‘<samp class="samp">psfile</samp>’ special</a>, Previous: <a href="#g_t_005cincludegraphics" accesskey="p" rel="prev">The \includegraphics macro for LaTeX</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Using-the-EPSF-macros"></span><h4 class="subsection">5.1.3 Using the EPSF macros</h4> +<h4 class="subsection" id="Using-the-EPSF-macros">5.1.3 Using the EPSF macros</h4> -<span id="index-EPSF-macros"></span> -<span id="index-macros-for-epsf-inclusion-1"></span> +<a class="index-entry-id" id="index-EPSF-macros"></a> +<a class="index-entry-id" id="index-macros-for-epsf-inclusion-1"></a> -<p>If you are using LaTeX2e, use the ‘<samp>graphics</samp>’ or ‘<samp>graphicx</samp>’ -package. See <a href="#g_t_005cincludegraphics">The \includegraphics macro for LaTeX</a>. +<p>If you are using LaTeX2e, use the ‘<samp class="samp">graphics</samp>’ or ‘<samp class="samp">graphicx</samp>’ +package. See <a class="xref" href="#g_t_005cincludegraphics">The \includegraphics macro for LaTeX</a>. </p> -<p>If you are using plain TeX or LaTeX 2.09, you need <samp>epsf.tex</samp> -(for plain TeX) and <samp>epsf.sty</samp> (for LaTeX). For plain +<p>If you are using plain TeX or LaTeX 2.09, you need <samp class="file">epsf.tex</samp> +(for plain TeX) and <samp class="file">epsf.sty</samp> (for LaTeX). For plain TeX, add a line like this near the top of your input file: </p> -<span id="index-epsf_002etex"></span> +<a class="index-entry-id" id="index-epsf_002etex"></a> <div class="example"> -<pre class="example">\input epsf +<pre class="example-preformatted">\input epsf </pre></div> -<p><span id="index-epsf_002esty"></span> -If you are using LaTeX 2.09, add the ‘<samp>epsf</samp>’ style option, as in: +<a class="index-entry-id" id="index-epsf_002esty"></a> +<p>If you are using LaTeX 2.09, add the ‘<samp class="samp">epsf</samp>’ style option, as in: </p> <div class="example"> -<pre class="example">\documentstyle[12pt,epsf]{article} +<pre class="example-preformatted">\documentstyle[12pt,epsf]{article} </pre></div> <p>In any case, the above only needs to be done once, no matter how many @@ -2525,29 +2523,29 @@ figures you plan to include. <p>Now, at the point you want to include a file, enter a line such as: </p> <div class="example"> -<pre class="example">\epsffile{foo.eps} +<pre class="example-preformatted">\epsffile{foo.eps} </pre></div> -<span id="index-_005cleavevmode"></span> -<span id="index-bounding-box_002c-supplying-to-TeX-1"></span> -<p>If you are using LaTeX, you may need to add <code>\leavevmode</code> -immediately before the <code>\epsffile</code> command to get certain +<a class="index-entry-id" id="index-_005cleavevmode"></a> +<a class="index-entry-id" id="index-bounding-box_002c-supplying-to-TeX-1"></a> +<p>If you are using LaTeX, you may need to add <code class="code">\leavevmode</code> +immediately before the <code class="code">\epsffile</code> command to get certain environments to work correctly. If your file does not have a bounding box comment, you can supply the numbers as determined in the previous section, in the same order they would have been in a normal bounding box comment: </p> <div class="example"> -<pre class="example">\epsffile[100 100 500 500]{foo.ps} +<pre class="example-preformatted">\epsffile[100 100 500 500]{foo.ps} </pre></div> <p>Now, save your changes and run TeX and Dvips; the output should have your graphic positioned at precisely the point you indicated, occupying the proper amount of space. </p> -<span id="index-_005cepsffile-macro"></span> -<span id="index-figures_002c-natural-size"></span> -<p>The <code>\epsffile</code> macro typesets the figure as a TeX <code>\vbox</code> +<a class="index-entry-id" id="index-_005cepsffile-macro"></a> +<a class="index-entry-id" id="index-figures_002c-natural-size"></a> +<p>The <code class="code">\epsffile</code> macro typesets the figure as a TeX <code class="code">\vbox</code> at the point of the page that the command is executed. By default, the graphic will have its ‘natural’ width (namely, the width of its bounding box). The TeX box will have depth zero and its natural height. By @@ -2555,52 +2553,52 @@ default, the graphic will be scaled by any DVI magnification in effect, just as is everything else in your document. See the next section for more information on scaling. </p> -<span id="index-_005cepsfverbosetrue"></span> -<span id="index-verbose-EPSF-processing"></span> +<a class="index-entry-id" id="index-_005cepsfverbosetrue"></a> +<a class="index-entry-id" id="index-verbose-EPSF-processing"></a> <p>If you want TeX to report the size of the figure as a message on your terminal when it processes each figure, give the command: </p> <div class="example"> -<pre class="example">\epsfverbosetrue +<pre class="example-preformatted">\epsfverbosetrue </pre></div> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#EPSF-scaling" accesskey="1">EPSF scaling</a></li> <li><a href="#EPSF-clipping" accesskey="2">EPSF clipping</a></li> </ul> <hr> -<div class="subsubsection" id="EPSF-scaling"> -<div class="header"> +<div class="subsubsection-level-extent" id="EPSF-scaling"> +<div class="nav-panel"> <p> Next: <a href="#EPSF-clipping" accesskey="n" rel="next">EPSF clipping</a>, Up: <a href="#EPSF-macros" accesskey="u" rel="up">Using the EPSF macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="EPSF-scaling-1"></span><h4 class="subsubsection">5.1.3.1 EPSF scaling</h4> +<h4 class="subsubsection" id="EPSF-scaling-1">5.1.3.1 EPSF scaling</h4> -<span id="index-scaling-of-figures"></span> -<span id="index-figures_002c-scaling"></span> +<a class="index-entry-id" id="index-scaling-of-figures"></a> +<a class="index-entry-id" id="index-figures_002c-scaling"></a> <p>Usually, you will want to scale an EPSF figure to some size appropriate for your document, since its natural size is determined by the creator of the EPS file. </p> <p>The best way to do this is to assign the desired size to the TeX -<code>\epsfxsize</code> or <code>\epsfysize</code> variables, whichever is more +<code class="code">\epsfxsize</code> or <code class="code">\epsfysize</code> variables, whichever is more convenient for you. That is, put </p> -<span id="index-_005cepsfxsize"></span> +<a class="index-entry-id" id="index-_005cepsfxsize"></a> <div class="example"> -<pre class="example">\epsfxsize=<var>dimen</var> +<pre class="example-preformatted">\epsfxsize=<var class="var">dimen</var> </pre></div> -<p>right before the call to <code>\epsffile</code>. Then the width of the TeX -box will be <var>dimen</var> and its height will be scaled proportionately. +<p>right before the call to <code class="code">\epsffile</code>. Then the width of the TeX +box will be <var class="var">dimen</var> and its height will be scaled proportionately. Similarly, you can set the vertical size with </p> -<span id="index-_005cepsfysize"></span> +<a class="index-entry-id" id="index-_005cepsfysize"></a> <div class="example"> -<pre class="example">\epsfysize=<var>dimen</var> +<pre class="example-preformatted">\epsfysize=<var class="var">dimen</var> </pre></div> <p>in which case the height will be set and the width scaled @@ -2610,87 +2608,87 @@ proportionally. included graphic may necessarily be distorted, i.e., its contents stretched in one direction or the other. </p> -<span id="index-_005cepsfsize"></span> +<a class="index-entry-id" id="index-_005cepsfsize"></a> <p>You can resize graphics in a more general way by redefining the -<code>\epsfsize</code> macro. <code>\epsffile</code> calls this with two +<code class="code">\epsfsize</code> macro. <code class="code">\epsffile</code> calls this with two parameters: the natural horizontal and vertical sizes of the PostScript -graphic. <code>\epsfsize</code> must expand to the desired horizontal size, -that is, the width of the <code>\vbox</code>. Schematically: +graphic. <code class="code">\epsfsize</code> must expand to the desired horizontal size, +that is, the width of the <code class="code">\vbox</code>. Schematically: </p> <div class="example"> -<pre class="example">\def\epsfsize#1#2{<var>body</var>} +<pre class="example-preformatted">\def\epsfsize#1#2{<var class="var">body</var>} </pre></div> -<p>Some useful definitions of <var>body</var>: +<p>Some useful definitions of <var class="var">body</var>: </p> -<dl compact="compact"> -<dt><span>‘<samp>\epsfxsize</samp>’</span></dt> +<dl class="table"> +<dt>‘<samp class="samp">\epsfxsize</samp>’</dt> <dd><p>This definition (the default) enables the default features listed above, -by setting <code>\epsfxsize</code> to the same value it had before the macro +by setting <code class="code">\epsfxsize</code> to the same value it had before the macro was called. </p> </dd> -<dt><span>‘<samp>#1</samp>’</span></dt> +<dt>‘<samp class="samp">#1</samp>’</dt> <dd><p>Force the natural size by returning the first parameter (the original width). </p> </dd> -<dt><span>‘<samp>0pt</samp>’</span></dt> -<dd><p>A special case, equivalent to ‘<samp>#1</samp>’. +<dt>‘<samp class="samp">0pt</samp>’</dt> +<dd><p>A special case, equivalent to ‘<samp class="samp">#1</samp>’. </p> </dd> -<dt><span>‘<samp>0.5#1</samp>’</span></dt> +<dt>‘<samp class="samp">0.5#1</samp>’</dt> <dd><p>Scale to half the natural size. </p> </dd> -<dt><span>‘<samp>\hsize</samp>’</span></dt> -<dd><p>Scale to the current <code>\hsize</code>. (In LaTeX, use <code>\textwidth</code> -instead of <code>\hsize</code>.) +<dt>‘<samp class="samp">\hsize</samp>’</dt> +<dd><p>Scale to the current <code class="code">\hsize</code>. (In LaTeX, use <code class="code">\textwidth</code> +instead of <code class="code">\hsize</code>.) </p> </dd> -<dt><span>‘<samp>\ifnum#1>\hsize\hsize\else#1\fi</samp>’</span></dt> -<dd><p>If the natural width is greater than the current <code>\hsize</code>, scale to -<code>\hsize</code>, otherwise use the natural width. +<dt>‘<samp class="samp">\ifnum#1>\hsize\hsize\else#1\fi</samp>’</dt> +<dd><p>If the natural width is greater than the current <code class="code">\hsize</code>, scale to +<code class="code">\hsize</code>, otherwise use the natural width. </p> </dd> </dl> -<span id="index-DVI-magnification"></span> -<span id="index-magnification_002c-DVI"></span> -<span id="index-_005cmagnification"></span> +<a class="index-entry-id" id="index-DVI-magnification"></a> +<a class="index-entry-id" id="index-magnification_002c-DVI"></a> +<a class="index-entry-id" id="index-_005cmagnification"></a> <p>For compatibility with other PostScript drivers, it is possible to turn off the default scaling of included figures by the DVI magnification with the following TeX command: </p> -<span id="index-_002fmagscale"></span> +<a class="index-entry-id" id="index-_002fmagscale"></a> <div class="example"> -<pre class="example">\special{! /magscale false def} +<pre class="example-preformatted">\special{! /magscale false def} </pre></div> <p>Use of this command is not recommended because it will make the -<code>\epsffile</code> graphics the “wrong” size if global magnification is +<code class="code">\epsffile</code> graphics the “wrong” size if global magnification is being used, and it will cause any PostScript graphics to appear improperly scaled and out of position if a DVI to DVI program is used to scale or otherwise modify the document. </p> -<span id="index-bop_002dhook-1"></span> +<a class="index-entry-id" id="index-bop_002dhook-1"></a> <p>DVI magnification is not applied to any output from code you write in -‘<samp>bop-hook</samp>’ or its ilk (see <a href="#PostScript-hooks">PostScript hooks</a>), +‘<samp class="samp">bop-hook</samp>’ or its ilk (see <a class="pxref" href="#PostScript-hooks">PostScript hooks</a>), </p> <hr> </div> -<div class="subsubsection" id="EPSF-clipping"> -<div class="header"> +<div class="subsubsection-level-extent" id="EPSF-clipping"> +<div class="nav-panel"> <p> Previous: <a href="#EPSF-scaling" accesskey="p" rel="prev">EPSF scaling</a>, Up: <a href="#EPSF-macros" accesskey="u" rel="up">Using the EPSF macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="EPSF-clipping-1"></span><h4 class="subsubsection">5.1.3.2 EPSF clipping</h4> +<h4 class="subsubsection" id="EPSF-clipping-1">5.1.3.2 EPSF clipping</h4> -<span id="index-clipping-of-EPSF"></span> -<span id="index-bounding-box_002c-inaccurate"></span> -<span id="index-text-in-figures_002c-chopped-off"></span> -<span id="index-lines-in-figures_002c-wrong-width"></span> +<a class="index-entry-id" id="index-clipping-of-EPSF"></a> +<a class="index-entry-id" id="index-bounding-box_002c-inaccurate"></a> +<a class="index-entry-id" id="index-text-in-figures_002c-chopped-off"></a> +<a class="index-entry-id" id="index-lines-in-figures_002c-wrong-width"></a> <p>By default, clipping is disabled for included EPSF images. This is because clipping to the bounding box dimensions often cuts off a @@ -2701,90 +2699,90 @@ bottoms of some text annotations might be sliced off. If you want to turn clipping on, just use the command </p> <div class="example"> -<pre class="example">\epsfclipon +<pre class="example-preformatted">\epsfclipon </pre></div> <p>and to turn clipping back off, use </p> <div class="example"> -<pre class="example">\epsfclipoff +<pre class="example-preformatted">\epsfclipoff </pre></div> <hr> </div> </div> -<div class="subsection" id="psfile-special"> -<div class="header"> +<div class="subsection-level-extent" id="psfile-special"> +<div class="nav-panel"> <p> Next: <a href="#Dynamic-creation-of-graphics" accesskey="n" rel="next">Dynamic creation of PostScript graphics files</a>, Previous: <a href="#EPSF-macros" accesskey="p" rel="prev">Using the EPSF macros</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="psfile-special-1"></span><h4 class="subsection">5.1.4 ‘<samp>psfile</samp>’ special</h4> +<h4 class="subsection" id="psfile-special-1">5.1.4 ‘<samp class="samp">psfile</samp>’ special</h4> -<span id="index-psfile-special"></span> +<a class="index-entry-id" id="index-psfile-special"></a> <p>The basic special for file inclusion is as follows: </p> <div class="example"> -<pre class="example">\special{psfile=<var>filename</var>.ps <span class="roman">[</span><var>key</var>=<var>value</var><span class="roman">]</span> … } +<pre class="example-preformatted">\special{psfile=<var class="var">filename</var>.ps <span class="r">[</span><var class="var">key</var>=<var class="var">value</var><span class="r">]</span> … } </pre></div> -<p>This downloads the PostScript file <samp><var>filename</var>.ps</samp> such that +<p>This downloads the PostScript file <samp class="file"><var class="var">filename</var>.ps</samp> such that the current point will be the origin of the PostScript coordinate -system. The optional <var>key</var><tt>=</tt><var>value</var> assignments allow you to +system. The optional <var class="var">key</var><code class="t">=</code><var class="var">value</var> assignments allow you to specify transformations on the PostScript. </p> -<p>The possible <var>key</var>s are: +<p>The possible <var class="var">key</var>s are: </p> -<dl compact="compact"> -<dt id='index-hoffset-_0028psfile-special-option_0029'><span>‘<samp>hoffset</samp>’<a href='#index-hoffset-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dl class="table"> +<dt id='index-hoffset-_0028psfile-special-option_0029'><span>‘<samp class="samp">hoffset</samp>’<a class="copiable-link" href='#index-hoffset-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The horizontal offset (default 0). </p> </dd> -<dt id='index-voffset-_0028psfile-special-option_0029'><span>‘<samp>voffset</samp>’<a href='#index-voffset-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-voffset-_0028psfile-special-option_0029'><span>‘<samp class="samp">voffset</samp>’<a class="copiable-link" href='#index-voffset-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The vertical offset (default 0). </p> </dd> -<dt id='index-hsize-_0028psfile-special-option_0029'><span>‘<samp>hsize</samp>’<a href='#index-hsize-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-hsize-_0028psfile-special-option_0029'><span>‘<samp class="samp">hsize</samp>’<a class="copiable-link" href='#index-hsize-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The horizontal clipping size (default 612). </p> </dd> -<dt id='index-vsize-_0028psfile-special-option_0029'><span>‘<samp>vsize</samp>’<a href='#index-vsize-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-vsize-_0028psfile-special-option_0029'><span>‘<samp class="samp">vsize</samp>’<a class="copiable-link" href='#index-vsize-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The vertical clipping size (default 792). </p> </dd> -<dt id='index-hscale-_0028psfile-special-option_0029'><span>‘<samp>hscale</samp>’<a href='#index-hscale-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-hscale-_0028psfile-special-option_0029'><span>‘<samp class="samp">hscale</samp>’<a class="copiable-link" href='#index-hscale-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The horizontal scaling factor, as a percentage (default 100). </p> </dd> -<dt id='index-vscale-_0028psfile-special-option_0029'><span>‘<samp>vscale</samp>’<a href='#index-vscale-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-vscale-_0028psfile-special-option_0029'><span>‘<samp class="samp">vscale</samp>’<a class="copiable-link" href='#index-vscale-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The vertical scaling factor, as a percentage (default 100). </p> </dd> -<dt id='index-angle-_0028psfile-special-option_0029'><span>‘<samp>angle</samp>’<a href='#index-angle-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-angle-_0028psfile-special-option_0029'><span>‘<samp class="samp">angle</samp>’<a class="copiable-link" href='#index-angle-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>The rotation, in degrees (default 0). </p> </dd> -<dt id='index-clip-_0028psfile-special-option_0029'><span>‘<samp>clip</samp>’<a href='#index-clip-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-clip-_0028psfile-special-option_0029'><span>‘<samp class="samp">clip</samp>’<a class="copiable-link" href='#index-clip-_0028psfile-special-option_0029'> ¶</a></span></dt> <dd><p>Enable clipping to the bounding box (default disabled). </p> </dd> -<dt id='index-llx-_0028psfile-special-option_0029'><span>‘<samp>llx, lly, urx, ury</samp>’<a href='#index-llx-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-lly-_0028psfile-special-option_0029"></span> -<span id="index-urx-_0028psfile-special-option_0029"></span> -<span id="index-ury-_0028psfile-special-option_0029"></span> -<p>Bounding box of the included image, just as in a <code>%%BoundingBox</code> +<dt id='index-llx-_0028psfile-special-option_0029'><span>‘<samp class="samp">llx, lly, urx, ury</samp>’<a class="copiable-link" href='#index-llx-_0028psfile-special-option_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-lly-_0028psfile-special-option_0029"></a> +<a class="index-entry-id" id="index-urx-_0028psfile-special-option_0029"></a> +<a class="index-entry-id" id="index-ury-_0028psfile-special-option_0029"></a> +<p>Bounding box of the included image, just as in a <code class="code">%%BoundingBox</code> comment. Values are in big points, and may be fractional. </p> </dd> -<dt id='index-rhi-_0028psfile-special-option_0029'><span>‘<samp>rhi, rwi</samp>’<a href='#index-rhi-_0028psfile-special-option_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-rwi-_0028psfile-special-option_0029"></span> +<dt id='index-rhi-_0028psfile-special-option_0029'><span>‘<samp class="samp">rhi, rwi</samp>’<a class="copiable-link" href='#index-rhi-_0028psfile-special-option_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-rwi-_0028psfile-special-option_0029"></a> <p>Desired width and height of the resulting figure in the output, in tenths of big points (720 to the inch); may be fractional. </p> -<p>If both <code>rwi</code> and <code>rhi</code> are nonzero, the picture is scaled, -possibly losing aspect ratio. If only one of <code>rwi</code> and -<code>rhi</code> is nonzero, the picture is scaled, preserving aspect ratio. +<p>If both <code class="code">rwi</code> and <code class="code">rhi</code> are nonzero, the picture is scaled, +possibly losing aspect ratio. If only one of <code class="code">rwi</code> and +<code class="code">rhi</code> is nonzero, the picture is scaled, preserving aspect ratio. </p> </dd> </dl> @@ -2793,231 +2791,231 @@ possibly losing aspect ratio. If only one of <code>rwi</code> and Thus, for example: </p> <div class="example"> -<pre class="example">\special{psfile=foo.ps hoffset=72 hscale=90 vscale=90} +<pre class="example-preformatted">\special{psfile=foo.ps hoffset=72 hscale=90 vscale=90} </pre></div> -<p>will shift the graphics produced by file <samp>foo.ps</samp> right by one inch +<p>will shift the graphics produced by file <samp class="file">foo.ps</samp> right by one inch and will draw it at 0.9 times normal size. Offsets are given relative to the point of the special command, and are unaffected by scaling or rotation. Rotation is counterclockwise about the origin. The order of operations is to rotate the figure, scale it, then offset it. </p> <p>For compatibility with older PostScript drivers, it is possible to change -the units that ‘<samp>hscale</samp>’ and ‘<samp>vscale</samp>’ are given in. This can be -done by redefining ‘<samp>@scaleunit</samp>’ -<span id="index-scaleunit"></span> -in ‘<samp>SDict</samp>’ -<span id="index-SDict"></span> +the units that ‘<samp class="samp">hscale</samp>’ and ‘<samp class="samp">vscale</samp>’ are given in. This can be +done by redefining ‘<samp class="samp">@scaleunit</samp>’ +<a class="index-entry-id" id="index-scaleunit"></a> +in ‘<samp class="samp">SDict</samp>’ +<a class="index-entry-id" id="index-SDict"></a> by a TeX command such as </p> <div class="example"> -<pre class="example">\special{! /@scaleunit 1 def} +<pre class="example-preformatted">\special{! /@scaleunit 1 def} </pre></div> -<p>The ‘<samp>@scaleunit</samp>’ variable, which is by default 100, is what -‘<samp>hscale</samp>’ and ‘<samp>vscale</samp>’ are divided by to yield an absolute +<p>The ‘<samp class="samp">@scaleunit</samp>’ variable, which is by default 100, is what +‘<samp class="samp">hscale</samp>’ and ‘<samp class="samp">vscale</samp>’ are divided by to yield an absolute scale factor. </p> <hr> </div> -<div class="subsection" id="Dynamic-creation-of-graphics"> -<div class="header"> +<div class="subsection-level-extent" id="Dynamic-creation-of-graphics"> +<div class="nav-panel"> <p> -Next: <a href="#Fonts-in-figures" accesskey="n" rel="next">Fonts in figures</a>, Previous: <a href="#psfile-special" accesskey="p" rel="prev">‘<samp>psfile</samp>’ special</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Fonts-in-figures" accesskey="n" rel="next">Fonts in figures</a>, Previous: <a href="#psfile-special" accesskey="p" rel="prev">‘<samp class="samp">psfile</samp>’ special</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Dynamic-creation-of-PostScript-graphics-files"></span><h4 class="subsection">5.1.5 Dynamic creation of PostScript graphics files</h4> +<h4 class="subsection" id="Dynamic-creation-of-PostScript-graphics-files">5.1.5 Dynamic creation of PostScript graphics files</h4> -<span id="index-dynamic-creation-of-graphics"></span> -<span id="index-compressed-PostScript"></span> -<span id="index-uncompressing-PostScript"></span> +<a class="index-entry-id" id="index-dynamic-creation-of-graphics"></a> +<a class="index-entry-id" id="index-compressed-PostScript"></a> +<a class="index-entry-id" id="index-uncompressing-PostScript"></a> <p>PostScript is an excellent page description language—but it does tend to be rather verbose. Compressing PostScript graphics files can reduce them by factor of five or more. For this reason, if the name of an -included PostScript file ends with <samp>.Z</samp> or <samp>.gz</samp>, Dvips -automatically runs ‘<samp>gzip -d</samp>’. For example: +included PostScript file ends with <samp class="file">.Z</samp> or <samp class="file">.gz</samp>, Dvips +automatically runs ‘<samp class="samp">gzip -d</samp>’. For example: </p> <div class="example"> -<pre class="example">\epsffile[72 72 540 720]{foo.ps.gz} +<pre class="example-preformatted">\epsffile[72 72 540 720]{foo.ps.gz} </pre></div> <p>Since the results of such a command are not accessible to TeX, if you -use this facility with the <samp>epsf</samp> macros, you need to supply the +use this facility with the <samp class="file">epsf</samp> macros, you need to supply the bounding box parameter yourself, as shown. </p> <p>More generally, if the filename parameter to one of the graphics -inclusion techniques starts with a left quote (‘<samp>`</samp>’), the parameter +inclusion techniques starts with a left quote (‘<samp class="samp">`</samp>’), the parameter is instead interpreted as a command to execute that will send the actual file to standard output. For example: </p> <div class="example"> -<pre class="example">\special{psfile="`gnuplot foo"} +<pre class="example-preformatted">\special{psfile="`gnuplot foo"} </pre></div> -<p><span id="index-gnuplot"></span> -to include the file <samp>foo</samp>. Of course, the command to be executed +<a class="index-entry-id" id="index-gnuplot"></a> +<p>to include the file <samp class="file">foo</samp>. Of course, the command to be executed can be anything, including using a file conversion utility such as -<samp>tek2ps</samp> or whatever is appropriate. This feature can be disabled -with the ‘<samp>-R</samp>’ command-line option or ‘<samp>R</samp>’ configuration option. +<samp class="file">tek2ps</samp> or whatever is appropriate. This feature can be disabled +with the ‘<samp class="samp">-R</samp>’ command-line option or ‘<samp class="samp">R</samp>’ configuration option. </p> <hr> </div> -<div class="subsection" id="Fonts-in-figures"> -<div class="header"> +<div class="subsection-level-extent" id="Fonts-in-figures"> +<div class="nav-panel"> <p> Previous: <a href="#Dynamic-creation-of-graphics" accesskey="p" rel="prev">Dynamic creation of PostScript graphics files</a>, Up: <a href="#PostScript-figures" accesskey="u" rel="up">PostScript figures</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Fonts-in-figures-1"></span><h4 class="subsection">5.1.6 Fonts in figures</h4> +<h4 class="subsection" id="Fonts-in-figures-1">5.1.6 Fonts in figures</h4> -<span id="index-figures-and-fonts"></span> -<span id="index-fonts_002c-in-PostScript-figures"></span> -<span id="index-_0025_002aFont"></span> +<a class="index-entry-id" id="index-figures-and-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-in-PostScript-figures"></a> +<a class="index-entry-id" id="index-_0025_002aFont"></a> <p>You can use any font available to TeX and Dvips within a graphics -file by putting a <code>%*Font:</code> line in the leading commentary of the +file by putting a <code class="code">%*Font:</code> line in the leading commentary of the file. Schematically, this looks like: </p> <div class="example"> -<pre class="example">%*Font: <var>tfmname</var> <var>scaledbp</var> <var>designbp</var> <var>hex-start</var>:<var>hex-bitstring</var> +<pre class="example-preformatted">%*Font: <var class="var">tfmname</var> <var class="var">scaledbp</var> <var class="var">designbp</var> <var class="var">hex-start</var>:<var class="var">hex-bitstring</var> </pre></div> <p>Here is the meaning of each of these elements: </p> -<dl compact="compact"> -<dt><span><var>tfmname</var></span></dt> -<dd><p>The TeX TFM filename, e.g., <samp>cmr10</samp>. You can give the same -<var>tfmname</var> on more than one ‘<samp>%*Font</samp>’ line; this is useful when +<dl class="table"> +<dt><var class="var">tfmname</var></dt> +<dd><p>The TeX TFM filename, e.g., <samp class="file">cmr10</samp>. You can give the same +<var class="var">tfmname</var> on more than one ‘<samp class="samp">%*Font</samp>’ line; this is useful when the number of characters from the font used needs a longer -<var>hex-bitstring</var> (see item below) than conveniently fits on one line. +<var class="var">hex-bitstring</var> (see item below) than conveniently fits on one line. </p> </dd> -<dt><span><var>scaledbp</var></span></dt> +<dt><var class="var">scaledbp</var></dt> <dd><p>The size at which you are using the font, in PostScript points (TeX -big points). 72bp = 72.27pt = 1in. +big points). 72<span class="dmn">bp</span> = 72.27<span class="dmn">pt</span> = 1<span class="dmn">in</span>. </p> </dd> -<dt><span><var>designbp</var></span></dt> +<dt><var class="var">designbp</var></dt> <dd><p>The designsize of the font, again in PostScript points. This should -match the value in the TFM file <var>tfmname</var>. Thus, for <samp>cmr10</samp>, -it should be ‘<samp>9.96265</samp>’. +match the value in the TFM file <var class="var">tfmname</var>. Thus, for <samp class="file">cmr10</samp>, +it should be ‘<samp class="samp">9.96265</samp>’. </p> </dd> -<dt><span><var>hex-start</var></span></dt> +<dt><var class="var">hex-start</var></dt> <dd><p>The character code of the first character used from the font, specified -as two ASCII hexadecimal characters, e.g., ‘<samp>4b</samp>’ or ‘<samp>4B</samp>’ for -‘<samp>K</samp>’. +as two ASCII hexadecimal characters, e.g., ‘<samp class="samp">4b</samp>’ or ‘<samp class="samp">4B</samp>’ for +‘<samp class="samp">K</samp>’. </p> </dd> -<dt><span><var>hex-bitstring</var></span></dt> +<dt><var class="var">hex-bitstring</var></dt> <dd><p>An arbitrary number of ASCII hexadecimal digits specifying which -characters following (and including) <var>hex-start</var> are used. This is +characters following (and including) <var class="var">hex-start</var> are used. This is treated as a bitmap. For example, if your figure used the single letter -‘<samp>K</samp>’, you would use ‘<samp>4b:8</samp>’ for <var>hex-start</var> and -<var>hex-bitstring</var>. If it used ‘<samp>KLMNP</samp>’, you would use -‘<samp>4b:f4</samp>’. +‘<samp class="samp">K</samp>’, you would use ‘<samp class="samp">4b:8</samp>’ for <var class="var">hex-start</var> and +<var class="var">hex-bitstring</var>. If it used ‘<samp class="samp">KLMNP</samp>’, you would use +‘<samp class="samp">4b:f4</samp>’. </p> </dd> </dl> <p>MetaPost’s output figures contain lines like this for bitmap fonts used -in a MetaPost label (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#MetaPost">MetaPost</a> in <cite>Web2c</cite>). +in a MetaPost label (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#MetaPost">MetaPost</a> in <cite class="cite">Web2c</cite>). </p> <hr> </div> </div> -<div class="section" id="Header-files"> -<div class="header"> +<div class="section-level-extent" id="Header-files"> +<div class="nav-panel"> <p> Next: <a href="#Literal-PS" accesskey="n" rel="next">Literal PostScript</a>, Previous: <a href="#PostScript-figures" accesskey="p" rel="prev">PostScript figures</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PostScript-header-files"></span><h3 class="section">5.2 PostScript header files</h3> +<h3 class="section" id="PostScript-header-files">5.2 PostScript header files</h3> -<span id="index-header-files_002c-defined"></span> -<span id="index-PostScript-header-files"></span> +<a class="index-entry-id" id="index-header-files_002c-defined"></a> +<a class="index-entry-id" id="index-PostScript-header-files"></a> -<p><em>Header files</em> are bits of PostScript included in the output file; +<p><em class="dfn">Header files</em> are bits of PostScript included in the output file; generally they provide support for special features, rather than producing any printed output themselves. You can explicitly request downloading header files if necessary for some figure, or to achieve some special effect. </p> -<span id="index-psheaderdir"></span> -<span id="index-_002epro-prologue-files"></span> -<span id="index-_002elpro-long-prologue-files"></span> +<a class="index-entry-id" id="index-psheaderdir"></a> +<a class="index-entry-id" id="index-_002epro-prologue-files"></a> +<a class="index-entry-id" id="index-_002elpro-long-prologue-files"></a> <p>Dvips includes some headers on its own initiative, to implement features such as PostScript font reencoding, bitmap font downloading, handling of -<code>\special</code>’s, and so on. These standard headers are the -<samp>.pro</samp> files (for “prologue”) in the installation directory -‘<samp>$(psheaderdir)</samp>’; they are created from the <samp>.lpro</samp> (“long +<code class="code">\special</code>’s, and so on. These standard headers are the +<samp class="file">.pro</samp> files (for “prologue”) in the installation directory +‘<samp class="samp">$(psheaderdir)</samp>’; they are created from the <samp class="file">.lpro</samp> (“long prologue”) files in the distribution by stripping comments, squeezing blank lines, etc., for maximum efficiency. If you -want to peruse one of the standard header files, read the <samp>.lpro</samp> +want to peruse one of the standard header files, read the <samp class="file">.lpro</samp> version. </p> -<span id="index-userdict_002c-and-dictionary-files"></span> -<span id="index-dictionary_002c-userdict"></span> -<p>The PostScript dictionary stack will be at the ‘<samp>userdict</samp>’ level +<a class="index-entry-id" id="index-userdict_002c-and-dictionary-files"></a> +<a class="index-entry-id" id="index-dictionary_002c-userdict"></a> +<p>The PostScript dictionary stack will be at the ‘<samp class="samp">userdict</samp>’ level when header files are included. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Including-headers-from-TeX" accesskey="1">Including headers from TeX</a></li> <li><a href="#Including-headers-from-the-command-line" accesskey="2">Including headers from the command line</a></li> <li><a href="#Headers-and-memory-usage" accesskey="3">Headers and memory usage</a></li> </ul> <hr> -<div class="subsection" id="Including-headers-from-TeX"> -<div class="header"> +<div class="subsection-level-extent" id="Including-headers-from-TeX"> +<div class="nav-panel"> <p> Next: <a href="#Including-headers-from-the-command-line" accesskey="n" rel="next">Including headers from the command line</a>, Up: <a href="#Header-files" accesskey="u" rel="up">PostScript header files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Including-headers-from-TeX-1"></span><h4 class="subsection">5.2.1 Including headers from TeX</h4> +<h4 class="subsection" id="Including-headers-from-TeX-1">5.2.1 Including headers from TeX</h4> -<span id="index-including-headers-in-TeX"></span> -<span id="index-header_003dfile-_005cspecial"></span> -<span id="index-TeX_002c-including-headers-in"></span> +<a class="index-entry-id" id="index-including-headers-in-TeX"></a> +<a class="index-entry-id" id="index-header_003dfile-_005cspecial"></a> +<a class="index-entry-id" id="index-TeX_002c-including-headers-in"></a> -<span id="index-headers_002c-including-in-TeX"></span> +<a class="index-entry-id" id="index-headers_002c-including-in-TeX"></a> <p>In order to get a particular graphic file to work, a certain font or header file might need to be sent first. The Dvips program provides -support for this with the ‘<samp>header</samp>’ <code>\special</code>. For instance, -to ensure that <samp>foo.ps</samp> gets downloaded: +support for this with the ‘<samp class="samp">header</samp>’ <code class="code">\special</code>. For instance, +to ensure that <samp class="file">foo.ps</samp> gets downloaded: </p> <div class="example"> -<pre class="example">\special{header=foo.ps} +<pre class="example-preformatted">\special{header=foo.ps} </pre></div> -<span id="index-fonts_002c-as-header-files"></span> +<a class="index-entry-id" id="index-fonts_002c-as-header-files"></a> <p>As another example, if you have some PostScript code that uses a PostScript font not built into your printer, you must download it to the printer. If the font isn’t used elsewhere in the document, Dvips can’t know you’ve used it, so you must include it in the same way, as in: </p> <div class="example"> -<pre class="example">\special{header=putr.pfa} +<pre class="example-preformatted">\special{header=putr.pfa} </pre></div> <p>to include the font definition file for Adobe Utopia Roman. </p> -<p>The <code>header</code> also special allows for specifying some additional +<p>The <code class="code">header</code> also special allows for specifying some additional code that should be inserted into the PostScript document before and after the file itself, as follows: </p> <div class="example"> -<pre class="example">\special{header={foo.ps} pre={pre code} post={post code}} +<pre class="example-preformatted">\special{header={foo.ps} pre={pre code} post={post code}} </pre></div> -<span id="index-before-header_002c-inserting-code"></span> -<span id="index-after-header_002c-inserting-code"></span> -<span id="index-pre-code-before-headers"></span> -<span id="index-post-code-after-headers"></span> -<p>This will insert <code>pre code</code> just before <samp>foo.ps</samp> and -<code>post code</code> just after. It is required to use the (balanced) -braces in <em>all</em> of the arguments, including the <code>header</code>, +<a class="index-entry-id" id="index-before-header_002c-inserting-code"></a> +<a class="index-entry-id" id="index-after-header_002c-inserting-code"></a> +<a class="index-entry-id" id="index-pre-code-before-headers"></a> +<a class="index-entry-id" id="index-post-code-after-headers"></a> +<p>This will insert <code class="code">pre code</code> just before <samp class="file">foo.ps</samp> and +<code class="code">post code</code> just after. It is required to use the (balanced) +braces in <em class="emph">all</em> of the arguments, including the <code class="code">header</code>, when using this extended syntax. </p> <p>This allows, for instance, dynamic headers, where some of the content @@ -3025,125 +3023,125 @@ depends on settings from the user in (La)TeX. Another application is the inclusion of graphics inside the PostScript header, so that they can be reused throughout the document, as with logs. That avoids including the same graphic several times. This is implemented in the -<samp>graphics/graphicx-psmin</samp> package. +<samp class="file">graphics/graphicx-psmin</samp> package. </p> <p>This extended syntax has one additional feature. When Dvips finds the -extended syntax, it will also look in the installed <samp>tex/</samp> -tree(s) for the header file (<samp>foo.ps</samp> in our example), and not +extended syntax, it will also look in the installed <samp class="file">tex/</samp> +tree(s) for the header file (<samp class="file">foo.ps</samp> in our example), and not only in the current directory and dvips tree as the original syntax does. This is because common graphics may well come with packages -which are installed in the <samp>tex/</samp> tree. +which are installed in the <samp class="file">tex/</samp> tree. </p> <hr> </div> -<div class="subsection" id="Including-headers-from-the-command-line"> -<div class="header"> +<div class="subsection-level-extent" id="Including-headers-from-the-command-line"> +<div class="nav-panel"> <p> Next: <a href="#Headers-and-memory-usage" accesskey="n" rel="next">Headers and memory usage</a>, Previous: <a href="#Including-headers-from-TeX" accesskey="p" rel="prev">Including headers from TeX</a>, Up: <a href="#Header-files" accesskey="u" rel="up">PostScript header files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Including-headers-from-the-command-line-1"></span><h4 class="subsection">5.2.2 Including headers from the command line</h4> +<h4 class="subsection" id="Including-headers-from-the-command-line-1">5.2.2 Including headers from the command line</h4> -<span id="index-including-headers-from-the-command-line"></span> -<span id="index-command-line_002c-including-headers-from"></span> -<span id="index-headers_002c-including-from-the-command-line"></span> +<a class="index-entry-id" id="index-including-headers-from-the-command-line"></a> +<a class="index-entry-id" id="index-command-line_002c-including-headers-from"></a> +<a class="index-entry-id" id="index-headers_002c-including-from-the-command-line"></a> <p>You can include headers when you run Dvips, as well as from your document (see the previous section). To do this, run Dvips with the -option ‘<samp>-P <var>header</var></samp>’; this will read the file -<samp>config.<var>header</var></samp>, which in turn can specify a header file to -be downloaded with the ‘<samp>h</samp>’ option. See <a href="#Configuration-file-commands">Configuration file commands</a>. These files are called <samp><var>header</var>.cfg</samp> on MS-DOS. -</p> -<span id="index-duplex-printers"></span> -<span id="index-simplex-mode-on-duplex-printers"></span> -<span id="index-screen-frequencies_002c-setting"></span> -<p>You can arrange for the same file to serve as a ‘<samp>-P</samp>’ config file +option ‘<samp class="samp">-P <var class="var">header</var></samp>’; this will read the file +<samp class="file">config.<var class="var">header</var></samp>, which in turn can specify a header file to +be downloaded with the ‘<samp class="samp">h</samp>’ option. See <a class="xref" href="#Configuration-file-commands">Configuration file commands</a>. These files are called <samp class="file"><var class="var">header</var>.cfg</samp> on MS-DOS. +</p> +<a class="index-entry-id" id="index-duplex-printers"></a> +<a class="index-entry-id" id="index-simplex-mode-on-duplex-printers"></a> +<a class="index-entry-id" id="index-screen-frequencies_002c-setting"></a> +<p>You can arrange for the same file to serve as a ‘<samp class="samp">-P</samp>’ config file and the downloadable header file, by starting the lines of PostScript -code with a space, leaving only the ‘<samp>h</samp>’ line and any comments +code with a space, leaving only the ‘<samp class="samp">h</samp>’ line and any comments starting in the first column. As an example, see -<samp>contrib/volker/config.*</samp> (<samp>contrib/volker/*.cfg</samp> on MS-DOS). +<samp class="file">contrib/volker/config.*</samp> (<samp class="file">contrib/volker/*.cfg</samp> on MS-DOS). (These files also perform useful functions: controlling duplex/simplex mode on duplex printers, and setting various screen frequencies; -<samp>contrib/volker/README</samp> explains further.) +<samp class="file">contrib/volker/README</samp> explains further.) </p> <hr> </div> -<div class="subsection" id="Headers-and-memory-usage"> -<div class="header"> +<div class="subsection-level-extent" id="Headers-and-memory-usage"> +<div class="nav-panel"> <p> Previous: <a href="#Including-headers-from-the-command-line" accesskey="p" rel="prev">Including headers from the command line</a>, Up: <a href="#Header-files" accesskey="u" rel="up">PostScript header files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Headers-and-memory-usage-1"></span><h4 class="subsection">5.2.3 Headers and memory usage</h4> +<h4 class="subsection" id="Headers-and-memory-usage-1">5.2.3 Headers and memory usage</h4> -<span id="index-headers-and-memory-usage"></span> -<span id="index-memory-usage_002c-and-headers"></span> +<a class="index-entry-id" id="index-headers-and-memory-usage"></a> +<a class="index-entry-id" id="index-memory-usage_002c-and-headers"></a> -<span id="index-sections-of-output-file_002c-and-memory"></span> -<span id="index-output-file_002c-sectioning-of"></span> +<a class="index-entry-id" id="index-sections-of-output-file_002c-and-memory"></a> +<a class="index-entry-id" id="index-output-file_002c-sectioning-of"></a> <p>Dvips tries to avoid overflowing the printer’s memory by splitting the -output files into “sections” (see the ‘<samp>-i</samp>’ option in <a href="#Option-details">Option details</a>). Therefore, for all header files, Dvips debits the printer VM +output files into “sections” (see the ‘<samp class="samp">-i</samp>’ option in <a class="ref" href="#Option-details">Option details</a>). Therefore, for all header files, Dvips debits the printer VM budget by some value. If the header file has, in its leading commentary a line of the form </p> -<span id="index-VMusage"></span> -<span id="index-_0025_0025VMusage"></span> +<a class="index-entry-id" id="index-VMusage"></a> +<a class="index-entry-id" id="index-_0025_0025VMusage"></a> <div class="example"> -<pre class="example">%%VMusage: <var>min</var> <var>max</var> +<pre class="example-preformatted">%%VMusage: <var class="var">min</var> <var class="var">max</var> </pre></div> -<p>then <var>max</var> is used. If there is no <code>%%VMusage</code> line, then +<p>then <var class="var">max</var> is used. If there is no <code class="code">%%VMusage</code> line, then the size (in bytes) of the header file is used as an approximation. If you want a file to be ignored in the sectioning calculations, use -‘<samp>%%VMusage: 0 0</samp>’. +‘<samp class="samp">%%VMusage: 0 0</samp>’. </p> -<p>Illustrations (figure files) are also checked for <code>%%VMusage</code> line. +<p>Illustrations (figure files) are also checked for <code class="code">%%VMusage</code> line. </p> <p>Therefore, if your document uses very large fonts or very large included figures, Dvips might take it upon itself to split the output into unwanted sections. If this causes problems, the simplest -solution is to use ‘<samp>dvips -Pmaxmem</samp>’, which reads the Dvips file -<samp>config.maxmem</samp>, which sets Dvips’s idea of the memory available -to a very large number. (See the ‘<samp>m</samp>’ item in <a href="#Configuration-file-commands">Configuration file commands</a>.) +solution is to use ‘<samp class="samp">dvips -Pmaxmem</samp>’, which reads the Dvips file +<samp class="file">config.maxmem</samp>, which sets Dvips’s idea of the memory available +to a very large number. (See the ‘<samp class="samp">m</samp>’ item in <a class="ref" href="#Configuration-file-commands">Configuration file commands</a>.) </p> <hr> </div> </div> -<div class="section" id="Literal-PS"> -<div class="header"> +<div class="section-level-extent" id="Literal-PS"> +<div class="nav-panel"> <p> Next: <a href="#Hypertext" accesskey="n" rel="next">HyperTeXt</a>, Previous: <a href="#Header-files" accesskey="p" rel="prev">PostScript header files</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Literal-PostScript"></span><h3 class="section">5.3 Literal PostScript</h3> +<h3 class="section" id="Literal-PostScript">5.3 Literal PostScript</h3> -<span id="index-literal-PostScript_002c-using"></span> -<span id="index-PostScript-code_002c-literal"></span> +<a class="index-entry-id" id="index-literal-PostScript_002c-using"></a> +<a class="index-entry-id" id="index-PostScript-code_002c-literal"></a> <p>You can include literal PostScript code in your document in several ways. </p> -<ul class="section-toc"> -<li><a href="#g_t_0022-special" accesskey="1"><code>"</code> special: Literal PostScript</a></li> -<li><a href="#ps-special" accesskey="2">‘<samp>ps</samp>’ special</a></li> -<li><a href="#Literal-headers" accesskey="3">Literal headers: ‘<samp>!</samp>’ <code>\special</code></a></li> +<ul class="mini-toc"> +<li><a href="#g_t_0022-special" accesskey="1"><code class="code">"</code> special: Literal PostScript</a></li> +<li><a href="#ps-special" accesskey="2">‘<samp class="samp">ps</samp>’ special</a></li> +<li><a href="#Literal-headers" accesskey="3">Literal headers: ‘<samp class="samp">!</samp>’ <code class="code">\special</code></a></li> <li><a href="#PostScript-hooks" accesskey="4">PostScript hooks</a></li> <li><a href="#Literal-examples" accesskey="5">Literal examples</a></li> </ul> <hr> -<div class="subsection" id="g_t_0022-special"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_0022-special"> +<div class="nav-panel"> <p> -Next: <a href="#ps-special" accesskey="n" rel="next">‘<samp>ps</samp>’ special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#ps-special" accesskey="n" rel="next">‘<samp class="samp">ps</samp>’ special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_0022-special_003a-Literal-PostScript"></span><h4 class="subsection">5.3.1 <code>"</code> special: Literal PostScript</h4> +<h4 class="subsection" id="g_t_0022-special_003a-Literal-PostScript">5.3.1 <code class="code">"</code> special: Literal PostScript</h4> -<span id="index-_0022-special-_0028literal-PostScript_0029"></span> +<a class="index-entry-id" id="index-_0022-special-_0028literal-PostScript_0029"></a> <p>For simple graphics, or just for experimentation, literal PostScript -code can be included. Simply use a <code>\special</code> beginning with a -double quote character ‘<samp>"</samp>’; there is no matching closing ‘<samp>"</samp>’. +code can be included. Simply use a <code class="code">\special</code> beginning with a +double quote character ‘<samp class="samp">"</samp>’; there is no matching closing ‘<samp class="samp">"</samp>’. </p> <p>For instance, the following (simple) graphic: </p> @@ -3151,30 +3149,30 @@ double quote character ‘<samp>"</samp>’; there is no matching c <p>was created by typing: </p> <div class="example"> -<pre class="example">\vbox to 100bp{\vss % a bp is the same as a PostScript unit +<pre class="example-preformatted">\vbox to 100bp{\vss % a bp is the same as a PostScript unit \special{" newpath 0 0 moveto 100 100 lineto 394 0 lineto closepath gsave 0.8 setgray fill grestore stroke}} </pre></div> <p>You are responsible for leaving space for such literal graphics, as with -the <code>\vbox</code> above. +the <code class="code">\vbox</code> above. </p> <hr> </div> -<div class="subsection" id="ps-special"> -<div class="header"> +<div class="subsection-level-extent" id="ps-special"> +<div class="nav-panel"> <p> -Next: <a href="#Literal-headers" accesskey="n" rel="next">Literal headers: ‘<samp>!</samp>’ <code>\special</code></a>, Previous: <a href="#g_t_0022-special" accesskey="p" rel="prev"><code>"</code> special: Literal PostScript</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Literal-headers" accesskey="n" rel="next">Literal headers: ‘<samp class="samp">!</samp>’ <code class="code">\special</code></a>, Previous: <a href="#g_t_0022-special" accesskey="p" rel="prev"><code class="code">"</code> special: Literal PostScript</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="ps-special-1"></span><h4 class="subsection">5.3.2 ‘<samp>ps</samp>’ special</h4> +<h4 class="subsection" id="ps-special-1">5.3.2 ‘<samp class="samp">ps</samp>’ special</h4> -<span id="index-ps-special"></span> +<a class="index-entry-id" id="index-ps-special"></a> -<span id="index-save_002frestore_002c-and-specials"></span> +<a class="index-entry-id" id="index-save_002frestore_002c-and-specials"></a> <p>Generally, Dvips encloses specials in a PostScript save/restore pair, guaranteeing that the special will have no effect on the rest of the -document. The ‘<samp>ps</samp>’ special, however, allows you to insert literal +document. The ‘<samp class="samp">ps</samp>’ special, however, allows you to insert literal PostScript instructions without this protective shield; you should understand what you’re doing (and you shouldn’t change the PostScript graphics state unless you are willing to take the consequences). This @@ -3182,96 +3180,96 @@ command can take many forms because it has had a torturous history; any of the following will work: </p> <div class="example"> -<pre class="example">\special{ps:<var>text</var>} -\special{ps::<var>text</var>} -\special{ps::[begin]<var>text</var>} -\special{ps::[end]<var>text</var>} -\special{ps::[nobreak]<var>text</var>} +<pre class="example-preformatted">\special{ps:<var class="var">text</var>} +\special{ps::<var class="var">text</var>} +\special{ps::[begin]<var class="var">text</var>} +\special{ps::[end]<var class="var">text</var>} +\special{ps::[nobreak]<var class="var">text</var>} </pre></div> <p>(with longer forms taking precedence over shorter forms, when they are -present). ‘<samp>ps::</samp>’ and ‘<samp>ps::[end]</samp>’ do no positioning, so they -can be used to continue PostScript literals started with ‘<samp>ps:</samp>’ or -‘<samp>ps::[begin]</samp>’. +present). ‘<samp class="samp">ps::</samp>’ and ‘<samp class="samp">ps::[end]</samp>’ do no positioning, so they +can be used to continue PostScript literals started with ‘<samp class="samp">ps:</samp>’ or +‘<samp class="samp">ps::[begin]</samp>’. </p> -<p>Literal PostScript instructions after ‘<samp>ps::[nobreak]</samp>’ are -<em>not</em> broken into lines. This feature may be used to include +<p>Literal PostScript instructions after ‘<samp class="samp">ps::[nobreak]</samp>’ are +<em class="emph">not</em> broken into lines. This feature may be used to include PostScript comments, for example. </p> -<span id="index-plotfile_002c-ps-subspecial"></span> +<a class="index-entry-id" id="index-plotfile_002c-ps-subspecial"></a> <p>In addition, the variant </p> <div class="example"> -<pre class="example">\special{ps: plotfile <var>filename</var>} +<pre class="example-preformatted">\special{ps: plotfile <var class="var">filename</var>} </pre></div> -<p><span id="index-rotate_002etex"></span> -inserts the contents of <var>filename</var> verbatim into the output (except +<a class="index-entry-id" id="index-rotate_002etex"></a> +<p>inserts the contents of <var class="var">filename</var> verbatim into the output (except for omitting lines that begin with %). An example of the proper use of -literal specials can be found in the file <samp>rotate.tex</samp>, which makes +literal specials can be found in the file <samp class="file">rotate.tex</samp>, which makes it easy to typeset text turned in multiples of 90 degrees. </p> <hr> </div> -<div class="subsection" id="Literal-headers"> -<div class="header"> +<div class="subsection-level-extent" id="Literal-headers"> +<div class="nav-panel"> <p> -Next: <a href="#PostScript-hooks" accesskey="n" rel="next">PostScript hooks</a>, Previous: <a href="#ps-special" accesskey="p" rel="prev">‘<samp>ps</samp>’ special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#PostScript-hooks" accesskey="n" rel="next">PostScript hooks</a>, Previous: <a href="#ps-special" accesskey="p" rel="prev">‘<samp class="samp">ps</samp>’ special</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Literal-headers_003a-_0021-_005cspecial"></span><h4 class="subsection">5.3.3 Literal headers: ‘<samp>!</samp>’ <code>\special</code></h4> +<h4 class="subsection" id="Literal-headers_003a-_0021-_005cspecial">5.3.3 Literal headers: ‘<samp class="samp">!</samp>’ <code class="code">\special</code></h4> -<span id="index-literal-headers"></span> -<span id="index-SDict-dictionary"></span> +<a class="index-entry-id" id="index-literal-headers"></a> +<a class="index-entry-id" id="index-SDict-dictionary"></a> -<span id="index-_0021-special-_0028literal-PS-header_0029"></span> -<span id="index-dictionary_002c-SDict"></span> +<a class="index-entry-id" id="index-_0021-special-_0028literal-PS-header_0029"></a> +<a class="index-entry-id" id="index-dictionary_002c-SDict"></a> <p>You can download literal PostScript header code in your TeX document, for use with (for example) literal graphics code that you include later. -The text of a <code>\special</code> beginning with an ‘<samp>!</samp>’ is copied into -the output file. A dictionary <code>SDict</code> will be current when this -code is executed; Dvips arranges for <code>SDict</code> to be first on the +The text of a <code class="code">\special</code> beginning with an ‘<samp class="samp">!</samp>’ is copied into +the output file. A dictionary <code class="code">SDict</code> will be current when this +code is executed; Dvips arranges for <code class="code">SDict</code> to be first on the dictionary stack when any PostScript graphic is included, whether -literally (the ‘<samp>"</samp>’ special) or through macros (e.g., -<samp>epsf.tex</samp>). +literally (the ‘<samp class="samp">"</samp>’ special) or through macros (e.g., +<samp class="file">epsf.tex</samp>). </p> <p>For example: </p> <div class="example"> -<pre class="example">\special{! /reset { 0 0 moveto} def} +<pre class="example-preformatted">\special{! /reset { 0 0 moveto} def} </pre></div> <hr> </div> -<div class="subsection" id="PostScript-hooks"> -<div class="header"> +<div class="subsection-level-extent" id="PostScript-hooks"> +<div class="nav-panel"> <p> -Next: <a href="#Literal-examples" accesskey="n" rel="next">Literal examples</a>, Previous: <a href="#Literal-headers" accesskey="p" rel="prev">Literal headers: ‘<samp>!</samp>’ <code>\special</code></a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Literal-examples" accesskey="n" rel="next">Literal examples</a>, Previous: <a href="#Literal-headers" accesskey="p" rel="prev">Literal headers: ‘<samp class="samp">!</samp>’ <code class="code">\special</code></a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PostScript-hooks-1"></span><h4 class="subsection">5.3.4 PostScript hooks</h4> +<h4 class="subsection" id="PostScript-hooks-1">5.3.4 PostScript hooks</h4> -<span id="index-PostScript-hooks"></span> +<a class="index-entry-id" id="index-PostScript-hooks"></a> <p>Besides including literal PostScript at a particular place in your document (as described in the previous section), you can also arrange to execute arbitrary PostScript code at particular times while the PostScript is printing. </p> -<span id="index-bop_002dhook-2"></span> -<span id="index-eop_002dhook"></span> -<span id="index-start_002dhook"></span> -<span id="index-end_002dhook"></span> -<p>If any of the PostScript names <code>bop-hook</code>, <code>eop-hook</code>, -<code>start-hook</code>, or <code>end-hook</code> are defined in <code>userdict</code>, +<a class="index-entry-id" id="index-bop_002dhook-2"></a> +<a class="index-entry-id" id="index-eop_002dhook"></a> +<a class="index-entry-id" id="index-start_002dhook"></a> +<a class="index-entry-id" id="index-end_002dhook"></a> +<p>If any of the PostScript names <code class="code">bop-hook</code>, <code class="code">eop-hook</code>, +<code class="code">start-hook</code>, or <code class="code">end-hook</code> are defined in <code class="code">userdict</code>, they will be executed at the beginning of a page, end of a page, start of the document, and end of a document, respectively. </p> -<span id="index-draft-copies"></span> -<span id="index-dated-output"></span> +<a class="index-entry-id" id="index-draft-copies"></a> +<a class="index-entry-id" id="index-dated-output"></a> <p>When these macros are executed, the default PostScript coordinate system and origin is in effect. Such macros can be defined in headers added by -the ‘<samp>-h</samp>’ option or the ‘<samp>header=</samp>’ special, and might be useful +the ‘<samp class="samp">-h</samp>’ option or the ‘<samp class="samp">header=</samp>’ special, and might be useful for writing, for instance, ‘DRAFT’ across the entire page, or, with the aid of a shell script, dating the document. These macros are executed outside of the save/restore context of the individual pages, so it is @@ -3279,46 +3277,46 @@ possible for them to accumulate information, but if a document must be divided into sections because of memory constraints, such added information will be lost across section breaks. </p> -<span id="index-physical-page-number_002c-and-bop_002dhook"></span> -<p>The single argument to <code>bop-hook</code> is the physical page number; the -first page gets zero, the second one, etc. <code>bop-hook</code> must leave +<a class="index-entry-id" id="index-physical-page-number_002c-and-bop_002dhook"></a> +<p>The single argument to <code class="code">bop-hook</code> is the physical page number; the +first page gets zero, the second one, etc. <code class="code">bop-hook</code> must leave this number on the stack. None of the other hooks are passed arguments. </p> <p>As an example of what can be done, the following special will write a light grey ‘DRAFT’ across each page in the document: </p> <div class="example"> -<pre class="example">\special{!userdict begin /bop-hook{gsave 200 30 translate +<pre class="example-preformatted">\special{!userdict begin /bop-hook{gsave 200 30 translate 65 rotate /Times-Roman findfont 216 scalefont setfont 0 0 moveto 0.7 setgray (DRAFT) show grestore}def end} </pre></div> -<span id="index-_0025_0025Page_002c-and-multi_002dpage-information"></span> -<p>Using <code>bop-hook</code> or <code>eop-hook</code> to preserve information across +<a class="index-entry-id" id="index-_0025_0025Page_002c-and-multi_002dpage-information"></a> +<p>Using <code class="code">bop-hook</code> or <code class="code">eop-hook</code> to preserve information across pages breaks compliance with the Adobe document structuring conventions, -so if you use any such tricks, you may also want to use the ‘<samp>-N</samp>’ -option to turn off structured comments (such as ‘<samp>%%Page</samp>’). +so if you use any such tricks, you may also want to use the ‘<samp class="samp">-N</samp>’ +option to turn off structured comments (such as ‘<samp class="samp">%%Page</samp>’). Otherwise, programs that read your file will assume its pages are independent. </p> <hr> </div> -<div class="subsection" id="Literal-examples"> -<div class="header"> +<div class="subsection-level-extent" id="Literal-examples"> +<div class="nav-panel"> <p> Previous: <a href="#PostScript-hooks" accesskey="p" rel="prev">PostScript hooks</a>, Up: <a href="#Literal-PS" accesskey="u" rel="up">Literal PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Literal-examples-1"></span><h4 class="subsection">5.3.5 Literal examples</h4> +<h4 class="subsection" id="Literal-examples-1">5.3.5 Literal examples</h4> -<span id="index-literal-PostScript_002c-examples"></span> -<span id="index-examples-of-literal-PostScript"></span> +<a class="index-entry-id" id="index-literal-PostScript_002c-examples"></a> +<a class="index-entry-id" id="index-examples-of-literal-PostScript"></a> <p>To finish off this section, the following examples of literal PostScript are presented without explanation: </p> <div class="example"> -<pre class="example">\def\rotninety{\special{ps:currentpoint currentpoint translate 90 +<pre class="example-preformatted">\def\rotninety{\special{ps:currentpoint currentpoint translate 90 rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept \setbox0=\hbox to0pt{\huge A\hss}\vskip16truept\centerline{\copy0 \special{ps:gsave}\rotninety\copy0\rotninety\copy0\rotninety @@ -3328,7 +3326,7 @@ rotate neg exch neg exch translate}}\font\huge=cmbx10 at 14.4truept <div class="example"> -<pre class="example">\vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in +<pre class="example-preformatted">\vbox to 2truein{\special{ps:gsave 0.3 setgray}\hrule height 2in width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big \vss\special{ps:gsave 1 setgray}\vbox to 0pt{\vskip2pt \line{\hss\hskip4pt NEAT\hss}\vss}\special{ps:0 setgray}% @@ -3336,78 +3334,78 @@ width\hsize\vskip-2in\special{ps:grestore}\font\big=cminch\big </pre></div> -<span id="index-_005crotninety"></span> -<span id="index-gsave_002fgrestore_002c-and-literal-PS"></span> -<span id="index-save_002frestore_002c-and-literal-PS"></span> -<p>Some caveats are in order, however. Make sure that each <code>gsave</code> is -matched with a <code>grestore</code> on the same page. Do not use <code>save</code> -and <code>restore</code>; they can interact with the PostScript generated by +<a class="index-entry-id" id="index-_005crotninety"></a> +<a class="index-entry-id" id="index-gsave_002fgrestore_002c-and-literal-PS"></a> +<a class="index-entry-id" id="index-save_002frestore_002c-and-literal-PS"></a> +<p>Some caveats are in order, however. Make sure that each <code class="code">gsave</code> is +matched with a <code class="code">grestore</code> on the same page. Do not use <code class="code">save</code> +and <code class="code">restore</code>; they can interact with the PostScript generated by Dvips if care is not taken. Try to understand what the above macros are -doing before writing your own. The <code>\rotninety</code> macro especially +doing before writing your own. The <code class="code">\rotninety</code> macro especially has a useful trick that appears again and again. </p> <hr> </div> </div> -<div class="section" id="Hypertext"> -<div class="header"> +<div class="section-level-extent" id="Hypertext"> +<div class="nav-panel"> <p> Previous: <a href="#Literal-PS" accesskey="p" rel="prev">Literal PostScript</a>, Up: <a href="#Interaction-with-PostScript" accesskey="u" rel="up">Interaction with PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="HyperTeXt"></span><h3 class="section">5.4 HyperTeXt</h3> +<h3 class="section" id="HyperTeXt">5.4 HyperTeXt</h3> -<span id="index-hypertext-support"></span> +<a class="index-entry-id" id="index-hypertext-support"></a> -<span id="index-_002dz"></span> -<span id="index-html-specials"></span> -<span id="index-pdfmark"></span> +<a class="index-entry-id" id="index-_002dz"></a> +<a class="index-entry-id" id="index-html-specials"></a> +<a class="index-entry-id" id="index-pdfmark"></a> <p>Dvips has support for producing hypertext PostScript documents. If you -specify the ‘<samp>-z</samp>’ option, the <samp>html:</samp> specials described below -will be converted into ‘<samp>pdfmark</samp>’ PostScript operators to specify -links. Without ‘<samp>-z</samp>’, <samp>html:</samp> specials are ignored. +specify the ‘<samp class="samp">-z</samp>’ option, the <samp class="file">html:</samp> specials described below +will be converted into ‘<samp class="samp">pdfmark</samp>’ PostScript operators to specify +links. Without ‘<samp class="samp">-z</samp>’, <samp class="file">html:</samp> specials are ignored. </p> -<span id="index-distiller_002c-for-PDF-files"></span> -<span id="index-PDF-files_002c-making-1"></span> +<a class="index-entry-id" id="index-distiller_002c-for-PDF-files"></a> +<a class="index-entry-id" id="index-PDF-files_002c-making-1"></a> <p>The resulting PostScript can then be processed by a distiller program to make a PDF file. (It can still be handled by ordinary PostScript interpreters as well.) Various versions of both PC and Unix distillers are supported; Ghostscript includes limited distiller support -(see <a href="#Ghostscript-installation">Ghostscript installation</a>). +(see <a class="pxref" href="#Ghostscript-installation">Ghostscript installation</a>). </p> <p>By far the most common LaTeX package used to create hyperlinked -output is <code>hyperref</code> (<a href="https://ctan.org/pkg/hyperref">https://ctan.org/pkg/hyperref</a>). For +output is <code class="code">hyperref</code> (<a class="url" href="https://ctan.org/pkg/hyperref">https://ctan.org/pkg/hyperref</a>). For plain TeX, the Eplain package has some hyperlink support -(<a href="https://tug.org/eplain">https://tug.org/eplain</a>). +(<a class="url" href="https://tug.org/eplain">https://tug.org/eplain</a>). </p> -<span id="index-Doyle_002c-Mark"></span> -<span id="index-Bhattacharya_002c-Tanmoy"></span> -<span id="index-dvihps_002c-hyperdvi-to-PostScript"></span> +<a class="index-entry-id" id="index-Doyle_002c-Mark"></a> +<a class="index-entry-id" id="index-Bhattacharya_002c-Tanmoy"></a> +<a class="index-entry-id" id="index-dvihps_002c-hyperdvi-to-PostScript"></a> <p>This hypertext support (and original form of the documentation) was -written by Mark Doyle and Tanmoy Bhattacharya as the ‘<samp>dvihps</samp>’ +written by Mark Doyle and Tanmoy Bhattacharya as the ‘<samp class="samp">dvihps</samp>’ program. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Hypertext-caveats" accesskey="1">Hypertext caveats</a></li> <li><a href="#Hypertext-specials" accesskey="2">Hypertext specials</a></li> </ul> <hr> -<div class="subsection" id="Hypertext-caveats"> -<div class="header"> +<div class="subsection-level-extent" id="Hypertext-caveats"> +<div class="nav-panel"> <p> Next: <a href="#Hypertext-specials" accesskey="n" rel="next">Hypertext specials</a>, Up: <a href="#Hypertext" accesskey="u" rel="up">HyperTeXt</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Hypertext-caveats-1"></span><h4 class="subsection">5.4.1 Hypertext caveats</h4> +<h4 class="subsection" id="Hypertext-caveats-1">5.4.1 Hypertext caveats</h4> -<span id="index-hypertext-caveats"></span> +<a class="index-entry-id" id="index-hypertext-caveats"></a> -<span id="index-Computer-Modern-in-PostScript"></span> -<span id="index-hypertext-and-bitmap-fonts"></span> -<span id="index-hypertext-caveats-1"></span> -<span id="index-embedding-Type-1-fonts"></span> -<span id="index-PDF-files_002c-font-quality"></span> +<a class="index-entry-id" id="index-Computer-Modern-in-PostScript"></a> +<a class="index-entry-id" id="index-hypertext-and-bitmap-fonts"></a> +<a class="index-entry-id" id="index-hypertext-caveats-1"></a> +<a class="index-entry-id" id="index-embedding-Type-1-fonts"></a> +<a class="index-entry-id" id="index-PDF-files_002c-font-quality"></a> <p>If you intend to go all the way to PDF, you may want to use the standard 35 PostScript fonts exclusively, since other fonts are embedded as bitmaps by default. The Adobe PDF readers are extremely slow when @@ -3420,11 +3418,11 @@ They can also be converted to PDF files that can be used effectively at any screen or printer resolution. </p> <p>To get the TeX fonts embedded in the PostScript file as Type 1 fonts, -add ‘<samp>-Ppdf</samp>’ to the dvips command line switches. The printout +add ‘<samp class="samp">-Ppdf</samp>’ to the dvips command line switches. The printout for a run should look something like this: </p> -<div class="example"> -<pre class="example"> dvips report -Ppdf -o report.ps +<div class="example smallexample"> +<pre class="example-preformatted"> dvips report -Ppdf -o report.ps This is dvips(k) 5.86 Copyright 1999 Radical Eye Software (www.radicaleye.com) ' TeX output 2001.06.15:0837' -> report.ps <tex.pro><alt-rule.pro><texc.pro><texps.pro><special.pro>. @@ -3438,33 +3436,33 @@ for a run should look something like this: Modern Roman 10 point font in a PostScript Font Binary file, translated it to an ASCII encoding, and embedded it. You can confirm this by examining the PostScript output file, looking for the section starting -<code>%%BeginFont: CMR10</code> followed by an entry <code>/FontType 1 def</code>. +<code class="code">%%BeginFont: CMR10</code> followed by an entry <code class="code">/FontType 1 def</code>. </p> -<p>The ‘<samp>-Ppdf</samp>’ option requires that the relevant outline -(<samp>.pfa</samp> or <samp>.pfb</samp>) files be installed (see <a href="#Font-concepts">Font concepts</a>). For example, the <samp>cmr10</samp> file might be in -<samp>/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb</samp>. Your TeX +<p>The ‘<samp class="samp">-Ppdf</samp>’ option requires that the relevant outline +(<samp class="file">.pfa</samp> or <samp class="file">.pfb</samp>) files be installed (see <a class="pxref" href="#Font-concepts">Font concepts</a>). For example, the <samp class="file">cmr10</samp> file might be in +<samp class="file">/usr/share/texmf/fonts/type1/bluesky/cm/cmr10.pfb</samp>. Your TeX distribution may make those fonts available in a separate optional -package (e.g., <code>tetex-extra</code> in Debian). Failing that, +package (e.g., <code class="code">tetex-extra</code> in Debian). Failing that, commercial versions of the Computer Modern fonts are available from Blue Sky; public domain versions, in particular, the lm and cm-super font families, are available from CTAN and in TeX distributions. </p> -<p>You can convert a PostScript file to PDF using <code>distill</code>, which -comes with Adobe Acrobat, or <code>ps2pdf</code>, which comes with -Ghostscript. The <code>ps2pdf</code> that comes with <code>Ghostscript</code> +<p>You can convert a PostScript file to PDF using <code class="code">distill</code>, which +comes with Adobe Acrobat, or <code class="code">ps2pdf</code>, which comes with +Ghostscript. The <code class="code">ps2pdf</code> that comes with <code class="code">Ghostscript</code> version 6.0 or earlier will not embed Type 1 fonts. Current recommendations are GNU Ghostscript 6.51 or Aladdin Ghostscript 7.0. You can check the fonts in a PDF file with Acrobat Reader by selecting -the menu entries ‘<samp>File|Document Info|Fonts</samp>’. +the menu entries ‘<samp class="samp">File|Document Info|Fonts</samp>’. </p> -<span id="index-psi-character-missing"></span> -<span id="index-trailing-spaces_002c-dropped"></span> -<span id="index-spaces_002c-dropped-trailing"></span> +<a class="index-entry-id" id="index-psi-character-missing"></a> +<a class="index-entry-id" id="index-trailing-spaces_002c-dropped"></a> +<a class="index-entry-id" id="index-spaces_002c-dropped-trailing"></a> <p>Also, the Adobe distillers prior to 2.1 drop trailing space characters (character code 32) from strings. Unfortunately, the PostScript fonts use this character code for characters other than space (notably the -Greek letter psi in the <code>Symbol</code> font), and so these characters are +Greek letter psi in the <code class="code">Symbol</code> font), and so these characters are dropped. This bug is fixed in version 2.1. </p> <p>If you can’t upgrade, one workaround is to change all the trailing @@ -3472,7 +3470,7 @@ blanks in strings to a character code that isn’t in the font. This works because the default behavior is to substitute a blank for a missing character, i.e., the distiller is fooled into substituting the right character. For instance, with the Blue Sky fonts, you can globally -replace ‘<samp> )</samp>’ with ‘<samp>\200)</samp>’ (with <code>sed</code>, for example) and +replace ‘<samp class="samp"> )</samp>’ with ‘<samp class="samp">\200)</samp>’ (with <code class="code">sed</code>, for example) and get the desired result. With the public domain fonts, you will probably have to use a character code in the range 128 to 191 since these fonts duplicate the first 32 characters starting at 192 to avoid MS-DOS @@ -3483,102 +3481,102 @@ article “Creating quality Adobe PDF files from TeX with DVIPS” by Kendall Whitehouse of Adobe. Adobe seems not to offer the article any more, but copies are available elsewhere: </p><div class="display"> -<pre class="display"><a href="http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html">http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html</a> -<a href="http://www.utdallas.edu/~cantrell/online/543e.html">http://www.utdallas.edu/~cantrell/online/543e.html</a> +<pre class="display-preformatted"><a class="url" href="http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html">http://www.math.hawaii.edu/~ralph/MathOnWeb/TeXPDF.html</a> +<a class="url" href="http://www.utdallas.edu/~cantrell/online/543e.html">http://www.utdallas.edu/~cantrell/online/543e.html</a> </pre></div> <hr> </div> -<div class="subsection" id="Hypertext-specials"> -<div class="header"> +<div class="subsection-level-extent" id="Hypertext-specials"> +<div class="nav-panel"> <p> Previous: <a href="#Hypertext-caveats" accesskey="p" rel="prev">Hypertext caveats</a>, Up: <a href="#Hypertext" accesskey="u" rel="up">HyperTeXt</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Hypertext-specials-1"></span><h4 class="subsection">5.4.2 Hypertext specials</h4> +<h4 class="subsection" id="Hypertext-specials-1">5.4.2 Hypertext specials</h4> -<span id="index-hypertext-specials"></span> -<span id="index-specials_002c-hypertext"></span> +<a class="index-entry-id" id="index-hypertext-specials"></a> +<a class="index-entry-id" id="index-specials_002c-hypertext"></a> -<span id="index-Smith_002c-Arthur"></span> +<a class="index-entry-id" id="index-Smith_002c-Arthur"></a> <p>Current support for the World Wide Web in the TeX system does not involve modifying TeX itself. We need only define some specials; -Arthur Smith (<a href="mailto:apsmith@aps.org">apsmith@aps.org</a>), Tanmoy Bhattacharya, and Paul +Arthur Smith (<a class="email" href="mailto:apsmith@aps.org">apsmith@aps.org</a>), Tanmoy Bhattacharya, and Paul Ginsparg originally proposed and implemented the following: </p><div class="example"> -<pre class="example">html:<a href="<var>xurl</var>"> -html:<a name="<var>name</var>"> +<pre class="example-preformatted">html:<a href="<var class="var">xurl</var>"> +html:<a name="<var class="var">name</var>"> html:</a> -html:<img src="<var>xurl</var>"> -html:<base href="<var>xurl</var>"> +html:<img src="<var class="var">xurl</var>"> +html:<base href="<var class="var">xurl</var>"> </pre></div> -<p>Like all TeX <code>\special</code>’s, these produce no visible output, and +<p>Like all TeX <code class="code">\special</code>’s, these produce no visible output, and are uninterpreted by TeX itself. They are instructions to DVI processors only. </p> -<span id="index-uniform-resource-locator"></span> -<span id="index-extended-URL"></span> -<span id="index-URL_002c-extended-for-TeX"></span> -<span id="index-Murphy_002c-Tim"></span> -<p>Here, <var>xurl</var> is a standard WWW uniform resource locator (URL), -possibly extended with a ‘<samp>#<var>type</var>.<var>string</var></samp>’ construct, -where <var>type</var> is ‘<samp>page</samp>’, ‘<samp>section</samp>’, ‘<samp>equation</samp>’, -‘<samp>reference</samp>’ (for bibliographic references), ‘<samp>figure</samp>’, -‘<samp>table</samp>’, etc. For example, -</p><div class="example"> -<pre class="example">\special{html:<a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1">} +<a class="index-entry-id" id="index-uniform-resource-locator"></a> +<a class="index-entry-id" id="index-extended-URL"></a> +<a class="index-entry-id" id="index-URL_002c-extended-for-TeX"></a> +<a class="index-entry-id" id="index-Murphy_002c-Tim"></a> +<p>Here, <var class="var">xurl</var> is a standard WWW uniform resource locator (URL), +possibly extended with a ‘<samp class="samp">#<var class="var">type</var>.<var class="var">string</var></samp>’ construct, +where <var class="var">type</var> is ‘<samp class="samp">page</samp>’, ‘<samp class="samp">section</samp>’, ‘<samp class="samp">equation</samp>’, +‘<samp class="samp">reference</samp>’ (for bibliographic references), ‘<samp class="samp">figure</samp>’, +‘<samp class="samp">table</samp>’, etc. For example, +</p><div class="example smallexample"> +<pre class="example-preformatted">\special{html:<a href="http://www.maths.tcd.ie/~tim/ch1.dvi#equation.1.1">} </pre></div> <p>is a link to equation (1.1) in an example document by Tim Murphy. </p> -<span id="index-URL_002c-definition"></span> -<p>See the URL <a href="http://www.w3.org/hypertext/WWW/Addressing/Addressing.html">http://www.w3.org/hypertext/WWW/Addressing/Addressing.html</a> +<a class="index-entry-id" id="index-URL_002c-definition"></a> +<p>See the URL <a class="url" href="http://www.w3.org/hypertext/WWW/Addressing/Addressing.html">http://www.w3.org/hypertext/WWW/Addressing/Addressing.html</a> for a precise description of base URL’s. </p> -<p>Descriptions of the <code>\special</code>’s: -</p><dl compact="compact"> -<dt id='index-href'><span>‘<samp>href</samp>’<a href='#index-href' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-links_002c-hypertext"></span> +<p>Descriptions of the <code class="code">\special</code>’s: +</p><dl class="ftable"> +<dt id='index-href'><span>‘<samp class="samp">href</samp>’<a class="copiable-link" href='#index-href'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-links_002c-hypertext"></a> <p>Creates links in your TeX document. For example: </p><div class="example"> -<pre class="example">\special{html:<a href="http://www.tug.org/">}\TeX\ Users +<pre class="example-preformatted">\special{html:<a href="http://www.tug.org/">}\TeX\ Users Group\special{html:</a>} </pre></div> <p>The user will be able to click on the text ‘TeX Users Group’ while running Xdvi and get to the TUG home page. (By the way, this is for illustration. In practice, you most likely want to use -macros to insert the <code>\special</code> commands; reference above.) +macros to insert the <code class="code">\special</code> commands; reference above.) </p> </dd> -<dt id='index-name'><span>‘<samp>name</samp>’<a href='#index-name' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Anderson_002c-Laurie"></span> +<dt id='index-name'><span>‘<samp class="samp">name</samp>’<a class="copiable-link" href='#index-name'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Anderson_002c-Laurie"></a> <p>Defines URL targets in your TeX documents, so links can be resolved. For example: </p><div class="example"> -<pre class="example">\special{html:<a name="paradise">}Paradise\special{html:</a>} +<pre class="example-preformatted">\special{html:<a name="paradise">}Paradise\special{html:</a>} is exactly where you are right now. </pre></div> -<p>This will resolve an ‘<samp>href="#paradise"</samp>’. You’ll also have to -change the catcode of ‘<samp>#</samp>’, etc. It’s usually easiest to use +<p>This will resolve an ‘<samp class="samp">href="#paradise"</samp>’. You’ll also have to +change the catcode of ‘<samp class="samp">#</samp>’, etc. It’s usually easiest to use existing macro packages which take care of all the details, such as -<samp>hyperref</samp> for LaTeX. The <a href="http://arxiv.org/hypertex/">HyperTeX FAQ</a> has more information. +<samp class="file">hyperref</samp> for LaTeX. The <a class="url" href="http://arxiv.org/hypertex/">HyperTeX FAQ</a> has more information. </p> </dd> -<dt id='index-img'><span>‘<samp>img</samp>’<a href='#index-img' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-mailcap-and-hypertext"></span> +<dt id='index-img'><span>‘<samp class="samp">img</samp>’<a class="copiable-link" href='#index-img'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-mailcap-and-hypertext"></a> <p>Links to an arbitrary external file. Interactively, a viewer is spawned -to read the file according to the file extension and your <samp>mailcap</samp> +to read the file according to the file extension and your <samp class="file">mailcap</samp> file (see the Xdvi documentation). </p> </dd> -<dt id='index-base'><span>‘<samp>base</samp>’<a href='#index-base' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Defines a base URL that is prepended to all the <code>name</code> targets. +<dt id='index-base'><span>‘<samp class="samp">base</samp>’<a class="copiable-link" href='#index-base'> ¶</a></span></dt> +<dd><p>Defines a base URL that is prepended to all the <code class="code">name</code> targets. Typically unnecessary, as the name of the DVI file being read is used by default. </p></dd> </dl> -<p>The ‘<samp>img</samp>’ and ‘<samp>base</samp>’ tags are not yet implemented in Dvips or +<p>The ‘<samp class="samp">img</samp>’ and ‘<samp class="samp">base</samp>’ tags are not yet implemented in Dvips or the NeXTSTEP DVI viewer. </p> @@ -3586,14 +3584,14 @@ the NeXTSTEP DVI viewer. </div> </div> </div> -<div class="chapter" id="PostScript-fonts"> -<div class="header"> +<div class="chapter-level-extent" id="PostScript-fonts"> +<div class="nav-panel"> <p> Next: <a href="#Color" accesskey="n" rel="next">Color</a>, Previous: <a href="#Interaction-with-PostScript" accesskey="p" rel="prev">Interaction with PostScript</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PostScript-fonts-1"></span><h2 class="chapter">6 PostScript fonts</h2> +<h2 class="chapter" id="PostScript-fonts-1">6 PostScript fonts</h2> -<span id="index-PostScript-fonts"></span> +<a class="index-entry-id" id="index-PostScript-fonts"></a> <p>Dvips supports the use of PostScript fonts in TeX documents. To use a PostScript font conveniently, you need to prepare a corresponding @@ -3601,47 +3599,47 @@ virtual font; the program Afm2tfm, supplied with Dvips, helps with that. </p> <p>All the necessary support for the standard 35 PostScript fonts -(‘<samp>AvantGarde-Book</samp>’ through ‘<samp>ZapfDingbats</samp>’), plus other freely +(‘<samp class="samp">AvantGarde-Book</samp>’ through ‘<samp class="samp">ZapfDingbats</samp>’), plus other freely or commonly available PostScript fonts is available along with Dvips. To use these fonts, you need do nothing beyond what is mentioned in the -installation procedure (see <a href="#Installation">Installation</a>). This chapter is +installation procedure (see <a class="pxref" href="#Installation">Installation</a>). This chapter is therefore relevant only if you are installing new PostScript fonts not supplied with Dvips. (Or if you’re curious.) </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Font-concepts" accesskey="1">Font concepts</a></li> <li><a href="#Making-a-font-available" accesskey="2">Making a PostScript font available</a></li> <li><a href="#Invoking-afm2tfm" accesskey="3">Invoking Afm2tfm</a></li> -<li><a href="#psfonts_002emap" accesskey="4"><samp>psfonts.map</samp>: PostScript font catalog</a></li> +<li><a href="#psfonts_002emap" accesskey="4"><samp class="file">psfonts.map</samp>: PostScript font catalog</a></li> </ul> <hr> -<div class="section" id="Font-concepts"> -<div class="header"> +<div class="section-level-extent" id="Font-concepts"> +<div class="nav-panel"> <p> Next: <a href="#Making-a-font-available" accesskey="n" rel="next">Making a PostScript font available</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Font-concepts-1"></span><h3 class="section">6.1 Font concepts</h3> +<h3 class="section" id="Font-concepts-1">6.1 Font concepts</h3> -<span id="index-font-concepts"></span> +<a class="index-entry-id" id="index-font-concepts"></a> <p>The information needed to typeset using a particular font is contained -in two files: a <em>metric file</em> that contains shape-independent -information and a <em>glyph file</em> that contains the actual shapes of -the font’s characters. A <em>virtual font</em> is an optional additional +in two files: a <em class="dfn">metric file</em> that contains shape-independent +information and a <em class="dfn">glyph file</em> that contains the actual shapes of +the font’s characters. A <em class="dfn">virtual font</em> is an optional additional file that can specify special ways to construct the characters. TeX itself (or LaTeX) look only at the metric file, but DVI drivers such as Dvips look at all three of these files. </p> -<p>An <em>encoding file</em> defines the correspondence between the code +<p>An <em class="dfn">encoding file</em> defines the correspondence between the code numbers of the characters in a font and their descriptive names. Two encoding files used together can describe a reencoding that rearranges, i.e., renumbers, the characters of a font. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Metric-files" accesskey="1">Metric files</a></li> <li><a href="#Glyph-files" accesskey="2">Glyph files</a></li> <li><a href="#Virtual-fonts" accesskey="3">Virtual fonts</a></li> @@ -3650,16 +3648,16 @@ i.e., renumbers, the characters of a font. <li><a href="#PostScript-typesetting" accesskey="6">How PostScript typesets a character</a></li> </ul> <hr> -<div class="subsection" id="Metric-files"> -<div class="header"> +<div class="subsection-level-extent" id="Metric-files"> +<div class="nav-panel"> <p> Next: <a href="#Glyph-files" accesskey="n" rel="next">Glyph files</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Metric-files-1"></span><h4 class="subsection">6.1.1 Metric files</h4> +<h4 class="subsection" id="Metric-files-1">6.1.1 Metric files</h4> -<span id="index-metric-files"></span> +<a class="index-entry-id" id="index-metric-files"></a> -<p>A <em>metric file</em> describes properties of the font that are +<p>A <em class="dfn">metric file</em> describes properties of the font that are independent of what the characters actually look like. Aside from general information about the font itself, a metric file has two kinds of information: information about individual characters, organized by @@ -3668,53 +3666,53 @@ character code, and information about sequences of characters. <p>The per-character information specifies the width, height, depth, and italic correction of each character in the font. Any might be zero. </p> -<span id="index-kerning_002c-defined"></span> -<span id="index-ligature_002c-defined"></span> +<a class="index-entry-id" id="index-kerning_002c-defined"></a> +<a class="index-entry-id" id="index-ligature_002c-defined"></a> <p>In addition to information on individual characters, the metric file -specifies <em>kerning</em>, i.e., adding or removing space between -particular character pairs. It further specifies <em>ligature</em> +specifies <em class="dfn">kerning</em>, i.e., adding or removing space between +particular character pairs. It further specifies <em class="dfn">ligature</em> information: when a sequence of input characters should be typeset as a single (presumably different) “ligature” character. For example, it’s -traditional for the input ‘<samp>fi</samp>’ to be typeset as ‘fi’, not as -‘<span class="roman">f</span><span class="roman">i</span>’ (with the dot of the ‘i’ colliding with ‘f’). (In English, +traditional for the input ‘<samp class="samp">fi</samp>’ to be typeset as ‘fi’, not as +‘<span class="r">f</span><span class="r">i</span>’ (with the dot of the ‘i’ colliding with ‘f’). (In English, the only common ligatures are fi, fl, ff, ffi, and ffl.) </p> <p>Different typesetting systems use different metric file formats: </p> -<ul> -<li> <span id="index-afm-files"></span> -<span id="index-_002eafm-Adobe-metric-files"></span> -Each PostScript font has an <em>Adobe font metrics</em> (‘<samp>.afm</samp>’) +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-afm-files"></a> +<a class="index-entry-id" id="index-_002eafm-Adobe-metric-files"></a> +Each PostScript font has an <em class="dfn">Adobe font metrics</em> (‘<samp class="samp">.afm</samp>’) file. These files are plain text, so you can inspect them easily. You can get AFM files for Adobe’s fonts from -<a href="ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs">ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs</a>. - -</li><li> <span id="index-tfm-files"></span> -<span id="index-_002etfm-TeX-font-metric-files"></span> -TeX uses <em>TeX font metrics</em> (‘<samp>.tfm</samp>’) files. When you say -‘<samp>\font = <var>font</var></samp>’ in your TeX document, TeX reads a file -named ‘<samp><var>font</var>.tfm</samp>’. (Well, except for the <samp>texfonts.map</samp> -feature; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Fontmap">Fontmap</a> in <cite>Kpathsea</cite>). TeX can then +<a class="url" href="ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs">ftp://ftp.adobe.com/pub/adobe/Fonts/AFMs</a>. + +</li><li><a class="index-entry-id" id="index-tfm-files"></a> +<a class="index-entry-id" id="index-_002etfm-TeX-font-metric-files"></a> +TeX uses <em class="dfn">TeX font metrics</em> (‘<samp class="samp">.tfm</samp>’) files. When you say +‘<samp class="samp">\font = <var class="var">font</var></samp>’ in your TeX document, TeX reads a file +named ‘<samp class="samp"><var class="var">font</var>.tfm</samp>’. (Well, except for the <samp class="file">texfonts.map</samp> +feature; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Fontmap">Fontmap</a> in <cite class="cite">Kpathsea</cite>). TeX can then calculate the space occupied by characters from the font when typesetting. In addition, the DVI drivers you use to print or view the DVI file produced by TeX may need to look at the TFM file. -<span id="index-property-list-files"></span> -<span id="index-tftopl"></span> -<span id="index-pltotf"></span> -<span id="index-_002epl-property-list-files"></span> +<a class="index-entry-id" id="index-property-list-files"></a> +<a class="index-entry-id" id="index-tftopl"></a> +<a class="index-entry-id" id="index-pltotf"></a> +<a class="index-entry-id" id="index-_002epl-property-list-files"></a> <p>TFM files are binary (and hence are typically much smaller than AFM -files). You can use the <code>tftopl</code> program (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tftopl-invocation">tftopl -invocation</a> in <cite>Web2c</cite>) that comes with TeX to transform a TFM -file into a human-readable “property list” (‘<samp>.pl</samp>’) file. You can +files). You can use the <code class="code">tftopl</code> program (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tftopl-invocation">tftopl +invocation</a> in <cite class="cite">Web2c</cite>) that comes with TeX to transform a TFM +file into a human-readable “property list” (‘<samp class="samp">.pl</samp>’) file. You can also edit a PL file and transform it back to a TeX-readable TFM with -the companion program <code>pltotf</code> (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pltotf-invocation">pltotf invocation</a> in <cite>Web2c</cite>). Editing metrics by hand is not something you’re likely to want +the companion program <code class="code">pltotf</code> (see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pltotf-invocation">pltotf invocation</a> in <cite class="cite">Web2c</cite>). Editing metrics by hand is not something you’re likely to want to do often, but the capability is there. </p> -</li><li> <span id="index-pfm-files"></span> -<span id="index-_002epfm-printer-font-metric-files"></span> -ATM and other typesetting systems use <em>printer font metric</em> -(‘<samp>.pfm</samp>’) files. These are binary files. They are irrelevant in the +</li><li><a class="index-entry-id" id="index-pfm-files"></a> +<a class="index-entry-id" id="index-_002epfm-printer-font-metric-files"></a> +ATM and other typesetting systems use <em class="dfn">printer font metric</em> +(‘<samp class="samp">.pfm</samp>’) files. These are binary files. They are irrelevant in the TeX world, and not freely available, so we will not discuss them further. @@ -3722,19 +3720,19 @@ further. <p>The Afm2tfm program distributed with Dvips converts an AFM file to a TFM file and performs other useful transformations as well. -See <a href="#Invoking-afm2tfm">Invoking Afm2tfm</a>. +See <a class="xref" href="#Invoking-afm2tfm">Invoking Afm2tfm</a>. </p> <hr> </div> -<div class="subsection" id="Glyph-files"> -<div class="header"> +<div class="subsection-level-extent" id="Glyph-files"> +<div class="nav-panel"> <p> Next: <a href="#Virtual-fonts" accesskey="n" rel="next">Virtual fonts</a>, Previous: <a href="#Metric-files" accesskey="p" rel="prev">Metric files</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Glyph-files-1"></span><h4 class="subsection">6.1.2 Glyph files</h4> +<h4 class="subsection" id="Glyph-files-1">6.1.2 Glyph files</h4> -<span id="index-glyph-files"></span> +<a class="index-entry-id" id="index-glyph-files"></a> <p>Although a metric file (see the previous section) contains information about the spatial and other properties of the character at position 75, @@ -3744,141 +3742,141 @@ in a font—are defined by other files, which we call glyph files. TeX itself only reads the TFM file for a font; it does not need to know character shapes. </p> -<p>A <em>glyph file</em> is a file that defines the shapes of the characters +<p>A <em class="dfn">glyph file</em> is a file that defines the shapes of the characters in a font. The shapes can be defined either by outlines or by bitmaps. </p> -<span id="index-outline-fonts"></span> -<span id="index-arcs"></span> -<span id="index-splines"></span> -<p>PostScript fonts are defined as <em>outline fonts</em>: Each character in +<a class="index-entry-id" id="index-outline-fonts"></a> +<a class="index-entry-id" id="index-arcs"></a> +<a class="index-entry-id" id="index-splines"></a> +<p>PostScript fonts are defined as <em class="dfn">outline fonts</em>: Each character in the font is defined by giving the mathematical curves (lines, arcs, and splines) that define its contours. Different sizes of a character are generated by linearly scaling a single shape. For example, a 10-point ‘A’ is simply half the size of a 20-point ‘A’. Nowadays, outline fonts -usually also contain <em>hints</em>—additional information to improve the +usually also contain <em class="dfn">hints</em>—additional information to improve the appearance of the font at small sizes or low resolutions. </p> -<span id="index-Type-1-fonts"></span> -<span id="index-pfa-files"></span> -<span id="index-pfb-files"></span> -<span id="index-_002epfa-printer-font-ascii-files"></span> -<span id="index-_002epfb-printer-font-binary-files"></span> +<a class="index-entry-id" id="index-Type-1-fonts"></a> +<a class="index-entry-id" id="index-pfa-files"></a> +<a class="index-entry-id" id="index-pfb-files"></a> +<a class="index-entry-id" id="index-_002epfa-printer-font-ascii-files"></a> +<a class="index-entry-id" id="index-_002epfb-printer-font-binary-files"></a> <p>Although various kinds of PostScript outline fonts exist, by far the -most common, and the only one we will consider, is called <em>Type 1</em>. +most common, and the only one we will consider, is called <em class="dfn">Type 1</em>. The glyph files for PostScript Type 1 fonts typically have names ending -in ‘<samp>.pfa</samp>’ (“printer font ASCII”) or ‘<samp>.pfb</samp>’ (“printer font +in ‘<samp class="samp">.pfa</samp>’ (“printer font ASCII”) or ‘<samp class="samp">.pfb</samp>’ (“printer font binary”). </p> -<span id="index-bitmap-fonts"></span> -<span id="index-_002emf-Metafont-source-files"></span> -<span id="index-Metafont-source-files"></span> +<a class="index-entry-id" id="index-bitmap-fonts"></a> +<a class="index-entry-id" id="index-_002emf-Metafont-source-files"></a> +<a class="index-entry-id" id="index-Metafont-source-files"></a> <p>In contrast, glyph files for Computer Modern and the other standard -TeX fonts are <em>bitmap fonts</em>, generated from Metafont -(‘<samp>.mf</samp>’) descriptions. The Metafont program distributed with TeX +TeX fonts are <em class="dfn">bitmap fonts</em>, generated from Metafont +(‘<samp class="samp">.mf</samp>’) descriptions. The Metafont program distributed with TeX generates bitmaps from these descriptions. </p> -<span id="index-pk-files"></span> -<span id="index-_002ennnpk-packed-font-bitmaps"></span> +<a class="index-entry-id" id="index-pk-files"></a> +<a class="index-entry-id" id="index-_002ennnpk-packed-font-bitmaps"></a> <p>The glyph files for TeX bitmap fonts are usually stored in -<em>packed font</em> (PK) files. The names of these files end in -‘<samp>.<var>nnn</var>pk</samp>’, where <var>nnn</var> is the resolution of the font in -dots per inch. For example, <samp>cmr10.600pk</samp> contains the bitmaps for -the ‘<samp>cmr10</samp>’ font at a resolution of 600dpi. (On DOS -filesystems, it’s more likely <samp>dpi600\cmr10.pk</samp>.) -</p> -<span id="index-gf-files"></span> -<span id="index-gftopk"></span> -<p>Metafont actually outputs <em>generic font</em> (GF) files, e.g., -<samp>cmr10.600gf</samp>, but the GF files are usually converted immediately -to PK format (using the <code>gftopk</code> utility that comes with TeX) +<em class="dfn">packed font</em> (PK) files. The names of these files end in +‘<samp class="samp">.<var class="var">nnn</var>pk</samp>’, where <var class="var">nnn</var> is the resolution of the font in +dots per inch. For example, <samp class="file">cmr10.600pk</samp> contains the bitmaps for +the ‘<samp class="samp">cmr10</samp>’ font at a resolution of 600<span class="dmn">dpi</span>. (On DOS +filesystems, it’s more likely <samp class="file">dpi600\cmr10.pk</samp>.) +</p> +<a class="index-entry-id" id="index-gf-files"></a> +<a class="index-entry-id" id="index-gftopk"></a> +<p>Metafont actually outputs <em class="dfn">generic font</em> (GF) files, e.g., +<samp class="file">cmr10.600gf</samp>, but the GF files are usually converted immediately +to PK format (using the <code class="code">gftopk</code> utility that comes with TeX) since PK files are smaller and contain the same information. (The GF format is a historical artifact.) </p> <hr> </div> -<div class="subsection" id="Virtual-fonts"> -<div class="header"> +<div class="subsection-level-extent" id="Virtual-fonts"> +<div class="nav-panel"> <p> Next: <a href="#Encodings" accesskey="n" rel="next">Encodings</a>, Previous: <a href="#Glyph-files" accesskey="p" rel="prev">Glyph files</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Virtual-fonts-1"></span><h4 class="subsection">6.1.3 Virtual fonts</h4> +<h4 class="subsection" id="Virtual-fonts-1">6.1.3 Virtual fonts</h4> -<span id="index-virtual-fonts"></span> +<a class="index-entry-id" id="index-virtual-fonts"></a> -<p>A <em>virtual font</em> is constructed by extracting characters from one +<p>A <em class="dfn">virtual font</em> is constructed by extracting characters from one or more existing fonts and rearranging them, or synthesizing new characters in various ways. The explanation in this manual is intended to suffice for understanding enough about virtual fonts to use them with Dvips. It isn’t a reference manual on virtual fonts. For more information: The primary document on virtual fonts is -Donald E. Knuth, <cite>TUGboat</cite> 11(1), Apr. 1990, pp. 13–23, +Donald E. Knuth, <cite class="cite">TUGboat</cite> 11(1), Apr. 1990, pp. 13–23, “Virtual Fonts: More Fun for Grand Wizards” -(<a href="mirror.ctan.org/info/virtual-fonts.knuth">mirror.ctan.org/info/virtual-fonts.knuth</a>). (Don’t be +(<a class="url" href="mirror.ctan.org/info/virtual-fonts.knuth">mirror.ctan.org/info/virtual-fonts.knuth</a>). (Don’t be intimidated by the subtitle.) </p> -<span id="index-vf-files"></span> -<span id="index-vpl-files"></span> -<p>A virtual font (‘<samp>.vf</samp>’) file specifies, for each character in the +<a class="index-entry-id" id="index-vf-files"></a> +<a class="index-entry-id" id="index-vpl-files"></a> +<p>A virtual font (‘<samp class="samp">.vf</samp>’) file specifies, for each character in the virtual font, a recipe for typesetting that character. A VF file, like -a TFM file, is in a compressed binary format. The <code>vftovp</code> and -<code>vptovf</code> programs convert a VF file to a human-readable VPL +a TFM file, is in a compressed binary format. The <code class="code">vftovp</code> and +<code class="code">vptovf</code> programs convert a VF file to a human-readable VPL (virtual property list) format and back again. See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#vftovp-invocation">vftovp -invocation</a> in <cite>Web2c</cite>, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#vptovf-invocation">vptovf invocation</a> in <cite>Web2c</cite>. +invocation</a> in <cite class="cite">Web2c</cite>, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#vptovf-invocation">vptovf invocation</a> in <cite class="cite">Web2c</cite>. </p> -<span id="index-base-fonts"></span> -<p>In the case of a PostScript font <var>f</var> being used in a straightforward -way, the recipe says: character <var>i</var> in the VF font is character -<var>j</var> in font <var>f</var>. The font <var>f</var> is called a <em>base font</em>. +<a class="index-entry-id" id="index-base-fonts"></a> +<p>In the case of a PostScript font <var class="var">f</var> being used in a straightforward +way, the recipe says: character <var class="var">i</var> in the VF font is character +<var class="var">j</var> in font <var class="var">f</var>. The font <var class="var">f</var> is called a <em class="dfn">base font</em>. For example, the VF file could remap the characters of the PostScript font to the positions where TeX expects to find them. -See <a href="#Encodings">Encodings</a>. +See <a class="xref" href="#Encodings">Encodings</a>. </p> <p>Since TeX reads only TFM files, not VF’s, each VF must have a corresponding TFM for use with TeX. This corresponding TFM is -created when you run <code>vptovf</code>. +created when you run <code class="code">vptovf</code>. </p> -<span id="index-expansion_002c-of-virtual-fonts"></span> -<span id="index-virtual-font-expansion"></span> -<p>You can <em>expand</em> virtual fonts into their base fonts with DVIcopy -(see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dvicopy-invocation">dvicopy invocation</a> in <cite>Web2c</cite>). This is useful if you are +<a class="index-entry-id" id="index-expansion_002c-of-virtual-fonts"></a> +<a class="index-entry-id" id="index-virtual-font-expansion"></a> +<p>You can <em class="dfn">expand</em> virtual fonts into their base fonts with DVIcopy +(see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dvicopy-invocation">dvicopy invocation</a> in <cite class="cite">Web2c</cite>). This is useful if you are using a DVI translator that doesn’t itself understand vf’s. </p> -<span id="index-ptex-JFM"></span> -<span id="index-uptex-JFM"></span> -<span id="index-Japanese-font-metric-file"></span> -<span id="index-JFM-file_002c-and-virtual-font-fallback"></span> +<a class="index-entry-id" id="index-ptex-JFM"></a> +<a class="index-entry-id" id="index-uptex-JFM"></a> +<a class="index-entry-id" id="index-Japanese-font-metric-file"></a> +<a class="index-entry-id" id="index-JFM-file_002c-and-virtual-font-fallback"></a> <p>If a virtual font has no entry at a given codepoint and the first -<code>MAPFONT</code> designates an (u)pTeX JFM, we designate the glyph of +<code class="code">MAPFONT</code> designates an (u)pTeX JFM, we designate the glyph of the same codepoint in the TFM(JFM) with the smallest font ID. This feature helps to reduce the size of Japanese virtual fonts. For more information about the extensive support of Japanese in TeX, see -<a href="https://github.com/texjporg">https://github.com/texjporg</a>. +<a class="url" href="https://github.com/texjporg">https://github.com/texjporg</a>. </p> <hr> </div> -<div class="subsection" id="Encodings"> -<div class="header"> +<div class="subsection-level-extent" id="Encodings"> +<div class="nav-panel"> <p> Next: <a href="#Bitmap-font-encodings" accesskey="n" rel="next">Bitmap font encodings</a>, Previous: <a href="#Virtual-fonts" accesskey="p" rel="prev">Virtual fonts</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Encodings-1"></span><h4 class="subsection">6.1.4 Encodings</h4> +<h4 class="subsection" id="Encodings-1">6.1.4 Encodings</h4> -<span id="index-encodings"></span> +<a class="index-entry-id" id="index-encodings"></a> -<p>Every font, whatever its type, has an <em>encoding</em>, that specifies the +<p>Every font, whatever its type, has an <em class="dfn">encoding</em>, that specifies the correspondence between “logical” characters and character codes. For example, the ASCII encoding specifies that the character numbered 65 (decimal) is an uppercase ‘A’. The encoding does not specify what the character at that position looks like; there are lots of ways to draw an -‘A’, and a glyph file (see <a href="#Glyph-files">Glyph files</a>) tells how. Nor does it +‘A’, and a glyph file (see <a class="pxref" href="#Glyph-files">Glyph files</a>) tells how. Nor does it specify how much space that character occupies; that information is in a -metric file (see <a href="#Metric-files">Metric files</a>). +metric file (see <a class="pxref" href="#Metric-files">Metric files</a>). </p> -<span id="index-Computer-Modern_002c-encoding-of"></span> +<a class="index-entry-id" id="index-Computer-Modern_002c-encoding-of"></a> <p>TeX implicitly assumes a particular encoding for the fonts you use -with it. For example, the plain TeX macro <code>\'</code>, which typesets +with it. For example, the plain TeX macro <code class="code">\'</code>, which typesets an acute accent over the following letter, assumes the acute accent is at position 19 (decimal). This happens to be true of standard TeX fonts such as Computer Modern, as you might expect, but it is not true @@ -3887,50 +3885,50 @@ of normal PostScript fonts. <p>It’s possible but painful to change all the macros that assume particular character positions. A better solution is to create a new font with the information for the acute accent at position 19, where -TeX expects it to be. See <a href="#Making-a-font-available">Making a PostScript font available</a>. +TeX expects it to be. See <a class="xref" href="#Making-a-font-available">Making a PostScript font available</a>. </p> -<span id="index-PostScript-encoding"></span> -<span id="index-encoding-files"></span> -<span id="index-encoding-vectors_002c-defined"></span> +<a class="index-entry-id" id="index-PostScript-encoding"></a> +<a class="index-entry-id" id="index-encoding-files"></a> +<a class="index-entry-id" id="index-encoding-vectors_002c-defined"></a> <p>PostScript represents encodings as a sequence of 256 character names -called an <em>encoding vector</em>. An <em>encoding file</em> (‘<samp>.enc</samp>’) +called an <em class="dfn">encoding vector</em>. An <em class="dfn">encoding file</em> (‘<samp class="samp">.enc</samp>’) gives such a vector, together with ligature and kerning information (with which we are not concerned at the moment). These encoding files are used by the Afm2tfm program. Encoding files are also downloaded to the PostScript interpreter in your printer if you use one of them in place of the default encoding vector for a particular PostScript font. </p> -<span id="index-dvips_002eenc"></span> -<span id="index-8r_002eenc"></span> -<span id="index-texmext_002eenc"></span> -<span id="index-texmital_002eenc"></span> -<span id="index-texmsym_002eenc"></span> -<span id="index-reencode_002f_002a_002eenc"></span> -<p>Examples of encodings: the <samp>dvips.enc</samp> encoding file that comes -with the Fontname distribution (<a href="http://tug.org/fontname">http://tug.org/fontname</a>) is a +<a class="index-entry-id" id="index-dvips_002eenc"></a> +<a class="index-entry-id" id="index-8r_002eenc"></a> +<a class="index-entry-id" id="index-texmext_002eenc"></a> +<a class="index-entry-id" id="index-texmital_002eenc"></a> +<a class="index-entry-id" id="index-texmsym_002eenc"></a> +<a class="index-entry-id" id="index-reencode_002f_002a_002eenc"></a> +<p>Examples of encodings: the <samp class="file">dvips.enc</samp> encoding file that comes +with the Fontname distribution (<a class="url" href="http://tug.org/fontname">http://tug.org/fontname</a>) is a good (but not perfect) approximation to the TeX encoding for TeX’s Computer Modern text fonts. This is the encoding of the -fonts that originated with Dvips, such as <samp>ptmr.tfm</samp>. The +fonts that originated with Dvips, such as <samp class="file">ptmr.tfm</samp>. The distribution includes many other encoding files; for example, -<samp>8r.enc</samp>, which is the base font for the current PostScript font +<samp class="file">8r.enc</samp>, which is the base font for the current PostScript font distribution, and three corresponding to the TeX mathematics fonts: -<samp>texmext.enc</samp> for math extensions, <samp>texmital.enc</samp> for math -italics, and <samp>texmsym.enc</samp> for math symbols. +<samp class="file">texmext.enc</samp> for math extensions, <samp class="file">texmital.enc</samp> for math +italics, and <samp class="file">texmsym.enc</samp> for math symbols. </p> <hr> </div> -<div class="subsection" id="Bitmap-font-encodings"> -<div class="header"> +<div class="subsection-level-extent" id="Bitmap-font-encodings"> +<div class="nav-panel"> <p> Next: <a href="#PostScript-typesetting" accesskey="n" rel="next">How PostScript typesets a character</a>, Previous: <a href="#Encodings" accesskey="p" rel="prev">Encodings</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Bitmap-font-encodings-1"></span><h4 class="subsection">6.1.5 Bitmap font encodings</h4> +<h4 class="subsection" id="Bitmap-font-encodings-1">6.1.5 Bitmap font encodings</h4> -<span id="index-bitmap-font-encodings"></span> -<span id="index-font-encodings_002c-bitmap"></span> -<span id="index-encodings_002c-for-bitmap-fonts"></span> +<a class="index-entry-id" id="index-bitmap-font-encodings"></a> +<a class="index-entry-id" id="index-font-encodings_002c-bitmap"></a> +<a class="index-entry-id" id="index-encodings_002c-for-bitmap-fonts"></a> <p>To dvips, bitmapped fonts do not have any notion of linguistics; they are simply a vector of glyphs. By comparison, PostScript fonts are @@ -3942,17 +3940,17 @@ extract legible text from PostScript and PDF output. naming information to Type 3 bitmapped fonts (if they can locate such information) as an Encoding vector. This provides some support for search, for copy and paste, and even some limited support for -accessibility. The ‘<samp>bitmapfontenc</samp>’ command line option -(see <a href="#Option-details">Option details</a> and <code>bitmapfontenc</code> configuration option -(see <a href="#Configuration-file-commands">Configuration file commands</a>) enable and disable this +accessibility. The ‘<samp class="samp">bitmapfontenc</samp>’ command line option +(see <a class="pxref" href="#Option-details">Option details</a> and <code class="code">bitmapfontenc</code> configuration option +(see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>) enable and disable this functionality; by default it is set to enabled, without warnings. </p> -<span id="index-dvips_002dall_002eenc"></span> +<a class="index-entry-id" id="index-dvips_002dall_002eenc"></a> <p>To do this, dvips must find encoding information for the bitmapped fonts. It does this by first searching for a font-specific encoding -file; for instance, for cmr10, it will search for <samp>dvips-cmr10.enc</samp> +file; for instance, for cmr10, it will search for <samp class="file">dvips-cmr10.enc</samp> in the standard encoding path. If it does not find such a file, it -will search for a <samp>dvips-all.enc</samp> file which contains a base set of +will search for a <samp class="file">dvips-all.enc</samp> file which contains a base set of encodings for many fonts. </p> <p>The specific syntax of an encoding file is unspecified, except that it @@ -3966,13 +3964,13 @@ on the stack. This second option is made available to support future enhancements that may add additional constructs to the font dictionary to enhance the interpretation of font characters. </p> -<p>The <samp>dvips-all.enc</samp> file contains encodings for many fonts, and +<p>The <samp class="file">dvips-all.enc</samp> file contains encodings for many fonts, and it is loaded by dvips at most once. The format is just a sequence of font names, one per line, each terminated by a colon, followed by the encoding to use for those files. </p> -<span id="index-bounding-box_002c-for-bitmap-fonts"></span> -<span id="index-coordinate-system_002c-for-bitmap-fonts"></span> +<a class="index-entry-id" id="index-bounding-box_002c-for-bitmap-fonts"></a> +<a class="index-entry-id" id="index-coordinate-system_002c-for-bitmap-fonts"></a> <p>As part of its operation, to enable heuristics in PostScript and PDF viewers to properly identify word breaks and column gutters, dvips also generates a modified font bounding box and a modified @@ -3981,15 +3979,15 @@ font coordinate system. <hr> </div> -<div class="subsection" id="PostScript-typesetting"> -<div class="header"> +<div class="subsection-level-extent" id="PostScript-typesetting"> +<div class="nav-panel"> <p> Previous: <a href="#Bitmap-font-encodings" accesskey="p" rel="prev">Bitmap font encodings</a>, Up: <a href="#Font-concepts" accesskey="u" rel="up">Font concepts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="How-PostScript-typesets-a-character"></span><h4 class="subsection">6.1.6 How PostScript typesets a character</h4> +<h4 class="subsection" id="How-PostScript-typesets-a-character">6.1.6 How PostScript typesets a character</h4> -<span id="index-typesetting-in-PostScript"></span> -<span id="index-character-lookup-procedure-in-PostScript"></span> +<a class="index-entry-id" id="index-typesetting-in-PostScript"></a> +<a class="index-entry-id" id="index-character-lookup-procedure-in-PostScript"></a> <p>The output of Dvips is a program in the PostScript language that instructs your (presumably PostScript-capable) printer how to typeset @@ -3999,9 +3997,9 @@ instructions in this typesetting program. </p> <p>The program must include the definition of any PostScript fonts that you use in your document. Fonts built into your printer (probably the -standard 35: ‘<samp>Times-Roman</samp>’, ‘<samp>ZapfDingbats</samp>’, …) are +standard 35: ‘<samp class="samp">Times-Roman</samp>’, ‘<samp class="samp">ZapfDingbats</samp>’, …) are defined within the interpreter itself. Other fonts must be downloaded -as pfa or pfb files (see <a href="#Glyph-files">Glyph files</a>) from your host (the computer +as pfa or pfb files (see <a class="pxref" href="#Glyph-files">Glyph files</a>) from your host (the computer on which you’re running Dvips). </p> <p>You may be wondering exactly how a PostScript interpreter figures out @@ -4009,27 +4007,27 @@ what character to typeset, with this mass of metrics, glyphs, encodings, and other information. (If you’re not wondering, skip this section …) </p> -<span id="index-show-PostScript-operator"></span> +<a class="index-entry-id" id="index-show-PostScript-operator"></a> <p>The basic PostScript operator for imaging characters is -<code>show</code>. Suppose you’ve asked TeX to typeset an ‘S’. This will +<code class="code">show</code>. Suppose you’ve asked TeX to typeset an ‘S’. This will eventually wind up in the Dvips output as the equivalent of this PostScript operation: </p> <div class="example"> -<pre class="example">(S) show +<pre class="example-preformatted">(S) show </pre></div> <p>Here is how PostScript typesets the ‘S’: </p> -<ol> -<li> <span id="index-ASCII-character-codes_002c-used-by-PostScript"></span> +<ol class="enumerate"> +<li> <a class="index-entry-id" id="index-ASCII-character-codes_002c-used-by-PostScript"></a> PostScript interpreters use ASCII; therefore ‘S’ is represented as the integer 83. (Any of the 256 possible characters representable in a standard 8-bit byte can be typeset.) -</li><li> <span id="index-current-font_002c-in-PostScript"></span> -<span id="index-dictionary_002c-PostScript-language"></span> -A PostScript <em>dictionary</em> is a mapping of names to arbitrary values. +</li><li> <a class="index-entry-id" id="index-current-font_002c-in-PostScript"></a> +<a class="index-entry-id" id="index-dictionary_002c-PostScript-language"></a> +A PostScript <em class="dfn">dictionary</em> is a mapping of names to arbitrary values. A font, to the interpreter, is a dictionary which contains entries for certain names. (If these entries are missing, the interpreter refuses to do anything with that font.) @@ -4037,28 +4035,28 @@ to do anything with that font.) <p>PostScript has a notion of “the current font”—whatever font is currently being typeset in. </p> -</li><li> <span id="index-encoding-vectors_002c-in-Type-1-fonts"></span> -<span id="index-Encoding-Type-1-dictionary"></span> -One of the mandatory entries in a font dictionary is ‘<samp>Encoding</samp>’, -which defines the encoding vector (see <a href="#Encodings">Encodings</a>) for that font. +</li><li> <a class="index-entry-id" id="index-encoding-vectors_002c-in-Type-1-fonts"></a> +<a class="index-entry-id" id="index-Encoding-Type-1-dictionary"></a> +One of the mandatory entries in a font dictionary is ‘<samp class="samp">Encoding</samp>’, +which defines the encoding vector (see <a class="pxref" href="#Encodings">Encodings</a>) for that font. This vector of 256 names maps each possible input character to a name. </li><li> The interpreter retrieves the entry at position 83 of the encoding -vector. This value is a PostScript name: <code>/S</code>. +vector. This value is a PostScript name: <code class="code">/S</code>. -</li><li> <span id="index-CharStrings-Type-1-dictionary"></span> -<span id="index-dictionary_002c-CharStrings"></span> +</li><li> <a class="index-entry-id" id="index-CharStrings-Type-1-dictionary"></a> +<a class="index-entry-id" id="index-dictionary_002c-CharStrings"></a> For Type 1 fonts (we’re not going to discuss anything else), the -interpreter now looks up <code>/S</code> as a key in a dictionary named -<code>CharStrings</code>, another mandatory entry in a font dictionary. - -</li><li> <span id="index-hints"></span> -<span id="index-character-definitions-in-PostScript"></span> -The value of <code>S</code> in <code>CharStrings</code> is the equivalent of a -series of standard PostScript commands like ‘<samp>curveto</samp>’, -‘<samp>lineto</samp>’, ‘<samp>fill</samp>’, and so on. These commands are executed to -draw the character. There can also be <em>hint information</em> that helps -adapt the character to low-resolution rasters. (See <a href="#Glyph-files">Glyph files</a>.) +interpreter now looks up <code class="code">/S</code> as a key in a dictionary named +<code class="code">CharStrings</code>, another mandatory entry in a font dictionary. + +</li><li> <a class="index-entry-id" id="index-hints"></a> +<a class="index-entry-id" id="index-character-definitions-in-PostScript"></a> +The value of <code class="code">S</code> in <code class="code">CharStrings</code> is the equivalent of a +series of standard PostScript commands like ‘<samp class="samp">curveto</samp>’, +‘<samp class="samp">lineto</samp>’, ‘<samp class="samp">fill</samp>’, and so on. These commands are executed to +draw the character. There can also be <em class="dfn">hint information</em> that helps +adapt the character to low-resolution rasters. (See <a class="xref" href="#Glyph-files">Glyph files</a>.) The commands are actually represented in a more compact way than standard PostScript source; see the Type 1 book for details. @@ -4072,15 +4070,15 @@ information. <hr> </div> </div> -<div class="section" id="Making-a-font-available"> -<div class="header"> +<div class="section-level-extent" id="Making-a-font-available"> +<div class="nav-panel"> <p> Next: <a href="#Invoking-afm2tfm" accesskey="n" rel="next">Invoking Afm2tfm</a>, Previous: <a href="#Font-concepts" accesskey="p" rel="prev">Font concepts</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Making-a-PostScript-font-available"></span><h3 class="section">6.2 Making a PostScript font available</h3> +<h3 class="section" id="Making-a-PostScript-font-available">6.2 Making a PostScript font available</h3> -<span id="index-installing-fonts"></span> -<span id="index-fonts_002c-installing"></span> +<a class="index-entry-id" id="index-installing-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-installing"></a> <p>To make a PostScript font available in a TeX document, you need to install the font on your system and then define it within the document. @@ -4089,97 +4087,97 @@ document thereafter and you don’t need to reinstall it. You must have an AFM file for any font you install. Unless the font is built into your printer, you must also have a PFA or PFB file. </p> -<p>In the following examples, we use the font ‘<samp>Times-Roman</samp>’ to +<p>In the following examples, we use the font ‘<samp class="samp">Times-Roman</samp>’ to illustrate the process. But you should use the prebuilt fonts for Times and the other standard fonts, rather than rebuilding them. The prebuilt fonts are made using a more complicated process than that described here, to make them work as well as possible with TeX. So following the steps in this manual will not generate files identical to the -distributed ones. See <a href="#PostScript-font-installation">PostScript font installation</a>, for pointers to +distributed ones. See <a class="xref" href="#PostScript-font-installation">PostScript font installation</a>, for pointers to the prebuilt fonts. </p> -<p>Installation of a PostScript font proceeds in three steps. See <a href="#Font-concepts">Font concepts</a>, for descriptions of the various files involved. +<p>Installation of a PostScript font proceeds in three steps. See <a class="xref" href="#Font-concepts">Font concepts</a>, for descriptions of the various files involved. </p> -<ol> -<li> Run <code>afm2tfm</code> to create a TFM file for the original font, +<ol class="enumerate"> +<li> Run <code class="code">afm2tfm</code> to create a TFM file for the original font, and the VPL form of the virtual font: <div class="example"> -<pre class="example">afm2tfm Times-Roman -v ptmr rptmr +<pre class="example-preformatted">afm2tfm Times-Roman -v ptmr rptmr </pre></div> -</li><li> Run <code>vptovf</code> to generate a VF and TFM file for the virtual font +</li><li> Run <code class="code">vptovf</code> to generate a VF and TFM file for the virtual font from the VPL file: <div class="example"> -<pre class="example">vptovf ptmr.vpl ptmr.vf ptmr.tfm +<pre class="example-preformatted">vptovf ptmr.vpl ptmr.vf ptmr.tfm </pre></div> -</li><li> Insert an entry for the font in <samp>psfonts.map</samp> (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>): +</li><li> Insert an entry for the font in <samp class="file">psfonts.map</samp> (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>): <div class="example"> -<pre class="example">rptmr Times-Roman <ptmr8a.pfa +<pre class="example-preformatted">rptmr Times-Roman <ptmr8a.pfa </pre></div> </li><li> Install the files in the standard locations, as in: <div class="example"> -<pre class="example">cp ptmr.vf <var>fontdir</var>/vf/… -cp *ptmr.tfm <var>fontdir</var>/tfm/… -cp ptmr.afm <var>fontdir</var>/afm/… -cp ptmr.pf? <var>fontdir</var>/type1/… +<pre class="example-preformatted">cp ptmr.vf <var class="var">fontdir</var>/vf/… +cp *ptmr.tfm <var class="var">fontdir</var>/tfm/… +cp ptmr.afm <var class="var">fontdir</var>/afm/… +cp ptmr.pf? <var class="var">fontdir</var>/type1/… </pre></div> </li></ol> <p>The simplest invocation of Afm2tfm to make virtual fonts goes something like this: </p> -<span id="index-afm2tfm"></span> +<a class="index-entry-id" id="index-afm2tfm"></a> <div class="example"> -<pre class="example">afm2tfm Times-Roman -v ptmr rptmr +<pre class="example-preformatted">afm2tfm Times-Roman -v ptmr rptmr </pre></div> -<p>This reads the file <samp>Times-Roman.afm</samp>, and produces two files as -output, namely the virtual property list file <samp>ptmr.vpl</samp>, and the -“raw” font metric file <samp>rptmr.tfm</samp>. To use the font in TeX, +<p>This reads the file <samp class="file">Times-Roman.afm</samp>, and produces two files as +output, namely the virtual property list file <samp class="file">ptmr.vpl</samp>, and the +“raw” font metric file <samp class="file">rptmr.tfm</samp>. To use the font in TeX, you first run </p> -<span id="index-vptovf"></span> +<a class="index-entry-id" id="index-vptovf"></a> <div class="example"> -<pre class="example">vptovf ptmr.vpl ptmr.vf ptmr.tfm +<pre class="example-preformatted">vptovf ptmr.vpl ptmr.vf ptmr.tfm </pre></div> -<p>You should then install the virtual font file <samp>ptmr.vf</samp> where Dvips -will see it and install <samp>ptmr.tfm</samp> and <samp>rptmr.tfm</samp> where +<p>You should then install the virtual font file <samp class="file">ptmr.vf</samp> where Dvips +will see it and install <samp class="file">ptmr.tfm</samp> and <samp class="file">rptmr.tfm</samp> where TeX and Dvips will see them. </p> <p>Using these raw fonts is not recommended; there are no raw fonts in the prebuilt PostScript fonts distributed along with Dvips. But nevertheless, that’s how Afm2tfm presently operates, so that’s what we -document here. The ‘<samp>r</samp>’ prefix convention is likewise historical +document here. The ‘<samp class="samp">r</samp>’ prefix convention is likewise historical accident. </p> -<p>You can also make more complex virtual fonts by editing <samp>ptmr.vpl</samp> -before running ‘<samp>vptovf</samp>’; such editing might add the uppercase Greek +<p>You can also make more complex virtual fonts by editing <samp class="file">ptmr.vpl</samp> +before running ‘<samp class="samp">vptovf</samp>’; such editing might add the uppercase Greek characters in the standard TeX positions, for instance. (This has already been done for the prebuilt fonts.) </p> <p>Once the files have been installed, you’re all set. You can now do things like this in TeX: </p><div class="example"> -<pre class="example">\font\myfont = ptmr at 12pt +<pre class="example-preformatted">\font\myfont = ptmr at 12pt \myfont Hello, I am being typeset in 12-point Times-Roman. </pre></div> -<p>Thus, we have two fonts, one actual (‘<samp>rptmr</samp>’, which is analogous to -the font in the printer) and one virtual (‘<samp>ptmr</samp>’, which has been +<p>Thus, we have two fonts, one actual (‘<samp class="samp">rptmr</samp>’, which is analogous to +the font in the printer) and one virtual (‘<samp class="samp">ptmr</samp>’, which has been remapped to the standard TeX encoding (almost)), and has typesetting know-how added. You could also say </p> <div class="example"> -<pre class="example">\font\raw = rptmr at 10pt +<pre class="example-preformatted">\font\raw = rptmr at 10pt </pre></div> <p>and typeset directly with that, but then you would have no ligatures or kerning, and you would have to use Adobe character positions for special letters like -The virtual font ‘<samp>ptmr</samp>’ not only has ligatures and kerning, and +The virtual font ‘<samp class="samp">ptmr</samp>’ not only has ligatures and kerning, and most of the standard accent conventions of TeX, it also has a few additional features not present in the Computer Modern fonts. For example, it includes all the Adobe characters (such as the Polish ogonek @@ -4187,40 +4185,40 @@ and the French guillemots). The only things you lose from ordinary TeX text fonts are the dotless ‘j’ (which can be hacked into the VPL file with literal PostScript specials if you have the patience) and uppercase Greek letters (which just don’t exist unless you buy them -separately). See <a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>. +separately). See <a class="xref" href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a>. </p> <p>As a final step you need to record information about both the virtual font and the original font (if you ever might want to use it) in the -<samp>psfonts.map</samp> file (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>). For our example, you’d -insert the following into <samp>psfonts.map</samp>: +<samp class="file">psfonts.map</samp> file (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>). For our example, you’d +insert the following into <samp class="file">psfonts.map</samp>: </p><div class="example"> -<pre class="example">rptmr Times-Roman <ptmr8a.pfa +<pre class="example-preformatted">rptmr Times-Roman <ptmr8a.pfa </pre></div> -<p>Of course, <code>Times-Roman</code> is already built in to most every +<p>Of course, <code class="code">Times-Roman</code> is already built in to most every printer, so there’s no need to download any Type 1 file for it. But if you are actually following these instructions for new fonts, most likely they are not built in to the printer. </p> -<span id="index-memory_002c-used-by-PostScript-fonts"></span> -<span id="index-efficiency_002c-and-fonts"></span> +<a class="index-entry-id" id="index-memory_002c-used-by-PostScript-fonts"></a> +<a class="index-entry-id" id="index-efficiency_002c-and-fonts"></a> <p>These PostScript fonts can be scaled to any size. Go wild! Using PostScript fonts, however, does use up a great deal of the printer’s memory and it does take time. You may find downloading bitmap fonts -(possibly compressed, with the ‘<samp>Z</samp>’ option) to be faster than using +(possibly compressed, with the ‘<samp class="samp">Z</samp>’ option) to be faster than using the built-in PostScript fonts. </p> <hr> </div> -<div class="section" id="Invoking-afm2tfm"> -<div class="header"> +<div class="section-level-extent" id="Invoking-afm2tfm"> +<div class="nav-panel"> <p> -Next: <a href="#psfonts_002emap" accesskey="n" rel="next"><samp>psfonts.map</samp>: PostScript font catalog</a>, Previous: <a href="#Making-a-font-available" accesskey="p" rel="prev">Making a PostScript font available</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#psfonts_002emap" accesskey="n" rel="next"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>, Previous: <a href="#Making-a-font-available" accesskey="p" rel="prev">Making a PostScript font available</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Invoking-Afm2tfm"></span><h3 class="section">6.3 Invoking Afm2tfm</h3> +<h3 class="section" id="Invoking-Afm2tfm">6.3 Invoking Afm2tfm</h3> -<span id="index-afm2tfm-1"></span> +<a class="index-entry-id" id="index-afm2tfm-1"></a> <p>The Afm2tfm program converts an AFM file for a PostScript font to a TFM file and a VPL file for a corresponding virtual font (or, in its @@ -4229,135 +4227,135 @@ results of the conversion are affected by the command-line options and especially by the reencodings you can specify with those options. You can also obtain special effects such as an oblique font. </p> -<span id="index-fontinst"></span> -<span id="index-virtual-fonts_002c-creating"></span> -<span id="index-Jeffrey_002c-Alan"></span> +<a class="index-entry-id" id="index-fontinst"></a> +<a class="index-entry-id" id="index-virtual-fonts_002c-creating"></a> +<a class="index-entry-id" id="index-Jeffrey_002c-Alan"></a> <p>Alternatives to Afm2tfm for creating virtual fonts include -<code>fontinst</code> <a href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>, -<code>lcdf-typetools</code>, particularly <code>otftotfm</code> -(<a href="https://ctan.org/pkg/lcdf-typetools">https://ctan.org/pkg/lcdf-typetools</a>), and <code>afm2pl</code> -(<a href="http://tex.aanhet.net/afm2pl/">http://tex.aanhet.net/afm2pl/</a>), among others. +<code class="code">fontinst</code> <a class="url" href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>, +<code class="code">lcdf-typetools</code>, particularly <code class="code">otftotfm</code> +(<a class="url" href="https://ctan.org/pkg/lcdf-typetools">https://ctan.org/pkg/lcdf-typetools</a>), and <code class="code">afm2pl</code> +(<a class="url" href="http://tex.aanhet.net/afm2pl/">http://tex.aanhet.net/afm2pl/</a>), among others. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Changing-font-encodings" accesskey="1">Changing font encodings</a></li> <li><a href="#Special-font-effects" accesskey="2">Special font effects</a></li> <li><a href="#Afm2tfm-options" accesskey="3">Afm2tfm options</a></li> </ul> <hr> -<div class="subsection" id="Changing-font-encodings"> -<div class="header"> +<div class="subsection-level-extent" id="Changing-font-encodings"> +<div class="nav-panel"> <p> Next: <a href="#Special-font-effects" accesskey="n" rel="next">Special font effects</a>, Up: <a href="#Invoking-afm2tfm" accesskey="u" rel="up">Invoking Afm2tfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Changing-font-encodings-1"></span><h4 class="subsection">6.3.1 Changing font encodings</h4> +<h4 class="subsection" id="Changing-font-encodings-1">6.3.1 Changing font encodings</h4> -<span id="index-encoding-changes"></span> -<span id="index-fonts_002c-changing-encoding-of"></span> +<a class="index-entry-id" id="index-encoding-changes"></a> +<a class="index-entry-id" id="index-fonts_002c-changing-encoding-of"></a> <p>Afm2tfm allows you to specify a different encoding for a PostScript font -(for a general introduction to encodings, see <a href="#Encodings">Encodings</a>). The -‘<samp>-t</samp>’ option changes the TeX encoding, ‘<samp>-p</samp>’ changes the -PostScript encoding, and ‘<samp>-T</samp>’ changes both simultaneously, as +(for a general introduction to encodings, see <a class="pxref" href="#Encodings">Encodings</a>). The +‘<samp class="samp">-t</samp>’ option changes the TeX encoding, ‘<samp class="samp">-p</samp>’ changes the +PostScript encoding, and ‘<samp class="samp">-T</samp>’ changes both simultaneously, as detailed in the sections below. </p> -<ul class="section-toc"> -<li><a href="#Changing-TeX-encodings" accesskey="1">‘<samp>-t</samp>’: Changing TeX encodings</a></li> -<li><a href="#Changing-PostScript-encodings" accesskey="2">‘<samp>-p</samp>’: Changing PostScript encodings</a></li> -<li><a href="#Changing-both-encodings" accesskey="3">‘<samp>-T</samp>’: Changing both TeX and PostScript encodings</a></li> +<ul class="mini-toc"> +<li><a href="#Changing-TeX-encodings" accesskey="1">‘<samp class="samp">-t</samp>’: Changing TeX encodings</a></li> +<li><a href="#Changing-PostScript-encodings" accesskey="2">‘<samp class="samp">-p</samp>’: Changing PostScript encodings</a></li> +<li><a href="#Changing-both-encodings" accesskey="3">‘<samp class="samp">-T</samp>’: Changing both TeX and PostScript encodings</a></li> <li><a href="#Reencoding-with-Afm2tfm" accesskey="4">Reencoding with Afm2tfm</a></li> <li><a href="#Encoding-file-format" accesskey="5">Encoding file format</a></li> </ul> <hr> -<div class="subsubsection" id="Changing-TeX-encodings"> -<div class="header"> +<div class="subsubsection-level-extent" id="Changing-TeX-encodings"> +<div class="nav-panel"> <p> -Next: <a href="#Changing-PostScript-encodings" accesskey="n" rel="next">‘<samp>-p</samp>’: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Changing-PostScript-encodings" accesskey="n" rel="next">‘<samp class="samp">-p</samp>’: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002dt_003a-Changing-TeX-encodings"></span><h4 class="subsubsection">6.3.1.1 ‘<samp>-t</samp>’: Changing TeX encodings</h4> +<h4 class="subsubsection" id="g_t_002dt_003a-Changing-TeX-encodings">6.3.1.1 ‘<samp class="samp">-t</samp>’: Changing TeX encodings</h4> -<span id="index-changing-TeX-encodings"></span> -<span id="index-TeX-encoding_002c-changing"></span> +<a class="index-entry-id" id="index-changing-TeX-encodings"></a> +<a class="index-entry-id" id="index-TeX-encoding_002c-changing"></a> -<span id="index-_002dt-tex_002denc"></span> -<p>To build a virtual font with Afm2tfm, you specify the ‘<samp>-v</samp>’ or -‘<samp>-V</samp>’ option. You can then specify an encoding for that virtual font -with ‘<samp>-t <var>tex-enc</var></samp>’. (‘<samp>-t</samp>’ is ignored if neither -‘<samp>-v</samp>’ nor ‘<samp>-V</samp>’ is present.) Any ligature and kerning -information you specify in <var>tex-enc</var> will be used in the VPL, in +<a class="index-entry-id" id="index-_002dt-tex_002denc"></a> +<p>To build a virtual font with Afm2tfm, you specify the ‘<samp class="samp">-v</samp>’ or +‘<samp class="samp">-V</samp>’ option. You can then specify an encoding for that virtual font +with ‘<samp class="samp">-t <var class="var">tex-enc</var></samp>’. (‘<samp class="samp">-t</samp>’ is ignored if neither +‘<samp class="samp">-v</samp>’ nor ‘<samp class="samp">-V</samp>’ is present.) Any ligature and kerning +information you specify in <var class="var">tex-enc</var> will be used in the VPL, in addition to the ligature and kerning information from the AFM file. </p> -<p>If the AFM file has no entry for a character specified in <var>tex-enc</var>, +<p>If the AFM file has no entry for a character specified in <var class="var">tex-enc</var>, that character will be omitted from the output VPL. </p> -<span id="index-texmsym_002eenc-1"></span> -<p>The ‘<samp>-t</samp>’ option is likely to be needed when you have a PostScript +<a class="index-entry-id" id="index-texmsym_002eenc-1"></a> +<p>The ‘<samp class="samp">-t</samp>’ option is likely to be needed when you have a PostScript font corresponding to a TeX font other than a normal text font such as Computer Modern. For instance, if you have a PostScript font that contains math symbols, you’d probably want to use the encoding in the -<samp>texmsym.enc</samp> file supplied with Dvips. (For a start; to actually +<samp class="file">texmsym.enc</samp> file supplied with Dvips. (For a start; to actually get usable math fonts, you have to define much more than just an encoding.) </p> <hr> </div> -<div class="subsubsection" id="Changing-PostScript-encodings"> -<div class="header"> +<div class="subsubsection-level-extent" id="Changing-PostScript-encodings"> +<div class="nav-panel"> <p> -Next: <a href="#Changing-both-encodings" accesskey="n" rel="next">‘<samp>-T</samp>’: Changing both TeX and PostScript encodings</a>, Previous: <a href="#Changing-TeX-encodings" accesskey="p" rel="prev">‘<samp>-t</samp>’: Changing TeX encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Changing-both-encodings" accesskey="n" rel="next">‘<samp class="samp">-T</samp>’: Changing both TeX and PostScript encodings</a>, Previous: <a href="#Changing-TeX-encodings" accesskey="p" rel="prev">‘<samp class="samp">-t</samp>’: Changing TeX encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002dp_003a-Changing-PostScript-encodings"></span><h4 class="subsubsection">6.3.1.2 ‘<samp>-p</samp>’: Changing PostScript encodings</h4> +<h4 class="subsubsection" id="g_t_002dp_003a-Changing-PostScript-encodings">6.3.1.2 ‘<samp class="samp">-p</samp>’: Changing PostScript encodings</h4> -<span id="index-changing-PostScript-encodings"></span> -<span id="index-PostScript-encoding_002c-changing"></span> -<span id="index-_002dp-ps_002denc"></span> +<a class="index-entry-id" id="index-changing-PostScript-encodings"></a> +<a class="index-entry-id" id="index-PostScript-encoding_002c-changing"></a> +<a class="index-entry-id" id="index-_002dp-ps_002denc"></a> <p>By default, Afm2tfm uses the encoding it finds in the AFM file. You can -specify a different PostScript encoding with ‘<samp>-p <var>ps-enc</var></samp>’. +specify a different PostScript encoding with ‘<samp class="samp">-p <var class="var">ps-enc</var></samp>’. This makes the raw TFM file (the one output by Afm2tfm) have the -encoding specified in the encoding file <var>ps-enc</var>. Any ligature or -kern information specified in <var>ps-enc</var> is ignored by Afm2tfm, since +encoding specified in the encoding file <var class="var">ps-enc</var>. Any ligature or +kern information specified in <var class="var">ps-enc</var> is ignored by Afm2tfm, since ligkern info is always omitted from the raw TFM. </p> -<p>If you use this option, you must also arrange to download <var>ps-enc</var> +<p>If you use this option, you must also arrange to download <var class="var">ps-enc</var> as part of any document that uses this font. You do this by adding a -line like the following one to <samp>psfonts.map</samp> (see <a href="#psfonts_002emap"><samp>psfonts.map</samp>: PostScript font catalog</a>): +line like the following one to <samp class="file">psfonts.map</samp> (see <a class="pxref" href="#psfonts_002emap"><samp class="file">psfonts.map</samp>: PostScript font catalog</a>): </p><div class="example"> -<pre class="example">zpopr Optima "MyEncoding ReEncodeFont" <myenc.enc +<pre class="example-preformatted">zpopr Optima "MyEncoding ReEncodeFont" <myenc.enc </pre></div> -<span id="index-trademark-character_002c-accessing"></span> -<span id="index-registered-character_002c-accessing"></span> -<span id="index-extra-characters_002c-accessing"></span> -<p>Using ‘<samp>-p</samp>’ is the only way to access characters in a PostScript +<a class="index-entry-id" id="index-trademark-character_002c-accessing"></a> +<a class="index-entry-id" id="index-registered-character_002c-accessing"></a> +<a class="index-entry-id" id="index-extra-characters_002c-accessing"></a> +<p>Using ‘<samp class="samp">-p</samp>’ is the only way to access characters in a PostScript font that are neither encoded in the AFM file nor constructed from other -characters. For instance, Adobe’s ‘<samp>Times-Roman</samp>’ font contains the -extra characters ‘<samp>trademark</samp>’ and ‘<samp>registered</samp>’ (among others); +characters. For instance, Adobe’s ‘<samp class="samp">Times-Roman</samp>’ font contains the +extra characters ‘<samp class="samp">trademark</samp>’ and ‘<samp class="samp">registered</samp>’ (among others); these can only be accessed through such a PostScript reencoding. </p> -<span id="index-8r-encoding_002c-and-extra-characters"></span> +<a class="index-entry-id" id="index-8r-encoding_002c-and-extra-characters"></a> <p>The ‘8r’ base encoding used for the current PostScript font distribution does do this reencoding, for precisely this reason. </p> <hr> </div> -<div class="subsubsection" id="Changing-both-encodings"> -<div class="header"> +<div class="subsubsection-level-extent" id="Changing-both-encodings"> +<div class="nav-panel"> <p> -Next: <a href="#Reencoding-with-Afm2tfm" accesskey="n" rel="next">Reencoding with Afm2tfm</a>, Previous: <a href="#Changing-PostScript-encodings" accesskey="p" rel="prev">‘<samp>-p</samp>’: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Reencoding-with-Afm2tfm" accesskey="n" rel="next">Reencoding with Afm2tfm</a>, Previous: <a href="#Changing-PostScript-encodings" accesskey="p" rel="prev">‘<samp class="samp">-p</samp>’: Changing PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002dT_003a-Changing-both-TeX-and-PostScript-encodings"></span><h4 class="subsubsection">6.3.1.3 ‘<samp>-T</samp>’: Changing both TeX and PostScript encodings</h4> +<h4 class="subsubsection" id="g_t_002dT_003a-Changing-both-TeX-and-PostScript-encodings">6.3.1.3 ‘<samp class="samp">-T</samp>’: Changing both TeX and PostScript encodings</h4> -<span id="index-_002dT-enc_002dfile"></span> +<a class="index-entry-id" id="index-_002dT-enc_002dfile"></a> -<p>The option ‘<samp>-T <var>enc-file</var></samp>’ is equivalent to ‘<samp>-p -<var>enc-file</var> -t <var>enc-file</var></samp>’. If you make regular use of a private -non-standard reencoding ‘<samp>-T</samp>’ is usually a better idea than the +<p>The option ‘<samp class="samp">-T <var class="var">enc-file</var></samp>’ is equivalent to ‘<samp class="samp">-p +<var class="var">enc-file</var> -t <var class="var">enc-file</var></samp>’. If you make regular use of a private +non-standard reencoding ‘<samp class="samp">-T</samp>’ is usually a better idea than the individual options, to avoid unexpected inconsistencies in mapping otherwise. An example of when you might use this option is a dingbats font: when you have a TeX encoding that is designed to be used with a @@ -4366,18 +4364,18 @@ particular PostScript font. <hr> </div> -<div class="subsubsection" id="Reencoding-with-Afm2tfm"> -<div class="header"> +<div class="subsubsection-level-extent" id="Reencoding-with-Afm2tfm"> +<div class="nav-panel"> <p> -Next: <a href="#Encoding-file-format" accesskey="n" rel="next">Encoding file format</a>, Previous: <a href="#Changing-both-encodings" accesskey="p" rel="prev">‘<samp>-T</samp>’: Changing both TeX and PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Encoding-file-format" accesskey="n" rel="next">Encoding file format</a>, Previous: <a href="#Changing-both-encodings" accesskey="p" rel="prev">‘<samp class="samp">-T</samp>’: Changing both TeX and PostScript encodings</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Reencoding-with-Afm2tfm-1"></span><h4 class="subsubsection">6.3.1.4 Reencoding with Afm2tfm</h4> +<h4 class="subsubsection" id="Reencoding-with-Afm2tfm-1">6.3.1.4 Reencoding with Afm2tfm</h4> -<span id="index-reencoding"></span> -<span id="index-remapping"></span> +<a class="index-entry-id" id="index-reencoding"></a> +<a class="index-entry-id" id="index-remapping"></a> <p>The Afm2tfm program creates the TFM and VF files for the virtual font -corresponding to a PostScript font by <em>reencoding</em> the PostScript +corresponding to a PostScript font by <em class="dfn">reencoding</em> the PostScript font. Afm2tfm generates these files from two encodings: one for TeX and one for PostScript. The TeX encoding is used to map character numbers to character names while the PostScript encoding is used to map @@ -4385,46 +4383,46 @@ each character name to a possibly different number. In combination, you can get access to any character of a PostScript font at any position for TeX typesetting. </p> -<p>In the default case, when you specify none of the <code>-t</code>, <code>-p</code>, -or <code>-T</code> options, Afm2tfm uses a default TeX encoding (which +<p>In the default case, when you specify none of the <code class="code">-t</code>, <code class="code">-p</code>, +or <code class="code">-T</code> options, Afm2tfm uses a default TeX encoding (which mostly corresponds to the Computer Modern text fonts) and the PostScript encoding found in the AFM file being read. The reencoding is also -sometimes called a <em>remapping</em>. +sometimes called a <em class="dfn">remapping</em>. </p> <p>For example, the default encodings reencode the acute accent in two steps: first the default TeX encoding maps the number 19 to the -character name ‘<samp>acute</samp>’; then the default PostScript encoding, as +character name ‘<samp class="samp">acute</samp>’; then the default PostScript encoding, as found in the AFM file for an ordinary PostScript font, maps the -character name ‘<samp>acute</samp>’ to the number 194. (The PostScript encoding +character name ‘<samp class="samp">acute</samp>’ to the number 194. (The PostScript encoding works in reverse, by looking in the encoding vector for the name and then yielding the corresponding number.) The combined mapping of 19 to 194 shows up explicitly in the VF file and also implicitly in the fact that the properties of PostScript character 194 appear in position 19 of the TFM file for the virtual font. </p> -<span id="index-accents_002c-in-wrong-position"></span> -<span id="index-Hungarian-umlaut"></span> -<span id="index-dot-accent"></span> -<span id="index-Scandinavian-A-ring"></span> -<span id="index-A-ring_002c-Scandinavian-letter"></span> -<p>The default encoding of the distributed fonts (e.g., <samp>ptmr.tfm</samp>) +<a class="index-entry-id" id="index-accents_002c-in-wrong-position"></a> +<a class="index-entry-id" id="index-Hungarian-umlaut"></a> +<a class="index-entry-id" id="index-dot-accent"></a> +<a class="index-entry-id" id="index-Scandinavian-A-ring"></a> +<a class="index-entry-id" id="index-A-ring_002c-Scandinavian-letter"></a> +<p>The default encoding of the distributed fonts (e.g., <samp class="file">ptmr.tfm</samp>) mostly follows plain TeX conventions for accents. The exceptions: -the Hungarian umlaut (which is at position <code>0x7D</code> in ‘<samp>cmr10</samp>’, -but position <code>0xCD</code> in ‘<samp>ptmr</samp>’); the dot accent (at positions -<code>0x5F</code> and <code>0xC7</code>, respectively); and the Scandinavian A ring -<code>\AA</code>, whose definition needs different tweaking. In order to use +the Hungarian umlaut (which is at position <code class="code">0x7D</code> in ‘<samp class="samp">cmr10</samp>’, +but position <code class="code">0xCD</code> in ‘<samp class="samp">ptmr</samp>’); the dot accent (at positions +<code class="code">0x5F</code> and <code class="code">0xC7</code>, respectively); and the Scandinavian A ring +<code class="code">\AA</code>, whose definition needs different tweaking. In order to use these accents with PostScript fonts or in math mode when -<code>\textfont0</code> is a PostScript font, you will need to use the +<code class="code">\textfont0</code> is a PostScript font, you will need to use the following definitions. These definitions will not work with the Computer Modern fonts for the relevant accents. They are already part -of the distributed <samp>psfonts.sty</samp> for use with LaTeX. +of the distributed <samp class="file">psfonts.sty</samp> for use with LaTeX. </p> -<span id="index-_005cH"></span> -<span id="index-_005c_002e"></span> -<span id="index-_005cdot"></span> -<span id="index-_005cAA"></span> +<a class="index-entry-id" id="index-_005cH"></a> +<a class="index-entry-id" id="index-_005c_002e"></a> +<a class="index-entry-id" id="index-_005cdot"></a> +<a class="index-entry-id" id="index-_005cAA"></a> <div class="example"> -<pre class="example">\def\H#1{{\accent"CD #1}} +<pre class="example-preformatted">\def\H#1{{\accent"CD #1}} \def\.#1{{\accent"C7 #1}} \def\dot{\mathaccent"70C7 } \newdimen\aadimen @@ -4433,59 +4431,59 @@ of the distributed <samp>psfonts.sty</samp> for use with LaTeX. \hbox to \wd0{\hss\char'27\hss}}A} </pre></div> -<span id="index-CODINGSCHEME"></span> -<p>As a kind of summary, here are the ‘<samp>CODINGSCHEME</samp>’s that result from +<a class="index-entry-id" id="index-CODINGSCHEME"></a> +<p>As a kind of summary, here are the ‘<samp class="samp">CODINGSCHEME</samp>’s that result from the various possible choices for reencoding. </p> -<dl compact="compact"> -<dt><span>default encoding</span></dt> +<dl class="table"> +<dt>default encoding</dt> <dd><div class="example"> -<pre class="example">(CODINGSCHEME TeX text + AdobeStandardEncoding) +<pre class="example-preformatted">(CODINGSCHEME TeX text + AdobeStandardEncoding) </pre></div> </dd> -<dt><span>‘<samp>-p dc.enc</samp>’</span></dt> +<dt>‘<samp class="samp">-p dc.enc</samp>’</dt> <dd><div class="example"> -<pre class="example">(CODINGSCHEME TeX text + DCEncoding) +<pre class="example-preformatted">(CODINGSCHEME TeX text + DCEncoding) </pre></div> </dd> -<dt><span>‘<samp>-t dc.enc</samp>’</span></dt> +<dt>‘<samp class="samp">-t dc.enc</samp>’</dt> <dd><div class="example"> -<pre class="example">(CODINGSCHEME DCEncoding + AdobeStandardEncoding) +<pre class="example-preformatted">(CODINGSCHEME DCEncoding + AdobeStandardEncoding) </pre></div> </dd> -<dt><span>‘<samp>-T dc.enc</samp>’</span></dt> +<dt>‘<samp class="samp">-T dc.enc</samp>’</dt> <dd><div class="example"> -<pre class="example">(CODINGSCHEME DCEncoding + DCEncoding) +<pre class="example-preformatted">(CODINGSCHEME DCEncoding + DCEncoding) </pre></div> </dd> </dl> -<p>The ‘<samp>CODINGSCHEME</samp>’ line appears in the VPL file but is +<p>The ‘<samp class="samp">CODINGSCHEME</samp>’ line appears in the VPL file but is ignored by Dvips. </p> <hr> </div> -<div class="subsubsection" id="Encoding-file-format"> -<div class="header"> +<div class="subsubsection-level-extent" id="Encoding-file-format"> +<div class="nav-panel"> <p> Previous: <a href="#Reencoding-with-Afm2tfm" accesskey="p" rel="prev">Reencoding with Afm2tfm</a>, Up: <a href="#Changing-font-encodings" accesskey="u" rel="up">Changing font encodings</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Encoding-file-format-1"></span><h4 class="subsubsection">6.3.1.5 Encoding file format</h4> +<h4 class="subsubsection" id="Encoding-file-format-1">6.3.1.5 Encoding file format</h4> -<span id="index-encoding-file-format"></span> +<a class="index-entry-id" id="index-encoding-file-format"></a> <p>Afm2tfm’s encoding files have the same format as an encoding vector in a PostScript font. Here is a skeletal example: </p> <div class="example"> -<pre class="example">% <span class="roman">Comments are ignored, unless the first word after the percent sign</span> -% <span class="roman">is ‘<samp>LIGKERN</samp>’; see below.</span> -/MyEncoding [ % <span class="roman">exactly 256 entries follow, each with a leading ‘<samp>/</samp>’</span> +<pre class="example-preformatted">% <span class="r">Comments are ignored, unless the first word after the percent sign</span> +% <span class="r">is ‘<samp class="samp">LIGKERN</samp>’; see below.</span> +/MyEncoding [ % <span class="r">exactly 256 entries follow, each with a leading ‘<samp class="samp">/</samp>’</span> /Alpha /Beta /Gamma /Delta … /A /B … /Z … /.notdef /xfooaccent /yfooaccent /zfooaccent @@ -4495,77 +4493,77 @@ PostScript font. Here is a skeletal example: <p>These encoding files are downloaded as part of changing the encoding at the PostScript level (see the previous section). </p> -<span id="index-comments_002c-in-encoding-files"></span> +<a class="index-entry-id" id="index-comments_002c-in-encoding-files"></a> <p>Comments, which start with a percent sign and continue until the end -of the line, are ignored unless they start with ‘<samp>LIGKERN</samp>’ (see below). +of the line, are ignored unless they start with ‘<samp class="samp">LIGKERN</samp>’ (see below). </p> <p>The first non-comment word of the file must start with a forward slash -‘<samp>/</samp>’ (i.e., a PostScript literal name) and defines the name of the -encoding. The next word must be an left bracket ‘<samp>[</samp>’. Following -that must be precisely 256 character names; use ‘<samp>/.notdef</samp>’ for any +‘<samp class="samp">/</samp>’ (i.e., a PostScript literal name) and defines the name of the +encoding. The next word must be an left bracket ‘<samp class="samp">[</samp>’. Following +that must be precisely 256 character names; use ‘<samp class="samp">/.notdef</samp>’ for any that you want to leave undefined. Then there must be a matching right -bracket <code>]</code>. A final ‘<samp>def</samp>’ token is optional. All names are +bracket <code class="code">]</code>. A final ‘<samp class="samp">def</samp>’ token is optional. All names are case-sensitive. </p> <p>Any ligature or kern information is given as a comment. If the first -word after the ‘<samp>%</samp>’ is ‘<samp>LIGKERN</samp>’, then the entire rest of the +word after the ‘<samp class="samp">%</samp>’ is ‘<samp class="samp">LIGKERN</samp>’, then the entire rest of the line is parsed for ligature and kern information. This ligature and kern information is given in groups of words: each group is terminated by a space and a semicolon and (unless the semicolon is at the end of a line) another space. </p> -<span id="index-LIGKERN-encoding-file-command"></span> -<p>In these <code>LIGKERN</code> statements, three types of information may be +<a class="index-entry-id" id="index-LIGKERN-encoding-file-command"></a> +<p>In these <code class="code">LIGKERN</code> statements, three types of information may be specified. These three types are ligature pairs, kerns to ignore, and the character value of this font’s boundary character. </p> -<span id="index-boundary-character"></span> -<p>Throughout a <code>LIGKERN</code> statement, the boundary character is -specified as ‘<samp>||</samp>’. To set the font’s boundary character value for +<a class="index-entry-id" id="index-boundary-character"></a> +<p>Throughout a <code class="code">LIGKERN</code> statement, the boundary character is +specified as ‘<samp class="samp">||</samp>’. To set the font’s boundary character value for TeX: </p> <div class="example"> -<pre class="example">% LIGKERN || = 39 ; +<pre class="example-preformatted">% LIGKERN || = 39 ; </pre></div> <p>To indicate a kern to remove, give the names of the two characters -(without the leading slash) separated by ‘<samp>{}</samp>’, as in ‘<samp>one +(without the leading slash) separated by ‘<samp class="samp">{}</samp>’, as in ‘<samp class="samp">one {} one ;</samp>’. This is intended to be reminiscent of the way you might -use ‘<samp>{}</samp>’ in a TeX file to turn off ligatures or kerns at a +use ‘<samp class="samp">{}</samp>’ in a TeX file to turn off ligatures or kerns at a particular location. Either or both of the character names can be given -as ‘<samp>*</samp>’, which is a wild card matching any character; thus, all -kerns can be removed with ‘<samp>* {} * ;</samp>’. +as ‘<samp class="samp">*</samp>’, which is a wild card matching any character; thus, all +kerns can be removed with ‘<samp class="samp">* {} * ;</samp>’. </p> -<span id="index-ligature-operations"></span> -<span id="index-Metafont-ligature-operations"></span> +<a class="index-entry-id" id="index-ligature-operations"></a> +<a class="index-entry-id" id="index-Metafont-ligature-operations"></a> <p>To specify a ligature, specify the names of the pair of characters, followed by the ligature operation (as in Metafont), followed by the replacing character name. Either (but not both) of the first two -characters can be ‘<samp>||</samp>’ to indicate a word boundary. +characters can be ‘<samp class="samp">||</samp>’ to indicate a word boundary. </p> -<span id="index-_003d_003a-ligature-operation"></span> -<p>The most common operation is ‘<samp>=:</samp>’ meaning that both characters are -removed and replaced by the third character, but by adding the ‘<samp>|</samp>’ -character on either side of the ‘<samp>=:</samp>’, you can retain either or both +<a class="index-entry-id" id="index-_003d_003a-ligature-operation"></a> +<p>The most common operation is ‘<samp class="samp">=:</samp>’ meaning that both characters are +removed and replaced by the third character, but by adding the ‘<samp class="samp">|</samp>’ +character on either side of the ‘<samp class="samp">=:</samp>’, you can retain either or both of the two leading characters. In addition, by suffixing the ligature -operation with one or two ‘<samp>></samp>’ signs, you can make the ligature +operation with one or two ‘<samp class="samp">></samp>’ signs, you can make the ligature scanning operation skip that many resulting characters before proceeding. This works just like in Metafont. For example, the ‘fi’ -ligature is specified with ‘<samp>f i =: fi ;</samp>’<!-- /@w -->. A more convoluted -ligature is ‘<samp>one one |=:|>> exclam ;</samp>’ which separates a pair of -adjacent <code>1</code>’s with an exclamation point, and then skips over two +ligature is specified with ‘<samp class="samp">f i =: fi ;</samp>’<!-- /@w -->. A more convoluted +ligature is ‘<samp class="samp">one one |=:|>> exclam ;</samp>’ which separates a pair of +adjacent <code class="code">1</code>’s with an exclamation point, and then skips over two of the resulting characters before continuing searching for ligatures -and kerns. You cannot give more <tt>></tt>’s than <tt>|</tt>’s in an ligature +and kerns. You cannot give more <code class="t">></code>’s than <code class="t">|</code>’s in an ligature operation, so there are a total of eight possibilities: </p> <div class="example"> -<pre class="example">=: |=: |=:> =:| =:|> |=:| |=:|> |=:|>> +<pre class="example-preformatted">=: |=: |=:> =:| =:|> |=:| |=:|> |=:|>> </pre></div> <p>The default set of ligatures and kerns built in to Afm2tfm is: </p> <div class="example"> -<pre class="example">% LIGKERN question quoteleft =: questiondown ; +<pre class="example-preformatted">% LIGKERN question quoteleft =: questiondown ; % LIGKERN exclam quoteleft =: exclamdown ; % LIGKERN hyphen hyphen =: endash ; endash hyphen =: emdash ; % LIGKERN quoteleft quoteleft =: quotedblleft ; @@ -4580,63 +4578,63 @@ operation, so there are a total of eight possibilities: <hr> </div> </div> -<div class="subsection" id="Special-font-effects"> -<div class="header"> +<div class="subsection-level-extent" id="Special-font-effects"> +<div class="nav-panel"> <p> Next: <a href="#Afm2tfm-options" accesskey="n" rel="next">Afm2tfm options</a>, Previous: <a href="#Changing-font-encodings" accesskey="p" rel="prev">Changing font encodings</a>, Up: <a href="#Invoking-afm2tfm" accesskey="u" rel="up">Invoking Afm2tfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Special-font-effects-1"></span><h4 class="subsection">6.3.2 Special font effects</h4> +<h4 class="subsection" id="Special-font-effects-1">6.3.2 Special font effects</h4> -<span id="index-oblique-fonts"></span> -<span id="index-slanted-fonts"></span> -<span id="index-fonts_002c-slanted"></span> +<a class="index-entry-id" id="index-oblique-fonts"></a> +<a class="index-entry-id" id="index-slanted-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-slanted"></a> <p>Besides the reencodings described in the previous section, Afm2tfm can do other manipulations. (Again, it’s best to use the prebuilt fonts rather than attempting to remake them.) </p> -<p>‘<samp>-s <var>slant</var></samp>’ makes an obliqued variant, as in: +<p>‘<samp class="samp">-s <var class="var">slant</var></samp>’ makes an obliqued variant, as in: </p> <div class="example"> -<pre class="example">afm2tfm Times-Roman -s .167 -v ptmro rptmro +<pre class="example-preformatted">afm2tfm Times-Roman -s .167 -v ptmro rptmro </pre></div> -<p>This creates <samp>ptmro.vpl</samp> and <samp>rptmro.tfm</samp>. To use this font, +<p>This creates <samp class="file">ptmro.vpl</samp> and <samp class="file">rptmro.tfm</samp>. To use this font, put the line </p> -<span id="index-SlantFont"></span> +<a class="index-entry-id" id="index-SlantFont"></a> <div class="example"> -<pre class="example">rptmro Times-Roman ".167 SlantFont" +<pre class="example-preformatted">rptmro Times-Roman ".167 SlantFont" </pre></div> -<p><span id="index-psfonts_002emap-1"></span> -into <samp>psfonts.map</samp>. Then ‘<samp>rptmro</samp>’ (our name for the obliqued +<a class="index-entry-id" id="index-psfonts_002emap-1"></a> +<p>into <samp class="file">psfonts.map</samp>. Then ‘<samp class="samp">rptmro</samp>’ (our name for the obliqued Times) will act as if it were a resident font, although it is actually -constructed from Times-Roman via the PostScript routine <code>SlantFont</code> +constructed from Times-Roman via the PostScript routine <code class="code">SlantFont</code> (which will slant everything 1/6 to the right, in this case). </p> -<span id="index-expanded-fonts"></span> -<span id="index-fonts_002c-expanded"></span> +<a class="index-entry-id" id="index-expanded-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-expanded"></a> <p>Similarly, you can get an expanded font with </p> <div class="example"> -<pre class="example">afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre +<pre class="example-preformatted">afm2tfm Times-Roman -e 1.2 -v ptmrre rptmrre </pre></div> <p>and by recording the pseudo-resident font -<span id="index-ExtendFont"></span> +<a class="index-entry-id" id="index-ExtendFont"></a> </p> <div class="example"> -<pre class="example">rptmrre Times-Roman "1.2 ExtendFont" +<pre class="example-preformatted">rptmrre Times-Roman "1.2 ExtendFont" </pre></div> -<p>in <samp>psfonts.map</samp>. +<p>in <samp class="file">psfonts.map</samp>. </p> <p>You can also create a small caps font with a command such as -<span id="index-small-caps-fonts"></span> -<span id="index-fonts_002c-small-caps"></span> +<a class="index-entry-id" id="index-small-caps-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-small-caps"></a> </p> <div class="example"> -<pre class="example">afm2tfm Times-Roman -V ptmrc rptmrc +<pre class="example-preformatted">afm2tfm Times-Roman -V ptmrc rptmrc </pre></div> <p>This will generate a set of pseudo-small caps mapped into the usual @@ -4645,7 +4643,7 @@ dimensions. You can also specify the scaling as something other than the default 0.8: </p> <div class="example"> -<pre class="example">afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc +<pre class="example-preformatted">afm2tfm Times-Roman -c 0.7 -V ptmrc rptmrc </pre></div> <p>It is unfortunately not possible to increase the width of the small caps @@ -4653,142 +4651,142 @@ independently of the rest of the font. If you want a really professional looking set of small caps, you need to acquire a small caps font. </p> -<span id="index-PaintType"></span> -<span id="index-outline-fonts-1"></span> -<span id="index-fonts_002c-outlined"></span> -<p>To change the <code>PaintType</code> in a font from filled (0) to outlined -(2), you can add <code>"/PaintType 2 store"</code> to <samp>psfonts.map</samp>, as +<a class="index-entry-id" id="index-PaintType"></a> +<a class="index-entry-id" id="index-outline-fonts-1"></a> +<a class="index-entry-id" id="index-fonts_002c-outlined"></a> +<p>To change the <code class="code">PaintType</code> in a font from filled (0) to outlined +(2), you can add <code class="code">"/PaintType 2 store"</code> to <samp class="file">psfonts.map</samp>, as in the following: </p> <div class="example"> -<pre class="example">rphvrl Helvetica "/PaintType 2 store" +<pre class="example-preformatted">rphvrl Helvetica "/PaintType 2 store" </pre></div> <p>Afm2tfm writes to standard output the line you need to add to -<samp>psfonts.map</samp> to use that font, assuming the font is resident in +<samp class="file">psfonts.map</samp> to use that font, assuming the font is resident in the printer; if the font is not resident, you must add the -‘<samp><<var>filename</var></samp>’ command to download the font. Each identical -line only needs to be specified once in the ‘<samp>psfonts.map</samp>’ file, +‘<samp class="samp"><<var class="var">filename</var></samp>’ command to download the font. Each identical +line only needs to be specified once in the ‘<samp class="samp">psfonts.map</samp>’ file, even though many different fonts (small caps variants, or ones with different output encodings) may be based on it. </p> <hr> </div> -<div class="subsection" id="Afm2tfm-options"> -<div class="header"> +<div class="subsection-level-extent" id="Afm2tfm-options"> +<div class="nav-panel"> <p> Previous: <a href="#Special-font-effects" accesskey="p" rel="prev">Special font effects</a>, Up: <a href="#Invoking-afm2tfm" accesskey="u" rel="up">Invoking Afm2tfm</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Afm2tfm-options-1"></span><h4 class="subsection">6.3.3 Afm2tfm options</h4> +<h4 class="subsection" id="Afm2tfm-options-1">6.3.3 Afm2tfm options</h4> -<span id="index-options_002c-to-Afm2tfm"></span> -<span id="index-afm2tfm-options"></span> +<a class="index-entry-id" id="index-options_002c-to-Afm2tfm"></a> +<a class="index-entry-id" id="index-afm2tfm-options"></a> <p>Synopsis: </p><div class="example"> -<pre class="example">afm2tfm [<var>option</var>]… <var>afmfile</var>[.afm] [<var>tfmfile</var>[.tfm]] +<pre class="example-preformatted">afm2tfm [<var class="var">option</var>]… <var class="var">afmfile</var>[.afm] [<var class="var">tfmfile</var>[.tfm]] </pre></div> -<p>Afm2tfm reads <var>afmfile</var> and writes a corresponding (but “raw”, -see below) TFM file. If <var>tfmfile</var> is not supplied, the base name -of the AFM file is extended with ‘<samp>.tfm</samp>’ to get the output +<p>Afm2tfm reads <var class="var">afmfile</var> and writes a corresponding (but “raw”, +see below) TFM file. If <var class="var">tfmfile</var> is not supplied, the base name +of the AFM file is extended with ‘<samp class="samp">.tfm</samp>’ to get the output filename. </p> <p>The simplest example: </p> <div class="example"> -<pre class="example">afm2tfm Times-Roman rptmr +<pre class="example-preformatted">afm2tfm Times-Roman rptmr </pre></div> -<span id="index-accents_002c-wrong"></span> -<span id="index-raw-tfm-files"></span> -<p>The TFM file thus created is <em>raw</em> because it omits ligature and +<a class="index-entry-id" id="index-accents_002c-wrong"></a> +<a class="index-entry-id" id="index-raw-tfm-files"></a> +<p>The TFM file thus created is <em class="dfn">raw</em> because it omits ligature and kern information, and does no character remapping; it contains only the character information in the AFM file in TFM format, which is the form that TeX understands. The characters have the same code in the TFM file as in the AFM file. For text fonts, this means printable ASCII characters will work ok, but little else, because standard PostScript fonts have a different encoding scheme than the one that plain TeX -expects (see <a href="#Encodings">Encodings</a>). Although the encodings agree for most +expects (see <a class="pxref" href="#Encodings">Encodings</a>). Although the encodings agree for most printable ASCII characters, other characters such as ligatures and accents vary. Thus, in practice, it’s almost always desirable to create -a virtual font as well with the ‘<samp>-v</samp>’ or ‘<samp>-V</samp>’ option. -See <a href="#Making-a-font-available">Making a PostScript font available</a>. +a virtual font as well with the ‘<samp class="samp">-v</samp>’ or ‘<samp class="samp">-V</samp>’ option. +See <a class="xref" href="#Making-a-font-available">Making a PostScript font available</a>. </p> <p>The command line options to Afm2tfm: </p> -<dl compact="compact"> -<dt id='index-_002da-1'><span>‘<samp>-a</samp>’<a href='#index-_002da-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-accent-height-adjustment_002c-omitting"></span> +<dl class="table"> +<dt id='index-_002da-1'><span>‘<samp class="samp">-a</samp>’<a class="copiable-link" href='#index-_002da-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-accent-height-adjustment_002c-omitting"></a> <p>By default, Afm2tfm looks for precomposed accented characters, such as tdieresis, and possibly adjusts the height of the basic letter (t) -upward so that the result of using <code>\accent</code> (as in <code>\"t</code>) -is visually the same as the precomposed characters. The <code>-a</code> +upward so that the result of using <code class="code">\accent</code> (as in <code class="code">\"t</code>) +is visually the same as the precomposed characters. The <code class="code">-a</code> option omits such adjustments, so that all characters’ heights remain as they are given in the AFM file. (Until Afm2tfm 8.4, released in 2016, heights could also be adjusted downward, but this is no longer the case.) </p> </dd> -<dt id='index-_002dc-ratio'><span>‘<samp>-c <var>ratio</var></samp>’<a href='#index-_002dc-ratio' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-scaling-small-caps"></span> -<p>See ‘<samp>-V</samp>’; overrides the default ratio of 0.8 for the +<dt id='index-_002dc-ratio'><span>‘<samp class="samp">-c <var class="var">ratio</var></samp>’<a class="copiable-link" href='#index-_002dc-ratio'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-scaling-small-caps"></a> +<p>See ‘<samp class="samp">-V</samp>’; overrides the default ratio of 0.8 for the scaling of small caps. </p> </dd> -<dt id='index-_002de-ratio'><span>‘<samp>-e <var>ratio</var></samp>’<a href='#index-_002de-ratio' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-expanded-fonts-1"></span> -<span id="index-condensed-fonts"></span> -<p>Stretch characters horizontally by <var>ratio</var>; if less than 1.0, you +<dt id='index-_002de-ratio'><span>‘<samp class="samp">-e <var class="var">ratio</var></samp>’<a class="copiable-link" href='#index-_002de-ratio'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-expanded-fonts-1"></a> +<a class="index-entry-id" id="index-condensed-fonts"></a> +<p>Stretch characters horizontally by <var class="var">ratio</var>; if less than 1.0, you get a condensed font. </p> </dd> -<dt id='index-_002dO'><span>‘<samp>-O</samp>’<a href='#index-_002dO' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-octal-character-codes"></span> -<p>Output all character codes in the ‘<samp>vpl</samp>’ file as octal numbers, not +<dt id='index-_002dO'><span>‘<samp class="samp">-O</samp>’<a class="copiable-link" href='#index-_002dO'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-octal-character-codes"></a> +<p>Output all character codes in the ‘<samp class="samp">vpl</samp>’ file as octal numbers, not names; this is useful for symbol or other special-purpose fonts where -character names such as ‘<samp>A</samp>’ have no meaning. +character names such as ‘<samp class="samp">A</samp>’ have no meaning. </p> </dd> -<dt id='index-_002dp-ps_002denc-1'><span>‘<samp>-p <var>ps-enc</var></samp>’<a href='#index-_002dp-ps_002denc-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Use <var>ps-enc</var> for the destination (PostScript) encoding of the font; -<var>ps-enc</var> must be mentioned as a header file for the font in -‘<samp>psfonts.map</samp>’. -See <a href="#Changing-PostScript-encodings">‘<samp>-p</samp>’: Changing PostScript encodings</a>. +<dt id='index-_002dp-ps_002denc-1'><span>‘<samp class="samp">-p <var class="var">ps-enc</var></samp>’<a class="copiable-link" href='#index-_002dp-ps_002denc-1'> ¶</a></span></dt> +<dd><p>Use <var class="var">ps-enc</var> for the destination (PostScript) encoding of the font; +<var class="var">ps-enc</var> must be mentioned as a header file for the font in +‘<samp class="samp">psfonts.map</samp>’. +See <a class="xref" href="#Changing-PostScript-encodings">‘<samp class="samp">-p</samp>’: Changing PostScript encodings</a>. </p> </dd> -<dt id='index-_002ds-slant'><span>‘<samp>-s <var>slant</var></samp>’<a href='#index-_002ds-slant' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-slanted-fonts_002c-making"></span> -<p>Slant characters to the right by <var>slant</var>. If <var>slant</var> is +<dt id='index-_002ds-slant'><span>‘<samp class="samp">-s <var class="var">slant</var></samp>’<a class="copiable-link" href='#index-_002ds-slant'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-slanted-fonts_002c-making"></a> +<p>Slant characters to the right by <var class="var">slant</var>. If <var class="var">slant</var> is negative, the letters slope to the left (or they might be upright if you start with an italic font). </p> </dd> -<dt id='index-_002dt-tex_002denc-1'><span>‘<samp>-t <var>tex-enc</var></samp>’<a href='#index-_002dt-tex_002denc-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Use <var>tex-enc</var> for the target (TeX) encoding of the font. -Ligature and kern information may also be specified in <var>file</var>. -<var>file</var> is not mentioned in <samp>psfonts.map</samp>. +<dt id='index-_002dt-tex_002denc-1'><span>‘<samp class="samp">-t <var class="var">tex-enc</var></samp>’<a class="copiable-link" href='#index-_002dt-tex_002denc-1'> ¶</a></span></dt> +<dd><p>Use <var class="var">tex-enc</var> for the target (TeX) encoding of the font. +Ligature and kern information may also be specified in <var class="var">file</var>. +<var class="var">file</var> is not mentioned in <samp class="file">psfonts.map</samp>. </p> </dd> -<dt id='index-_002dT-ps_002dtex_002denc'><span>‘<samp>-T <var>ps-tex-enc</var></samp>’<a href='#index-_002dT-ps_002dtex_002denc' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Use <var>ps-tex-enc</var> for both the PostScript and target TeX encodings -of the font. Equivalent to ‘<samp>-p <var>file</var> -t <var>file</var></samp>’. +<dt id='index-_002dT-ps_002dtex_002denc'><span>‘<samp class="samp">-T <var class="var">ps-tex-enc</var></samp>’<a class="copiable-link" href='#index-_002dT-ps_002dtex_002denc'> ¶</a></span></dt> +<dd><p>Use <var class="var">ps-tex-enc</var> for both the PostScript and target TeX encodings +of the font. Equivalent to ‘<samp class="samp">-p <var class="var">file</var> -t <var class="var">file</var></samp>’. </p> </dd> -<dt id='index-_002du'><span>‘<samp>-u</samp>’<a href='#index-_002du' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002du'><span>‘<samp class="samp">-u</samp>’<a class="copiable-link" href='#index-_002du'> ¶</a></span></dt> <dd><p>Use only those characters specified in the TeX encoding, and no others. By default, Afm2tfm tries to include all characters in the input font, even those not present in the TeX encoding (it puts them into otherwise-unused positions, arbitrarily). </p> </dd> -<dt id='index-_002dv-vpl_002dfile'><span>‘<samp>-v <var>vpl-file</var></samp>’<a href='#index-_002dv-vpl_002dfile' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002dv-vpl_002dfile'><span>‘<samp class="samp">-v <var class="var">vpl-file</var></samp>’<a class="copiable-link" href='#index-_002dv-vpl_002dfile'> ¶</a></span></dt> <dd><p>Output a VPL (virtual property list) file, as well as a TFM file. </p> </dd> -<dt id='index-_002dV-vpl_002dfile'><span>‘<samp>-V <var>vpl-file</var></samp>’<a href='#index-_002dV-vpl_002dfile' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Same as ‘<samp>-v</samp>’, but the virtual font generated is a pseudo small caps +<dt id='index-_002dV-vpl_002dfile'><span>‘<samp class="samp">-V <var class="var">vpl-file</var></samp>’<a class="copiable-link" href='#index-_002dV-vpl_002dfile'> ¶</a></span></dt> +<dd><p>Same as ‘<samp class="samp">-v</samp>’, but the virtual font generated is a pseudo small caps font obtained by scaling uppercase letters by 0.8 to typeset lowercase. This font handles accented letters and retains proper kerning. @@ -4799,112 +4797,112 @@ kerning. <hr> </div> </div> -<div class="section" id="psfonts_002emap"> -<div class="header"> +<div class="section-level-extent" id="psfonts_002emap"> +<div class="nav-panel"> <p> Previous: <a href="#Invoking-afm2tfm" accesskey="p" rel="prev">Invoking Afm2tfm</a>, Up: <a href="#PostScript-fonts" accesskey="u" rel="up">PostScript fonts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="psfonts_002emap_003a-PostScript-font-catalog"></span><h3 class="section">6.4 <samp>psfonts.map</samp>: PostScript font catalog</h3> +<h3 class="section" id="psfonts_002emap_003a-PostScript-font-catalog">6.4 <samp class="file">psfonts.map</samp>: PostScript font catalog</h3> -<span id="index-psfonts_002emap-2"></span> -<span id="index-non_002dresident-fonts"></span> -<span id="index-downloading-PostScript-fonts"></span> -<span id="index-fonts_002c-downloading"></span> +<a class="index-entry-id" id="index-psfonts_002emap-2"></a> +<a class="index-entry-id" id="index-non_002dresident-fonts"></a> +<a class="index-entry-id" id="index-downloading-PostScript-fonts"></a> +<a class="index-entry-id" id="index-fonts_002c-downloading"></a> -<p>The <samp>psfonts.map</samp> file associates a PostScript font with related +<p>The <samp class="file">psfonts.map</samp> file associates a PostScript font with related files and constructs. Each line has the format: </p> <div class="example"> -<pre class="example"><var>filename</var> <var>PostScript-name</var> <var>options</var> +<pre class="example-preformatted"><var class="var">filename</var> <var class="var">PostScript-name</var> <var class="var">options</var> </pre></div> -<span id="index-_003c-font-downloading"></span> +<a class="index-entry-id" id="index-_003c-font-downloading"></a> <p>For example, the line </p><div class="example"> -<pre class="example">rpstrn StoneInformal <StoneInformal.pfb +<pre class="example-preformatted">rpstrn StoneInformal <StoneInformal.pfb </pre></div> -<p>causes Dvips to download <samp>StoneInformal.pfb</samp> (just as if it were -a header file, see <a href="#Header-files">PostScript header files</a>) if the DVI file (or a virtual -font, see <a href="#Virtual-fonts">Virtual fonts</a>) references the TFM file ‘<samp>rpstrn</samp>’. -The PostScript <code>/FontName</code> of the font defined inside the ‘<samp>pfb</samp>’ -file should be <code>StoneInformal</code>. -</p> -<span id="index-transforming-downloaded-fonts"></span> -<span id="index-expanded-fonts-2"></span> -<span id="index-wide-fonts"></span> -<span id="index-narrow-fonts"></span> +<p>causes Dvips to download <samp class="file">StoneInformal.pfb</samp> (just as if it were +a header file, see <a class="pxref" href="#Header-files">PostScript header files</a>) if the DVI file (or a virtual +font, see <a class="pxref" href="#Virtual-fonts">Virtual fonts</a>) references the TFM file ‘<samp class="samp">rpstrn</samp>’. +The PostScript <code class="code">/FontName</code> of the font defined inside the ‘<samp class="samp">pfb</samp>’ +file should be <code class="code">StoneInformal</code>. +</p> +<a class="index-entry-id" id="index-transforming-downloaded-fonts"></a> +<a class="index-entry-id" id="index-expanded-fonts-2"></a> +<a class="index-entry-id" id="index-wide-fonts"></a> +<a class="index-entry-id" id="index-narrow-fonts"></a> <p>You can generate transformed fonts with a line like this: </p><div class="example"> -<pre class="example">rpstrc StoneInformal <StoneInformal.pfb ".8 ExtendFont" +<pre class="example-preformatted">rpstrc StoneInformal <StoneInformal.pfb ".8 ExtendFont" </pre></div> -<p>See <a href="#Special-font-effects">Special font effects</a>, for a +<p>See <a class="xref" href="#Special-font-effects">Special font effects</a>, for a complete list of font effects. </p> -<span id="index-reencoding-PostScript-fonts"></span> +<a class="index-entry-id" id="index-reencoding-PostScript-fonts"></a> <p>You can change the encoding of the Type 1 font at the PostScript -level with a ‘<samp>ReEncodeFont</samp>’ instruction, plus the name of the +level with a ‘<samp class="samp">ReEncodeFont</samp>’ instruction, plus the name of the encoding file. This allows you access to characters that may be present in the Type 1 font file, but not encoded by default—most of the preaccented characters, for example. An example: -</p><div class="example"> -<pre class="example">pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <8r.enc <pstrn8a.pfb +</p><div class="example smallexample"> +<pre class="example-preformatted">pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <8r.enc <pstrn8a.pfb </pre></div> -<span id="index-8r-font-encoding"></span> -<span id="index-base-encoding_002c-recommended"></span> -<p>The ‘<samp>8r</samp>’ encoding mentioned here has been designed to serve as a +<a class="index-entry-id" id="index-8r-font-encoding"></a> +<a class="index-entry-id" id="index-base-encoding_002c-recommended"></a> +<p>The ‘<samp class="samp">8r</samp>’ encoding mentioned here has been designed to serve as a base for all downloadable fonts; it allows access to all the characters commonly present in a Type 1 font. For more details, see the -<samp>8r.enc</samp> source file that comes with (and is installed with) Dvips. +<samp class="file">8r.enc</samp> source file that comes with (and is installed with) Dvips. </p> -<span id="index-_003c_005b-encoding-vector-downloading"></span> +<a class="index-entry-id" id="index-_003c_005b-encoding-vector-downloading"></a> <p>You may notice that the same syntax is used for downloading encoding vectors and Type 1 font files. To make your intentions clear, you can -also use ‘<samp><[</samp>’ to explicitly indicate you are downloading an +also use ‘<samp class="samp"><[</samp>’ to explicitly indicate you are downloading an encoding vector, as in: -</p><div class="example"> -<pre class="example">pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <[8r.enc <pstrn8a.pfb +</p><div class="example smallexample"> +<pre class="example-preformatted">pstrn8r StoneInformal "TeXBase1Encoding ReEncodeFont" <[8r.enc <pstrn8a.pfb </pre></div> -<span id="index-_002eenc-extension-for-encoding-vectors"></span> -<p>If the filename of your encoding vector does not end in ‘<samp>.enc</samp>’, and -you are using partial font downloading, you must use the ‘<samp><[</samp>’ +<a class="index-entry-id" id="index-_002eenc-extension-for-encoding-vectors"></a> +<p>If the filename of your encoding vector does not end in ‘<samp class="samp">.enc</samp>’, and +you are using partial font downloading, you must use the ‘<samp class="samp"><[</samp>’ syntax, or Dvips will not download the font properly. </p> -<span id="index-_002epfa-extension-required-for-partial-downloading"></span> -<span id="index-_002epfb-extension-required-for-partial-downloading"></span> +<a class="index-entry-id" id="index-_002epfa-extension-required-for-partial-downloading"></a> +<a class="index-entry-id" id="index-_002epfb-extension-required-for-partial-downloading"></a> <p>Similarly, the name of the Type 1 font file itself must have extension -<samp>.pfa</samp> or <samp>.pfb</samp> for partial downloading to work properly. +<samp class="file">.pfa</samp> or <samp class="file">.pfb</samp> for partial downloading to work properly. </p> -<span id="index-pfb-files_002c-automatically-unpacked"></span> +<a class="index-entry-id" id="index-pfb-files_002c-automatically-unpacked"></a> <p>When using PFB files, Dvips is smart enough to unpack the binary PFB format into printable ASCII so there is no need to perform this conversion yourself. In addition, Dvips scans the font to determine its -memory usage, just as it does for other header files (see <a href="#Header-files">PostScript header files</a>). +memory usage, just as it does for other header files (see <a class="pxref" href="#Header-files">PostScript header files</a>). </p> -<span id="index-partial-font-downloading"></span> -<span id="index-downloading-fonts-partially"></span> -<p>If the ‘<samp>j</samp>’ config file or command-line option is enabled (as it -is by default), <samp>StoneInformal.pfb</samp> will be <em>partially +<a class="index-entry-id" id="index-partial-font-downloading"></a> +<a class="index-entry-id" id="index-downloading-fonts-partially"></a> +<p>If the ‘<samp class="samp">j</samp>’ config file or command-line option is enabled (as it +is by default), <samp class="file">StoneInformal.pfb</samp> will be <em class="dfn">partially downloaded</em>—only those characters your document actually uses will be extracted and downloaded, and the remainder discarded. -See <a href="#Option-details">Option details</a>. +See <a class="xref" href="#Option-details">Option details</a>. </p> -<span id="index-whole-font-downloading"></span> -<span id="index-multiple-master-fonts"></span> -<span id="index-Minion-typeface-family"></span> -<span id="index-_003c_003c-whole-font-downloading"></span> +<a class="index-entry-id" id="index-whole-font-downloading"></a> +<a class="index-entry-id" id="index-multiple-master-fonts"></a> +<a class="index-entry-id" id="index-Minion-typeface-family"></a> +<a class="index-entry-id" id="index-_003c_003c-whole-font-downloading"></a> <p>Adobe Multiple Master fonts, such as Minion, cannot be partially downloaded. To partially download in general, but avoid partial -downloading for individual fonts, use ‘<samp><<</samp>’ instead ‘<samp><</samp>’: +downloading for individual fonts, use ‘<samp class="samp"><<</samp>’ instead ‘<samp class="samp"><</samp>’: </p><div class="example"> -<pre class="example">pmnr8r Minion <<Minion.pfb +<pre class="example-preformatted">pmnr8r Minion <<Minion.pfb </pre></div> -<p>Here is a brief summary of how <samp>psfonts.map</samp> is read: +<p>Here is a brief summary of how <samp class="file">psfonts.map</samp> is read: </p> -<ol> +<ol class="enumerate"> <li> If a line is empty or begins with a space, percent, asterisk, semicolon, or hash mark, it is ignored. @@ -4912,22 +4910,22 @@ semicolon, or hash mark, it is ignored. separated by spaces or tabs, except that if a word begins with a double quote, it extends until the next double quote or the end of the line. -</li><li> If a word starts with ‘<samp><<</samp>’, it is taken as a font file to be +</li><li> If a word starts with ‘<samp class="samp"><<</samp>’, it is taken as a font file to be wholly downloaded. Use this to avoid partial downloading, as described above. -</li><li> If a word starts with ‘<samp><[</samp>’, it is taken as an encoding file +</li><li> If a word starts with ‘<samp class="samp"><[</samp>’, it is taken as an encoding file to be downloaded. Use this if the name of the encoding file does end in -‘<samp>.enc</samp>’, also as described above. +‘<samp class="samp">.enc</samp>’, also as described above. -</li><li> If a word starts with a ‘<samp><</samp>’ character, it is +</li><li> If a word starts with a ‘<samp class="samp"><</samp>’ character, it is treated as a header file that needs to be downloaded. If the name ends -in ‘<samp>.pfa</samp>’ or ‘<samp>.pfb</samp>’, it is taken as Type 1 font file that will -be partially downloaded if the ‘<samp>j</samp>’ option is in effect. There can -be more than one such header for a given font. If a ‘<samp><</samp>’ is a word +in ‘<samp class="samp">.pfa</samp>’ or ‘<samp class="samp">.pfb</samp>’, it is taken as Type 1 font file that will +be partially downloaded if the ‘<samp class="samp">j</samp>’ option is in effect. There can +be more than one such header for a given font. If a ‘<samp class="samp"><</samp>’ is a word by itself, the next word is taken as the name of the header file. -</li><li> If a word starts with a ‘<samp>"</samp>’ character, it is taken as PostScript +</li><li> If a word starts with a ‘<samp class="samp">"</samp>’ character, it is taken as PostScript code used in generating that font, and is inserted into the output verbatim at the appropriate point. (And the double quotes beginning and ending the word are removed.) @@ -4944,22 +4942,22 @@ name, it is used for both the TeX name and the PostScript name. <hr> </div> </div> -<div class="chapter" id="Color"> -<div class="header"> +<div class="chapter-level-extent" id="Color"> +<div class="nav-panel"> <p> Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#PostScript-fonts" accesskey="p" rel="prev">PostScript fonts</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-1"></span><h2 class="chapter">7 Color</h2> +<h2 class="chapter" id="Color-1">7 Color</h2> -<span id="index-color"></span> +<a class="index-entry-id" id="index-color"></a> -<span id="index-Hafner_002c-Jim"></span> +<a class="index-entry-id" id="index-Hafner_002c-Jim"></a> <p>Dvips supports one-pass multi-color printing of TeX documents on any color PostScript device. Initially added by Jim Hafner, IBM Research, -<a href="mailto:hafner@almaden.ibm.com">hafner@almaden.ibm.com</a>, the color support has gone through many +<a class="email" href="mailto:hafner@almaden.ibm.com">hafner@almaden.ibm.com</a>, the color support has gone through many changes by Tomas Rokicki. Besides the source code support itself, there -are additional TeX macro files: ‘<samp>colordvi.tex</samp>’ and -‘<samp>blackdvi.tex</samp>’, and corresponding ‘<samp>.sty</samp>’ versions for use with +are additional TeX macro files: ‘<samp class="samp">colordvi.tex</samp>’ and +‘<samp class="samp">blackdvi.tex</samp>’, and corresponding ‘<samp class="samp">.sty</samp>’ versions for use with LaTeX. </p> <p>In this section we describe the use of color from the document @@ -4968,7 +4966,7 @@ for the TeX administrator. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Color-macro-files" accesskey="1">Color macro files</a></li> <li><a href="#User_002ddefinable-colors" accesskey="2">User-definable colors</a></li> <li><a href="#Color-subtleties" accesskey="3">Color subtleties</a></li> @@ -4977,81 +4975,81 @@ for the TeX administrator. <li><a href="#Color-support-details" accesskey="6">Color support details</a></li> </ul> <hr> -<div class="section" id="Color-macro-files"> -<div class="header"> +<div class="section-level-extent" id="Color-macro-files"> +<div class="nav-panel"> <p> Next: <a href="#User_002ddefinable-colors" accesskey="n" rel="next">User-definable colors</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-macro-files-1"></span><h3 class="section">7.1 Color macro files</h3> +<h3 class="section" id="Color-macro-files-1">7.1 Color macro files</h3> -<span id="index-macros-for-color"></span> -<span id="index-color-macros"></span> +<a class="index-entry-id" id="index-macros-for-color"></a> +<a class="index-entry-id" id="index-color-macros"></a> -<p>All the color macro commands are defined in ‘<samp>colordvi.tex</samp>’ (or -‘<samp>colordvi.sty</samp>’). To access these macros simply add to the top of +<p>All the color macro commands are defined in ‘<samp class="samp">colordvi.tex</samp>’ (or +‘<samp class="samp">colordvi.sty</samp>’). To access these macros simply add to the top of your plain TeX file the command: </p><div class="example"> -<pre class="example">\input colordvi +<pre class="example-preformatted">\input colordvi </pre></div> -<p>For (the obsolete) LaTeX 2.09, add the ‘<samp>colordvi</samp>’ style option as in: +<p>For (the obsolete) LaTeX 2.09, add the ‘<samp class="samp">colordvi</samp>’ style option as in: </p><div class="example"> -<pre class="example">\documentstyle[12pt,colordvi]{article} +<pre class="example-preformatted">\documentstyle[12pt,colordvi]{article} </pre></div> <p>For LaTeX2e, these examples are not applicable. Instead, please see the documentation for the graphics package -(<a href="https://ctan.org/pkg/graphics">https://ctan.org/pkg/graphics</a>), and the epslatex document -(<a href="https://ctan.org/pkg/epslatex">https://ctan.org/pkg/epslatex</a>). +(<a class="url" href="https://ctan.org/pkg/graphics">https://ctan.org/pkg/graphics</a>), and the epslatex document +(<a class="url" href="https://ctan.org/pkg/epslatex">https://ctan.org/pkg/epslatex</a>). </p> -<span id="index-Crayola-crayon-box"></span> -<span id="index-Pantone-colors"></span> -<span id="index-color-names_002c-mixed-case"></span> +<a class="index-entry-id" id="index-Crayola-crayon-box"></a> +<a class="index-entry-id" id="index-Pantone-colors"></a> +<a class="index-entry-id" id="index-color-names_002c-mixed-case"></a> <p>These macros provide two basic kinds of color macros: ones for local color changes (a few words, a single symbol) and one for global color changes (the whole document). All the color names use a mixed case scheme to avoid conflicts with other macros. There are 68 predefined colors, with names taken primarily from the Crayola crayon box of 64 colors, and one pair of macros for the user to set his own color pattern -(see <a href="#User_002ddefinable-colors">User-definable colors</a>). You can browse the file -‘<samp>colordvi.tex</samp>’ for a list of the predefined colors. The comments +(see <a class="pxref" href="#User_002ddefinable-colors">User-definable colors</a>). You can browse the file +‘<samp class="samp">colordvi.tex</samp>’ for a list of the predefined colors. The comments in this file also show a rough correspondence between the crayon names and Pantones. </p> <p>A local color command has the form </p> <div class="example"> -<pre class="example">\<var>ColorName</var>{this is the color <var>ColorName</var>} +<pre class="example-preformatted">\<var class="var">ColorName</var>{this is the color <var class="var">ColorName</var>} </pre></div> -<span id="index-_005cColorName"></span> -<p>where <var>ColorName</var> is the name of a predefined color, e.g., -‘<samp>Blue</samp>’. As shown, these macros take one argument, the text to +<a class="index-entry-id" id="index-_005cColorName"></a> +<p>where <var class="var">ColorName</var> is the name of a predefined color, e.g., +‘<samp class="samp">Blue</samp>’. As shown, these macros take one argument, the text to print in the specified color. This can be used for nested color changes since it restores the original color state when it completes. For example: </p> <div class="example"> -<pre class="example">This text is normal but here we are \Red{switching to red, +<pre class="example-preformatted">This text is normal but here we are \Red{switching to red, \Blue{nesting blue}, recovering the red} and back to original. </pre></div> -<p><span id="index-color-nesting-level"></span> -The color nesting level has no hard limit, but it is not advisable to +<a class="index-entry-id" id="index-color-nesting-level"></a> +<p>The color nesting level has no hard limit, but it is not advisable to nest too deeply lest you and the reader lose track of the color history. </p> <p>The global color command has the form </p> <div class="example"> -<pre class="example">\text<var>ColorName</var> +<pre class="example-preformatted">\text<var class="var">ColorName</var> </pre></div> -<p><span id="index-_005ctextColorName"></span> -These macros take no arguments and changes the default color from that -point on to <var>ColorName</var>. This of course can be overridden globally +<a class="index-entry-id" id="index-_005ctextColorName"></a> +<p>These macros take no arguments and changes the default color from that +point on to <var class="var">ColorName</var>. This of course can be overridden globally by another such command or locally by local color commands. For example, expanding on the example above, we might have </p> <div class="example"> -<pre class="example">\textGreen +<pre class="example-preformatted">\textGreen This text is green but here we are \Red{switching to red, \Blue{nesting blue}, recovering the red} and back to original green. @@ -5063,7 +5061,7 @@ The text from here on will be cyan until <p>The color commands will even work in math mode and across math mode boundaries. This means that if you have a color before going into math mode, the mathematics will be set in that color as well. In alignment -environments like <code>\halign</code>, ‘<samp>tabular</samp>’ or ‘<samp>eqnarray</samp>’, +environments like <code class="code">\halign</code>, ‘<samp class="samp">tabular</samp>’ or ‘<samp class="samp">eqnarray</samp>’, local color commands cannot extend beyond the alignment characters. </p> <p>Because local color commands respect only some environment and @@ -5077,18 +5075,18 @@ and LaTeX use compatible. <hr> </div> -<div class="section" id="User_002ddefinable-colors"> -<div class="header"> +<div class="section-level-extent" id="User_002ddefinable-colors"> +<div class="nav-panel"> <p> Next: <a href="#Color-subtleties" accesskey="n" rel="next">Color subtleties</a>, Previous: <a href="#Color-macro-files" accesskey="p" rel="prev">Color macro files</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="User_002ddefinable-colors-1"></span><h3 class="section">7.2 User-definable colors</h3> +<h3 class="section" id="User_002ddefinable-colors-1">7.2 User-definable colors</h3> -<span id="index-user_002ddefinable-colors"></span> -<span id="index-colors_002c-user_002ddefinable"></span> +<a class="index-entry-id" id="index-user_002ddefinable-colors"></a> +<a class="index-entry-id" id="index-colors_002c-user_002ddefinable"></a> <p>There are two ways for the user to specify colors not already defined. -For local changes, there is the command <code>\Color</code> which takes two +For local changes, there is the command <code class="code">\Color</code> which takes two arguments. The first argument is four numbers between zero and one and specifies the intensity of cyan, magenta, yellow and black (CMYK) in that order. The second argument is the text that should appear in the @@ -5097,16 +5095,16 @@ pretty” to appear in a color which is 50% cyan, 85% magenta, 40% yellow and 20% black. You would use the command </p> <div class="example"> -<pre class="example">\Color{.5 .85 .4 .2}{this color is pretty} +<pre class="example-preformatted">\Color{.5 .85 .4 .2}{this color is pretty} </pre></div> -<p>For global color changes, there is a command <code>\textColor</code> which +<p>For global color changes, there is a command <code class="code">\textColor</code> which takes one argument, the CMYK quadruple of relative color intensities. For example, if you want the default color to be as above, then the command </p> <div class="example"> -<pre class="example">\textColor{.5 .85 .4 .2} +<pre class="example-preformatted">\textColor{.5 .85 .4 .2} The text from now on will be this pretty color </pre></div> @@ -5119,17 +5117,17 @@ and do its best to recover by discarding the current color history. <hr> </div> -<div class="section" id="Color-subtleties"> -<div class="header"> +<div class="section-level-extent" id="Color-subtleties"> +<div class="nav-panel"> <p> Next: <a href="#Ted-Turner" accesskey="n" rel="next">Printing in black/white after colorizing</a>, Previous: <a href="#User_002ddefinable-colors" accesskey="p" rel="prev">User-definable colors</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-subtleties-1"></span><h3 class="section">7.3 Color subtleties</h3> +<h3 class="section" id="Color-subtleties-1">7.3 Color subtleties</h3> -<span id="index-color-subtleties"></span> +<a class="index-entry-id" id="index-color-subtleties"></a> -<p>Color macros are defined via <code>\special</code> keywords. As such, they -are put in the ‘<samp>.dvi</samp>’ file only as explicit message strings to the +<p>Color macros are defined via <code class="code">\special</code> keywords. As such, they +are put in the ‘<samp class="samp">.dvi</samp>’ file only as explicit message strings to the driver. The (unpleasant) result is that certain unprotected regions of the text can have unwanted color side effects. For example, if a color region is split by TeX across a page boundary, then the footers of @@ -5140,7 +5138,7 @@ their own local color commands. For example, to protect the header and footer in plain TeX, use </p> <div class="example"> -<pre class="example">\headline{\Black{My Header}} +<pre class="example-preformatted">\headline{\Black{My Header}} \footline{\Black{\hss\tenrm\folio\hss}} </pre></div> @@ -5153,31 +5151,31 @@ not written with color in mind. </p> <p>Even when writing your own macros, much care must be taken. The macros that ‘colorize’ a portion of the text work prefix the text work by -outputting one <code>\special</code> command to turn the color on before the -text, and outputting another <code>\special</code> command afterwards to +outputting one <code class="code">\special</code> command to turn the color on before the +text, and outputting another <code class="code">\special</code> command afterwards to restore the original color. It is often useful to ensure that TeX is in horizontal mode before the first special command is issued; this can -be done by prefixing the color command with <code>\leavevmode</code>. +be done by prefixing the color command with <code class="code">\leavevmode</code>. </p> <hr> </div> -<div class="section" id="Ted-Turner"> -<div class="header"> +<div class="section-level-extent" id="Ted-Turner"> +<div class="nav-panel"> <p> Next: <a href="#Color-device-configuration" accesskey="n" rel="next">Color device configuration</a>, Previous: <a href="#Color-subtleties" accesskey="p" rel="prev">Color subtleties</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Printing-in-black_002fwhite-after-colorizing"></span><h3 class="section">7.4 Printing in black/white after colorizing</h3> +<h3 class="section" id="Printing-in-black_002fwhite-after-colorizing">7.4 Printing in black/white after colorizing</h3> <p>If you have a TeX or LaTeX document written with color macros and you want to print it in black and white there are two options. On all (good) PostScript devices, printing a color file will print in corresponding gray levels. This is useful to get a rough idea of the colors without using expensive color printing devices. The second -option is to replace the call to input <samp>colordvi.tex</samp> with -‘<samp>blackdvi.tex</samp>’ (and similarly for the ‘<samp>.sty</samp>’ files). So in -the above example, replacing the word ‘<samp>colordvi</samp>’ with -‘<samp>blackdvi</samp>’ suffices. <samp>blackdvi.tex</samp> defines the color macros +option is to replace the call to input <samp class="file">colordvi.tex</samp> with +‘<samp class="samp">blackdvi.tex</samp>’ (and similarly for the ‘<samp class="samp">.sty</samp>’ files). So in +the above example, replacing the word ‘<samp class="samp">colordvi</samp>’ with +‘<samp class="samp">blackdvi</samp>’ suffices. <samp class="file">blackdvi.tex</samp> defines the color macros as no-ops, and so will produce normal black/white printing. By this simple mechanism, the user can switch to all black/white printing without having to ferret out the color commands. Also, some device @@ -5189,152 +5187,152 @@ compatible with some form of color support. <hr> </div> -<div class="section" id="Color-device-configuration"> -<div class="header"> +<div class="section-level-extent" id="Color-device-configuration"> +<div class="nav-panel"> <p> Next: <a href="#Color-support-details" accesskey="n" rel="next">Color support details</a>, Previous: <a href="#Ted-Turner" accesskey="p" rel="prev">Printing in black/white after colorizing</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-device-configuration-1"></span><h3 class="section">7.5 Color device configuration</h3> +<h3 class="section" id="Color-device-configuration-1">7.5 Color device configuration</h3> -<span id="index-color-configuration"></span> -<span id="index-configuration_002c-of-color-devices"></span> +<a class="index-entry-id" id="index-color-configuration"></a> +<a class="index-entry-id" id="index-configuration_002c-of-color-devices"></a> <p>To configure Dvips for a particular color device you need to fine tune the color parameters to match your device’s color rendition. To do this, you will need a Pantone chart for your device. The header file -‘<samp>color.lpro</samp>’ shows a (rough) correspondence between the Crayola +‘<samp class="samp">color.lpro</samp>’ shows a (rough) correspondence between the Crayola crayon names and the Pantone numbers and also defines default CMYK values for each of the colors. Note that these colors must be defined in CMYK terms and not RGB, as Dvips outputs PostScript color commands in CMYK. This header file also defines (if they are not known to the -interpreter) the PostScript commands ‘<samp>setcmykcolor</samp>’ and -‘<samp>currentcmykcolor</samp>’ in terms of a RGB equivalent so if your device +interpreter) the PostScript commands ‘<samp class="samp">setcmykcolor</samp>’ and +‘<samp class="samp">currentcmykcolor</samp>’ in terms of a RGB equivalent so if your device only understands RGB, there should be no problem. </p> -<span id="index-Phaser-printer_002c-used-for-color-calibration"></span> -<span id="index-Tektronix-Phaser-printer_002c-used-for-color-calibration"></span> +<a class="index-entry-id" id="index-Phaser-printer_002c-used-for-color-calibration"></a> +<a class="index-entry-id" id="index-Tektronix-Phaser-printer_002c-used-for-color-calibration"></a> <p>The parameters set in this file were determined by comparing the Pantone chart of a Tektronix Phaser printer with the actual Crayola Crayons. Because these were defined for a particular device, the actual color rendition on your device may be very different. There are two ways to adjust this. One is to use the PAntone chart for your device to rewrite -‘<samp>color.lpro</samp>’ prior to compilation and installation. A better +‘<samp class="samp">color.lpro</samp>’ prior to compilation and installation. A better alternative, which supports multiple devices, is to add a header file -option in the configuration file (see <a href="#Configuration-file-commands">Configuration file commands</a>) -for each device that defines, in ‘<samp>userdict</samp>’, the color parameters +option in the configuration file (see <a class="pxref" href="#Configuration-file-commands">Configuration file commands</a>) +for each device that defines, in ‘<samp class="samp">userdict</samp>’, the color parameters for those colors that need redefining. </p> <p>For example, if you need to change the parameters defining -‘<samp>Goldenrod</samp>’ (approximately Pantone 109 on the Phaser) for your -device ‘<samp>mycolordev</samp>’, do the following. In the Pantone chart for +‘<samp class="samp">Goldenrod</samp>’ (approximately Pantone 109 on the Phaser) for your +device ‘<samp class="samp">mycolordev</samp>’, do the following. In the Pantone chart for your device, find the CMYK values for Pantone 109. Let’s say they are -‘<samp>{\ 0 0.10 0.75 0.03 }</samp>’. Then create a header file named -‘<samp>mycolordev.pro</samp>’ with the commands +‘<samp class="samp">{\ 0 0.10 0.75 0.03 }</samp>’. Then create a header file named +‘<samp class="samp">mycolordev.pro</samp>’ with the commands </p> <div class="example"> -<pre class="example">userdict begin +<pre class="example-preformatted">userdict begin /Goldenrod { 0 0.10 0.75 0.03 setcmykcolor} bind def </pre></div> -<p>Finally, in ‘<samp>config.mycolordev</samp>’ add the line +<p>Finally, in ‘<samp class="samp">config.mycolordev</samp>’ add the line </p> <div class="example"> -<pre class="example">h mycolordev.pro +<pre class="example-preformatted">h mycolordev.pro </pre></div> -<p>This will then define ‘<samp>Goldenrod</samp>’ in your device’s CMYK values in -<samp>userdict</samp> which is checked before defining it in <samp>TeXdict</samp> by -<samp>color.pro</samp>. (On MS-DOS, you will have to call this file -<samp>mycolordev.cfg</samp>.) +<p>This will then define ‘<samp class="samp">Goldenrod</samp>’ in your device’s CMYK values in +<samp class="file">userdict</samp> which is checked before defining it in <samp class="file">TeXdict</samp> by +<samp class="file">color.pro</samp>. (On MS-DOS, you will have to call this file +<samp class="file">mycolordev.cfg</samp>.) </p> -<p>This mechanism, together with additions to <samp>colordvi.tex</samp> and -<samp>blackdvi.tex</samp> (and the ‘<samp>.sty</samp>’ files), can also be used to +<p>This mechanism, together with additions to <samp class="file">colordvi.tex</samp> and +<samp class="file">blackdvi.tex</samp> (and the ‘<samp class="samp">.sty</samp>’ files), can also be used to predefine other colors for your users. </p> <hr> </div> -<div class="section" id="Color-support-details"> -<div class="header"> +<div class="section-level-extent" id="Color-support-details"> +<div class="nav-panel"> <p> Previous: <a href="#Color-device-configuration" accesskey="p" rel="prev">Color device configuration</a>, Up: <a href="#Color" accesskey="u" rel="up">Color</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-support-details-1"></span><h3 class="section">7.6 Color support details</h3> +<h3 class="section" id="Color-support-details-1">7.6 Color support details</h3> <p>To support color, Dvips recognizes a certain set of specials. These -specials start with the keyword ‘<samp>color</samp>’ or the keyword -‘<samp>background</samp>’, followed by a color specification. +specials start with the keyword ‘<samp class="samp">color</samp>’ or the keyword +‘<samp class="samp">background</samp>’, followed by a color specification. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Color-specifications" accesskey="1">Color specifications</a></li> <li><a href="#Color-specials" accesskey="2">Color specials</a></li> </ul> <hr> -<div class="subsection" id="Color-specifications"> -<div class="header"> +<div class="subsection-level-extent" id="Color-specifications"> +<div class="nav-panel"> <p> Next: <a href="#Color-specials" accesskey="n" rel="next">Color specials</a>, Up: <a href="#Color-support-details" accesskey="u" rel="up">Color support details</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-specifications-1"></span><h4 class="subsection">7.6.1 Color specifications</h4> +<h4 class="subsection" id="Color-specifications-1">7.6.1 Color specifications</h4> -<span id="index-color-specifications"></span> +<a class="index-entry-id" id="index-color-specifications"></a> <p>What is a color specification? One of three things. First, it might be a PostScript procedure as defined in a PostScript header file. The -<samp>color.pro</samp> file defines 64 of these, including ‘<samp>Maroon</samp>’. +<samp class="file">color.pro</samp> file defines 64 of these, including ‘<samp class="samp">Maroon</samp>’. This PostScript procedure must set the current color to be some value; -in this case, ‘<samp>Maroon</samp>’ is defined as ‘<samp>0 0.87 0.68 0.32 +in this case, ‘<samp class="samp">Maroon</samp>’ is defined as ‘<samp class="samp">0 0.87 0.68 0.32 setcmykcolor</samp>’. </p> <p>The second possibility is the name of a color model (initially, one of -‘<samp>rgb</samp>’, ‘<samp>hsb</samp>’, ‘<samp>cmyk</samp>’, or ‘<samp>gray</samp>’) followed by the +‘<samp class="samp">rgb</samp>’, ‘<samp class="samp">hsb</samp>’, ‘<samp class="samp">cmyk</samp>’, or ‘<samp class="samp">gray</samp>’) followed by the appropriate number of parameters. When Dvips encounters such a macro, it sends out the parameters first, followed by the string created by -prefixing ‘<samp>TeXcolor</samp>’ to the color model. Thus, the color -specification ‘<samp>rgb 0.3 0.4 0.5</samp>’ would generate the PostScript code -‘<samp>0.3 0.4 0.5 TeXrgbcolor</samp>’. Note that the case of zero arguments is +prefixing ‘<samp class="samp">TeXcolor</samp>’ to the color model. Thus, the color +specification ‘<samp class="samp">rgb 0.3 0.4 0.5</samp>’ would generate the PostScript code +‘<samp class="samp">0.3 0.4 0.5 TeXrgbcolor</samp>’. Note that the case of zero arguments is disallowed, as that is handled by the single keyword case -(‘<samp>Maroon</samp>’) above, where no changes to the name are made before it +(‘<samp class="samp">Maroon</samp>’) above, where no changes to the name are made before it is sent to the PostScript file. </p> <p>The third and final type of color specification is a double quote followed by any sequence of PostScript. The double quote is stripped from the output. For instance, the color specification -‘<samp>"AggiePattern setpattern</samp>’ will set the ‘color’ to the Aggie logo +‘<samp class="samp">"AggiePattern setpattern</samp>’ will set the ‘color’ to the Aggie logo pattern (assuming such exists.) </p> <hr> </div> -<div class="subsection" id="Color-specials"> -<div class="header"> +<div class="subsection-level-extent" id="Color-specials"> +<div class="nav-panel"> <p> Previous: <a href="#Color-specifications" accesskey="p" rel="prev">Color specifications</a>, Up: <a href="#Color-support-details" accesskey="u" rel="up">Color support details</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Color-specials-1"></span><h4 class="subsection">7.6.2 Color specials</h4> +<h4 class="subsection" id="Color-specials-1">7.6.2 Color specials</h4> -<p>We will describe ‘<samp>background</samp>’ first, since it is the simplest. The -‘<samp>background</samp>’ keyword must be followed by a color specification. +<p>We will describe ‘<samp class="samp">background</samp>’ first, since it is the simplest. The +‘<samp class="samp">background</samp>’ keyword must be followed by a color specification. That color specification is used as a fill color for the background. -The last ‘<samp>background</samp>’ special on a page is the one that gets +The last ‘<samp class="samp">background</samp>’ special on a page is the one that gets issued, and it gets issued at the very beginning of the page, before any text or specials are sent. (This is possible because the prescan phase of Dvips notices all of the color specials so that the appropriate information can be written out during the second phase.) </p> -<p>The ‘<samp>color</samp>’ special itself has three forms. -The first is just ‘<samp>color</samp>’ followed by a color specification. In +<p>The ‘<samp class="samp">color</samp>’ special itself has three forms. +The first is just ‘<samp class="samp">color</samp>’ followed by a color specification. In this case, the current global color is set to that color; the color stack must be empty when such a command is executed. </p> -<p>The second form is ‘<samp>color push</samp>’ followed by a color specification. +<p>The second form is ‘<samp class="samp">color push</samp>’ followed by a color specification. This saves the current color on the color stack and sets the color to be that given by the color specification. This is the most common way to set a color. </p> -<p>The final version of the ‘<samp>color</samp>’ special is just ‘<samp>color pop</samp>’, +<p>The final version of the ‘<samp class="samp">color</samp>’ special is just ‘<samp class="samp">color pop</samp>’, with no color specification; this says to pop the color last pushed on the color stack from the color stack and set the current color to be that color. @@ -5347,9 +5345,9 @@ as well as simple colors. However, note that in the PostScript, only one color specification can be active at a time. For instance, at the beginning of a page, only the bottommost entry on the color stack is sent; also, when a color is popped, all that is done is that the color -specification from the previous stack entry is sent. No ‘<samp>gsave</samp>’ or -‘<samp>grestore</samp>’ is used. This means that you cannot easily mix usage of -the ‘<samp>color</samp>’ specials for screens and colors, just one or the other. +specification from the previous stack entry is sent. No ‘<samp class="samp">gsave</samp>’ or +‘<samp class="samp">grestore</samp>’ is used. This means that you cannot easily mix usage of +the ‘<samp class="samp">color</samp>’ specials for screens and colors, just one or the other. This may be addressed in the future by adding support for different categories of color-like state. </p> @@ -5358,967 +5356,969 @@ categories of color-like state. </div> </div> </div> -<div class="unnumbered" id="Index"> -<div class="header"> +<div class="unnumbered-level-extent" id="Index"> +<div class="nav-panel"> <p> Previous: <a href="#Color" accesskey="p" rel="prev">Color</a>, Up: <a href="#Top" accesskey="u" rel="up">Dvips</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> +<h2 class="unnumbered" id="Index-1">Index</h2> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a> +<div class="printindex cp-printindex"> +<table class="cp-letters-header-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>"</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>"</b></a> -<a class="summary-letter" href="#Index_cp_symbol-3"><b>%</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>%</b></a> -<a class="summary-letter" href="#Index_cp_symbol-4"><b>(</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>(</b></a> -<a class="summary-letter" href="#Index_cp_symbol-5"><b>+</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>+</b></a> -<a class="summary-letter" href="#Index_cp_symbol-6"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>-</b></a> -<a class="summary-letter" href="#Index_cp_symbol-7"><b>.</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>.</b></a> -<a class="summary-letter" href="#Index_cp_symbol-8"><b>/</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>/</b></a> -<a class="summary-letter" href="#Index_cp_symbol-9"><b>6</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>6</b></a> -<a class="summary-letter" href="#Index_cp_symbol-10"><b>8</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>8</b></a> -<a class="summary-letter" href="#Index_cp_symbol-11"><b><</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b><</b></a> -<a class="summary-letter" href="#Index_cp_symbol-12"><b>=</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>=</b></a> -<a class="summary-letter" href="#Index_cp_symbol-13"><b>@</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>@</b></a> -<a class="summary-letter" href="#Index_cp_symbol-14"><b>\</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-14"><b>\</b></a> -<a class="summary-letter" href="#Index_cp_symbol-15"><b>|</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-15"><b>|</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-J"><b>J</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-J"><b>J</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Y"><b>Y</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Y"><b>Y</b></a> -<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a> </td></tr></table> -<table class="index-cp" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<table class="cp-entries-printindex" border="0"> +<tr><td></td><th class="entries-header-printindex">Index Entry</th><td> </td><th class="sections-header-printindex"> Section</th></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-1">!</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0021-special-_0028literal-PS-header_0029"><code>! <span class="roman">special (literal PS header)</span></code></a>:</td><td> </td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0021-starting-output-filename"><code>! <span class="roman">starting output filename</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021-special-_0028literal-PS-header_0029"><code>! <span class="r">special (literal PS header)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021-starting-output-filename"><code>! <span class="r">starting output filename</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-2">"</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0022-special-_0028literal-PostScript_0029"><code>" <span class="roman">special (literal PostScript)</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_0022-special">" special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0022-special-_0028literal-PostScript_0029"><code>" <span class="r">special (literal PostScript)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_0022-special">" special</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-3">%</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025BoundingBox"><code>%%BoundingBox</code></a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-and-multi_002dpage-information"><code>%%Page<span class="roman">, and multi-page information</span></code></a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-not-generating"><code>%%Page<span class="roman">, not generating</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-removing"><code>%%Page<span class="roman">, removing</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025Page_002c-required-by-Ghostview"><code>%%Page<span class="roman">, required by Ghostview</span></code></a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025Title"><code>%%Title</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0025VMusage"><code>%%VMusage</code></a>:</td><td> </td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_002aFont"><code>%*Font</code></a>:</td><td> </td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025BoundingBox"><code>%%BoundingBox</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-and-multi_002dpage-information"><code>%%Page<span class="r">, and multi-page information</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-not-generating"><code>%%Page<span class="r">, not generating</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-removing"><code>%%Page<span class="r">, removing</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Page_002c-required-by-Ghostview"><code>%%Page<span class="r">, required by Ghostview</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025Title"><code>%%Title</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0025VMusage"><code>%%VMusage</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_002aFont"><code>%*Font</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-4">(</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0028atend_0029_002c-bounding-box-specification"><code>(atend)<span class="roman">, bounding box specification</span></code></a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0028atend_0029_002c-bounding-box-specification"><code>(atend)<span class="r">, bounding box specification</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-5">+</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002bpsmapfile"><code>+<var>psmapfile</var></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002bpsmapfile"><code>+<var class="var">psmapfile</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-6">-</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d"><code>-</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d-as-output-filename"><code>- <span class="roman">as output filename</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td> </td><td valign="top"><a href="#Option-summary">Option summary</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp-1"><code>--help</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002da"><code>-a</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dA"><code>-A</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002da-1"><code>-a</code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dB"><code>-B</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002db-num"><code>-b <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dbitmapfontenc-option"><code>-bitmapfontenc <var>option</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dc-num"><code>-c <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dC-num"><code>-C <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dc-ratio"><code>-c <var>ratio</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dd-num"><code>-d <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dD-num"><code>-D <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dE"><code>-E</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002de-num"><code>-e <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002de-ratio"><code>-e <var>ratio</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002df"><code>-f</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dF"><code>-F</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dG"><code>-G</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dh-name"><code>-h <var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002di"><code>-i</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dj-for-partial-font-downloading"><code>-j <span class="roman">for partial font downloading</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dK"><code>-K</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dk-for-cropmarks"><code>-k <span class="roman">for cropmarks</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dL"><code>-L</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d"><code>-l [=]<var>num</var>[.<var>pageseq</var>]</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dlandscaperotate"><code>-landscaperotate</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dm"><code>-m</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dM"><code>-M</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmode-mode"><code>-mode <var>mode</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dN"><code>-N</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dn-num"><code>-n <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dnoomega"><code>-noomega</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dnoptex"><code>-noptex</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dO"><code>-O</code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002do-name"><code>-o <var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dO-x_002doffset_002cy_002doffset"><code>-O <var>x-offset</var>,<var>y-offset</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dP-printer"><code>-P <var>printer</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dp-ps_002denc"><code>-p <var>ps-enc</var></code></a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dp-ps_002denc-1"><code>-p <var>ps-enc</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d"><code>-p [=]<var>num</var>[.<var>pageseq</var>]</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dpp-first_002dlast"><code>-pp <var>first</var>-<var>last</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dpp-range"><code>-pp <var>range</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dPprinter_002c-and-config-file-searching"><code>-P<var>printer</var><span class="roman">, and config file searching</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dq"><code>-q</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dr"><code>-r</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dR"><code>-R</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ds"><code>-s</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dS-num"><code>-S <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ds-slant"><code>-s <var>slant</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dT-enc_002dfile"><code>-T <var>enc-file</var></code></a>:</td><td> </td><td valign="top"><a href="#Changing-both-encodings">Changing both encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dT-hsize_002cvsize"><code>-T <var>hsize</var>,<var>vsize</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dt-papertype"><code>-t <var>papertype</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dT-ps_002dtex_002denc"><code>-T <var>ps-tex-enc</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dt-tex_002denc"><code>-t <var>tex-enc</var></code></a>:</td><td> </td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dt-tex_002denc-1"><code>-t <var>tex-enc</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dtitle-str"><code>-title <var>str</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dU"><code>-U</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002du"><code>-u</code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002du-psmapfile"><code>-u <var>psmapfile</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dv"><code>-v</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dV"><code>-V</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dv-vpl_002dfile"><code>-v <var>vpl-file</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dV-vpl_002dfile"><code>-V <var>vpl-file</var></code></a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dx-num"><code>-x <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dX-num"><code>-X <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dY-num"><code>-Y <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dz"><code>-z</code></a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dZ-for-compressing-bitmap-fonts"><code>-Z <span class="roman">for compressing bitmap fonts</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dz-for-recognizing-hyperdvi"><code>-z <span class="roman">for recognizing hyperdvi</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d"><code>-</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d-as-output-filename"><code>- <span class="r">as output filename</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-summary">Option summary</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp-1"><code>--help</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002da"><code>-a</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dA"><code>-A</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002da-1"><code>-a</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dB"><code>-B</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002db-num"><code>-b <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dbitmapfontenc-option"><code>-bitmapfontenc <var class="var">option</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dc-num"><code>-c <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dC-num"><code>-C <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dc-ratio"><code>-c <var class="var">ratio</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dd-num"><code>-d <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dD-num"><code>-D <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dE"><code>-E</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002de-num"><code>-e <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002de-ratio"><code>-e <var class="var">ratio</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002df"><code>-f</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dF"><code>-F</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dG"><code>-G</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dh-name"><code>-h <var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002di"><code>-i</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dj-for-partial-font-downloading"><code>-j <span class="r">for partial font downloading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dK"><code>-K</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dk-for-cropmarks"><code>-k <span class="r">for cropmarks</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dL"><code>-L</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dl-_005b_003d_005dnum_005b_002epageseq_005d"><code>-l [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dlandscaperotate"><code>-landscaperotate</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dm"><code>-m</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dM"><code>-M</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmode-mode"><code>-mode <var class="var">mode</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dN"><code>-N</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dn-num"><code>-n <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dnoomega"><code>-noomega</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dnoptex"><code>-noptex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dO"><code>-O</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002do-name"><code>-o <var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dO-x_002doffset_002cy_002doffset"><code>-O <var class="var">x-offset</var>,<var class="var">y-offset</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dP-printer"><code>-P <var class="var">printer</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dp-ps_002denc"><code>-p <var class="var">ps-enc</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dp-ps_002denc-1"><code>-p <var class="var">ps-enc</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dp-_005b_003d_005dnum_005b_002epageseq_005d"><code>-p [=]<var class="var">num</var>[.<var class="var">pageseq</var>]</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dpp-first_002dlast"><code>-pp <var class="var">first</var>-<var class="var">last</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dpp-range"><code>-pp <var class="var">range</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dPprinter_002c-and-config-file-searching"><code>-P<var class="var">printer</var><span class="r">, and config file searching</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dq"><code>-q</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dr"><code>-r</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dR"><code>-R</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ds"><code>-s</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dS-num"><code>-S <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ds-slant"><code>-s <var class="var">slant</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT-enc_002dfile"><code>-T <var class="var">enc-file</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-both-encodings">Changing both encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT-hsize_002cvsize"><code>-T <var class="var">hsize</var>,<var class="var">vsize</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dt-papertype"><code>-t <var class="var">papertype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT-ps_002dtex_002denc"><code>-T <var class="var">ps-tex-enc</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dt-tex_002denc"><code>-t <var class="var">tex-enc</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dt-tex_002denc-1"><code>-t <var class="var">tex-enc</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dtitle-str"><code>-title <var class="var">str</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dU"><code>-U</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002du"><code>-u</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002du-psmapfile"><code>-u <var class="var">psmapfile</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dv"><code>-v</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dV"><code>-V</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dv-vpl_002dfile"><code>-v <var class="var">vpl-file</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dV-vpl_002dfile"><code>-V <var class="var">vpl-file</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dx-num"><code>-x <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dX-num"><code>-X <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dY-num"><code>-Y <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dz"><code>-z</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dZ-for-compressing-bitmap-fonts"><code>-Z <span class="r">for compressing bitmap fonts</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dz-for-recognizing-hyperdvi"><code>-z <span class="r">for recognizing hyperdvi</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-7">.</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002e_002e_002drelative-filenames"><samp>..</samp>-relative filenames</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eafm-Adobe-metric-files"><code>.afm <span class="roman">Adobe metric files</span></code></a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002edvipsrc_002c-searched-for"><code>.dvipsrc<span class="roman">, searched for</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eenc-extension-for-encoding-vectors"><code>.enc <span class="roman">extension for encoding vectors</span></code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002elpro-long-prologue-files"><code>.lpro <span class="roman">long prologue files</span></code></a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emf-Metafont-source-files"><code>.mf <span class="roman">Metafont source files</span></code></a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ennnpk-packed-font-bitmaps"><code>.<var>nnn</var>pk <span class="roman">packed font bitmaps</span></code></a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfa-extension-required-for-partial-downloading"><code>.pfa <span class="roman">extension required for partial downloading</span></code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfa-printer-font-ascii-files"><code>.pfa <span class="roman">printer font ascii files</span></code></a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfb-extension-required-for-partial-downloading"><code>.pfb <span class="roman">extension required for partial downloading</span></code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfb-printer-font-binary-files"><code>.pfb <span class="roman">printer font binary files</span></code></a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfm-printer-font-metric-files"><code>.pfm <span class="roman">printer font metric files</span></code></a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epl-property-list-files"><code>.pl <span class="roman">property list files</span></code></a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epro-prologue-files"><code>.pro <span class="roman">prologue files</span></code></a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etfm-TeX-font-metric-files"><code>.tfm <span class="roman">TeX font metric files</span></code></a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e_002e_002drelative-filenames"><samp class="file">..</samp>-relative filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eafm-Adobe-metric-files"><code>.afm <span class="r">Adobe metric files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002edvipsrc_002c-searched-for"><code>.dvipsrc<span class="r">, searched for</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eenc-extension-for-encoding-vectors"><code>.enc <span class="r">extension for encoding vectors</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002elpro-long-prologue-files"><code>.lpro <span class="r">long prologue files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emf-Metafont-source-files"><code>.mf <span class="r">Metafont source files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ennnpk-packed-font-bitmaps"><code>.<var class="var">nnn</var>pk <span class="r">packed font bitmaps</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfa-extension-required-for-partial-downloading"><code>.pfa <span class="r">extension required for partial downloading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfa-printer-font-ascii-files"><code>.pfa <span class="r">printer font ascii files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfb-extension-required-for-partial-downloading"><code>.pfb <span class="r">extension required for partial downloading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfb-printer-font-binary-files"><code>.pfb <span class="r">printer font binary files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfm-printer-font-metric-files"><code>.pfm <span class="r">printer font metric files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epl-property-list-files"><code>.pl <span class="r">property list files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epro-prologue-files"><code>.pro <span class="r">prologue files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etfm-TeX-font-metric-files"><code>.tfm <span class="r">TeX font metric files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-8">/</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002f_0023copies"><code>/#copies</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002f_0023copies-1"><code>/#copies</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002fmagscale"><code>/magscale</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_0023copies"><code>/#copies</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_0023copies-1"><code>/#copies</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fmagscale"><code>/magscale</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-9">6</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-612-792-bounding-box-size"><code>612 792 <span class="roman">bounding box size</span></code></a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-612-792-bounding-box-size"><code>612 792 <span class="r">bounding box size</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-10">8</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-8r-encoding_002c-and-extra-characters"><code>8r <span class="roman">encoding, and extra characters</span></code></a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-8r-font-encoding">8r font encoding</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-8r_002eenc"><code>8r.enc</code></a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8r-encoding_002c-and-extra-characters"><code>8r <span class="r">encoding, and extra characters</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8r-font-encoding">8r font encoding</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8r_002eenc"><code>8r.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-11"><</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003c-font-downloading"><code>< <span class="roman">font downloading</span></code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003c_003c-whole-font-downloading"><code><< <span class="roman">whole font downloading</span></code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003c_005b-encoding-vector-downloading"><code><[ <span class="roman">encoding vector downloading</span></code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003c-font-downloading"><code>< <span class="r">font downloading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003c_003c-whole-font-downloading"><code><< <span class="r">whole font downloading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003c_005b-encoding-vector-downloading"><code><[ <span class="r">encoding vector downloading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-12">=</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003d_003a-ligature-operation"><code>=: <span class="roman">ligature operation</span></code></a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003d_003a-ligature-operation"><code>=: <span class="r">ligature operation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-13">@</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0040-config-command-_0028define-paper-sizes_0029"><code>@ <span class="roman">config command (define paper sizes)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0040-config-command-_0028define-paper-sizes_0029"><code>@ <span class="r">config command (define paper sizes)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-14">\</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005c_002e"><code>\.</code></a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cAA"><code>\AA</code></a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cColorName"><code>\<var>ColorName</var></code></a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cdot"><code>\dot</code></a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cepsffile-macro"><code>\epsffile <span class="roman">macro</span></code></a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cepsfsize"><code>\epsfsize</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cepsfverbosetrue"><code>\epsfverbosetrue</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cepsfxsize"><code>\epsfxsize</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cepsfysize"><code>\epsfysize</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cH"><code>\H</code></a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cincludegraphics-LaTeX-macro">\includegraphics LaTeX macro</a>:</td><td> </td><td valign="top"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cleavevmode"><code>\leavevmode</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cmagnification"><code>\magnification</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005crotninety"><code>\rotninety</code></a>:</td><td> </td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005ctextColorName"><code>\text<var>ColorName</var></code></a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005c_002e"><code>\.</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cAA"><code>\AA</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cColorName"><code>\<var class="var">ColorName</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cdot"><code>\dot</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsffile-macro"><code>\epsffile <span class="r">macro</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfsize"><code>\epsfsize</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfverbosetrue"><code>\epsfverbosetrue</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfxsize"><code>\epsfxsize</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cepsfysize"><code>\epsfysize</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cH"><code>\H</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cincludegraphics-LaTeX-macro">\includegraphics LaTeX macro</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cleavevmode"><code>\leavevmode</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cmagnification"><code>\magnification</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005crotninety"><code>\rotninety</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ctextColorName"><code>\text<var class="var">ColorName</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-15">|</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_007c-starting-output-filename"><code>| <span class="roman">starting output filename</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_007c-starting-output-filename"><code>| <span class="r">starting output filename</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-a-config-command-_0028conserve-memory_0029"><code>a <span class="roman">config command (conserve memory)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-A-ring_002c-Scandinavian-letter">A ring, Scandinavian letter</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-a3-papertype">a3 papertype</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-a4-paper-size"><code>a4 <span class="roman">paper size</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-a4-papertype">a4 papertype</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-A4size-paper-size"><code>A4size <span class="roman">paper size</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-absolute-filenames_002c-disabling">absolute filenames, disabling</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and ‘<samp>-l</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and ‘<samp>-p</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-accent-height-adjustment_002c-omitting">accent height adjustment, omitting</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-accents_002c-in-wrong-position">accents, in wrong position</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-accents_002c-wrong">accents, wrong</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-accuracy-in-positioning">accuracy in positioning</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-afm-files">afm files</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-afm2tfm"><code>afm2tfm</code></a>:</td><td> </td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-afm2tfm-1"><code>afm2tfm</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-afm2tfm-options">afm2tfm options</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-after-header_002c-inserting-code">after header, inserting code</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Aladdin-Ghostscript">Aladdin Ghostscript</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Anderson_002c-Laurie">Anderson, Laurie</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-angle-_0028psfile-special-option_0029"><code>angle <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-arcs">arcs</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ASCII-character-codes_002c-used-by-PostScript">ASCII character codes, used by PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-atend_002c-bounding-box-specification"><code>atend<span class="roman">, bounding box specification</span></code></a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-a-config-command-_0028conserve-memory_0029"><code>a <span class="r">config command (conserve memory)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-A-ring_002c-Scandinavian-letter">A ring, Scandinavian letter</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-a3-papertype">a3 papertype</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-a4-paper-size"><code>a4 <span class="r">paper size</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-a4-papertype">a4 papertype</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-A4size-paper-size"><code>A4size <span class="r">paper size</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-filenames_002c-disabling">absolute filenames, disabling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dl">absolute page number, and ‘<samp class="samp">-l</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-page-number_002c-and-_002dp">absolute page number, and ‘<samp class="samp">-p</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-accent-height-adjustment_002c-omitting">accent height adjustment, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-accents_002c-in-wrong-position">accents, in wrong position</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-accents_002c-wrong">accents, wrong</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-accuracy-in-positioning">accuracy in positioning</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-afm-files">afm files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm"><code>afm2tfm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm-1"><code>afm2tfm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm-options">afm2tfm options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-after-header_002c-inserting-code">after header, inserting code</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Aladdin-Ghostscript">Aladdin Ghostscript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Anderson_002c-Laurie">Anderson, Laurie</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-angle-_0028psfile-special-option_0029"><code>angle <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-arcs">arcs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ASCII-character-codes_002c-used-by-PostScript">ASCII character codes, used by PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-atend_002c-bounding-box-specification"><code>atend<span class="r">, bounding box specification</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-b-config-command-_0028_0023copies_0029"><code>b <span class="roman">config command (#copies)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base"><code>base</code></a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-encoding_002c-recommended">base encoding, recommended</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-fonts">base fonts</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bbfig"><code>bbfig</code></a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-before-header_002c-inserting-code">before header, inserting code</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Bhattacharya_002c-Tanmoy">Bhattacharya, Tanmoy</a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-big-points">big points</a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-binary-files_002c-not-supported">binary files, not supported</a>:</td><td> </td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bitmap-font-encoding">bitmap font encoding</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bitmap-font-encodings">bitmap font encodings</a>:</td><td> </td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bitmap-fonts">bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029"><code>bitmapfontenc <span class="roman">config command (bitmap font encoding)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bop-undefined-error"><tt>bop undefined</tt> error</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bop_002dhook"><code>bop-hook</code></a>:</td><td> </td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bop_002dhook-1"><code>bop-hook</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bop_002dhook-2"><code>bop-hook</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bop_002dhook_002c-and-offset-pages"><code>bop-hook<span class="roman">, and offset pages</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-boundary-character">boundary character</a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-comment-for">bounding box, comment for</a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-defined">bounding box, defined</a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-determining">bounding box, determining</a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-finding-tight">bounding box, finding tight</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-for-bitmap-fonts">bounding box, for bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-inaccurate">bounding box, inaccurate</a>:</td><td> </td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-supplying-to-TeX">bounding box, supplying to TeX</a>:</td><td> </td><td valign="top"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bounding-box_002c-supplying-to-TeX-1">bounding box, supplying to TeX</a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-b-config-command-_0028_0023copies_0029"><code>b <span class="r">config command (#copies)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base"><code>base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-encoding_002c-recommended">base encoding, recommended</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-fonts">base fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bbfig"><code>bbfig</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-before-header_002c-inserting-code">before header, inserting code</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Bhattacharya_002c-Tanmoy">Bhattacharya, Tanmoy</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-big-points">big points</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-binary-files_002c-not-supported">binary files, not supported</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmap-font-encoding">bitmap font encoding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmap-font-encodings">bitmap font encodings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmap-fonts">bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bitmapfontenc-config-command-_0028bitmap-font-encoding_0029"><code>bitmapfontenc <span class="r">config command (bitmap font encoding)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bop-undefined-error"><code class="t">bop undefined</code> error</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook"><code>bop-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook-1"><code>bop-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook-2"><code>bop-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bop_002dhook_002c-and-offset-pages"><code>bop-hook<span class="r">, and offset pages</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-boundary-character">boundary character</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-comment-for">bounding box, comment for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-defined">bounding box, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-determining">bounding box, determining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-finding-tight">bounding box, finding tight</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-for-bitmap-fonts">bounding box, for bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-inaccurate">bounding box, inaccurate</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-supplying-to-TeX">bounding box, supplying to TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bounding-box_002c-supplying-to-TeX-1">bounding box, supplying to TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-c-config-command-_0028include-another-config-file_0029"><code>c <span class="roman">config command (include another config file)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-changing-PostScript-encodings">changing PostScript encodings</a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-changing-TeX-encodings">changing TeX encodings</a>:</td><td> </td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-definitions-in-PostScript">character definitions in PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-lookup-procedure-in-PostScript">character lookup procedure in PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CharStrings-Type-1-dictionary"><code>CharStrings <span class="roman">Type 1 dictionary</span></code></a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-clip-_0028psfile-special-option_0029"><code>clip <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-clipping-of-EPSF">clipping of EPSF</a>:</td><td> </td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CODINGSCHEME"><code>CODINGSCHEME</code></a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-collated-copies">collated copies</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color">color</a>:</td><td> </td><td valign="top"><a href="#Color">Color</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-configuration">color configuration</a>:</td><td> </td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-macros">color macros</a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-names_002c-mixed-case">color names, mixed case</a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-nesting-level">color nesting level</a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-separations">color separations</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-specifications">color specifications</a>:</td><td> </td><td valign="top"><a href="#Color-specifications">Color specifications</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color-subtleties">color subtleties</a>:</td><td> </td><td valign="top"><a href="#Color-subtleties">Color subtleties</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-colors_002c-user_002ddefinable">colors, user-definable</a>:</td><td> </td><td valign="top"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-command-line_002c-including-headers-from">command line, including headers from</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-command_002dline-options">command-line options</a>:</td><td> </td><td valign="top"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-in-configuration-files">comments, in configuration files</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-in-encoding-files">comments, in encoding files</a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-removing-included">comments, removing included</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compilation">compilation</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compressed-PostScript">compressed PostScript</a>:</td><td> </td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compressing-bitmap-fonts">compressing bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Computer-Modern-in-PostScript">Computer Modern in PostScript</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Computer-Modern_002c-encoding-of">Computer Modern, encoding of</a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-condensed-fonts">condensed fonts</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eproto"><code>config.proto</code></a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eps-installation"><code>config.ps <span class="roman">installation</span></code></a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eps-paper-sizes"><code>config.ps <span class="roman">paper sizes</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eps_002c-searched-for"><code>config.ps<span class="roman">, searched for</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file-options">configuration file options</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file-paper-size-command">configuration file paper size command</a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file-path">configuration file path</a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file-searching">configuration file searching</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-files">configuration files</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-files_002c-creating">configuration files, creating</a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-files_002c-prototype">configuration files, prototype</a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration_002c-of-color-devices">configuration, of color devices</a>:</td><td> </td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration_002c-of-Dvips">configuration, of Dvips</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-continuation-lines_002c-not-supported">continuation lines, not supported</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-control_002dD">control-D</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-coordinate-system_002c-for-bitmap-fonts">coordinate system, for bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-copies_002c-collated">copies, collated</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-copies_002c-duplicated-page-bodies">copies, duplicated page bodies</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-copies_002c-uncollated">copies, uncollated</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Crayola-crayon-box">Crayola crayon box</a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-crop_002epro"><code>crop.pro</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cropmarks">cropmarks</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-current-font_002c-in-PostScript">current font, in PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-c-config-command-_0028include-another-config-file_0029"><code>c <span class="r">config command (include another config file)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-changing-PostScript-encodings">changing PostScript encodings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-changing-TeX-encodings">changing TeX encodings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-definitions-in-PostScript">character definitions in PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-lookup-procedure-in-PostScript">character lookup procedure in PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CharStrings-Type-1-dictionary"><code>CharStrings <span class="r">Type 1 dictionary</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-clip-_0028psfile-special-option_0029"><code>clip <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-clipping-of-EPSF">clipping of EPSF</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CODINGSCHEME"><code>CODINGSCHEME</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-collated-copies">collated copies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color">color</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color">Color</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-configuration">color configuration</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-macros">color macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-names_002c-mixed-case">color names, mixed case</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-nesting-level">color nesting level</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-separations">color separations</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-specifications">color specifications</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-specifications">Color specifications</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color-subtleties">color subtleties</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-subtleties">Color subtleties</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-colors_002c-user_002ddefinable">colors, user-definable</a>:</td><td> </td><td class="printindex-index-section"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-command-line_002c-including-headers-from">command line, including headers from</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-command_002dline-options">command-line options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-configuration-files">comments, in configuration files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-encoding-files">comments, in encoding files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-removing-included">comments, removing included</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation">compilation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compressed-PostScript">compressed PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compressing-bitmap-fonts">compressing bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern-in-PostScript">Computer Modern in PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern_002c-encoding-of">Computer Modern, encoding of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-condensed-fonts">condensed fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eproto"><code>config.proto</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps-installation"><code>config.ps <span class="r">installation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps-paper-sizes"><code>config.ps <span class="r">paper sizes</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps_002c-searched-for"><code>config.ps<span class="r">, searched for</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-options">configuration file options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-paper-size-command">configuration file paper size command</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-path">configuration file path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-searching">configuration file searching</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-files">configuration files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-files_002c-creating">configuration files, creating</a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-files_002c-prototype">configuration files, prototype</a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-of-color-devices">configuration, of color devices</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-of-Dvips">configuration, of Dvips</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-continuation-lines_002c-not-supported">continuation lines, not supported</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-control_002dD">control-D</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-coordinate-system_002c-for-bitmap-fonts">coordinate system, for bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-copies_002c-collated">copies, collated</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-copies_002c-duplicated-page-bodies">copies, duplicated page bodies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-copies_002c-uncollated">copies, uncollated</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Crayola-crayon-box">Crayola crayon box</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-crop_002epro"><code>crop.pro</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cropmarks">cropmarks</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-current-font_002c-in-PostScript">current font, in PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-D-config-command-_0028dpi_0029"><code>D <span class="roman">config command (dpi)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dated-output">dated output</a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-datestamp_002c-in-output">datestamp, in output</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging">debugging</a>:</td><td> </td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-1">debugging</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-options">debugging options</a>:</td><td> </td><td valign="top"><a href="#Debug-options">Debug options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-default-resolutions">default resolutions</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-default_005ftexsizes-Make-variable"><code>default_texsizes <span class="roman">Make variable</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Deutsch_002c-Peter">Deutsch, Peter</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-device-dependency_002c-and-virtual-fonts">device dependency, and virtual fonts</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dictionary_002c-CharStrings">dictionary, <code>CharStrings</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dictionary_002c-PostScript-language">dictionary, PostScript language</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dictionary_002c-SDict">dictionary, <code>SDict</code></a>:</td><td> </td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dictionary_002c-userdict">dictionary, <code>userdict</code></a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-distillation_002c-and-_002dz">distillation, and ‘<samp>-z</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-distiller_002c-for-PDF-files">distiller, for PDF files</a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-document-title_002c-specifying">document title, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dot-accent">dot accent</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-double_002dsided-printing">double-sided printing</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-downloading-fonts-partially">downloading fonts partially</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-downloading-PostScript-fonts">downloading PostScript fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Doyle_002c-Mark">Doyle, Mark</a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-draft-copies">draft copies</a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dual-paper-trays">dual paper trays</a>:</td><td> </td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-duplex-printers">duplex printers</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-magnification">DVI magnification</a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvihps_002c-hyperdvi-to-PostScript"><code>dvihps<span class="roman">, hyperdvi to PostScript</span></code></a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Dvips-configuration-file-options">Dvips configuration file options</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvips_002dall_002eenc"><code>dvips-all.enc</code></a>:</td><td> </td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvips_002eenc"><code>dvips.enc</code></a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSDEBUG"><code>DVIPSDEBUG</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSHEADERS_002c-overrides-H"><code>DVIPSHEADERS<span class="roman">, overrides</span> H</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSRC"><code>DVIPSRC</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSSIZES_002c-overrides-R"><code>DVIPSSIZES<span class="roman">, overrides</span> R</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dynamic-creation-of-graphics">dynamic creation of graphics</a>:</td><td> </td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-D-config-command-_0028dpi_0029"><code>D <span class="r">config command (dpi)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dated-output">dated output</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-datestamp_002c-in-output">datestamp, in output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging">debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-1">debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-options">debugging options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debug-options">Debug options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-default-resolutions">default resolutions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-default_005ftexsizes-Make-variable"><code>default_texsizes <span class="r">Make variable</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Deutsch_002c-Peter">Deutsch, Peter</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-device-dependency_002c-and-virtual-fonts">device dependency, and virtual fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-CharStrings">dictionary, <code class="code">CharStrings</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-PostScript-language">dictionary, PostScript language</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-SDict">dictionary, <code class="code">SDict</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dictionary_002c-userdict">dictionary, <code class="code">userdict</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-distillation_002c-and-_002dz">distillation, and ‘<samp class="samp">-z</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-distiller_002c-for-PDF-files">distiller, for PDF files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-document-title_002c-specifying">document title, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dot-accent">dot accent</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-double_002dsided-printing">double-sided printing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-downloading-fonts-partially">downloading fonts partially</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-downloading-PostScript-fonts">downloading PostScript fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Doyle_002c-Mark">Doyle, Mark</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-draft-copies">draft copies</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dual-paper-trays">dual paper trays</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-duplex-printers">duplex printers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-magnification">DVI magnification</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvihps_002c-hyperdvi-to-PostScript"><code>dvihps<span class="r">, hyperdvi to PostScript</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Dvips-configuration-file-options">Dvips configuration file options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvips_002dall_002eenc"><code>dvips-all.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvips_002eenc"><code>dvips.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSDEBUG"><code>DVIPSDEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSHEADERS_002c-overrides-H"><code>DVIPSHEADERS<span class="r">, overrides</span> H</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSRC"><code>DVIPSRC</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSSIZES_002c-overrides-R"><code>DVIPSSIZES<span class="r">, overrides</span> R</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-creation-of-graphics">dynamic creation of graphics</a>:</td><td> </td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-e-config-command-_0028maxdrift_0029"><code>e <span class="roman">config command (maxdrift)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-E-config-command-_0028shell-escape_0029"><code>E <span class="roman">config command (shell escape)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-efficiency_002c-and-fonts">efficiency, and fonts</a>:</td><td> </td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ehandler_002eps"><code>ehandler.ps</code></a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-embedding-Type-1-fonts">embedding Type 1 fonts</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encoding-changes">encoding changes</a>:</td><td> </td><td valign="top"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encoding-file-format">encoding file format</a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encoding-files">encoding files</a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Encoding-Type-1-dictionary"><code>Encoding <span class="roman">Type 1 dictionary</span></code></a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encoding-vectors_002c-defined">encoding vectors, defined</a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encoding-vectors_002c-in-Type-1-fonts">encoding vectors, in Type 1 fonts</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encodings">encodings</a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-encodings_002c-for-bitmap-fonts">encodings, for bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-end_002dhook"><code>end-hook</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-environment-variables">environment variables</a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-EOF">EOF</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-eop_002dhook"><code>eop-hook</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-EPS_002c-and-Ghostview">EPS, and Ghostview</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-EPSF-macros">EPSF macros</a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-EPSF_002c-generating">EPSF, generating</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-epsf_002esty"><code>epsf.sty</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-epsf_002etex"><code>epsf.tex</code></a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Epson-printers">Epson printers</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-error-messages-from-printer">error messages from printer</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-even-pages-only">even pages only</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-examples-of-literal-PostScript">examples of literal PostScript</a>:</td><td> </td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expanded-fonts">expanded fonts</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expanded-fonts-1">expanded fonts</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expanded-fonts-2">expanded fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-of-virtual-fonts">expansion, of virtual fonts</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extended-URL">extended URL</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ExtendFont"><code>ExtendFont</code></a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extra-characters_002c-accessing">extra characters, accessing</a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-e-config-command-_0028maxdrift_0029"><code>e <span class="r">config command (maxdrift)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-E-config-command-_0028shell-escape_0029"><code>E <span class="r">config command (shell escape)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-efficiency_002c-and-fonts">efficiency, and fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ehandler_002eps"><code>ehandler.ps</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-embedding-Type-1-fonts">embedding Type 1 fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-changes">encoding changes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-file-format">encoding file format</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-files">encoding files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Encoding-Type-1-dictionary"><code>Encoding <span class="r">Type 1 dictionary</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-vectors_002c-defined">encoding vectors, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encoding-vectors_002c-in-Type-1-fonts">encoding vectors, in Type 1 fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encodings">encodings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-encodings_002c-for-bitmap-fonts">encodings, for bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-end_002dhook"><code>end-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables">environment variables</a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EOF">EOF</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-eop_002dhook"><code>eop-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EPS_002c-and-Ghostview">EPS, and Ghostview</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EPSF-macros">EPSF macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EPSF_002c-generating">EPSF, generating</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-epsf_002esty"><code>epsf.sty</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-epsf_002etex"><code>epsf.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Epson-printers">Epson printers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-error-messages-from-printer">error messages from printer</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-even-pages-only">even pages only</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-examples-of-literal-PostScript">examples of literal PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-fonts">expanded fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-fonts-1">expanded fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-fonts-2">expanded fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-of-virtual-fonts">expansion, of virtual fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extended-URL">extended URL</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ExtendFont"><code>ExtendFont</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extra-characters_002c-accessing">extra characters, accessing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-f-config-command-_0028filter_0029"><code>f <span class="roman">config command (filter)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-F-config-command-_0028filter_0029"><code>F <span class="roman">config command (filter)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-failure_002c-and-printer-errors">failure, and printer errors</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-failure_002c-of-long-documents">failure, of long documents</a>:</td><td> </td><td valign="top"><a href="#Long-documents-fail">Long documents fail</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-failure_002c-to-include-graphics">failure, to include graphics</a>:</td><td> </td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-failure_002c-to-print-at-all">failure, to print at all</a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-figures-and-fonts">figures and fonts</a>:</td><td> </td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-figures_002c-natural-size">figures, natural size</a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-figures_002c-scaling">figures, scaling</a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filter_002c-running-as-a">filter, running as a</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-first-page-printed">first page printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-concepts">font concepts</a>:</td><td> </td><td valign="top"><a href="#Font-concepts">Font concepts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-encodings_002c-bitmap">font encodings, bitmap</a>:</td><td> </td><td valign="top"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontinst"><code>fontinst</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-as-header-files">fonts, as header files</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-changing-encoding-of">fonts, changing encoding of</a>:</td><td> </td><td valign="top"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-downloading">fonts, downloading</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-expanded">fonts, expanded</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-in-PostScript-figures">fonts, in PostScript figures</a>:</td><td> </td><td valign="top"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-installation-of-PostScript">fonts, installation of PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-installing">fonts, installing</a>:</td><td> </td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-outlined">fonts, outlined</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-slanted">fonts, slanted</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-small-caps">fonts, small caps</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-system-PostScript">fonts, system PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-f-config-command-_0028filter_0029"><code>f <span class="r">config command (filter)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-F-config-command-_0028filter_0029"><code>F <span class="r">config command (filter)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-and-printer-errors">failure, and printer errors</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-of-long-documents">failure, of long documents</a>:</td><td> </td><td class="printindex-index-section"><a href="#Long-documents-fail">Long documents fail</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-to-include-graphics">failure, to include graphics</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-failure_002c-to-print-at-all">failure, to print at all</a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-figures-and-fonts">figures and fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-figures_002c-natural-size">figures, natural size</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-figures_002c-scaling">figures, scaling</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filter_002c-running-as-a">filter, running as a</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-first-page-printed">first page printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-concepts">font concepts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-concepts">Font concepts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-encodings_002c-bitmap">font encodings, bitmap</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bitmap-font-encodings">Bitmap font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-generation_002c-avoiding">font generation, avoiding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontinst"><code>fontinst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-as-header-files">fonts, as header files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-changing-encoding-of">fonts, changing encoding of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-font-encodings">Changing font encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-downloading">fonts, downloading</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-expanded">fonts, expanded</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-in-PostScript-figures">fonts, in PostScript figures</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fonts-in-figures">Fonts in figures</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-installation-of-PostScript">fonts, installation of PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-installing">fonts, installing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-outlined">fonts, outlined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-slanted">fonts, slanted</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-small-caps">fonts, small caps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-system-PostScript">fonts, system PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-G-config-command-_0028character-shifting_0029"><code>G <span class="roman">config command (character shifting)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gf-files">gf files</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gftopk"><code>gftopk</code></a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Ghostscript-installation">Ghostscript installation</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ghostview"><code>ghostview</code></a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Ghostview_002c-and-no-N">Ghostview, and no ‘<samp>N</samp>’</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glyph-files">glyph files</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GLYPHFONTS_002c-overrides-P"><code>GLYPHFONTS<span class="roman">, overrides</span> P</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gnuplot"><code>gnuplot</code></a>:</td><td> </td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-graphics-inclusion-fails">graphics inclusion fails</a>:</td><td> </td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gs-installation"><code>gs <span class="roman">installation</span></code></a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gsave_002fgrestore_002c-and-literal-PS"><code>gsave<span class="roman">/</span>grestore<span class="roman">, and literal PS</span></code></a>:</td><td> </td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gsftopk"><code>gsftopk</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-G-config-command-_0028character-shifting_0029"><code>G <span class="r">config command (character shifting)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gf-files">gf files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gftopk"><code>gftopk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Ghostscript-installation">Ghostscript installation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ghostview"><code>ghostview</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Ghostview_002c-and-no-N">Ghostview, and no ‘<samp class="samp">N</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-files">glyph files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GLYPHFONTS_002c-overrides-P"><code>GLYPHFONTS<span class="r">, overrides</span> P</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gnuplot"><code>gnuplot</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-graphics-inclusion-fails">graphics inclusion fails</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gs-installation"><code>gs <span class="r">installation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gsave_002fgrestore_002c-and-literal-PS"><code>gsave<span class="r">/</span>grestore<span class="r">, and literal PS</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gsftopk"><code>gsftopk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-h-config-command-_0028download-additional-header_0029"><code>h <span class="roman">config command (download additional header)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-H-config-command-_0028PostScript-header-path_0029"><code>H <span class="roman">config command (PostScript header path)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Hafner_002c-Jim">Hafner, Jim</a>:</td><td> </td><td valign="top"><a href="#Color">Color</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-header-file_002c-downloading">header file, downloading</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-header-files_002c-defined">header files, defined</a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-header-path_002c-defining">header path, defining</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-header_003dfile-_005cspecial"><code>header=<var>file</var> \special</code></a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-headers-and-memory-usage">headers and memory usage</a>:</td><td> </td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-headers_002c-including-from-the-command-line">headers, including from the command line</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-headers_002c-including-in-TeX">headers, including in TeX</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hints">hints</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hoffset-_0028psfile-special-option_0029"><code>hoffset <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-HP4Si-printer-and-paper-trays">HP4Si printer and paper trays</a>:</td><td> </td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-href"><code>href</code></a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hscale-_0028psfile-special-option_0029"><code>hscale <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hsize-_0028psfile-special-option_0029"><code>hsize <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-html-specials"><code>html <span class="roman">specials</span></code></a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-html-specials_002c-and-_002dz"><code>html <span class="roman">specials, and ‘<samp>-z</samp>’</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Hungarian-umlaut">Hungarian umlaut</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hyperdvi-extensions_002c-enabling">hyperdvi extensions, enabling</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hypertext-and-bitmap-fonts">hypertext and bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hypertext-caveats">hypertext caveats</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hypertext-caveats-1">hypertext caveats</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hypertext-specials">hypertext specials</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hypertext-support">hypertext support</a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-h-config-command-_0028download-additional-header_0029"><code>h <span class="r">config command (download additional header)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-H-config-command-_0028PostScript-header-path_0029"><code>H <span class="r">config command (PostScript header path)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Hafner_002c-Jim">Hafner, Jim</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color">Color</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-header-file_002c-downloading">header file, downloading</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-header-files_002c-defined">header files, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-header-path_002c-defining">header path, defining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-header_003dfile-_005cspecial"><code>header=<var class="var">file</var> \special</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-headers-and-memory-usage">headers and memory usage</a>:</td><td> </td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-headers_002c-including-from-the-command-line">headers, including from the command line</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-headers_002c-including-in-TeX">headers, including in TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hints">hints</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hoffset-_0028psfile-special-option_0029"><code>hoffset <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-HP4Si-printer-and-paper-trays">HP4Si printer and paper trays</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-href"><code>href</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hscale-_0028psfile-special-option_0029"><code>hscale <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hsize-_0028psfile-special-option_0029"><code>hsize <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-html-specials"><code>html <span class="r">specials</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-html-specials_002c-and-_002dz"><code>html <span class="r">specials, and ‘<samp class="samp">-z</samp>’</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Hungarian-umlaut">Hungarian umlaut</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hyperdvi-extensions_002c-enabling">hyperdvi extensions, enabling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-and-bitmap-fonts">hypertext and bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-caveats">hypertext caveats</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-caveats-1">hypertext caveats</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-specials">hypertext specials</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext-support">hypertext support</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-i-config-command-_0028pages_002fsection_0029"><code>i <span class="roman">config command (pages/section)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Illustrator_002c-workaround-for">Illustrator, workaround for</a>:</td><td> </td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-img"><code>img</code></a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-including-graphics-fails">including graphics fails</a>:</td><td> </td><td valign="top"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-including-headers-from-the-command-line">including headers from the command line</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-including-headers-in-TeX">including headers in TeX</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installation-of-config_002eps">installation of <samp>config.ps</samp></a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installation-of-PostScript-fonts">installation of PostScript fonts</a>:</td><td> </td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installation_002c-of-Dvips">installation, of Dvips</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installing-fonts">installing fonts</a>:</td><td> </td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-interaction-with-PostScript">interaction with PostScript</a>:</td><td> </td><td valign="top"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-inverted-output">inverted output</a>:</td><td> </td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-invoking-Dvips">invoking Dvips</a>:</td><td> </td><td valign="top"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-i-config-command-_0028pages_002fsection_0029"><code>i <span class="r">config command (pages/section)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Illustrator_002c-workaround-for">Illustrator, workaround for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-img"><code>img</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-including-graphics-fails">including graphics fails</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-graphics-fails">Including graphics fails</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-including-headers-from-the-command-line">including headers from the command line</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-including-headers-in-TeX">including headers in TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installation-of-config_002eps">installation of <samp class="file">config.ps</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installation-of-PostScript-fonts">installation of PostScript fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installation_002c-of-Dvips">installation, of Dvips</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installing-fonts">installing fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-interaction-with-PostScript">interaction with PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-inverted-output">inverted output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-invoking-Dvips">invoking Dvips</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-J">J</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-j-config-command-_0028partial-font-downloading_0029"><code>j <span class="roman">config command (partial font downloading)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Japanese-font-metric-file">Japanese font metric file</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Jeffrey_002c-Alan">Jeffrey, Alan</a>:</td><td> </td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-JFM-file_002c-and-virtual-font-fallback">JFM file, and virtual font fallback</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-j-config-command-_0028partial-font-downloading_0029"><code>j <span class="r">config command (partial font downloading)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Japanese-font-metric-file">Japanese font metric file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Jeffrey_002c-Alan">Jeffrey, Alan</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-JFM-file_002c-and-virtual-font-fallback">JFM file, and virtual font fallback</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-K-config-command-_0028comment-removal_0029"><code>K <span class="roman">config command (comment removal)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kerning_002c-defined">kerning, defined</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-K-config-command-_0028comment-removal_0029"><code>K <span class="r">config command (comment removal)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kerning_002c-defined">kerning, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-L-config-command-_0028last-paper-size-wins_0029"><code>L <span class="roman">config command (last paper size wins)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscape-orientation_002c-defined">landscape orientation, defined</a>:</td><td> </td><td valign="top"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscape-papertype">landscape papertype</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscape_002c-as-_005cspecial"><code>landscape<span class="roman">, as <code>\special</code></span></code></a>:</td><td> </td><td valign="top"><a href="#papersize-special">‘<samp>papersize</samp>’ special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscaperotate">landscaperotate</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscaperotate-command-line-option">landscaperotate command line option</a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscaperotate-config-command"><code>landscaperotate <span class="roman">config command</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-landscaperotate-configuration-file-command">landscaperotate configuration file command</a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-last-page-printed">last page printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-last_002dresort-font-scaling_002c-with-DVIPSSIZES">last-resort font scaling, with <code>DVIPSSIZES</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-last_002dresort-scaling_002c-with-R">last-resort scaling, with <code>R</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ledger-papertype">ledger papertype</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-legal-papertype">legal papertype</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-letter-paper-size"><code>letter <span class="roman">paper size</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-letter-papertype">letter papertype</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-letterhead-tray">letterhead tray</a>:</td><td> </td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-letterSize-paper-size"><code>letterSize <span class="roman">paper size</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ligature-operations">ligature operations</a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ligature_002c-defined">ligature, defined</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LIGKERN-encoding-file-command"><code>LIGKERN <span class="roman">encoding file command</span></code></a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lines-in-figures_002c-wrong-width">lines in figures, wrong width</a>:</td><td> </td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-links_002c-hypertext">links, hypertext</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-literal-headers">literal headers</a>:</td><td> </td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-literal-PostScript_002c-examples">literal PostScript, examples</a>:</td><td> </td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-literal-PostScript_002c-using">literal PostScript, using</a>:</td><td> </td><td valign="top"><a href="#Literal-PS">Literal PS</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-llx-_0028psfile-special-option_0029"><code>llx <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lly-_0028psfile-special-option_0029"><code>lly <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-long-documents-not-printing">long documents not printing</a>:</td><td> </td><td valign="top"><a href="#Long-documents-fail">Long documents fail</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-low-characters_002c-shifting">low characters, shifting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lpr-spooler_002c-MS_002dDOS-emulation">lpr spooler, MS-DOS emulation</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-L-config-command-_0028last-paper-size-wins_0029"><code>L <span class="r">config command (last paper size wins)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscape-orientation_002c-defined">landscape orientation, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscape-papertype">landscape papertype</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscape_002c-as-_005cspecial"><code>landscape<span class="r">, as <code class="code">\special</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#papersize-special">‘<samp class="samp">papersize</samp>’ special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate">landscaperotate</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate-command-line-option">landscaperotate command line option</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate-config-command"><code>landscaperotate <span class="r">config command</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-landscaperotate-configuration-file-command">landscaperotate configuration file command</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-last-page-printed">last page printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-last_002dresort-font-scaling_002c-with-DVIPSSIZES">last-resort font scaling, with <code class="code">DVIPSSIZES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-last_002dresort-scaling_002c-with-R">last-resort scaling, with <code class="code">R</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ledger-papertype">ledger papertype</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-legal-papertype">legal papertype</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-letter-paper-size"><code>letter <span class="r">paper size</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-letter-papertype">letter papertype</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-letterhead-tray">letterhead tray</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-letterSize-paper-size"><code>letterSize <span class="r">paper size</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ligature-operations">ligature operations</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ligature_002c-defined">ligature, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LIGKERN-encoding-file-command"><code>LIGKERN <span class="r">encoding file command</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lines-in-figures_002c-wrong-width">lines in figures, wrong width</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-links_002c-hypertext">links, hypertext</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-literal-headers">literal headers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-literal-PostScript_002c-examples">literal PostScript, examples</a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-literal-PostScript_002c-using">literal PostScript, using</a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-PS">Literal PS</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-llx-_0028psfile-special-option_0029"><code>llx <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lly-_0028psfile-special-option_0029"><code>lly <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-long-documents-not-printing">long documents not printing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Long-documents-fail">Long documents fail</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-low-characters_002c-shifting">low characters, shifting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lpr-spooler_002c-MS_002dDOS-emulation">lpr spooler, MS-DOS emulation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-m-config-command-_0028available-memory_0029"><code>m <span class="roman">config command (available memory)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-M-config-command-_0028mf-mode_0029"><code>M <span class="roman">config command (mf mode)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros-for-color">macros for color</a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros-for-epsf-inclusion">macros for epsf inclusion</a>:</td><td> </td><td valign="top"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros-for-epsf-inclusion-1">macros for epsf inclusion</a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-magnification_002c-DVI">magnification, DVI</a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-magnification_002c-vertical">magnification, vertical</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mailcap-and-hypertext"><code>mailcap <span class="roman">and hypertext</span></code></a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-manual-feed">manual feed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-maxdrift">maxdrift</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-maximum-pages-printed">maximum pages printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-media">media</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-available">memory available</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-of-printer-exhausted">memory of printer exhausted</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-usage_002c-and-headers">memory usage, and headers</a>:</td><td> </td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory_002c-conserving">memory, conserving</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory_002c-used-by-PostScript-fonts">memory, used by PostScript fonts</a>:</td><td> </td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-ligature-operations">Metafont ligature operations</a>:</td><td> </td><td valign="top"><a href="#Encoding-file-format">Encoding file format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-source-files">Metafont source files</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-metric-files">metric files</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Minion-typeface-family">Minion typeface family</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Mitsubishi-Shinko-CHC_002dS446i-printer">Mitsubishi Shinko CHC-S446i printer</a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mkdvipspapers"><code>mkdvipspapers</code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="roman">, avoiding</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexpk_002c-changing-name"><code>mktexpk<span class="roman">, changing name</span></code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mtpk"><code>mtpk</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-multiple-master-fonts">multiple master fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-multiple-output-files">multiple output files</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-multiple-paper-trays">multiple paper trays</a>:</td><td> </td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Murphy_002c-Tim">Murphy, Tim</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-m-config-command-_0028available-memory_0029"><code>m <span class="r">config command (available memory)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-M-config-command-_0028mf-mode_0029"><code>M <span class="r">config command (mf mode)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros-for-color">macros for color</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros-for-epsf-inclusion">macros for epsf inclusion</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cincludegraphics">\includegraphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros-for-epsf-inclusion-1">macros for epsf inclusion</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-DVI">magnification, DVI</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-overriding-DVI">magnification, overriding DVI</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification_002c-vertical">magnification, vertical</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mailcap-and-hypertext"><code>mailcap <span class="r">and hypertext</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-manual-feed">manual feed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-maxdrift">maxdrift</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-maximum-pages-printed">maximum pages printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-media">media</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-available">memory available</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-of-printer-exhausted">memory of printer exhausted</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-usage_002c-and-headers">memory usage, and headers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory_002c-conserving">memory, conserving</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory_002c-used-by-PostScript-fonts">memory, used by PostScript fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-ligature-operations">Metafont ligature operations</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encoding-file-format">Encoding file format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-mode_002c-specifying">Metafont mode, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-source-files">Metafont source files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-metric-files">metric files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Minion-typeface-family">Minion typeface family</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Mitsubishi-Shinko-CHC_002dS446i-printer">Mitsubishi Shinko CHC-S446i printer</a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mkdvipspapers"><code>mkdvipspapers</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk_002c-avoiding"><code>mktexpk<span class="r">, avoiding</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk_002c-changing-name"><code>mktexpk<span class="r">, changing name</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-name_002c-specifying">mode name, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mtpk"><code>mtpk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-master-fonts">multiple master fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-output-files">multiple output files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-paper-trays">multiple paper trays</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Murphy_002c-Tim">Murphy, Tim</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-N--config-command-_0028disable-EPS_0029"><code>N <span class="roman"> config command (disable EPS)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-name"><code>name</code></a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-narrow-fonts">narrow fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-no-output-at-all">no output at all</a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-non_002dprinting-characters_002c-shifting">non-printing characters, shifting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-non_002dresident-fonts">non-resident fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-nopaper_002c-paper-format-for-_002dt"><code>nopaper<span class="roman">, paper format for ‘<samp>-t</samp>’</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-N-config-command-_0028disable-EPS_0029"><code>N <span class="r"> config command (disable EPS)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-name"><code>name</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-narrow-fonts">narrow fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-no-output-at-all">no output at all</a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-non_002dprinting-characters_002c-shifting">non-printing characters, shifting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-non_002dresident-fonts">non-resident fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-nopaper_002c-paper-format-for-_002dt"><code>nopaper<span class="r">, paper format for ‘<samp class="samp">-t</samp>’</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-o-config-command-_0028output-destination_0029"><code>o <span class="roman">config command (output destination)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-O-config-command-_0028page-offsets_0029"><code>O <span class="roman">config command (page offsets)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-oblique-fonts">oblique fonts</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-octal-character-codes">octal character codes</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-odd-pages-only">odd pages only</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-offset-pages">offset pages</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Omega-extensions">Omega extensions</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-option_002c-details-of">option, details of</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-debugging">options, debugging</a>:</td><td> </td><td valign="top"><a href="#Debug-options">Debug options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-Dvips">options, Dvips</a>:</td><td> </td><td valign="top"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-summary">options, summary</a>:</td><td> </td><td valign="top"><a href="#Option-summary">Option summary</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options_002c-to-Afm2tfm">options, to Afm2tfm</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-outline-fonts">outline fonts</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-outline-fonts-1">outline fonts</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-file_002c-sectioning-of">output file, sectioning of</a>:</td><td> </td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-file_002c-setting">output file, setting</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-files_002c-multiple">output files, multiple</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-title_002c-specifying">output title, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output_002c-inverted">output, inverted</a>:</td><td> </td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output_002c-none">output, none</a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output_002c-too-small">output, too small</a>:</td><td> </td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-o-config-command-_0028output-destination_0029"><code>o <span class="r">config command (output destination)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-O-config-command-_0028page-offsets_0029"><code>O <span class="r">config command (page offsets)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-oblique-fonts">oblique fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-octal-character-codes">octal character codes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-odd-pages-only">odd pages only</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-offset-pages">offset pages</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Omega-extensions">Omega extensions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-option_002c-details-of">option, details of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-debugging">options, debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debug-options">Debug options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-Dvips">options, Dvips</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-Dvips">Invoking Dvips</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-reading-from-standard-input">options, reading from standard input</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-summary">options, summary</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-summary">Option summary</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options_002c-to-Afm2tfm">options, to Afm2tfm</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-outline-fonts">outline fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-outline-fonts-1">outline fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-file_002c-sectioning-of">output file, sectioning of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-file_002c-setting">output file, setting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-files_002c-multiple">output files, multiple</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-title_002c-specifying">output title, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-inverted">output, inverted</a>:</td><td> </td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-none">output, none</a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-redirecting">output, redirecting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output_002c-too-small">output, too small</a>:</td><td> </td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-p-config-command-_0028font-aliases_0029"><code>p <span class="roman">config command (font aliases)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-P-config-command-_0028PK-path_0029"><code>P <span class="roman">config command (PK path)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page-numbers_002c-multiple-repetitions-of">page numbers, multiple repetitions of</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page-range">page range</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pages_002c-maximum-printed">pages, maximum printed</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PaintType"><code>PaintType</code></a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Pantone-colors">Pantone colors</a>:</td><td> </td><td valign="top"><a href="#Color-macro-files">Color macro files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-paper-size-configuration-file-command">paper size configuration file command</a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-paper-size_002c-default">paper size, default</a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-paper-size_002c-general">paper size, general</a>:</td><td> </td><td valign="top"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-paper-trays">paper trays</a>:</td><td> </td><td valign="top"><a href="#Paper-trays">Paper trays</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-paper-type">paper type</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-papersize-special"><code>papersize <span class="roman">special</span></code></a>:</td><td> </td><td valign="top"><a href="#papersize-special">‘<samp>papersize</samp>’ special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-papersize-special_002c-and-no-_002dt">papersize special, and no ‘<samp>-t</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-papersize-special_002c-first-vs_002e-last">‘<samp>papersize</samp>’ special, first vs. last</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-partial-font-downloading">partial font downloading</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-font-quality">PDF files, font quality</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-making">PDF files, making</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-making-1">PDF files, making</a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-option-for">PDF files, option for</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pdfmark"><code>pdfmark</code></a>:</td><td> </td><td valign="top"><a href="#Hypertext">Hypertext</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pfa-files">pfa files</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pfb-files">pfb files</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pfb-files_002c-automatically-unpacked">pfb files, automatically unpacked</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pfm-files">pfm files</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Phaser-printer_002c-used-for-color-calibration">Phaser printer, used for color calibration</a>:</td><td> </td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and ‘<samp>-l</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and ‘<samp>-p</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-physical-page-number_002c-and-bop_002dhook">physical page number, and <code>bop-hook</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pipes_002c-not-readable">pipes, not readable</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pk-files">pk files</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PKFONTS_002c-overrides-P"><code>PKFONTS<span class="roman">, overrides</span> P</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plotfile_002c-ps-subspecial"><code>plotfile<span class="roman">, ‘<samp>ps</samp>’ subspecial</span></code></a>:</td><td> </td><td valign="top"><a href="#ps-special">ps special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pltotf"><code>pltotf</code></a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-popen-for-output"><code>popen <span class="roman">for output</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-portrait-orientation_002c-defined">portrait orientation, defined</a>:</td><td> </td><td valign="top"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-positioning-accuracy">positioning accuracy</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-post-code-after-headers"><code>post <span class="roman">code after headers</span></code></a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-code_002c-literal">PostScript code, literal</a>:</td><td> </td><td valign="top"><a href="#Literal-PS">Literal PS</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-encoding">PostScript encoding</a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-encoding_002c-changing">PostScript encoding, changing</a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-font-alias-file">PostScript font alias file</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-font-alias-file-1">PostScript font alias file</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-fonts">PostScript fonts</a>:</td><td> </td><td valign="top"><a href="#PostScript-fonts">PostScript fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-fonts_002c-installing">PostScript fonts, installing</a>:</td><td> </td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-fonts_002c-on-your-system">PostScript fonts, on your system</a>:</td><td> </td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-header-files">PostScript header files</a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-hooks">PostScript hooks</a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-interaction">PostScript interaction</a>:</td><td> </td><td valign="top"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-previewers">PostScript previewers</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-units">PostScript units</a>:</td><td> </td><td valign="top"><a href="#Bounding-box">Bounding box</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PowerPage-PostScript-implementation">PowerPage PostScript implementation</a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pre-code-before-headers"><code>pre <span class="roman">code before headers</span></code></a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-previewing-Dvips-output">previewing Dvips output</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PRINTER"><code>PRINTER</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-configuration">printer configuration</a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-configuration-file_002c-prototype">printer configuration file, prototype</a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-errors">printer errors</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-memory">printer memory</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-memory-exhausted">printer memory exhausted</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-offset">printer offset</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PRINTER_002c-and-config-file-searching"><code>PRINTER<span class="roman">, and config file searching</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PRINTER_002c-avoided-with-_002df"><code>PRINTER<span class="roman">, avoided with ‘<samp>-f</samp>’</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer_002c-driving-directly">printer, driving directly</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-problems">problems</a>:</td><td> </td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-property-list-files">property list files</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-prototype-printer-configuration-file">prototype printer configuration file</a>:</td><td> </td><td valign="top"><a href="#config_002eps-installation">config.ps installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ps-special"><code>ps <span class="roman">special</span></code></a>:</td><td> </td><td valign="top"><a href="#ps-special">ps special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psfile-special"><code>psfile <span class="roman">special</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psfonts_002emap"><code>psfonts.map</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psfonts_002emap-1"><code>psfonts.map</code></a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psfonts_002emap-2"><code>psfonts.map</code></a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psheaderdir"><code>psheaderdir</code></a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psi-character-missing">psi character missing</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pstopk"><code>pstopk</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pTeX-extensions">pTeX extensions</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pTeX-extensions-1">pTeX extensions</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ptex-JFM"><code>ptex <span class="roman">JFM</span></code></a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-p-config-command-_0028font-aliases_0029"><code>p <span class="r">config command (font aliases)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-P-config-command-_0028PK-path_0029"><code>P <span class="r">config command (PK path)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page-numbers_002c-multiple-repetitions-of">page numbers, multiple repetitions of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page-range">page range</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-first-printed">page, first printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-last-printed">page, last printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pages_002c-maximum-printed">pages, maximum printed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PaintType"><code>PaintType</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Pantone-colors">Pantone colors</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-macro-files">Color macro files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-size-configuration-file-command">paper size configuration file command</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-size_002c-default">paper size, default</a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-size_002c-general">paper size, general</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-trays">paper trays</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-trays">Paper trays</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-paper-type">paper type</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-papersize-special"><code>papersize <span class="r">special</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#papersize-special">‘<samp class="samp">papersize</samp>’ special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-papersize-special_002c-and-no-_002dt">papersize special, and no ‘<samp class="samp">-t</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-papersize-special_002c-first-vs_002e-last">‘<samp class="samp">papersize</samp>’ special, first vs. last</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-partial-font-downloading">partial font downloading</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-font-quality">PDF files, font quality</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-making">PDF files, making</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-making-1">PDF files, making</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-option-for">PDF files, option for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pdfmark"><code>pdfmark</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext">Hypertext</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pfa-files">pfa files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pfb-files">pfb files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pfb-files_002c-automatically-unpacked">pfb files, automatically unpacked</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pfm-files">pfm files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Phaser-printer_002c-used-for-color-calibration">Phaser printer, used for color calibration</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dl">physical page number, and ‘<samp class="samp">-l</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-_002dp">physical page number, and ‘<samp class="samp">-p</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-physical-page-number_002c-and-bop_002dhook">physical page number, and <code class="code">bop-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pipes_002c-not-readable">pipes, not readable</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pk-files">pk files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PKFONTS_002c-overrides-P"><code>PKFONTS<span class="r">, overrides</span> P</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plotfile_002c-ps-subspecial"><code>plotfile<span class="r">, ‘<samp class="samp">ps</samp>’ subspecial</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pltotf"><code>pltotf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-popen-for-output"><code>popen <span class="r">for output</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-portrait-orientation_002c-defined">portrait orientation, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Paper-size-and-landscape">Paper size and landscape</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-positioning-accuracy">positioning accuracy</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-post-code-after-headers"><code>post <span class="r">code after headers</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-code_002c-literal">PostScript code, literal</a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-PS">Literal PS</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-encoding">PostScript encoding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-encoding_002c-changing">PostScript encoding, changing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-font-alias-file">PostScript font alias file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-font-alias-file-1">PostScript font alias file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts">PostScript fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-fonts">PostScript fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts_002c-installing">PostScript fonts, installing</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts_002c-on-your-system">PostScript fonts, on your system</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-header-files">PostScript header files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-hooks">PostScript hooks</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-interaction">PostScript interaction</a>:</td><td> </td><td class="printindex-index-section"><a href="#Interaction-with-PostScript">Interaction with PostScript</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-previewers">PostScript previewers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-units">PostScript units</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bounding-box">Bounding box</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PowerPage-PostScript-implementation">PowerPage PostScript implementation</a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pre-code-before-headers"><code>pre <span class="r">code before headers</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-previewing-Dvips-output">previewing Dvips output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PRINTER"><code>PRINTER</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-configuration">printer configuration</a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-configuration-file_002c-prototype">printer configuration file, prototype</a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-errors">printer errors</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-memory">printer memory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-memory-exhausted">printer memory exhausted</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-offset">printer offset</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PRINTER_002c-and-config-file-searching"><code>PRINTER<span class="r">, and config file searching</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PRINTER_002c-avoided-with-_002df"><code>PRINTER<span class="r">, avoided with ‘<samp class="samp">-f</samp>’</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer_002c-driving-directly">printer, driving directly</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-problems">problems</a>:</td><td> </td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-property-list-files">property list files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-prototype-printer-configuration-file">prototype printer configuration file</a>:</td><td> </td><td class="printindex-index-section"><a href="#config_002eps-installation">config.ps installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ps-special"><code>ps <span class="r">special</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psfile-special"><code>psfile <span class="r">special</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap"><code>psfonts.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-font-installation">PostScript font installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap-1"><code>psfonts.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap-2"><code>psfonts.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psheaderdir"><code>psheaderdir</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psi-character-missing">psi character missing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pstopk"><code>pstopk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pTeX-extensions">pTeX extensions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pTeX-extensions-1">pTeX extensions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ptex-JFM"><code>ptex <span class="r">JFM</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-q-config-command-_0028quiet_0029"><code>q <span class="roman">config command (quiet)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Q-config-command-_0028quiet_0029"><code>Q <span class="roman">config command (quiet)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-quiet-operation">quiet operation</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-q-config-command-_0028quiet_0029"><code>q <span class="r">config command (quiet)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Q-config-command-_0028quiet_0029"><code>Q <span class="r">config command (quiet)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-quiet-operation">quiet operation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-R-config-command-_0028fallback-resolution_0029"><code>R <span class="roman">config command (fallback resolution)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-r-config-command-_0028page-reversal_0029"><code>r <span class="roman">config command (page reversal)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-raw-tfm-files">raw tfm files</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reencode_002f_002a_002eenc"><code>reencode/*.enc</code></a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reencoding">reencoding</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reencoding-PostScript-fonts">reencoding PostScript fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-registered-character_002c-accessing"><code>registered <span class="roman">character, accessing</span></code></a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-remapping">remapping</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resident-fonts_002c-different-in-different-printers">resident fonts, different in different printers</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resident-fonts_002c-different-in-different-printers-1">resident fonts, different in different printers</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resolution">resolution</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resolution-1">resolution</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-rhi-_0028psfile-special-option_0029"><code>rhi <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Rokicki_002c-Tomas">Rokicki, Tomas</a>:</td><td> </td><td valign="top"><a href="#Why-Dvips">Why Dvips</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-rotate_002etex"><code>rotate.tex</code></a>:</td><td> </td><td valign="top"><a href="#ps-special">ps special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-rwi-_0028psfile-special-option_0029"><code>rwi <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-R-config-command-_0028fallback-resolution_0029"><code>R <span class="r">config command (fallback resolution)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-r-config-command-_0028page-reversal_0029"><code>r <span class="r">config command (page reversal)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-raw-tfm-files">raw tfm files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reencode_002f_002a_002eenc"><code>reencode/*.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reencoding">reencoding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reencoding-PostScript-fonts">reencoding PostScript fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-registered-character_002c-accessing"><code>registered <span class="r">character, accessing</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-remapping">remapping</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resident-fonts_002c-different-in-different-printers">resident fonts, different in different printers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resident-fonts_002c-different-in-different-printers-1">resident fonts, different in different printers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution">resolution</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution-1">resolution</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reverse-pagination">reverse pagination</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-rhi-_0028psfile-special-option_0029"><code>rhi <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Rokicki_002c-Tomas">Rokicki, Tomas</a>:</td><td> </td><td class="printindex-index-section"><a href="#Why-Dvips">Why Dvips</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-rotate_002etex"><code>rotate.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-rwi-_0028psfile-special-option_0029"><code>rwi <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-s-config-command-_0028global-save_002frestore_0029"><code>s <span class="roman">config command (global save/restore)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-S-config-command-_0028pict-path_0029"><code>S <span class="roman">config command (pict path)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-and-inverted-output">save/restore, and inverted output</a>:</td><td> </td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-and-literal-PS"><code>save<span class="roman">/</span>restore<span class="roman">, and literal PS</span></code></a>:</td><td> </td><td valign="top"><a href="#Literal-examples">Literal examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-and-specials">save/restore, and specials</a>:</td><td> </td><td valign="top"><a href="#ps-special">ps special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-save_002frestore_002c-generating-global">save/restore, generating global</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scaleunit"><code>scaleunit</code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scaling-of-figures">scaling of figures</a>:</td><td> </td><td valign="top"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scaling-small-caps">scaling small caps</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Scandinavian-A-ring">Scandinavian A ring</a>:</td><td> </td><td valign="top"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-screen-frequencies_002c-setting">screen frequencies, setting</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SDict"><code>SDict</code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SDict-dictionary"><code>SDict <span class="roman">dictionary</span></code></a>:</td><td> </td><td valign="top"><a href="#Literal-headers">Literal headers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-searching-config-files_002c-order-of">searching config files, order of</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sections-of-output-file_002c-and-memory">sections of output file, and memory</a>:</td><td> </td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sections-output_002c-in-separate-files">sections output, in separate files</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-security">security</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell-command-execution_002c-disabling">shell command execution, disabling</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell-escape_002c-in-config-file">shell escape, in config file</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Shinko-CHC_002dS446i-printer">Shinko CHC-S446i printer</a>:</td><td> </td><td valign="top"><a href="#No-output">No output</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-show-PostScript-operator"><code>show <span class="roman">PostScript operator</span></code></a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-silent-operation">silent operation</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-simplex-mode-on-duplex-printers">simplex mode on duplex printers</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-slanted-fonts">slanted fonts</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-slanted-fonts_002c-making">slanted fonts, making</a>:</td><td> </td><td valign="top"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SlantFont"><code>SlantFont</code></a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-small-caps-fonts">small caps fonts</a>:</td><td> </td><td valign="top"><a href="#Special-font-effects">Special font effects</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Smith_002c-Arthur">Smith, Arthur</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-spaces_002c-dropped-trailing">spaces, dropped trailing</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-specials_002c-hypertext">specials, hypertext</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-splines">splines</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-spooler_002c-lacking">spooler, lacking</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-spooling-to-lpr-on-MS_002dDOS">spooling to lpr on MS-DOS</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-I_002fO">standard I/O</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-PostScript_002c-required-by-Ghostview">standard PostScript, required by Ghostview</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-start_002dhook"><code>start-hook</code></a>:</td><td> </td><td valign="top"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-structured-comments">structured comments</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system-in-config-file"><code>system <span class="roman">in config file</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-s-config-command-_0028global-save_002frestore_0029"><code>s <span class="r">config command (global save/restore)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-S-config-command-_0028pict-path_0029"><code>S <span class="r">config command (pict path)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-and-inverted-output">save/restore, and inverted output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-and-literal-PS"><code>save<span class="r">/</span>restore<span class="r">, and literal PS</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-examples">Literal examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-and-specials">save/restore, and specials</a>:</td><td> </td><td class="printindex-index-section"><a href="#ps-special">ps special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-save_002frestore_002c-generating-global">save/restore, generating global</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scaleunit"><code>scaleunit</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scaling-of-figures">scaling of figures</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-scaling">EPSF scaling</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scaling-small-caps">scaling small caps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Scandinavian-A-ring">Scandinavian A ring</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reencoding-with-Afm2tfm">Reencoding with Afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-screen-frequencies_002c-setting">screen frequencies, setting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SDict"><code>SDict</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SDict-dictionary"><code>SDict <span class="r">dictionary</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Literal-headers">Literal headers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-config-files_002c-order-of">searching config files, order of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-searching">Configuration file searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sections-of-output-file_002c-and-memory">sections of output file, and memory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sections-output_002c-in-separate-files">sections output, in separate files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-security">security</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-command-execution_002c-disabling">shell command execution, disabling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-escape_002c-in-config-file">shell escape, in config file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Shinko-CHC_002dS446i-printer">Shinko CHC-S446i printer</a>:</td><td> </td><td class="printindex-index-section"><a href="#No-output">No output</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-show-PostScript-operator"><code>show <span class="r">PostScript operator</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-silent-operation">silent operation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-simplex-mode-on-duplex-printers">simplex mode on duplex printers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-the-command-line">Including headers from the command line</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-slanted-fonts">slanted fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-slanted-fonts_002c-making">slanted fonts, making</a>:</td><td> </td><td class="printindex-index-section"><a href="#Afm2tfm-options">Afm2tfm options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SlantFont"><code>SlantFont</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-small-caps-fonts">small caps fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Special-font-effects">Special font effects</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Smith_002c-Arthur">Smith, Arthur</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-spaces_002c-dropped-trailing">spaces, dropped trailing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-specials_002c-hypertext">specials, hypertext</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-splines">splines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-spooler_002c-lacking">spooler, lacking</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-spooling-to-lpr-on-MS_002dDOS">spooling to lpr on MS-DOS</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-I_002fO">standard I/O</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-input_002c-reading-options-from">standard input, reading options from</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-output_002c-output-to">standard output, output to</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-PostScript_002c-required-by-Ghostview">standard PostScript, required by Ghostview</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-start_002dhook"><code>start-hook</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-hooks">PostScript hooks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-structured-comments">structured comments</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system-in-config-file"><code>system <span class="r">in config file</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-T-config-command-_0028TFM-path_0029"><code>T <span class="roman">config command (TFM path)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Tektronix-Phaser-printer_002c-used-for-color-calibration">Tektronix Phaser printer, used for color calibration</a>:</td><td> </td><td valign="top"><a href="#Color-device-configuration">Color device configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-testpage_002etex"><code>testpage.tex</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-encoding_002c-changing">TeX encoding, changing</a>:</td><td> </td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-including-headers-in">TeX, including headers in</a>:</td><td> </td><td valign="top"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTS_002c-overrides-P"><code>TEXFONTS<span class="roman">, overrides</span> P</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTS_002c-overrides-T"><code>TEXFONTS<span class="roman">, overrides</span> T</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXINPUTS_002c-overrides-S"><code>TEXINPUTS<span class="roman">, overrides</span> S</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmext_002eenc"><code>texmext.enc</code></a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmital_002eenc"><code>texmital.enc</code></a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmsym_002eenc"><code>texmsym.enc</code></a>:</td><td> </td><td valign="top"><a href="#Encodings">Encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmsym_002eenc-1"><code>texmsym.enc</code></a>:</td><td> </td><td valign="top"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td> </td><td valign="top"><a href="#Environment-variables">Environment variables</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPICTS_002c-overrides-S"><code>TEXPICTS<span class="roman">, overrides</span> S</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPKS_002c-overrides-P"><code>TEXPKS<span class="roman">, overrides</span> P</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXSIZES_002c-overrides-R"><code>TEXSIZES<span class="roman">, overrides</span> R</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-text-in-figures_002c-chopped-off">text in figures, chopped off</a>:</td><td> </td><td valign="top"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tfm-files">tfm files</a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFMFONTS_002c-overrides-T"><code>TFMFONTS<span class="roman">, overrides</span> T</code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td> </td><td valign="top"><a href="#Metric-files">Metric files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Theisen_002c-Tim">Theisen, Tim</a>:</td><td> </td><td valign="top"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tight-bounding-box_002c-finding">tight bounding box, finding</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-title_002c-specifying">title, specifying</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-too_002dsmall-output">too-small output</a>:</td><td> </td><td valign="top"><a href="#Small-or-inverted">Small or inverted</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trademark-character_002c-accessing"><code>trademark <span class="roman">character, accessing</span></code></a>:</td><td> </td><td valign="top"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trailing-spaces_002c-dropped">trailing spaces, dropped</a>:</td><td> </td><td valign="top"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TranScript">TranScript</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-transforming-downloaded-fonts">transforming downloaded fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trouble">trouble</a>:</td><td> </td><td valign="top"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Type-1-fonts">Type 1 fonts</a>:</td><td> </td><td valign="top"><a href="#Glyph-files">Glyph files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-typesetting-in-PostScript">typesetting in PostScript</a>:</td><td> </td><td valign="top"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-T-config-command-_0028TFM-path_0029"><code>T <span class="r">config command (TFM path)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Tektronix-Phaser-printer_002c-used-for-color-calibration">Tektronix Phaser printer, used for color calibration</a>:</td><td> </td><td class="printindex-index-section"><a href="#Color-device-configuration">Color device configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-testpage_002etex"><code>testpage.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-encoding_002c-changing">TeX encoding, changing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-including-headers-in">TeX, including headers in</a>:</td><td> </td><td class="printindex-index-section"><a href="#Including-headers-from-TeX">Including headers from TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS_002c-overrides-P"><code>TEXFONTS<span class="r">, overrides</span> P</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS_002c-overrides-T"><code>TEXFONTS<span class="r">, overrides</span> T</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINPUTS_002c-overrides-S"><code>TEXINPUTS<span class="r">, overrides</span> S</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmext_002eenc"><code>texmext.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmital_002eenc"><code>texmital.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmsym_002eenc"><code>texmsym.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Encodings">Encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmsym_002eenc-1"><code>texmsym.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-TeX-encodings">Changing TeX encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Environment-variables">Environment variables</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPICTS_002c-overrides-S"><code>TEXPICTS<span class="r">, overrides</span> S</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPKS_002c-overrides-P"><code>TEXPKS<span class="r">, overrides</span> P</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXSIZES_002c-overrides-R"><code>TEXSIZES<span class="r">, overrides</span> R</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-text-in-figures_002c-chopped-off">text in figures, chopped off</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-clipping">EPSF clipping</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tfm-files">tfm files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFMFONTS_002c-overrides-T"><code>TFMFONTS<span class="r">, overrides</span> T</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Metric-files">Metric files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Theisen_002c-Tim">Theisen, Tim</a>:</td><td> </td><td class="printindex-index-section"><a href="#Ghostscript-installation">Ghostscript installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tight-bounding-box_002c-finding">tight bounding box, finding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-title_002c-specifying">title, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-too_002dsmall-output">too-small output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Small-or-inverted">Small or inverted</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trademark-character_002c-accessing"><code>trademark <span class="r">character, accessing</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Changing-PostScript-encodings">Changing PostScript encodings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trailing-spaces_002c-dropped">trailing spaces, dropped</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-caveats">Hypertext caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TranScript">TranScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-transforming-downloaded-fonts">transforming downloaded fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trouble">trouble</a>:</td><td> </td><td class="printindex-index-section"><a href="#Diagnosing-problems">Diagnosing problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Type-1-fonts">Type 1 fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-files">Glyph files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-typesetting-in-PostScript">typesetting in PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#PostScript-typesetting">PostScript typesetting</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-U">U</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-U-config-command-_0028Xerox-4045_0029"><code>U <span class="roman">config command (Xerox 4045)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-uncollated-copies">uncollated copies</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-uncompressing-PostScript">uncompressing PostScript</a>:</td><td> </td><td valign="top"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-uniform-resource-locator">uniform resource locator</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unknown_002c-paper-format-for-_002dt"><code>unknown<span class="roman">, paper format for ‘<samp>-t</samp>’</span></code></a>:</td><td> </td><td valign="top"><a href="#papersize-special">‘<samp>papersize</samp>’ special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unknown_002c-paper-format-for-_002dt-1"><code>unknown<span class="roman">, paper format for ‘<samp>-t</samp>’</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-uptex-JFM"><code>uptex <span class="roman">JFM</span></code></a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-URL_002c-definition">URL, definition</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-URL_002c-extended-for-TeX">URL, extended for TeX</a>:</td><td> </td><td valign="top"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-urx-_0028psfile-special-option_0029"><code>urx <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ury-_0028psfile-special-option_0029"><code>ury <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-usage_002c-basic">usage, basic</a>:</td><td> </td><td valign="top"><a href="#Basic-usage">Basic usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-user_002ddefinable-colors">user-definable colors</a>:</td><td> </td><td valign="top"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-userdict_002c-and-dictionary-files"><code>userdict<span class="roman">, and dictionary files</span></code></a>:</td><td> </td><td valign="top"><a href="#Header-files">Header files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-userdict_002c-used-for-header-files">userdict<span class="roman">, used for header files</span></a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-U-config-command-_0028Xerox-4045_0029"><code>U <span class="r">config command (Xerox 4045)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-uncollated-copies">uncollated copies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-uncompressing-PostScript">uncompressing PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Dynamic-creation-of-graphics">Dynamic creation of graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-uniform-resource-locator">uniform resource locator</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unknown_002c-paper-format-for-_002dt"><code>unknown<span class="r">, paper format for ‘<samp class="samp">-t</samp>’</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#papersize-special">‘<samp class="samp">papersize</samp>’ special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unknown_002c-paper-format-for-_002dt-1"><code>unknown<span class="r">, paper format for ‘<samp class="samp">-t</samp>’</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-uptex-JFM"><code>uptex <span class="r">JFM</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-URL_002c-definition">URL, definition</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-URL_002c-extended-for-TeX">URL, extended for TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hypertext-specials">Hypertext specials</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-urx-_0028psfile-special-option_0029"><code>urx <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ury-_0028psfile-special-option_0029"><code>ury <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-usage_002c-basic">usage, basic</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-usage">Basic usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-user_002ddefinable-colors">user-definable colors</a>:</td><td> </td><td class="printindex-index-section"><a href="#User_002ddefinable-colors">User-definable colors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-userdict_002c-and-dictionary-files"><code>userdict<span class="r">, and dictionary files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Header-files">Header files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-userdict_002c-used-for-header-files">userdict<span class="r">, used for header files</span></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-V">V</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-V-config-command-_0028vf-path_0029"><code>V <span class="roman">config command (vf path)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-verbose-EPSF-processing">verbose EPSF processing</a>:</td><td> </td><td valign="top"><a href="#EPSF-macros">EPSF macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vf-files">vf files</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual-font-expansion">virtual font expansion</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual-font-path">virtual font path</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual-fonts">virtual fonts</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual-fonts_002c-creating">virtual fonts, creating</a>:</td><td> </td><td valign="top"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VM-exhausted">VM exhausted</a>:</td><td> </td><td valign="top"><a href="#Printer-errors">Printer errors</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VMusage"><code>VMusage</code></a>:</td><td> </td><td valign="top"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-voffset-_0028psfile-special-option_0029"><code>voffset <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vpl-files">vpl files</a>:</td><td> </td><td valign="top"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vptovf"><code>vptovf</code></a>:</td><td> </td><td valign="top"><a href="#Making-a-font-available">Making a font available</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vscale-_0028psfile-special-option_0029"><code>vscale <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vsize-_0028psfile-special-option_0029"><code>vsize <span class="roman">(‘<samp>psfile</samp>’ special option)</span></code></a>:</td><td> </td><td valign="top"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-V-config-command-_0028vf-path_0029"><code>V <span class="r">config command (vf path)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-verbose-EPSF-processing">verbose EPSF processing</a>:</td><td> </td><td class="printindex-index-section"><a href="#EPSF-macros">EPSF macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vf-files">vf files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-font-expansion">virtual font expansion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-font-path">virtual font path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-fonts">virtual fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-fonts_002c-creating">virtual fonts, creating</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-afm2tfm">Invoking afm2tfm</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VM-exhausted">VM exhausted</a>:</td><td> </td><td class="printindex-index-section"><a href="#Printer-errors">Printer errors</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VMusage"><code>VMusage</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Headers-and-memory-usage">Headers and memory usage</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-voffset-_0028psfile-special-option_0029"><code>voffset <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vpl-files">vpl files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Virtual-fonts">Virtual fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vptovf"><code>vptovf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Making-a-font-available">Making a font available</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vscale-_0028psfile-special-option_0029"><code>vscale <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vsize-_0028psfile-special-option_0029"><code>vsize <span class="r">(‘<samp class="samp">psfile</samp>’ special option)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#psfile-special">psfile special</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-W-config-command-_0028emit-warning_0029"><code>W <span class="roman">config command (emit warning)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-warning-messages_002c-defining">warning messages, defining</a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-whole-font-downloading">whole font downloading</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-wide-fonts">wide fonts</a>:</td><td> </td><td valign="top"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-W-config-command-_0028emit-warning_0029"><code>W <span class="r">config command (emit warning)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warning-messages_002c-defining">warning messages, defining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-whole-font-downloading">whole font downloading</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-wide-fonts">wide fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#psfonts_002emap">psfonts.map</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-X">X</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-X-config-command-_0028horizontal-resolution_0029"><code>X <span class="roman">config command (horizontal resolution)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Xerox-4045">Xerox 4045</a>:</td><td> </td><td valign="top"><a href="#Option-details">Option details</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X-config-command-_0028horizontal-resolution_0029"><code>X <span class="r">config command (horizontal resolution)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Xerox-4045">Xerox 4045</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-details">Option details</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Y">Y</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Y-config-command-_0028vertical-resolution_0029"><code>Y <span class="roman">config command (vertical resolution)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Y-config-command-_0028vertical-resolution_0029"><code>Y <span class="r">config command (vertical resolution)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Z">Z</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Z-config-command-_0028compress-fonts_0029"><code>Z <span class="roman">config command (compress fonts)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-z-config-command-_0028secure-mode_0029"><code>z <span class="roman">config command (secure mode)</span></code></a>:</td><td> </td><td valign="top"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-zero-dimensions-and-setting-paper-size">zero dimensions and setting paper size</a>:</td><td> </td><td valign="top"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Z-config-command-_0028compress-fonts_0029"><code>Z <span class="r">config command (compress fonts)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-z-config-command-_0028secure-mode_0029"><code>z <span class="r">config command (secure mode)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configuration-file-commands">Configuration file commands</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-zero-dimensions-and-setting-paper-size">zero dimensions and setting paper size</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-file-paper-sizes">Config file paper sizes</a></td></tr> <tr><td colspan="4"> <hr></td></tr> </table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a> +<table class="cp-letters-footer-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>"</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>"</b></a> -<a class="summary-letter" href="#Index_cp_symbol-3"><b>%</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>%</b></a> -<a class="summary-letter" href="#Index_cp_symbol-4"><b>(</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>(</b></a> -<a class="summary-letter" href="#Index_cp_symbol-5"><b>+</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>+</b></a> -<a class="summary-letter" href="#Index_cp_symbol-6"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>-</b></a> -<a class="summary-letter" href="#Index_cp_symbol-7"><b>.</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>.</b></a> -<a class="summary-letter" href="#Index_cp_symbol-8"><b>/</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>/</b></a> -<a class="summary-letter" href="#Index_cp_symbol-9"><b>6</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>6</b></a> -<a class="summary-letter" href="#Index_cp_symbol-10"><b>8</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>8</b></a> -<a class="summary-letter" href="#Index_cp_symbol-11"><b><</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b><</b></a> -<a class="summary-letter" href="#Index_cp_symbol-12"><b>=</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>=</b></a> -<a class="summary-letter" href="#Index_cp_symbol-13"><b>@</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>@</b></a> -<a class="summary-letter" href="#Index_cp_symbol-14"><b>\</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-14"><b>\</b></a> -<a class="summary-letter" href="#Index_cp_symbol-15"><b>|</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-15"><b>|</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-J"><b>J</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-J"><b>J</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Y"><b>Y</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Y"><b>Y</b></a> -<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a> </td></tr></table> +</div> </div> </div> diff --git a/Master/texmf-dist/doc/dvips/dvips.pdf b/Master/texmf-dist/doc/dvips/dvips.pdf Binary files differindex 84c433c2148..32789cfdd27 100644 --- a/Master/texmf-dist/doc/dvips/dvips.pdf +++ b/Master/texmf-dist/doc/dvips/dvips.pdf diff --git a/Master/texmf-dist/doc/etex/base/ChangeLog b/Master/texmf-dist/doc/etex/base/ChangeLog new file mode 100644 index 00000000000..3ce0229b378 --- /dev/null +++ b/Master/texmf-dist/doc/etex/base/ChangeLog @@ -0,0 +1,619 @@ +2022-03-21 Karl Berry <karl@tug.org> + + * TL'22 release. + +2022-01-10 Karl Berry <karl@freefriends.org> + + * am/etex.am: do not silence tangle-sh. + +2021-03-23 Karl Berry <karl@tug.org> + + * TL'21. + +2021-02-22 Phelype Oleinik <phe.h.o1@gmail.com> + + * etex.ch: avoid "expansion depth" overflow with \numexpr. + +2021-02-13 Karl Berry <karl@freefriends.org> + + * am/etex.am (etex_ch_srcs): adjust for split enctex changes. + +2019-12-10 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> + + * am/etex.am (etex_CPPFLAGS): append $(ZLIB_INCLUDES). + (etex_LDADD): include $(ZLIB_LIBS.) + (etex_DEPENDENCIES): define as $(ZLIB_DEPEND) + (etex_web_srcs): include zlib-fmt.ch. + +2018-03-24 Hironobu Yamashita <h.y.acetaminophen@gmail.com> + Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> + + * tex.ech: Recover the right \lastnodetype initialization + value ignored by tex.ch. + +2016-04-06 Karl Berry <karl@tug.org> + + * etexextra.h (COPYRIGHT_HOLDER): add et al. since + peb passed away in 2015 so can't hold later copyrights. + +2015-09-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etriptest.test: Also check tripos.tex and etrip.out. + +2015-07-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Fixed a stupid typo that caused 'make dist' to + create e-TeX. + +2015-07-10 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etriptest (removed): Renamed ... + * etriptest.test (new): ... into this. + * am/etex.am: Better dependencies for 'make check'. + +2015-06-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Use $(tie_c) and $(tie_m). + +2015-04-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip/etrip.diffs: Updated for TL 2015. + +2014-12-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etriptest: Complain early if (e)trip.fmt is not created. + Inspired by report from vvv, tlbuild 14 Jun 2011 10:25:47. + +2014-05-02 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip/etrip.diffs: Updated for TL14. + +2014-01-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip/etrip.{diffs,fot,log,tex,typ}, etrip/etripin.log: + Updated for e-TeX 3.14159265. + +2014-01-21 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etexextra.h: Adapt to TeX Version 3.14159265. + +2014-01-20 Peter Breitenlohner <peb@mppmu.mpg.de> + + TeX tuneup of 2014. + * etex.ch, tex.ch0, tex.ech: Adapt to TeX Version 3.14159265. + +2014-01-17 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip.test (removed): Renamed ... + * etriptest (new): ... into this. + * am/etex.am: Adapted. + +2013-11-21 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Enable hyphenation of text between \beginL and \endL or + between \beginR and \endR. + * etrip/etrip.diffs, etrip/etrip.fot, etrip/etrip.log, + etrip/etrip.tex, etrip/etrip.typ, etrip/etripin.log: + Version 2.6 [2013-11-21] for TL 2014. + +2013-04-09 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip/etrip.diffs, etrip/etrip.fot, etrip/etrip.typ, + etrip/etripin.log: Update for TL 2013. + +2013-03-08 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Towards better handling of right-to-left text. + +2013-03-04 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Better rule for etex_version.h. + +2013-03-01 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch, etex_version.h: Version 2.6. + Better handling of right-to-left text. + * etrip/etrip.diffs, etrip/etrip.fot, etrip/etrip.log, + etrip/etrip.tex, etrip/etripin.log: Version 2.6 [2013-03-01]. + +2013-02-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Version 2.5, dated February 28, 2013. + +2013-01-24 Peter Breitenlohner <peb@mppmu.mpg.de> + + * wprob.test: Avoid spurious failure of parallel-tests. + * am/etex.am: Renamed wprob.{tex,log} => ewprob.{tex,log}. + +2013-01-15 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am, etrip.test: Enable parallel-tests. + +2012-12-16 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etex_version.h): Enable silent rules. + +2012-08-02 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch, etex_version.h: Version 2.5. + Better tracing of font definitions, reported by + Bruno Le Floch <blflatex@@gmail.com>, Jul 2012. + * etrip/etrip.tex: Test the additional tracing. + +2012-07-19 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Distribute etex_version.h. + +2012-07-15 Akira Kakuto <kakuto@fuk.kindai.ac.jp> + + * etexextra.c: Must #define DLLPROC before reading etexd.h. + +2012-06-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etexextra.c [W32TeX]: #define DLLPROC for etex.dll. + +2012-05-11 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Version 2.4, dated May 11, 2012. + * etrip/etrip.tex, etrip/etripin.log, etrip/etrip.log, + etrip/etrip.fot, etrip/etrip.typ, etrip/etrip.diffs: Adapted. + +2012-04-11 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Fixed a typo in TeX text. + + * INSTALL, README: Removed these obsolete files. + * am/etex.am (EXTRA_DIST): Removed INSTALL and README. + +2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * wprob.test: New shell script to test for uninitialized line. + * am/etex.am: Add the new test. + +2011-09-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Slightly reformulate printing of current line. + +2011-04-07 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Version 2.3, dated April 7, 2011. + * etrip/etrip.tex, etrip/etripin.log, etrip/etrip.log, + etrip/etrip.fot, etrip/etrip.typ, etrip/etrip.diffs: Adapted. + +2011-04-03 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Remove remove_end_M and insert_end_M (now unused). + +2011-03-31 Hironori Kitagawa <h_kitagawa2001@yahoo.co.jp> + + * etex.ch: TeX formatting. + +2011-03-30 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Further reduce e-pTeX interferences. + +2011-03-29 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Rename box_lrstat into box_lr and define to also work + for min_quarterword<0. + +2011-03-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Use AM_CFLAGS instead of etex_CFLAGS. + +2011-03-27 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Reformulate @<Fetch an item in the current node...@>, + begin_box, and delete_last to fix a bug in \lastpenalty & Co; + further reduce e-pTeX interferences. + +2011-03-24 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Reformulate begin_box and delete_last to reduce + interferences between e-TeX and pTeX. + +2011-03-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Reformulate @<Fetch an item in the current node...@> + to reduce interferences between e-TeX and pTeX. + +2011-03-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Define and use the Web macros box_lr and set_box_lr + to reduce interferences between e-TeX and pTeX. + +2011-01-17 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etrip.diffs): Use $(triptrap_diffs). + +2011-01-15 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip/etrip.tex: Fixed 'wrong last node type' diagnostic. + +2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etrip-clean): Use TRIPTRAP_CLEAN. + +2011-01-14 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Mention \protected in error and help messages only + when in extended mode. + * etrip/etrip.tex: Fixed a typo currentgroup{type => level}. + +2011-01-11 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.mak, etex.mk (removed): Obsolete. + +2011-01-08 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etex_web_srcs): Removed etex.fix. + (etex_ch_srcs): Added enctex.ch. + * etex.fix: Deleted. + +2011-01-01 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etexextra.in: Renamed ... + * etexextra.h: ... into this; #include etex_version.h + for ETEX_VERSION. + + * etexextra.c (new): #include <etexd.h> and <lib/texmfmp.c>. + + * am/etex.am: etexextra.[ch] are now distributed; + create etex_version.h instead of etex.version. + +2010-06-10 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etex_CPPFLAGS): Add $(AM_CPPFLAGS). + +2010-05-25 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (EXTRA_DIST): Remove tmf-pool.h. + +2010-05-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: More error message with \protected, from Heiko. + +2010-04-28 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Checked and adjusted tex.web line numbers. + Fixed the error message for improper use of \protected, + reported by Heiko Oberdiek <heiko.oberdiek@googlemail.com>. + +2010-04-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etex_ch_srcs): Use tex-binpool.ch as for TeX. + +2010-03-04 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (TRIPTRAP): Add etrip.diffs. + +2009-12-23 Karl Berry <karl@tug.org> + + * etexextra.in (BUG_ADDRESS): tex-k@tug.org, not @mail. + +2009-12-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Replace the obsolete $(mkdir_p) by $(MKDIR_P). + +2009-10-04 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Enable compiler warnings. + * etex-binpool.ch (get_strings_started): Drop unused variables. + +2009-09-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Adapt to new makecpool with one argument. + +2009-09-04 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Prepare compiler warnings. + +2009-08-18 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: SyncTeX now integrated into ../texmfmp.h. + +2009-08-16 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am: Adapt to tangle-sh and web2c-sh. + +2009-08-13 Peter Breitenlohner <peb@mppmu.mpg.de> + + * am/etex.am (etex_c_h): avoid to split the C code. + +2009-05-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip.test (new): Shell script for e-TRIP tests. + * etrip/texmf.cnf (main_memory): Increased from 2999 to 3999 + required due to increased node sizes for syncTeX extensions. + +2008-05-15 Karl Berry <karl@tug.org> + + * etex.mk (etex-pool.c): the input is etex.pool. From Akira. + +2008-05-13 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex-mk: Use $(makecpool) instead of ./tex-mkcpool. + +2008-03-24 Karl Berry <karl@tug.org> + + * tex.ch0, + * etex.ch, + * tex.ech: update for 3.1415926. + +2008-02-17 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Fixed a bug in hyph_code handling (\savinghyphcodes) + reported by Vladimir Volovich <vvv@vsu.ru>. + Corrected a few typos in TeX text. + +2005-08-03 Olaf Weber <olaf@infovore.xs4all.nl> + + * tex.ech: Implement -etex switch. + +2004-12-19 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk (etexextra.c): Depends on etexdir/etexextra.h. + + * etex.mk (etex-check): Add TEXMFCNF=../kpathsea to the mltex + test, so the right files are found when the installation is not + yet done. From Peter Breitenlohner <peb@mppmu.mpg.de>. + +2004-10-12 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Fixed a bug in the revised glue rounding code + (detected by Tigran Aivazian <tigran@aivazian.fsnet.co.uk>). + Version 2.2, dated October 12, 2004. + +2004-09-15 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Fixed a typo in TeX text, found by Giuseppe + Bilotta <bilotta78@hotpop.com>. + +2004-09-06 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Incorporated register recycling bug fix from Bernd + Raichle <bernd@dante.de>. + Final Version 2.2 (hopefully). + + * etrip/etrip.{fot,log,tex,typ}, etrip/etripin.log: + Updated for current version. + + * etex.mk: Modified rule for etex.version. + +2004-08-26 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.mk (etrip): Use etex with "--progname=einitex --ini" or + "--progname=etex". + +2004-08-26 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.fix: Include fix for register recycling bug from Bernd + Raichle <bernd@dante.de>. + +2004-08-25 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etrip/etripman.tex: Updated to Version 2.2 + +2004-08-21 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Version 2.2. + +2004-08-20 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etexextra.in: Peter holds copyright now. + +2004-08-26 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.version: Is from now on a generated file. + + * etexextra.in: renamed from etexextra.h. The current e-TeX + version is substituted from etex.version. Variant of code + supplied by Peter Breitenlohner <peb@mppmu.mpg.de>. + + * etex.mk: Added rules to extract current e-TeX version from + etex.ch and insert into etex.version and etexextra.h. Variant of + code supplied by Peter Breitenlohner <peb@mppmu.mpg.de>. + +2004-08-17 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk, etex.fix: Resurrected etex.fix, there is again a need + to include late-breaking changes. + +2004-07-29 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Somewhat rearrange mixed direction typesetting code + in order to reduce interference between eTeX and pdfTeX change + files. + +2004-07-25 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Reorganize additional command codes for convert + and last_item in order to reduce interference between eTeX and + pdfTeX change files. + +2004-07-23 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch, tex.ch[01], tex.ech: Reorganize handling of banner + string in order to reduce interference between eTeX, pdfTeX, + and web2c change files. + +2004-07-22 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Reorganize handling of additional token types. + This also fixed a bug in error context for additional token list + parameters, introduced by their reorganization. + +2004-07-21 Olaf Weber <olaf@infovore.xs4all.nl> + + * etrip/etripin.log: Update from Preter Breitenlohner. + + * etrip/etrip.tex: Update from Peter Breitenlohner. + + * etrip/etrip.fot: Update from Peter Breitenlohner. + +2004-07-19 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch, tex.ch[01]: Reorganize handling of additional token + list and integer parameters and e-TeX's additional penalties in + order to reduce interference between eTeX, pdfTeX, and web2c + change files. + + * etex.ch: Add a note that this file not only defines etex.web + in terms of changes to be applies to tex.web, but in addition + is used to define pdfetex.web. + + * tex.ech: Add a note that this file is used to construct the + web2c change files for both e-TeX and pdfeTeX. + +2004-07-17 Peter Breitenlohner <peb@mppmu.mpg.de> + + * etex.ch: Towards etex-2.2: Adapt to TeX 3.141592; this is still + somewhat preliminary; do_glue still needs to be adapted to the new + glue rounding algorithm of TeX 3.141592. + Incorporate bug fixes from etex.fix. + + * etex.ch0, etrip/etrip.{fot,tex}, etrip/etripin.log: Adapted + to TeX 3.141592. + + * tex.ch1, tex.ech: Change the xmalloc_array calls to the `new' + interface (from 2001-11-10). + + * etex.ch0, etex.ch1, etex.fix, tex.ch2: Removed. + + * etex.mk: Rewrite build rules for etex.{web,ch}, add + etexdir/etex.mk and remove etex.{ch0,ch1,fix}, tex.ch2. + + * etex.version: add newline. + + * etrip/etrip.log, etrip.diffs: changed due to bug fix. + +2004-07-14 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.fix: Add fix for typo on line 2737 of etex.ch. From Peter + Breitenlohner. + + * etexextra.h: Add BUG_ADDRESS. + +2004-07-04 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk: Move the creation of the format-related links to + format-related install rules; this seems to be a better place for + them, as the links are pointless without the corresponding + formats. Make the install-*-pool rules depend on the pool file in + question. + +2004-07-03 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk: Set up the make rules so that if etex isn't built (by + default) we do not forward from the general to the etex-specific + rules. But the etex-specific rules can be used. + + * etex.mk: Use $(TANGLE), $(TIE) instead ./tangle, ./tie to + support cross-compiling. + +2004-05-10 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk (install-etex-programs): Typo resulted in no etex binary + being installed. + +2004-05-08 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk (install-etex-programs): This rule didn't have a command + attached, so etex didn't get installed. + (install-etex-links): Dont install einitex, evirtex links. + + * etex.mk: Formats are now parked in a subdirectory of + $(web2cdir). + + * etex.mk: Change the .efmt extension to .fmt. One consequence is + that we don't want to build tex.fmt, where we could safely build + tex.efmt. + + * etexextra.h: .efmt -> .fmt. + + * tex.ech: .efmt -> .fmt. + +2004-01-27 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.fix: The assignment to cur_val instead of cur_val_level + would result in \lastnodetype getting confused about what type of + value it was supposed to be. Reported by Hartmut Henkel + <hartmut_henkel@gmx.de>, fix found by Fabrice Popineau + <Fabrice.Popineau@supelec.fr>. + +2003-02-19 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk: Installation of formats is no longer done via + install-data in this file, but just from the install-data -> + install-dumps -> install-fmts in the main Makefile. That way we + can prevent automatic installation with a single change in that + Makefile. + (etex.p): Depend on tangle. + (triptrap): Depend on etrip. + (install-etex-data): Double-colon rule. + (install-data): Combine with install-etex-data. + +2003-02-17 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.ch1: Reduce to banner changes. + + * etex.ch0: Slightly extend the reverted bits here, so they can be + cleared out of etex.ch1 and are now all in one file. + +2003-02-16 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.ch1: Correct the banners, and revert a final few bits of + TeX that use a variable that doesn't exist in e-TeX. + + * etex.ch0: TeX 3.141592 and e-TeX 2.1 require reconciliation. + Revert some of TeX's code to 3.14159 to get e-TeX 2.1 to tangle. + + * etexextra.h: Update banner for 3.141592-2.1. + + * etex.mk (etex.web): Add etex.ch0 and etex.ch1 to build rules. + +2003-02-15 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk: From klibtool to libtool. Based on patches from Albert + Chin-A-Young <china@thewrittenword.com>. + + * etex.mk: Changes to make e-TeX, in extended mode, the engine + under LaTeX2e. + +2003-02-07 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk: Reorganized to match the new Makefile.in. + +2003-01-15 Olaf Weber <olaf@infovore.xs4all.nl> + + * etex.mk (etestenv): Add LC_ALL=C to the etrip environment. + +2002-10-11 Olaf Weber <olaf@infovore.xs4all.nl> + + * tex.ch1: Settle on a text for the not-TeX banner. + +2002-06-02 Olaf Weber <olaf@infovore.xs4all.nl> + + * tex.ch0, tex.ch1: Changes to account for the banner changing + when certain options are specified that make the program + not-strictly TeX. + + * tex.ch2: Commented-out changes deleted. These changes became + active in tex.ch1. + +Mon Feb 01 18:35:30 1999 Peter Breitenlohner <peb@mppmu.mpg.de> + + * Version 2.1 for Web2c Version 7.2 + +Thu Feb 19 18:03:12 1998 Peter Breitenlohner <peb@mppmu.mpg.de> + + * Version 2.0 for Web2c Version 7.2 + +Sat Aug 23 14:14:12 1997 Peter Breitenlohner <peb@mppmu.mpg.de> + + * Integrated e-TeX Version 1.1 into Web2c Version 7.0 + (by Karl Berry, as of Feb 7 1997. + + All e-TeX (and e-TRIP) source files as well as a Makefile fragment + are in a separate directory: web2c/etexdir. This will certainly make + it easier to switch to e-TeX Version 2. diff --git a/Master/texmf-dist/doc/info/dvips.info b/Master/texmf-dist/doc/info/dvips.info index 34086bc9dc3..93020bf9632 100644 --- a/Master/texmf-dist/doc/info/dvips.info +++ b/Master/texmf-dist/doc/info/dvips.info @@ -1,6 +1,6 @@ -This is dvips.info, produced by makeinfo version 6.8 from dvips.texi. +This is dvips.info, produced by makeinfo version 6.5 from dvips.texi. -This manual documents Dvips version 2022.1 (January 2022), a program to +This manual documents Dvips version 2023.1 (February 2022), a program to translate a DVI file into PostScript. You may freely use, modify and/or distribute this file. INFO-DIR-SECTION TeX @@ -16,7 +16,7 @@ File: dvips.info, Node: Top, Next: Why Dvips, Up: (dir) Dvips ***** -This manual documents Dvips version 2022.1 (January 2022), a program to +This manual documents Dvips version 2023.1 (February 2022), a program to translate a DVI file into PostScript. You may freely use, modify and/or distribute this file. @@ -4754,88 +4754,83 @@ Index Tag Table: -Node: Top520 -Node: Why Dvips1269 -Node: Installation3852 -Node: config.ps installation4787 -Node: PostScript font installation7394 -Node: Ghostscript installation8314 -Node: Diagnosing problems9253 -Node: Debug options10344 -Node: No output11348 -Node: Small or inverted12814 -Node: Printer errors13532 -Node: Long documents fail14864 -Node: Including graphics fails15205 -Node: Invoking Dvips16444 -Node: Basic usage17035 -Node: Command-line options18033 -Node: Option summary18481 -Node: Option details20756 -Node: Environment variables41579 -Node: Config files44440 -Node: Configuration file searching45110 -Node: Configuration file commands48307 -Node: Paper size and landscape56512 -Node: papersize special58137 -Node: Config file paper sizes59844 -Node: Paper trays64867 -Node: Interaction with PostScript66201 -Node: PostScript figures66854 -Node: Bounding box67580 -Node: \includegraphics70952 -Node: EPSF macros73244 -Node: EPSF scaling75212 -Node: EPSF clipping77782 -Node: psfile special78424 -Node: Dynamic creation of graphics80816 -Node: Fonts in figures82134 -Node: Header files83784 -Node: Including headers from TeX84990 -Node: Including headers from the command line87028 -Node: Headers and memory usage88127 -Node: Literal PS89338 -Node: " special89920 -Node: ps special90661 -Node: Literal headers92159 -Node: PostScript hooks92868 -Node: Literal examples94964 -Node: Hypertext96418 -Node: Hypertext caveats97592 -Node: Hypertext specials101720 -Node: PostScript fonts104354 -Node: Font concepts105471 -Node: Metric files106701 -Node: Glyph files109481 -Node: Virtual fonts111840 -Node: Encodings113995 -Node: Bitmap font encodings116397 -Node: PostScript typesetting118927 -Node: Making a font available122024 -Node: Invoking afm2tfm127058 -Node: Changing font encodings128078 -Node: Changing TeX encodings128869 -Node: Changing PostScript encodings129971 -Node: Changing both encodings131315 -Node: Reencoding with Afm2tfm131989 -Node: Encoding file format135092 -Node: Special font effects139296 -Node: Afm2tfm options141556 -Node: psfonts.map145081 -Node: Color149811 -Node: Color macro files150855 -Node: User-definable colors154065 -Node: Color subtleties155341 -Node: Ted Turner156993 -Node: Color device configuration158218 -Node: Color support details160662 -Node: Color specifications161040 -Node: Color specials162444 -Node: Index164573 +Node: Top521 +Node: Why Dvips1271 +Node: Installation3854 +Node: config.ps installation4789 +Node: PostScript font installation7396 +Node: Ghostscript installation8316 +Node: Diagnosing problems9255 +Node: Debug options10346 +Node: No output11350 +Node: Small or inverted12816 +Node: Printer errors13534 +Node: Long documents fail14866 +Node: Including graphics fails15207 +Node: Invoking Dvips16446 +Node: Basic usage17037 +Node: Command-line options18035 +Node: Option summary18483 +Node: Option details20758 +Node: Environment variables41581 +Node: Config files44442 +Node: Configuration file searching45112 +Node: Configuration file commands48309 +Node: Paper size and landscape56514 +Node: papersize special58139 +Node: Config file paper sizes59846 +Node: Paper trays64869 +Node: Interaction with PostScript66203 +Node: PostScript figures66856 +Node: Bounding box67582 +Node: \includegraphics70954 +Node: EPSF macros73246 +Node: EPSF scaling75214 +Node: EPSF clipping77784 +Node: psfile special78426 +Node: Dynamic creation of graphics80818 +Node: Fonts in figures82136 +Node: Header files83786 +Node: Including headers from TeX84992 +Node: Including headers from the command line87030 +Node: Headers and memory usage88129 +Node: Literal PS89340 +Node: " special89922 +Node: ps special90663 +Node: Literal headers92161 +Node: PostScript hooks92870 +Node: Literal examples94966 +Node: Hypertext96420 +Node: Hypertext caveats97594 +Node: Hypertext specials101722 +Node: PostScript fonts104356 +Node: Font concepts105473 +Node: Metric files106703 +Node: Glyph files109483 +Node: Virtual fonts111842 +Node: Encodings113997 +Node: Bitmap font encodings116399 +Node: PostScript typesetting118929 +Node: Making a font available122026 +Node: Invoking afm2tfm127060 +Node: Changing font encodings128080 +Node: Changing TeX encodings128871 +Node: Changing PostScript encodings129973 +Node: Changing both encodings131317 +Node: Reencoding with Afm2tfm131991 +Node: Encoding file format135094 +Node: Special font effects139298 +Node: Afm2tfm options141558 +Node: psfonts.map145083 +Node: Color149813 +Node: Color macro files150857 +Node: User-definable colors154067 +Node: Color subtleties155343 +Node: Ted Turner156995 +Node: Color device configuration158220 +Node: Color support details160664 +Node: Color specifications161042 +Node: Color specials162446 +Node: Index164575 End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/Master/texmf-dist/doc/info/kpathsea.info b/Master/texmf-dist/doc/info/kpathsea.info index a9c122cad0c..32cddefe1b5 100644 --- a/Master/texmf-dist/doc/info/kpathsea.info +++ b/Master/texmf-dist/doc/info/kpathsea.info @@ -1,9 +1,9 @@ -This is kpathsea.info, produced by makeinfo version 5.1 from +This is kpathsea.info, produced by makeinfo version 6.5 from kpathsea.texi. This file documents the Kpathsea library for path searching. - Copyright (C) 1996-2022 Karl Berry & Olaf Weber. + Copyright (C) 1996-2023 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 @@ -37,7 +37,7 @@ Kpathsea library **************** This manual documents the Kpathsea library for path searching. It -corresponds to version 6.3.4, released in January 2022. +corresponds to version 6.3.5, released in February 2023. * Menu: @@ -61,8 +61,8 @@ File: kpathsea.info, Node: Introduction, Next: unixtex.ftp, Prev: Top, Up: T 1 Introduction ************** -This manual corresponds to version 6.3.4 of the Kpathsea library, -released in January 2022. +This manual corresponds to version 6.3.5 of the Kpathsea library, +released in February 2023. The library's fundamental purpose is to return a filename from a list of directories specified by the user, similar to what shells do when @@ -1317,7 +1317,7 @@ filename, and returns the first file found. enc files: .enc cmap files (cmap): subfont definition files: .sfd - opentype fonts: .otf + opentype fonts: .otf .OTF pdftex config (pdftexconfig): lig files: .lig texmfscripts: @@ -1703,6 +1703,10 @@ Auxiliary tasks::). 'ls-R' (Filename databases, *note Filename database::) 'TEXMFDBS'. +'lua' + (Lua scripts, <https://ctan.org/pkg/luatex>) 'LUAINPUTS' suffixes + '.lua', '.luatex', '.luc', '.luctex', '.texlua', '.texluc', '.tlu'. + 'map' (Fontmaps, *note Fontmap::) 'TEXFONTMAPS'; suffix '.map'. @@ -3031,7 +3035,7 @@ Index * !! and casefolding: Casefolding examples. (line 57) * !! in path specifications: ls-R. (line 57) -* !! in 'TEXMFDBS': ls-R. (line 11) +* !! in TEXMFDBS: ls-R. (line 11) * $ expansion: Variable expansion. (line 6) * --all: Path searching options. (line 12) @@ -3039,7 +3043,7 @@ Index (line 19) * --cnf-line: Path searching options. (line 28) -* '--cnf-line', source for path: Path sources. (line 9) +* --cnf-line, source for path: Path sources. (line 9) * --color=tty: ls-R. (line 25) * --debug=NUM: Auxiliary tasks. (line 9) * --dpi=NUM: Path searching options. @@ -3085,12 +3089,12 @@ Index * --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 39) +* -A option to ls: ls-R. (line 39) * -D NUM: Path searching options. (line 49) * -iname, find predicate: Casefolding examples. (line 78) -* -L option to 'ls': ls-R. (line 44) +* -L option to ls: ls-R. (line 44) * . directories, ignored: ls-R. (line 39) * . files: ls-R. (line 39) * .2602gf: Unable to generate fonts. @@ -3127,71 +3131,85 @@ Index (line 84) * .lig: Supported file formats. (line 88) -* .map: Supported file formats. +* .lua: Supported file formats. + (line 94) +* .luatex: Supported file formats. + (line 94) +* .luc: Supported file formats. (line 94) +* .luctex: Supported file formats. + (line 94) +* .map: Supported file formats. + (line 98) * .mem: Supported file formats. - (line 97) + (line 101) * .mf: Supported file formats. - (line 105) + (line 109) * .mft: Supported file formats. - (line 113) + (line 117) * .mlbib: Supported file formats. - (line 121) -* .mlbst: Supported file formats. (line 125) -* .mp: Supported file formats. +* .mlbst: Supported file formats. (line 129) +* .mp: Supported file formats. + (line 133) * .ocp: Supported file formats. - (line 137) -* .ofm: Supported file formats. (line 141) +* .ofm: Supported file formats. + (line 145) * .opl: Supported file formats. - (line 148) + (line 152) * .otp: Supported file formats. - (line 151) + (line 155) * .ovf: Supported file formats. - (line 154) + (line 158) * .ovp: Supported file formats. - (line 157) + (line 161) * .pfa: Supported file formats. - (line 211) + (line 215) * .pfb: Supported file formats. - (line 211) + (line 215) * .pk: Supported file formats. - (line 164) + (line 168) * .pool: Supported file formats. - (line 109) + (line 113) * .pool <1>: Supported file formats. - (line 133) + (line 137) * .pool <2>: Supported file formats. - (line 195) + (line 199) * .pro: Supported file formats. - (line 169) -* .PROGNAME qualifier in 'texmf.cnf': Config files. (line 50) + (line 173) +* .PROGNAME qualifier in texmf.cnf: Config files. (line 50) * .rhosts, writable by TeX: Security. (line 10) * .ris: Supported file formats. - (line 173) -* .sfd: Supported file formats. (line 177) +* .sfd: Supported file formats. + (line 181) * .so: Supported file formats. (line 42) * .tex: Supported file formats. - (line 180) -* .tex file, included in 'ls-R': ls-R. (line 39) + (line 184) +* .tex file, included in ls-R: ls-R. (line 39) +* .texlua: Supported file formats. + (line 94) +* .texluc: Supported file formats. + (line 94) * .tfm: Supported file formats. - (line 199) + (line 203) +* .tlu: Supported file formats. + (line 94) * .ttc: Supported file formats. - (line 207) + (line 211) * .ttf: Supported file formats. - (line 207) + (line 211) * .vf: Supported file formats. - (line 219) + (line 223) * .w: Supported file formats. (line 53) * .web: Supported file formats. (line 53) * .web <1>: Supported file formats. - (line 223) + (line 227) * / may not be /: Searching overview. (line 13) * /, trailing in home directory: Tilde expansion. (line 19) * //: Subdirectory expansion. @@ -3205,9 +3223,9 @@ Index * 8.3 filenames, using: mktex configuration. (line 68) * : may not be :: Searching overview. (line 13) * :: expansion: Default expansion. (line 6) -* ; translated to ':' in 'texmf.cnf': Config files. (line 66) -* = omitted in 'texmf.cnf' and misparsing: Config files. (line 86) -* \, line continuation in 'texmf.cnf': Config files. (line 37) +* ; translated to : in texmf.cnf: Config files. (line 66) +* = omitted in texmf.cnf and misparsing: Config files. (line 86) +* \, line continuation in texmf.cnf: Config files. (line 37) * \openin: Searching overview. (line 31) * \special, suppressing warnings about: Suppressing warnings. (line 31) @@ -3230,15 +3248,15 @@ Index * announcement mailing list: Mailing lists. (line 6) * API, re-entrant: Programming overview. (line 16) -* append-only directories and 'mktexpk': Security. (line 36) +* append-only directories and mktexpk: Security. (line 36) * appendonlydir: mktex configuration. (line 60) * Apple filesystem, case-insensitive: Casefolding rationale. (line 6) -* arguments to 'mktex': mktex script arguments. +* arguments to mktex: mktex script arguments. (line 6) * argv[0]: Calling sequence. (line 14) * autoconf, recommended: Calling sequence. (line 117) -* automounter, and 'ls-R': ls-R. (line 46) +* automounter, and ls-R: ls-R. (line 46) * auxiliary tasks: Auxiliary tasks. (line 6) * Bach, Johann Sebastian: Default expansion. (line 41) * backslash-newline: Config files. (line 37) @@ -3247,8 +3265,8 @@ Index * BIBINPUTS: Supported file formats. (line 30) * BIBINPUTS <1>: Supported file formats. - (line 121) -* blank lines, in 'texmf.cnf': Config files. (line 35) + (line 125) +* blank lines, in texmf.cnf: Config files. (line 35) * BLTXMLINPUTS: Supported file formats. (line 34) * brace expansion: Brace expansion. (line 6) @@ -3256,7 +3274,7 @@ Index * BSTINPUTS: Supported file formats. (line 38) * BSTINPUTS <1>: Supported file formats. - (line 125) + (line 129) * bug address: Reporting bugs. (line 6) * bug checklist: Bug checklist. (line 6) * bug mailing list: Mailing lists. (line 6) @@ -3276,7 +3294,7 @@ Index * checksum: Suppressing warnings. (line 16) * circle fonts: Fontmap. (line 19) -* client_path in 'kpse->format_info': Calling sequence. (line 47) +* client_path in kpse->format_info: Calling sequence. (line 47) * CLUAINPUTS: Supported file formats. (line 42) * CMAPFONTS: Supported file formats. @@ -3287,7 +3305,7 @@ Index * cnf.h: Programming with config files. (line 27) * comments, in fontmap files: Fontmap. (line 27) -* comments, in 'texmf.cnf': Config files. (line 27) +* comments, in texmf.cnf: Config files. (line 27) * comments, making: Introduction. (line 29) * common features in glyph lookup: Basic glyph lookup. (line 6) * common problems: Common problems. (line 6) @@ -3312,9 +3330,8 @@ Index * config.status: Bug checklist. (line 27) * configuration bugs: Bug checklist. (line 27) * configuration file, source for path: Path sources. (line 20) -* configuration of 'mktex' scripts: mktex configuration. (line 6) -* 'configure' options for 'mktex' scripts: mktex configuration. - (line 12) +* configuration of mktex scripts: mktex configuration. (line 6) +* configure options for mktex scripts: mktex configuration. (line 12) * context diff: Bug checklist. (line 52) * continuation character: Config files. (line 37) * core dumps, reporting: Bug checklist. (line 58) @@ -3338,12 +3355,12 @@ Index * directory permissions: Security. (line 51) * directory structure, for TeX files: TeX directory structure. (line 6) -* disabling 'mktex' scripts: mktex configuration. (line 6) +* disabling mktex scripts: mktex configuration. (line 6) * disk search: Searching overview. (line 22) * disk searching, avoiding: ls-R. (line 57) * disk usage, reducing: Logging. (line 6) * doc files: Supported file formats. - (line 185) + (line 189) * DOS compatible names: mktex configuration. (line 68) * dosnames: mktex configuration. (line 67) * dot files: ls-R. (line 39) @@ -3354,9 +3371,9 @@ Index * dvipdfmx.cfg: Specially-recognized files. (line 19) * DVIPSFONTS: Supported file formats. - (line 254) + (line 258) * DVIPSHEADERS: Supported file formats. - (line 211) + (line 215) * DVIPSMAKEPK: mktex script names. (line 32) * DVIPSSIZES: Fallback font. (line 6) * dynamic creation of files: mktex scripts. (line 6) @@ -3365,7 +3382,7 @@ Index (line 41) * elt-dirs.c <1>: Subdirectory expansion. (line 48) -* enabling 'mktex' scripts: mktex configuration. (line 6) +* enabling mktex scripts: mktex configuration. (line 6) * ENCFONTS: Supported file formats. (line 61) * engine name: Path searching options. @@ -3394,7 +3411,7 @@ Index * extensions, filename: File lookup. (line 24) * externally-built filename database: Filename database. (line 6) * extra colons: Default expansion. (line 6) -* failed 'mktex...' script invocation: mktex script names. (line 35) +* failed mktex... script invocation: mktex script names. (line 35) * fallback font: Fallback font. (line 6) * fallback resolutions: Fallback font. (line 6) * FAQ, Kpathsea: Common problems. (line 6) @@ -3437,9 +3454,9 @@ Index * fontname: mktex configuration. (line 87) * fontnames, arbitrary length: Fontmap. (line 15) * FOOINPUTS: Supported file formats. - (line 236) + (line 240) * FOOINPUTS <1>: Supported file formats. - (line 239) + (line 243) * fopen, redefined: Debugging. (line 54) * format of external database: Database format. (line 6) * ftp.cs.stanford.edu: unixtex.ftp. (line 20) @@ -3456,7 +3473,7 @@ Index * GLYPHFONTS: Supported file formats. (line 75) * GLYPHFONTS <1>: Supported file formats. - (line 164) + (line 168) * glyphlist.txt: Specially-recognized files. (line 25) * GNU C compiler bugs: TeX or Metafont failing. @@ -3480,7 +3497,7 @@ Index (line 151) * interface, not frozen: Introduction. (line 29) * introduction: Introduction. (line 6) -* 'kdebug:': Debugging. (line 105) +* kdebug:: Debugging. (line 105) * kdefault.c: Default expansion. (line 48) * Knuth, Donald E.: History. (line 6) * Knuth, Donald E., archive of programs by: unixtex.ftp. (line 20) @@ -3546,6 +3563,8 @@ Index (line 91) * ls-R database file: ls-R. (line 6) * ls-R, simplest build: ls-R. (line 22) +* LUAINPUTS: Supported file formats. + (line 94) * Mac filesystem, case-insensitive: Casefolding rationale. (line 6) * MacKenzie, David: History. (line 44) @@ -3568,13 +3587,13 @@ Index * MFBASES: Supported file formats. (line 26) * MFINPUTS: Supported file formats. - (line 105) -* MFPOOL: Supported file formats. (line 109) -* MFTINPUTS: Supported file formats. +* MFPOOL: Supported file formats. (line 113) -* MISCFONTS: Supported file formats. +* MFTINPUTS: Supported file formats. (line 117) +* MISCFONTS: Supported file formats. + (line 121) * mismatched checksum warnings: Suppressing warnings. (line 17) * missfont.log: mktex script names. (line 35) @@ -3583,9 +3602,9 @@ Index (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 script configuration: mktex configuration. (line 6) +* mktex script names: mktex script names. (line 6) +* mktex scripts: mktex scripts. (line 6) * mktex.cnf: Specially-recognized files. (line 28) * mktex.cnf <1>: mktex configuration. (line 29) @@ -3595,30 +3614,30 @@ Index * mktexfmt: mktex script names. (line 10) * mktexmf: mktex script names. (line 15) * mktexpk: mktex script names. (line 24) -* 'mktexpk' can't guess mode: Unable to generate fonts. +* mktexpk can't guess mode: Unable to generate fonts. (line 12) * mktextex: mktex script names. (line 27) * mktextfm: mktex script names. (line 30) * MLBIBINPUTS: Supported file formats. - (line 121) -* MLBSTINPUTS: Supported file formats. (line 125) +* MLBSTINPUTS: Supported file formats. + (line 129) * mode directory, omitting: mktex configuration. (line 98) * Morgan, Tim: History. (line 12) * MPINPUTS: Supported file formats. - (line 129) + (line 133) * MPMEMS: Supported file formats. - (line 97) + (line 101) * MPPOOL: Supported file formats. - (line 133) + (line 137) * MPSUPPORT: Supported file formats. - (line 101) + (line 105) * MT_FEATURES: mktex configuration. (line 39) * multiple TeX hierarchies: Brace expansion. (line 20) * must exist: Searching overview. (line 31) -* names for 'mktex' scripts: mktex script names. (line 6) +* names for mktex scripts: mktex script names. (line 6) * Neumann, Gustaf: History. (line 56) -* NFS and 'ls-R': ls-R. (line 46) +* NFS and ls-R: ls-R. (line 46) * nomfdrivers: mktex configuration. (line 92) * nomode: mktex configuration. (line 97) * none: Suppressing warnings. @@ -3627,25 +3646,25 @@ Index * numeric debugging values: Debugging. (line 34) * obtaining TeX: unixtex.ftp. (line 6) * OCPINPUTS: Supported file formats. - (line 137) -* OFMFONTS: Supported file formats. (line 141) +* OFMFONTS: Supported file formats. + (line 145) * online Metafont display, spurious: Unable to generate fonts. (line 36) * OPENTYPEFONTS: Supported file formats. - (line 145) + (line 149) * optimization caveat: TeX or Metafont failing. (line 12) * options for debugging: Debugging. (line 6) * OTPINPUTS: Supported file formats. - (line 151) + (line 155) * overview of path searching: Searching overview. (line 6) * overview of programming with Kpathsea: Programming overview. (line 6) * OVFFONTS: Supported file formats. - (line 154) + (line 158) * OVPFONTS: Supported file formats. - (line 157) + (line 161) * path expansion: Path expansion. (line 6) * path searching: Path searching. (line 6) * path searching options: Path searching options. @@ -3661,14 +3680,14 @@ Index * pdftex.cfg: Specially-recognized files. (line 34) * PDFTEXCONFIG: Supported file formats. - (line 161) + (line 165) * pdftexconfig.tex: Specially-recognized files. (line 34) * permission denied: Searching overview. (line 63) * permissions, directory: Security. (line 51) * permissions, file: Security. (line 47) * PKFONTS: Supported file formats. - (line 164) + (line 168) * plain.base: Unable to generate fonts. (line 46) * privacy, semblance of: Logging. (line 32) @@ -3685,7 +3704,7 @@ Index * proof mode: Unable to generate fonts. (line 36) * PSHEADERS: Supported file formats. - (line 169) + (line 173) * pxp Pascal preprocessor: History. (line 12) * quoting variable values: Variable expansion. (line 17) * rationale for casefolding fallback: Casefolding rationale. @@ -3705,7 +3724,7 @@ Index * retrieving TeX: unixtex.ftp. (line 6) * right-hand side of variable assignments: Config files. (line 57) * RISINPUTS: Supported file formats. - (line 173) + (line 177) * Rokicki, Tom: History. (line 12) * root user: Tilde expansion. (line 19) * runtime configuration files: Config files. (line 6) @@ -3726,16 +3745,16 @@ Index * sending patches: Bug checklist. (line 52) * setgid scripts: Security. (line 40) * SFDFONTS: Supported file formats. - (line 177) + (line 181) * shell variables: Variable expansion. (line 17) * shell_escape, example for code: Programming with config files. (line 10) -* site overrides for 'mktex...': mktex configuration. (line 29) +* site overrides for mktex...: mktex configuration. (line 29) * skeleton TeX directory: TeX directory structure. (line 6) * slow startup time: Slow path searching. (line 6) * source files: Supported file formats. - (line 188) + (line 192) * sources for search paths: Path sources. (line 6) * special: Suppressing warnings. (line 30) @@ -3765,18 +3784,18 @@ Index (line 6) * symbolic links not found: Unable to find files. (line 21) -* symbolic links, and 'ls-R': ls-R. (line 44) +* symbolic links, and ls-R: ls-R. (line 44) * symlinks, resolving: Calling sequence. (line 31) * system C compiler bugs: TeX or Metafont failing. (line 16) * system-dependent casefolding behavior: Casefolding rationale. (line 6) * T1FONTS: Supported file formats. - (line 211) + (line 215) * T1INPUTS: Supported file formats. - (line 211) + (line 215) * T42FONTS: Supported file formats. - (line 216) + (line 220) * tcfmgr.map: Specially-recognized files. (line 46) * TDS: TeX directory structure. @@ -3803,21 +3822,21 @@ Index * TEXBIB: Supported file formats. (line 30) * TEXBIB <1>: Supported file formats. - (line 121) + (line 125) * TEXCONFIG: Supported file formats. (line 57) * TEXDOCS: Supported file formats. - (line 185) + (line 189) * TEXFONTMAPS: Supported file formats. - (line 94) + (line 98) * TEXFONTS: Supported file formats. (line 75) * TEXFONTS <1>: Supported file formats. - (line 164) + (line 168) * TEXFONTS <2>: Supported file formats. - (line 199) + (line 203) * TEXFONTS <3>: Supported file formats. - (line 219) + (line 223) * texfonts.map: Fontmap. (line 6) * TEXFORMATS: Supported file formats. (line 64) @@ -3826,12 +3845,12 @@ Index * TEXINPUTS: Supported file formats. (line 79) * TEXINPUTS <1>: Supported file formats. - (line 180) + (line 184) * TEXMF: TeX directory structure. (line 6) * texmf.cnf: Specially-recognized files. (line 38) -* 'texmf.cnf' missing, warning about: Config files. (line 18) +* texmf.cnf missing, warning about: Config files. (line 18) * texmf.cnf, and variable expansion: Variable expansion. (line 6) * texmf.cnf, definition for: Config files. (line 6) * texmf.cnf, source for path: Path sources. (line 20) @@ -3846,48 +3865,48 @@ Index * TEXMFINI <1>: Supported file formats. (line 64) * TEXMFINI <2>: Supported file formats. - (line 97) + (line 101) * TEXMFLOG: Logging. (line 10) * TEXMFOUTPUT: mktex script names. (line 40) * TEXMFSCRIPTS: Supported file formats. - (line 191) + (line 195) * texmfvar: mktex configuration. (line 122) * TEXMFVAR: mktex configuration. (line 123) * texmf_casefold_search: Casefolding search. (line 12) * TEXPICTS: Supported file formats. (line 79) * TEXPKS: Supported file formats. - (line 164) + (line 168) * TEXPOOL: Supported file formats. - (line 195) + (line 199) * TEXPSHEADERS: Supported file formats. - (line 169) + (line 173) * TEXPSHEADERS <1>: Supported file formats. - (line 211) + (line 215) * TEXSIZES: Fallback font. (line 6) * TEXSOURCES: Supported file formats. - (line 188) + (line 192) * TEX_HUSH: Searching overview. (line 63) * TEX_HUSH <1>: Suppressing warnings. (line 6) * TFMFONTS: Supported file formats. - (line 199) + (line 203) * tilde expansion: Tilde expansion. (line 6) * tilde.c: Tilde expansion. (line 25) * time system call: Logging. (line 15) * tolerance for glyph lookup: Basic glyph lookup. (line 15) -* trailing '/' in home directory: Tilde expansion. (line 19) +* trailing / in home directory: Tilde expansion. (line 19) * trailing colons: Default expansion. (line 6) * translations, of path searching description: Path searching. (line 10) * TRFONTS: Supported file formats. - (line 203) + (line 207) * 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 207) + (line 211) * tug.org: unixtex.ftp. (line 6) * typeface directory, omitting: mktex configuration. (line 105) * typeface directory, omitting <1>: mktex configuration. (line 108) @@ -3902,7 +3921,7 @@ Index * unreadable file warnings: Suppressing warnings. (line 27) * unreadable files: Searching overview. (line 63) -* unusable 'ls-R' warning: ls-R. (line 51) +* unusable ls-R warning: ls-R. (line 51) * usage patterns, finding: Logging. (line 6) * USERPROFILE, as ~ expansion: Tilde expansion. (line 6) * USE_TEXMFVAR: mktex configuration. (line 128) @@ -3917,19 +3936,19 @@ Index * version numbers, determining: Bug checklist. (line 15) * VF files, not found: Searching overview. (line 31) * VFFONTS: Supported file formats. - (line 219) + (line 223) * Vojta, Paul: History. (line 30) * Walsh, Norman: History. (line 56) -* warning about unusable 'ls-R': ls-R. (line 51) -* warning, about missing 'texmf.cnf': Config files. (line 18) +* warning about unusable ls-R: ls-R. (line 51) +* warning, about missing texmf.cnf: Config files. (line 18) * warnings, file access: Searching overview. (line 63) * warnings, suppressing: Suppressing warnings. (line 6) * WEB2C: Supported file formats. - (line 227) + (line 231) * Weber, Olaf: History. (line 73) * WEBINPUTS: Supported file formats. - (line 223) + (line 227) * whitespace, in fontmap files: Fontmap. (line 31) * whitespace, not ignored on continuation lines: Config files. (line 37) @@ -3939,7 +3958,7 @@ Index * XDvi: Specially-recognized files. (line 41) * XDVIFONTS: Supported file formats. - (line 254) + (line 258) * XDVIMAKEPK: mktex script names. (line 32) * XDVISIZES: Fallback font. (line 6) * zuhn, david: History. (line 50) @@ -3948,61 +3967,61 @@ Index Tag Table: Node: Top1480 -Node: Introduction2262 -Node: History4331 -Node: unixtex.ftp8927 -Node: Security10397 -Node: TeX directory structure12901 -Node: Path searching16940 -Node: Searching overview17898 -Node: Path sources21717 -Node: Config files22943 -Node: Path expansion27815 -Node: Default expansion28768 -Node: Variable expansion30838 -Node: Tilde expansion32239 -Node: Brace expansion33219 -Node: KPSE_DOT expansion34158 -Node: Subdirectory expansion34671 -Node: Casefolding search37019 -Node: Casefolding rationale37788 -Node: Casefolding examples39134 -Node: Filename database44180 -Node: ls-R45162 -Node: Filename aliases48838 -Node: Database format50016 -Node: Invoking kpsewhich51029 -Node: Path searching options51984 -Node: Specially-recognized files61582 -Node: Auxiliary tasks62937 -Node: Standard options66662 -Node: TeX support67018 -Node: Supported file formats68372 -Node: File lookup76040 -Node: Glyph lookup77789 -Node: Basic glyph lookup78913 -Node: Fontmap79793 -Node: Fallback font82303 -Node: Suppressing warnings83215 -Node: mktex scripts84342 -Node: mktex configuration85557 -Node: mktex script names91360 -Node: mktex script arguments92746 -Node: Programming93625 -Node: Programming overview94198 -Node: Calling sequence97059 -Node: Program-specific files103588 -Node: Programming with config files104611 -Node: Reporting bugs106198 -Node: Bug checklist106876 -Node: Mailing lists110345 -Node: Debugging111022 -Node: Logging116099 -Node: Common problems117966 -Node: Unable to find files118443 -Node: Slow path searching120853 -Node: Unable to generate fonts122228 -Node: TeX or Metafont failing124700 -Node: Index125902 +Node: Introduction2263 +Node: History4333 +Node: unixtex.ftp8929 +Node: Security10399 +Node: TeX directory structure12903 +Node: Path searching16942 +Node: Searching overview17900 +Node: Path sources21719 +Node: Config files22945 +Node: Path expansion27817 +Node: Default expansion28770 +Node: Variable expansion30840 +Node: Tilde expansion32241 +Node: Brace expansion33221 +Node: KPSE_DOT expansion34160 +Node: Subdirectory expansion34673 +Node: Casefolding search37021 +Node: Casefolding rationale37790 +Node: Casefolding examples39136 +Node: Filename database44182 +Node: ls-R45164 +Node: Filename aliases48840 +Node: Database format50018 +Node: Invoking kpsewhich51031 +Node: Path searching options51986 +Node: Specially-recognized files61589 +Node: Auxiliary tasks62944 +Node: Standard options66669 +Node: TeX support67025 +Node: Supported file formats68379 +Node: File lookup76198 +Node: Glyph lookup77947 +Node: Basic glyph lookup79071 +Node: Fontmap79951 +Node: Fallback font82461 +Node: Suppressing warnings83373 +Node: mktex scripts84500 +Node: mktex configuration85715 +Node: mktex script names91518 +Node: mktex script arguments92904 +Node: Programming93783 +Node: Programming overview94356 +Node: Calling sequence97217 +Node: Program-specific files103746 +Node: Programming with config files104769 +Node: Reporting bugs106356 +Node: Bug checklist107034 +Node: Mailing lists110503 +Node: Debugging111180 +Node: Logging116257 +Node: Common problems118124 +Node: Unable to find files118601 +Node: Slow path searching121011 +Node: Unable to generate fonts122386 +Node: TeX or Metafont failing124858 +Node: Index126060 End Tag Table diff --git a/Master/texmf-dist/doc/info/tlbuild.info b/Master/texmf-dist/doc/info/tlbuild.info index 907ec4bf246..d89e75add64 100644 --- a/Master/texmf-dist/doc/info/tlbuild.info +++ b/Master/texmf-dist/doc/info/tlbuild.info @@ -1,10 +1,10 @@ -This is tlbuild.info, produced by makeinfo version 6.8 from +This is tlbuild.info, produced by makeinfo version 7.0.2 from tlbuild.texi. This file documents the TeX Live build system and more. -Copyright (C) 2016-2022 Karl Berry. -Copyright (C) 2013-2015 Karl Berry & Peter Breitenlohner. +Copyright © 2016–2023 Karl Berry. +Copyright © 2013–2015 Karl Berry & Peter Breitenlohner. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -33,7 +33,7 @@ END-INFO-DIR-ENTRY File: tlbuild.info, Node: Top, Next: Introduction, Up: (dir) -Building TeX Live (2022) +Building TeX Live (2023) ************************ For an overview of this manual, *note Introduction::. @@ -59,17 +59,18 @@ File: tlbuild.info, Node: Introduction, Next: Overview of build system, Prev: 1 Introduction ************** -This manual (dated March 2022) corresponds to the TeX Live 2022 release. +This manual (dated February 2023) corresponds to the TeX Live 2023 +release. This manual is aimed at system installers and programmers, and focuses on how to configure, build, and develop the TeX Live (TL) sources. It is also available as plain text files in the source tree: -'source/README.*'. +‘source/README.*’. - The main 'source/README' file in the TL source tree provides + The main ‘source/README’ file in the TL source tree provides maximally-terse information for doing a build, and portability information for different systems, along with -'source/doc/README.solaris'. +‘source/doc/README.solaris’. For information on acquiring the TL sources, see <https://tug.org/texlive/svn>. The canonical source repository uses @@ -78,27 +79,27 @@ Subversion, and we have no plans to change this. This manual does not duplicate the information found in other TL documentation resources, such as: - * The TeX Live web pages: <https://tug.org/texlive>. + • The TeX Live web pages: <https://tug.org/texlive>. - * The web page describing how to build the binaries which are + • The web page describing how to build the binaries which are distributed with TeX Live: <https://tug.org/texlive/build.html>. - * The TeX Live user manual: <https://tug.org/texlive/doc.html>, or - run 'texdoc texlive'. + • The TeX Live user manual: <https://tug.org/texlive/doc.html>, or + run ‘texdoc texlive’. - * Other TeX-related Texinfo manuals (*note (web2c)::, *note + • Other TeX-related Texinfo manuals (*note (web2c)::, *note (kpathsea)::, etc.): <https://tug.org/texinfohtml/>, or check the - 'TeX' category in the GNU Info system. + ‘TeX’ category in the GNU Info system. - * Package documentation: - <https://tug.org/texlive/Contents/live/doc.html>, or the 'doc.html' + • Package documentation: + <https://tug.org/texlive/Contents/live/doc.html>, or the ‘doc.html’ file at the top level of the installed TL. - As an exception, the full documentation for 'install-tl' and 'tlmgr' + As an exception, the full documentation for ‘install-tl’ and ‘tlmgr’ is included here as appendices, simply because it is easy to do so. The same text is available online (linked from <https://tug.org/texlive/doc.html>, or by invoking the program with -'--help' (or look at the end of the source). +‘--help’ (or look at the end of the source). File: tlbuild.info, Node: Overview of build system, Next: Prerequisites, Prev: Introduction, Up: Top @@ -108,34 +109,34 @@ File: tlbuild.info, Node: Overview of build system, Next: Prerequisites, Prev The TeX Live build system was redesigned in 2009 to consistently use Autoconf, Automake, and Libtool. Thus, running - 'configure && make && make check && make install' -or the essentially-equivalent top-level 'Build' script suffices to build -and install the TL programs. The 'make check' clause performs various -tests of the generated programs--not strictly required but strongly -recommended. Running 'configure --help' will display a comprehensive -list of all 'configure' options. + ‘configure && make && make check && make install’ +or the essentially-equivalent top-level ‘Build’ script suffices to build +and install the TL programs. The ‘make check’ clause performs various +tests of the generated programs—not strictly required but strongly +recommended. Running ‘configure --help’ will display a comprehensive +list of all ‘configure’ options. The main components of the TL build system are: -'libs/LIB' +‘libs/LIB’ Generic libraries. -'texk/LIB' - TeX-specific libraries in subdirectories, notably LIB='kpathsea'. - (The other one is 'texk/ptexenc'.) +‘texk/LIB’ + TeX-specific libraries in subdirectories, notably LIB=‘kpathsea’. + (The other one is ‘texk/ptexenc’.) -'texk/PROG' +‘texk/PROG’ TeX-specific programs (that use Kpathsea). -'utils/PROG' - Other programs (that don't use Kpathsea). +‘utils/PROG’ + Other programs (that don’t use Kpathsea). The primary design goal of the build system is modularity. Each program and library module (or package) specifies its own requirements and properties, such as required libraries, whether an installed -(system) version of a library can be used, 'configure' options to be +(system) version of a library can be used, ‘configure’ options to be seen at the top level, and more. An explicit list of all available -modules is kept in a single central place: 'm4/kpse-pkgs.m4'. +modules is kept in a single central place: ‘m4/kpse-pkgs.m4’. A second, related goal is to configure and build each library before configuring any other (program or library) module which uses that @@ -158,78 +159,78 @@ File: tlbuild.info, Node: Prerequisites, Next: Building, Prev: Overview of bu *************** Overall, building the TeX Live programs, when using all libraries from -the TL source tree, requires C and C++11 compilers, GNU 'make', and +the TL source tree, requires C and C++11 compilers, GNU ‘make’, and Python. - * If 'make' from your 'PATH' is not GNU 'make', you can set the - 'MAKE' environment variable to whatever is necessary. + • If ‘make’ from your ‘PATH’ is not GNU ‘make’, you can set the + ‘MAKE’ environment variable to whatever is necessary. - GNU 'make' is required only because of third-party libraries, + GNU ‘make’ is required only because of third-party libraries, notably FreeType. Automake/Autoconf output in general, and the - TL-maintained directories, work with any reasonable 'make'.(1) + TL-maintained directories, work with any reasonable ‘make’.(1) - * A C++11 compiler is similarly required because of the third-party - libraries ICU and HarfBuzz (at least); the program 'dvisvgm' also + • A C++11 compiler is similarly required because of the third-party + libraries ICU and HarfBuzz (at least); the program ‘dvisvgm’ also requires C++11. It is possible to build what remains with older compilers, but you have to remove the C++11-dependent sources. *Note Build one package::. - * Python is required by ICU tests. (If you know how to disable these + • Python is required by ICU tests. (If you know how to disable these tests and thus eliminate the requirement, please write.) A few programs in the tree have additional requirements: -'web2c' - requires 'perl' for some tests run by 'make check'. Incidentally, - the TeX Live installer ('install-tl') and manager ('tlmgr') are +‘web2c’ + requires ‘perl’ for some tests run by ‘make check’. Incidentally, + the TeX Live installer (‘install-tl’) and manager (‘tlmgr’) are also written in Perl, but this does not matter for compiling the sources. -'xdvik' -'xpdfopen' +‘xdvik’ +‘xpdfopen’ require X11 headers and libraries, typically in devel(opment) packages that are not installed by default. -'xetex' - requires 'fontconfig' (again both headers and library), or, for - MacOS only, the 'ApplicationServices' and 'Cocoa' frameworks. +‘xetex’ + requires ‘fontconfig’ (again both headers and library), or, for + MacOS only, the ‘ApplicationServices’ and ‘Cocoa’ frameworks. -'xindy' - requires GNU 'clisp', 'libsigsegv', and 'libiconv'; additionally, - to build the rules and/or documentation: 'perl', 'latex', - 'pdflatex'. +‘xindy’ + requires GNU ‘clisp’, ‘libsigsegv’, and ‘libiconv’; additionally, + to build the rules and/or documentation: ‘perl’, ‘latex’, + ‘pdflatex’. Lacking the required tools, building these programs must avoided, e.g., -'configure --without-x --disable-xetex --disable-xindy' +‘configure --without-x --disable-xetex --disable-xindy’ Modifying source files induces more requirements, as one might expect: - * Modification of any '.y' or '.l' source files requires 'bison' or - 'flex' to update the corresponding C sources. + • Modification of any ‘.y’ or ‘.l’ source files requires ‘bison’ or + ‘flex’ to update the corresponding C sources. - * Modification of the sources for '.info' files requires 'makeinfo'. + • Modification of the sources for ‘.info’ files requires ‘makeinfo’. - * Modification of any part of the build system (M4 macros, - 'configure.ac', 'Makefile.am', or their fragments) requires GNU M4, + • Modification of any part of the build system (M4 macros, + ‘configure.ac’, ‘Makefile.am’, or their fragments) requires GNU M4, GNU Autoconf, GNU Automake, and GNU Libtool to update the generated files. Furthermore, to reliably reproduce the build files, the original GNU releases of these tools must be used, not any distro packaging of them. *Note Build system tools::, for more discussion. - If you haven't modified any source files, and infrastructure tools -such as 'autoconf' or 'makeinfo' are still being run, check your -timestamps--notably, 'use-commit-times' must be set to 'yes' in your + If you haven’t modified any source files, and infrastructure tools +such as ‘autoconf’ or ‘makeinfo’ are still being run, check your +timestamps—notably, ‘use-commit-times’ must be set to ‘yes’ in your Subversion configuration (*note Build system tools::). No infrastructure tools are needed to do a normal build (barring bugs). ---------- Footnotes ---------- - (1) There is one exception in TL: the 'tangle-sh' and related rules -use '$@' to mean the target name, a feature not present in all 'make's. -This could be alleviated by laborious editing, but since there's no way -to avoid GNU 'make' for builds of the entire tree, it does not seem + (1) There is one exception in TL: the ‘tangle-sh’ and related rules +use ‘$@’ to mean the target name, a feature not present in all ‘make’s. +This could be alleviated by laborious editing, but since there’s no way +to avoid GNU ‘make’ for builds of the entire tree, it does not seem worth the trouble. @@ -238,25 +239,25 @@ File: tlbuild.info, Node: Building, Next: Installing, Prev: Prerequisites, U 4 Building ********** -The top-level 'Build' script is intended to simplify building the -binaries distributed with TeX Live itself--we call this the "native" TL -build. It runs 'configure && make world', which builds everything in a -subdirectory of the main source tree (default 'Work/'), installs -everything in another subdirectory (default 'inst/'), and finally runs -'make check'. The exact directory and command names can be specified +The top-level ‘Build’ script is intended to simplify building the +binaries distributed with TeX Live itself—we call this the “native” TL +build. It runs ‘configure && make world’, which builds everything in a +subdirectory of the main source tree (default ‘Work/’), installs +everything in another subdirectory (default ‘inst/’), and finally runs +‘make check’. The exact directory and command names can be specified via environment variables and a few leading options. All remaining -arguments (assignments or options) are passed to the 'configure' script. -Please take a look at the './Build' source file for more information; it +arguments (assignments or options) are passed to the ‘configure’ script. +Please take a look at the ‘./Build’ source file for more information; it is a straightforward shell script. An alternative, and the one we will mainly discuss here, is to run -'configure' and 'make' in a suitable empty subdirectory. Building in +‘configure’ and ‘make’ in a suitable empty subdirectory. Building in the source directory itself is not supported (sorry). * Menu: -* Build iteration:: What 'configure' and 'make' do in TL. -* Build in parallel:: Simultaneous 'make' processes. +* Build iteration:: What ‘configure’ and ‘make’ do in TL. +* Build in parallel:: Simultaneous ‘make’ processes. * Build distribution:: Making a distribution tarball. * Build one package:: Example of working on just one program. * Build one engine:: Example of building just one TeX engine. @@ -268,22 +269,22 @@ File: tlbuild.info, Node: Build iteration, Next: Build in parallel, Up: Build 4.1 Build iteration =================== -Running the top-level 'configure' script configures the top level and -the subdirectories 'libs', 'utils', and 'texk'. Running 'make' at the +Running the top-level ‘configure’ script configures the top level and +the subdirectories ‘libs’, ‘utils’, and ‘texk’. Running ‘make’ at the top level first iterates over the TeX-specific libraries, and then runs -'make' in 'libs', 'utils', and 'texk' to iterate over the generic +‘make’ in ‘libs’, ‘utils’, and ‘texk’ to iterate over the generic libraries, utility programs, and TeX-specific programs, respectively. These iterations consist of two steps: 1. For each library or program module not yet configured, run - 'configure', adding the configure option '--disable-build' if the - module need not be built, otherwise running 'make all'. + ‘configure’, adding the configure option ‘--disable-build’ if the + module need not be built, otherwise running ‘make all’. - 2. For each library or program module that must be built, run 'make' - for the selected target(s): 'default' or 'all' to (re-)build, - 'check' to run tests, 'install', etc. + 2. For each library or program module that must be built, run ‘make’ + for the selected target(s): ‘default’ or ‘all’ to (re-)build, + ‘check’ to run tests, ‘install’, etc. - Running the top-level 'make' a second time iterates again over all + Running the top-level ‘make’ a second time iterates again over all the library and program modules, and finds (should find) nothing to be done. @@ -293,14 +294,14 @@ File: tlbuild.info, Node: Build in parallel, Next: Build distribution, Prev: 4.2 Build in parallel ===================== -The TL build system carefully formulates dependencies as well as 'make' -rules when a tool (such as 'tangle', 'ctangle', and 'convert') creates -several output files. This allows for parallel builds ('make -j N' with -N>1 or even 'make -j') that can considerably speed up the TL build. +The TL build system carefully formulates dependencies as well as ‘make’ +rules when a tool (such as ‘tangle’, ‘ctangle’, and ‘convert’) creates +several output files. This allows for parallel builds (‘make -j N’ with +N>1 or even ‘make -j’) that can considerably speed up the TL build. Incidentally, a noticeable speed-up can be independently gained by -using a configure cache file, i.e., specifying the 'configure' option -'-C' (recommended). +using a configure cache file, i.e., specifying the ‘configure’ option +‘-C’ (recommended). File: tlbuild.info, Node: Build distribution, Next: Build one package, Prev: Build in parallel, Up: Building @@ -308,9 +309,9 @@ File: tlbuild.info, Node: Build distribution, Next: Build one package, Prev: 4.3 Build distribution ====================== -Running 'make dist' at the top level creates a tarball -'tex-live-YYYY-MM-DD.tar.xz' from the TL source tree. Running 'make -distcheck' also verifies that this tarball suffices to build and install +Running ‘make dist’ at the top level creates a tarball +‘tex-live-YYYY-MM-DD.tar.xz’ from the TL source tree. Running ‘make +distcheck’ also verifies that this tarball suffices to build and install all of TL. This is useful for checking consistency of the source tree and @@ -324,14 +325,14 @@ File: tlbuild.info, Node: Build one package, Next: Build one engine, Prev: Bu 4.4 Build one package ===================== -To build one package, the basic idea is to use the 'configure' option -'--disable-all-pkgs' (*note --disable-all-pkgs::). Then all program and +To build one package, the basic idea is to use the ‘configure’ option +‘--disable-all-pkgs’ (*note --disable-all-pkgs::). Then all program and library modules are configured but none are made. However, the -'Makefile's still contain all build rules and dependencies and can be +‘Makefile’s still contain all build rules and dependencies and can be invoked to build an individual program or library, first building any required libraries. - Here is an example from start to finish for working on 'dvipdfm-x'. + Here is an example from start to finish for working on ‘dvipdfm-x’. Unfortunately, this does not suffice for building the TeX engines; see the next section. @@ -355,27 +356,27 @@ the next section. cd texk/dvipdfm-x make check - # Run the new binary in the buil tree, finding support files + # Run the new binary in the build tree, finding support files # in a separate tree for a TeX Live release YYYY # (Bourne shell syntax): TEXMFROOT=/usr/local/texlive/YYYY \ TEXMFCNF=$TEXMFROOT/texmf-dist/web2c \ ./xdvipdfmx ... - Then you can modify source files in 'mydir/texk/dvipdfm-x' and rerun -'make' in 'mydir/Work/texk/dvipdfm-x' to rebuild; that build directory + Then you can modify source files in ‘mydir/texk/dvipdfm-x’ and rerun +‘make’ in ‘mydir/Work/texk/dvipdfm-x’ to rebuild; that build directory is where the binary ends up and where you can run a debugger, etc. - The second line of the 'configure' invocation shows examples of extra + The second line of the ‘configure’ invocation shows examples of extra things you likely want to specify if you intend to hack the sources (and -not just build binaries): the '-C' speeds 'configure' by enabling a -cache file, and the 'CFLAGS' and 'CXXFLAGS' settings eliminate compiler +not just build binaries): the ‘-C’ speeds ‘configure’ by enabling a +cache file, and the ‘CFLAGS’ and ‘CXXFLAGS’ settings eliminate compiler optimization for debugging purposes. Of course, you need to actually look at the output and check that -things are working. There are many 'configure' options you can tweak as -desired; check the output from 'configure --help'. It is also a good -idea to run 'make check' after making any changes, to ensure that +things are working. There are many ‘configure’ options you can tweak as +desired; check the output from ‘configure --help’. It is also a good +idea to run ‘make check’ after making any changes, to ensure that whatever tests have been written still pass. Reducing source download size @@ -385,48 +386,48 @@ The above retrieves the entire TL source tree (several hundred megabytes). It is natural to ask if this is really necessary. Strictly speaking, the answer is no, but it is vastly more convenient to do so. If you cut down the source tree, you must also give additional -'configure' flags to individually disable using system versions of -libraries, or the intricacies of the dependencies (such as 'teckit' -requiring 'zlib') will have undesired side effects. For an example of -this approach, see the 'build-pdftex.sh' script in the 'pdftex' +‘configure’ flags to individually disable using system versions of +libraries, or the intricacies of the dependencies (such as ‘teckit’ +requiring ‘zlib’) will have undesired side effects. For an example of +this approach, see the ‘build-pdftex.sh’ script in the ‘pdftex’ development source (details at <http://pdftex.org>), which is indeed such a cut-down TL source tree. GCC used by default ................... -By default, the 'gcc' compilers will be used if present; otherwise, +By default, the ‘gcc’ compilers will be used if present; otherwise, individual packages may use something different. You can explicitly -specify the compilers to be used with the environment variables 'CC', -'CXX', and 'OBJCXX'. +specify the compilers to be used with the environment variables ‘CC’, +‘CXX’, and ‘OBJCXX’. Removing C+11 dependency ........................ Some libraries and programs require C++11; one such is XeTeX. If you want to build with an older compiler lacking such support, you need to -(re)move those source directories; unfortunately, specifying '--disable' -for them does not suffice. It's also necessary to specify -'--disable-xetex' explicitly. Specifically, before running 'configure ---disable-xetex ...': +(re)move those source directories; unfortunately, specifying ‘--disable’ +for them does not suffice. It’s also necessary to specify +‘--disable-xetex’ explicitly. Specifically, before running ‘configure +--disable-xetex ...’: rm -rf libs/icu libs/graphite2 texk/dvisvgm texk/web2c/xetexdir - Also, even with '--disable-all-pkgs', dependencies are (currently) + Also, even with ‘--disable-all-pkgs’, dependencies are (currently) checked. One notable case: if a (non-MacOS) system does not have -'fontconfig', XeTeX cannot be built (*note Prerequisites::), and -'configure' will terminate even with '--disable-xetex'. To proceed -without such dependencies, specify '--enable-missing' also. +‘fontconfig’, XeTeX cannot be built (*note Prerequisites::), and +‘configure’ will terminate even with ‘--disable-xetex’. To proceed +without such dependencies, specify ‘--enable-missing’ also. As of 2022, HarfBuzz also requires C++11. Therefore even more would -have to be disabled and removed, notably including 'luahbtex', the +have to be disabled and removed, notably including ‘luahbtex’, the standard engine used for LuaLaTeX. Removing that would not be acceptable for builds intended for distribution; but perhaps for testing the above information could still be useful. - In general, the TL 'configure' will run in all directories. + In general, the TL ‘configure’ will run in all directories. Therefore a general workaround for build problems is to remove failing -directories from the tree, and also specify the relevant '--disable-...' +directories from the tree, and also specify the relevant ‘--disable-...’ option(s). Patches to improve all this would be most welcome. @@ -454,45 +455,45 @@ original TeX: cd texk/web2c # cd engine build directory make tex # must specify target - The first 'make' run will configure everything, and even build the + The first ‘make’ run will configure everything, and even build the libraries, even though the packages are disabled. The source tree can be cut down to just what is needed for the given engine (the separate pdfTeX and LuaTeX source repositories do this, for example), but see caveats in previous section. When the -'--disable-xetex' and '--enable-missing' options are needed is also +‘--disable-xetex’ and ‘--enable-missing’ options are needed is also explained in the previous section. If you want to debug an X-related program or shared library setup, or -other variants, change the 'configure' options accordingly. Either -'../Build' or '../configure' can be run. +other variants, change the ‘configure’ options accordingly. Either +‘../Build’ or ‘../configure’ can be run. - Then it is necessary to again specify the target engine ('tex', in -the above) in the 'make'. + Then it is necessary to again specify the target engine (‘tex’, in +the above) in the ‘make’. All these complications are rather unfortunate. Patches are welcome. Testing one engine .................. -To run only the tests for a given engine, say 'hitex': +To run only the tests for a given engine, say ‘hitex’: make -C $ww check SUBDIRS=. TESTS='$(hitex_tests)' -where '$ww' is the web2c build directory, that is, -'ww=/wherever/Build/source/Work/texk/web2c'. +where ‘$ww’ is the web2c build directory, that is, +‘ww=/wherever/Build/source/Work/texk/web2c’. - It's also possible to run individual tests the same way, using the -test name exactly as specified in the '.am' file: + It’s also possible to run individual tests the same way, using the +test name exactly as specified in the ‘.am’ file: make -C $ww check SUBDIRS=. TESTS=hitexdir/tests/hello.test - If you get tired of looking at the 'Entering'/'Leaving directory' -lines, you can add the (GNU) make option '--no-print-dir'. + If you get tired of looking at the ‘Entering’/‘Leaving directory’ +lines, you can add the (GNU) make option ‘--no-print-dir’. You may find it useful to put lengthy incantations like this into a -trivial shell script with a short name (say, 'hitst'). Then you just -run 'hitst' and edit the file when necessary to change things around. +trivial shell script with a short name (say, ‘hitst’). Then you just +run ‘hitst’ and edit the file when necessary to change things around. File: tlbuild.info, Node: Cross compilation, Prev: Build one engine, Up: Building @@ -500,21 +501,21 @@ File: tlbuild.info, Node: Cross compilation, Prev: Build one engine, Up: Buil 4.6 Cross compilation ===================== -In a cross compilation a "build" system is used to create binaries to be -executed on a "host" system with different hardware and/or operating +In a cross compilation a “build” system is used to create binaries to be +executed on a “host” system with different hardware and/or operating system. In simple cases, the build system can execute binaries for the host system. This typically occurs for bi-arch systems where, e.g., -'i386-linux' binaries can run on 'x86_64-linux' systems and 'win32' -binaries can run on 'win64' systems. Although sometimes called "native -cross", technically this is not cross compilation at all. In most such +‘i386-linux’ binaries can run on ‘x86_64-linux’ systems and ‘win32’ +binaries can run on ‘win64’ systems. Although sometimes called “native +cross”, technically this is not cross compilation at all. In most such cases it suffices to specify suitable compiler flags. It might be -useful to add the configure option '--build=HOST' to get the correct -canonical host name, but note that this should _not_ be '--host=HOST' +useful to add the configure option ‘--build=HOST’ to get the correct +canonical host name, but note that this should _not_ be ‘--host=HOST’ (*note (autoconf)Hosts and Cross-Compilation::). - In order to build, e.g., 32-bit binaries with 'clang' on a 64-bit + In order to build, e.g., 32-bit binaries with ‘clang’ on a 64-bit MacOS system one could use: TL_BUILD_ENV="CC='clang -arch i386' \ @@ -535,13 +536,13 @@ File: tlbuild.info, Node: Cross configuring, Next: Cross problems, Up: Cross In a standard cross compilation, binaries for the host system cannot execute on the build system and it is necessary to specify the configure -options '--host=HOST' and '--build=BUILD' with two different values. +options ‘--host=HOST’ and ‘--build=BUILD’ with two different values. - Building binaries requires suitable "cross" tools, e.g., compiler, -linker, and archiver, and perhaps a "cross" version of 'pkg-config' and + Building binaries requires suitable “cross” tools, e.g., compiler, +linker, and archiver, and perhaps a “cross” version of ‘pkg-config’ and similar to locate host system libraries. Autoconf expects that these cross tools are given by their usual variables or found under their -usual name prefixed with 'HOST-'. Here a list of such tools and +usual name prefixed with ‘HOST-’. Here a list of such tools and corresponding variables: ar AR @@ -554,8 +555,8 @@ corresponding variables: ranlib RANLIB strip STRIP -In order to, e.g., build 'mingw32' binaries on 'x86_64-linux' with a -cross compiler found as 'i386-pc-mingw32-gcc' one would specify +In order to, e.g., build ‘mingw32’ binaries on ‘x86_64-linux’ with a +cross compiler found as ‘i386-pc-mingw32-gcc’ one would specify --host=i386-pc-mingw32 --build=x86_64-linux-gnu @@ -563,9 +564,9 @@ or perhaps --host=mingw32 --build=x86_64-linux CC=i386-pc-mingw32-gcc -but this latter, especially, might require adding 'CXX' and others. +but this latter, especially, might require adding ‘CXX’ and others. - Configure arguments such as 'CFLAGS=...' refer to the cross compiler. + Configure arguments such as ‘CFLAGS=...’ refer to the cross compiler. If necessary, you can specify compilers and flags for the few auxiliary C and C++ programs required for the build process as configure arguments @@ -585,31 +586,31 @@ File: tlbuild.info, Node: Cross problems, Prev: Cross configuring, Up: Cross The fact that binaries for the host system cannot be executed on the build system causes some problems. - One problem is that configure tests using 'AC_RUN_IFELSE' can compile + One problem is that configure tests using ‘AC_RUN_IFELSE’ can compile and link the test program but cannot execute it. Such tests should be avoided if possible and otherwise must supply a pessimistic test result. Another problem arises if the build process must execute some (auxiliary or installable) programs. Auxiliary programs can be placed into a subdirectory that is configured natively as is done for -'texk/web2c/web2c', 'texk/dvipsk/squeeze', and 'texk/xdvik/squeeze'. -The module 'libs/freetype2' uses the value of 'CC_BUILD', 'BUILD-gcc', -'gcc', or 'cc' as the compiler for the auxiliary program. +‘texk/web2c/web2c’, ‘texk/dvipsk/squeeze’, and ‘texk/xdvik/squeeze’. +The module ‘libs/freetype2’ uses the value of ‘CC_BUILD’, ‘BUILD-gcc’, +‘gcc’, or ‘cc’ as the compiler for the auxiliary program. The situation for installable programs needed by the build process is somewhat different. A rather expensive possibility, chosen for the ICU -libraries in module 'libs/icu', is to first compile natively for the +libraries in module ‘libs/icu’, is to first compile natively for the build system and in a second step to use these (uninstalled) programs during the cross compilation. - This approach would also be possible for the tools such as 'tangle' -used in the module 'texk/web2c' to build the WEB programs, but that -would require first building a native 'kpathsea' library. To avoid this + This approach would also be possible for the tools such as ‘tangle’ +used in the module ‘texk/web2c’ to build the WEB programs, but that +would require first building a native ‘kpathsea’ library. To avoid this complication, cross compilation of programs written in (C)WEB requires -sufficiently recent installed versions of 'tangle', 'ctangle', -'otangle', and 'tie'. +sufficiently recent installed versions of ‘tangle’, ‘ctangle’, +‘otangle’, and ‘tie’. - Building 'xindy' requires running the host system 'clisp' binary, + Building ‘xindy’ requires running the host system ‘clisp’ binary, thus cross compilation is painful, but possible. @@ -618,22 +619,22 @@ File: tlbuild.info, Node: Installing, Next: Layout and infrastructure, Prev: 5 Installing ************ -This section discusses the results of 'make install' in the source tree. +This section discusses the results of ‘make install’ in the source tree. - The main consideration is that 'make install' is not enough to make a + The main consideration is that ‘make install’ is not enough to make a usable TeX installation. Beyond the compiled binaries, (thousands of) -support files are needed; just as a first example, 'plain.tex' is not in +support files are needed; just as a first example, ‘plain.tex’ is not in the source tree. These support files are maintained completely independently and are not present in the TL source tree. The best basis for dealing with them -is the TeX Live (plain text) database in 'Master/tlpkg/texlive.tlpdb', -and/or the TeX Live installer, 'install-tl'. More information is under -'Master/tlpkg' and at <https://tug.org/texlive/distro.html>. +is the TeX Live (plain text) database in ‘Master/tlpkg/texlive.tlpdb’, +and/or the TeX Live installer, ‘install-tl’. More information is under +‘Master/tlpkg’ and at <https://tug.org/texlive/distro.html>. * Menu: -* Installation directories:: The prefix, 'bindir', etc., directories. +* Installation directories:: The prefix, ‘bindir’, etc., directories. * Linked scripts:: Scripts not maintained in the sources. * Distro builds:: Configuring and building for OS distributions. @@ -643,15 +644,15 @@ File: tlbuild.info, Node: Installation directories, Next: Linked scripts, Up: 5.1 Installation directories ============================ -Running 'make install' (or 'make install-strip') installs executables in -'BINDIR', libraries in 'LIBDIR', headers in 'INCLUDEDIR', general data -(including "linked scripts", *note Linked scripts::) in -'DATAROOTDIR/texmf-dist', man pages in 'MANDIR', and Info files in -'INFODIR'. +Running ‘make install’ (or ‘make install-strip’) installs executables in +‘BINDIR’, libraries in ‘LIBDIR’, headers in ‘INCLUDEDIR’, general data +(including “linked scripts”, *note Linked scripts::) in +‘DATAROOTDIR/texmf-dist’, man pages in ‘MANDIR’, and Info files in +‘INFODIR’. - The values of these directories are determined by 'configure' and can -be specified explicitly as options such as '--prefix=PREFIX' or -'--bindir=BINDIR'; otherwise, they are given by their usual Autoconf + The values of these directories are determined by ‘configure’ and can +be specified explicitly as options such as ‘--prefix=PREFIX’ or +‘--bindir=BINDIR’; otherwise, they are given by their usual Autoconf defaults: PREFIX /usr/local @@ -665,22 +666,22 @@ defaults: except possibly modified as follows: - * If the option '--enable-multiplatform' is given, '/PLATFORM' (i.e., - the canonical platform name) is appended to 'BINDIR' and 'LIBDIR'. + • If the option ‘--enable-multiplatform’ is given, ‘/PLATFORM’ (i.e., + the canonical platform name) is appended to ‘BINDIR’ and ‘LIBDIR’. This is implied for a native TL build. - * In a native TL build, 'DATAROOTDIR' is set to 'PREFIX', 'INFODIR' - is set to 'PREFIX/texmf-dist/doc/info', and 'MANDIR' to - 'PREFIX/texmf-dist/doc/man', corresponding to the directories used + • In a native TL build, ‘DATAROOTDIR’ is set to ‘PREFIX’, ‘INFODIR’ + is set to ‘PREFIX/texmf-dist/doc/info’, and ‘MANDIR’ to + ‘PREFIX/texmf-dist/doc/man’, corresponding to the directories used in the TL distribution. -The top-level 'configure' script displays all these installation paths. +The top-level ‘configure’ script displays all these installation paths. - For the native TL build, the 'Build' script leaves the binaries in -'./inst/bin/STD-SYSTEM-TRIPLET'. The new binaries are not directly + For the native TL build, the ‘Build’ script leaves the binaries in +‘./inst/bin/STD-SYSTEM-TRIPLET’. The new binaries are not directly usable from that location; they need to be copied to -'Master/bin/TL-PLATFORM'. The other files and directories that end up -in './inst/' are ignored. +‘Master/bin/TL-PLATFORM’. The other files and directories that end up +in ‘./inst/’ are ignored. File: tlbuild.info, Node: Linked scripts, Next: Distro builds, Prev: Installation directories, Up: Installing @@ -691,26 +692,26 @@ File: tlbuild.info, Node: Linked scripts, Next: Distro builds, Prev: Installa Quite a few executables are architecture-independent shell, Perl, or other interpreted scripts, rather than compiled binaries. A few are maintained as part of the TL source tree, but most are maintained -elsewhere with copies under 'texk/texlive/linked_scripts'. +elsewhere with copies under ‘texk/texlive/linked_scripts’. - These so-called "linked scripts" are installed under -'DATAROOTDIR/texmf-dist/scripts'; for Unix-like systems a symbolic link -is made in 'BINDIR'. For example, a symlink points from 'BINDIR/ps2eps' -to 'DATAROOTDIR/texmf-dist/scripts/ps2eps/ps2eps.pl'. For Windows, a -standard wrapper binary (copied to, e.g., 'BINDIR/ps2eps.exe') serves + These so-called “linked scripts” are installed under +‘DATAROOTDIR/texmf-dist/scripts’; for Unix-like systems a symbolic link +is made in ‘BINDIR’. For example, a symlink points from ‘BINDIR/ps2eps’ +to ‘DATAROOTDIR/texmf-dist/scripts/ps2eps/ps2eps.pl’. For Windows, a +standard wrapper binary (copied to, e.g., ‘BINDIR/ps2eps.exe’) serves the same purpose. The source for the wrapper is in -'texk/texlive/w32_wrapper'. +‘texk/texlive/w32_wrapper’. One reason for this is to avoid having many copies of the same script; a more important reason is that it guarantees the scripts will stay in sync across the different supported operating systems. - Most important of all, we want the 'BINDIR' resulting from the build + Most important of all, we want the ‘BINDIR’ resulting from the build to be as close as possible to what is in the TL distribution. At -present, there are a few exceptions--Asymptote, Biber, Xindy--and each -one creates considerable extra work. We don't want to add more. (See +present, there are a few exceptions—Asymptote, Biber, Xindy—and each one +creates considerable extra work. We don’t want to add more. (See <https://tug.org/texlive/build.html> for information about building -those exceptions, as well as the 'xz' and 'wget' programs that are used +those exceptions, as well as the ‘xz’ and ‘wget’ programs that are used in the TL infrastructure.) @@ -721,50 +722,50 @@ File: tlbuild.info, Node: Distro builds, Prev: Linked scripts, Up: Installing Although they use the same code base, building for the native TL distribution as shipped by the TeX user groups is typically quite -different from a "distro" build needed by, e.g., a full GNU/Linux or BSD +different from a “distro” build needed by, e.g., a full GNU/Linux or BSD operating system distribution. The native TL distribution uses shared libraries only when absolutely -necessary ('libc', 'libm', X11 libraries, and 'libfontconfig'). In +necessary (‘libc’, ‘libm’, X11 libraries, and ‘libfontconfig’). In contrast, a distro typically wants to use as many shared libraries as possible from elsewhere on the system, including TeX-specific libraries -such as 'libkpathsea' (even though Kpathsea has never officially been +such as ‘libkpathsea’ (even though Kpathsea has never officially been released as a shared library). In addition, the installation paths will, in general, be completely different. - Here are the 'configure' options that distro builds are likely to + Here are the ‘configure’ options that distro builds are likely to find most relevant: -'--disable-native-texlive-build' +‘--disable-native-texlive-build’ This must be specified to avoid interference from the many tweaks we do for the native TL build. -'--with-banner-add=/SOMEDISTRO' - This isn't technically required, but is strongly recommended, so +‘--with-banner-add=/SOMEDISTRO’ + This isn’t technically required, but is strongly recommended, so your build and your distro can be distinguished from others. -'--enable-shared' +‘--enable-shared’ Build shared versions of the TeX-specific libraries (uses - 'libtool'). + ‘libtool’). -'--disable-static' +‘--disable-static’ Do not build the static versions of the TeX-specific libraries. -'--with-system-LIB' - Look for and use a system version of the library LIB. 'configure - --help' will give you the list of possibilities. +‘--with-system-LIB’ + Look for and use a system version of the library LIB. ‘configure + --help’ will give you the list of possibilities. -'--with-LIB-includes=DIR' -'--with-LIB-libdir=DIR' +‘--with-LIB-includes=DIR’ +‘--with-LIB-libdir=DIR’ If needed, allows you to specify where the headers/code are for the given library LIB. -'--prefix=/usr' -'--prefix=/opt/TeXLive' - Or whatever your convention is. The default is '/usr/local' and - you shouldn't install there for a distro. +‘--prefix=/usr’ +‘--prefix=/opt/TeXLive’ + Or whatever your convention is. The default is ‘/usr/local’ and + you shouldn’t install there for a distro. -'--libdir=\${exec_prefix}/lib64' +‘--libdir=\${exec_prefix}/lib64’ May be needed for 64-bit bi-architecture (GNU/Linux) systems. You will need to take care of the support files mentioned above @@ -781,9 +782,9 @@ File: tlbuild.info, Node: Layout and infrastructure, Next: Configure options, 6 Layout and infrastructure *************************** -The TeX Live source tree is the subtree rooted at 'Build/source' of the +The TeX Live source tree is the subtree rooted at ‘Build/source’ of the complete TL distribution and contains the sources for all executables -distributed by TL, as well as 'configure' scripts and 'make' rules to +distributed by TL, as well as ‘configure’ scripts and ‘make’ rules to build and install them together with some of their support files. * Menu: @@ -803,15 +804,15 @@ File: tlbuild.info, Node: Build system tools, Next: Top-level directories, Up As mentioned above (*note Prerequisites::), a normal build has few requirements. On the other hand, if you want to modify the TeX Live -infrastructure sources, such as 'configure.ac' or 'Makefile.am' files, +infrastructure sources, such as ‘configure.ac’ or ‘Makefile.am’ files, you will need to have several additional tools installed. In general, the TL build system uses the latest released versions of the GNU build tools, installed directly from the original GNU releases -(e.g., by building them with 'configure --prefix=/usr/local/gnu' and -having 'PATH' start with '/usr/local/gnu/bin'). We have found that +(e.g., by building them with ‘configure --prefix=/usr/local/gnu’ and +having ‘PATH’ start with ‘/usr/local/gnu/bin’). We have found that trying to use the versions of these tools packaged for distros causes -many extra hassles, so don't do that, tempting as it may be. +many extra hassles, so don’t do that, tempting as it may be. Currently the versions we use are: @@ -819,30 +820,30 @@ many extra hassles, so don't do that, tempting as it may be. automake (GNU automake) 1.16.5 bison (GNU Bison) 3.8.2 flex 2.6.0 - ltmain.sh (GNU libtool) 2.4.6 + ltmain.sh (GNU libtool) 2.4.7 m4 (GNU M4) 1.4.19 - makeinfo (GNU texinfo) 6.7 + makeinfo (GNU texinfo) 7.0.2 These versions should be used to update the generated files (e.g., -'configure' or 'Makefile.in') in all or parts of the TL tree after their +‘configure’ or ‘Makefile.in’) in all or parts of the TL tree after their dependencies have been changed. This can be done explicitly with the -top-level 'reautoconf' script or implicitly by using the configure -option '--enable-maintainer-mode'. +top-level ‘reautoconf’ script or implicitly by using the configure +option ‘--enable-maintainer-mode’. It has often turned out that the bison and flex versions are not -critical; however, the autotools versions are. If you don't have the +critical; however, the autotools versions are. If you don’t have the given versions, get them before modifying the build infrastructure. The files in the Subversion repository (see <https://tug.org/texlive/svn>) are all up to date (barring bugs). For this to be reflected by their timestamps in your checkout, be sure to -set 'use-commit-times=yes' in '~/.subversion/config' or the equivalent. +set ‘use-commit-times=yes’ in ‘~/.subversion/config’ or the equivalent. If timestamps are wrong, you may also be able to avoid unnecessary -runs of 'bison', 'flex', or 'makeinfo' with 'touch' of the generated -('.c', '.h', or '.info') files. With '--enable-maintainer-mode' it may -also be necessary to 'touch' first 'aclocal.m4', then 'configure' and -'config.h.in' (or 'c-auto.in'), and finally all 'Makefile.in' files. +runs of ‘bison’, ‘flex’, or ‘makeinfo’ with ‘touch’ of the generated +(‘.c’, ‘.h’, or ‘.info’) files. With ‘--enable-maintainer-mode’ it may +also be necessary to ‘touch’ first ‘aclocal.m4’, then ‘configure’ and +‘config.h.in’ (or ‘c-auto.in’), and finally all ‘Makefile.in’ files. File: tlbuild.info, Node: Top-level directories, Next: Autoconf macros, Prev: Build system tools, Up: Layout and infrastructure @@ -854,39 +855,39 @@ Here is a brief description of the top-level directories in the TeX Live source tree. As mentioned at the beginning of *note Overview of build system::, -the main source directories are 'texk/' (TeX-specific programs and -libraries), 'utils/' (additional programs), and 'libs/' (generic +the main source directories are ‘texk/’ (TeX-specific programs and +libraries), ‘utils/’ (additional programs), and ‘libs/’ (generic libraries). - In addition, the top-level directories 'am/' and 'm4/' contain -'Makefile.am' fragments and Autoconf macros, respectively, used in many -places. Specifically, the file 'm4/kpse-pkgs.m4' contains lists of all + In addition, the top-level directories ‘am/’ and ‘m4/’ contain +‘Makefile.am’ fragments and Autoconf macros, respectively, used in many +places. Specifically, the file ‘m4/kpse-pkgs.m4’ contains lists of all program and library modules; missing modules are silently ignored. (This helps in creating cut-down source trees.) Each module contributes fragments (in separate files) defining its -capabilities and requirements to the 'configure.ac' scripts at the -top-level and in the subdirectories 'libs', 'utils', and 'texk'. The -fragments from program modules supply 'configure' options to disable or +capabilities and requirements to the ‘configure.ac’ scripts at the +top-level and in the subdirectories ‘libs’, ‘utils’, and ‘texk’. The +fragments from program modules supply ‘configure’ options to disable or enable building them; those from library modules specify if an installed (system) version of that library can be used. This ultimately -determines which modules need to be built--although all modules must be -configured for the benefit of 'make' targets such as 'dist' or -'distcheck'. +determines which modules need to be built—although all modules must be +configured for the benefit of ‘make’ targets such as ‘dist’ or +‘distcheck’. - The top-level 'build-aux/' directory contains the common files -'compile', 'config.guess', 'config.sub', 'depcomp', etc. used by most + The top-level ‘build-aux/’ directory contains the common files +‘compile’, ‘config.guess’, ‘config.sub’, ‘depcomp’, etc. used by most packages. These are taken from the GNU Gnulib sources (<https://www.gnu.org/software/gnulib>), which in turn synchronizes with any ultimate upstream repository. There are independent copies of some of these in a few other places, e.g., -'libs/freetype2/freetype-*/builds/unix/'. The 'reautoconf' script does +‘libs/freetype2/freetype-*/builds/unix/’. The ‘reautoconf’ script does not touch those, but a TL cron job keeps them in sync (nightly). - When the top-level './Build' script is used to build TL, two more two -more top-level directories appear: 'Work/' for the build tree, and -'inst/' for the install tree (from 'make install'). These names (and -everything else about 'Build''s operation) can be changed by setting + When the top-level ‘./Build’ script is used to build TL, two more two +more top-level directories appear: ‘Work/’ for the build tree, and +‘inst/’ for the install tree (from ‘make install’). These names (and +everything else about ‘Build’’s operation) can be changed by setting environment variables before running it; see the script source. @@ -896,9 +897,9 @@ File: tlbuild.info, Node: Autoconf macros, Next: Library modules, Prev: Top-l =================== Here we describe a few of the Autoconf macros used in several -modules--many more are defined in the sources; see the top-level 'm4/' +modules—many more are defined in the sources; see the top-level ‘m4/’ directory. These general macros are supplemented by module-specific -macros in directories such as 'texk/dvipng/m4/'; some of those are +macros in directories such as ‘texk/dvipng/m4/’; some of those are described in following sections (*note Library modules:: and *note Program modules::). @@ -921,18 +922,18 @@ The TL sources use two general setup macros: -- Macro: KPSE_BASIC (NAME, [MORE-OPTIONS]) Initialize the basic TL infrastructure for module NAME: - 'AM_INIT_AUTOMAKE([foreign MORE-OPTIONS])' - 'AM_MAINTAINER_MODE' - 'KPSE_COMPILER_WARNINGS' + ‘AM_INIT_AUTOMAKE([foreign MORE-OPTIONS])’ + ‘AM_MAINTAINER_MODE’ + ‘KPSE_COMPILER_WARNINGS’ and make sure the C compiler understands function prototypes. This is used for all generic library and program modules. -- Macro: KPSE_COMMON (NAME, [MORE-OPTIONS]) - Like 'KPSE_BASIC' but add: - 'LT_PREREQ([2.2.6])' - 'LT_INIT([win32-dll])' - 'AC_SYS_LARGEFILE' - 'AC_FUNC_FSEEKO' + Like ‘KPSE_BASIC’ but add: + ‘LT_PREREQ([2.2.6])’ + ‘LT_INIT([win32-dll])’ + ‘AC_SYS_LARGEFILE’ + ‘AC_FUNC_FSEEKO’ along with checks for frequently used functions, headers, types, and structures. This is used for TeX-specific modules. @@ -945,20 +946,20 @@ File: tlbuild.info, Node: Macros for programs, Next: Macros for compilers, Pr Macros for program checks: -- Macro: KPSE_CHECK_LATEX - Set 'LATEX' to the first of 'latex', 'elatex', or 'lambda' which - exists in 'PATH', or to 'no' if none of them exists. Call - 'AC_SUBST' for 'LATEX'. The result of this test can be overridden - by setting the 'LATEX' environment variable or the cache variable - 'ac_cv_prog_LATEX'. + Set ‘LATEX’ to the first of ‘latex’, ‘elatex’, or ‘lambda’ which + exists in ‘PATH’, or to ‘no’ if none of them exists. Call + ‘AC_SUBST’ for ‘LATEX’. The result of this test can be overridden + by setting the ‘LATEX’ environment variable or the cache variable + ‘ac_cv_prog_LATEX’. -- Macro: KPSE_CHECK_PDFLATEX - Check for 'pdflatex' in 'PATH' and set 'PDFLATEX'. + Check for ‘pdflatex’ in ‘PATH’ and set ‘PDFLATEX’. -- Macro: KPSE_CHECK_PERL - Check for 'perl' or 'perl5' in 'PATH' and set 'PERL'. + Check for ‘perl’ or ‘perl5’ in ‘PATH’ and set ‘PERL’. -- Macro: KPSE_PROG_LEX - Call 'AC_PROG_LEX' and add the flag '-l' for 'flex'. + Call ‘AC_PROG_LEX’ and add the flag ‘-l’ for ‘flex’. File: tlbuild.info, Node: Macros for compilers, Next: Macros for libraries, Prev: Macros for programs, Up: Autoconf macros @@ -970,30 +971,30 @@ Macros for compiler-related checks: -- Macro: KPSE_COMPILER_WARNINGS When using the (Objective) C/C++ compiler, set - 'WARNING_[OBJ]C[XX]FLAGS' to suitable warning flags (depending on - the value given to or implied for '--enable-compiler-warnings'). - Call 'AC_SUBST' for them. At present this assumes GNU compiler + ‘WARNING_[OBJ]C[XX]FLAGS’ to suitable warning flags (depending on + the value given to or implied for ‘--enable-compiler-warnings’). + Call ‘AC_SUBST’ for them. At present this assumes GNU compiler warning options, but could be extended to others if necessary. - This macro caches its results in the 'kpse_cv_warning_cflags', ... + This macro caches its results in the ‘kpse_cv_warning_cflags’, ... variables. -- Macro: KPSE_COMPILER_VISIBILITY When using the C or C++ compiler, try to set - 'VISIBILITY_C[XX]FLAGS' to flags to hide external symbols. Call - 'AC_SUBST' for this variable. At present this only tests for the - compiler option '-fvisibility=hidden', but could be extended if + ‘VISIBILITY_C[XX]FLAGS’ to flags to hide external symbols. Call + ‘AC_SUBST’ for this variable. At present this only tests for the + compiler option ‘-fvisibility=hidden’, but could be extended if necessary. - This macro caches its results in the 'kpse_cv_visibility_cflags' or - 'kpse_cv_visibility_cxxflags' variable. + This macro caches its results in the ‘kpse_cv_visibility_cflags’ or + ‘kpse_cv_visibility_cxxflags’ variable. -- Macro: KPSE_CXX_HACK - Provide the configure option '--enable-cxx-runtime-hack'. If - enabled and when using 'g++', try to statically link with - 'libstdc++', notably improving portability of the resulting binary. + Provide the configure option ‘--enable-cxx-runtime-hack’. If + enabled and when using ‘g++’, try to statically link with + ‘libstdc++’, notably improving portability of the resulting binary. - This macro caches its result in the 'kpse_cv_cxx_hack' variable. + This macro caches its result in the ‘kpse_cv_cxx_hack’ variable. File: tlbuild.info, Node: Macros for libraries, Next: Macros for library and header flags, Prev: Macros for compilers, Up: Autoconf macros @@ -1004,8 +1005,8 @@ File: tlbuild.info, Node: Macros for libraries, Next: Macros for library and h One macro for a library check: -- Macro: KPSE_LARGEFILE (VARIABLE, [EXTRA-DEFINE]) - Call 'AC_SYS_LARGEFILE' and 'AC_FUNC_FSEEKO' and append suitable - '-D' flags (optionally including '-DEXTRA-DEFINE') to VARIABLE. + Call ‘AC_SYS_LARGEFILE’ and ‘AC_FUNC_FSEEKO’ and append suitable + ‘-D’ flags (optionally including ‘-DEXTRA-DEFINE’) to VARIABLE. File: tlbuild.info, Node: Macros for library and header flags, Next: Macros for Windows, Prev: Macros for libraries, Up: Autoconf macros @@ -1013,33 +1014,33 @@ File: tlbuild.info, Node: Macros for library and header flags, Next: Macros fo 6.3.5 Macros for library and header flags ----------------------------------------- -Each library module 'libs/LIB' or 'texk/LIB' is supplemented by a macro -'KPSE_LIB_FLAGS' (all uppercase) that provides make variables for that -library. E.g., for 'libs/libpng': +Each library module ‘libs/LIB’ or ‘texk/LIB’ is supplemented by a macro +‘KPSE_LIB_FLAGS’ (all uppercase) that provides make variables for that +library. E.g., for ‘libs/libpng’: -- Macro: KPSE_LIBPNG_FLAGS - Provide the configure option '--with-system-libpng'. Set and - 'AC_SUBST' 'make' variables for modules using this library (either + Provide the configure option ‘--with-system-libpng’. Set and + ‘AC_SUBST’ ‘make’ variables for modules using this library (either an installed version or from the TeX Live tree): - 'LIBPNG_INCLUDES' for use in 'CPPFLAGS', - 'LIBPNG_LIBS' for use in 'LDADD', - 'LIBPNG_DEPEND' for use as a Makefile dependency, - 'LIBPNG_RULE' for the 'make' rules to rebuild the library. + ‘LIBPNG_INCLUDES’ for use in ‘CPPFLAGS’, + ‘LIBPNG_LIBS’ for use in ‘LDADD’, + ‘LIBPNG_DEPEND’ for use as a Makefile dependency, + ‘LIBPNG_RULE’ for the ‘make’ rules to rebuild the library. -- Macro: KPSE_ADD_FLAGS (NAME) - Temporarily extend 'CPPFLAGS' and 'LIBS' with the values required - for the library module 'NAME'. + Temporarily extend ‘CPPFLAGS’ and ‘LIBS’ with the values required + for the library module ‘NAME’. -- Macro: KPSE_RESTORE_FLAGS - Restore 'CPPFLAGS' and 'LIBS' to their original values. + Restore ‘CPPFLAGS’ and ‘LIBS’ to their original values. - As an example, the 'configure.ac' file for a hypothetical program -'utils/foo' using 'libpng', and hence 'zlib', would contain + As an example, the ‘configure.ac’ file for a hypothetical program +‘utils/foo’ using ‘libpng’, and hence ‘zlib’, would contain KPSE_ZLIB_FLAGS KPSE_LIBPNG_FLAGS -and its 'Makefile.am' would be along these lines: +and its ‘Makefile.am’ would be along these lines: bin_PROGRAMS = foo AM_CPPFLAGS = ${LIBPNG_INCLUDES} ${ZLIB_INCLUDES} foo_LDADD = ${LIBPNG_LIBS} ${ZLIB_LIBS} @@ -1049,13 +1050,13 @@ and its 'Makefile.am' would be along these lines: ## Rebuild libpng @LIBPNG_RULE@ - If it were necessary to examine whether certain 'zlib' or 'libpng' -features were available, 'configure.ac' should be continued this way: + If it were necessary to examine whether certain ‘zlib’ or ‘libpng’ +features were available, ‘configure.ac’ should be continued this way: KPSE_ADD_FLAGS([zlib]) - ... # tests for 'zlib' features, if any + ... # tests for ‘zlib’ features, if any KPSE_ADD_FLAGS([libpng]) - ... # tests for 'libpng' features - KPSE_RESTORE_FLAGS # restore 'CPPFLAGS' and 'LIBS' + ... # tests for ‘libpng’ features + KPSE_RESTORE_FLAGS # restore ‘CPPFLAGS’ and ‘LIBS’ File: tlbuild.info, Node: Macros for Windows, Prev: Macros for library and header flags, Up: Autoconf macros @@ -1067,33 +1068,33 @@ Windows differs in several aspects from Unix-like systems, many of them due to the lack of symbolic links. -- Macro: KPSE_CHECK_WIN32 - Check if compiling for a Windows system. The result is either 'no' - for Unix-like systems (including Cygwin), 'mingw32' for Windows - with GCC, or 'native' for Windows with MSVC. The result is cached - in the 'kpse_cv_have_win32' variable. + Check if compiling for a Windows system. The result is either ‘no’ + for Unix-like systems (including Cygwin), ‘mingw32’ for Windows + with GCC, or ‘native’ for Windows with MSVC. The result is cached + in the ‘kpse_cv_have_win32’ variable. -- Macro: KPSE_COND_WIN32 - Call 'KPSE_CHECK_WIN32' and define the Automake conditional 'WIN32' - ('true' if the value of 'kpse_cv_have_win32' is not 'no'). + Call ‘KPSE_CHECK_WIN32’ and define the Automake conditional ‘WIN32’ + (‘true’ if the value of ‘kpse_cv_have_win32’ is not ‘no’). -- Macro: KPSE_COND_MINGW32 - Call 'KPSE_COND_WIN32' and define the Automake conditional - 'MINGW32' ('true' if the value of 'kpse_cv_have_win32' is - 'mingw32'). + Call ‘KPSE_COND_WIN32’ and define the Automake conditional + ‘MINGW32’ (‘true’ if the value of ‘kpse_cv_have_win32’ is + ‘mingw32’). -- Macro: KPSE_COND_WIN32_WRAP - Call 'KPSE_COND_WIN32' and define the Automake conditional - 'WIN32_WRAP' ('true' if the standard Windows wrapper - ('texk/texlive/w32_wrapper/runscript.exe') exists. This wrapper is - used on Windows instead of symlinks for the "linked scripts" (*note + Call ‘KPSE_COND_WIN32’ and define the Automake conditional + ‘WIN32_WRAP’ (‘true’ if the standard Windows wrapper + (‘texk/texlive/w32_wrapper/runscript.exe’) exists. This wrapper is + used on Windows instead of symlinks for the “linked scripts” (*note Linked scripts::). -- Macro: KPSE_WIN32_CALL - Call 'KPSE_COND_WIN32' and check if the file - 'texk/texlive/w32_wrapper/callexe.c' exists; if it does, create a - symlink in the build tree. Compiling 'callexe.c' with - '-DEXEPROG='"FOO.exe"'' and installing 'callexe.exe' as 'BAR.exe' - is used on Windows instead of a symlink 'BAR->FOO' for Unix-like + Call ‘KPSE_COND_WIN32’ and check if the file + ‘texk/texlive/w32_wrapper/callexe.c’ exists; if it does, create a + symlink in the build tree. Compiling ‘callexe.c’ with + ‘-DEXEPROG='"FOO.exe"'’ and installing ‘callexe.exe’ as ‘BAR.exe’ + is used on Windows instead of a symlink ‘BAR->FOO’ for Unix-like systems. @@ -1108,27 +1109,27 @@ structure and variation. * Menu: -* png library:: 'libs/libpng' -* zlib library:: 'libs/zlib' -* freetype library:: 'libs/freetype2' -* kpathsea library:: 'texk/kpathsea' +* png library:: ‘libs/libpng’ +* zlib library:: ‘libs/zlib’ +* freetype library:: ‘libs/freetype2’ +* kpathsea library:: ‘texk/kpathsea’ File: tlbuild.info, Node: png library, Next: zlib library, Up: Library modules -6.4.1 The 'png' library in 'libs/libpng' +6.4.1 The ‘png’ library in ‘libs/libpng’ ---------------------------------------- -The "generic" 'png' library uses the source tree in the subdirectory -'libpng-src/', with all modifications for TL recorded in 'TLpatches/*'. -The 'configure.ac' fragment 'ac/withenable.ac' contains +The “generic” ‘png’ library uses the source tree in the subdirectory +‘libpng-src/’, with all modifications for TL recorded in ‘TLpatches/*’. +The ‘configure.ac’ fragment ‘ac/withenable.ac’ contains KPSE_WITH_LIB([libpng], [zlib]) -to specify the module name and indicate the dependency on 'zlib'. A -third literal argument ''tree'' would specify that the library from the +to specify the module name and indicate the dependency on ‘zlib’. A +third literal argument ‘‘tree’’ would specify that the library from the TeX Live tree cannot be replaced by a system version. That not being -the case here, a second fragment 'ac/libpng.ac' contains +the case here, a second fragment ‘ac/libpng.ac’ contains KPSE_TRY_LIB([libpng], [#include <png.h>], @@ -1144,85 +1145,85 @@ thus providing the simple C code return 0; } which Autoconf uses to verify the usability of a system version with C -code. The analogous macro 'KPSE_TRY_LIBXX' would check using C++. -These fragments are included by the 'configure.ac' at the top level of -TL ('Build/source/configure.ac'). +code. The analogous macro ‘KPSE_TRY_LIBXX’ would check using C++. +These fragments are included by the ‘configure.ac’ at the top level of +TL (‘Build/source/configure.ac’). For this library, like many other modules, a proxy build system for -TL is used, consisting of our own 'configure.ac', 'Makefile.am', -'include/Makefile.am'; the distributed build system is not used. +TL is used, consisting of our own ‘configure.ac’, ‘Makefile.am’, +‘include/Makefile.am’; the distributed build system is not used. (Consequently, a few generated files and auxiliary scripts are removed from the distributed source tree.) - The public headers 'png.h', 'pngconf.h', and 'pnglibconf.h' are -"installed" (as symlinks) under 'include/' in the build tree exactly as -they are for a system version under, e.g., '/usr/include/'. + The public headers ‘png.h’, ‘pngconf.h’, and ‘pnglibconf.h’ are +“installed” (as symlinks) under ‘include/’ in the build tree exactly as +they are for a system version under, e.g., ‘/usr/include/’. - The module is supplemented by the file 'm4/kpse-libpng-flags.m4' that -defines the M4 macro 'KPSE_LIBPNG_FLAGS' used by all modules depending -on this library in their 'configure.ac' to generate the 'make' variables -'LIBPNG_INCLUDES' for use in 'CPPFLAGS', 'LIBPNG_LIBS' for use in -'LDADD', 'LIBPNG_DEPEND' for use as dependencies, and 'LIBPNG_RULE' for -the 'make' rules to rebuild the library. + The module is supplemented by the file ‘m4/kpse-libpng-flags.m4’ that +defines the M4 macro ‘KPSE_LIBPNG_FLAGS’ used by all modules depending +on this library in their ‘configure.ac’ to generate the ‘make’ variables +‘LIBPNG_INCLUDES’ for use in ‘CPPFLAGS’, ‘LIBPNG_LIBS’ for use in +‘LDADD’, ‘LIBPNG_DEPEND’ for use as dependencies, and ‘LIBPNG_RULE’ for +the ‘make’ rules to rebuild the library. - 'm4/kpse-libpng-flags.m4' also supplies the configure option -'--with-system-libpng', which then uses 'pkg-config' to determine the + ‘m4/kpse-libpng-flags.m4’ also supplies the configure option +‘--with-system-libpng’, which then uses ‘pkg-config’ to determine the flags required for the system library. File: tlbuild.info, Node: zlib library, Next: freetype library, Prev: png library, Up: Library modules -6.4.2 The 'zlib' library in 'libs/zlib' +6.4.2 The ‘zlib’ library in ‘libs/zlib’ --------------------------------------- -This generic library is very much analogous to 'libpng', but without the -dependency on any other library. The file 'm4/kpse-zlib-flags.m4' -supplies the configure option '--with-system-zlib', as well as -'--with-zlib-includes' and '--with-zlib-libdir' to specify non-standard -locations of the 'zlib' headers and/or library. +This generic library is very much analogous to ‘libpng’, but without the +dependency on any other library. The file ‘m4/kpse-zlib-flags.m4’ +supplies the configure option ‘--with-system-zlib’, as well as +‘--with-zlib-includes’ and ‘--with-zlib-libdir’ to specify non-standard +locations of the ‘zlib’ headers and/or library. File: tlbuild.info, Node: freetype library, Next: kpathsea library, Prev: zlib library, Up: Library modules -6.4.3 The 'freetype' library in 'libs/freetype2' +6.4.3 The ‘freetype’ library in ‘libs/freetype2’ ------------------------------------------------ This module uses a wrapper build system. In contrast to the proxy build described earlier, the wrapper build has an almost trivial -'configure.ac' and a 'Makefile.am' which invokes the 'configure' and -'make' in the distributed source, followed by 'make install' with the TL +‘configure.ac’ and a ‘Makefile.am’ which invokes the ‘configure’ and +‘make’ in the distributed source, followed by ‘make install’ with the TL build tree as destination. In other words, this actually uses the build system provided by upstream (possibly patched). The flags required for the system library are obtained through -'freetype-config'. +‘freetype-config’. File: tlbuild.info, Node: kpathsea library, Prev: freetype library, Up: Library modules -6.4.4 The 'kpathsea' library in 'texk/kpathsea' +6.4.4 The ‘kpathsea’ library in ‘texk/kpathsea’ ----------------------------------------------- This is one of the TeX-specific libraries that are maintained as part of -TeX Live (*note (kpathsea)::); the other is 'ptexenc'. These TeX +TeX Live (*note (kpathsea)::); the other is ‘ptexenc’. These TeX libraries are Libtool libraries (static and/or shared) and are installed -by 'make install' together with the programs. They are, however, not +by ‘make install’ together with the programs. They are, however, not part of the TL DVD as distributed by TeX user groups, and have never been officially released for standalone use. It is possible, and probably useful for distro builds (*note Distro -builds::), to specify the configure option '--with-system-kpathsea' in +builds::), to specify the configure option ‘--with-system-kpathsea’ in order to use a system version of the library. Programs outside the TL -tree should use 'pkg-config' for the required flags. - - In addition to 'kpathsea/ac/withenable.ac' and -'kpathsea/ac/kpathsea.ac' here there is a third fragment -'kpathsea.ac/mktex.ac', included by both 'withenable.ac' and -'configure.ac', which supplies configure options such as -'--enable-mktextfm-default'. These determine the compile time default -of whether or not to run 'mktextfm' (and similar) to generate a missing -'.tfm' (or whatever) file. In any case, however, the command line -options '-mktex=tfm' or '-no-mktex=tfm' for the TeX-like engines +tree should use ‘pkg-config’ for the required flags. + + In addition to ‘kpathsea/ac/withenable.ac’ and +‘kpathsea/ac/kpathsea.ac’ here there is a third fragment +‘kpathsea.ac/mktex.ac’, included by both ‘withenable.ac’ and +‘configure.ac’, which supplies configure options such as +‘--enable-mktextfm-default’. These determine the compile time default +of whether or not to run ‘mktextfm’ (and similar) to generate a missing +‘.tfm’ (or whatever) file. In any case, however, the command line +options ‘-mktex=tfm’ or ‘-no-mktex=tfm’ for the TeX-like engines override this default. @@ -1236,85 +1237,85 @@ for a few of the programs in TL. * Menu: -* t1utils package:: 'utils/t1utils' -* xindy package:: 'utils/xindy' -* xdvik package:: 'texk/xdvik' -* asymptote:: 'utils/asymptote' +* t1utils package:: ‘utils/t1utils’ +* xindy package:: ‘utils/xindy’ +* xdvik package:: ‘texk/xdvik’ +* asymptote:: ‘utils/asymptote’ File: tlbuild.info, Node: t1utils package, Next: xindy package, Up: Program modules -6.5.1 The 't1utils' package in 'utils/t1utils' +6.5.1 The ‘t1utils’ package in ‘utils/t1utils’ ---------------------------------------------- -Here we use the distributed source tree 't1utils-src' with modifications -documented in 'TLpatches/*' and a proxy build system consisting of -'configure.ac' and 'Makefile.am'. The fragment 'ac/withenable.ac' +Here we use the distributed source tree ‘t1utils-src’ with modifications +documented in ‘TLpatches/*’ and a proxy build system consisting of +‘configure.ac’ and ‘Makefile.am’. The fragment ‘ac/withenable.ac’ contains KPSE_ENABLE_PROG([t1utils]) specifying the module name without any dependencies, and supplies the -configure option '--disable-t1utils'. +configure option ‘--disable-t1utils’. File: tlbuild.info, Node: xindy package, Next: xdvik package, Prev: t1utils package, Up: Program modules -6.5.2 The 'xindy' package in 'utils/xindy' +6.5.2 The ‘xindy’ package in ‘utils/xindy’ ------------------------------------------ -This module uses the distributed source tree 'xindy-src/' with -modifications documented in 'TLpatches/*', and a wrapper 'configure.ac' -and 'Makefile.am' that descends into 'xindy-src'. +This module uses the distributed source tree ‘xindy-src/’ with +modifications documented in ‘TLpatches/*’, and a wrapper ‘configure.ac’ +and ‘Makefile.am’ that descends into ‘xindy-src’. - The 'xindy' build requires a 'make' that supports a 'VPATH' build, -can handle all targets, and does not refer to '${top_srcdir}' or -'${top_builddir}'. The fragment 'xindy/ac/withenable.ac' contains + The ‘xindy’ build requires a ‘make’ that supports a ‘VPATH’ build, +can handle all targets, and does not refer to ‘${top_srcdir}’ or +‘${top_builddir}’. The fragment ‘xindy/ac/withenable.ac’ contains KPSE_ENABLE_PROG([xindy], , [disable]) m4_include(kpse_TL[utils/xindy/ac/xindy.ac]) m4_include(kpse_TL[utils/xindy/ac/clisp.ac]) -where 'disable' in the third argument indicates that 'xindy' is only -built if explicitly enabled by the user with 'configure --enable-xindy' -(the need for 'clisp' makes it too painful to enable by default). +where ‘disable’ in the third argument indicates that ‘xindy’ is only +built if explicitly enabled by the user with ‘configure --enable-xindy’ +(the need for ‘clisp’ makes it too painful to enable by default). - The additional fragments 'ac/xindy.ac' and 'ac/clisp.ac' specify more -'configure' options to be seen at the top level, with 'ac/xindy.ac' also -included by 'configure.ac'. + The additional fragments ‘ac/xindy.ac’ and ‘ac/clisp.ac’ specify more +‘configure’ options to be seen at the top level, with ‘ac/xindy.ac’ also +included by ‘configure.ac’. File: tlbuild.info, Node: xdvik package, Next: asymptote, Prev: xindy package, Up: Program modules -6.5.3 The 'xdvik' package in 'texk/xdvik' +6.5.3 The ‘xdvik’ package in ‘texk/xdvik’ ----------------------------------------- This package is maintained as part of the TeX Live tree with sources in -its own directory ('texk/xdvik/'). The fragment -'xdvik/ac/withenable.ac' contains +its own directory (‘texk/xdvik/’). The fragment +‘xdvik/ac/withenable.ac’ contains dnl extra_dirs = texk/xdvik/squeeze KPSE_ENABLE_PROG([xdvik], [kpathsea freetype2], [x]) m4_include(kpse_TL[texk/xdvik/ac/xdvik.ac]) -thus specifying dependencies on the 'kpathsea', 'freetype', and X11 -libraries. The M4 comment (following 'dnl') signals the subsidiary -'squeeze/configure.ac'. This is needed because the main executable -'xdvi-bin' (to be installed as, e.g., 'xdvi-xaw') is for the 'host' -system whereas the auxiliary program 'squeeze/squeeze' has to run on the -'build' system; in a cross compilation, these differ. +thus specifying dependencies on the ‘kpathsea’, ‘freetype’, and X11 +libraries. The M4 comment (following ‘dnl’) signals the subsidiary +‘squeeze/configure.ac’. This is needed because the main executable +‘xdvi-bin’ (to be installed as, e.g., ‘xdvi-xaw’) is for the ‘host’ +system whereas the auxiliary program ‘squeeze/squeeze’ has to run on the +‘build’ system; in a cross compilation, these differ. - The additional fragment 'ac/xdvik.ac' is also included by -'configure.ac' and supplies the configure option '--with-xdvi-x-toolkit' + The additional fragment ‘ac/xdvik.ac’ is also included by +‘configure.ac’ and supplies the configure option ‘--with-xdvi-x-toolkit’ also seen at the top level. File: tlbuild.info, Node: asymptote, Prev: xdvik package, Up: Program modules -6.5.4 The subdirectory 'utils/asymptote' +6.5.4 The subdirectory ‘utils/asymptote’ ---------------------------------------- -This subdirectory contains the sources for 'asy' and 'xasy' but due to +This subdirectory contains the sources for ‘asy’ and ‘xasy’ but due to its complexity and prerequisites (e.g., OpenGL) it is not part of the TL build system. These programs must be built and installed independently, but are included on the TL DVD together with their support files. See @@ -1329,12 +1330,12 @@ File: tlbuild.info, Node: Extending TeX Live, Prev: Program modules, Up: Layo This section outlines the basic process for adding new packages to the TL build system. - In any case, a new package directory 'foo' should contain the + In any case, a new package directory ‘foo’ should contain the original sources, modified only with changes necessary for TL, in -'foo/foo-src'. The changes should be documented in 'foo/TLpatches/*', -and also be submitted upstream whenever reasonable. In addition, 'foo/' -will need the usual Automake build-related files ('configure.ac', -'Makefile.am', etc. Please maintain 'foo/ChangeLog' for all TL changes. +‘foo/foo-src’. The changes should be documented in ‘foo/TLpatches/*’, +and also be submitted upstream whenever reasonable. In addition, ‘foo/’ +will need the usual Automake build-related files (‘configure.ac’, +‘Makefile.am’, etc. Please maintain ‘foo/ChangeLog’ for all TL changes. * Menu: @@ -1349,102 +1350,102 @@ File: tlbuild.info, Node: Adding a new program module, Next: Adding a new engi 6.6.1 Adding a new program module --------------------------------- -A TeX-specific program module in a subdirectory 'texk/PROG' may use the -TeX-specific libraries and is included by adding its name 'PROG' to the -M4 list 'kpse_texk_pkgs' defined in 'm4/kpse-pkgs.m4'. +A TeX-specific program module in a subdirectory ‘texk/PROG’ may use the +TeX-specific libraries and is included by adding its name ‘PROG’ to the +M4 list ‘kpse_texk_pkgs’ defined in ‘m4/kpse-pkgs.m4’. - A generic program module in a subdirectory 'utils/PROG' must not use -the TeX-specific libraries and is included by adding its name 'PROG' to -the M4 list 'kpse_utils_pkgs' in 'm4/kpse-pkgs.m4'. + A generic program module in a subdirectory ‘utils/PROG’ must not use +the TeX-specific libraries and is included by adding its name ‘PROG’ to +the M4 list ‘kpse_utils_pkgs’ in ‘m4/kpse-pkgs.m4’. - In either case, the subdirectory 'texk/PROG' or 'utils/PROG' must -provide a fragment 'ac/withenable.ac' that contains the M4 macro -'KPSE_ENABLE_PROG' defined in 'm4/kpse-setup.m4' with 'PROG' as the + In either case, the subdirectory ‘texk/PROG’ or ‘utils/PROG’ must +provide a fragment ‘ac/withenable.ac’ that contains the M4 macro +‘KPSE_ENABLE_PROG’ defined in ‘m4/kpse-setup.m4’ with ‘PROG’ as the mandatory first argument and three optional arguments: 1. a list of required libraries from the TL tree; - 2. a list of options: 'disable' if this module is not to be built - without the configure option '--enable-PROG', 'native' if cross - compilation is not possible, 'x' if the program requires X11 + 2. a list of options: ‘disable’ if this module is not to be built + without the configure option ‘--enable-PROG’, ‘native’ if cross + compilation is not possible, ‘x’ if the program requires X11 libraries; - 3. a comment added to the help text for the 'configure' option - '--enable-PROG' or '--disable-PROG'. + 3. a comment added to the help text for the ‘configure’ option + ‘--enable-PROG’ or ‘--disable-PROG’. - If the module requires specific 'configure' options to be seen at the -top level, they should be defined in an additional fragment 'ac/PROG.ac' -included from 'ac/withenable.ac' and 'configure.ac'. + If the module requires specific ‘configure’ options to be seen at the +top level, they should be defined in an additional fragment ‘ac/PROG.ac’ +included from ‘ac/withenable.ac’ and ‘configure.ac’. Usually, the new program is maintained somewhere outside of TeX Live. In that case, as above, we put the upstream sources into a subdirectory -'PROG-src' (e.g., 'utils/newprog/newprog-src'). We do not typically run -'configure' in this original '...-src' directory, but only in our own -directory; but we do compile using the source files in '...-src'. +‘PROG-src’ (e.g., ‘utils/newprog/newprog-src’). We do not typically run +‘configure’ in this original ‘...-src’ directory, but only in our own +directory; but we do compile using the source files in ‘...-src’. So, to summarize the files that must (usually) be created inside a -new TL source directory ('texk/newprog' or 'utils/newprog'): +new TL source directory (‘texk/newprog’ or ‘utils/newprog’): -'ac/withenable.ac' - The 'KPSE_ENABLE_PROG' call just explained. +‘ac/withenable.ac’ + The ‘KPSE_ENABLE_PROG’ call just explained. -'configure.ac' -'Makefile.am' - By merging the contents of the original 'configure.ac' (if +‘configure.ac’ +‘Makefile.am’ + By merging the contents of the original ‘configure.ac’ (if provided) and a comparable program already in TL. In the above - example, one line that will be needed in 'configure.ac' (can be - added before the 'AC_CONFIG_FILES' at the end) is: + example, one line that will be needed in ‘configure.ac’ (can be + added before the ‘AC_CONFIG_FILES’ at the end) is: AC_SUBST([NEWPROG_TREE], [newprog-src]) - and then use '@NEWPROG_TREE@' in 'Makefile.am' where needed. + and then use ‘@NEWPROG_TREE@’ in ‘Makefile.am’ where needed. In general, there is no magic recipe for this part of the job. - It's necessary to think about what needs to be done in the original - vs. in TeX Live. It's useful to look at the setup for the most - comparable programs already in TL that you can find. It's also - useful to grep the entire 'Build/source' tree for whatever you can + It’s necessary to think about what needs to be done in the original + vs. in TeX Live. It’s useful to look at the setup for the most + comparable programs already in TL that you can find. It’s also + useful to grep the entire ‘Build/source’ tree for whatever you can think of to investigate how something is done. Most of the - TL-specific macros are defined in 'Build/source/m4/*'. + TL-specific macros are defined in ‘Build/source/m4/*’. -'TLpatches/TL-Changes' +‘TLpatches/TL-Changes’ First actions taken after getting the original source tree; typically removal of derived or unused common files. -'TLpatches/patch-...' +‘TLpatches/patch-...’ If any changes are needed to the original sources, record the patches here so they can be applied next time. Also, send them - upstream so that we don't have to maintain them forever. + upstream so that we don’t have to maintain them forever. -'ChangeLog' +‘ChangeLog’ Record all TL-specific changes, now and in the future. - After populating the new TL source directory ('.../newprog/', in the -above), run GNU 'autoreconf' there (*note Build system tools::). Once -that works, if you are the one who's eventually going to commit the new -package, 'svn add' the necessary files, including the generated -'Makefile.in aclocal.m4 configure', and 'svn:ignore' the Automake cache -'autom4te.cache'. (This is so people checking out the TL source tree do -not have to run any autotools, but can simply run 'configure'.) - - To reiterate: do not fail to commit the generated 'configure' and -other files. The m4 code in 'kpse-pkgs.m4' uses the existence of -'configure' to determine whether to descend into (and configure) a given + After populating the new TL source directory (‘.../newprog/’, in the +above), run GNU ‘autoreconf’ there (*note Build system tools::). Once +that works, if you are the one who’s eventually going to commit the new +package, ‘svn add’ the necessary files, including the generated +‘Makefile.in aclocal.m4 configure’, and ‘svn:ignore’ the Automake cache +‘autom4te.cache’. (This is so people checking out the TL source tree do +not have to run any autotools, but can simply run ‘configure’.) + + To reiterate: do not fail to commit the generated ‘configure’ and +other files. The m4 code in ‘kpse-pkgs.m4’ uses the existence of +‘configure’ to determine whether to descend into (and configure) a given subdirectory. - Then, run the TL tool 'reautoconf' in the top-level TL -'Build/source/' directory, to incorporate the new program into the build -tree. It is good to then rebuild the whole tree (e.g., using TL's -'Build/Build' script) to get all the necessary files generated. + Then, run the TL tool ‘reautoconf’ in the top-level TL +‘Build/source/’ directory, to incorporate the new program into the build +tree. It is good to then rebuild the whole tree (e.g., using TL’s +‘Build/Build’ script) to get all the necessary files generated. It will probably fail. So then you need to keep at it until the program compiles and tests successfully. The most efficient way is to -rerun 'autoreconf' as needed in the new source directory -('Build/source/.../newprog'), then 'make' in the corresponding build -directory ('Build/work/.../newprog'), then 'make check', etc. In the +rerun ‘autoreconf’ as needed in the new source directory +(‘Build/source/.../newprog’), then ‘make’ in the corresponding build +directory (‘Build/work/.../newprog’), then ‘make check’, etc. In the end, also make sure that the whole tree builds from scratch. - After final success, don't forget to commit. (Or email the TL + After final success, don’t forget to commit. (Or email the TL maintainers with the patch.) @@ -1454,32 +1455,32 @@ File: tlbuild.info, Node: Adding a new engine, Next: Adding a new generic libr ------------------------- Adding a new TeX engine is not completely different from adding a -program, but it's not all that similar, either. In this case, the main -work is done by creating a new subdirectory of 'texk/web2c/' for the -engine. The subdirectory is conventionally named ending in 'dir', like -'pdftexdir' and 'xetexdir', to avoid clashes with executable names. +program, but it’s not all that similar, either. In this case, the main +work is done by creating a new subdirectory of ‘texk/web2c/’ for the +engine. The subdirectory is conventionally named ending in ‘dir’, like +‘pdftexdir’ and ‘xetexdir’, to avoid clashes with executable names. The source files for the new engine should be put in this -'NEWENGINEdir' subdirectory. Also, a file -'NEWENGINEdir/am/NEWENGINE.am' (e.g., 'pdftexdir/am/pdftex.am' is needed +‘NEWENGINEdir’ subdirectory. Also, a file +‘NEWENGINEdir/am/NEWENGINE.am’ (e.g., ‘pdftexdir/am/pdftex.am’ is needed with the Makefile fragment needed to build it. - The overall 'web2c/Makefile.am' needs to have an 'include' statement -added to insert that 'NEWENGINE.am' file. + The overall ‘web2c/Makefile.am’ needs to have an ‘include’ statement +added to insert that ‘NEWENGINE.am’ file. - In 'web2c/ac/web2c.ac', a line needs to be added in the definition of -the 'kpse_tex_progs' variable to include it in the build. That line + In ‘web2c/ac/web2c.ac’, a line needs to be added in the definition of +the ‘kpse_tex_progs’ variable to include it in the build. That line specifies whether the new engine is built by default, and the additional libraries requires. For examples of building engines in CWEB, you can check the existing -'hitexdir' and 'mplibdir' directories; these are somewhat simpler than +‘hitexdir’ and ‘mplibdir’ directories; these are somewhat simpler than LuaTeX. Of course, every engine will have its own unique features and requirements, so existing examples will only take you so far. - Web2c is built as one "package", with each subdirectory's '.am' -fragment inserted with an Automake 'include'. This means that, for -instance, '$(srcdir)' is '.../web2c', not '.../webdir/enginedir'. It is + Web2c is built as one “package”, with each subdirectory’s ‘.am’ +fragment inserted with an Automake ‘include’. This means that, for +instance, ‘$(srcdir)’ is ‘.../web2c’, not ‘.../webdir/enginedir’. It is a difficult setup to come to terms with, but the alternative is to recurse into each engine subdirectory, and that would be far worse (*note (automake)Directories::). @@ -1490,41 +1491,41 @@ File: tlbuild.info, Node: Adding a new generic library module, Next: Adding a 6.6.3 Adding a new generic library module ----------------------------------------- -A generic library module in a subdirectory 'libs/LIB' must not depend on +A generic library module in a subdirectory ‘libs/LIB’ must not depend on TeX-specific libraries, by definition. It is included by adding its -name 'LIB' to the M4 macro 'kpse_libs_pkgs' in 'm4/kpse-pkgs.m4'--before +name ‘LIB’ to the M4 macro ‘kpse_libs_pkgs’ in ‘m4/kpse-pkgs.m4’—before any other libraries from the TeX Live tree on which it depends. - As with program modules, the subdirectory 'libs/LIB' must contain the + As with program modules, the subdirectory ‘libs/LIB’ must contain the sources and build system for the library (and any installable support -programs) and a fragment 'ac/withenable.ac' that contains the M4 macro -'KPSE_WITH_LIB' defined in 'm4/kpse-setup.m4' with 'LIB' as the +programs) and a fragment ‘ac/withenable.ac’ that contains the M4 macro +‘KPSE_WITH_LIB’ defined in ‘m4/kpse-setup.m4’ with ‘LIB’ as the mandatory first argument and two optional arguments: a list of required libraries from the TL tree, and a list of options: for libraries, -currently there is only one--specify 'tree' if this library cannot be +currently there is only one—specify ‘tree’ if this library cannot be replaced by a system version. - If a system version can be used, a second fragment 'ac/LIB.ac' is -needed, containing the M4 macro 'KPSE_TRY_LIB' (or 'KPSE_TRY_LIBXX') -with 'LIB' as the mandatory first argument and two additional arguments -for the Autoconf macro 'AC_LANG_PROGRAM' used to compile and link a + If a system version can be used, a second fragment ‘ac/LIB.ac’ is +needed, containing the M4 macro ‘KPSE_TRY_LIB’ (or ‘KPSE_TRY_LIBXX’) +with ‘LIB’ as the mandatory first argument and two additional arguments +for the Autoconf macro ‘AC_LANG_PROGRAM’ used to compile and link a small C (or C++) program as sanity check for using the system library. - In addition a file 'm4/kpse-LIB-flags' (at the top level) must define -the M4 macro 'KPSE_LIB_FLAGS' (all uppercase) setting up the 'make' -variables 'LIB_INCLUDES', 'LIB_LIBS', 'LIB_DEPEND', and 'LIB_RULE' with -the values required for 'CPPFLAGS', 'LDADD', dependencies, and a -(multi-line) 'make' rule to rebuild the library when necessary. All of + In addition a file ‘m4/kpse-LIB-flags’ (at the top level) must define +the M4 macro ‘KPSE_LIB_FLAGS’ (all uppercase) setting up the ‘make’ +variables ‘LIB_INCLUDES’, ‘LIB_LIBS’, ‘LIB_DEPEND’, and ‘LIB_RULE’ with +the values required for ‘CPPFLAGS’, ‘LDADD’, dependencies, and a +(multi-line) ‘make’ rule to rebuild the library when necessary. All of that is needed for the library from the TL tree and, if supported, for a system version. - If a system library is allowed, 'KPSE_LIB_FLAGS' also provides the -configure option '--with-system-LIB' and uses the additional M4 macro -'KPSE_LIB_SYSTEM_FLAGS' to generate the 'make' variables for a system + If a system library is allowed, ‘KPSE_LIB_FLAGS’ also provides the +configure option ‘--with-system-LIB’ and uses the additional M4 macro +‘KPSE_LIB_SYSTEM_FLAGS’ to generate the ‘make’ variables for a system library. In addition, the definition of the M4 macro -'KPSE_ALL_SYSTEM_FLAGS' in 'm4/kpse-pkgs.m4' must be extended by the +‘KPSE_ALL_SYSTEM_FLAGS’ in ‘m4/kpse-pkgs.m4’ must be extended by the line: - 'AC_REQUIRE([KPSE_LIB_SYSTEM_FLAGS])' + ‘AC_REQUIRE([KPSE_LIB_SYSTEM_FLAGS])’ File: tlbuild.info, Node: Adding a new TeX-specific library module, Prev: Adding a new generic library module, Up: Extending TeX Live @@ -1532,15 +1533,15 @@ File: tlbuild.info, Node: Adding a new TeX-specific library module, Prev: Addi 6.6.4 Adding a new TeX-specific library module ---------------------------------------------- -A TeX-specific library module in a subdirectory 'texk/LIB' may depend on +A TeX-specific library module in a subdirectory ‘texk/LIB’ may depend on other TeX-specific libraries but must not depend on any generic library from the TL tree. It is included in the same general ways as a generic library (see the previous section), with these modifications: - * The library name 'LIB' is added to the M4 macro - 'kpse_texlibs_pkgs', which is also in 'm4/kpse-pkgs.m4'. + • The library name ‘LIB’ is added to the M4 macro + ‘kpse_texlibs_pkgs’, which is also in ‘m4/kpse-pkgs.m4’. - * The fragment 'ac/withenable.ac' must use 'KPSE_WITH_TEXLIB'. + • The fragment ‘ac/withenable.ac’ must use ‘KPSE_WITH_TEXLIB’. File: tlbuild.info, Node: Configure options, Next: Coding conventions, Prev: Layout and infrastructure, Up: Top @@ -1549,23 +1550,23 @@ File: tlbuild.info, Node: Configure options, Next: Coding conventions, Prev: ******************* Corresponding to the large number of program and library modules there -are a large number 'configure' options, most of which are described +are a large number ‘configure’ options, most of which are described here. The command - 'configure --help' + ‘configure --help’ at the top level gives an exhaustive list of all global options and a few important module-specific ones, whereas, e.g., - 'texk/lcdf-typetools/configure --help' -also displays the 'lcdf-typetools' specific options, which are not shown + ‘texk/lcdf-typetools/configure --help’ +also displays the ‘lcdf-typetools’ specific options, which are not shown at the top level. The help text also mentions several influential environment variables, but for TeX Live it is better to specify them as assignments on the command line. - The './Build' script used to make the binaries shipped with TeX Live -invokes the top-level 'configure' with a few additional options (*note + The ‘./Build’ script used to make the binaries shipped with TeX Live +invokes the top-level ‘configure’ with a few additional options (*note Building::). The defaults discussed below are those for the actual -'configure' script; invoking 'configure' via './Build' yields different +‘configure’ script; invoking ‘configure’ via ‘./Build’ yields different results. Defaults for most options are set at the top level and propagated @@ -1605,55 +1606,55 @@ Here are the global configure options. File: tlbuild.info, Node: --disable-native-texlive-build, Next: --prefix --bindir ..., Up: Global configure options -7.1.1 '--disable-native-texlive-build' +7.1.1 ‘--disable-native-texlive-build’ -------------------------------------- If enabled (the default), build for a TL binary distribution as shipped -by the TeX user groups. This requires GNU 'make' and implies -'--enable-multiplatform' and '--enable-cxx-runtime-hack' (unless they -are explicitly disabled), and enforces '--disable-shared'. +by the TeX user groups. This requires GNU ‘make’ and implies +‘--enable-multiplatform’ and ‘--enable-cxx-runtime-hack’ (unless they +are explicitly disabled), and enforces ‘--disable-shared’. If building TL for a GNU/Linux or other distribution, this should be disabled and system versions of most libraries should be used (*note Distro builds::). - A related option, '--enable-texlive-build', is automatically passed + A related option, ‘--enable-texlive-build’, is automatically passed to all subdirectories (and cannot be disabled). Subdirectories that can -also be built independently from the TL tree (such as 'utils/xindy' and -'texk/dvipng') but cooperate with TL can use this option to enable +also be built independently from the TL tree (such as ‘utils/xindy’ and +‘texk/dvipng’) but cooperate with TL can use this option to enable TL-specific adaptations, such as installation paths. File: tlbuild.info, Node: --prefix --bindir ..., Next: --disable-largefile, Prev: --disable-native-texlive-build, Up: Global configure options -7.1.2 '--prefix', '--bindir', ... +7.1.2 ‘--prefix’, ‘--bindir’, ... --------------------------------- These standard Autoconf options specify various installation directories as usual. For the complete list, *note Installation directories::. - Also as usual, all values are prefixed by the value of 'DESTDIR', if -set, on the 'make' command line (*note Installation in a temporary + Also as usual, all values are prefixed by the value of ‘DESTDIR’, if +set, on the ‘make’ command line (*note Installation in a temporary location: (automake)Staged Installs.). File: tlbuild.info, Node: --disable-largefile, Next: --disable-missing, Prev: --prefix --bindir ..., Up: Global configure options -7.1.3 '--disable-largefile' +7.1.3 ‘--disable-largefile’ --------------------------- Omit large file support (LFS), which is needed on most 32-bit Unix systems for files with 2GB or more. Regardless of this option, the size -of 'DVI' and 'GF' files must always be <2GB, due to the file format +of ‘DVI’ and ‘GF’ files must always be <2GB, due to the file format specifications. With LFS, there is no fixed limit on the size of PDF files created by -'pdftex' or PostScript files created by 'dvips'. +‘pdftex’ or PostScript files created by ‘dvips’. File: tlbuild.info, Node: --disable-missing, Next: --enable-compiler-warnings=LEVEL, Prev: --disable-largefile, Up: Global configure options -7.1.4 '--disable-missing' +7.1.4 ‘--disable-missing’ ------------------------- Immediately terminate the build process if a requested program or @@ -1663,86 +1664,86 @@ when figuring out a specific (sub)set of modules to enable. File: tlbuild.info, Node: --enable-compiler-warnings=LEVEL, Next: --enable-cxx-runtime-hack, Prev: --disable-missing, Up: Global configure options -7.1.5 '--enable-compiler-warnings='LEVEL +7.1.5 ‘--enable-compiler-warnings=’LEVEL ---------------------------------------- Enable various levels of compiler warnings for C, C++, and/or -Objective C: the LEVEL value can be one of: 'no min yes max all'. The -default is 'yes' in 'maintainer-mode' (see below) and 'min' otherwise. -This option defines the variables 'WARNING_[OBJ]C[XX]FLAGS', but these +Objective C: the LEVEL value can be one of: ‘no min yes max all’. The +default is ‘yes’ in ‘maintainer-mode’ (see below) and ‘min’ otherwise. +This option defines the variables ‘WARNING_[OBJ]C[XX]FLAGS’, but these variables are not consistently used in all library and program modules. At present, these warning flags assume options from the GNU compilers. File: tlbuild.info, Node: --enable-cxx-runtime-hack, Next: --enable-maintainer-mode, Prev: --enable-compiler-warnings=LEVEL, Up: Global configure options -7.1.6 '--enable-cxx-runtime-hack' +7.1.6 ‘--enable-cxx-runtime-hack’ --------------------------------- -If enabled (as it is for the native TL build), when using 'g++', try to -statically link with 'libstdc++', thus improving portability of the +If enabled (as it is for the native TL build), when using ‘g++’, try to +statically link with ‘libstdc++’, thus improving portability of the resulting binary. *Note Macros for compilers::. File: tlbuild.info, Node: --enable-maintainer-mode, Next: --enable-multiplatform, Prev: --enable-cxx-runtime-hack, Up: Global configure options -7.1.7 '--enable-maintainer-mode' +7.1.7 ‘--enable-maintainer-mode’ -------------------------------- -Enable 'make' rules and dependencies not useful (and sometimes +Enable ‘make’ rules and dependencies not useful (and sometimes confusing) to the casual user. This requires current versions of the GNU build tools (*note Build system tools::), as it automatically -rebuilds infrastructure files as needed. *Note 'missing' and -'AM_MAINTAINER_MODE': (automake)maintainer-mode. +rebuilds infrastructure files as needed. *Note ‘missing’ and +‘AM_MAINTAINER_MODE’: (automake)maintainer-mode. File: tlbuild.info, Node: --enable-multiplatform, Next: --enable-shared, Prev: --enable-maintainer-mode, Up: Global configure options -7.1.8 '--enable-multiplatform' +7.1.8 ‘--enable-multiplatform’ ------------------------------ -If enabled (as it is for the native TL build) and '--bindir=DIR' or -'--libdir=DIR' are not specified, install executables and libraries in -per-platform subdirectories of 'EPREFIX/bin' and 'EPREFIX/lib' where -EPREFIX is the value given or implied for 'exec_prefix'. In any case, -the values for 'bindir' and 'libdir' are automatically propagated to all +If enabled (as it is for the native TL build) and ‘--bindir=DIR’ or +‘--libdir=DIR’ are not specified, install executables and libraries in +per-platform subdirectories of ‘EPREFIX/bin’ and ‘EPREFIX/lib’ where +EPREFIX is the value given or implied for ‘exec_prefix’. In any case, +the values for ‘bindir’ and ‘libdir’ are automatically propagated to all subdirectories. File: tlbuild.info, Node: --enable-shared, Next: --enable-silent-rules, Prev: --enable-multiplatform, Up: Global configure options -7.1.9 '--enable-shared' +7.1.9 ‘--enable-shared’ ----------------------- Build shared versions of the TeX-specific libraries such as -'libkpathsea'. This is not allowed for a native TL build (i.e., -'--disable-native-texlive-build' must also be specified). +‘libkpathsea’. This is not allowed for a native TL build (i.e., +‘--disable-native-texlive-build’ must also be specified). File: tlbuild.info, Node: --enable-silent-rules, Next: --without-ln-s, Prev: --enable-shared, Up: Global configure options -7.1.10 '--enable-silent-rules' +7.1.10 ‘--enable-silent-rules’ ------------------------------ -Enable the use of less verbose build rules. When using GNU 'make' (or -any 'make' implementation supporting nested variable expansions), you -can specify 'V=1' on the 'make' command line to get more verbosity, or -'V=0' to get less, regardless of this option. +Enable the use of less verbose build rules. When using GNU ‘make’ (or +any ‘make’ implementation supporting nested variable expansions), you +can specify ‘V=1’ on the ‘make’ command line to get more verbosity, or +‘V=0’ to get less, regardless of this option. File: tlbuild.info, Node: --without-ln-s, Next: --without-x, Prev: --enable-silent-rules, Up: Global configure options -7.1.11 '--without-ln-s' +7.1.11 ‘--without-ln-s’ ----------------------- -Required when using a system without a working 'ln -s' to build binaries -for a Unix-like system. However, 'make install' will not create +Required when using a system without a working ‘ln -s’ to build binaries +for a Unix-like system. However, ‘make install’ will not create anything useful, and might fail. File: tlbuild.info, Node: --without-x, Prev: --without-ln-s, Up: Global configure options -7.1.12 '--without-x' +7.1.12 ‘--without-x’ -------------------- Disable all programs using the X Window System. @@ -1753,7 +1754,7 @@ File: tlbuild.info, Node: Program-specific configure options, Next: Library-sp 7.2 Program-specific configure options ====================================== -Here are (some of) the program-specific 'configure' options. +Here are (some of) the program-specific ‘configure’ options. * Menu: @@ -1770,197 +1771,197 @@ Here are (some of) the program-specific 'configure' options. File: tlbuild.info, Node: --enable-PROG --disable-PROG, Next: --disable-all-pkgs, Up: Program-specific configure options -7.2.1 '--enable-PROG', '--disable-PROG' +7.2.1 ‘--enable-PROG’, ‘--disable-PROG’ --------------------------------------- -Do or do not build and install the program(s) of module 'PROG'. +Do or do not build and install the program(s) of module ‘PROG’. File: tlbuild.info, Node: --disable-all-pkgs, Next: Configure options for texk/web2c, Prev: --enable-PROG --disable-PROG, Up: Program-specific configure options -7.2.2 '--disable-all-pkgs' +7.2.2 ‘--disable-all-pkgs’ -------------------------- -Do not build any program modules by default--only those explicitly +Do not build any program modules by default—only those explicitly enabled. This is useful when one wants to work on only a single -program, which is specified with an additional '--enable' option, e.g., -'--enable-dvipdfm-x'. It's still simplest to check out and configure +program, which is specified with an additional ‘--enable’ option, e.g., +‘--enable-dvipdfm-x’. It’s still simplest to check out and configure the whole source tree, but at least only the program you are interested in, and its dependencies, are built. *Note Build one package::. Without this option, all modules are built except those that are -explicitly disabled or specify 'disable' in their 'ac/withenable.ac' +explicitly disabled or specify ‘disable’ in their ‘ac/withenable.ac’ fragment. File: tlbuild.info, Node: Configure options for texk/web2c, Next: Configure options for texk/bibtex-x, Prev: --disable-all-pkgs, Up: Program-specific configure options -7.2.3 Configure options for 'texk/web2c' +7.2.3 Configure options for ‘texk/web2c’ ---------------------------------------- -'--with-banner-add=STR' -Add 'STR' to the default version string (which is ''TeX Live YEAR'' or -''Web2C YEAR'') appended to banner lines. This is ignored for a native -TL build, but distro builds should specify, e.g., '/SOMEDISTRO'. +‘--with-banner-add=STR’ +Add ‘STR’ to the default version string (which is ‘‘TeX Live YEAR’’ or +‘‘Web2C YEAR’’) appended to banner lines. This is ignored for a native +TL build, but distro builds should specify, e.g., ‘/SOMEDISTRO’. -'--with-editor=CMD' -Specify the command 'CMD' to invoke from the 'e' option of TeX and -friends, replacing the default 'vi +%d '%s'' for Unix or 'texworks ---position=%d "%s"' for Windows. +‘--with-editor=CMD’ +Specify the command ‘CMD’ to invoke from the ‘e’ option of TeX and +friends, replacing the default ‘vi +%d '%s'’ for Unix or ‘texworks +--position=%d "%s"’ for Windows. -'--with-fontconfig-includes=DIR', '--with-fontconfig-libdir=DIR' -Building XeTeX on non-Mac systems requires the 'fontconfig' library +‘--with-fontconfig-includes=DIR’, ‘--with-fontconfig-libdir=DIR’ +Building XeTeX on non-Mac systems requires the ‘fontconfig’ library headers and code. If one or both of these options are given, the required flags are derived from them; otherwise, they are determined via -'pkg-config' (if present). +‘pkg-config’ (if present). -'--with-mf-x-toolkit' -Use the X toolkit ('libXt') for Metafont (the default is to use the -lowest-level 'Xlib' support; it seems this has the best chance of +‘--with-mf-x-toolkit’ +Use the X toolkit (‘libXt’) for Metafont (the default is to use the +lowest-level ‘Xlib’ support; it seems this has the best chance of working across X installations nowadays). -'--disable-dump-share' -Make the 'fmt'/'base' dump files architecture dependent (somewhat faster +‘--disable-dump-share’ +Make the ‘fmt’/‘base’ dump files architecture dependent (somewhat faster on LittleEndian architectures). -'--disable-ipc' -Disable TeX's '--ipc' option. +‘--disable-ipc’ +Disable TeX’s ‘--ipc’ option. -'--disable-mf-nowin' -Do not build a separate non-graphically-capable Metafont ('mf-nowin'). +‘--disable-mf-nowin’ +Do not build a separate non-graphically-capable Metafont (‘mf-nowin’). -'--disable-tex', '--enable-etex', ... +‘--disable-tex’, ‘--enable-etex’, ... Do not or do build the various TeX, Metafont, and MetaPost engines -(defaults are defined in the fragment 'texk/web2c/ac/web2c.ac'). +(defaults are defined in the fragment ‘texk/web2c/ac/web2c.ac’). -'--disable-web-progs' -Do not build the original WEB programs 'bibtex', ..., 'weave'. Useful +‘--disable-web-progs’ +Do not build the original WEB programs ‘bibtex’, ..., ‘weave’. Useful if, e.g., you only want to (re)build some engines. -'--enable-auto-core' +‘--enable-auto-core’ This option causes TeX and Metafont to produce a core dump when a particular hacky filename is encountered, for use in creating preloaded binaries. This is rarely done nowadays. -'--enable-libtool-hack' -If enabled (which is the default for all platforms), prevents 'libtool' -from linking explicitly with dependencies of 'libfontconfig' such as -'libexpat'. +‘--enable-libtool-hack’ +If enabled (which is the default for all platforms), prevents ‘libtool’ +from linking explicitly with dependencies of ‘libfontconfig’ such as +‘libexpat’. -'--enable-*win' +‘--enable-*win’ Include various types of non-X window support for Metafont (EPSF output, -'mftalk', old graphics terminals, ...). +‘mftalk’, old graphics terminals, ...). -'--enable-tex-synctex', '--disable-etex-synctex', ... -Build the TeX engines with or without 'SyncTeX' support; ignored for a +‘--enable-tex-synctex’, ‘--disable-etex-synctex’, ... +Build the TeX engines with or without ‘SyncTeX’ support; ignored for a native TeX Live build. Defaults are defined in -'texk/web2c/ac/web2c.ac'. +‘texk/web2c/ac/web2c.ac’. -'--disable-synctex' -Do not build the 'SyncTeX' library and tool. +‘--disable-synctex’ +Do not build the ‘SyncTeX’ library and tool. File: tlbuild.info, Node: Configure options for texk/bibtex-x, Next: Configure options for texk/dvipdfm-x, Prev: Configure options for texk/web2c, Up: Program-specific configure options -7.2.4 Configure options for 'texk/bibtex-x' +7.2.4 Configure options for ‘texk/bibtex-x’ ------------------------------------------- -The programs 'bibtex8' and 'bibtexu' have been merged into the module -'bibtex-x' (extended BibTeX). +The programs ‘bibtex8’ and ‘bibtexu’ have been merged into the module +‘bibtex-x’ (extended BibTeX). -'--disable-bibtex8' -Do not build the 'bibtex8' program. +‘--disable-bibtex8’ +Do not build the ‘bibtex8’ program. -'--disable-bibtexu' -Do not build the 'bibtexu' program (building 'bibtexu' requires 'ICU' +‘--disable-bibtexu’ +Do not build the ‘bibtexu’ program (building ‘bibtexu’ requires ‘ICU’ libraries). File: tlbuild.info, Node: Configure options for texk/dvipdfm-x, Next: Configure options for texk/dvisvgm, Prev: Configure options for texk/bibtex-x, Up: Program-specific configure options -7.2.5 Configure options for 'texk/dvipdfm-x' +7.2.5 Configure options for ‘texk/dvipdfm-x’ -------------------------------------------- -The former modules 'dvipdfmx' (extended DVI to PDF converter) and -'xdvipdfmx' (the same, as used by XeTeX) have been merged into -'dvipdfm-x' at the source level. Two separate binaries are still -created by default. In addition, 'dvipdfm' is created as a symlink to -'dvipdfmx', with backward-compatible (very slightly different) behavior. +The former modules ‘dvipdfmx’ (extended DVI to PDF converter) and +‘xdvipdfmx’ (the same, as used by XeTeX) have been merged into +‘dvipdfm-x’ at the source level. Two separate binaries are still +created by default. In addition, ‘dvipdfm’ is created as a symlink to +‘dvipdfmx’, with backward-compatible (very slightly different) behavior. -'--disable-dvipdfmx' -Do not build the 'dvipdfmx' program or make the 'dvipdfm' symlink. +‘--disable-dvipdfmx’ +Do not build the ‘dvipdfmx’ program or make the ‘dvipdfm’ symlink. -'--disable-xdvipdfmx' -Do not build the 'xdvipdfmx' program. +‘--disable-xdvipdfmx’ +Do not build the ‘xdvipdfmx’ program. File: tlbuild.info, Node: Configure options for texk/dvisvgm, Next: Configure options for texk/texlive, Prev: Configure options for texk/dvipdfm-x, Up: Program-specific configure options -7.2.6 Configure options for 'texk/dvisvgm' +7.2.6 Configure options for ‘texk/dvisvgm’ ------------------------------------------ -'--with-system-libgs' -Build 'dvisvgm' using installed Ghostscript ('gs') headers and library -(not allowed for a native TL build). The default is to load the 'gs' +‘--with-system-libgs’ +Build ‘dvisvgm’ using installed Ghostscript (‘gs’) headers and library +(not allowed for a native TL build). The default is to load the ‘gs’ library at runtime if possible, else to disable support for PostScript specials. -'--without-libgs' -Build 'dvisvgm' without PostScript support at all. Because the dynamic +‘--without-libgs’ +Build ‘dvisvgm’ without PostScript support at all. Because the dynamic loading just mentioned defeats all attempts at static linking, the result can crash due to library incompatibilities, e.g., on CentOS 5. -'--with-libgs-includes=DIR', '--with-libgs-libdir=DIR' +‘--with-libgs-includes=DIR’, ‘--with-libgs-libdir=DIR’ Specify non-standard locations of the Ghostscript headers and library. File: tlbuild.info, Node: Configure options for texk/texlive, Next: Configure options for texk/xdvik, Prev: Configure options for texk/dvisvgm, Up: Program-specific configure options -7.2.7 Configure options for 'texk/texlive' +7.2.7 Configure options for ‘texk/texlive’ ------------------------------------------ -'--disable-linked-scripts' -Do not install the "linked scripts" (*note Linked scripts::), except for -the TL scripts required to run 'texlinks'. +‘--disable-linked-scripts’ +Do not install the “linked scripts” (*note Linked scripts::), except for +the TL scripts required to run ‘texlinks’. File: tlbuild.info, Node: Configure options for texk/xdvik, Next: Configure options for utils/xindy, Prev: Configure options for texk/texlive, Up: Program-specific configure options -7.2.8 Configure options for 'texk/xdvik' +7.2.8 Configure options for ‘texk/xdvik’ ---------------------------------------- -'--with-gs=FILENAME' -Hardwire the location of Ghostscript ('gs') as called by Xdvik. +‘--with-gs=FILENAME’ +Hardwire the location of Ghostscript (‘gs’) as called by Xdvik. -'--with-xdvi-x-toolkit=KIT' -Use toolkit 'KIT' for 'xdvik', one of: 'motif xaw xaw3d neXtaw'. The -default is 'motif' if available, else 'xaw'. +‘--with-xdvi-x-toolkit=KIT’ +Use toolkit ‘KIT’ for ‘xdvik’, one of: ‘motif xaw xaw3d neXtaw’. The +default is ‘motif’ if available, else ‘xaw’. -'--enable-xi2-scrolling' -Use XInput 2.1 "smooth scrolling" if available (default: yes, except for +‘--enable-xi2-scrolling’ +Use XInput 2.1 “smooth scrolling” if available (default: yes, except for a native TL build). File: tlbuild.info, Node: Configure options for utils/xindy, Prev: Configure options for texk/xdvik, Up: Program-specific configure options -7.2.9 Configure options for 'utils/xindy' +7.2.9 Configure options for ‘utils/xindy’ ----------------------------------------- -'--enable-xindy-rules' -Build and install 'xindy' rules (default: yes, except for a native TL +‘--enable-xindy-rules’ +Build and install ‘xindy’ rules (default: yes, except for a native TL build). -'--enable-xindy-docs' -Build and install 'xindy' documentation (default: yes, except for a +‘--enable-xindy-docs’ +Build and install ‘xindy’ documentation (default: yes, except for a native TL build). -'--with-clisp-runtime=FILENAME' -Specifies the full path for the Clisp runtime file ('lisp.run' or -'lisp.exe') to be installed. When specified as 'default' (the default +‘--with-clisp-runtime=FILENAME’ +Specifies the full path for the Clisp runtime file (‘lisp.run’ or +‘lisp.exe’) to be installed. When specified as ‘default’ (the default for a native TL build) the path is determined by the Clisp executable; -the value 'system' (not allowed for a native TL build, but the default -otherwise) indicates that 'xindy' will use the installed version of -'clisp' (which must be identical to the one used to build 'xindy'). +the value ‘system’ (not allowed for a native TL build, but the default +otherwise) indicates that ‘xindy’ will use the installed version of +‘clisp’ (which must be identical to the one used to build ‘xindy’). File: tlbuild.info, Node: Library-specific configure options, Next: Variables for configure, Prev: Program-specific configure options, Up: Configure options @@ -1968,21 +1969,21 @@ File: tlbuild.info, Node: Library-specific configure options, Next: Variables 7.3 Library-specific configure options ====================================== -Here are (some of) the library-specific 'configure' options, starting +Here are (some of) the library-specific ‘configure’ options, starting with this generic one: -'--with-system-LIB' +‘--with-system-LIB’ - Use an installed (system) version of the library 'LIB'; this option + Use an installed (system) version of the library ‘LIB’; this option exists for most libraries, but is not allowed for a native TL build. Using a system version implies also using the system versions of all libraries that LIB depends on. - For many libraries '--with-LIB-includes=DIR' and -'--with-LIB-libdir=DIR' can specify non-standard search locations; -others use 'pkg-config' or similar to determine the required flags. + For many libraries ‘--with-LIB-includes=DIR’ and +‘--with-LIB-libdir=DIR’ can specify non-standard search locations; +others use ‘pkg-config’ or similar to determine the required flags. - The top-level 'configure' script performs a consistency check for all + The top-level ‘configure’ script performs a consistency check for all required system libraries and bails out if tests fail. * Menu: @@ -1992,25 +1993,25 @@ required system libraries and bails out if tests fail. File: tlbuild.info, Node: Configure options for kpathsea, Up: Library-specific configure options -7.3.1 Configure options for 'kpathsea' +7.3.1 Configure options for ‘kpathsea’ -------------------------------------- -'--enable-CMD-default', '--disable-CMD-default' +‘--enable-CMD-default’, ‘--disable-CMD-default’ Determine the compile time default for whether or not to run CMD, which is one of: -'mkocp' +‘mkocp’ (Omega compiled translation process file) -'mkofm' +‘mkofm’ (Omega font metrics file) -'mktexfmt' +‘mktexfmt’ (format/base dump file) -'mktexmf' +‘mktexmf’ (Metafont source) -'mktexpk' +‘mktexpk’ (PK bitmap font) -'mktextex' +‘mktextex’ (TeX source) -'mktextfm' +‘mktextfm’ (TFM file) to generate the specified type of file dynamically. The default can be @@ -2022,44 +2023,44 @@ File: tlbuild.info, Node: Variables for configure, Prev: Library-specific conf 7.4 Variables for configure =========================== -The values for these variables can be specified as 'configure' arguments -of the form 'VAR=VALUE'. They can also be defined in the environment, +The values for these variables can be specified as ‘configure’ arguments +of the form ‘VAR=VALUE’. They can also be defined in the environment, but that might not work for cross compilations. -'CC' -'CXX' -'CPPFLAGS' +‘CC’ +‘CXX’ +‘CPPFLAGS’ And plenty more. As usual with Autoconf, these variables specify the name (or full path) of compilers, preprocessor flags, and similar. *Note (autoconf)Preset Output Variables::. -'CLISP' - Name (or full path) of the 'clisp' executable, used to build - 'xindy'. +‘CLISP’ + Name (or full path) of the ‘clisp’ executable, used to build + ‘xindy’. -'FT2_CONFIG' -'ICU_CONFIG' -'PKG_CONFIG' - These specify the name (or path) for the 'freetype-config', - 'icu-config', and 'pkg-config' commands used to determine the flags - required for system versions of 'libfreetype', the ICU libraries, +‘FT2_CONFIG’ +‘ICU_CONFIG’ +‘PKG_CONFIG’ + These specify the name (or path) for the ‘freetype-config’, + ‘icu-config’, and ‘pkg-config’ commands used to determine the flags + required for system versions of ‘libfreetype’, the ICU libraries, and other libraries, respectively. -'KPSEWHICH' - Name (or path) of an installed 'kpsewhich' binary, used by 'make - check' to determine the location of, e.g., 'cmbx10.tfm'. +‘KPSEWHICH’ + Name (or path) of an installed ‘kpsewhich’ binary, used by ‘make + check’ to determine the location of, e.g., ‘cmbx10.tfm’. -'MAKE' -'SED' - And more. Name (or path) of the 'make', 'sed', and similar +‘MAKE’ +‘SED’ + And more. Name (or path) of the ‘make’, ‘sed’, and similar programs; used at the top level and propagated to all subdirectories. -'PERL' -'LATEX' -'PDFLATEX' - Name (or full path) for the 'perl', 'latex', and 'pdflatex' - commands used, e.g., to build the 'xindy' documentation. +‘PERL’ +‘LATEX’ +‘PDFLATEX’ + Name (or full path) for the ‘perl’, ‘latex’, and ‘pdflatex’ + commands used, e.g., to build the ‘xindy’ documentation. File: tlbuild.info, Node: Coding conventions, Next: Continuous integration, Prev: Configure options, Up: Top @@ -2067,12 +2068,12 @@ File: tlbuild.info, Node: Coding conventions, Next: Continuous integration, P 8 Coding conventions ******************** -Ideally, building all of TeX Live with '--enable-compiler-warnings=max' +Ideally, building all of TeX Live with ‘--enable-compiler-warnings=max’ should produce no (GCC) compiler warnings at all. In spite of considerable efforts into that direction we are still far from that goal and there are reasons that we may never fully reach it. Below are some rules about declarations of functions or variables and the use of -'const'. These rules should be applied to the code maintained in the +‘const’. These rules should be applied to the code maintained in the TeX Live tree and for other packages whose maintainers are willing to accept patches. @@ -2092,7 +2093,7 @@ C standards The TeX Live build system no longer supports pre-ANSI C compilers. Thus all function prototypes and definitions must conform to the ANSI C -standard (including 'void' in the declaration of C functions with no +standard (including ‘void’ in the declaration of C functions with no parameters). On the other hand, TL is built for a wide variety of systems, not all of which support the C99 standard. Therefore using C99 features should be avoided if that can easily be done. In particular, C @@ -2101,10 +2102,10 @@ comments. If some C99 (or later) constructs must be used, the module should verify that they are available and otherwise provide an alternative. -For example, the module 'texk/chktex' uses the C99 function 'stpcpy()' +For example, the module ‘texk/chktex’ uses the C99 function ‘stpcpy()’ that may or may not be available on a particular system. It uses -'AC_CHECK_DECLS([stpcpy])' in 'configure.ac' to test this, and provides -a perhaps less efficient alternative (in the file 'Utility.h'): +‘AC_CHECK_DECLS([stpcpy])’ in ‘configure.ac’ to test this, and provides +a perhaps less efficient alternative (in the file ‘Utility.h’): #if !(defined HAVE_DECL_STPCPY && HAVE_DECL_STPCPY) static inline char *stpcpy(char *dest, const char *src) @@ -2116,17 +2117,17 @@ a perhaps less efficient alternative (in the file 'Utility.h'): Static functions ................ -Functions used in only one file should be declared 'static'; they +Functions used in only one file should be declared ‘static’; they require no prototype except in forward declarations. Extern functions ................ -Functions not declared 'static', usually because they are used in -several files, require an ('extern') prototype in exactly one header +Functions not declared ‘static’, usually because they are used in +several files, require an (‘extern’) prototype in exactly one header file, which is included in the file defining the function and in all -files using that function--this is the only way to guarantee consistency -between definition and use. There should be no 'extern' declarations +files using that function—this is the only way to guarantee consistency +between definition and use. There should be no ‘extern’ declarations sprinkled throughout the C code (with or without comments as to where that function is defined). @@ -2134,7 +2135,7 @@ Variable declarations ..................... The declaration of global variables follows analogous rules: they are -either declared 'static' if used in only one file or declared 'extern' +either declared ‘static’ if used in only one file or declared ‘extern’ in exactly one header and instantiated in exactly one file. @@ -2143,39 +2144,39 @@ File: tlbuild.info, Node: Const, Prev: Declarations and definitions, Up: Codi 8.2 Const ========= -The 'const' feature of C is valuable, but easy to mis-use. +The ‘const’ feature of C is valuable, but easy to mis-use. Function parameters ................... Ideally, a function parameter not modified by the function should be -declared as 'const'. This is important in particular for strings -('char*') because the actual arguments are often string literals. It is -perfectly legitimate and safe to use a type 'char*' value for a type -'const char*' variable (in an assignment, as initializer, as function +declared as ‘const’. This is important in particular for strings +(‘char*’) because the actual arguments are often string literals. It is +perfectly legitimate and safe to use a type ‘char*’ value for a type +‘const char*’ variable (in an assignment, as initializer, as function argument, or as return value). It is equally safe to use a type -'char**' value for a type 'const char*const*' variable, but not for a -type 'const char**' variable since that might cause modification of a +‘char**’ value for a type ‘const char*const*’ variable, but not for a +type ‘const char**’ variable since that might cause modification of a quantity supposed to be constant. - Getting all 'const' qualifiers right can get quite involved but can + Getting all ‘const’ qualifiers right can get quite involved but can almost always be done. There are only a couple notable exceptions: the -X11 headers are full of declarations that ought to use 'const' but do -not; at one time, 'libfreetype' also did not fully specify 'const', but +X11 headers are full of declarations that ought to use ‘const’ but do +not; at one time, ‘libfreetype’ also did not fully specify ‘const’, but this has not been checked recently. -What must be avoided with 'const' +What must be avoided with ‘const’ ................................. -The GCC compiler warnings "assignment discards qualifiers..." and -analogous warnings for "initialization", "passing arg", or "return" must +The GCC compiler warnings “assignment discards qualifiers...” and +analogous warnings for “initialization”, “passing arg”, or “return” must be strenuously avoided in our own code. The only exception is when they are caused by X11 declarations or other third party code. -What should be avoided with 'const' +What should be avoided with ‘const’ ................................... -A type cast, e.g., from 'const char*' to 'char*' does not solve any +A type cast, e.g., from ‘const char*’ to ‘char*’ does not solve any problems; depending on warning options, it may only hide them. Therefore such casts should be avoided whenever possible and otherwise must be carefully analyzed to make sure that they cannot cause the @@ -2208,7 +2209,7 @@ File: tlbuild.info, Node: Transfer from Subversion to Github, Next: Automatic ====================================== The git-svn program (<https://git-scm.com/docs/git-svn>) is used to -check out the subtree 'Build/source' of the canonical Subversion +check out the subtree ‘Build/source’ of the canonical Subversion repository. The author index file used is not maintained in either Git or Subversion but can be provided on request. @@ -2216,36 +2217,36 @@ or Subversion but can be provided on request. git svn --authors-file usermap clone \ svn://USER@tug.org/texlive/trunk/Build/source -where the 'usermap' file maps Subversion user names to name and emails +where the ‘usermap’ file maps Subversion user names to name and emails of the authors. Anonymous checkout is also possible: git svn --authors-file usermap clone \ svn://tug.org/texlive/trunk/Build/source In the following, we will use _admin_ to refer to a user who has read/write access to the TeX Live subversion repository, and is also an -administrator of the ''TeX-Live'' team at Github. The above initial -checkout has been carried out by _admin_ on the server 'texlive.info'. +administrator of the ‘‘TeX-Live’’ team at Github. The above initial +checkout has been carried out by _admin_ on the server ‘texlive.info’. - On Github, a new git repository named 'texlive-source' was created by -_admin_ within the 'TeX-Live' "organization" + On Github, a new git repository named ‘texlive-source’ was created by +_admin_ within the ‘TeX-Live’ “organization” (<https://github.com/TeX-Live>). The remote was added to the checkout -with 'git remote add origin git@github.com:TeX-Live/texlive-source.git'. +with ‘git remote add origin git@github.com:TeX-Live/texlive-source.git’. To automate the update on Github, a new ssh key was generated and -added to the 'texlive-source' repository on Github as deployment key. -Thus, pushes using this key can only go to the 'texlive-source' +added to the ‘texlive-source’ repository on Github as deployment key. +Thus, pushes using this key can only go to the ‘texlive-source’ repository and not anywhere else. - The usage of 'git-svn' requires a strict discipline to keep a linear + The usage of ‘git-svn’ requires a strict discipline to keep a linear history in the master branch. Since we are aiming at a pure mirror -facility on Github, we have decided to further restrict the 'master' -branch of the 'texlive-source' repository on Github to changes by +facility on Github, we have decided to further restrict the ‘master’ +branch of the ‘texlive-source’ repository on Github to changes by _admin_. - This setup allows other developers to branch off 'master' and push + This setup allows other developers to branch off ‘master’ and push their branches to the Github repository, but all updates need to come -from the local 'master' (not the one on Github) to Subversion, back to -'master' on 'texlive.info', and from there to Github. +from the local ‘master’ (not the one on Github) to Subversion, back to +‘master’ on ‘texlive.info’, and from there to Github. File: tlbuild.info, Node: Automatic update of the Git mirror, Next: CI testing on Travis-CI, Prev: Transfer from Subversion to Github, Up: Continuous integration @@ -2253,10 +2254,10 @@ File: tlbuild.info, Node: Automatic update of the Git mirror, Next: CI testing 9.2 Automatic update of the Git mirror ====================================== -_admin_ has installed a cron job on 'texlive.info' running every 30 -minute which essentially runs 'git svn rebase' and 'git push' in the -'master' branch of the checkout. The first command fetches the changes -from the Subversion repository and updates the 'master' branch with +_admin_ has installed a cron job on ‘texlive.info’ running every 30 +minute which essentially runs ‘git svn rebase’ and ‘git push’ in the +‘master’ branch of the checkout. The first command fetches the changes +from the Subversion repository and updates the ‘master’ branch with them, and the second pushes changes (if any) to Github. @@ -2265,10 +2266,10 @@ File: tlbuild.info, Node: CI testing on Travis-CI, Next: Releases on Github, 9.3 CI testing on Travis-CI =========================== -The 'source' tree of TeX Live contains a top-level file '.travis.yml' +The ‘source’ tree of TeX Live contains a top-level file ‘.travis.yml’ which controls the automatic testing on Travis-CI. _admin_ has -registered with Travis-CI and allowed access to the Github's 'TeX-Live' -organization's 'texlive-source' repository. The default settings are to +registered with Travis-CI and allowed access to the Github’s ‘TeX-Live’ +organization’s ‘texlive-source’ repository. The default settings are to build the last commit of each push. No further action is necessary on Travis-CI. @@ -2281,7 +2282,7 @@ File: tlbuild.info, Node: Releases on Github, Prev: CI testing on Travis-CI, 9.4 Releases on Github ====================== -Given a git checkout of 'texlive-source': +Given a git checkout of ‘texlive-source’: git pull git tag build-svnNNNN @@ -2289,7 +2290,7 @@ Given a git checkout of 'texlive-source': and the result will appear at <https://github.com/TeX-Live/texlive-source/releases>. Releases can -also be made manually from that web page (see 'tl-update-bindir' for +also be made manually from that web page (see ‘tl-update-bindir’ for hints). @@ -2304,24 +2305,27 @@ Appendix A install-tl * install-tl SYNOPSIS:: * install-tl DESCRIPTION:: * install-tl REFERENCES:: +* install-tl EXAMPLES:: * install-tl OPTIONS:: * install-tl PROFILES:: * install-tl ENVIRONMENT VARIABLES:: +* install-tl DIRECTORY TREES:: +* install-tl BUGS:: * install-tl AUTHORS AND COPYRIGHT:: File: tlbuild.info, Node: install-tl NAME, Next: install-tl SYNOPSIS, Up: install-tl -A.1 NAME -======== +A.1 install-tl NAME +=================== install-tl - TeX Live cross-platform installer File: tlbuild.info, Node: install-tl SYNOPSIS, Next: install-tl DESCRIPTION, Prev: install-tl NAME, Up: install-tl -A.2 SYNOPSIS -============ +A.2 install-tl SYNOPSIS +======================= install-tl [_option_]... @@ -2330,8 +2334,8 @@ install-tl [_option_]... File: tlbuild.info, Node: install-tl DESCRIPTION, Next: install-tl REFERENCES, Prev: install-tl SYNOPSIS, Up: install-tl -A.3 DESCRIPTION -=============== +A.3 install-tl DESCRIPTION +========================== This installer creates a runnable TeX Live installation from various media, including over the network, from local hard disk, a DVD, etc. @@ -2342,18 +2346,20 @@ information on initially downloading TeX Live, see The basic idea of TeX Live installation is for you to choose one of the top-level _schemes_, each of which is defined as a different set of _collections_ and _packages_, where a collection is a set of packages, -and a package is what contains actual files. +and a package is what contains actual files. Each package is in exactly +one collection, while schemes can contain any combination of packages +and collections. Within the installer, you can choose a scheme, and further customize the set of collections to install, but not the set of the packages. To -work at the package level, use 'tlmgr' (reference just below) after the +work at the package level, use ‘tlmgr’ (reference just below) after the initial installation is complete. - The default is 'scheme-full', which installs everything, and this is + The default is ‘scheme-full’, which installs everything, and this is highly recommended. -File: tlbuild.info, Node: install-tl REFERENCES, Next: install-tl OPTIONS, Prev: install-tl DESCRIPTION, Up: install-tl +File: tlbuild.info, Node: install-tl REFERENCES, Next: install-tl EXAMPLES, Prev: install-tl DESCRIPTION, Up: install-tl A.4 REFERENCES ============== @@ -2365,49 +2371,87 @@ through *tlmgr*(1), the TeX Live Manager The most up-to-date version of this installer documentation is on the Internet at <https://tug.org/texlive/doc/install-tl.html>. + For step-by-step instructions, see +<https://tug.org/texlive/quickinstall.html>. + For the full documentation of TeX Live, see <https://tug.org/texlive/doc>. -File: tlbuild.info, Node: install-tl OPTIONS, Next: install-tl PROFILES, Prev: install-tl REFERENCES, Up: install-tl +File: tlbuild.info, Node: install-tl EXAMPLES, Next: install-tl OPTIONS, Prev: install-tl REFERENCES, Up: install-tl -A.5 OPTIONS -=========== +A.5 install-tl EXAMPLES +======================= + +With no options, ‘install-tl’ drops you into an interactive menu where +essentially all default settings can be changed. With options, you can +initialize the settings in various ways, or perform the installation +without interaction. Some examples: + +‘install-tl --paper=letter’ + + Initialize paper size setting. The only values allowed are + ‘letter’ and (the default) ‘a4’. + +‘install-tl --scheme’ _scheme_ + + Initialize the installation scheme; the default is ‘full’. For a + list of schemes, see the interactive ‘S’ menu. + +‘install-tl --no-interaction’ + + Perform the installation immediately after parsing options, without + entering the interactive menu. + +‘install-tl --profile’ _texlive.profile_ + + Install, without interaction, according to the given TL profile + file; see *note PROFILES: install-tl PROFILES. below. To + initialize from the profile and then enter the interactive menu, + add ‘--init-from-profile’. + + Full documentation follows. + + +File: tlbuild.info, Node: install-tl OPTIONS, Next: install-tl PROFILES, Prev: install-tl EXAMPLES, Up: install-tl + +A.6 install-tl OPTIONS +====================== As usual, all options can be specified in any order, and with either a -leading '-' or '--'. An argument value can be separated from its option -by either a space or '='. +leading ‘-’ or ‘--’. An argument value can be separated from its option +by either a space or ‘=’. + + The options relating to customization of the installation can also be +selected in the interactive installation menus (GUI or text). *-gui* [[=]_module_] +*-no-gui* + If no _module_ is given, starts the Tcl/Tk (see below) GUI installer. If _module_ is given loads the given installer module. Currently the following modules are supported: - 'text' + ‘text’ The text mode user interface (default on Unix systems, - including Macs). Same as the '-no-gui' option. + including Macs). Same as the ‘-no-gui’ option. - 'tcl' (or "perltk" or "wizard" or "expert" or nothing) + ‘tcl’ (or "perltk" or "wizard" or "expert" or nothing) The Tcl/Tk user interface (default on Windows). It starts with a small number of configuration options, roughly equivalent to what the former wizard option offers, but a - button 'Advanced' takes you to a screen with roughly the same - options as the former 'perltk' interface. - - The default GUI requires Tcl/Tk. This is standard on Macs - (although it is considered deprecated since Catalina) and is often - already installed on GNU/Linux, or can be easily installed through - a distro package manager. For Windows, TeX Live provides a Tcl/Tk - runtime. - -*-no-gui* + button ‘Advanced’ takes you to a screen with roughly the same + options as the former ‘perltk’ interface. - Use the text mode installer (default except on Windows and Macs). + The default GUI requires Tcl/Tk. This was standard on Macs, but + has been removed in the latest macOS releases. It’s often already + installed on GNU/Linux, or can be easily installed through a distro + package manager. For Windows, TeX Live provides a Tcl/Tk runtime. *-lang* _llcode_ @@ -2425,13 +2469,13 @@ by either a space or '='. Specify the package repository to be used as the source of the installation. In short, this can be a directory name or a url - using http(s), ftp, or scp. The documentation for 'tlmgr' has the + using http(s), ftp, or scp. The documentation for ‘tlmgr’ has the details (<https://tug.org/texlive/doc/tlmgr.html#OPTIONS>). For installation, the default is to pick a mirror automatically, using <https://mirror.ctan.org/systems/texlive/tlnet>; the chosen - mirror is used for the entire download. You can use the special - argument 'ctan' as an abbreviation for this. (See + mirror is then used for the entire download. You can use the + special argument ‘ctan’ as an abbreviation for this. (See <https://ctan.org> for more about CTAN and its mirrors.) After installation is complete, you can use that installation as @@ -2443,9 +2487,9 @@ by either a space or '='. This option allows you to choose a particular mirror from the current list of active CTAN mirrors. This option is supported in - the 'text' and 'gui' installer modes, and will also offer to + the ‘text’ and ‘gui’ installer modes, and will also offer to install from local media if available, or from a repository - specified on the command line. It's useful when the (default) + specified on the command line. It’s useful when the (default) automatic redirection does not choose a good host for you. *-all-options* @@ -2457,15 +2501,15 @@ by either a space or '='. *-custom-bin* _path_ - If you have built your own set of TeX Live binaries (perhaps - because your platform was not supported by TeX Live out of the - box), this option allows you to specify the _path_ to a directory - where the binaries for the current system are present. The - installation will continue as usual, but at the end all files from - _path_ are copied over to 'bin/custom/' under your installation - directory and this 'bin/custom/' directory is what will be added to - the path for the post-install actions. To install multiple custom - binary sets, manually rename 'custom' before doing each. + If you have built your own set of TeX Live binaries (e.g., because + precompiled binaries were not provided by TL for your platform), + this option allows you to specify the _path_ to a directory where + the binaries for the current system are present. The installation + will continue as usual, but at the end all files from _path_ are + copied over to ‘bin/custom/’ under your installation directory and + this ‘bin/custom/’ directory is what will be added to the path for + the post-install actions. To install multiple custom binary sets, + manually rename ‘custom’ before doing each. For more information on custom binaries, see <https://tug.org/texlive/custom-bin.html>. For general information @@ -2473,9 +2517,14 @@ by either a space or '='. *-debug-fakenet* - Pretend we're doing a network install, for the sole purpose of - testing broken downloads via moving package files aside in a tlnet - mirror. + Pretend we’re doing a network install. This is for the sole + purpose of testing the code to handle broken downloads, via moving + package files aside in a tlnet mirror hierarchy. + +*-debug-setup-vars* + + Print final values of directory variables; for more debugging + information on how they were set, also specify ‘-v’. *-debug-translation* @@ -2487,25 +2536,25 @@ by either a space or '='. *-force-platform* _platform_ Instead of auto-detecting the current platform, use _platform_. - Binaries for this platform must be present and they must actually - be runnable, or installation will fail. '-force-arch' is a - synonym. + Binaries for this platform must be present in ‘bin/’_platform_‘/’ + and they must be runnable, or installation will fail. + ‘-force-arch’ is a synonym. -*-help*, *-help*, *-?* +*-help*, *--help*, *-?* Display this help and exit. (This help is also on the web at <https://tug.org/texlive/doc/install-tl.html>). Sometimes the - 'perldoc' and/or 'PAGER' programs on the system have problems, + ‘perldoc’ and/or ‘PAGER’ programs on the system have problems, possibly resulting in control characters being literally output. - This can't always be detected, but you can set the 'NOPERLDOC' - environment variable and 'perldoc' will not be used. + This can’t always be detected, but you can set the ‘NOPERLDOC’ + environment variable and ‘perldoc’ will not be used. *-in-place* This is a quick-and-dirty installation option in case you already have an rsync or svn checkout of TeX Live. It will use the checkout as-is and will just do the necessary post-install. Be - warned that the file 'tlpkg/texlive.tlpdb' may be rewritten, that + warned that the file ‘tlpkg/texlive.tlpdb’ may be rewritten, that removal has to be done manually, and that the only realistic way to maintain this installation is to redo it from time to time. This option is not available via the installer interfaces. USE AT YOUR @@ -2525,35 +2574,82 @@ by either a space or '='. If this option is not given, the installer will create a log file in the root of the writable installation tree, for example, - '/usr/local/texlive/YYYY/install-tl.log' for the _YYYY_ release. + ‘/usr/local/texlive/YYYY/install-tl.log’ for the _YYYY_ release. *-no-cls* For the text mode installer only: do not clear the screen when - entering a new menu (for debugging purposes). + entering a new menu. For debugging. + +*-no-continue* + + Quit early on installation failure of a non-core package. + + By default, a few core packages are installed first; then, a failed + installation of any other (non-core) package is noted, but does not + stop the installation. Any such failed packages are retried, once. + + If the retry also fails, by default the installer proceeds to + completion anyway, with the idea that it was a transient network + problem and reinstallation will succeed later. If this option is + specified, and the retry fails, the installer aborts. + +*-no-doc-install* + +*-no-src-install* + + Do not install the documentation resp. source package files, both + for the immediate installation and for future updates. After + installation, inclusion of the doc/src files can be re-enabled via + ‘tlmgr’: + + tlmgr option docfiles 1 + tlmgr option srcfiles 1 + + If you later find that you want the doc/src files for a package + that has been installed without them, you can get them like this + (using the ‘fontspec’ package as the example): + + tlmgr install --reinstall --with-doc --with-src fontspec + + The source files mentioned here are those relating to TeX packages, + such as ‘.dtx’ files. The sources that are compiled to make the + binaries are available separately: see + <https://tug.org/texlive/svn/>. + +*-no-installation* + + Do not perform any installation. This is for debugging the + initialization and setup routines without touching the disk. + +*-no-interaction* + + Do not enter the interactive menu; immediately perform the + installation after initialization and option parsing. Also omit + the check for a previous installation and asking about importing + previous settings. *-no-persistent-downloads* *-persistent-downloads* For network installs, activating this option makes the installer - try to set up a persistent connection using the 'Net::LWP' Perl - module. This opens only one connection between your computer and - the server per session and reuses it, instead of initiating a new - download for each package, which typically yields a significant - speed-up. + try to set up a persistent connection using the ‘LWP’ Perl module. + This opens only one connection between your computer and the server + per session and reuses it, instead of initiating a new download for + each package, which typically yields a significant speed-up. This option is turned on by default, and the installation program - will fall back to using 'wget' if this is not possible. To disable + will fall back to using ‘wget’ if this is not possible. To disable usage of LWP and persistent connections, use - '-no-persistent-downloads'. + ‘-no-persistent-downloads’. *-no-verify-downloads* - By default, if a GnuPG 'gpg' binary is found in PATH, downloads are + By default, if a GnuPG ‘gpg’ binary is found in PATH, downloads are verified against a cryptographic signature. This option disables such verification. The full description is in the Crytographic - Verification section of the 'tlmgr' documentation, e.g., + Verification section of the ‘tlmgr’ documentation, e.g., <https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION> *-non-admin* @@ -2561,16 +2657,22 @@ by either a space or '='. For Windows only: configure for the current user, not for all users. +*-paper* ‘a4’*|*‘letter’ + + Set the default paper size for all TeX Live programs, as specified. + The default is ‘a4’. The paper size can be set after installation + with the ‘tlmgr paper’ command. + *-portable* - Install for portable use, e.g., on a USB stick. Also selectable - from within the perltk and text installers. + Install for portable use, e.g., on a USB stick. See the + ‘instopt_portable’ description below for details. *-print-platform* Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and - exit. '-print-arch' is a synonym. + exit. ‘-print-arch’ is a synonym. *-profile* _profile_file_ @@ -2586,61 +2688,118 @@ by either a space or '='. *-scheme* _scheme_ Schemes are the highest level of package grouping in TeX Live; the - default is to use the 'full' scheme, which includes everything. - This option overrides that default. You can change the scheme - again before the actual installation with the usual menu. The - _scheme_ argument may optionally have a prefix 'scheme-'. The list - of supported scheme names depends on what your package repository - provides; see the interactive menu list. + default is to use the ‘full’ scheme, which includes everything. + This option overrides that default. The _scheme_ argument value + may optionally have a prefix ‘scheme-’. The list of supported + scheme names depends on what your package repository provides; see + the interactive menu list. + +*-texdir* _dir_ + + Specify the system installation directory; the default is + ‘/usr/local/texlive/YYYY’ for release YYYY. Specifying this option + also causes the ‘TEXMFLOCAL’, ‘TEXMFSYSCONFIG’, and ‘TEXMFSYSVAR’ + directories to be set as subdirectories of _dir_, so they don’t + have to be set individually. + + There is a brief summary of these directories trees at *note + DIRECTORY TREES: install-tl DIRECTORY TREES. below; for details on + the trees set up by default, and their intended usage, see the main + TeX Live documentation at <https://tug.org/texlive/doc>. + +*-texuserdir* _dir_ + + Specify the user installation directory; the default is + ‘~/.texliveYYYY’ (except on Macs, where there is no leading dot). + Specifying this also causes the ‘TEXMFHOME’, ‘TEXMFCONFIG’, and + ‘TEXMFVAR’ directories to be set as subdirectories of _dir_. + +*-texmflocal* _dir_ + + Specify the ‘TEXMFLOCAL’ directory; the default is + ‘/usr/local/texlive/texmf-local’, that is, one level up from the + main installation. This is so locally-installed packages can be + easily used across releases, which is usually desirable. + Specifying the ‘-texdir’ option changes this, putting ‘TEXMFLOCAL’ + under the main tree. The ‘-texmflocal’ option can be used to + specify an explicit directory. + + Anything installed here must follow the TeX directory structure + (TDS), e.g., ‘TEXMFHOME/tex/latex/mypkg/mypkg.sty’. TDS reference: + <https://tug.org/tds>. + +*-texmfhome* _dir_ + + Specify the ‘TEXMFHOME’ directory; the default is ‘~/texmf’, except + on Macs, where it is ‘~/Library/texmf’. Analogously to + ‘TEXMFLOCAL’, the ‘-texuserdir’ option changes this default. + + Also as with ‘TEXMFLOCAL’, anything installed here must follow the + TDS. + +*-texmfsysconfig* _dir_ + +*-texmfsysvar* _dir_ + + Specify the ‘TEXMFSYSCONFIG’ and ‘TEXMFSYSVAR’ system directories. + +*-texmfconfig* _dir_ + +*-texmfvar* _dir_ + + Specify the ‘TEXMFCONFIG’ and ‘TEXMFVAR’ user directories. The + defaults are ‘~/.texliveYYYY/texmf-{config,var}’, except on Macs, + where the leading dot is omitted (‘~/texliveYYYY/...’). *-v* Include verbose debugging messages; repeat for maximum debugging: - '-v -v'. (Further repeats are accepted but ignored.) + ‘-v -v’. (Further repeats are accepted but ignored.) -*-version*, *-version* +*-version*, *--version* - Output version information and exit. If '-v' is also given, the + Output version information and exit. If ‘-v’ is also given, the versions of the TeX Live modules used are also reported. File: tlbuild.info, Node: install-tl PROFILES, Next: install-tl ENVIRONMENT VARIABLES, Prev: install-tl OPTIONS, Up: install-tl -A.6 PROFILES +A.7 PROFILES ============ -A _profile_ file contains all the values needed to perform an +A _profile_ file normally contains all the values needed to perform an installation. After a normal installation has finished, a profile for -that exact installation is written to the file 'tlpkg/texlive.profile'. -In addition, from the text menu one can select 'P' to save the current -setup as a profile at any time. +that exact installation is written to the file ‘tlpkg/texlive.profile’. +In addition, from the text menu one can select ‘P’ to save the current +setup as a profile at any time. These are small text files; feel free +to peruse and edit them according to your needs. - Such a profile file can be given as the argument to '-profile', for + Such a profile file can be given as the argument to ‘-profile’, for example to redo the exact same installation on a different system. Alternatively, you can use a custom profile, most easily created by -starting from a generated one and changing values, or an empty file, -which will take all the defaults. +starting from a generated one and changing values. An empty profile +file will cause the installer to use the defaults. As mentioned above, the installer only supports selection by scheme and collections, not individual packages, so packages cannot be -specified in profile files either. Use 'tlmgr' to work at the package +specified in profile files either. Use ‘tlmgr’ to work at the package level. Within a profile file, each line consists of _variable_ [_value_] - except for comment lines starting with '#'. The possible variable -names are listed below. Values, when present, are either '0' or '1' for + except for comment lines starting with ‘#’. The possible variable +names are listed below. Values, when present, are either ‘0’ or ‘1’ for booleans, or strings (which must be specified without any quote characters). Leading whitespace is ignored. - If the variable 'selected_scheme' is defined and _no_ collection + If the variable ‘selected_scheme’ is defined and _no_ collection variables at all are defined, then the collections required by the specified scheme (which might change over time) are installed, without explicitly listing them. This eases maintenance of profile files. If -any collections are specified in a profile, though, then all desired -collections must be given explicitly. +any collections are specified in a profile, though, then the scheme is +ignored and all desired collections must be given explicitly. For example, a line @@ -2648,64 +2807,72 @@ collections must be given explicitly. along with definitions for the installation directories (given below under "path options") suffices to install the "small" scheme with all -default options. The schemes are described in the 'S' menu in the text +default options. The schemes are described in the ‘S’ menu in the text installer, or equivalent. - Besides 'selected_scheme', here is the list of variable names + In addition to ‘selected_scheme’, here are the other variable names supported in a profile: - *collection options* (prefix 'collection-') + *collection options* (prefix ‘collection-’) Collections are specified with a variable name with the prefix -'collection-' followed by a collection name; there is no value. For -instance, 'collection-basic'. The collections are described in the 'C' +‘collection-’ followed by a collection name; there is no value. For +instance, ‘collection-basic’. The collections are described in the ‘C’ menu. Schemes and collections (and packages) are ultimately defined by the -files in the 'tlpkg/tlpsrc/' source directory. +files in the ‘tlpkg/tlpsrc/’ source directory. *path options* It is best to define all of these, even though they may not be used -in the installation, so as to avoid unintentionally getting a default -value that could cause problems later. +in a given installation, so as to avoid unintentionally getting a +default value that could cause problems later. TEXDIR - TEXMFCONFIG - TEXMFVAR - TEXMFHOME TEXMFLOCAL TEXMFSYSCONFIG TEXMFSYSVAR + TEXMFCONFIG + TEXMFVAR + TEXMFHOME - *installer options* (prefix 'instopt_') + *installer options* (prefix ‘instopt_’) -'instopt_adjustpath' (default 0 on Unix, 1 on Windows) +‘instopt_adjustpath’ (default 0 on Unix, 1 on Windows) - Adjust 'PATH' environment variable. + Adjust ‘PATH’ environment variable. -'instopt_adjustrepo' (default 1) +‘instopt_adjustrepo’ (default 1) Set remote repository to a multiplexed CTAN mirror after - installation; see '-repository' above. + installation; see ‘-repository’ above. -'instopt_letter' (default 0) +‘instopt_letter’ (default 0) Set letter size paper as the default, instead of a4. -'instopt_portable' (default 0) +‘instopt_portable’ (default 0) + + Install for portable use, e.g., on a USB stick, without touching + the host system. Specifically, this forces the user directories + ‘TEXMFHOME’, ‘TEXMFCONFIG’, ‘TEXMFVAR’ to be identical to the + system directories ‘TEXMFLOCAL’, ‘TEXMFSYSCONFIG’, ‘TEXMFSYSVAR’, + respectively (regardless of other options and environment + variable.) - Install for portable use, e.g., on a USB stick. + In addition, on Windows, it disables the desktop integration, path + adjustment, and file associations actions usually performed. -'instopt_write18_restricted' (default 1) +‘instopt_write18_restricted’ (default 1) - Enable '\write18' for a restricted set of programs. + Enable ‘\write18’ for a restricted set of programs. - *tlpdb options* (prefix 'tlpdbopt_') + *tlpdb options* (prefix ‘tlpdbopt_’) - The definitive list is given in 'tlpkg/TeXLive/TLConfig.pm', in the -hash '%TeXLive::TLConfig::TLPDBOptions', together with explanations. -All items given there _except_ for 'tlpdbopt_location' can be specified. + The definitive list is given in ‘tlpkg/TeXLive/TLConfig.pm’, in the +hash ‘%TeXLive::TLConfig::TLPDBOptions’, together with explanations. +All items given there _except_ for ‘tlpdbopt_location’ can be specified. Here is the current list: tlpdbopt_autobackup @@ -2722,18 +2889,18 @@ Here is the current list: tlpdbopt_sys_man tlpdbopt_w32_multi_user - *platform options* (prefix 'binary_') + *platform options* (prefix ‘binary_’) - For each supported platform in TeX Live (directories under 'bin/'), -the variable 'binary_'_PLATFORM_ can be set with value 1. For example: + For each supported platform in TeX Live (directories under ‘bin/’), +the variable ‘binary_’_PLATFORM_ can be set with value 1. For example: binary_x86_64-linux 1 - If no 'binary_' settings are made, the default is whatever the + If no ‘binary_’ settings are made, the default is whatever the current machine is running. In releases before 2017, many profile variables had different names -(not documented here; see the 'install-tl' source). They are accepted +(not documented here; see the ‘install-tl’ source). They are accepted and transformed to the names given above. When a profile is written, the names above are always used. @@ -2741,89 +2908,164 @@ the names above are always used. installation manual, linked from <https://tug.org/texlive/doc>. -File: tlbuild.info, Node: install-tl ENVIRONMENT VARIABLES, Next: install-tl AUTHORS AND COPYRIGHT, Prev: install-tl PROFILES, Up: install-tl +File: tlbuild.info, Node: install-tl ENVIRONMENT VARIABLES, Next: install-tl DIRECTORY TREES, Prev: install-tl PROFILES, Up: install-tl -A.7 ENVIRONMENT VARIABLES +A.8 ENVIRONMENT VARIABLES ========================= -For ease in scripting and debugging, 'install-tl' looks for the +For ease in scripting and debugging, ‘install-tl’ looks for the following environment variables. They are not of interest for normal user installations. -'TEXLIVE_DOWNLOADER' +‘NOPERLDOC’ -'TL_DOWNLOAD_PROGRAM' + Don’t try to run the ‘--help’ message through ‘perldoc’. -'TL_DOWNLOAD_ARGS' +‘TEXLIVE_DOWNLOADER’ + +‘TL_DOWNLOAD_PROGRAM’ + +‘TL_DOWNLOAD_ARGS’ These override the normal choice of a download program; see the - 'tlmgr' documentation, e.g., + ‘tlmgr’ documentation, e.g., <https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>. -'TEXLIVE_INSTALL_ENV_NOCHECK' +‘TEXLIVE_INSTALL_ENV_NOCHECK’ Omit the check for environment variables containing the string - 'tex'. People developing TeX-related software are likely to have + ‘tex’. People developing TeX-related software are likely to have many such variables. -'TEXLIVE_INSTALL_NO_CONTEXT_CACHE' +‘TEXLIVE_INSTALL_NO_CONTEXT_CACHE’ Omit creating the ConTeXt cache. This is useful for redistributors. -'TEXLIVE_INSTALL_NO_RESUME' +‘TEXLIVE_INSTALL_NO_DISKCHECK’ + + If set to 1, omit free disk space check. By default, if a + POSIX-compliant ‘df’ program (supporting ‘-Pk’) is available, the + installer checks for available disk space in the selected + installation location, and will abort installation if there is + insufficient disk space, plus a margin of 100MB. An equivalent + check is made on Windows (not involving ‘df’). + +‘TEXLIVE_INSTALL_NO_RESUME’ Omit check for installing on top of a previous installation and then asking about importing previous settings. -'TEXLIVE_INSTALL_NO_WELCOME' +‘TEXLIVE_INSTALL_NO_WELCOME’ Omit printing the welcome message after successful installation, e.g., when testing. -'TEXLIVE_INSTALL_PAPER' +‘TEXLIVE_INSTALL_PAPER’ Set the default paper size for all relevant programs; must be - either 'letter' or 'a4'. The default is 'a4'. + either ‘letter’ or ‘a4’. The default is ‘a4’. -'TEXLIVE_INSTALL_PREFIX' +‘TEXLIVE_INSTALL_PREFIX’ -'TEXLIVE_INSTALL_TEXMFCONFIG' +‘TEXLIVE_INSTALL_TEXMFCONFIG’ -'TEXLIVE_INSTALL_TEXMFVAR' +‘TEXLIVE_INSTALL_TEXMFVAR’ -'TEXLIVE_INSTALL_TEXMFHOME' +‘TEXLIVE_INSTALL_TEXMFHOME’ -'TEXLIVE_INSTALL_TEXMFLOCAL' +‘TEXLIVE_INSTALL_TEXMFLOCAL’ -'TEXLIVE_INSTALL_TEXMFSYSCONFIG' +‘TEXLIVE_INSTALL_TEXMFSYSCONFIG’ -'TEXLIVE_INSTALL_TEXMFSYSVAR' +‘TEXLIVE_INSTALL_TEXMFSYSVAR’ - Specify the respective directories. 'TEXLIVE_INSTALL_PREFIX' - defaults to '/usr/local/texlive'. All the defaults can be seen by - running the installer interactively and then typing 'D' for the + Specify the respective directories. ‘TEXLIVE_INSTALL_PREFIX’ + defaults to ‘/usr/local/texlive’. All the defaults can be seen by + running the installer interactively and then typing ‘D’ for the directory menu. - To override the so-called 'TEXDIR', which defaults to the release - directory within that prefix, e.g., '/usr/local/texlive/2020', use - a profile file (q.v.). + The various command line options for specifying directories + override these environment variables; since specifying both is + usually accidental, a warning is given if the values are different. + + +File: tlbuild.info, Node: install-tl DIRECTORY TREES, Next: install-tl BUGS, Prev: install-tl ENVIRONMENT VARIABLES, Up: install-tl + +A.9 DIRECTORY TREES +=================== + +There are a plethora of ways to specify the plethora of directory trees +used by TeX Live. By far the simplest, and recommended, approach is not +to change anything. The defaults suffice for the vast majority of +installations. + + But, for the sake of explanation, here is a table of the trees and +the command line options that change them. The first group of three are +system directories, and the second group of three are user directories; +the two groups are quite analogous. + + +----------------+--------------------------------------+--------------+------------------+ + | tree | default | group change | single change | + +----------------+--------------------------------------+--------------+------------------+ + | TEXMFLOCAL | /usr/local/texlive/texmf-local | --texdir | --texmflocal | + | TEXMFSYSVAR | /usr/local/texlive/YYYY/texmf-var | --texdir | --texmfsysvar | + | TEXMFSYSCONFIG | /usr/local/texlive/YYYY/texmf-config | --texdir | --texmfsysconfig | + +----------------+--------------------------------------+--------------+------------------+ + | TEXMFHOME | ~/texmf | --texuserdir | --texmfhome | + | TEXMFVAR | ~/.texliveYYYY/texmf-var | --texuserdir | --texmfvar | + | TEXMFCONFIG | ~/.texliveYYYY/texmf-config | --texuserdir | --texmfconfig | + +----------------+--------------------------------------+--------------+------------------+ + + In addition, as mentioned in the previous section, each tree has an +environment variable ‘TEXLIVE_INSTALL_’_tree_ which overrides the +default; command line and profile settings both override environment +variable settings. + + The defaults vary slightly on Macs, as explained above in *note +OPTIONS: install-tl OPTIONS. + + For the user trees, the default value uses ‘~’, and this is left as a +literal ‘~’ in ‘texmf.cnf’. That way, each user can have their own +‘TEXMFHOME’, etc., as intended. On the other hand, for the system +trees, if ‘~’ is used during the installation, this is assumed to simply +be a typing shorthand, and the expanded home directory is written in +‘texmf.cnf’, since it doesn’t make sense to have user-specific system +directories. + + For more on the directory trees and their intended usage, see the +main TeX Live documentation at <https://tug.org/texlive/doc>. + + +File: tlbuild.info, Node: install-tl BUGS, Next: install-tl AUTHORS AND COPYRIGHT, Prev: install-tl DIRECTORY TREES, Up: install-tl + +A.10 install-tl BUGS +==================== -'NOPERLDOC' +The ‘install-tl’ script copies itself into the installed tree. Usually, +it can be run from there, using the installed tree as the source for +another installation. Occasionally, however, there may be +incompatibilities in the code of the new ‘install-tl’ and the +infrastructure, resulting in (probably) inscrutable Perl errors. The +way forward is to run ‘install-tl’ out of the installer package +(‘install-tl-unx.tar.gz’ or ‘install-tl.zip’) instead of the +installation. Feel free to also report the issue; usually the code can +be easily synced up again. - Don't try to run the '--help' message through 'perldoc'. + By the way, do not try to use ‘install-tl’ to adjust options or +installed packages in an existing installed tree. Use ‘tlmgr’ instead. -File: tlbuild.info, Node: install-tl AUTHORS AND COPYRIGHT, Prev: install-tl ENVIRONMENT VARIABLES, Up: install-tl +File: tlbuild.info, Node: install-tl AUTHORS AND COPYRIGHT, Prev: install-tl BUGS, Up: install-tl -A.8 AUTHORS AND COPYRIGHT -========================= +A.11 AUTHORS AND COPYRIGHT +========================== This script and its documentation were written for the TeX Live distribution (<https://tug.org/texlive>) and both are licensed under the GNU General Public License Version 2 or later. - $Id: install-tl 62146 2022-02-22 22:48:10Z karl $ + $Id: install-tl 66112 2023-02-23 23:28:27Z karl $ File: tlbuild.info, Node: tlmgr, Next: Index, Prev: install-tl, Up: Top @@ -2851,24 +3093,24 @@ Appendix B tlmgr File: tlbuild.info, Node: tlmgr NAME, Next: tlmgr SYNOPSIS, Up: tlmgr -B.1 NAME -======== +B.1 tlmgr NAME +============== tlmgr - the native TeX Live Manager File: tlbuild.info, Node: tlmgr SYNOPSIS, Next: tlmgr DESCRIPTION, Prev: tlmgr NAME, Up: tlmgr -B.2 SYNOPSIS -============ +B.2 tlmgr SYNOPSIS +================== tlmgr [_option_...] _action_ [_option_...] [_operand_...] File: tlbuild.info, Node: tlmgr DESCRIPTION, Next: tlmgr EXAMPLES, Prev: tlmgr SYNOPSIS, Up: tlmgr -B.3 DESCRIPTION -=============== +B.3 tlmgr DESCRIPTION +===================== *tlmgr* manages an existing TeX Live installation, both packages and configuration options. For information on initially downloading and @@ -2877,7 +3119,7 @@ installing TeX Live, see <https://tug.org/texlive/acquire.html>. The most up-to-date version of this documentation (updated nightly from the development sources) is available at <https://tug.org/texlive/tlmgr.html>, along with procedures for updating -'tlmgr' itself and information about test versions. +‘tlmgr’ itself and information about test versions. TeX Live is organized into a few top-level _schemes_, each of which is specified as a different set of _collections_ and _packages_, where a @@ -2892,68 +3134,68 @@ available. File: tlbuild.info, Node: tlmgr EXAMPLES, Next: tlmgr OPTIONS, Prev: tlmgr DESCRIPTION, Up: tlmgr -B.4 EXAMPLES -============ +B.4 tlmgr EXAMPLES +================== After successfully installing TeX Live, here are a few common operations -with 'tlmgr': +with ‘tlmgr’: -'tlmgr option repository ctan' +‘tlmgr option repository ctan’ -'tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet' +‘tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet’ - Tell 'tlmgr' to use a nearby CTAN mirror for future updates; useful + Tell ‘tlmgr’ to use a nearby CTAN mirror for future updates; useful if you installed TeX Live from the DVD image and want to have - continuing updates. The two commands are equivalent; 'ctan' is + continuing updates. The two commands are equivalent; ‘ctan’ is just an alias for the given url. - Caveat: 'mirror.ctan.org' resolves to many different hosts, and + Caveat: ‘mirror.ctan.org’ resolves to many different hosts, and they are not perfectly synchronized; we recommend updating only daily (at most), and not more often. You can choose a particular mirror if problems; the list of all CTAN mirrors with the status of each is at <https://ctan.org/mirrors/mirmon>. -'tlmgr update --list' +‘tlmgr update --list’ Report what would be updated without actually updating anything. -'tlmgr update --all' +‘tlmgr update --all’ Make your local TeX installation correspond to what is in the package repository (typically useful when updating from CTAN). -'tlmgr info' _what_ +‘tlmgr info’ _what_ Display detailed information about a package _what_, such as the installation status and description, of searches for _what_ in all packages. - For all the capabilities and details of 'tlmgr', please read the + For all the capabilities and details of ‘tlmgr’, please read the following voluminous information. File: tlbuild.info, Node: tlmgr OPTIONS, Next: tlmgr ACTIONS, Prev: tlmgr EXAMPLES, Up: tlmgr -B.5 OPTIONS -=========== +B.5 tlmgr OPTIONS +================= -The following options to 'tlmgr' are global options, not specific to any +The following options to ‘tlmgr’ are global options, not specific to any action. All options, whether global or action-specific, can be given anywhere on the command line, and in any order. The first non-option -argument will be the main action. In all cases, '--'_option_ and -'-'_option_ are equivalent, and an '=' is optional between an option +argument will be the main action. In all cases, ‘--’_option_ and +‘-’_option_ are equivalent, and an ‘=’ is optional between an option name and its value. -*-repository* _url|path_ +*--repository* _url|path_ Specify the package repository from which packages should be installed or updated, either a local directory or network location, as below. This overridesthe default package repository found in - the installation's TeX Live Package Database (a.k.a. the TLPDB, - which is given entirely in the file 'tlpkg/texlive.tlpdb'). + the installation’s TeX Live Package Database (a.k.a. the TLPDB, + which is given entirely in the file ‘tlpkg/texlive.tlpdb’). - This '--repository' option changes the location only for the - current run; to make a permanent change, use 'option repository' + This ‘--repository’ option changes the location only for the + current run; to make a permanent change, use ‘option repository’ (see the *note option: tlmgr option. action). As an example, you can choose a particular CTAN mirror with @@ -2965,75 +3207,75 @@ name and its value. directory have to be specified. The list of CTAN mirrors is available at <https://ctan.org/mirrors/mirmon>. - Here's an example of using a local directory: + Here’s an example of using a local directory: -repository /local/TL/repository - For backward compatibility and convenience, '--location' and - '--repo' are accepted as aliases for this option. + For backward compatibility and convenience, ‘--location’ and + ‘--repo’ are accepted as aliases for this option. Locations can be specified as any of the following: - '/some/local/dir' + ‘/some/local/dir’ - 'file:/some/local/dir' + ‘file:/some/local/dir’ Equivalent ways of specifying a local directory. - 'ctan' + ‘ctan’ - 'https://mirror.ctan.org/systems/texlive/tlnet' + ‘https://mirror.ctan.org/systems/texlive/tlnet’ Pick a CTAN mirror automatically, trying for one that is both nearby and up-to-date. The chosen mirror is used for the - entire download. The bare 'ctan' is merely an alias for the + entire download. The bare ‘ctan’ is merely an alias for the full url. (See <https://ctan.org> for more about CTAN and its mirrors.) - 'http://server/path/to/tlnet' + ‘http://server/path/to/tlnet’ Standard HTTP. If the (default) LWP method is used, persistent - connections are supported. TL can also use 'curl' or 'wget' + connections are supported. TL can also use ‘curl’ or ‘wget’ to do the downloads, or an arbitrary user-specified program, - as described in the 'tlmgr' documentation + as described in the ‘tlmgr’ documentation (<https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES>). - 'https://server/path/to/tlnet' + ‘https://server/path/to/tlnet’ Again, if the (default) LWP method is used, this supports persistent connections. Unfortunately, some versions of - 'wget' and 'curl' do not support https, and even when 'wget' + ‘wget’ and ‘curl’ do not support https, and even when ‘wget’ supports https, certificates may be rejected even when the certificate is fine, due to a lack of local certificate roots. The simplest workaround for this problem is to use http or ftp. - 'ftp://server/path/to/tlnet' + ‘ftp://server/path/to/tlnet’ If the (default) LWP method is used, persistent connections are supported. - 'user@machine:/path/to/tlnet' + ‘user@machine:/path/to/tlnet’ - 'scp://user@machine/path/to/tlnet' + ‘scp://user@machine/path/to/tlnet’ - 'ssh://user@machine/path/to/tlnet' + ‘ssh://user@machine/path/to/tlnet’ - These forms are equivalent; they all use 'scp' to transfer - files. Using 'ssh-agent' is recommended. (Info: + These forms are equivalent; they all use ‘scp’ to transfer + files. Using ‘ssh-agent’ is recommended. (Info: <https://en.wikipedia.org/wiki/OpenSSH>, <https://en.wikipedia.org/wiki/Ssh-agent>.) - If the repository is on the network, trailing '/' characters and/or - trailing '/tlpkg' and/or '/archive' components are ignored. + If the repository is on the network, trailing ‘/’ characters and/or + trailing ‘/tlpkg’ and/or ‘/archive’ components are ignored. -*-gui* [_action_] +*--gui* [_action_] - Two notable GUI front-ends for 'tlmgr', 'tlshell' and 'tlcockpit', + Two notable GUI front-ends for ‘tlmgr’, ‘tlshell’ and ‘tlcockpit’, are started up as separate programs; see their own documentation. - 'tlmgr' itself has a graphical interface as well as the command - line interface. You can give the option to invoke it, '--gui', + ‘tlmgr’ itself has a graphical interface as well as the command + line interface. You can give the option to invoke it, ‘--gui’, together with an action to be brought directly into the respective screen of the GUI. For example, running @@ -3044,14 +3286,14 @@ name and its value. TLMGR: tlmgr GUI FOR TLMGR. However, the native GUI requires Perl/TK, which is no longer - included in TeX Live's Perl distribution for Windows. You may find - 'tlshell' or 'tlcockpit' easier to work with. + included in TeX Live’s Perl distribution for Windows. You may find + ‘tlshell’ or ‘tlcockpit’ easier to work with. -*-gui-lang* _llcode_ +*--gui-lang* _llcode_ By default, the GUI tries to deduce your language from the environment (on Windows via the registry, on Unix via - 'LC_MESSAGES'). If that fails you can select a different language + ‘LC_MESSAGES’). If that fails you can select a different language by giving this option with a language code (based on ISO 639-1). Currently supported (but not necessarily completely translated) are: English (en, default), Czech (cs), German (de), French (fr), @@ -3062,92 +3304,92 @@ name and its value. tlshell shares its message catalog with tlmgr. -*-command-logfile* _file_ +*--command-logfile* _file_ - 'tlmgr' logs the output of all programs invoked (mktexlr, mtxrun, + ‘tlmgr’ logs the output of all programs invoked (mktexlr, mtxrun, fmtutil, updmap) to a separate log file, by default - 'TEXMFSYSVAR/web2c/tlmgr-commands.log'. This option allows you to + ‘TEXMFSYSVAR/web2c/tlmgr-commands.log’. This option allows you to specify a different file for the log. -*-debug-translation* +*--debug-translation* - In GUI mode, this switch tells 'tlmgr' to report any untranslated + In GUI mode, this switch tells ‘tlmgr’ to report any untranslated (or missing) messages to standard error. This can help translators to see what remains to be done. -*-machine-readable* +*--machine-readable* Instead of the normal output intended for human consumption, write (to standard output) a fixed format more suitable for machine parsing. See the *note MACHINE-READABLE OUTPUT: tlmgr MACHINE-READABLE OUTPUT. section below. -*-no-execute-actions* +*--no-execute-actions* Suppress the execution of the execute actions as defined in the tlpsrc files. Documented only for completeness, as this is only useful in debugging. -*-package-logfile* _file_ +*--package-logfile* _file_ - 'tlmgr' logs all package actions (install, remove, update, failed + ‘tlmgr’ logs all package actions (install, remove, update, failed updates, failed restores) to a separate log file, by default - 'TEXMFSYSVAR/web2c/tlmgr.log'. This option allows you to specify a + ‘TEXMFSYSVAR/web2c/tlmgr.log’. This option allows you to specify a different file for the log. -*-pause* +*--pause* - This option makes 'tlmgr' wait for user input before exiting. + This option makes ‘tlmgr’ wait for user input before exiting. Useful on Windows to avoid disappearing command windows. -*-persistent-downloads* +*--persistent-downloads* -*-no-persistent-downloads* +*--no-persistent-downloads* For network-based installations, this option (on by default) makes - 'tlmgr' try to set up a persistent connection (using the 'LWP' Perl + ‘tlmgr’ try to set up a persistent connection (using the ‘LWP’ Perl module). The idea is to open and reuse only one connection per session between your computer and the server, instead of initiating a new download for each package. - If this is not possible, 'tlmgr' will fall back to using 'wget'. + If this is not possible, ‘tlmgr’ will fall back to using ‘wget’. To disable these persistent connections, use - '--no-persistent-downloads'. + ‘--no-persistent-downloads’. -*-pin-file* +*--pin-file* Change the pinning file location from - 'TEXMFLOCAL/tlpkg/pinning.txt' (see *note Pinning: tlmgr Pinning. + ‘TEXMFLOCAL/tlpkg/pinning.txt’ (see *note Pinning: tlmgr Pinning. below). Documented only for completeness, as this is only useful in debugging. -*-usermode* +*--usermode* - Activates user mode for this run of 'tlmgr'; see *note USER MODE: + Activates user mode for this run of ‘tlmgr’; see *note USER MODE: tlmgr USER MODE. below. -*-usertree* _dir_ +*--usertree* _dir_ Uses _dir_ for the tree in user mode; see *note USER MODE: tlmgr USER MODE. below. -*-verify-repo=[none|main|all]* +*--verify-repo=[none|main|all]* - Defines the level of verification done: If 'none' is specified, no - verification whatsoever is done. If 'main' is given and a working - GnuPG ('gpg') binary is available, all repositories are checked, - but only the main repository is required to be signed. If 'all' is + Defines the level of verification done: If ‘none’ is specified, no + verification whatsoever is done. If ‘main’ is given and a working + GnuPG (‘gpg’) binary is available, all repositories are checked, + but only the main repository is required to be signed. If ‘all’ is given, then all repositories need to be signed. See *note CRYPTOGRAPHIC VERIFICATION: tlmgr CRYPTOGRAPHIC VERIFICATION. below for details. The standard options for TeX Live programs are also accepted: -'--help/-h/-?', '--version', '-q' (no informational messages), '-v' +‘--help/-h/-?’, ‘--version’, ‘-q’ (no informational messages), ‘-v’ (debugging messages, can be repeated). For the details about these, see -the 'TeXLive::TLUtils' documentation. +the ‘TeXLive::TLUtils’ documentation. - The '--version' option shows version information about the TeX Live -release and about the 'tlmgr' script itself. If '-v' is also given, + The ‘--version’ option shows version information about the TeX Live +release and about the ‘tlmgr’ script itself. If ‘-v’ is also given, revision number for the loaded TeX Live Perl modules are shown, too. @@ -3195,12 +3437,12 @@ File: tlbuild.info, Node: tlmgr help, Next: tlmgr version, Up: tlmgr ACTIONS B.6.1 help ---------- -Display this help information and exit (same as '--help', and on the web -at <https://tug.org/texlive/doc/tlmgr.html>). Sometimes the 'perldoc' -and/or 'PAGER' programs on the system have problems, resulting in -control characters being literally output. This can't always be -detected, but you can set the 'NOPERLDOC' environment variable and -'perldoc' will not be used. +Display this help information and exit (same as ‘--help’, and on the web +at <https://tug.org/texlive/doc/tlmgr.html>). Sometimes the ‘perldoc’ +and/or ‘PAGER’ programs on the system have problems, resulting in +control characters being literally output. This can’t always be +detected, but you can set the ‘NOPERLDOC’ environment variable and +‘perldoc’ will not be used. File: tlbuild.info, Node: tlmgr version, Next: tlmgr backup, Prev: tlmgr help, Up: tlmgr ACTIONS @@ -3208,9 +3450,9 @@ File: tlbuild.info, Node: tlmgr version, Next: tlmgr backup, Prev: tlmgr help B.6.2 version ------------- -Gives version information (same as '--version'). +Gives version information (same as ‘--version’). - If '-v' has been given the revisions of the used modules are + If ‘-v’ has been given the revisions of the used modules are reported, too. @@ -3219,51 +3461,51 @@ File: tlbuild.info, Node: tlmgr backup, Next: tlmgr candidates _pkg_, Prev: t B.6.3 backup ------------ -*backup [_option_...] -all* +*backup [_option_...] --all* *backup [_option_...] _pkg_...* - If the '--clean' option is not specified, this action makes a - backup of the given packages, or all packages given '--all'. These - backups are saved to the value of the '--backupdir' option, if that - is an existing and writable directory. If '--backupdir' is not - given, the 'backupdir' option setting in the TLPDB is used, if + If the ‘--clean’ option is not specified, this action makes a + backup of the given packages, or all packages given ‘--all’. These + backups are saved to the value of the ‘--backupdir’ option, if that + is an existing and writable directory. If ‘--backupdir’ is not + given, the ‘backupdir’ option setting in the TLPDB is used, if present. If both are missing, no backups are made. (The installer - sets 'backupdir' to '.../tlpkg/backups', under the TL root + sets ‘backupdir’ to ‘.../tlpkg/backups’, under the TL root installation directory, so it is usually defined; see the *note option: tlmgr option. description for more information.) - If the '--clean' option is specified, backups are pruned (removed) + If the ‘--clean’ option is specified, backups are pruned (removed) instead of saved. The optional integer value _N_ may be specified to set the number of backups that will be retained when cleaning. - If 'N' is not given, the value of the 'autobackup' option is used. + If ‘N’ is not given, the value of the ‘autobackup’ option is used. If both are missing, an error is issued. For more details of - backup pruning, see the 'option' action. + backup pruning, see the ‘option’ action. Options: - *-backupdir* _directory_ + *--backupdir* _directory_ - Overrides the 'backupdir' option setting in the TLPDB. The + Overrides the ‘backupdir’ option setting in the TLPDB. The _directory_ argument is required and must specify an existing, writable directory where backups are to be placed. - *-all* + *--all* - If '--clean' is not specified, make a backup of all packages + If ‘--clean’ is not specified, make a backup of all packages in the TeX Live installation; this will take quite a lot of - space and time. If '--clean' is specified, all packages are + space and time. If ‘--clean’ is specified, all packages are pruned. - *-clean*[=_N_] + *--clean*[=_N_] Instead of making backups, prune the backup directory of old backups, as explained above. The optional integer argument - _N_ overrides the 'autobackup' option set in the TLPDB. You - must use '--all' or a list of packages together with this + _N_ overrides the ‘autobackup’ option set in the TLPDB. You + must use ‘--all’ or a list of packages together with this option, as desired. - *-dry-run* + *--dry-run* Nothing is actually backed up or removed; instead, the actions to be performed are written to the terminal. @@ -3285,7 +3527,7 @@ B.6.5 check [_option_...] [depends|executes|files|runfiles|texmfdbs|all] Execute one (or all) check(s) of the consistency of the installation. If no problems are found, there will be no output. (To get a view of -what is being done, run 'tlmgr -v check'.) +what is being done, run ‘tlmgr -v check’.) *depends* @@ -3293,17 +3535,17 @@ what is being done, run 'tlmgr -v check'.) collection, but are themselves not installed, and those packages which are not contained in any collection. - If you call 'tlmgr check collections' this test will be carried out - instead since former versions for 'tlmgr' called it that way. + If you call ‘tlmgr check collections’ this test will be carried out + instead since former versions for ‘tlmgr’ called it that way. *executes* - Check that the files referred to by 'execute' directives in the TeX + Check that the files referred to by ‘execute’ directives in the TeX Live Database are present. *files* - Checks that all files listed in the local TLPDB ('texlive.tlpdb') + Checks that all files listed in the local TLPDB (‘texlive.tlpdb’) are actually present, and lists those missing. *runfiles* @@ -3313,23 +3555,23 @@ what is being done, run 'tlmgr -v check'.) *texmfdbs* - Checks related to the 'ls-R' files. If you have defined new trees, - or changed the 'TEXMF' or 'TEXMFDBS' variables, it can't hurt to + Checks related to the ‘ls-R’ files. If you have defined new trees, + or changed the ‘TEXMF’ or ‘TEXMFDBS’ variables, it can’t hurt to run this. It checks that: - - all items in 'TEXMFDBS' have the '!!' prefix. + - all items in ‘TEXMFDBS’ have the ‘!!’ prefix. - - all items in 'TEXMFBDS' have an 'ls-R' file (if they exist at all). + - all items in ‘TEXMFBDS’ have an ‘ls-R’ file (if they exist at all). - - all items in 'TEXMF' with '!!' are listed in 'TEXMFDBS'. + - all items in ‘TEXMF’ with ‘!!’ are listed in ‘TEXMFDBS’. - - all items in 'TEXMF' with an 'ls-R' file are listed in 'TEXMFDBS'. + - all items in ‘TEXMF’ with an ‘ls-R’ file are listed in ‘TEXMFDBS’. Options: -*-use-svn* +*--use-svn* - Use the output of 'svn status' instead of listing the files; for + Use the output of ‘svn status’ instead of listing the files; for checking the TL development repository. (This is run nightly.) @@ -3338,52 +3580,52 @@ File: tlbuild.info, Node: tlmgr conf, Next: tlmgr dump-tlpdb [_option_...] [-- B.6.6 conf ---------- -*conf [texmf|tlmgr|updmap [-conffile _file_] [-delete] [_key_ [_value_]]]* +*conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]* -*conf auxtrees [-conffile _file_] [show|add|remove] [_value_]* +*conf auxtrees [--conffile _file_] [show|add|remove] [_value_]* - With only 'conf', show general configuration information for TeX + With only ‘conf’, show general configuration information for TeX Live, including active configuration files, path settings, and - more. This is like running 'texconfig conf', but works on all + more. This is like running ‘texconfig conf’, but works on all supported platforms. - With one of 'conf texmf', 'conf tlmgr', or 'conf updmap', shows all - key/value pairs (i.e., all settings) as saved in 'ROOT/texmf.cnf', - the user-specific 'tlmgr' configuration file (see below), or the - first found (via 'kpsewhich') 'updmap.cfg' file, respectively. + With one of ‘conf texmf’, ‘conf tlmgr’, or ‘conf updmap’, shows all + key/value pairs (i.e., all settings) as saved in ‘ROOT/texmf.cnf’, + the user-specific ‘tlmgr’ configuration file (see below), or the + first found (via ‘kpsewhich’) ‘updmap.cfg’ file, respectively. If _key_ is given in addition, shows the value of only that _key_ - in the respective file. If option _-delete_ is also given, the + in the respective file. If option _--delete_ is also given, the value in the given configuration file is entirely removed (not just commented out). If _value_ is given in addition, _key_ is set to _value_ in the respective file. _No error checking is done!_ - The 'PATH' value shown by 'conf' is as used by 'tlmgr'. The - directory in which the 'tlmgr' executable is found is automatically + The ‘PATH’ value shown by ‘conf’ is as used by ‘tlmgr’. The + directory in which the ‘tlmgr’ executable is found is automatically prepended to the PATH value inherited from the environment. Here is a practical example of changing configuration values. If - the execution of (some or all) system commands via '\write18' was + the execution of (some or all) system commands via ‘\write18’ was left enabled during installation, you can disable it afterwards: tlmgr conf texmf shell_escape 0 - The subcommand 'auxtrees' allows adding and removing arbitrary - additional texmf trees, completely under user control. 'auxtrees - show' shows the list of additional trees, 'auxtrees add' _tree_ - adds a tree to the list, and 'auxtrees remove' _tree_ removes a + The subcommand ‘auxtrees’ allows adding and removing arbitrary + additional texmf trees, completely under user control. ‘auxtrees + show’ shows the list of additional trees, ‘auxtrees add’ _tree_ + adds a tree to the list, and ‘auxtrees remove’ _tree_ removes a tree from the list (if present). The trees should not contain an - 'ls-R' file (or files will not be found if the 'ls-R' becomes + ‘ls-R’ file (or files will not be found if the ‘ls-R’ becomes stale). This works by manipulating the Kpathsea variable - 'TEXMFAUXTREES', in (by default) 'ROOT/texmf.cnf'. Example: + ‘TEXMFAUXTREES’, in (by default) ‘ROOT/texmf.cnf’. Example: tlmgr conf auxtrees add /quick/test/tree tlmgr conf auxtrees remove /quick/test/tree In all cases the configuration file can be explicitly specified via - the option '--conffile' _file_, e.g., if you don't want to change + the option ‘--conffile’ _file_, e.g., if you don’t want to change the system-wide configuration. Warning: The general facility for changing configuration values is @@ -3394,37 +3636,37 @@ B.6.6 conf File: tlbuild.info, Node: tlmgr dump-tlpdb [_option_...] [--json], Next: tlmgr generate, Prev: tlmgr conf, Up: tlmgr ACTIONS -B.6.7 dump-tlpdb [_option_...] [-json] --------------------------------------- +B.6.7 dump-tlpdb [_option_...] [--json] +--------------------------------------- Dump complete local or remote TLPDB to standard output, as-is. The -output is analogous to the '--machine-readable' output; see *note +output is analogous to the ‘--machine-readable’ output; see *note MACHINE-READABLE OUTPUT: tlmgr MACHINE-READABLE OUTPUT. section. Options: -*-local* +*--local* Dump the local TLPDB. -*-remote* +*--remote* Dump the remote TLPDB. -*-json* +*--json* Instead of dumping the actual content, the database is dumped as JSON. For the format of JSON output see - 'tlpkg/doc/JSON-formats.txt', format definition 'TLPDB'. + ‘tlpkg/doc/JSON-formats.txt’, format definition ‘TLPDB’. - Exactly one of '--local' and '--remote' must be given. + Exactly one of ‘--local’ and ‘--remote’ must be given. In either case, the first line of the output specifies the repository location, in this format: "location-url" "\t" location - where 'location-url' is the literal field name, followed by a tab, + where ‘location-url’ is the literal field name, followed by a tab, and _location_ is the file or url to the repository. Line endings may be either LF or CRLF depending on the current @@ -3444,34 +3686,34 @@ B.6.8 generate *generate [_option_...] language.dat.lua* - The 'generate' action overwrites any manual changes made in the + The ‘generate’ action overwrites any manual changes made in the respective files: it recreates them from scratch based on the information of the installed packages, plus local adaptions. The TeX -Live installer and 'tlmgr' routinely call 'generate' for all of these +Live installer and ‘tlmgr’ routinely call ‘generate’ for all of these files. - For managing your own fonts, please read the 'updmap --help' + For managing your own fonts, please read the ‘updmap --help’ information and/or <https://tug.org/fonts/fontinstall.html>. - For managing your own formats, please read the 'fmtutil --help' + For managing your own formats, please read the ‘fmtutil --help’ information. - In more detail: 'generate' remakes any of the configuration files -'language.dat', 'language.def', and 'language.dat.lua' from the + In more detail: ‘generate’ remakes any of the configuration files +‘language.dat’, ‘language.def’, and ‘language.dat.lua’ from the information present in the local TLPDB, plus locally-maintained files. - The locally-maintained files are 'language-local.dat', -'language-local.def', or 'language-local.dat.lua', searched for in -'TEXMFLOCAL' in the respective directories. If local additions are + The locally-maintained files are ‘language-local.dat’, +‘language-local.def’, or ‘language-local.dat.lua’, searched for in +‘TEXMFLOCAL’ in the respective directories. If local additions are present, the final file is made by starting with the main file, omitting any entries that the local file specifies to be disabled, and finally appending the local file. - (Historical note: The formerly supported 'updmap-local.cfg' and -'fmtutil-local.cnf' are no longer read, since 'updmap' and 'fmtutil' now + (Historical note: The formerly supported ‘updmap-local.cfg’ and +‘fmtutil-local.cnf’ are no longer read, since ‘updmap’ and ‘fmtutil’ now reads and supports multiple configuration files. Thus, local additions -can and should be put into an 'updmap.cfg' of 'fmtutil.cnf' file in -'TEXMFLOCAL'. The 'generate updmap' and 'generate fmtutil' actions no +can and should be put into an ‘updmap.cfg’ of ‘fmtutil.cnf’ file in +‘TEXMFLOCAL’. The ‘generate updmap’ and ‘generate fmtutil’ actions no longer exist.) Local files specify entries to be disabled with a comment line, @@ -3480,50 +3722,50 @@ namely one of these: %!NAME --!NAME - where 'language.dat' and 'language.def' use '%', and -'language.dat.lua' use '--'. In all cases, the _name_ is the respective + where ‘language.dat’ and ‘language.def’ use ‘%’, and +‘language.dat.lua’ use ‘--’. In all cases, the _name_ is the respective format name or hyphenation pattern identifier. Examples: %!german --!usenglishmax - (Of course, you're not likely to actually want to disable those -particular items. They're just examples.) + (Of course, you’re not likely to actually want to disable those +particular items. They’re just examples.) After such a disabling line, the local file can include another entry for the same item, if a different definition is desired. In general, except for the special disabling lines, the local files follow the same syntax as the master files. - The form 'generate language' recreates all three files -'language.dat', 'language.def', and 'language.dat.lua', while the forms + The form ‘generate language’ recreates all three files +‘language.dat’, ‘language.def’, and ‘language.dat.lua’, while the forms with an extension recreates only that given language file. Options: -*-dest* _output_file_ +*--dest* _output_file_ specifies the output file (defaults to the respective location in - 'TEXMFSYSVAR'). If '--dest' is given to 'generate language', it - serves as a basename onto which '.dat' will be appended for the - name of the 'language.dat' output file, '.def' will be appended to - the value for the name of the 'language.def' output file, and - '.dat.lua' to the name of the 'language.dat.lua' file. (This is + ‘TEXMFSYSVAR’). If ‘--dest’ is given to ‘generate language’, it + serves as a basename onto which ‘.dat’ will be appended for the + name of the ‘language.dat’ output file, ‘.def’ will be appended to + the value for the name of the ‘language.def’ output file, and + ‘.dat.lua’ to the name of the ‘language.dat.lua’ file. (This is just to avoid overwriting; if you want a specific name for each - output file, we recommend invoking 'tlmgr' twice.) + output file, we recommend invoking ‘tlmgr’ twice.) -*-localcfg* _local_conf_file_ +*--localcfg* _local_conf_file_ specifies the (optional) local additions (defaults to the - respective location in 'TEXMFLOCAL'). + respective location in ‘TEXMFLOCAL’). -*-rebuild-sys* +*--rebuild-sys* - tells 'tlmgr' to run necessary programs after config files have - been regenerated. These are: 'fmtutil-sys --all' after 'generate - fmtutil', 'fmtutil-sys --byhyphen .../language.dat' after 'generate - language.dat', and 'fmtutil-sys --byhyphen .../language.def' after - 'generate language.def'. + tells ‘tlmgr’ to run necessary programs after config files have + been regenerated. These are: ‘fmtutil-sys --all’ after ‘generate + fmtutil’, ‘fmtutil-sys --byhyphen .../language.dat’ after ‘generate + language.dat’, and ‘fmtutil-sys --byhyphen .../language.def’ after + ‘generate language.def’. These subsequent calls cause the newly-generated files to actually take effect. This is not done by default since those calls are @@ -3557,9 +3799,9 @@ B.6.10 info *info [_option_...] schemes* With no argument, lists all packages available at the package - repository, prefixing those already installed with 'i'. + repository, prefixing those already installed with ‘i’. - With the single word 'collections' or 'schemes' as the argument, + With the single word ‘collections’ or ‘schemes’ as the argument, lists the request type instead of all packages. With any other arguments, display information about _pkg_: the @@ -3580,70 +3822,70 @@ B.6.10 info It also displays information taken from the TeX Catalogue, namely the package version, date, and license. Consider these, especially the package version, as approximations only, due to timing skew of - the updates of the different pieces. By contrast, the 'revision' + the updates of the different pieces. By contrast, the ‘revision’ value comes directly from TL and is reliable. - The former actions 'show' and 'list' are merged into this action, + The former actions ‘show’ and ‘list’ are merged into this action, but are still supported for backward compatibility. Options: - *-list* + *--list* - If the option '--list' is given with a package, the list of + If the option ‘--list’ is given with a package, the list of contained files is also shown, including those for platform-specific dependencies. When given with schemes and - collections, '--list' outputs their dependencies in a similar + collections, ‘--list’ outputs their dependencies in a similar way. - *-only-installed* + *--only-installed* If this option is given, the installation source will not be used; only locally installed packages, collections, or schemes are listed. - *-only-remote* + *--only-remote* Only list packages from the remote repository. Useful when - checking what is available in a remote repository using 'tlmgr - --repo ... --only-remote info'. Note that '--only-installed' - and '--only-remote' cannot both be specified. + checking what is available in a remote repository using ‘tlmgr + --repo ... --only-remote info’. Note that ‘--only-installed’ + and ‘--only-remote’ cannot both be specified. - *-data 'item1,item2,...'* + *--data ‘item1,item2,...’* - If the option '--data' is given, its argument must be a comma - or colon separated list of field names from: 'name', - 'category', 'localrev', 'remoterev', 'shortdesc', 'longdesc', - 'installed', 'size', 'relocatable', 'depends', 'cat-version', - 'cat-date', 'cat-license', plus various 'cat-contact-*' fields + If the option ‘--data’ is given, its argument must be a comma + or colon separated list of field names from: ‘name’, + ‘category’, ‘localrev’, ‘remoterev’, ‘shortdesc’, ‘longdesc’, + ‘installed’, ‘size’, ‘relocatable’, ‘depends’, ‘cat-version’, + ‘cat-date’, ‘cat-license’, plus various ‘cat-contact-*’ fields (see below). - The 'cat-*' fields all come from the TeX Catalogue + The ‘cat-*’ fields all come from the TeX Catalogue (<https://ctan.org/pkg/catalogue>). For each, there are two - more variants with prefix 'l' and 'r', e.g., 'lcat-version' - and 'rcat-version', which indicate the local and remote - information, respectively. The variants without 'l' and 'r' + more variants with prefix ‘l’ and ‘r’, e.g., ‘lcat-version’ + and ‘rcat-version’, which indicate the local and remote + information, respectively. The variants without ‘l’ and ‘r’ show the most current one, which is normally the remote value. - The requested packages' information is listed in CSV format, + The requested packages’ information is listed in CSV format, one package per line, and the column information is given by - the 'itemN'. The 'depends' column contains the names of all - the dependencies separated by ':' characters. + the ‘itemN’. The ‘depends’ column contains the names of all + the dependencies separated by ‘:’ characters. - At this writing, the 'cat-contact-*' fields include: 'home', - 'repository', 'support', 'bugs', 'announce', 'development'. + At this writing, the ‘cat-contact-*’ fields include: ‘home’, + ‘repository’, ‘support’, ‘bugs’, ‘announce’, ‘development’. Each may be empty or a url value. A brief description is on the CTAN upload page for new packages: <https://ctan.org/upload>. - *-json* + *--json* - In case '--json' is specified, the output is a JSON encoded + In case ‘--json’ is specified, the output is a JSON encoded array where each array element is the JSON representation of a - single 'TLPOBJ' but with additional information. For details - see 'tlpkg/doc/JSON-formats.txt', format definition: - 'TLPOBJINFO'. If both '--json' and '--data' are given, - '--json' takes precedence. + single ‘TLPOBJ’ but with additional information. For details + see ‘tlpkg/doc/JSON-formats.txt’, format definition: + ‘TLPOBJINFO’. If both ‘--json’ and ‘--data’ are given, + ‘--json’ takes precedence. File: tlbuild.info, Node: tlmgr init-usertree, Next: tlmgr install [_option_...] _pkg_..., Prev: tlmgr info, Up: tlmgr ACTIONS @@ -3652,8 +3894,8 @@ B.6.11 init-usertree -------------------- Sets up a texmf tree for so-called user mode management, either the -default user tree ('TEXMFHOME'), or one specified on the command line -with '--usertree'. See *note USER MODE: tlmgr USER MODE. below. +default user tree (‘TEXMFHOME’), or one specified on the command line +with ‘--usertree’. See *note USER MODE: tlmgr USER MODE. below. File: tlbuild.info, Node: tlmgr install [_option_...] _pkg_..., Next: tlmgr key, Prev: tlmgr init-usertree, Up: tlmgr ACTIONS @@ -3662,44 +3904,44 @@ B.6.12 install [_option_...] _pkg_... ------------------------------------- Install each _pkg_ given on the command line, if it is not already -installed. It does not touch existing packages; see the 'update' action +installed. It does not touch existing packages; see the ‘update’ action for how to get the latest version of a package. By default this also installs all packages on which the given _pkg_s are dependent. Options: -*-dry-run* +*--dry-run* Nothing is actually installed; instead, the actions to be performed are written to the terminal. -*-file* +*--file* Instead of fetching a package from the installation repository, use the package files given on the command line. These files must be standard TeX Live package files (with contained tlpobj file). -*-force* +*--force* - If updates to 'tlmgr' itself (or other parts of the basic - infrastructure) are present, 'tlmgr' will bail out and not perform + If updates to ‘tlmgr’ itself (or other parts of the basic + infrastructure) are present, ‘tlmgr’ will bail out and not perform the installation unless this option is given. Not recommended. -*-no-depends* +*--no-depends* Do not install dependencies. (By default, installing a package ensures that all dependencies of this package are fulfilled.) -*-no-depends-at-all* +*--no-depends-at-all* Normally, when you install a package which ships binary files the respective binary package will also be installed. That is, for a - package 'foo', the package 'foo.i386-linux' will also be installed - on an 'i386-linux' system. This option suppresses this behavior, - and also implies '--no-depends'. Don't use it unless you are sure + package ‘foo’, the package ‘foo.i386-linux’ will also be installed + on an ‘i386-linux’ system. This option suppresses this behavior, + and also implies ‘--no-depends’. Don’t use it unless you are sure of what you are doing. -*-reinstall* +*--reinstall* Reinstall a package (including dependencies for collections) even if it already seems to be installed (i.e, is present in the TLPDB). @@ -3709,22 +3951,22 @@ are dependent. Options: When re-installing, only dependencies on normal packages are followed (i.e., not those of category Scheme or Collection). -*-with-doc* +*--with-doc* -*-with-src* +*--with-src* - While not recommended, the 'install-tl' program provides an option + While not recommended, the ‘install-tl’ program provides an option to omit installation of all documentation and/or source files. (By default, everything is installed.) After such an installation, you may find that you want the documentation or source files for a given package after all. You can get them by using these options - in conjunction with '--reinstall', as in (using the 'fontspec' + in conjunction with ‘--reinstall’, as in (using the ‘fontspec’ package as the example): tlmgr install --reinstall --with-doc --with-src fontspec This action does not automatically add new symlinks in system -directories; you need to run 'tlmgr path add' (*note path: tlmgr path.) +directories; you need to run ‘tlmgr path add’ (*note path: tlmgr path.) yourself if you are using this feature and want new symlinks added. @@ -3739,18 +3981,18 @@ B.6.13 key *key remove _keyid_* - The action 'key' allows listing, adding and removing additional GPG + The action ‘key’ allows listing, adding and removing additional GPG keys to the set of trusted keys, that is, those that are used to verify the TeX Live databases. - With the 'list' argument, 'key' lists all keys. + With the ‘list’ argument, ‘key’ lists all keys. - The 'add' argument requires another argument, either a filename or - '-' for stdin, from which the key is added. The key is added to - the local keyring 'GNUPGHOME/repository-keys.gpg', which is - normally 'tlpkg/gpg/repository-keys.gpg'. + The ‘add’ argument requires another argument, either a filename or + ‘-’ for stdin, from which the key is added. The key is added to + the local keyring ‘GNUPGHOME/repository-keys.gpg’, which is + normally ‘tlpkg/gpg/repository-keys.gpg’. - The 'remove' argument requires a key id and removes the requested + The ‘remove’ argument requires a key id and removes the requested id from the local keyring. @@ -3767,29 +4009,29 @@ File: tlbuild.info, Node: tlmgr option, Next: tlmgr paper, Prev: tlmgr list, B.6.15 option ------------- -*option [-json] [show]* +*option [--json] [show]* -*option [-json] showall|help* +*option [--json] showall|help* *option _key_ [_value_]* - The first form, 'show', shows the global TeX Live settings currently -saved in the TLPDB with a short description and the 'key' used for + The first form, ‘show’, shows the global TeX Live settings currently +saved in the TLPDB with a short description and the ‘key’ used for changing it in parentheses. - The second form, 'showall', is similar, but also shows options which -can be defined but are not currently set to any value ('help' is a + The second form, ‘showall’, is similar, but also shows options which +can be defined but are not currently set to any value (‘help’ is a synonym). - Both 'show...' forms take an option '--json', which dumps the option + Both ‘show...’ forms take an option ‘--json’, which dumps the option information in JSON format. In this case, both forms dump the same data. For the format of the JSON output see -'tlpkg/doc/JSON-formats.txt', format definition 'TLOPTION'. +‘tlpkg/doc/JSON-formats.txt’, format definition ‘TLOPTION’. In the third form, with _key_, if _value_ is not given, the setting for _key_ is displayed. If _value_ is present, _key_ is set to _value_. - Possible values for _key_ are (run 'tlmgr option showall' for the + Possible values for _key_ are (run ‘tlmgr option showall’ for the definitive list): repository (default package repository), @@ -3806,64 +4048,64 @@ definitive list): fileassocs (Windows-only: change file associations) multiuser (Windows-only: install for all users) - One common use of 'option' is to permanently change the installation + One common use of ‘option’ is to permanently change the installation to get further updates from the Internet, after originally installing from DVD. To do this, you can run tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet - The 'install-tl' documentation has more information about the -possible values for 'repository'. (For backward compatibility, -'location' can be used as a synonym for 'repository'.) + The ‘install-tl’ documentation has more information about the +possible values for ‘repository’. (For backward compatibility, +‘location’ can be used as a synonym for ‘repository’.) - If 'formats' is set (this is the default), then formats are + If ‘formats’ is set (this is the default), then formats are regenerated when either the engine or the format files have changed. Disable this only when you know how and want to regenerate formats yourself whenever needed (which is often, in practice). - The 'postcode' option controls execution of per-package + The ‘postcode’ option controls execution of per-package postinstallation action code. It is set by default, and again disabling is not likely to be of interest except to developers doing debugging. - The 'docfiles' and 'srcfiles' options control the installation of + The ‘docfiles’ and ‘srcfiles’ options control the installation of their respective file groups (documentation, sources; grouping is approximate) per package. By default both are enabled (1). Either or both can be disabled (set to 0) if disk space is limited or for minimal testing installations, etc. When disabled, the respective files are not downloaded at all. - The options 'autobackup' and 'backupdir' determine the defaults for -the actions 'update', 'backup' and 'restore'. These three actions need -a directory in which to read or write the backups. If '--backupdir' is -not specified on the command line, the 'backupdir' option value is used -(if set). The TL installer sets 'backupdir' to '.../tlpkg/backups', + The options ‘autobackup’ and ‘backupdir’ determine the defaults for +the actions ‘update’, ‘backup’ and ‘restore’. These three actions need +a directory in which to read or write the backups. If ‘--backupdir’ is +not specified on the command line, the ‘backupdir’ option value is used +(if set). The TL installer sets ‘backupdir’ to ‘.../tlpkg/backups’, under the TL root installation directory. - The 'autobackup' option (de)activates automatic generation of -backups. Its value is an integer. If the 'autobackup' value is '-1', -no backups are removed. If 'autobackup' is 0 or more, it specifies the + The ‘autobackup’ option (de)activates automatic generation of +backups. Its value is an integer. If the ‘autobackup’ value is ‘-1’, +no backups are removed. If ‘autobackup’ is 0 or more, it specifies the number of backups to keep. Thus, backups are disabled if the value is -0. In the '--clean' mode of the 'backup' action this option also +0. In the ‘--clean’ mode of the ‘backup’ action this option also specifies the number to be kept. The default value is 1, so that backups are made, but only one backup is kept. - To setup 'autobackup' to '-1' on the command line, use: + To setup ‘autobackup’ to ‘-1’ on the command line, use: tlmgr option -- autobackup -1 - The '--' avoids having the '-1' treated as an option. (The '--' + The ‘--’ avoids having the ‘-1’ treated as an option. (The ‘--’ stops parsing for options at the point where it appears; this is a general feature across most Unix programs.) - The 'sys_bin', 'sys_man', and 'sys_info' options are used on Unix + The ‘sys_bin’, ‘sys_man’, and ‘sys_info’ options are used on Unix systems to control the generation of links for executables, Info files -and man pages. See the 'path' action for details. +and man pages. See the ‘path’ action for details. The last three options affect behavior on Windows installations. If -'desktop_integration' is set, then some packages will install items in a -sub-folder of the Start menu for 'tlmgr gui', documentation, etc. If -'fileassocs' is set, Windows file associations are made (see also the -'postaction' action). Finally, if 'multiuser' is set, then adaptions to +‘desktop_integration’ is set, then some packages will install items in a +sub-folder of the Start menu for ‘tlmgr gui’, documentation, etc. If +‘fileassocs’ is set, Windows file associations are made (see also the +‘postaction’ action). Finally, if ‘multiuser’ is set, then adaptions to the registry and the menus are done for all users on the system instead of only the current user. All three options are on by default. @@ -3875,36 +4117,36 @@ B.6.16 paper *paper [a4|letter]* -*<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|-list]*> +*<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*> -*paper -json* +*paper --json* - With no arguments ('tlmgr paper'), shows the default paper size + With no arguments (‘tlmgr paper’), shows the default paper size setting for all known programs. - With one argument (e.g., 'tlmgr paper a4'), sets the default for all + With one argument (e.g., ‘tlmgr paper a4’), sets the default for all known programs to that paper size. With a program given as the first argument and no paper size -specified (e.g., 'tlmgr dvips paper'), shows the default paper size for +specified (e.g., ‘tlmgr dvips paper’), shows the default paper size for that program. With a program given as the first argument and a paper size as the -last argument (e.g., 'tlmgr dvips paper a4'), set the default for that +last argument (e.g., ‘tlmgr dvips paper a4’), set the default for that program to that paper size. - With a program given as the first argument and '--list' given as the -last argument (e.g., 'tlmgr dvips paper --list'), shows all valid paper + With a program given as the first argument and ‘--list’ given as the +last argument (e.g., ‘tlmgr dvips paper --list’), shows all valid paper sizes for that program. The first size shown is the default. - If '--json' is specified without other options, the paper setup is + If ‘--json’ is specified without other options, the paper setup is dumped in JSON format. For the format of JSON output see -'tlpkg/doc/JSON-formats.txt', format definition 'TLPAPER'. +‘tlpkg/doc/JSON-formats.txt’, format definition ‘TLPAPER’. Incidentally, this syntax of having a specific program name before -the 'paper' keyword is unusual. It is inherited from the longstanding -'texconfig' script, which supports other configuration settings for some -programs, notably 'dvips'. 'tlmgr' does not support those extra +the ‘paper’ keyword is unusual. It is inherited from the longstanding +‘texconfig’ script, which supports other configuration settings for some +programs, notably ‘dvips’. ‘tlmgr’ does not support those extra settings. @@ -3913,9 +4155,9 @@ File: tlbuild.info, Node: tlmgr path, Next: tlmgr pinning, Prev: tlmgr paper, B.6.17 path ----------- -*path [-w32mode=user|admin] add* +*path [--w32mode=user|admin] add* -*path [-w32mode=user|admin] remove* +*path [--w32mode=user|admin] remove* On Unix, adds or removes symlinks for executables, man pages, and info pages in the system directories specified by the respective @@ -3928,22 +4170,22 @@ B.6.17 path On Windows, the registry part where the binary directory is added or removed is determined in the following way: - If the user has admin rights, and the option '--w32mode' is not + If the user has admin rights, and the option ‘--w32mode’ is not given, the setting _w32_multi_user_ determines the location (i.e., if it is on then the system path, otherwise the user path is changed). - If the user has admin rights, and the option '--w32mode' is given, + If the user has admin rights, and the option ‘--w32mode’ is given, this option determines the path to be adjusted. - If the user does not have admin rights, and the option '--w32mode' + If the user does not have admin rights, and the option ‘--w32mode’ is not given, and the setting _w32_multi_user_ is off, the user path is changed, while if the setting _w32_multi_user_ is on, a warning is issued that the caller does not have enough privileges. - If the user does not have admin rights, and the option '--w32mode' - is given, it must be 'user' and the user path will be adjusted. If - a user without admin rights uses the option '--w32mode admin' a + If the user does not have admin rights, and the option ‘--w32mode’ + is given, it must be ‘user’ and the user path will be adjusted. If + a user without admin rights uses the option ‘--w32mode admin’ a warning is issued that the caller does not have enough privileges. @@ -3952,24 +4194,24 @@ File: tlbuild.info, Node: tlmgr pinning, Next: tlmgr platform, Prev: tlmgr pa B.6.18 pinning -------------- -The 'pinning' action manages the pinning file, see *note Pinning: tlmgr +The ‘pinning’ action manages the pinning file, see *note Pinning: tlmgr Pinning. below. -'pinning show' +‘pinning show’ Shows the current pinning data. -'pinning add' _repo_ _pkgglob_... +‘pinning add’ _repo_ _pkgglob_... Pins the packages matching the _pkgglob_(s) to the repository _repo_. -'pinning remove' _repo_ _pkgglob_... +‘pinning remove’ _repo_ _pkgglob_... Any packages recorded in the pinning file matching the <pkgglob>s for the given repository _repo_ are removed. -'pinning remove _repo_ --all' +‘pinning remove _repo_ --all’ Remove all pinning data for repository _repo_. @@ -3985,31 +4227,31 @@ B.6.19 platform *platform set auto* - 'platform list' lists the TeX Live names of all the platforms - (a.k.a. architectures), ('i386-linux', ...) available at the + ‘platform list’ lists the TeX Live names of all the platforms + (a.k.a. architectures), (‘i386-linux’, ...) available at the package repository. - 'platform add' _platform_... adds the executables for each given + ‘platform add’ _platform_... adds the executables for each given platform _platform_ to the installation from the repository. - 'platform remove' _platform_... removes the executables for each + ‘platform remove’ _platform_... removes the executables for each given platform _platform_ from the installation, but keeps the currently running platform in any case. - 'platform set' _platform_ switches TeX Live to always use the given + ‘platform set’ _platform_ switches TeX Live to always use the given platform instead of auto detection. - 'platform set auto' switches TeX Live to auto detection mode for + ‘platform set auto’ switches TeX Live to auto detection mode for platform. - Platform detection is needed to select the proper 'xz' and 'wget' + Platform detection is needed to select the proper ‘xz’ and ‘wget’ binaries that are shipped with TeX Live. - 'arch' is a synonym for 'platform'. + ‘arch’ is a synonym for ‘platform’. Options: - *-dry-run* + *--dry-run* Nothing is actually installed; instead, the actions to be performed are written to the terminal. @@ -4024,30 +4266,30 @@ B.6.20 postaction *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]* - Carry out the postaction 'shortcut', 'fileassoc', or 'script' given + Carry out the postaction ‘shortcut’, ‘fileassoc’, or ‘script’ given as the second required argument in install or remove mode (which is the first required argument), for either the packages given on the - command line, or for all if '--all' is given. + command line, or for all if ‘--all’ is given. Options: - *-w32mode=[user|admin]* + *--w32mode=[user|admin]* - If the option '--w32mode' is given the value 'user', all + If the option ‘--w32mode’ is given the value ‘user’, all actions will only be carried out in the user-accessible parts - of the registry/filesystem, while the value 'admin' selects + of the registry/filesystem, while the value ‘admin’ selects the system-wide parts of the registry for the file associations. If you do not have enough permissions, using - '--w32mode=admin' will not succeed. + ‘--w32mode=admin’ will not succeed. - *-fileassocmode=[1|2]* + *--fileassocmode=[1|2]* - '--fileassocmode' specifies the action for file associations. + ‘--fileassocmode’ specifies the action for file associations. If it is set to 1 (the default), only new associations are added; if it is set to 2, all associations are set to the TeX - Live programs. (See also 'option fileassocs'.) + Live programs. (See also ‘option fileassocs’.) - *-all* + *--all* Carry out the postactions for all packages @@ -4059,7 +4301,7 @@ B.6.21 print-platform Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and exit. -'--print-arch' is a synonym. +‘--print-arch’ is a synonym. File: tlbuild.info, Node: tlmgr print-platform-info, Next: tlmgr remove [_option_...] _pkg_..., Prev: tlmgr print-platform, Up: tlmgr ACTIONS @@ -4077,21 +4319,21 @@ B.6.23 remove [_option_...] _pkg_... ------------------------------------ Remove each _pkg_ specified. Removing a collection removes all package -dependencies (unless '--no-depends' is specified), but not any +dependencies (unless ‘--no-depends’ is specified), but not any collection dependencies of that collection. However, when removing a package, dependencies are never removed. Options: -*-all* +*--all* Uninstalls all of TeX Live, asking for confirmation unless - '--force' is also specified. + ‘--force’ is also specified. -*-backup* +*--backup* -*-backupdir* _directory_ +*--backupdir* _directory_ - These options behave just as with the *note update: (update)tlmgr - update [_option_...] [...]. action (q.v.), except they apply to + These options behave just as with the *note update: tlmgr update + [_option_...] [_pkg_...]. action (q.v.), except they apply to making backups of packages before they are removed. The default is to make such a backup, that is, to save a copy of packages before removal. @@ -4099,34 +4341,34 @@ package, dependencies are never removed. Options: The *note restore: tlmgr restore. action explains how to restore from a backup. -*-no-depends* +*--no-depends* Do not remove dependent packages. -*-no-depends-at-all* +*--no-depends-at-all* - See above under *note install: tlmgr install [_option_...] _pkg_... - (and beware). + See above under *note install: tlmgr install [_option_...] + _pkg_.... (and beware). -*-force* +*--force* By default, removal of a package or collection that is a dependency of another collection or scheme is not allowed. With this option, the package will be removed unconditionally. Use with care. - A package that has been removed using the '--force' option because + A package that has been removed using the ‘--force’ option because it is still listed in an installed collection or scheme will not be - updated, and will be mentioned as 'forcibly removed' in the output - of 'tlmgr update --list'. + updated, and will be mentioned as ‘forcibly removed’ in the output + of ‘tlmgr update --list’. -*-dry-run* +*--dry-run* Nothing is actually removed; instead, the actions to be performed are written to the terminal. - Except with '--all', this 'remove' action does not automatically + Except with ‘--all’, this ‘remove’ action does not automatically remove symlinks to executables from system directories; you need to run -'tlmgr path remove' (*note path: tlmgr path.) yourself if you remove an +‘tlmgr path remove’ (*note path: tlmgr path.) yourself if you remove an individual package with a symlink in a system directory. @@ -4150,24 +4392,24 @@ B.6.24 repository This action manages the list of repositories. See *note (MULTIPLE_REPOSITORIES):: below for detailed explanations. - The first form, 'repository list', lists all configured + The first form, ‘repository list’, lists all configured repositories and the respective tags if set. If a path, url, or - tag is given after the 'list' keyword, it is interpreted as the + tag is given after the ‘list’ keyword, it is interpreted as the source from which to initialize a TL database and lists the contained packages. This can also be an otherwise-unused repository, either local or remote. If the option - '--with-platforms' is specified in addition, for each package the + ‘--with-platforms’ is specified in addition, for each package the available platforms (if any) are also listed. - The form 'repository add' adds a repository (optionally attaching a - tag) to the list of repositories, while 'repository remove' removes + The form ‘repository add’ adds a repository (optionally attaching a + tag) to the list of repositories, while ‘repository remove’ removes a repository, either by full path/url, or by tag. - The form 'repository set' sets the list of available repositories + The form ‘repository set’ sets the list of available repositories to the items given on the command line, overwriting previous settings. - The form 'repository status' reports the verification status of the + The form ‘repository status’ reports the verification status of the loaded repositories with the format of one repository per line with fields separated by a single space: @@ -4184,7 +4426,7 @@ B.6.24 repository That is, in normal (not machine-readable) output, the third field (numeric verification status) is not present. - In all cases, one of the repositories must be tagged as 'main'; + In all cases, one of the repositories must be tagged as ‘main’; otherwise, all operations will fail! @@ -4195,18 +4437,18 @@ B.6.25 restore *restore [_option_...] _pkg_ [_rev_]* -*restore [_option_...] -all* +*restore [_option_...] --all* Restore a package from a previously-made backup. - If '--all' is given, try to restore the latest revision of all + If ‘--all’ is given, try to restore the latest revision of all package backups found in the backup directory. Otherwise, if neither _pkg_ nor _rev_ are given, list the available backup revisions for all packages. With _pkg_ given but no _rev_, list all available backup revisions of _pkg_. - When listing available packages, 'tlmgr' shows the revision, and in + When listing available packages, ‘tlmgr’ shows the revision, and in parenthesis the creation time if available (in format yyyy-mm-dd hh:mm). @@ -4215,34 +4457,34 @@ B.6.25 restore Options: - *-all* + *--all* Try to restore the latest revision of all package backups found in the backup directory. Additional non-option arguments (like _pkg_) are not allowed. - *-backupdir* _directory_ + *--backupdir* _directory_ Specify the directory where the backups are to be found. If not given it will be taken from the configuration setting in the TLPDB. - *-dry-run* + *--dry-run* Nothing is actually restored; instead, the actions to be performed are written to the terminal. - *-force* + *--force* - Don't ask questions. + Don’t ask questions. - *-json* + *--json* - When listing backups, the option '--json' turn on JSON output. - The format is an array of JSON objects ('name', 'rev', - 'date'). For details see 'tlpkg/doc/JSON-formats.txt', format - definition: 'TLBACKUPS'. If both '--json' and '--data' are - given, '--json' takes precedence. + When listing backups, the option ‘--json’ turn on JSON output. + The format is an array of JSON objects (‘name’, ‘rev’, + ‘date’). For details see ‘tlpkg/doc/JSON-formats.txt’, format + definition: ‘TLBACKUPS’. If both ‘--json’ and ‘--data’ are + given, ‘--json’ takes precedence. File: tlbuild.info, Node: tlmgr search, Next: tlmgr shell, Prev: tlmgr restore, Up: tlmgr ACTIONS @@ -4252,9 +4494,9 @@ B.6.26 search *search [_option_...] _what_* -*search [_option_...] -file _what_* +*search [_option_...] --file _what_* -*search [_option_...] -all _what_* +*search [_option_...] --all _what_* By default, search the names, short descriptions, and long descriptions of all locally installed packages for the argument @@ -4262,26 +4504,26 @@ B.6.26 search Options: - *-file* + *--file* List all filenames containing _what_. - *-all* + *--all* Search everything: package names, descriptions and filenames. - *-global* + *--global* Search the TeX Live Database of the installation medium, instead of the local installation. - *-word* + *--word* Restrict the search of package names and descriptions (but not filenames) to match only full words. For example, searching - for 'table' with this option will not output packages - containing the word 'tables' (unless they also contain the - word 'table' on its own). + for ‘table’ with this option will not output packages + containing the word ‘tables’ (unless they also contain the + word ‘table’ on its own). File: tlbuild.info, Node: tlmgr shell, Next: tlmgr show, Prev: tlmgr search, Up: tlmgr ACTIONS @@ -4291,12 +4533,12 @@ B.6.27 shell Starts an interactive mode, where tlmgr prompts for commands. This can be used directly, or for scripting. The first line of output is -'protocol' _n_, where _n_ is an unsigned number identifying the protocol +‘protocol’ _n_, where _n_ is an unsigned number identifying the protocol version (currently 1). In general, tlmgr actions that can be given on the command line translate to commands in this shell mode. For example, you can say -'update --list' to see what would be updated. The TLPDB is loaded the +‘update --list’ to see what would be updated. The TLPDB is loaded the first time it is needed (not at the beginning), and used for the rest of the session. @@ -4304,7 +4546,7 @@ the session. protocol - Print 'protocol _n_', the current protocol version. + Print ‘protocol _n_’, the current protocol version. help @@ -4320,8 +4562,8 @@ quit, end, bye, byebye, EOF restart - Restart 'tlmgr shell' with the original command line; most useful - when developing 'tlmgr'. + Restart ‘tlmgr shell’ with the original command line; most useful + when developing ‘tlmgr’. load [local|remote] @@ -4335,12 +4577,12 @@ save get [_var_] =item set [_var_ [_val_]] Get the value of _var_, or set it to _val_. Possible _var_ names: - 'debug-translation', 'machine-readable', 'no-execute-actions', - 'require-verification', 'verify-downloads', 'repository', and - 'prompt'. All except 'repository' and 'prompt' are booleans, + ‘debug-translation’, ‘machine-readable’, ‘no-execute-actions’, + ‘require-verification’, ‘verify-downloads’, ‘repository’, and + ‘prompt’. All except ‘repository’ and ‘prompt’ are booleans, taking values 0 and 1, and behave like the corresponding command - line option. The 'repository' variable takes a string, and sets - the remote repository location. The 'prompt' variable takes a + line option. The ‘repository’ variable takes a string, and sets + the remote repository location. The ‘prompt’ variable takes a string, and sets the current default prompt. If _var_ or then _val_ is not specified, it is prompted for. @@ -4359,7 +4601,7 @@ File: tlbuild.info, Node: tlmgr uninstall, Next: tlmgr update [_option_...] [_ B.6.29 uninstall ---------------- -Synonym for *note remove: tlmgr remove [_option_...] _pkg_.... +Synonym for *note remove: tlmgr remove [_option_...] _pkg_.... File: tlbuild.info, Node: tlmgr update [_option_...] [_pkg_...], Prev: tlmgr uninstall, Up: tlmgr ACTIONS @@ -4368,14 +4610,14 @@ B.6.30 update [_option_...] [_pkg_...] -------------------------------------- Updates the packages given as arguments to the latest version available -at the installation source. Either '--all' or at least one _pkg_ name +at the installation source. Either ‘--all’ or at least one _pkg_ name must be specified. Options: -*-all* +*--all* - Update all installed packages except for 'tlmgr' itself. If - updates to 'tlmgr' itself are present, this gives an error, unless - also the option '--force' or '--self' is given. (See below.) + Update all installed packages except for ‘tlmgr’ itself. If + updates to ‘tlmgr’ itself are present, this gives an error, unless + also the option ‘--force’ or ‘--self’ is given. (See below.) In addition to updating the installed packages, during the update of a collection the local installation is (by default) synchronized @@ -4383,45 +4625,45 @@ must be specified. Options: and removals. This means that if a package has been removed on the server (and - thus has also been removed from the respective collection), 'tlmgr' + thus has also been removed from the respective collection), ‘tlmgr’ will remove the package in the local installation. This is called - "auto-remove" and is announced as such when using the option - '--list'. This auto-removal can be suppressed using the option - '--no-auto-remove' (not recommended, see option description). + “auto-remove” and is announced as such when using the option + ‘--list’. This auto-removal can be suppressed using the option + ‘--no-auto-remove’ (not recommended, see option description). Analogously, if a package has been added to a collection on the server that is also installed locally, it will be added to the - local installation. This is called "auto-install" and is announced - as such when using the option '--list'. This auto-installation can - be suppressed using the option '--no-auto-install' (also not + local installation. This is called “auto-install” and is announced + as such when using the option ‘--list’. This auto-installation can + be suppressed using the option ‘--no-auto-install’ (also not recommended). An exception to the collection dependency checks (including the auto-installation of packages just mentioned) are those that have - been "forcibly removed" by you, that is, you called 'tlmgr remove - --force' on them. (See the 'remove' action documentation.) To + been “forcibly removed” by you, that is, you called ‘tlmgr remove + --force’ on them. (See the ‘remove’ action documentation.) To reinstall any such forcibly removed packages use - '--reinstall-forcibly-removed'. + ‘--reinstall-forcibly-removed’. To reiterate: automatic removals and additions are entirely determined by comparison of collections. Thus, if you manually - install an individual package 'foo' which is later removed from the - server, 'tlmgr' will not notice and will not remove it locally. + install an individual package ‘foo’ which is later removed from the + server, ‘tlmgr’ will not notice and will not remove it locally. (It has to be this way, without major rearchitecture work, because the tlpdb does not record the repository from which packages come from.) If you want to exclude some packages from the current update run - (e.g., due to a slow link), see the '--exclude' option below. + (e.g., due to a slow link), see the ‘--exclude’ option below. -*-self* +*--self* - Update 'tlmgr' itself (that is, the infrastructure packages) if + Update ‘tlmgr’ itself (that is, the infrastructure packages) if updates to it are present. On Windows this includes updates to the private Perl interpreter shipped inside TeX Live. - If this option is given together with either '--all' or a list of - packages, then 'tlmgr' will be updated first and, if this update + If this option is given together with either ‘--all’ or a list of + packages, then ‘tlmgr’ will be updated first and, if this update succeeds, the new version will be restarted to complete the rest of the updates. @@ -4432,26 +4674,26 @@ must be specified. Options: tlmgr update --force --all # update all packages but *not* infrastructure # ... this last at your own risk, not recommended! -*-dry-run* +*--dry-run* Nothing is actually installed; instead, the actions to be performed are written to the terminal. This is a more detailed report than - '--list'. + ‘--list’. -*-list* [_pkg_] +*--list* [_pkg_] Concisely list the packages which would be updated, newly installed, or removed, without actually changing anything. If - '--all' is also given, all available updates are listed. If - '--self' is given, but not '--all', only updates to the critical + ‘--all’ is also given, all available updates are listed. If + ‘--self’ is given, but not ‘--all’, only updates to the critical packages (tlmgr, texlive infrastructure, perl on Windows, etc.) - are listed. If neither '--all' nor '--self' is given, and in - addition no _pkg_ is given, then '--all' is assumed (thus, 'tlmgr - update --list' is the same as 'tlmgr update --list --all'). If - neither '--all' nor '--self' is given, but specific package names + are listed. If neither ‘--all’ nor ‘--self’ is given, and in + addition no _pkg_ is given, then ‘--all’ is assumed (thus, ‘tlmgr + update --list’ is the same as ‘tlmgr update --list --all’). If + neither ‘--all’ nor ‘--self’ is given, but specific package names are given, those packages are checked for updates. -*-exclude* _pkg_ +*--exclude* _pkg_ Exclude _pkg_ from the update process. If this option is given more than once, its arguments accumulate. @@ -4461,37 +4703,37 @@ must be specified. Options: tlmgr update --all --exclude a2ping - will not update 'a2ping', 'a2ping.i386-linux', or any other - 'a2ping.'_ARCH_ package. + will not update ‘a2ping’, ‘a2ping.i386-linux’, or any other + ‘a2ping.’_ARCH_ package. If this option specifies a package that would otherwise be a candidate for auto-installation, auto-removal, or reinstallation of - a forcibly removed package, 'tlmgr' quits with an error message. + a forcibly removed package, ‘tlmgr’ quits with an error message. Excludes are not supported in these circumstances. This option can also be set permanently in the tlmgr config file - with the key 'update-exclude'. + with the key ‘update-exclude’. -*-no-auto-remove* [_pkg_...] +*--no-auto-remove* [_pkg_...] - By default, 'tlmgr' tries to remove packages in an existing + By default, ‘tlmgr’ tries to remove packages in an existing collection which have disappeared on the server, as described above - under '--all'. This option prevents such removals, either for all - packages (with '--all'), or for just the given _pkg_ names. This + under ‘--all’. This option prevents such removals, either for all + packages (with ‘--all’), or for just the given _pkg_ names. This can lead to an inconsistent TeX installation, since packages are not infrequently renamed or replaced by their authors. Therefore this is not recommended. -*-no-auto-install* [_pkg_...] +*--no-auto-install* [_pkg_...] - Under normal circumstances 'tlmgr' will install packages which are - new on the server, as described above under '--all'. This option + Under normal circumstances ‘tlmgr’ will install packages which are + new on the server, as described above under ‘--all’. This option prevents any such automatic installation, either for all packages - (with '--all'), or the given _pkg_ names. + (with ‘--all’), or the given _pkg_ names. - Furthermore, after the 'tlmgr' run using this has finished, the + Furthermore, after the ‘tlmgr’ run using this has finished, the packages that would have been auto-installed _will be considered as - forcibly removed_. So, if 'foobar' is the only new package on the + forcibly removed_. So, if ‘foobar’ is the only new package on the server, then tlmgr update --all --no-auto-install @@ -4504,29 +4746,29 @@ must be specified. Options: Again, since packages are sometimes renamed or replaced, using this option is not recommended. -*-reinstall-forcibly-removed* +*--reinstall-forcibly-removed* - Under normal circumstances 'tlmgr' will not install packages that + Under normal circumstances ‘tlmgr’ will not install packages that have been forcibly removed by the user; that is, removed with - 'remove --force', or whose installation was prohibited by - '--no-auto-install' during an earlier update. + ‘remove --force’, or whose installation was prohibited by + ‘--no-auto-install’ during an earlier update. - This option makes 'tlmgr' ignore the forcible removals and + This option makes ‘tlmgr’ ignore the forcible removals and re-install all such packages. This can be used to completely - synchronize an installation with the server's idea of what is + synchronize an installation with the server’s idea of what is available: tlmgr update --reinstall-forcibly-removed --all -*-backup* +*--backup* -*-backupdir* _directory_ +*--backupdir* _directory_ These two options control the creation of backups of packages _before_ updating; that is, backing up packages as currently installed. If neither option is given, no backup will made. If - '--backupdir' is given and specifies a writable directory then a - backup will be made in that location. If only '--backup' is given, + ‘--backupdir’ is given and specifies a writable directory then a + backup will be made in that location. If only ‘--backup’ is given, then a backup will be made to the directory previously set via the *note option: tlmgr option. action (see below). If both are given then a backup will be made to the specified _directory_. @@ -4535,47 +4777,47 @@ must be specified. Options: to automatically make backups for all packages, and/or keep only a certain number of backups. - 'tlmgr' always makes a temporary backup when updating packages, in + ‘tlmgr’ always makes a temporary backup when updating packages, in case of download or other failure during an update. In contrast, - the purpose of this '--backup' option is to save a persistent + the purpose of this ‘--backup’ option is to save a persistent backup in case the actual _content_ of the update causes problems, e.g., introduces an TeX incompatibility. The *note restore: tlmgr restore. action explains how to restore from a backup. -*-no-depends* +*--no-depends* If you call for updating a package normally all depending packages will also be checked for updates and updated if necessary. This switch suppresses this behavior. -*-no-depends-at-all* +*--no-depends-at-all* - See above under *note install: tlmgr install [_option_...] _pkg_... - (and beware). + See above under *note install: tlmgr install [_option_...] + _pkg_.... (and beware). -*-force* +*--force* - Force update of normal packages, without updating 'tlmgr' itself - (unless the '--self' option is also given). Not recommended. + Force update of normal packages, without updating ‘tlmgr’ itself + (unless the ‘--self’ option is also given). Not recommended. - Also, 'update --list' is still performed regardless of this option. + Also, ‘update --list’ is still performed regardless of this option. If the package on the server is older than the package already -installed (e.g., if the selected mirror is out of date), 'tlmgr' does +installed (e.g., if the selected mirror is out of date), ‘tlmgr’ does not downgrade. Also, packages for uninstalled platforms are not installed. - 'tlmgr' saves one copy of the main 'texlive.tlpdb' file used for an + ‘tlmgr’ saves one copy of the main ‘texlive.tlpdb’ file used for an update with a suffix representing the repository url, as in -'tlpkg/texlive.tlpdb.main.'_long-hash-string_. Thus, even when many -mirrors are used, only one main 'tlpdb' backup is kept. For non-main +‘tlpkg/texlive.tlpdb.main.’_long-hash-string_. Thus, even when many +mirrors are used, only one main ‘tlpdb’ backup is kept. For non-main repositories, which do not generally have (m)any mirrors, no pruning of backups is done. This action does not automatically add or remove new symlinks in -system directories; you need to run 'tlmgr' *note path: tlmgr path. +system directories; you need to run ‘tlmgr’ *note path: tlmgr path. yourself if you are using this feature and want new symlinks added. @@ -4584,11 +4826,11 @@ File: tlbuild.info, Node: tlmgr CONFIGURATION FILE FOR TLMGR, Next: tlmgr CRYP B.7 CONFIGURATION FILE FOR TLMGR ================================ -'tlmgr' reads two configuration files: one is system-wide, in -'TEXMFSYSCONFIG/tlmgr/config', and the other is user-specific, in -'TEXMFCONFIG/tlmgr/config'. The user-specific one is the default for -the 'conf tlmgr' action. (Run 'kpsewhich -var-value=TEXMFSYSCONFIG' or -'... TEXMFCONFIG ...' to see the actual directory names.) +‘tlmgr’ reads two configuration files: one is system-wide, in +‘TEXMFSYSCONFIG/tlmgr/config’, and the other is user-specific, in +‘TEXMFCONFIG/tlmgr/config’. The user-specific one is the default for +the ‘conf tlmgr’ action. (Run ‘kpsewhich -var-value=TEXMFSYSCONFIG’ or +‘... TEXMFCONFIG ...’ to see the actual directory names.) A few defaults corresponding to command-line options can be set in these configuration files. In addition, the system-wide file can @@ -4599,43 +4841,43 @@ ignored. All other lines must look like: key = value - where the spaces are optional but the '=' is required. + where the spaces are optional but the ‘=’ is required. The allowed keys are: -'auto-remove =' 0 or 1 (default 1), same as command-line option. +‘auto-remove =’ 0 or 1 (default 1), same as command-line option. -'gui-expertmode =' 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings. +‘gui-expertmode =’ 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings. -'gui-lang =' _llcode_, with a language code value as with the command-line option. +‘gui-lang =’ _llcode_, with a language code value as with the command-line option. -'no-checksums =' 0 or 1 (default 0, see below). +‘no-checksums =’ 0 or 1 (default 0, see below). -'persistent-downloads =' 0 or 1 (default 1), same as command-line option. +‘persistent-downloads =’ 0 or 1 (default 1), same as command-line option. -'require-verification =' 0 or 1 (default 0), same as command-line option. +‘require-verification =’ 0 or 1 (default 0), same as command-line option. -'tkfontscale =' _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends. +‘tkfontscale =’ _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends. -'update-exclude =' _comma-separated list of packages_ (no spaces allowed). Same as the command line option '--exclude' for the 'update' action. +‘update-exclude =’ _comma-separated list of packages_ (no spaces allowed). Same as the command line option ‘--exclude’ for the ‘update’ action. -'verify-downloads =' 0 or 1 (default 1), same as command-line option. +‘verify-downloads =’ 0 or 1 (default 1), same as command-line option. The system-wide config file can contain one additional key: -'allowed-actions =' _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of 'tlmgr' actions which are allowed to be executed when 'tlmgr' is invoked in system mode (that is, without '--usermode'). This allows distributors to include 'tlmgr' in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn't make sense to set this. +‘allowed-actions =’ _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of ‘tlmgr’ actions which are allowed to be executed when ‘tlmgr’ is invoked in system mode (that is, without ‘--usermode’). This allows distributors to include ‘tlmgr’ in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn’t make sense to set this. - Finally, the 'no-checksums' key needs more explanation. By default, + Finally, the ‘no-checksums’ key needs more explanation. By default, package checksums computed and stored on the server (in the TLPDB) are compared to checksums computed locally after downloading. -'no-checksums' disables this process. The checksum algorithm is +‘no-checksums’ disables this process. The checksum algorithm is SHA-512. Your system must have one of (looked for in this order) the -Perl 'Digest::SHA' module, the 'openssl' program -(<https://openssl.org>), the 'sha512sum' program (from GNU Coreutils, -<https://www.gnu.org/software/coreutils>), or finally the 'shasum' +Perl ‘Digest::SHA’ module, the ‘openssl’ program +(<https://openssl.org>), the ‘sha512sum’ program (from GNU Coreutils, +<https://www.gnu.org/software/coreutils>), or finally the ‘shasum’ program (just to support old Macs). If none of these are available, a -warning is issued and 'tlmgr' proceeds without checking checksums. -'no-checksums' avoids the warning. (Incidentally, other SHA +warning is issued and ‘tlmgr’ proceeds without checking checksums. +‘no-checksums’ avoids the warning. (Incidentally, other SHA implementations, such as the pure Perl and pure Lua modules, are much too slow to be usable in our context.) @@ -4645,41 +4887,41 @@ File: tlbuild.info, Node: tlmgr CRYPTOGRAPHIC VERIFICATION, Next: tlmgr USER M B.8 CRYPTOGRAPHIC VERIFICATION ============================== -'tlmgr' and 'install-tl' perform cryptographic verification if possible. +‘tlmgr’ and ‘install-tl’ perform cryptographic verification if possible. If verification is performed and successful, the programs report -'(verified)' after loading the TLPDB; otherwise, they report '(not -verified)'. But either way, by default the installation and/or updates +‘(verified)’ after loading the TLPDB; otherwise, they report ‘(not +verified)’. But either way, by default the installation and/or updates proceed normally. - If a program named 'gpg' is available (that is, found in 'PATH'), by + If a program named ‘gpg’ is available (that is, found in ‘PATH’), by default cryptographic signatures will be checked: we require the main -repository be signed, but not any additional repositories. If 'gpg' is +repository be signed, but not any additional repositories. If ‘gpg’ is not available, by default signatures are not checked and no verification -is carried out, but 'tlmgr' still proceeds normally. +is carried out, but ‘tlmgr’ still proceeds normally. The behavior of the verification can be controlled by the command -line and config file option 'verify-repo' which takes one of the -following values: 'none', 'main', or 'all'. With 'none', no -verification whatsoever is attempted. With 'main' (the default) -verification is required only for the main repository, and only if 'gpg' +line and config file option ‘verify-repo’ which takes one of the +following values: ‘none’, ‘main’, or ‘all’. With ‘none’, no +verification whatsoever is attempted. With ‘main’ (the default) +verification is required only for the main repository, and only if ‘gpg’ is available; though attempted for all, missing signatures of subsidiary repositories will not result in an error. Finally, in the case of -'all', 'gpg' must be available and all repositories need to be signed. +‘all’, ‘gpg’ must be available and all repositories need to be signed. In all cases, if a signature is checked and fails to verify, an error is raised. Cryptographic verification requires checksum checking (described just -above) to succeed, and a working GnuPG ('gpg') program (see below for +above) to succeed, and a working GnuPG (‘gpg’) program (see below for search method). Then, unless cryptographic verification has been -disabled, a signature file ('texlive.tlpdb.*.asc') of the checksum file +disabled, a signature file (‘texlive.tlpdb.*.asc’) of the checksum file is downloaded and the signature verified. The signature is created by the TeX Live Distribution GPG key 0x0D5E5D9106BAB6BC, which in turn is -signed by Karl Berry's key 0x0716748A30D155AD and Norbert Preining's key +signed by Karl Berry’s key 0x0716748A30D155AD and Norbert Preining’s key 0x6CACA448860CDC13. All of these keys are obtainable from the standard key servers. - Additional trusted keys can be added using the 'key' action. + Additional trusted keys can be added using the ‘key’ action. * Menu: @@ -4692,13 +4934,13 @@ B.8.1 Configuration of GnuPG invocation --------------------------------------- The executable used for GnuPG is searched as follows: If the environment -variable 'TL_GNUPG' is set, it is tested and used; otherwise 'gpg' is -checked; finally 'gpg2' is checked. +variable ‘TL_GNUPG’ is set, it is tested and used; otherwise ‘gpg’ is +checked; finally ‘gpg2’ is checked. - Further adaptation of the 'gpg' invocation can be made using the two -environment variables 'TL_GNUPGHOME', which is passed to 'gpg' as the -value for '--homedir', and 'TL_GNUPGARGS', which replaces the default -options '--no-secmem-warning --no-permission-warning'. + Further adaptation of the ‘gpg’ invocation can be made using the two +environment variables ‘TL_GNUPGHOME’, which is passed to ‘gpg’ as the +value for ‘--homedir’, and ‘TL_GNUPGARGS’, which replaces the default +options ‘--no-secmem-warning --no-permission-warning’. File: tlbuild.info, Node: tlmgr USER MODE, Next: tlmgr MULTIPLE REPOSITORIES, Prev: tlmgr CRYPTOGRAPHIC VERIFICATION, Up: tlmgr @@ -4706,52 +4948,52 @@ File: tlbuild.info, Node: tlmgr USER MODE, Next: tlmgr MULTIPLE REPOSITORIES, B.9 USER MODE ============= -'tlmgr' provides a restricted way, called "user mode", to manage +‘tlmgr’ provides a restricted way, called “user mode”, to manage arbitrary texmf trees in the same way as the main installation. For example, this allows people without write permissions on the installation location to update/install packages into a tree of their own. - 'tlmgr' is switched into user mode with the command line option -'--usermode'. It does not switch automatically, nor is there any + ‘tlmgr’ is switched into user mode with the command line option +‘--usermode’. It does not switch automatically, nor is there any configuration file setting for it. Thus, this option has to be explicitly given every time user mode is to be activated. - This mode of 'tlmgr' works on a user tree, by default the value of -the 'TEXMFHOME' variable. This can be overridden with the command line -option '--usertree'. In the following when we speak of the user tree we -mean either 'TEXMFHOME' or the one given on the command line. + This mode of ‘tlmgr’ works on a user tree, by default the value of +the ‘TEXMFHOME’ variable. This can be overridden with the command line +option ‘--usertree’. In the following when we speak of the user tree we +mean either ‘TEXMFHOME’ or the one given on the command line. - Not all actions are allowed in user mode; 'tlmgr' will warn you and + Not all actions are allowed in user mode; ‘tlmgr’ will warn you and not carry out any problematic actions. Currently not supported (and -probably will never be) is the 'platform' action. The 'gui' action is +probably will never be) is the ‘platform’ action. The ‘gui’ action is currently not supported, but may be in a future release. - Some 'tlmgr' actions don't need any write permissions and thus work -the same in user mode and normal mode. Currently these are: 'check', -'help', 'list', 'print-platform', 'print-platform-info', 'search', -'show', 'version'. + Some ‘tlmgr’ actions don’t need any write permissions and thus work +the same in user mode and normal mode. Currently these are: ‘check’, +‘help’, ‘list’, ‘print-platform’, ‘print-platform-info’, ‘search’, +‘show’, ‘version’. On the other hand, most of the actions dealing with package management do need write permissions, and thus behave differently in -user mode, as described below: 'install', 'update', 'remove', 'option', -'paper', 'generate', 'backup', 'restore', 'uninstall', 'symlinks'. - - Before using 'tlmgr' in user mode, you have to set up the user tree -with the 'init-usertree' action. This creates _usertree_'/web2c' and -_usertree_'/tlpkg/tlpobj', and a minimal -_usertree_'/tlpkg/texlive.tlpdb'. At that point, you can tell 'tlmgr' -to do the (supported) actions by adding the '--usermode' command line +user mode, as described below: ‘install’, ‘update’, ‘remove’, ‘option’, +‘paper’, ‘generate’, ‘backup’, ‘restore’, ‘uninstall’, ‘symlinks’. + + Before using ‘tlmgr’ in user mode, you have to set up the user tree +with the ‘init-usertree’ action. This creates _usertree_‘/web2c’ and +_usertree_‘/tlpkg/tlpobj’, and a minimal +_usertree_‘/tlpkg/texlive.tlpdb’. At that point, you can tell ‘tlmgr’ +to do the (supported) actions by adding the ‘--usermode’ command line option. - In user mode the file _usertree_'/tlpkg/texlive.tlpdb' contains only -the packages that have been installed into the user tree using 'tlmgr', -plus additional options from the "virtual" package -'00texlive.installation' (similar to the main installation's -'texlive.tlpdb'). + In user mode the file _usertree_‘/tlpkg/texlive.tlpdb’ contains only +the packages that have been installed into the user tree using ‘tlmgr’, +plus additional options from the “virtual” package +‘00texlive.installation’ (similar to the main installation’s +‘texlive.tlpdb’). All actions on packages in user mode can only be carried out on -packages that are known as 'relocatable'. This excludes all packages +packages that are known as ‘relocatable’. This excludes all packages containing executables and a few other core packages. Of the 2500 or so packages currently in TeX Live the vast majority are relocatable and can be installed into a user tree. @@ -4763,33 +5005,34 @@ be installed into a user tree. * tlmgr User mode install:: * tlmgr User mode backup, restore, remove, update:: * tlmgr User mode generate, option, paper:: +* tlmgr User mode logs:: -File: tlbuild.info, Node: tlmgr User mode install, Next: tlmgr User mode backup, restore, remove, update, Up: tlmgr USER MODE +File: tlbuild.info, Node: tlmgr User mode install, Next: tlmgr User mode backup, restore, remove, update, Up: tlmgr USER MODE B.9.1 User mode install ----------------------- -In user mode, the 'install' action checks that the package and all +In user mode, the ‘install’ action checks that the package and all dependencies are all either relocated or already installed in the system installation. If this is the case, it unpacks all containers to be -installed into the user tree (to repeat, that's either 'TEXMFHOME' or -the value of '--usertree') and add the respective packages to the user -tree's 'texlive.tlpdb' (creating it if need be). +installed into the user tree (to repeat, that’s either ‘TEXMFHOME’ or +the value of ‘--usertree’) and add the respective packages to the user +tree’s ‘texlive.tlpdb’ (creating it if need be). Currently installing a collection in user mode installs all dependent packages, but in contrast to normal mode, does _not_ install dependent -collections. For example, in normal mode 'tlmgr install -collection-context' would install 'collection-basic' and other +collections. For example, in normal mode ‘tlmgr install +collection-context’ would install ‘collection-basic’ and other collections, while in user mode, _only_ the packages mentioned in -'collection-context' are installed. +‘collection-context’ are installed. If a package shipping map files is installed in user mode, a backup -of the user's 'updmap.cfg' in 'USERTREE/web2c/' is made, and then this +of the user’s ‘updmap.cfg’ in ‘USERTREE/web2c/’ is made, and then this file regenerated from the list of installed packages. -File: tlbuild.info, Node: tlmgr User mode backup, restore, remove, update, Next: tlmgr User mode generate, option, paper, Prev: tlmgr User mode install, Up: tlmgr USER MODE +File: tlbuild.info, Node: tlmgr User mode backup, restore, remove, update, Next: tlmgr User mode generate, option, paper, Prev: tlmgr User mode install, Up: tlmgr USER MODE B.9.2 User mode backup, restore, remove, update ----------------------------------------------- @@ -4799,13 +5042,22 @@ installed in the user tree before proceeding; otherwise, they behave just as in normal mode. -File: tlbuild.info, Node: tlmgr User mode generate, option, paper, Prev: tlmgr User mode backup, restore, remove, update, Up: tlmgr USER MODE +File: tlbuild.info, Node: tlmgr User mode generate, option, paper, Next: tlmgr User mode logs, Prev: tlmgr User mode backup, restore, remove, update, Up: tlmgr USER MODE B.9.3 User mode generate, option, paper --------------------------------------- -In user mode, these actions operate only on the user tree's -configuration files and/or 'texlive.tlpdb'. +In user mode, these actions operate only on the user tree’s +configuration files and/or ‘texlive.tlpdb’. + + +File: tlbuild.info, Node: tlmgr User mode logs, Prev: tlmgr User mode generate, option, paper, Up: tlmgr USER MODE + +B.9.4 User mode logs +-------------------- + +In user mode, ‘tlmgr.log’ and <tlmgr-commands.log> are written in the +‘TEXMFVAR/web2c/’ directlry instead of ‘TEXMFSYSVAR/web2c/’. File: tlbuild.info, Node: tlmgr MULTIPLE REPOSITORIES, Next: tlmgr GUI FOR TLMGR, Prev: tlmgr USER MODE, Up: tlmgr @@ -4820,13 +5072,13 @@ Also, alternative package repositories distribute packages that cannot or should not be included in TeX Live, for whatever reason. The simplest and most reliable method is to temporarily set the -installation source to any repository (with the '-repository' or 'option -repository' command line options), and perform your operations. +installation source to any repository (with the ‘-repository’ or ‘option +repository’ command line options), and perform your operations. When you are using multiple repositories over a sustained length of time, however, explicitly switching between them becomes inconvenient. -Thus, it's possible to tell 'tlmgr' about additional repositories you -want to use. The basic command is 'tlmgr repository add'. The rest of +Thus, it’s possible to tell ‘tlmgr’ about additional repositories you +want to use. The basic command is ‘tlmgr repository add’. The rest of this section explains further. When using multiple repositories, one of them has to be set as the @@ -4839,7 +5091,7 @@ main repository. are _still_ _only_ installed from the main repository. Thus, simply adding a second repository does not actually enable installation of anything from there. You also have to specify which packages should be -taken from the new repository, by specifying so-called "pinning" rules, +taken from the new repository, by specifying so-called “pinning” rules, described next. * Menu: @@ -4852,12 +5104,12 @@ File: tlbuild.info, Node: tlmgr Pinning, Up: tlmgr MULTIPLE REPOSITORIES B.10.1 Pinning -------------- -When a package 'foo' is pinned to a repository, a package 'foo' in any +When a package ‘foo’ is pinned to a repository, a package ‘foo’ in any other repository, even if it has a higher revision number, will not be considered an installable candidate. As mentioned above, by default everything is pinned to the main -repository. Let's now go through an example of setting up a second +repository. Let’s now go through an example of setting up a second repository and enabling updates of a package from it. First, check that we have support for multiple repositories, and have @@ -4867,8 +5119,8 @@ only one enabled (as is the case by default): List of repositories (with tags if set): /var/www/norbert/tlnet - Ok. Let's add the 'tlcontrib' repository (this is a real repository -hosted at <http://contrib.texlive.info>) with the tag 'tlcontrib': + Ok. Let’s add the ‘tlcontrib’ repository (this is a real repository +hosted at <http://contrib.texlive.info>) with the tag ‘tlcontrib’: $ tlmgr repository add http://contrib.texlive.info/current tlcontrib @@ -4879,12 +5131,12 @@ hosted at <http://contrib.texlive.info>) with the tag 'tlcontrib': http://contrib.texlive.info/current (tlcontrib) /var/www/norbert/tlnet (main) - Now we specify a pinning entry to get the package 'classico' from -'tlcontrib': + Now we specify a pinning entry to get the package ‘classico’ from +‘tlcontrib’: $ tlmgr pinning add tlcontrib classico - Check that we can find 'classico': + Check that we can find ‘classico’: $ tlmgr show classico package: classico @@ -4892,23 +5144,23 @@ hosted at <http://contrib.texlive.info>) with the tag 'tlcontrib': shortdesc: URW Classico fonts ... - - install 'classico': + - install ‘classico’: $ tlmgr install classico tlmgr: package repositories: ... [1/1, ??:??/??:??] install: classico @tlcontrib [737k] - In the output here you can see that the 'classico' package has been -installed from the 'tlcontrib' repository ('@tlcontrib'). + In the output here you can see that the ‘classico’ package has been +installed from the ‘tlcontrib’ repository (‘@tlcontrib’). - Finally, 'tlmgr pinning' also supports removing certain or all + Finally, ‘tlmgr pinning’ also supports removing certain or all packages from a given repository: $ tlmgr pinning remove tlcontrib classico # remove just classico $ tlmgr pinning remove tlcontrib --all # take nothing from tlcontrib - A summary of 'tlmgr pinning' actions is given above. + A summary of ‘tlmgr pinning’ actions is given above. File: tlbuild.info, Node: tlmgr GUI FOR TLMGR, Next: tlmgr MACHINE-READABLE OUTPUT, Prev: tlmgr MULTIPLE REPOSITORIES, Up: tlmgr @@ -4916,12 +5168,12 @@ File: tlbuild.info, Node: tlmgr GUI FOR TLMGR, Next: tlmgr MACHINE-READABLE OU B.11 GUI FOR TLMGR ================== -The graphical user interface for 'tlmgr' requires Perl/Tk +The graphical user interface for ‘tlmgr’ requires Perl/Tk <https://search.cpan.org/search?query=perl%2Ftk>. For Unix-based systems Perl/Tk (as well as Perl of course) has to be installed outside of TL. <https://tug.org/texlive/distro.html#perltk> has a list of invocations for some distros. For Windows the necessary modules are no -longer shipped within TeX Live, so you'll have to have an external Perl +longer shipped within TeX Live, so you’ll have to have an external Perl available that includes them. We are talking here about the GUI built into tlmgr itself, not about @@ -4929,17 +5181,17 @@ the other tlmgr GUIs, which are: tlshell (Tcl/Tk-based), tlcockpit (Java-based) and, only on Macs, TeX Live Utility. These are invoked as separate programs. - The GUI mode of tlmgr is started with the invocation 'tlmgr gui'; + The GUI mode of tlmgr is started with the invocation ‘tlmgr gui’; assuming Tk is loadable, the graphical user interface will be shown. The main window contains a menu bar, the main display, and a status area where messages normally shown on the console are displayed. - Within the main display there are three main parts: the 'Display -configuration' area, the list of packages, and the action buttons. + Within the main display there are three main parts: the ‘Display +configuration’ area, the list of packages, and the action buttons. Also, at the top right the currently loaded repository is shown; this also acts as a button and when clicked will try to load the default -repository. To load a different repository, see the 'tlmgr' menu item. +repository. To load a different repository, see the ‘tlmgr’ menu item. Finally, the status area at the bottom of the window gives additional information about what is going on. @@ -4993,7 +5245,7 @@ Match Selection Select packages to those selected, those not selected, or all. - Here, "selected" means that the checkbox in the beginning of the + Here, “selected” means that the checkbox in the beginning of the line of a package is ticked. Display configuration buttons @@ -5055,7 +5307,7 @@ Below the list of packages are several buttons: Update all installed - This calls 'tlmgr update --all', i.e., tries to update all + This calls ‘tlmgr update --all’, i.e., tries to update all available packages. Below this button is a toggle to allow reinstallation of previously removed packages as part of this action. @@ -5070,20 +5322,20 @@ Update Install - Install the selected packages; acts like 'tlmgr install', i.e., + Install the selected packages; acts like ‘tlmgr install’, i.e., also installs dependencies. Thus, installing a collection installs all its constituent packages. Remove - Removes the selected packages; acts like 'tlmgr remove', i.e., it + Removes the selected packages; acts like ‘tlmgr remove’, i.e., it will also remove dependencies of collections (but not dependencies of normal packages). Backup - Makes a backup of the selected packages; acts like 'tlmgr backup'. - This action needs the option 'backupdir' set (see 'Options -' + Makes a backup of the selected packages; acts like ‘tlmgr backup’. + This action needs the option ‘backupdir’ set (see ‘Options -’ General>). @@ -5094,51 +5346,51 @@ B.11.2 Menu bar The following entries can be found in the menu bar: -'tlmgr' menu +‘tlmgr’ menu The items here load various repositories: the default as specified in the TeX Live database, the default network repository, the repository specified on the command line (if any), and an - arbitrarily manually-entered one. Also has the so-necessary 'quit' + arbitrarily manually-entered one. Also has the so-necessary ‘quit’ operation. -'Options menu' +‘Options menu’ - Provides access to several groups of options: 'Paper' - (configuration of default paper sizes), 'Platforms' (only on Unix, - configuration of the supported/installed platforms), 'GUI Language' - (select language used in the GUI interface), and 'General' + Provides access to several groups of options: ‘Paper’ + (configuration of default paper sizes), ‘Platforms’ (only on Unix, + configuration of the supported/installed platforms), ‘GUI Language’ + (select language used in the GUI interface), and ‘General’ (everything else). - Several toggles are also here. The first is 'Expert options', + Several toggles are also here. The first is ‘Expert options’, which is set by default. If you turn this off, the next time you start the GUI a simplified screen will be shown that display only the most important functionality. This setting is saved in the - configuration file of 'tlmgr'; see *note CONFIGURATION FILE FOR + configuration file of ‘tlmgr’; see *note CONFIGURATION FILE FOR TLMGR: tlmgr CONFIGURATION FILE FOR TLMGR. for details. The other toggles are all off by default: for debugging output, to disable the automatic installation of new packages, and to disable the automatic removal of packages deleted from the server. Playing - with the choices of what is or isn't installed may lead to an + with the choices of what is or isn’t installed may lead to an inconsistent TeX Live installation; e.g., when a package is renamed. -'Actions menu' +‘Actions menu’ Provides access to several actions: update the filename database - (aka 'ls-R', 'mktexlsr', 'texhash'), rebuild all formats - ('fmtutil-sys --all'), update the font map database ('updmap-sys'), + (aka ‘ls-R’, ‘mktexlsr’, ‘texhash’), rebuild all formats + (‘fmtutil-sys --all’), update the font map database (‘updmap-sys’), restore from a backup of a package, and use of symbolic links in system directories (not on Windows). The final action is to remove the entire TeX Live installation (also not on Windows). -'Help menu' +‘Help menu’ Provides access to the TeX Live manual (also on the web at - <https://tug.org/texlive/doc.html>) and the usual "About" box. + <https://tug.org/texlive/doc.html>) and the usual “About” box. File: tlbuild.info, Node: tlmgr GUI options, Prev: tlmgr Menu bar, Up: tlmgr GUI FOR TLMGR @@ -5146,29 +5398,29 @@ File: tlbuild.info, Node: tlmgr GUI options, Prev: tlmgr Menu bar, Up: tlmgr B.11.3 GUI options ------------------ -Some generic Perl/Tk options can be specified with 'tlmgr gui' to +Some generic Perl/Tk options can be specified with ‘tlmgr gui’ to control the display: -'-background' _color_ +‘-background’ _color_ Set background color. -'-font "' _fontname_ _fontsize_ '"' +‘-font "’ _fontname_ _fontsize_ ‘"’ - Set font, e.g., 'tlmgr gui -font "helvetica 18"'. The argument to - '-font' must be quoted, i.e., passed as a single string. + Set font, e.g., ‘tlmgr gui -font "helvetica 18"’. The argument to + ‘-font’ must be quoted, i.e., passed as a single string. -'-foreground' _color_ +‘-foreground’ _color_ Set foreground color. -'-geometry' _geomspec_ +‘-geometry’ _geomspec_ - Set the X geometry, e.g., 'tlmgr gui -geometry 1024x512-0+0' + Set the X geometry, e.g., ‘tlmgr gui -geometry 1024x512-0+0’ creates the window of (approximately) the given size in the upper-right corner of the display. -'-xrm' _xresource_ +‘-xrm’ _xresource_ Pass the arbitrary X resource string _xresource_. @@ -5182,15 +5434,15 @@ File: tlbuild.info, Node: tlmgr MACHINE-READABLE OUTPUT, Next: tlmgr ENVIRONME B.12 MACHINE-READABLE OUTPUT ============================ -With the '--machine-readable' option, 'tlmgr' writes to stdout in the +With the ‘--machine-readable’ option, ‘tlmgr’ writes to stdout in the fixed line-oriented format described here, and the usual informational messages for human consumption are written to stderr (normally they are written to stdout). The idea is that a program can get all the information it needs by reading stdout. - Currently this option only applies to the *note update: tlmgr update -[_option_...] [_pkg_...], *note install: tlmgr install [_option_...] -_pkg_..., and *note option: tlmgr option. actions. + Currently this option only applies to the *note update: tlmgr update +[_option_...] [_pkg_...], *note install: tlmgr install [_option_...] +_pkg_..., and *note option: tlmgr option. actions. * Menu: @@ -5200,7 +5452,7 @@ _pkg_..., and *note option: tlmgr option. actions. File: tlbuild.info, Node: tlmgr Machine-readable update and install output, Next: tlmgr Machine-readable option output, Up: tlmgr MACHINE-READABLE OUTPUT -B.12.1 Machine-readable 'update' and 'install' output +B.12.1 Machine-readable ‘update’ and ‘install’ output ----------------------------------------------------- The output format is as follows: @@ -5213,8 +5465,8 @@ The output format is as follows: "end-of-updates" other output from post actions, not in machine readable form - The header section currently has two fields: 'location-url' (the -repository source from which updates are being drawn), and 'total-bytes' + The header section currently has two fields: ‘location-url’ (the +repository source from which updates are being drawn), and ‘total-bytes’ (the total number of bytes to be downloaded). The _localrev_ and _serverrev_ fields for each package are the @@ -5228,83 +5480,83 @@ time since start of installation/updates and the estimated total time. Line endings may be either LF or CRLF depending on the current platform. -'location-url' _location_ +‘location-url’ _location_ - The _location_ may be a url (including 'file:///foo/bar/...'), or a - directory name ('/foo/bar'). It is the package repository from + The _location_ may be a url (including ‘file:///foo/bar/...’), or a + directory name (‘/foo/bar’). It is the package repository from which the new package information was drawn. -'total-bytes' _count_ +‘total-bytes’ _count_ The _count_ is simply a decimal number, the sum of the sizes of all the packages that need updating or installing (which are listed subsequently). - Then comes a line with only the literal string 'end-of-header'. + Then comes a line with only the literal string ‘end-of-header’. - Each following line until a line with literal string 'end-of-updates' + Each following line until a line with literal string ‘end-of-updates’ reports on one package. The fields on each line are separated by a tab. Here are the fields. _pkgname_ The TeX Live package identifier, with a possible platform suffix - for executables. For instance, 'pdftex' and 'pdftex.i386-linux' + for executables. For instance, ‘pdftex’ and ‘pdftex.i386-linux’ are given as two separate packages, one on each line. _status_ The status of the package update. One character, as follows: - 'd' + ‘d’ The package was removed on the server. - 'f' + ‘f’ The package was removed in the local installation, even though - a collection depended on it. (E.g., the user ran 'tlmgr - remove --force'.) + a collection depended on it. (E.g., the user ran ‘tlmgr + remove --force’.) - 'u' + ‘u’ Normal update is needed. - 'r' + ‘r’ Reversed non-update: the locally-installed version is newer than the version on the server. - 'a' + ‘a’ Automatically-determined need for installation, the package is new on the server and is (most probably) part of an installed collection. - 'i' + ‘i’ - Package will be installed and isn't present in the local + Package will be installed and isn’t present in the local installation (action install). - 'I' + ‘I’ Package is already present but will be reinstalled (action install). _localrev_ - The revision number of the installed package, or '-' if it is not + The revision number of the installed package, or ‘-’ if it is not present locally. _serverrev_ - The revision number of the package on the server, or '-' if it is + The revision number of the package on the server, or ‘-’ if it is not present on the server. _size_ The size in bytes of the package on the server. The sum of all the - package sizes is given in the 'total-bytes' header field mentioned + package sizes is given in the ‘total-bytes’ header field mentioned above. _runtime_ @@ -5318,14 +5570,14 @@ _esttot_ File: tlbuild.info, Node: tlmgr Machine-readable option output, Prev: tlmgr Machine-readable update and install output, Up: tlmgr MACHINE-READABLE OUTPUT -B.12.2 Machine-readable 'option' output +B.12.2 Machine-readable ‘option’ output --------------------------------------- The output format is as follows: key "\t" value - If a value is not saved in the database the string '(not set)' is + If a value is not saved in the database the string ‘(not set)’ is shown. If you are developing a program that uses this output, and find that @@ -5337,22 +5589,22 @@ File: tlbuild.info, Node: tlmgr ENVIRONMENT VARIABLES, Next: tlmgr AUTHORS AND B.13 ENVIRONMENT VARIABLES ========================== -'tlmgr' uses many of the standard TeX environment variables, as reported -by, e.g., 'tlmgr conf' (*note conf: tlmgr conf.). +‘tlmgr’ uses many of the standard TeX environment variables, as reported +by, e.g., ‘tlmgr conf’ (*note conf: tlmgr conf.). - In addition, for ease in scripting and debugging, 'tlmgr' looks for + In addition, for ease in scripting and debugging, ‘tlmgr’ looks for the following environment variables. These are not of interest for normal user installations. -'TEXLIVE_COMPRESSOR' +‘TEXLIVE_COMPRESSOR’ This variable allows selecting a different compressor program for backups and intermediate rollback containers. The order of selection is: - 1. If the environment variable 'TEXLIVE_COMPRESSOR' is defined, - use it; abort if it doesn't work. Possible values: 'lz4', - 'gzip', 'xz'. The necessary options are added internally. + 1. If the environment variable ‘TEXLIVE_COMPRESSOR’ is defined, + use it; abort if it doesn’t work. Possible values: ‘lz4’, + ‘gzip’, ‘xz’. The necessary options are added internally. 2. If lz4 is available (either from the system or TL) and working, use that. @@ -5362,28 +5614,28 @@ normal user installations. 4. If xz is available (either from the system or TL) and working, use that. - lz4 and gzip are faster in creating tlmgr's local backups, hence + lz4 and gzip are faster in creating tlmgr’s local backups, hence they are preferred. The unconditional use of xz for the tlnet containers is unaffected, to minimize download sizes. -'TEXLIVE_DOWNLOADER' +‘TEXLIVE_DOWNLOADER’ -'TL_DOWNLOAD_PROGRAM' +‘TL_DOWNLOAD_PROGRAM’ -'TL_DOWNLOAD_ARGS' +‘TL_DOWNLOAD_ARGS’ These options allow selecting different download programs then the ones automatically selected by the installer. The order of selection is: - 1. If the environment variable 'TEXLIVE_DOWNLOADER' is defined, - use it; abort if the specified program doesn't work. Possible - values: 'lwp', 'curl', 'wget'. The necessary options are + 1. If the environment variable ‘TEXLIVE_DOWNLOADER’ is defined, + use it; abort if the specified program doesn’t work. Possible + values: ‘lwp’, ‘curl’, ‘wget’. The necessary options are added internally. - 2. If the environment variable 'TL_DOWNLOAD_PROGRAM' is defined - (can be any value), use it together with 'TL_DOWNLOAD_ARGS'; - abort if it doesn't work. + 2. If the environment variable ‘TL_DOWNLOAD_PROGRAM’ is defined + (can be any value), use it together with ‘TL_DOWNLOAD_ARGS’; + abort if it doesn’t work. 3. If LWP is available and working, use that (by far the most efficient method, as it supports persistent downloads). @@ -5393,27 +5645,27 @@ normal user installations. 5. If wget is available (either from the system or TL) and working, use that. - TL provides 'wget' binaries for platforms where necessary, so some + TL provides ‘wget’ binaries for platforms where necessary, so some download method should always be available. -'TEXLIVE_PREFER_OWN' +‘TEXLIVE_PREFER_OWN’ By default, compression and download programs provided by the - system, i.e., found along 'PATH' are preferred over those shipped + system, i.e., found along ‘PATH’ are preferred over those shipped with TeX Live. This can create problems with systems that are too old, and so can be overridden by setting the environment variable - 'TEXLIVE_PREFER_OWN' to 1. In this case, executables shipped with + ‘TEXLIVE_PREFER_OWN’ to 1. In this case, executables shipped with TL will be preferred. Extra compression/download programs not provided by TL, such as gzip, lwp, and curl, are still checked for on the system and used - if available, per the above. 'TEXLIVE_PREFER_OWN' only applies + if available, per the above. ‘TEXLIVE_PREFER_OWN’ only applies when the program being checked for is shipped with TL, namely the lz4 and xz compressors and wget downloader. - Exception: on Windows, the 'tar.exe' shipped with TL is always + Exception: on Windows, the ‘tar.exe’ shipped with TL is always used, regardless of any setting. @@ -5426,7 +5678,7 @@ This script and its documentation were written for the TeX Live distribution (<https://tug.org/texlive>) and both are licensed under the GNU General Public License Version 2 or later. - $Id: tlmgr.pl 62273 2022-02-28 08:52:17Z preining $ + $Id: tlmgr.pl 65998 2023-02-21 01:33:24Z karl $ File: tlbuild.info, Node: Index, Prev: tlmgr, Up: Top @@ -6031,403 +6283,427 @@ Index Tag Table: -Node: Top1208 -Node: Introduction2118 -Node: Overview of build system3943 -Node: Prerequisites5994 -Ref: Prerequisites-Footnote-18993 -Node: Building9296 -Node: Build iteration10638 -Node: Build in parallel11682 -Node: Build distribution12287 -Node: Build one package12935 -Node: Build one engine17647 -Node: Cross compilation20072 -Node: Cross configuring21351 -Node: Cross problems23028 -Node: Installing24690 -Node: Installation directories25710 -Node: Linked scripts27528 -Node: Distro builds29019 -Node: Layout and infrastructure31395 -Node: Build system tools32226 -Node: Top-level directories34443 -Node: Autoconf macros36679 -Node: General setup macros37441 -Node: Macros for programs38316 -Node: Macros for compilers39117 -Node: Macros for libraries40525 -Node: Macros for library and header flags40951 -Node: Macros for Windows42862 -Node: Library modules44449 -Node: png library44938 -Node: zlib library47286 -Node: freetype library47801 -Node: kpathsea library48497 -Node: Program modules49876 -Node: t1utils package50304 -Node: xindy package50849 -Node: xdvik package51965 -Node: asymptote53024 -Node: Extending TeX Live53528 -Node: Adding a new program module54335 -Node: Adding a new engine59098 -Node: Adding a new generic library module60883 -Node: Adding a new TeX-specific library module63104 -Node: Configure options63802 -Node: Global configure options65183 -Node: --disable-native-texlive-build65725 -Node: --prefix --bindir ...66687 -Node: --disable-largefile67227 -Node: --disable-missing67769 -Node: --enable-compiler-warnings=LEVEL68170 -Node: --enable-cxx-runtime-hack68826 -Node: --enable-maintainer-mode69246 -Node: --enable-multiplatform69775 -Node: --enable-shared70348 -Node: --enable-silent-rules70719 -Node: --without-ln-s71171 -Node: --without-x71518 -Node: Program-specific configure options71706 -Node: --enable-PROG --disable-PROG72349 -Node: --disable-all-pkgs72622 -Node: Configure options for texk/web2c73405 -Node: Configure options for texk/bibtex-x75943 -Node: Configure options for texk/dvipdfm-x76486 -Node: Configure options for texk/dvisvgm77262 -Node: Configure options for texk/texlive78143 -Node: Configure options for texk/xdvik78564 -Node: Configure options for utils/xindy79185 -Node: Library-specific configure options80075 -Node: Configure options for kpathsea81036 -Node: Variables for configure81740 -Node: Coding conventions83166 -Node: Declarations and definitions83881 -Node: Const86055 -Node: Continuous integration87919 -Node: Transfer from Subversion to Github88583 -Node: Automatic update of the Git mirror90745 -Node: CI testing on Travis-CI91327 -Node: Releases on Github92036 -Node: install-tl92476 -Node: install-tl NAME92845 -Node: install-tl SYNOPSIS93003 -Node: install-tl DESCRIPTION93219 -Node: install-tl REFERENCES94279 -Node: install-tl OPTIONS94803 -Ref: install-tl *-gui* [[=]_module_]95144 -Ref: install-tl text95352 -Ref: install-tl tcl (or "perltk" or "wizard" or "expert" or nothing)95537 -Ref: install-tl *-no-gui*96169 -Ref: install-tl *-lang* _llcode_96259 -Ref: install-tl *-repository* _url|path_96883 -Ref: install-tl *-select-repository*97772 -Ref: install-tl *-all-options*98190 -Ref: install-tl *-custom-bin* _path_98445 -Ref: install-tl *-debug-fakenet*99275 -Ref: install-tl *-debug-translation*99451 -Ref: install-tl *-force-platform* _platform_99727 -Ref: install-tl *-help*, *--help*, *-?*99971 -Ref: install-tl *-in-place*100384 -Ref: install-tl *-init-from-profile* _profile_file_100929 -Ref: install-tl *-logfile* _file_101198 -Ref: install-tl *-no-cls*101549 -Ref: install-tl *-no-persistent-downloads*101697 -Ref: install-tl *-persistent-downloads*101722 -Ref: install-tl *-no-verify-downloads*102340 -Ref: install-tl *-non-admin*102703 -Ref: install-tl *-portable*102796 -Ref: install-tl *-print-platform*102935 -Ref: install-tl *-profile* _profile_file_103133 -Ref: install-tl *-q*103354 -Ref: install-tl *-scheme* _scheme_103416 -Ref: install-tl *-v*103890 -Ref: install-tl *-version*, *--version*104045 -Node: install-tl PROFILES104179 -Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)107045 -Ref: install-tl instopt_adjustrepo (default 1)107121 -Ref: install-tl instopt_letter (default 0)107258 -Ref: install-tl instopt_portable (default 0)107349 -Ref: install-tl instopt_write18_restricted (default 1)107445 -Node: install-tl ENVIRONMENT VARIABLES108784 -Ref: install-tl TEXLIVE_DOWNLOADER109162 -Ref: install-tl TL_DOWNLOAD_PROGRAM109185 -Ref: install-tl TL_DOWNLOAD_ARGS109205 -Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK109409 -Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE109611 -Ref: install-tl TEXLIVE_INSTALL_NO_RESUME109720 -Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME109872 -Ref: install-tl TEXLIVE_INSTALL_PAPER109993 -Ref: install-tl TEXLIVE_INSTALL_PREFIX110139 -Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG110170 -Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR110198 -Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME110227 -Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL110257 -Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG110291 -Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR110322 -Ref: install-tl NOPERLDOC110737 -Node: install-tl AUTHORS AND COPYRIGHT110801 -Node: tlmgr111214 -Node: tlmgr NAME111699 -Node: tlmgr SYNOPSIS111831 -Node: tlmgr DESCRIPTION112021 -Node: tlmgr EXAMPLES113120 -Ref: tlmgr tlmgr option repository ctan113371 -Ref: tlmgr tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet113444 -Ref: tlmgr tlmgr update --list114049 -Ref: tlmgr tlmgr update --all114142 -Ref: tlmgr tlmgr info _what_114299 -Node: tlmgr OPTIONS114561 -Ref: tlmgr *--repository* _url|path_115081 -Ref: tlmgr /some/local/dir116267 -Ref: tlmgr file:/some/local/dir116296 -Ref: tlmgr ctan116369 -Ref: tlmgr https://mirror.ctan.org/systems/texlive/tlnet116423 -Ref: tlmgr http://server/path/to/tlnet116764 -Ref: tlmgr https://server/path/to/tlnet117145 -Ref: tlmgr ftp://server/path/to/tlnet117613 -Ref: tlmgr user@machine:/path/to/tlnet117745 -Ref: tlmgr scp://user@machine/path/to/tlnet117786 -Ref: tlmgr ssh://user@machine/path/to/tlnet117827 -Ref: tlmgr *--gui* [_action_]118220 -Ref: tlmgr *--gui-lang* _llcode_119033 -Ref: tlmgr *--command-logfile* _file_119774 -Ref: tlmgr *--debug-translation*120040 -Ref: tlmgr *--machine-readable*120243 -Ref: tlmgr *--no-execute-actions*120511 -Ref: tlmgr *--package-logfile* _file_120704 -Ref: tlmgr *--pause*120958 -Ref: tlmgr *--persistent-downloads*121113 -Ref: tlmgr *--no-persistent-downloads*121141 -Ref: tlmgr *--pin-file*121635 -Ref: tlmgr *--usermode*121853 -Ref: tlmgr *--usertree* _dir_121973 -Ref: tlmgr *--verify-repo=[none|main|all]*122099 -Node: tlmgr ACTIONS122998 -Node: tlmgr help123859 -Node: tlmgr version124336 -Node: tlmgr backup124599 -Ref: tlmgr *backup [_option_...] --all*124770 -Ref: tlmgr *backup [_option_...] _pkg_...*124803 -Ref: tlmgr *--backupdir* _directory_125869 -Ref: tlmgr *--all*126086 -Ref: tlmgr *--clean*[=_N_]126338 -Ref: tlmgr *--dry-run*126665 -Node: tlmgr candidates _pkg_126795 -Node: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all]127150 -Ref: tlmgr *depends*127664 -Ref: tlmgr *executes*128006 -Ref: tlmgr *files*128121 -Ref: tlmgr *runfiles*128257 -Ref: tlmgr *texmfdbs*128394 -Ref: tlmgr - all items in TEXMFDBS have the !! prefix.128624 -Ref: tlmgr - all items in TEXMFBDS have an ls-R file (if they exist at all).128700 -Ref: tlmgr - all items in TEXMF with !! are listed in TEXMFDBS.128765 -Ref: tlmgr - all items in TEXMF with an ls-R file are listed in TEXMFDBS.128840 -Ref: tlmgr *--use-svn*128865 -Node: tlmgr conf129006 -Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*129294 -Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|remove] [_value_]*129358 -Node: tlmgr dump-tlpdb [_option_...] [--json]131773 -Ref: tlmgr *--local*132206 -Ref: tlmgr *--remote*132245 -Ref: tlmgr *--json*132283 -Node: tlmgr generate132854 -Ref: tlmgr *generate [_option_...] language*133050 -Ref: tlmgr *generate [_option_...] language.dat*133089 -Ref: tlmgr *generate [_option_...] language.def*133128 -Ref: tlmgr *generate [_option_...] language.dat.lua*133171 -Ref: tlmgr *--dest* _output_file_135498 -Ref: tlmgr *--localcfg* _local_conf_file_136074 -Ref: tlmgr *--rebuild-sys*136197 -Node: tlmgr gui137012 -Node: tlmgr info137190 -Ref: tlmgr *info [_option_...] _pkg_...*137352 -Ref: tlmgr *info [_option_...] collections*137386 -Ref: tlmgr *info [_option_...] schemes*137416 -Ref: tlmgr *--list*138946 -Ref: tlmgr *--only-installed*139260 -Ref: tlmgr *--only-remote*139448 -Ref: tlmgr *--data item1,item2,...*139752 -Ref: tlmgr *--json* 1141124 -Node: tlmgr init-usertree141507 -Node: tlmgr install [_option_...] _pkg_...141888 -Ref: tlmgr *--dry-run* 1142396 -Ref: tlmgr *--file*142513 -Ref: tlmgr *--force*142735 -Ref: tlmgr *--no-depends*142955 -Ref: tlmgr *--no-depends-at-all*143114 -Ref: tlmgr *--reinstall*143514 -Ref: tlmgr *--with-doc*143892 -Ref: tlmgr *--with-src*143905 -Node: tlmgr key144633 -Ref: tlmgr *key list*144791 -Ref: tlmgr *key add _file_*144809 -Ref: tlmgr *key remove _keyid_*144831 -Node: tlmgr list145425 -Node: tlmgr option145587 -Ref: tlmgr *option [--json] [show]*145742 -Ref: tlmgr *option [--json] showall|help*145773 -Ref: tlmgr *option _key_ [_value_]*145799 -Node: tlmgr paper150378 -Ref: tlmgr *paper [a4|letter]*150527 -Ref: tlmgr *<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*>150603 -Ref: tlmgr *paper --json*150618 -Node: tlmgr path151833 -Ref: tlmgr *path [--w32mode=user|admin] add*151994 -Ref: tlmgr *path [--w32mode=user|admin] remove*152031 -Node: tlmgr pinning153516 -Ref: tlmgr pinning show153757 -Ref: tlmgr pinning add _repo_ _pkgglob_...153830 -Ref: tlmgr pinning remove _repo_ _pkgglob_...153949 -Ref: tlmgr pinning remove _repo_ --all154102 -Node: tlmgr platform154156 -Ref: tlmgr *platform list|add|remove _platform_...*154342 -Ref: tlmgr *platform set _platform_*154369 -Ref: tlmgr *platform set auto*154390 -Ref: tlmgr *--dry-run* 2155267 -Node: tlmgr postaction155386 -Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*155616 -Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*155690 -Ref: tlmgr *--w32mode=[user|admin]*156005 -Ref: tlmgr *--fileassocmode=[1|2]*156421 -Ref: tlmgr *--all* 1156706 -Node: tlmgr print-platform156761 -Node: tlmgr print-platform-info157092 -Node: tlmgr remove [_option_...] _pkg_...157392 -Ref: tlmgr *--all* 2157876 -Ref: tlmgr *--backup*157986 -Ref: tlmgr *--backupdir* _directory_ 1158012 -Ref: tlmgr *--no-depends* 1158417 -Ref: tlmgr *--no-depends-at-all* 1158479 -Ref: tlmgr *--force* 1158582 -Ref: tlmgr *--dry-run* 3159055 -Node: tlmgr repository159432 -Ref: tlmgr *repository list*159620 -Ref: tlmgr *repository list _path|url|tag_*159654 -Ref: tlmgr *repository add _path_ [_tag_]*159687 -Ref: tlmgr *repository remove _path|tag_*159719 -Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*159773 -Ref: tlmgr *repository status*159794 -Ref: tlmgr The tag (which can be the same as the url);161021 -Node: tlmgr restore161499 -Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*161678 -Ref: tlmgr *restore [_option_...] --all*161708 -Ref: tlmgr *--all* 3162408 -Ref: tlmgr *--backupdir* _directory_ 2162622 -Ref: tlmgr *--dry-run* 4162803 -Ref: tlmgr *--force* 2162935 -Ref: tlmgr *--json* 2162981 -Node: tlmgr search163308 -Ref: tlmgr *search [_option_...] _what_*163472 -Ref: tlmgr *search [_option_...] --file _what_*163509 -Ref: tlmgr *search [_option_...] --all _what_*163545 -Ref: tlmgr *--file* 1163765 -Ref: tlmgr *--all* 4163827 -Ref: tlmgr *--global*163916 -Ref: tlmgr *--word*164043 -Node: tlmgr shell164358 -Ref: tlmgr protocol165093 -Ref: tlmgr help 1165157 -Ref: tlmgr version 1165210 -Ref: tlmgr quit, end, bye, byebye, EOF165278 -Ref: tlmgr restart165299 -Ref: tlmgr load [local|remote]165422 -Ref: tlmgr save165492 -Ref: tlmgr get [_var_] =item set [_var_ [_val_]]165615 -Node: tlmgr show166216 -Node: tlmgr uninstall166383 -Node: tlmgr update [_option_...] [_pkg_...]166613 -Ref: tlmgr *--all* 5166984 -Ref: tlmgr *--self*169163 -Ref: tlmgr *--dry-run* 5169927 -Ref: tlmgr *--list* [_pkg_]170104 -Ref: tlmgr *--exclude* _pkg_170793 -Ref: tlmgr *--no-auto-remove* [_pkg_...]171593 -Ref: tlmgr *--no-auto-install* [_pkg_...]172077 -Ref: tlmgr *--reinstall-forcibly-removed*172839 -Ref: tlmgr *--backup* 1173374 -Ref: tlmgr *--backupdir* _directory_ 3173400 -Ref: tlmgr *--no-depends* 2174566 -Ref: tlmgr *--no-depends-at-all* 2174769 -Ref: tlmgr *--force* 3174872 -Node: tlmgr CONFIGURATION FILE FOR TLMGR175863 -Ref: tlmgr auto-remove = 0 or 1 (default 1), same as command-line option.176865 -Ref: tlmgr gui-expertmode = 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.176997 -Ref: tlmgr gui-lang = _llcode_, with a language code value as with the command-line option.177081 -Ref: tlmgr no-checksums = 0 or 1 (default 0, see below).177130 -Ref: tlmgr persistent-downloads = 0 or 1 (default 1), same as command-line option.177205 -Ref: tlmgr require-verification = 0 or 1 (default 0), same as command-line option.177280 -Ref: tlmgr tkfontscale = _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends.177388 -Ref: tlmgr update-exclude = _comma-separated list of packages_ (no spaces allowed). Same as the command line option --exclude for the update action.177533 -Ref: tlmgr verify-downloads = 0 or 1 (default 1), same as command-line option.177604 -Ref: tlmgr allowed-actions = _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode). This allows distributors to include tlmgr in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn't make sense to set this.178121 -Node: tlmgr CRYPTOGRAPHIC VERIFICATION178953 -Node: tlmgr Configuration of GnuPG invocation181126 -Node: tlmgr USER MODE181764 -Node: tlmgr User mode install184610 -Node: tlmgr User mode backup, restore, remove, update185754 -Node: tlmgr User mode generate, option, paper186196 -Node: tlmgr MULTIPLE REPOSITORIES186530 -Node: tlmgr Pinning188259 -Node: tlmgr GUI FOR TLMGR190182 -Node: tlmgr Main display191831 -Node: tlmgr Display configuration area192083 -Ref: tlmgr Status192444 -Ref: tlmgr Category192608 -Ref: tlmgr Match192794 -Ref: tlmgr Selection192975 -Ref: tlmgr Display configuration buttons193179 -Node: tlmgr Package list area193362 -Ref: tlmgr a checkbox193946 -Ref: tlmgr package name194082 -Ref: tlmgr local revision (and version)194181 -Ref: tlmgr remote revision (and version)194556 -Ref: tlmgr short description194853 -Node: tlmgr Main display action buttons194898 -Ref: tlmgr Update all installed195164 -Ref: tlmgr Update195536 -Ref: tlmgr Install195586 -Ref: tlmgr Remove195772 -Ref: tlmgr Backup195950 -Node: tlmgr Menu bar196107 -Ref: tlmgr tlmgr menu196330 -Ref: tlmgr Options menu196638 -Ref: tlmgr Actions menu197721 -Ref: tlmgr Help menu198149 -Node: tlmgr GUI options198283 -Ref: tlmgr -background _color_198529 -Ref: tlmgr -font " _fontname_ _fontsize_ "198594 -Ref: tlmgr -foreground _color_198752 -Ref: tlmgr -geometry _geomspec_198804 -Ref: tlmgr -xrm _xresource_198996 -Node: tlmgr MACHINE-READABLE OUTPUT199265 -Node: tlmgr Machine-readable update and install output200075 -Ref: tlmgr location-url _location_201351 -Ref: tlmgr total-bytes _count_201567 -Ref: tlmgr _pkgname_201977 -Ref: tlmgr _status_202187 -Ref: tlmgr d202265 -Ref: tlmgr f202325 -Ref: tlmgr u202504 -Ref: tlmgr r202550 -Ref: tlmgr a202673 -Ref: tlmgr i202851 -Ref: tlmgr I202970 -Ref: tlmgr _localrev_203072 -Ref: tlmgr _serverrev_203179 -Ref: tlmgr _size_203291 -Ref: tlmgr _runtime_203460 -Ref: tlmgr _esttot_203530 -Node: tlmgr Machine-readable option output203563 -Node: tlmgr ENVIRONMENT VARIABLES204075 -Ref: tlmgr TEXLIVE_COMPRESSOR204586 -Ref: tlmgr TEXLIVE_DOWNLOADER205434 -Ref: tlmgr TL_DOWNLOAD_PROGRAM205457 -Ref: tlmgr TL_DOWNLOAD_ARGS205477 -Ref: tlmgr TEXLIVE_PREFER_OWN206503 -Node: tlmgr AUTHORS AND COPYRIGHT207327 -Node: Index207729 +Node: Top1212 +Node: Introduction2122 +Node: Overview of build system3996 +Node: Prerequisites6102 +Ref: Prerequisites-Footnote-19272 +Node: Building9593 +Node: Build iteration10988 +Node: Build in parallel12104 +Node: Build distribution12741 +Node: Build one package13401 +Node: Build one engine18256 +Node: Cross compilation20751 +Node: Cross configuring22070 +Node: Cross problems23791 +Node: Installing25529 +Node: Installation directories26577 +Node: Linked scripts28507 +Node: Distro builds30046 +Node: Layout and infrastructure32502 +Node: Build system tools33345 +Node: Top-level directories35668 +Node: Autoconf macros38015 +Node: General setup macros38786 +Node: Macros for programs39693 +Node: Macros for compilers40574 +Node: Macros for libraries42034 +Node: Macros for library and header flags42476 +Node: Macros for Windows44511 +Node: Library modules46202 +Node: png library46707 +Node: zlib library49207 +Node: freetype library49754 +Node: kpathsea library50482 +Node: Program modules51925 +Node: t1utils package52369 +Node: xindy package52946 +Node: xdvik package54150 +Node: asymptote55273 +Node: Extending TeX Live55789 +Node: Adding a new program module56624 +Node: Adding a new engine61657 +Node: Adding a new generic library module63526 +Node: Adding a new TeX-specific library module65877 +Node: Configure options66603 +Node: Global configure options68020 +Node: --disable-native-texlive-build68562 +Node: --prefix --bindir ...69556 +Node: --disable-largefile70112 +Node: --disable-missing70674 +Node: --enable-compiler-warnings=LEVEL71079 +Node: --enable-cxx-runtime-hack71759 +Node: --enable-maintainer-mode72191 +Node: --enable-multiplatform72736 +Node: --enable-shared73341 +Node: --enable-silent-rules73724 +Node: --without-ln-s74200 +Node: --without-x74559 +Node: Program-specific configure options74751 +Node: --enable-PROG --disable-PROG75398 +Node: --disable-all-pkgs75683 +Node: Configure options for texk/web2c76489 +Node: Configure options for texk/bibtex-x79213 +Node: Configure options for texk/dvipdfm-x79796 +Node: Configure options for texk/dvisvgm80616 +Node: Configure options for texk/texlive81533 +Node: Configure options for texk/xdvik81970 +Node: Configure options for utils/xindy82635 +Node: Library-specific configure options83577 +Node: Configure options for kpathsea84566 +Node: Variables for configure85310 +Node: Coding conventions86856 +Node: Declarations and definitions87579 +Node: Const89802 +Node: Continuous integration91746 +Node: Transfer from Subversion to Github92410 +Node: Automatic update of the Git mirror94644 +Node: CI testing on Travis-CI95246 +Node: Releases on Github95975 +Node: install-tl96423 +Node: install-tl NAME96867 +Node: install-tl SYNOPSIS97047 +Node: install-tl DESCRIPTION97285 +Node: install-tl REFERENCES98490 +Node: install-tl EXAMPLES99099 +Ref: install-tl install-tl --paper=letter99558 +Ref: install-tl install-tl --scheme _scheme_99706 +Ref: install-tl install-tl --no-interaction99873 +Ref: install-tl install-tl --profile _texlive.profile_100029 +Node: install-tl OPTIONS100301 +Ref: install-tl *-gui* [[=]_module_]100810 +Ref: install-tl *-no-gui*100821 +Ref: install-tl text101033 +Ref: install-tl tcl (or "perltk" or "wizard" or "expert" or nothing)101226 +Ref: install-tl *-lang* _llcode_101868 +Ref: install-tl *-repository* _url|path_102492 +Ref: install-tl *-select-repository*103394 +Ref: install-tl *-all-options*103822 +Ref: install-tl *-custom-bin* _path_104077 +Ref: install-tl *-debug-fakenet*104921 +Ref: install-tl *-debug-setup-vars*105137 +Ref: install-tl *-debug-translation*105289 +Ref: install-tl *-force-platform* _platform_105565 +Ref: install-tl *-help*, *--help*, *-?*105835 +Ref: install-tl *-in-place*106266 +Ref: install-tl *-init-from-profile* _profile_file_106815 +Ref: install-tl *-logfile* _file_107084 +Ref: install-tl *-no-cls*107439 +Ref: install-tl *-no-continue*107566 +Ref: install-tl *-no-doc-install*108137 +Ref: install-tl *-no-src-install*108156 +Ref: install-tl *-no-installation*108959 +Ref: install-tl *-no-interaction*109110 +Ref: install-tl *-no-persistent-downloads*109367 +Ref: install-tl *-persistent-downloads*109392 +Ref: install-tl *-no-verify-downloads*110011 +Ref: install-tl *-non-admin*110382 +Ref: install-tl *-paper* a4*|*letter110496 +Ref: install-tl *-portable*110700 +Ref: install-tl *-print-platform*110841 +Ref: install-tl *-profile* _profile_file_111043 +Ref: install-tl *-q*111264 +Ref: install-tl *-scheme* _scheme_111326 +Ref: install-tl *-texdir* _dir_111735 +Ref: install-tl *-texuserdir* _dir_112358 +Ref: install-tl *-texmflocal* _dir_112663 +Ref: install-tl *-texmfhome* _dir_113312 +Ref: install-tl *-texmfsysconfig* _dir_113645 +Ref: install-tl *-texmfsysvar* _dir_113667 +Ref: install-tl *-texmfconfig* _dir_113770 +Ref: install-tl *-texmfvar* _dir_113789 +Ref: install-tl *-v*114013 +Ref: install-tl *-version*, *--version*114173 +Node: install-tl PROFILES114311 +Ref: install-tl instopt_adjustpath (default 0 on Unix, 1 on Windows)117395 +Ref: install-tl instopt_adjustrepo (default 1)117479 +Ref: install-tl instopt_letter (default 0)117624 +Ref: install-tl instopt_portable (default 0)117719 +Ref: install-tl instopt_write18_restricted (default 1)118286 +Node: install-tl ENVIRONMENT VARIABLES119665 +Ref: install-tl NOPERLDOC120036 +Ref: install-tl TEXLIVE_DOWNLOADER120135 +Ref: install-tl TL_DOWNLOAD_PROGRAM120162 +Ref: install-tl TL_DOWNLOAD_ARGS120186 +Ref: install-tl TEXLIVE_INSTALL_ENV_NOCHECK120398 +Ref: install-tl TEXLIVE_INSTALL_NO_CONTEXT_CACHE120608 +Ref: install-tl TEXLIVE_INSTALL_NO_DISKCHECK120724 +Ref: install-tl TEXLIVE_INSTALL_NO_RESUME121156 +Ref: install-tl TEXLIVE_INSTALL_NO_WELCOME121312 +Ref: install-tl TEXLIVE_INSTALL_PAPER121437 +Ref: install-tl TEXLIVE_INSTALL_PREFIX121599 +Ref: install-tl TEXLIVE_INSTALL_TEXMFCONFIG121634 +Ref: install-tl TEXLIVE_INSTALL_TEXMFVAR121666 +Ref: install-tl TEXLIVE_INSTALL_TEXMFHOME121699 +Ref: install-tl TEXLIVE_INSTALL_TEXMFLOCAL121733 +Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSCONFIG121771 +Ref: install-tl TEXLIVE_INSTALL_TEXMFSYSVAR121806 +Node: install-tl DIRECTORY TREES122256 +Node: install-tl BUGS124870 +Node: install-tl AUTHORS AND COPYRIGHT125778 +Node: tlmgr126176 +Node: tlmgr NAME126661 +Node: tlmgr SYNOPSIS126805 +Node: tlmgr DESCRIPTION127007 +Node: tlmgr EXAMPLES128122 +Ref: tlmgr tlmgr option repository ctan128393 +Ref: tlmgr tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet128470 +Ref: tlmgr tlmgr update --list129091 +Ref: tlmgr tlmgr update --all129188 +Ref: tlmgr tlmgr info _what_129349 +Node: tlmgr OPTIONS129615 +Ref: tlmgr *--repository* _url|path_130164 +Ref: tlmgr /some/local/dir131378 +Ref: tlmgr file:/some/local/dir131411 +Ref: tlmgr ctan131488 +Ref: tlmgr https://mirror.ctan.org/systems/texlive/tlnet131546 +Ref: tlmgr http://server/path/to/tlnet131895 +Ref: tlmgr https://server/path/to/tlnet132292 +Ref: tlmgr ftp://server/path/to/tlnet132776 +Ref: tlmgr user@machine:/path/to/tlnet132912 +Ref: tlmgr scp://user@machine/path/to/tlnet132957 +Ref: tlmgr ssh://user@machine/path/to/tlnet133002 +Ref: tlmgr *--gui* [_action_]133416 +Ref: tlmgr *--gui-lang* _llcode_134260 +Ref: tlmgr *--command-logfile* _file_135006 +Ref: tlmgr *--debug-translation*135281 +Ref: tlmgr *--machine-readable*135489 +Ref: tlmgr *--no-execute-actions*135758 +Ref: tlmgr *--package-logfile* _file_135952 +Ref: tlmgr *--pause*136215 +Ref: tlmgr *--persistent-downloads*136375 +Ref: tlmgr *--no-persistent-downloads*136404 +Ref: tlmgr *--pin-file*136919 +Ref: tlmgr *--usermode*137142 +Ref: tlmgr *--usertree* _dir_137267 +Ref: tlmgr *--verify-repo=[none|main|all]*137394 +Node: tlmgr ACTIONS138341 +Node: tlmgr help139202 +Node: tlmgr version139701 +Node: tlmgr backup139972 +Ref: tlmgr *backup [_option_...] --all*140144 +Ref: tlmgr *backup [_option_...] _pkg_...*140177 +Ref: tlmgr *--backupdir* _directory_141288 +Ref: tlmgr *--all*141510 +Ref: tlmgr *--clean*[=_N_]141771 +Ref: tlmgr *--dry-run*142107 +Node: tlmgr candidates _pkg_142237 +Node: tlmgr check [_option_...] [depends|executes|files|runfiles|texmfdbs|all]142592 +Ref: tlmgr *depends*143110 +Ref: tlmgr *executes*143460 +Ref: tlmgr *files*143579 +Ref: tlmgr *runfiles*143719 +Ref: tlmgr *texmfdbs*143856 +Ref: tlmgr - all items in TEXMFDBS have the !! prefix.144108 +Ref: tlmgr - all items in TEXMFBDS have an ls-R file (if they exist at all).144192 +Ref: tlmgr - all items in TEXMF with !! are listed in TEXMFDBS.144269 +Ref: tlmgr - all items in TEXMF with an ls-R file are listed in TEXMFDBS.144356 +Ref: tlmgr *--use-svn*144382 +Node: tlmgr conf144527 +Ref: tlmgr *conf [texmf|tlmgr|updmap [--conffile _file_] [--delete] [_key_ [_value_]]]*144817 +Ref: tlmgr *conf auxtrees [--conffile _file_] [show|add|remove] [_value_]*144882 +Node: tlmgr dump-tlpdb [_option_...] [--json]147392 +Ref: tlmgr *--local*147832 +Ref: tlmgr *--remote*147872 +Ref: tlmgr *--json*147911 +Node: tlmgr generate148502 +Ref: tlmgr *generate [_option_...] language*148698 +Ref: tlmgr *generate [_option_...] language.dat*148737 +Ref: tlmgr *generate [_option_...] language.def*148776 +Ref: tlmgr *generate [_option_...] language.dat.lua*148819 +Ref: tlmgr *--dest* _output_file_151275 +Ref: tlmgr *--localcfg* _local_conf_file_151892 +Ref: tlmgr *--rebuild-sys*152020 +Node: tlmgr gui152863 +Node: tlmgr info153041 +Ref: tlmgr *info [_option_...] _pkg_...*153203 +Ref: tlmgr *info [_option_...] collections*153237 +Ref: tlmgr *info [_option_...] schemes*153267 +Ref: tlmgr *--list*154822 +Ref: tlmgr *--only-installed*155145 +Ref: tlmgr *--only-remote*155334 +Ref: tlmgr *--data item1,item2,...*155655 +Ref: tlmgr *--json* 1157158 +Node: tlmgr init-usertree157569 +Node: tlmgr install [_option_...] _pkg_...157958 +Ref: tlmgr *--dry-run* 1158471 +Ref: tlmgr *--file*158589 +Ref: tlmgr *--force*158812 +Ref: tlmgr *--no-depends*159041 +Ref: tlmgr *--no-depends-at-all*159201 +Ref: tlmgr *--reinstall*159620 +Ref: tlmgr *--with-doc*159999 +Ref: tlmgr *--with-src*160013 +Node: tlmgr key160757 +Ref: tlmgr *key list*160915 +Ref: tlmgr *key add _file_*160933 +Ref: tlmgr *key remove _keyid_*160955 +Node: tlmgr list161581 +Node: tlmgr option161743 +Ref: tlmgr *option [--json] [show]*161899 +Ref: tlmgr *option [--json] showall|help*161931 +Ref: tlmgr *option _key_ [_value_]*161957 +Node: tlmgr paper166724 +Ref: tlmgr *paper [a4|letter]*166873 +Ref: tlmgr *<[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [_papersize_|--list]*>166950 +Ref: tlmgr *paper --json*166966 +Node: tlmgr path168233 +Ref: tlmgr *path [--w32mode=user|admin] add*168395 +Ref: tlmgr *path [--w32mode=user|admin] remove*168433 +Node: tlmgr pinning169942 +Ref: tlmgr pinning show170191 +Ref: tlmgr pinning add _repo_ _pkgglob_...170268 +Ref: tlmgr pinning remove _repo_ _pkgglob_...170391 +Ref: tlmgr pinning remove _repo_ --all170548 +Node: tlmgr platform170602 +Ref: tlmgr *platform list|add|remove _platform_...*170788 +Ref: tlmgr *platform set _platform_*170815 +Ref: tlmgr *platform set auto*170836 +Ref: tlmgr *--dry-run* 2171754 +Node: tlmgr postaction171873 +Ref: tlmgr *postaction [_option_...] install [shortcut|fileassoc|script] [_pkg_...]*172103 +Ref: tlmgr *postaction [_option_...] remove [shortcut|fileassoc|script] [_pkg_...]*172177 +Ref: tlmgr *--w32mode=[user|admin]*172509 +Ref: tlmgr *--fileassocmode=[1|2]*172942 +Ref: tlmgr *--all* 1173236 +Node: tlmgr print-platform173291 +Node: tlmgr print-platform-info173626 +Node: tlmgr remove [_option_...] _pkg_...173926 +Ref: tlmgr *--all* 2174415 +Ref: tlmgr *--backup*174530 +Ref: tlmgr *--backupdir* _directory_ 1174557 +Ref: tlmgr *--no-depends* 1174962 +Ref: tlmgr *--no-depends-at-all* 1175025 +Ref: tlmgr *--force* 1175132 +Ref: tlmgr *--dry-run* 3175618 +Node: tlmgr repository176007 +Ref: tlmgr *repository list*176195 +Ref: tlmgr *repository list _path|url|tag_*176229 +Ref: tlmgr *repository add _path_ [_tag_]*176262 +Ref: tlmgr *repository remove _path|tag_*176294 +Ref: tlmgr *repository set _path_[#_tag_] [_path_[#_tag_] ...]*176348 +Ref: tlmgr *repository status*176369 +Ref: tlmgr The tag (which can be the same as the url);177624 +Node: tlmgr restore178106 +Ref: tlmgr *restore [_option_...] _pkg_ [_rev_]*178285 +Ref: tlmgr *restore [_option_...] --all*178316 +Ref: tlmgr *--all* 3179025 +Ref: tlmgr *--backupdir* _directory_ 2179240 +Ref: tlmgr *--dry-run* 4179422 +Ref: tlmgr *--force* 2179555 +Ref: tlmgr *--json* 2179604 +Node: tlmgr search179967 +Ref: tlmgr *search [_option_...] _what_*180131 +Ref: tlmgr *search [_option_...] --file _what_*180169 +Ref: tlmgr *search [_option_...] --all _what_*180206 +Ref: tlmgr *--file* 1180427 +Ref: tlmgr *--all* 4180490 +Ref: tlmgr *--global*180580 +Ref: tlmgr *--word*180708 +Node: tlmgr shell181035 +Ref: tlmgr protocol181778 +Ref: tlmgr help 1181846 +Ref: tlmgr version 1181899 +Ref: tlmgr quit, end, bye, byebye, EOF181967 +Ref: tlmgr restart181988 +Ref: tlmgr load [local|remote]182119 +Ref: tlmgr save182189 +Ref: tlmgr get [_var_] =item set [_var_ [_val_]]182312 +Node: tlmgr show182957 +Node: tlmgr uninstall183124 +Node: tlmgr update [_option_...] [_pkg_...]183356 +Ref: tlmgr *--all* 5183732 +Ref: tlmgr *--self*185984 +Ref: tlmgr *--dry-run* 5186761 +Ref: tlmgr *--list* [_pkg_]186943 +Ref: tlmgr *--exclude* _pkg_187673 +Ref: tlmgr *--no-auto-remove* [_pkg_...]188494 +Ref: tlmgr *--no-auto-install* [_pkg_...]188991 +Ref: tlmgr *--reinstall-forcibly-removed*189774 +Ref: tlmgr *--backup* 1190328 +Ref: tlmgr *--backupdir* _directory_ 3190355 +Ref: tlmgr *--no-depends* 2191538 +Ref: tlmgr *--no-depends-at-all* 2191742 +Ref: tlmgr *--force* 3191849 +Node: tlmgr CONFIGURATION FILE FOR TLMGR192876 +Ref: tlmgr auto-remove = 0 or 1 (default 1), same as command-line option.193910 +Ref: tlmgr gui-expertmode = 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.194046 +Ref: tlmgr gui-lang = _llcode_, with a language code value as with the command-line option.194134 +Ref: tlmgr no-checksums = 0 or 1 (default 0, see below).194187 +Ref: tlmgr persistent-downloads = 0 or 1 (default 1), same as command-line option.194266 +Ref: tlmgr require-verification = 0 or 1 (default 0), same as command-line option.194345 +Ref: tlmgr tkfontscale = _floating-point number_ (default 1.0); scaling factor for fonts in the Tk-based frontends.194457 +Ref: tlmgr update-exclude = _comma-separated list of packages_ (no spaces allowed). Same as the command line option --exclude for the update action.194614 +Ref: tlmgr verify-downloads = 0 or 1 (default 1), same as command-line option.194689 +Ref: tlmgr allowed-actions = _action1_[,_action2_,...] The value is a comma-separated list (no spaces) of tlmgr actions which are allowed to be executed when tlmgr is invoked in system mode (that is, without --usermode). This allows distributors to include tlmgr in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn't make sense to set this.195228 +Node: tlmgr CRYPTOGRAPHIC VERIFICATION196092 +Node: tlmgr Configuration of GnuPG invocation198349 +Node: tlmgr USER MODE199023 +Node: tlmgr User mode install202070 +Node: tlmgr User mode backup, restore, remove, update203258 +Node: tlmgr User mode generate, option, paper203704 +Node: tlmgr User mode logs204077 +Node: tlmgr MULTIPLE REPOSITORIES204387 +Node: tlmgr Pinning206138 +Node: tlmgr GUI FOR TLMGR208117 +Node: tlmgr Main display209784 +Node: tlmgr Display configuration area210036 +Ref: tlmgr Status210397 +Ref: tlmgr Category210561 +Ref: tlmgr Match210747 +Ref: tlmgr Selection210928 +Ref: tlmgr Display configuration buttons211136 +Node: tlmgr Package list area211319 +Ref: tlmgr a checkbox211903 +Ref: tlmgr package name212039 +Ref: tlmgr local revision (and version)212138 +Ref: tlmgr remote revision (and version)212513 +Ref: tlmgr short description212810 +Node: tlmgr Main display action buttons212855 +Ref: tlmgr Update all installed213121 +Ref: tlmgr Update213497 +Ref: tlmgr Install213547 +Ref: tlmgr Remove213737 +Ref: tlmgr Backup213919 +Node: tlmgr Menu bar214088 +Ref: tlmgr tlmgr menu214315 +Ref: tlmgr Options menu214631 +Ref: tlmgr Actions menu215744 +Ref: tlmgr Help menu216196 +Node: tlmgr GUI options216334 +Ref: tlmgr -background _color_216588 +Ref: tlmgr -font " _fontname_ _fontsize_ "216661 +Ref: tlmgr -foreground _color_216831 +Ref: tlmgr -geometry _geomspec_216887 +Ref: tlmgr -xrm _xresource_217087 +Node: tlmgr MACHINE-READABLE OUTPUT217356 +Node: tlmgr Machine-readable update and install output218178 +Ref: tlmgr location-url _location_219474 +Ref: tlmgr total-bytes _count_219702 +Ref: tlmgr _pkgname_220120 +Ref: tlmgr _status_220338 +Ref: tlmgr d220420 +Ref: tlmgr f220484 +Ref: tlmgr u220671 +Ref: tlmgr r220721 +Ref: tlmgr a220848 +Ref: tlmgr i221030 +Ref: tlmgr I221155 +Ref: tlmgr _localrev_221257 +Ref: tlmgr _serverrev_221368 +Ref: tlmgr _size_221484 +Ref: tlmgr _runtime_221657 +Ref: tlmgr _esttot_221727 +Node: tlmgr Machine-readable option output221760 +Node: tlmgr ENVIRONMENT VARIABLES222280 +Ref: tlmgr TEXLIVE_COMPRESSOR222807 +Ref: tlmgr TEXLIVE_DOWNLOADER223679 +Ref: tlmgr TL_DOWNLOAD_PROGRAM223706 +Ref: tlmgr TL_DOWNLOAD_ARGS223730 +Ref: tlmgr TEXLIVE_PREFER_OWN224792 +Node: tlmgr AUTHORS AND COPYRIGHT225632 +Node: Index226030 End Tag Table diff --git a/Master/texmf-dist/doc/info/web2c.info b/Master/texmf-dist/doc/info/web2c.info index de5ce04906e..724f07c4771 100644 --- a/Master/texmf-dist/doc/info/web2c.info +++ b/Master/texmf-dist/doc/info/web2c.info @@ -1,4 +1,4 @@ -This is web2c.info, produced by makeinfo version 6.8 from web2c.texi. +This is web2c.info, produced by makeinfo version 6.5 from web2c.texi. This file documents the installation and use of the programs in Web2c, an implementation of Donald Knuth's TeX system. @@ -58,7 +58,7 @@ Web2c This document describes how to install and use the programs in the Web2c implementation of the TeX system, especially for Unix systems. It -corresponds to Web2c version 2022, released in January 2022. +corresponds to Web2c version 2023, released in February 2022. * Menu: @@ -83,7 +83,7 @@ File: web2c.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top 1 Introduction ************** -This manual corresponds to version 2022 of Web2c, released in January +This manual corresponds to version 2023 of Web2c, released in February 2022. "Web2c" (also spelled Web2C) is the name of a TeX implementation, @@ -3570,7 +3570,7 @@ Index * -base=BASE: Determining the memory dump to use. (line 15) * -base=DUMPNAME: Common options. (line 39) -* -change=CHFILE: mft invocation. (line 62) +* -change=CHFILE: mft invocation. (line 63) * -charcode-format=TYPE: tftopl invocation. (line 27) * -charcode-format=TYPE <1>: vftovp invocation. (line 30) * -cnf-line: Common options. (line 25) @@ -3632,7 +3632,7 @@ Index * -shell-restricted: tex invocation. (line 122) * -show-opcodes: dvitype invocation. (line 52) * -strict: tangle invocation. (line 46) -* -style=MFTFILE: mft invocation. (line 66) +* -style=MFTFILE: mft invocation. (line 67) * -T: mpost invocation. (line 111) * -terse: bibtex invocation. (line 28) * -tex=TEXPROGRAM: mpost invocation. (line 114) @@ -3782,7 +3782,7 @@ Index * c-sources Makefile target: Additional targets. (line 12) * caveats for \input filenames: \input filename caveats. (line 6) -* change files, and MFT: mft invocation. (line 62) +* change files, and MFT: mft invocation. (line 63) * change files, and Tangle: tangle invocation. (line 11) * change files, and Weave: weave invocation. (line 14) * changing error messages style: Common options. (line 31) @@ -3802,7 +3802,7 @@ Index (line 69) * cm.base: Initial Metafont. (line 26) * cmbase.mf: Initial Metafont. (line 26) -* cmbase.mft: mft invocation. (line 72) +* cmbase.mft: mft invocation. (line 73) * cmmf.base not recommended: Initial Metafont. (line 26) * color, in DVItoMP: dvitomp invocation. (line 15) * comments, in TCX files: TCX files. (line 70) @@ -3815,7 +3815,7 @@ Index (line 6) * Computer Modern fonts, and Troff: mpost invocation. (line 61) * Computer Modern macros: Initial Metafont. (line 26) -* Computer Modern Typefaces, production of: mft invocation. (line 72) +* Computer Modern Typefaces, production of: mft invocation. (line 73) * configuration: Installation. (line 6) * configuration file reading: Path searching. (line 6) * configuration file values: Runtime options. (line 6) @@ -3888,7 +3888,7 @@ Index * e response at error prompt: Editor invocation. (line 6) * e-circumflex: \charsubdef. (line 20) * e-TeX: TeX extensions. (line 20) -* e.mft: mft invocation. (line 72) +* e.mft: mft invocation. (line 73) * EC fonts: tex invocation. (line 41) * EC fonts <1>: mf invocation. (line 24) * editing of bitmap fonts: Font utilities available elsewhere. @@ -4140,7 +4140,7 @@ Index (line 15) * MetaPost input files: mpost invocation. (line 26) * MetaPost invocation: mpost invocation. (line 6) -* MetaPost source, prettyprinting: mft invocation. (line 77) +* MetaPost source, prettyprinting: mft invocation. (line 79) * MetaPost, initial: Initial MetaPost. (line 6) * MetaPost, TeX, and Metafont: Three programs. (line 6) * metatype1: Font utilities available elsewhere. @@ -4257,7 +4257,7 @@ Index * plain.bst: Basic BibTeX style files. (line 11) * plain.fmt: Initial TeX. (line 13) -* plain.mft: mft invocation. (line 66) +* plain.mft: mft invocation. (line 67) * pltotf: pltotf invocation. (line 6) * pool file, writing: tangle invocation. (line 16) * Poole, Simon: Online Metafont graphics. @@ -4303,7 +4303,7 @@ Index * quoted filename for \input: \input quoted filename. (line 6) * Raichle, Bernd: MLTeX. (line 6) -* reading, additional: Introduction. (line 71) +* reading, additional: Introduction. (line 72) * readonly directory, running TeX in: Output file location. (line 15) * readonly directory, running TeX in <1>: Output file location. @@ -4366,7 +4366,7 @@ Index * string pool, writing: tangle invocation. (line 16) * string representation: pooltype invocation. (line 30) * style design, for BibTeX: bibtex invocation. (line 49) -* style files: mft invocation. (line 66) +* style files: mft invocation. (line 67) * substitutions of font glyphs: MLTeX. (line 6) * sun: Online Metafont graphics. (line 42) @@ -4553,82 +4553,77 @@ Index Tag Table: Node: Top2759 -Node: Introduction3833 -Node: Installation7591 -Node: configure options9635 -Node: Compile-time options11657 -Node: Additional targets12759 -Node: Triptrap14036 -Node: Commonalities15539 -Node: Option conventions16196 -Node: Common options17419 -Node: Path searching22037 -Node: Output file location23009 -Node: Three programs24311 -Node: Runtime options25018 -Node: Initial and virgin28159 -Node: Memory dumps29108 -Node: Creating memory dumps29560 -Node: Determining the memory dump to use30767 -Node: Hardware and memory dumps32344 -Node: Editor invocation35094 -Node: \input filenames35957 -Node: \input quoted filename37508 -Node: \input braced filename38285 -Node: \input filename caveats39215 -Node: TeX40729 -Node: tex invocation41897 -Node: Initial TeX48883 -Node: Formats50247 -Node: Languages and hyphenation53064 -Node: MLTeX53494 -Node: \charsubdef55122 -Node: \tracingcharsubdef57445 -Node: TCX files58020 -Node: patgen invocation63460 -Node: Shell escapes64167 -Node: IPC and TeX67747 -Node: TeX extensions68317 -Node: Metafont71098 -Node: mf invocation72386 -Node: Initial Metafont76223 -Node: Modes77853 -Node: Online Metafont graphics80103 -Node: gftodvi invocation83528 -Node: mft invocation86348 -Node: MetaPost90346 -Node: mpost invocation91182 -Node: Initial MetaPost96218 -Node: dvitomp invocation97140 -Node: BibTeX97805 -Node: bibtex invocation98166 -Node: Basic BibTeX style files100640 -Node: WEB101970 -Node: tangle invocation103179 -Node: weave invocation105303 -Node: pooltype invocation106710 -Node: DVI utilities107840 -Node: dvicopy invocation108774 -Node: dvitype invocation110059 -Node: dvitype output example112390 -Node: Font utilities115443 -Node: Font file formats116623 -Node: gftopk invocation119890 -Node: pktogf invocation121081 -Node: pktype invocation122247 -Node: gftype invocation125070 -Node: tftopl invocation129573 -Node: pltotf invocation134166 -Node: vftovp invocation135217 -Node: vptovf invocation137452 -Node: Font utilities available elsewhere138479 -Node: Legalisms140684 -Node: References142131 -Node: Index146264 +Node: Introduction3834 +Node: Installation7593 +Node: configure options9637 +Node: Compile-time options11659 +Node: Additional targets12761 +Node: Triptrap14038 +Node: Commonalities15541 +Node: Option conventions16198 +Node: Common options17421 +Node: Path searching22039 +Node: Output file location23011 +Node: Three programs24313 +Node: Runtime options25020 +Node: Initial and virgin28161 +Node: Memory dumps29110 +Node: Creating memory dumps29562 +Node: Determining the memory dump to use30769 +Node: Hardware and memory dumps32346 +Node: Editor invocation35096 +Node: \input filenames35959 +Node: \input quoted filename37510 +Node: \input braced filename38287 +Node: \input filename caveats39217 +Node: TeX40731 +Node: tex invocation41899 +Node: Initial TeX48885 +Node: Formats50249 +Node: Languages and hyphenation53066 +Node: MLTeX53496 +Node: \charsubdef55124 +Node: \tracingcharsubdef57447 +Node: TCX files58022 +Node: patgen invocation63462 +Node: Shell escapes64169 +Node: IPC and TeX67749 +Node: TeX extensions68319 +Node: Metafont71100 +Node: mf invocation72388 +Node: Initial Metafont76225 +Node: Modes77855 +Node: Online Metafont graphics80105 +Node: gftodvi invocation83530 +Node: mft invocation86350 +Node: MetaPost90348 +Node: mpost invocation91184 +Node: Initial MetaPost96220 +Node: dvitomp invocation97142 +Node: BibTeX97807 +Node: bibtex invocation98168 +Node: Basic BibTeX style files100642 +Node: WEB101972 +Node: tangle invocation103181 +Node: weave invocation105305 +Node: pooltype invocation106712 +Node: DVI utilities107842 +Node: dvicopy invocation108776 +Node: dvitype invocation110061 +Node: dvitype output example112392 +Node: Font utilities115445 +Node: Font file formats116625 +Node: gftopk invocation119892 +Node: pktogf invocation121083 +Node: pktype invocation122249 +Node: gftype invocation125072 +Node: tftopl invocation129575 +Node: pltotf invocation134168 +Node: vftovp invocation135219 +Node: vptovf invocation137454 +Node: Font utilities available elsewhere138481 +Node: Legalisms140686 +Node: References142133 +Node: Index146266 End Tag Table - - -Local Variables: -coding: utf-8 -End: diff --git a/Master/texmf-dist/doc/kpathsea/NEWS b/Master/texmf-dist/doc/kpathsea/NEWS new file mode 100644 index 00000000000..1df4a908c4e --- /dev/null +++ b/Master/texmf-dist/doc/kpathsea/NEWS @@ -0,0 +1,407 @@ +$Id: NEWS 65770 2023-02-09 21:26:50Z karl $ +This file records noteworthy changes. (Public domain.) + +6.3.5 (for TeX Live 2023) +* Support guessing input file encodings for Unix-ish platforms, as on + Windows; enabled for (e)p(la)tex, pbibtex, mendex. + +6.3.4 (for TeX Live 2022) +* First return path from kpsewhich -all is now the same as non-all. + (Internally, str_list_uniqify retains ordering.) + +6.3.3 (for TeX Live 2021, 23 March 2021) +* The library does not emit warnings for unrecognized filenames, + leaving it up to the caller. +* Double save_size limit to 200,000 for tex4ht, l3regex, etc. + +6.3.2 (for TeX Live 2020, 27 March 2020) +* New option --cnf-line for kpsewhich (and tex and mf) to support + arbitrary configuration settings on the command line. +* Warn about unusual program name qualifiers. +* The mktex* programs are no longer maintained or present here, but in + TeX Live's Master/texmf-dist/scripts/texlive (with copies in + Build/source/texk/texlive/linked_scripts as usual). + +6.3.1 (for TeX Live 2019, 7 April 2019) +* kpsewhich --var-value does brace expansion as well as variable and + tilde expansion. +* The kpathsea_path_search() and related functions always recognize either + common path separator (: or ;) when splitting paths into elements. + (Before, there were some unusual contexts where this did not happen.) + +6.3.0 (for TeX Live 2018, 14 April 2018) +* New configuration value texmf_casefold_search to fall back to + case-insensitive search in non-system directories if there is no exact + match; only relevant on Unix. + +6.2.3 (for TeX Live 2017, 19 May 2017) +* .OTF treated like .otf. +* texmf.cnf: mpost removed from default shell_escape_commands. +* texmf.cnf: TEXINPUTS.luajitlatex added. +* texmf.cnf: default bibtex capacities increased. + +6.2.2 (for TeX Live 2016, 21 May 2016) +* gregorio added to default shell_escape_commands. + +6.2.1 (for TeX Live 2015, 21 May 2015) +* search path information output with new option --help-formats to kpsewhich, + no longer with --help. +* install <kpathsea/c-auto.h> in an architecture dependent location + and use pkg-config to get the required flags. + +6.2.0 (for TeX Live 2014, 30 May 2013) +* mktexlsr outputs normal msgs to stdout instead of stderr. +* do not ignore a non-terminated last line of a file. +* new texmf.cnf variables SELFAUTOGRANDPARENT, guess_input_kanji_encoding. +* Numerous changes for Windows. + +6.1.1 (for TeX Live 2013, 30 May 2013) +* just one tree: merge texmf into texmf-dist. + +6.1.0 (for TeX Live 2012, 1 July 2012) +* texmf.cnf is found in the great-grandparent's texmf-local, + corresponding to the default TeX Live installation. +* New formats for .ris, .bltxml. +* Merge with W32TeX. + +6.0.1 (for TeX Live 2011, 5 July 2011) +* Trailing comments and whitespace omitted from config values. +* Add .tlu to type lua suffixes, and .dfont to truetype suffixes. +* Prefix program_invocation{,_short}_name with kpse_. +* Finally remove kpse_set_progname (deprecated since 1998). + +6.0.0 (for TeX Live 2010, 4 June 2010) +* Change xmalloc and friends to use size_t, unfortunately changing the ABI. + +5.0.0 (for TeX Live 2009, 13 October 2009) +* Make shared library version and general package version the same. +* Make library re-entrant, thus unavoidable binary API changes. +* Change build system to Automake. + +3.5.7 (for TeX Live 2008, 8 July 2008) +* kpsewhich has new options --all (to report all matches) and --subdir + (to limit matches). +* more file suffixes (.dtx, et al.) and special files (updmap.cfg, et al.) + found automatically. +* add basic Lua support. +* add 64-bit functions for pdftex. +* autoconf support finally modernized. + +3.5.6 (for TeX Live 2006-07, 30 December 2006) +* longstanding minor portability/warnings problems. + +3.5.5 +* Copyrights of some source files were erroneously attributed to FSF. +* On Unix, accept the semicolon as well as the colon in environment + variables like TEXINPUTS. +* Keep metafont from choking on large literals (> 4000) when calling + mktexpk. + +3.5.4 (7 March 2005) +* Change of some standard environment/texmf.cnf variables: + HOMETEXMF -> TEXMFHOME + VARTEXMF -> TEXMFVAR + TEXMFVAR, TEXMFCONFIG: Always defined for the sake of teTeX 3.0. + TEXMFSYSVAR, TEXMFSYSCONFIG: Added for the sake of teTeX 3.0. +* mktex*: A new option for MT_FEATURES in mktex.cnf: texmfvar. If + selected, files that would be written into a system texmf tree go + to the TEXMFVAR tree. Overriden by varfonts. + +3.5.3 (28 November 2004) +* New options for kpsewhich + -var-value=VARIABLE to expand $VARIABLE without having to give an $ + on the command line. + -engine=ENGINE to set the engine name, used in some search paths. +* New formats: kpse_enc_format, kpse_cmap_format, kpse_sfd_format, + kpse_opentype_fomat, kpse_pdftex_config_format, kpse_lig_format, + kpse_texmfscript_format. +* Add .afmt to the suffixes for kpse_fmt_format. Aleph uses this. +* Rename access to kpseaccess. +* Rename readlink to kpsereadlink. +* Stop search early if we're given absolute or explicit relative names. +* Add 'angle(0,0)' to the metafont errors mktexpk will ignore. +* The withenable.ac script (used in configure) will fall back on using + kpsewhich to look for texmf trees. +* If ls-R is not found check for ls-r as well. +* kpsewhich: add -var-value option. + +3.5.2 (19 February 2003) +* Critical bugfix to db.c. + +3.5.1 (17 February 2003) +* No news. + +3.5.0 (15 February 2003) +* Use libtool. +* Do absolute searches again. +* Retain '${prefix}' in Makefile for texmf if that's how we found the tree. + +3.4.6 (7 February 2003) +* Support for e-Omega. +* Change to the search algorithm: when there are several possibilities, look + for all of them in one directory before moving to the next directory. + +3.4.5 (28 January 2003) +* Remove "." from the TEXCONFIG path. + +3.4.4 (16 January 2003) +* Add VARTEXMF HOMETEXMF to the default paths of texmf.in. + +3.4.3 (11 January 2003) +* Minor fixes. +* Use both .w and .web suffixes for cweb. + +3.4.2 (23 December 2002) +* Minor fixes to makefiles. +* A Win32 implementation of the fork/exec path in mktex. This leaves + MSDOS to be done. + +3.4.1 (20 December 2002) +* A couple of fixes for the fork/exec code. + +3.4.0 (14 December 2002) +* 3.4.x number as ABI is certainly broken now. +* Change the way the mktex* command lines are set up on unix systems. + Now we call fork/exec directly instead of using popen. + This code is not yet implemented for Windows/DOS. +* We're now (un?)fairly restrictive on what names are allowed for fonts. + That part of the code probably need improvement. +* When reading names from the ls-R file, they are no longer case-smashed. + So on platforms where this matters, the case-smashing should occur before + names are inserted into the ls-R file -- only lowercase should be used in + that file. + +3.3.11 (13 November 2002) +* Minor fixes. + +3.3.10 (11 November 2002) +* Minor fixes. + +3.3.9 (22 October 2002) +* New extension: .oft for Omega formats. + +3.3.8 (11 October 2002) +* Add support for mktexfmt (which is normally a link to fmtutil). +* Check both VAR.progname and VAR_progname in the environment. + +3.3.7 (27 November 2001) +* Minor fixes/changes to assist Omega development. + +3.3.6 (18 November 2001) +* Minor fixes/changes to assist Omega development. + +3.3.5 (10 November 2001) +* Minor bug fixes. + +3.3.4 (30 October 2001) +* Minor bug fixes. + +3.3.3 (5 August 2000) +* On NeXT, 'rm -rf' will not fail, but uses the cwd as its argument. + mktexlsr counted on it to fail, with sometimes disastrous results. + +3.3.2 (25 April 1999) +* Minor bug fixes. + +3.3.1 (29 May 1999) +* Minor bug fixes. + +3.3 (26 March 1999) +* Minor bugfixes. + +3.2 (15 March 1998) +* Brace expansion will accept the path separator as well as the comma, + e.g., {foo:bar}. +* For TeX, we only recognize one suffix, because there is no such thing + as a canonical list of TeX suffixes. +* We distinguish between two kinds of suffixes in the code: the standard + suffixes which may be appended to filenames when searching; and the + alternative suffixes which are never appended, but when found this + prevents a search with one of the standard suffixes. +* kpse_reset_program_name: change assumed program name, resets the search + paths, so that searches will work as expected for the new name. +* kpse_set_program_name: new function, replaces kpse_set_progname. +* The MakeTeX* scripts have been renamed to mktex* forms. + +3.1 (10 November 1997) +* The support for multiple texmf trees is much improved. +* New MakeTeX* scripts, based on teTeX's. These scripts now use + heuristics to decide where generated files are placed and which + permissions they should have. +* The varfonts feature is enabled by default. +* Some MSDOS/Win32 support added to the sources. +* Change in searching algorithm: if a name doesn't have the default suffix + we append it for the first search. Then we search for the bare name. + Thus if you have foo.bar and foo.bar.tex, the latter will now be found + first. Under the old system, you had to specify boo.bar.tex.tex to get + foo.bar.tex instead of foo.bar. +* Prepend the value of KPSE_DOT to relative paths from texmf.cnf if it + defined in the environment. This means we can use . instead of + $KPSE_DOT in paths. +* Define brace expansion so that {a,b}{1,2} expands to a1:b1:a2:b2. This + is different from how shells do it, and exploited in texmf.in. +* Renamed texmf.cnf.in to texmf.in. +* New value for debugging: DEBUG_VARS, equal to 64. +* If a file format has no suffix, allow its long name as the argument to + kpsewhich --format. + +3.0 (7 February 1997) +* Distribution terms changed to the GNU Library General Public License. +* Default directory structure matches the TDS standard. The most + important change is in the fonts/ directory: the file type (tfm, pk) + is now directly underneath fonts/. Also, mft/ is now at the top level. + `modeless' is used for gsftopk/ps2pk/etc.-generated fonts. +* Change in searching algorithm: if the name already has a suffix + (foo.sty), search for it by itself first, before appending the default + suffix (foo.sty.tex). This loses if you have an executable named + foo.bar, with documentation in foo.bar.tex (foo.bar will be found + first). But this is unusual, and the other case is common. +* Environment variables PATH_program (e.g., TEXINPUTS_latex) checked + for, as with configuration file values (TEXINPUTS.latex). +* Multiple TEXMF trees supported, via the following new facility: +* Shell brace expansion {foo,bar} implemented, thanks to Bash. +* Multiple ls-R files supported via the TEXMFDBS path. +* An ``alias'' database for files in ls-R supported, to handle 8.3 problems. +* Directories in the ls-R file can be relative (./) as well as absolute (/). +* New MakeTeX{PK,TFM,MF} scripts with more features, based on teTeX's. +* DVIPSMAKEPK (etc.) actually overrides the name `MakeTeXPK', as documented. +* MakeTeX* can be globally disabled via configure options. +* Support for building as a shared library with configure --enable-shared. +* Directories whose names begin with `.' are ignored. +* Some warnings can be suppressed by TEX_HUSH cnf value or envvar. +* kpsewhich has many new capabilities, documented via --help and in the manual. +* texfonts.map parsing has an include directive, and @c is a comment. +* Input lines in texmf.cnf can be continued with \. +* TEXMFLOG can be set in texmf.cnf, as previously documented. +* SELFAUTODIR and SELFAUTOPARENT are defined according to the location + of the binary, and used to search for texmf.cnf. +* /// (or more) is equivalent to //. +* If $HOME = / (as with root on some systems), avoid creating // in paths. +* Support for AFM, PostScript Type 1 font, source, documentation, Omega, + and MetaPost-related file formats. +* New header kpathsea.h with all #include files. +* Under DOS, ls-R lines need not start with . or / or \ (e.g., c:). +* Amiga support. + +2.6 (9 January 1995) +* MakeTeXPK installed from kpathsea, instead of each driver. +* MakeTeXPK.site looked for in texmf/web2c, instead of texmf/dvips. +* texmf.cnf installed and looked for in texmf/web2c, instead of texmf. +* If a mode is not explicitly specified, search all subdirectories (this + was actually in a previous release). +* install-sh only looked for in the top-level directory. +* kpsewhich replaces and generalizes kpsexpand. + +2.5 (15 December 1994) +* Go back to calling db_insert after a successful MakeTeXPK, and check + for lack of an ls-R. +* Handle case of magstep -.5 for MakeTeXPK properly. + +2.4 (28 October 1994) +* Avoid calling db_insert, which caused a segmentation fault. + +2.3 (26 October 1994) +* Extra :'s in an envvar value, referring to the texmf.cnf value, work. +* Names like dpi600/cmr10.pk can be found in ls-R. +* KPATHSEA_DEBUG environment variable checked. +* Directories like pk/ljfour directly under $TEXMF/fonts are found. +* New standalone program, kpsexpand, optionally compiled and installed, + to do variable expansion (not path searching). +* Debugging output written to stderr instead of stdout. +* pxlNNN support removed; I never intended to support `pxl1500', and + pxl300 is never used. + +2.2 (14 October 1994) +* MakeTeXPK invoked for the any_glyph type; this is for xdvik. +* MakeTeXPK sources $(psheaderdir)/MakeTeXPK.site if it exists. +* pxlNNN/cmr10.pk searched for (as well as dpiNNN/cmr10.pk and cmr10.NNNpk) + +2.1 (12 September 1994) +* Manual goes through TeX, and .cps/.aux files are in the distribution. +* INSTALL* variables set at the top level. +* Dependency on GNU tr making paths.h and texmf.sed (->texmf.cnf) removed. +* texmf.cnf installed if it didn't previously exist. + +2.0 (8 September 1994) +* Runtime configuration file support; see the manual. +* Both dpi600/cmr10.pk and cmr10.600pk are searched for. +* ls-R matches $TEXMF//latex2e vs. $TEXMF//latex209. +* $TEXMFLOG, if set, specifies a filename for logging successful searches. +* All directory entries beginning with `.' are ignored, not just `.' and `..'. +* Default path for PK and GF fonts includes the mode name. +* ls-R is in $TEXMFROOT instead of hardwired at compile time. +* More debugging flags, and they can be set with client program options. +* If MakeTeX{PK,TFM} fail, or aren't invoked, a file missfont.log is + written with the requisite commands, as in dvips. +* More 328/329/330 fixes, maybe for the last time. +* The override font paths (XDVIFONTS etc.) apply only to glyph (PK/GF) + searches, not TFM or VF. +* -g is not the default when linking, to avoid unnecessarily large binaries + (due to static libraries) under Linux. +* configure checks for a smart putenv. +* Stat results are cached to speed up disk searches. + +1.8 (2 April 1994) +* New target install-info, so the documentation can be installed without + the headers. +* Existing but unreadable files are complained about, instead of just ignored. +* A leading %% in a path element forbids searching the disk for that + element; only a db will be searched (if it exists). +* The db is only used if it might be relevant to a given path element, + not searched first regardless. + +1.7 (1 March 1994) +* Searches can use an externally-built ls-R ``database'', for speed. +* `VPATH = .' lines removed from generated Makefile, for broken Sun make. +* A path foo//tfm finds foo/tfm as well as foo/*/tfm. + +1.6 (3 February 1994) +* Memory fault in copying long paths fixed. +* More variables passed down from the top-level Makefile. +* Mention SMART_PUTENV in the INSTALL file, and fix bug in xputenv.c + when one envvar is a proper prefix of another. +* More attempts at eliminating magstephalf annoyances. +* Directory name substitutions are done globally when creating paths.h. +* Various changes for DOS. + +1.5 (24 January 1994) +* Default paths changed. +* Defining GCC_WCHAR lets GCC define wchar_t. +* EXIT_FAILURE and EXIT_SUCCESS defined in all cases (if they're not already). +* str[r]chr never redefined (I hope). + +1.4 (3 November 1993) +* Check closest fallback font size. +* All default paths (including dvips') in paths.h.in, not the Makefile. +* Rearrange directory lists so that dirs in which a file is found + migrate to the top. +* Update for Autoconf 1.7. + +1.3 (6 October 1993) +* Fix free of non-malloced memory bug. +* Fix uninitialized gf path bug. +* mkdirchain invoked as an absolute filename. + +1.2 (27 September 1993) +* Running MakeTeXPK is tried before the fallback resolutions. +* The final bitmap name uses a variable spec, so DOS & OS/2 can get + dpi300/cmr10.pk. +* Document TeX-specific features. +* Dpi passed to MakeTeXPK via the envvar KPATHSEA_DPI instead of MAKETEX_DPI. + +1.1 (26 August 1993) +* Installation fixes. + +1.0 (5 August 1993) +* Routines to look up TeX font files, default path specifications, etc. +* Sort-of pattern matching: /foo//bar matches subdirectories + /foo/a/bar, /foo/b/bar, /foo/a1/a2/bar, etc. +* $var and ${var} expansion. +* Support for MakeTeX... scripts. +* Support for fallback resolutions and font. +* Lazy evaluation of path elements. +* Some runtime debugging support. + +0.2 (12 May 1993) + +First general release as a standalone library. diff --git a/Master/texmf-dist/doc/kpathsea/kpathsea.html b/Master/texmf-dist/doc/kpathsea/kpathsea.html index 807fa6091a9..28781fe2d04 100644 --- a/Master/texmf-dist/doc/kpathsea/kpathsea.html +++ b/Master/texmf-dist/doc/kpathsea/kpathsea.html @@ -1,11 +1,11 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!DOCTYPE html> <html> -<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- This file documents the Kpathsea library for path searching. -Copyright (C) 1996-2022 Karl Berry & Olaf Weber. +Copyright © 1996-2023 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 @@ -37,21 +37,17 @@ approved by the TeX Users Group. --> <link href="#Introduction" rel="next" title="Introduction"> <style type="text/css"> <!-- -a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} +a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} +a.summary-letter-printindex {text-decoration: none} div.example {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -span:hover a.copiable-anchor {visibility: visible} -ul.no-bullet {list-style: none} +span.r {font-family: initial; font-weight: normal; font-style: normal} +span:hover a.copiable-link {visibility: visible} +td.printindex-index-entry {vertical-align: top} +td.printindex-index-section {vertical-align: top} +th.entries-header-printindex {text-align:left} +th.sections-header-printindex {text-align:left} +ul.mark-bullet {list-style-type: disc} +ul.toc-numbered-mark {list-style: none} --> </style> @@ -59,7 +55,6 @@ ul.no-bullet {list-style: none} </head> <body lang="en"> -<h1 class="settitle" align="center">Kpathsea: A library for path searching</h1> @@ -71,100 +66,100 @@ ul.no-bullet {list-style: none} -<div class="top" id="Top"> -<div class="header"> +<div class="top-level-extent" id="Top"> +<div class="nav-panel"> <p> Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Kpathsea-library"></span><h1 class="top">Kpathsea library</h1> +<h1 class="top" id="Kpathsea-library">Kpathsea library</h1> <p>This manual documents the Kpathsea library for path searching. It -corresponds to version 6.3.4, released in -January 2022. +corresponds to version 6.3.5, released in +February 2023. </p> -<div class="Contents_element" id="SEC_Contents"> +<div class="element-contents" id="SEC_Contents"> <h2 class="contents-heading">Table of Contents</h2> <div class="contents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="toc-Introduction-1" href="#Introduction">1 Introduction</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-History-1" href="#History">1.1 History</a></li> </ul></li> - <li><a id="toc-unixtex_002eftp_003a-Obtaining-TeX" href="#unixtex_002eftp">2 <samp>unixtex.ftp</samp>: Obtaining TeX</a></li> + <li><a id="toc-unixtex_002eftp_003a-Obtaining-TeX" href="#unixtex_002eftp">2 <samp class="file">unixtex.ftp</samp>: Obtaining TeX</a></li> <li><a id="toc-Security-1" href="#Security">3 Security</a></li> <li><a id="toc-TeX-directory-structure-1" href="#TeX-directory-structure">4 TeX directory structure</a></li> <li><a id="toc-Path-searching-1" href="#Path-searching">5 Path searching</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Searching-overview-1" href="#Searching-overview">5.1 Searching overview</a></li> <li><a id="toc-Path-sources-1" href="#Path-sources">5.2 Path sources</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Config-files-1" href="#Config-files">5.2.1 Config files</a></li> </ul></li> <li><a id="toc-Path-expansion-1" href="#Path-expansion">5.3 Path expansion</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Default-expansion-1" href="#Default-expansion">5.3.1 Default expansion</a></li> <li><a id="toc-Variable-expansion-1" href="#Variable-expansion">5.3.2 Variable expansion</a></li> <li><a id="toc-Tilde-expansion-1" href="#Tilde-expansion">5.3.3 Tilde expansion</a></li> <li><a id="toc-Brace-expansion-1" href="#Brace-expansion">5.3.4 Brace expansion</a></li> - <li><a id="toc-KPSE_005fDOT-expansion-1" href="#KPSE_005fDOT-expansion">5.3.5 <code>KPSE_DOT</code> expansion</a></li> + <li><a id="toc-KPSE_005fDOT-expansion-1" href="#KPSE_005fDOT-expansion">5.3.5 <code class="code">KPSE_DOT</code> expansion</a></li> <li><a id="toc-Subdirectory-expansion-1" href="#Subdirectory-expansion">5.3.6 Subdirectory expansion</a></li> </ul></li> <li><a id="toc-Casefolding-search-1" href="#Casefolding-search">5.4 Casefolding search</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Casefolding-rationale-1" href="#Casefolding-rationale">5.4.1 Casefolding rationale</a></li> <li><a id="toc-Casefolding-examples-1" href="#Casefolding-examples">5.4.2 Casefolding examples</a></li> </ul></li> - <li><a id="toc-Filename-database-_0028ls_002dR_0029" href="#Filename-database">5.5 Filename database (<code>ls-R</code>)</a> - <ul class="no-bullet"> - <li><a id="toc-ls_002dR-1" href="#ls_002dR">5.5.1 <samp>ls-R</samp></a></li> + <li><a id="toc-Filename-database-_0028ls_002dR_0029" href="#Filename-database">5.5 Filename database (<code class="code">ls-R</code>)</a> + <ul class="toc-numbered-mark"> + <li><a id="toc-ls_002dR-1" href="#ls_002dR">5.5.1 <samp class="file">ls-R</samp></a></li> <li><a id="toc-Filename-aliases-1" href="#Filename-aliases">5.5.2 Filename aliases</a></li> <li><a id="toc-Database-format-1" href="#Database-format">5.5.3 Database format</a></li> </ul></li> - <li><a id="toc-kpsewhich_003a-Standalone-path-searching" href="#Invoking-kpsewhich">5.6 <code>kpsewhich</code>: Standalone path searching</a> - <ul class="no-bullet"> + <li><a id="toc-kpsewhich_003a-Standalone-path-searching" href="#Invoking-kpsewhich">5.6 <code class="code">kpsewhich</code>: Standalone path searching</a> + <ul class="toc-numbered-mark"> <li><a id="toc-Path-searching-options-1" href="#Path-searching-options">5.6.1 Path searching options</a></li> - <li><a id="toc-Specially_002drecognized-files-for-kpsewhich" href="#Specially_002drecognized-files">5.6.2 Specially-recognized files for <code>kpsewhich</code></a></li> + <li><a id="toc-Specially_002drecognized-files-for-kpsewhich" href="#Specially_002drecognized-files">5.6.2 Specially-recognized files for <code class="command">kpsewhich</code></a></li> <li><a id="toc-Auxiliary-tasks-1" href="#Auxiliary-tasks">5.6.3 Auxiliary tasks</a></li> <li><a id="toc-Standard-options-1" href="#Standard-options">5.6.4 Standard options</a></li> </ul></li> </ul></li> <li><a id="toc-TeX-support-1" href="#TeX-support">6 TeX support</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Supported-file-formats-1" href="#Supported-file-formats">6.1 Supported file formats</a></li> <li><a id="toc-File-lookup-1" href="#File-lookup">6.2 File lookup</a></li> <li><a id="toc-Glyph-lookup-1" href="#Glyph-lookup">6.3 Glyph lookup</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Basic-glyph-lookup-1" href="#Basic-glyph-lookup">6.3.1 Basic glyph lookup</a></li> <li><a id="toc-Fontmap-1" href="#Fontmap">6.3.2 Fontmap</a></li> <li><a id="toc-Fallback-font-1" href="#Fallback-font">6.3.3 Fallback font</a></li> </ul></li> <li><a id="toc-Suppressing-warnings-1" href="#Suppressing-warnings">6.4 Suppressing warnings</a></li> - <li><a id="toc-mktex-scripts-1" href="#mktex-scripts">6.5 <samp>mktex</samp> scripts</a> - <ul class="no-bullet"> - <li><a id="toc-mktex-configuration-1" href="#mktex-configuration">6.5.1 <samp>mktex</samp> configuration</a></li> - <li><a id="toc-mktex-script-names-1" href="#mktex-script-names">6.5.2 <samp>mktex</samp> script names</a></li> - <li><a id="toc-mktex-script-arguments-1" href="#mktex-script-arguments">6.5.3 <samp>mktex</samp> script arguments</a></li> + <li><a id="toc-mktex-scripts-1" href="#mktex-scripts">6.5 <samp class="file">mktex</samp> scripts</a> + <ul class="toc-numbered-mark"> + <li><a id="toc-mktex-configuration-1" href="#mktex-configuration">6.5.1 <samp class="file">mktex</samp> configuration</a></li> + <li><a id="toc-mktex-script-names-1" href="#mktex-script-names">6.5.2 <samp class="file">mktex</samp> script names</a></li> + <li><a id="toc-mktex-script-arguments-1" href="#mktex-script-arguments">6.5.3 <samp class="file">mktex</samp> script arguments</a></li> </ul></li> </ul></li> <li><a id="toc-Programming-1" href="#Programming">7 Programming</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Programming-overview-1" href="#Programming-overview">7.1 Programming overview</a></li> <li><a id="toc-Calling-sequence-1" href="#Calling-sequence">7.2 Calling sequence</a></li> <li><a id="toc-Program_002dspecific-files-1" href="#Program_002dspecific-files">7.3 Program-specific files</a></li> <li><a id="toc-Programming-with-config-files-1" href="#Programming-with-config-files">7.4 Programming with config files</a></li> </ul></li> <li><a id="toc-Reporting-bugs-1" href="#Reporting-bugs">8 Reporting bugs</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Bug-checklist-1" href="#Bug-checklist">8.1 Bug checklist</a></li> <li><a id="toc-Mailing-lists-1" href="#Mailing-lists">8.2 Mailing lists</a></li> <li><a id="toc-Debugging-1" href="#Debugging">8.3 Debugging</a></li> <li><a id="toc-Logging-1" href="#Logging">8.4 Logging</a></li> <li><a id="toc-Common-problems-1" href="#Common-problems">8.5 Common problems</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Unable-to-find-files-1" href="#Unable-to-find-files">8.5.1 Unable to find files</a></li> <li><a id="toc-Slow-path-searching-1" href="#Slow-path-searching">8.5.2 Slow path searching</a></li> <li><a id="toc-Unable-to-generate-fonts-1" href="#Unable-to-generate-fonts">8.5.3 Unable to generate fonts</a></li> @@ -176,51 +171,51 @@ January 2022. </div> </div> <hr> -<div class="chapter" id="Introduction"> -<div class="header"> +<div class="chapter-level-extent" id="Introduction"> +<div class="nav-panel"> <p> -Next: <a href="#unixtex_002eftp" accesskey="n" rel="next"><samp>unixtex.ftp</samp>: Obtaining TeX</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Kpathsea library</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#unixtex_002eftp" accesskey="n" rel="next"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Kpathsea library</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> +<h2 class="chapter" id="Introduction-1">1 Introduction</h2> -<span id="index-introduction"></span> -<span id="index-fundamental-purpose-of-Kpathsea"></span> +<a class="index-entry-id" id="index-introduction"></a> +<a class="index-entry-id" id="index-fundamental-purpose-of-Kpathsea"></a> -<p>This manual corresponds to version 6.3.4 of the Kpathsea -library, released in January 2022. +<p>This manual corresponds to version 6.3.5 of the Kpathsea +library, released in February 2023. </p> <p>The library’s fundamental purpose is to return a filename from a list of directories specified by the user, similar to what shells do when looking up program names to execute. </p> -<span id="index-programs-using-the-library"></span> +<a class="index-entry-id" id="index-programs-using-the-library"></a> <p>The following software, all of which is maintained in parallel, uses this library: </p> -<ul> -<li> Dviljk (see the ‘<samp>dvilj</samp>’ man page) -</li><li> Dvipsk (see <cite><a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Dvips: A DVI driver</a></cite>) -</li><li> GNU font utilities (see <cite><a data-manual="fontu" href="fontu.html#Top">GNU font utilities</a></cite>) -</li><li> Web2c (see <cite><a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Top">Web2c: A TeX implementation</a></cite>) -</li><li> Xdvik (see the ‘<samp>xdvi</samp>’ man page) +<ul class="itemize mark-bullet"> +<li>Dviljk (see the ‘<samp class="samp">dvilj</samp>’ man page) +</li><li>Dvipsk (see <cite class="cite"><a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Dvips: A DVI driver</a></cite>) +</li><li>GNU font utilities (see <cite class="cite"><a data-manual="fontu" href="fontu.html#Top">GNU font utilities</a></cite>) +</li><li>Web2c (see <cite class="cite"><a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Top">Web2c: A TeX implementation</a></cite>) +</li><li>Xdvik (see the ‘<samp class="samp">xdvi</samp>’ man page) </li></ul> <p>Other software that we do not maintain also uses it. </p> <p>Kpathsea is now maintained as part of the TeX Live distribution -(<a href="https://tug.org/texlive">https://tug.org/texlive</a>), which includes several more +(<a class="url" href="https://tug.org/texlive">https://tug.org/texlive</a>), which includes several more Kpathsea-using programs. For information on configuration, building, -installing, and more, see <cite><a data-manual="tlbuild" href="https://tug.org/texinfohtml/tlbuild.html#Top">Building TeX Live</a></cite>. +installing, and more, see <cite class="cite"><a data-manual="tlbuild" href="https://tug.org/texinfohtml/tlbuild.html#Top">Building TeX Live</a></cite>. </p> -<span id="index-interface_002c-not-frozen"></span> -<span id="index-comments_002c-making"></span> -<span id="index-suggestions_002c-making"></span> +<a class="index-entry-id" id="index-interface_002c-not-frozen"></a> +<a class="index-entry-id" id="index-comments_002c-making"></a> +<a class="index-entry-id" id="index-suggestions_002c-making"></a> <p>The library is still actively maintained. If you have comments or -suggestions, please send along (see <a href="#Reporting-bugs">Reporting bugs</a>). +suggestions, please send along (see <a class="pxref" href="#Reporting-bugs">Reporting bugs</a>). </p> -<span id="index-conditions-for-use"></span> -<span id="index-license-for-using-the-library"></span> -<span id="index-GNU-General-Public-License"></span> +<a class="index-entry-id" id="index-conditions-for-use"></a> +<a class="index-entry-id" id="index-license-for-using-the-library"></a> +<a class="index-entry-id" id="index-GNU-General-Public-License"></a> <p>The Kpathsea library is distributed under the GNU Library General Public License (LGPL), version 2.1 or (at your option) any later version. In short, this means if you write a program using the @@ -229,65 +224,65 @@ along with any changes you have made, and allow anyone to modify the library source and distribute their modifications. It does not mean you have to distribute the source to your program using the library, although we hope you will. See accompanying files for the text of the -GNU licenses, or <a href="https://gnu.org/licenses">https://gnu.org/licenses</a>. +GNU licenses, or <a class="url" href="https://gnu.org/licenses">https://gnu.org/licenses</a>. </p> -<span id="index-TeX-Users-Group"></span> +<a class="index-entry-id" id="index-TeX-Users-Group"></a> <p>If you know enough about TeX to be reading this manual, then you (or your institution) should consider joining the TeX Users Group (if you’re already a member, thanks!). TUG produces the periodical -<cite>TUGboat</cite>, sponsors an annual meeting and publishes the +<cite class="cite">TUGboat</cite>, sponsors an annual meeting and publishes the proceedings, and arranges courses on TeX for all levels of users -throughout the world. See <a href="https://tug.org">https://tug.org</a> for information. +throughout the world. See <a class="url" href="https://tug.org">https://tug.org</a> for information. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#History" accesskey="1">History</a></li> </ul> <hr> -<div class="section" id="History"> -<div class="header"> +<div class="section-level-extent" id="History"> +<div class="nav-panel"> <p> Up: <a href="#Introduction" accesskey="u" rel="up">Introduction</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="History-1"></span><h3 class="section">1.1 History</h3> +<h3 class="section" id="History-1">1.1 History</h3> -<span id="index-history-of-Kpathsea"></span> +<a class="index-entry-id" id="index-history-of-Kpathsea"></a> -<span id="index-Knuth_002c-Donald-E_002e"></span> +<a class="index-entry-id" id="index-Knuth_002c-Donald-E_002e"></a> <p>This section is for those people who are curious about how the library came about. If you like to read historical accounts of software, we urge you to seek out the GNU Autoconf manual and the “Errors of -TeX” paper by Don Knuth, published in his book <cite>Digital +TeX” paper by Don Knuth, published in his book <cite class="cite">Digital Typography</cite>, among other places. </p> -<span id="index-Morgan_002c-Tim"></span> -<span id="index-Rokicki_002c-Tom"></span> -<span id="index-Berry_002c-Karl"></span> -<span id="index-VAX-11_002f750"></span> -<span id="index-Sun-2"></span> -<span id="index-pxp-Pascal-preprocessor"></span> -<span id="index-pc-Pascal-compiler"></span> +<a class="index-entry-id" id="index-Morgan_002c-Tim"></a> +<a class="index-entry-id" id="index-Rokicki_002c-Tom"></a> +<a class="index-entry-id" id="index-Berry_002c-Karl"></a> +<a class="index-entry-id" id="index-VAX-11_002f750"></a> +<a class="index-entry-id" id="index-Sun-2"></a> +<a class="index-entry-id" id="index-pxp-Pascal-preprocessor"></a> +<a class="index-entry-id" id="index-pc-Pascal-compiler"></a> <p>[Karl writes.] My first ChangeLog entry for Web2c seems to be February 1990, but I may have done some work before then. In any case, Tim Morgan and I were jointly maintaining it for a time. (I should mention here that Tim had made Web2c into a real distribution long before I had ever used it or even heard of it, and Tom Rokicki did the original implementation. When I started, I was using -<code>pxp</code> and <code>pc</code> on VAX 11/750’s and the hot new Sun 2 +<code class="code">pxp</code> and <code class="code">pc</code> on VAX 11/750’s and the hot new Sun 2 machines.) </p> <p>It must have been later in 1990 and 1991 that I started working on -<cite>TeX for the Impatient</cite>. Dvips, Xdvi, Web2c, and the GNU +<cite class="cite">TeX for the Impatient</cite>. Dvips, Xdvi, Web2c, and the GNU fontutils (which I was also writing at the time) all used different environment variables, and, more importantly, had different bugs in their path searching. This became extremely painful, as I was stressing everything to the limit working on the book. I also desperately wanted to implement subdirectory searching, since I couldn’t stand putting everything in one big directory, and also couldn’t stand having to -explicitly specify <samp>cm</samp>, <samp>pandora</samp>, … in a path. +explicitly specify <samp class="file">cm</samp>, <samp class="file">pandora</samp>, … in a path. </p> -<span id="index-Vojta_002c-Paul"></span> +<a class="index-entry-id" id="index-Vojta_002c-Paul"></a> <p>In the first incarnation, I just hacked separately on each program—that was the original subdirectory searching code in both Xdvi and Dvips. That is, I tried to go with the flow in each program, @@ -302,22 +297,22 @@ They weren’t yet a library, though. I just kept things up to date with shell scripts. (I was developing on a 386 running ISC 2.2 at the time, and so didn’t have symbolic links. An awful experience.) </p> -<span id="index-MacKenzie_002c-David"></span> +<a class="index-entry-id" id="index-MacKenzie_002c-David"></a> <p>The ChangeLogs for Xdvik and Dvipsk record initial releases of those distributions in May and June 1992. I think it was because I was tired of the different configuration strategies of each program, not so much because of the path searching. Autoconf was being developed by David MacKenzie and others, and I was adapting it to TeX and friends. </p> -<span id="index-zuhn_002c-david"></span> +<a class="index-entry-id" id="index-zuhn_002c-david"></a> <p>I started to make a separate library that other programs could link with on my birthday in April 1993, according to the ChangeLog. I don’t remember exactly why I finally took the time to make it a separate library; a conversation with david zuhn initiated it. Just seemed like it was time. </p> -<span id="index-Walsh_002c-Norman"></span> -<span id="index-Neumann_002c-Gustaf"></span> +<a class="index-entry-id" id="index-Walsh_002c-Norman"></a> +<a class="index-entry-id" id="index-Neumann_002c-Gustaf"></a> <p>Dviljk got started in March 1994 after I bought a Laserjet 4. (Kpathsea work got suspended while Norm Walsh and I, with Gustaf Neumann’s help, implemented a way for TeX to get at all those neat builtin LJ4 fonts @@ -334,20 +329,20 @@ smaller than a company with a million-dollar-a-year legal budget. Which is actually what I think is likely to happen, but that’s another story…) </p> -<span id="index-Weber_002c-Olaf"></span> +<a class="index-entry-id" id="index-Weber_002c-Olaf"></a> <p>[Olaf writes.] At the end of 1997, Unix is still alive and kicking, individuals still develop software, and Web2c development still continues. Karl had been looking for some time for someone to take up part of the burden, and I volunteered. </p> -<span id="index-Hoekwater_002c-Taco"></span> -<span id="index-Breitenlohner_002c-Peter"></span> +<a class="index-entry-id" id="index-Hoekwater_002c-Taco"></a> +<a class="index-entry-id" id="index-Breitenlohner_002c-Peter"></a> <p>[Karl writes again.] Indeed, time goes on. As of 2006 or so, Olaf’s available time for Kpathsea was reduced, and I started taking overall care of it again, although I did not do any significant new development. In 2009, Taco Hoekwater implemented a major rearrangement to make the library suitable for use within the MetaPost -library (see <a href="#Programming-overview">Programming overview</a>). Also, for some years now, +library (see <a class="pxref" href="#Programming-overview">Programming overview</a>). Also, for some years now, Peter Breitenlohner has made many improvements to the infrastructure and kept it up-to-date with respect to the overall TeX Live build, where Kpathsea is now maintained. @@ -357,27 +352,27 @@ where Kpathsea is now maintained. <hr> </div> </div> -<div class="chapter" id="unixtex_002eftp"> -<div class="header"> +<div class="chapter-level-extent" id="unixtex_002eftp"> +<div class="nav-panel"> <p> Next: <a href="#Security" accesskey="n" rel="next">Security</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="unixtex_002eftp_003a-Obtaining-TeX"></span><h2 class="chapter">2 <samp>unixtex.ftp</samp>: Obtaining TeX</h2> +<h2 class="chapter" id="unixtex_002eftp_003a-Obtaining-TeX">2 <samp class="file">unixtex.ftp</samp>: Obtaining TeX</h2> -<span id="index-obtaining-TeX"></span> -<span id="index-retrieving-TeX"></span> +<a class="index-entry-id" id="index-obtaining-TeX"></a> +<a class="index-entry-id" id="index-retrieving-TeX"></a> -<span id="index-unixtex_002eftp"></span> -<span id="index-tug_002eorg"></span> -<span id="index-www_002etug_002eorg"></span> -<span id="index-ftp_002etug_002eorg"></span> +<a class="index-entry-id" id="index-unixtex_002eftp"></a> +<a class="index-entry-id" id="index-tug_002eorg"></a> +<a class="index-entry-id" id="index-www_002etug_002eorg"></a> +<a class="index-entry-id" id="index-ftp_002etug_002eorg"></a> <p>This -is <a href="ftp://tug.org/tex/unixtex.ftp">ftp://tug.org/tex/unixtex.ftp</a>, a.k.a. -<a href="https://tug.org/unixtex.ftp">https://tug.org/unixtex.ftp</a>, last updated 29 February 2020. -Email <a href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions. +is <a class="uref" href="ftp://tug.org/tex/unixtex.ftp">ftp://tug.org/tex/unixtex.ftp</a>, a.k.a. +<a class="uref" href="https://tug.org/unixtex.ftp">https://tug.org/unixtex.ftp</a>, last updated 29 February 2020. +Email <a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a> with comments or questions. </p> <p>The principal free TeX distribution for Unix-like systems is TeX -Live, on the web at <a href="http://tug.org/texlive">http://tug.org/texlive</a>. The pages there +Live, on the web at <a class="url" href="http://tug.org/texlive">http://tug.org/texlive</a>. The pages there describe many ways to acquire and/or build TeX, over the Internet or on physical media, both the sources and precompiled binaries for many systems, either standalone or as part of various operating system @@ -387,12 +382,12 @@ distributions. released as a separate packages. Their sources are now maintained as part of TeX Live. </p> -<span id="index-ftp_002ecs_002estanford_002eedu"></span> -<span id="index-tex_002eweb"></span> -<span id="index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by"></span> -<p>The host <tt>ftp.cs.stanford.edu</tt> is the original source for the files -for which Donald Knuth is directly responsible: <samp>tex.web</samp>, -<samp>plain.tex</samp>, etc. However, unless you want to undertake the +<a class="index-entry-id" id="index-ftp_002ecs_002estanford_002eedu"></a> +<a class="index-entry-id" id="index-tex_002eweb"></a> +<a class="index-entry-id" id="index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by"></a> +<p>The host <code class="t">ftp.cs.stanford.edu</code> is the original source for the files +for which Donald Knuth is directly responsible: <samp class="file">tex.web</samp>, +<samp class="file">plain.tex</samp>, etc. However, unless you want to undertake the project of building your TeX system from scratch, it is more reliable and less work to retrieve these files as part of a larger package. @@ -401,164 +396,164 @@ package. anything except what was created as part of Knuth’s original TeX, so do not rely on any other files available there being up-to-date. The best place to check for up-to-date files is CTAN (the -Comprehensive TeX Archive Network), <a href="https://ctan.org">https://ctan.org</a>. +Comprehensive TeX Archive Network), <a class="url" href="https://ctan.org">https://ctan.org</a>. </p> <hr> </div> -<div class="chapter" id="Security"> -<div class="header"> +<div class="chapter-level-extent" id="Security"> +<div class="nav-panel"> <p> -Next: <a href="#TeX-directory-structure" accesskey="n" rel="next">TeX directory structure</a>, Previous: <a href="#unixtex_002eftp" accesskey="p" rel="prev"><samp>unixtex.ftp</samp>: Obtaining TeX</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#TeX-directory-structure" accesskey="n" rel="next">TeX directory structure</a>, Previous: <a href="#unixtex_002eftp" accesskey="p" rel="prev"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Security-1"></span><h2 class="chapter">3 Security</h2> +<h2 class="chapter" id="Security-1">3 Security</h2> -<span id="index-security-considerations"></span> +<a class="index-entry-id" id="index-security-considerations"></a> <p>None of the programs in the TeX system require any special system privileges, so there’s no first-level security concern of people gaining illegitimate root access. </p> -<span id="index-trojan-horse-attack"></span> -<span id="index-_002erhosts_002c-writable-by-TeX"></span> +<a class="index-entry-id" id="index-trojan-horse-attack"></a> +<a class="index-entry-id" id="index-_002erhosts_002c-writable-by-TeX"></a> <p>A TeX document, however, can write to arbitrary files, e.g., -<samp>~/.rhosts</samp>, and thus an unwitting user who runs TeX on a random +<samp class="file">~/.rhosts</samp>, and thus an unwitting user who runs TeX on a random document is vulnerable to a trojan horse attack. This loophole is closed by default, but you can be permissive if you so desire in -<samp>texmf.cnf</samp>. See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite>Web2c</cite>. MetaPost has +<samp class="file">texmf.cnf</samp>. See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite class="cite">Web2c</cite>. MetaPost has the same issue. </p> <p>Dvips, Xdvi, and TeX can also execute shell commands under some -circumstances. To disable this, see the ‘<samp>-R</samp>’ option in <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Option-details">Option -details</a> in <cite>Dvips</cite>, the xdvi man page, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex -invocation</a> in <cite>Web2c</cite>, respectively. +circumstances. To disable this, see the ‘<samp class="samp">-R</samp>’ option in <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Option-details">Option +details</a> in <cite class="cite">Dvips</cite>, the xdvi man page, and <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex +invocation</a> in <cite class="cite">Web2c</cite>, respectively. </p> -<span id="index-local-cache-of-fonts"></span> -<span id="index-cache-of-fonts_002c-local"></span> +<a class="index-entry-id" id="index-local-cache-of-fonts"></a> +<a class="index-entry-id" id="index-cache-of-fonts_002c-local"></a> <p>Another security issue arises because it’s very useful—almost -necessary—to make arbitrary fonts on user demand with <code>mktexpk</code> +necessary—to make arbitrary fonts on user demand with <code class="code">mktexpk</code> and friends. Where do these files get installed? By default, the -<code>mktexpk</code> distributed with Kpathsea assumes a world-writable -<samp>/var/tmp</samp> directory; this is a simple and convenient approach, but +<code class="code">mktexpk</code> distributed with Kpathsea assumes a world-writable +<samp class="file">/var/tmp</samp> directory; this is a simple and convenient approach, but it may not suit your situation because it means that a local cache of fonts is created on every machine. </p> -<span id="index-globally-writable-directories"></span> +<a class="index-entry-id" id="index-globally-writable-directories"></a> <p>To avoid this duplication, many people consider a shared, globally writable font tree desirable, in spite of the potential security -problems. To do this you should change the value of <code>VARTEXFONTS</code> -in <samp>texmf.cnf</samp> to refer to some globally known directory. -See <a href="#mktex-configuration"><samp>mktex</samp> configuration</a>. +problems. To do this you should change the value of <code class="code">VARTEXFONTS</code> +in <samp class="file">texmf.cnf</samp> to refer to some globally known directory. +See <a class="xref" href="#mktex-configuration"><samp class="file">mktex</samp> configuration</a>. </p> -<span id="index-append_002donly-directories-and-mktexpk"></span> +<a class="index-entry-id" id="index-append_002donly-directories-and-mktexpk"></a> <p>The first restriction you can apply is to make newly-created directories -under <samp>texmf</samp> be append-only with an option in <samp>mktex.cnf</samp>. -See <a href="#mktex-configuration"><samp>mktex</samp> configuration</a>. +under <samp class="file">texmf</samp> be append-only with an option in <samp class="file">mktex.cnf</samp>. +See <a class="xref" href="#mktex-configuration"><samp class="file">mktex</samp> configuration</a>. </p> -<span id="index-group_002dwritable-directories"></span> -<span id="index-setgid-scripts"></span> +<a class="index-entry-id" id="index-group_002dwritable-directories"></a> +<a class="index-entry-id" id="index-setgid-scripts"></a> <p>Another approach is to establish a group (or user) for TeX files, -make the <samp>texmf</samp> tree writable only to that group (or user), and -make <code>mktexpk</code> et al. setgid to that group (or setuid to that +make the <samp class="file">texmf</samp> tree writable only to that group (or user), and +make <code class="code">mktexpk</code> et al. setgid to that group (or setuid to that user). Then users must invoke the scripts to install things. (If you’re worried about the inevitable security holes in scripts, then you could write a C wrapper to exec the script.) </p> -<span id="index-file-permissions"></span> -<span id="index-permissions_002c-file"></span> -<p>The <samp>mktex…</samp> scripts install files with the same read and +<a class="index-entry-id" id="index-file-permissions"></a> +<a class="index-entry-id" id="index-permissions_002c-file"></a> +<p>The <samp class="file">mktex…</samp> scripts install files with the same read and write permissions as the directory they are installed in. The executable, sgid, suid, and sticky bits are always cleared. </p> -<span id="index-directory-permissions"></span> -<span id="index-permissions_002c-directory"></span> -<p>Any directories created by the <samp>mktex…</samp> scripts have the +<a class="index-entry-id" id="index-directory-permissions"></a> +<a class="index-entry-id" id="index-permissions_002c-directory"></a> +<p>Any directories created by the <samp class="file">mktex…</samp> scripts have the same permissions as their parent directory, unless the -<code>appendonlydir</code> feature is used, in which case the sticky bit is +<code class="code">appendonlydir</code> feature is used, in which case the sticky bit is always set. </p> <hr> </div> -<div class="chapter" id="TeX-directory-structure"> -<div class="header"> +<div class="chapter-level-extent" id="TeX-directory-structure"> +<div class="nav-panel"> <p> Next: <a href="#Path-searching" accesskey="n" rel="next">Path searching</a>, Previous: <a href="#Security" accesskey="p" rel="prev">Security</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="TeX-directory-structure-1"></span><h2 class="chapter">4 TeX directory structure</h2> +<h2 class="chapter" id="TeX-directory-structure-1">4 TeX directory structure</h2> -<span id="index-TEXMF"></span> -<span id="index-TeX-directory-structure"></span> -<span id="index-directory-structure_002c-for-TeX-files"></span> -<span id="index-skeleton-TeX-directory"></span> -<span id="index-TDS"></span> +<a class="index-entry-id" id="index-TEXMF"></a> +<a class="index-entry-id" id="index-TeX-directory-structure"></a> +<a class="index-entry-id" id="index-directory-structure_002c-for-TeX-files"></a> +<a class="index-entry-id" id="index-skeleton-TeX-directory"></a> +<a class="index-entry-id" id="index-TDS"></a> <p>This section describes the default installation hierarchy of the distribution. It conforms to both the GNU coding standards and the TeX directory structure (TDS) standard. For rationale and further explanation, please see those documents. The GNU document is -available from <a href="https://gnu.org/prep/standards">https://gnu.org/prep/standards</a>. The TDS -document is available from <a href="https://ctan.org/pkg/tds">https://ctan.org/pkg/tds</a> -(see <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>). +available from <a class="url" href="https://gnu.org/prep/standards">https://gnu.org/prep/standards</a>. The TDS +document is available from <a class="url" href="https://ctan.org/pkg/tds">https://ctan.org/pkg/tds</a> +(see <a class="pxref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>). </p> <p>In short, here is a skeleton of the default directory structure, extracted from the TDS document: </p> <div class="example"> -<pre class="example"><var>prefix</var>/ <span class="roman">installation root (<samp>/usr/local</samp> by default)</span> - bin/ <span class="roman">executables</span> - man/ <span class="roman">man pages</span> - include/ <span class="roman">C header files</span> - info/ <span class="roman">GNU info files</span> - lib/ <span class="roman">libraries (<samp>libkpathsea.*</samp>)</span> - share/ <span class="roman">architecture-independent files</span> - texmf/ <span class="roman">TDS root</span> - bibtex/ <span class="roman">BibTeX input files</span> - bib/ <span class="roman">BibTeX databases</span> - base/ <span class="roman">base distribution (e.g., ‘<samp>xampl.bib</samp>’)</span> - misc/ <span class="roman">single-file databases</span> - <var>pkg</var>/ <span class="roman">name of a package</span> - bst/ <span class="roman">BibTeX style files</span> - base/ <span class="roman">base distribution (e.g., ‘<samp>plain.bst</samp>’, ‘<samp>acm.bst</samp>’)</span> - misc/ <span class="roman">single-file styles</span> - <var>pkg</var>/ <span class="roman">name of a package</span> - doc/ <span class="roman">additional documentation</span> - dvips/ <span class="roman">‘<samp>.pro</samp>’, ‘<samp>.ps</samp>’, ‘<samp>psfonts.map</samp>’</span> - fonts/ <span class="roman">font-related files</span> - <var>type</var>/ <span class="roman">file type (e.g., ‘<samp>tfm</samp>’, ‘<samp>pk</samp>’)</span> - <var>mode</var>/ <span class="roman">type of output device (types ‘<samp>pk</samp>’ and ‘<samp>gf</samp>’ only)</span> - <var>supplier</var>/ <span class="roman">name of a font supplier (e.g., ‘<samp>public</samp>’)</span> - <var>typeface</var>/ <span class="roman">name of a typeface (e.g., ‘<samp>cm</samp>’)</span> - dpi<var>nnn</var>/ <span class="roman">font resolution (types ‘<samp>pk</samp>’ and ‘<samp>gf</samp>’ only)</span> - metafont/ <span class="roman">Metafont (non-font) input files</span> - base/ <span class="roman">base distribution (e.g., ‘<samp>plain.mf</samp>’)</span> - misc/ <span class="roman">single-file packages (e.g., ‘<samp>modes.mf</samp>’)</span> - <var>pkg</var>/ <span class="roman">name of a package (e.g., ‘<samp>mfpic</samp>’)</span> - metapost/ <span class="roman">MetaPost input files</span> - base/ <span class="roman">base distribution (e.g., ‘<samp>plain.mp</samp>’)</span> - misc/ <span class="roman">single-file packages</span> - <var>pkg</var>/ <span class="roman">name of a package</span> - support/ <span class="roman">support files for MetaPost-related utilities (e.g., ‘<samp>trfonts.map</samp>’)</span> - mft/ <span class="roman">‘<samp>MFT</samp>’ inputs (e.g., ‘<samp>plain.mft</samp>’)</span> - tex/ <span class="roman">TeX input files</span> - <var>format</var>/ <span class="roman">name of a format (e.g., ‘<samp>plain</samp>’)</span> - base/ <span class="roman">base distribution for <var>format</var> (e.g., ‘<samp>plain.tex</samp>’)</span> - misc/ <span class="roman">single-file packages (e.g., ‘<samp>webmac.tex</samp>’)</span> - local/ <span class="roman">local additions to or local configuration files for <var>format</var></span> - <var>pkg</var>/ <span class="roman">name of a package (e.g., ‘<samp>graphics</samp>’, ‘<samp>mfnfss</samp>’)</span> - generic/ <span class="roman">format-independent packages</span> - hyphen/ <span class="roman">hyphenation patterns (e.g., ‘<samp>hyphen.tex</samp>’)</span> - images/ <span class="roman">image input files (e.g., Encapsulated PostScript)</span> - misc/ <span class="roman">single-file format-independent packages (e.g., ‘<samp>null.tex</samp>’).</span> - <var>pkg</var>/ <span class="roman">name of a package (e.g., ‘<samp>babel</samp>’)</span> - web2c/ <span class="roman">implementation-dependent files (<samp>.pool</samp>, <samp>.fmt</samp>, <samp>texmf.cnf</samp>, etc.)</span> +<pre class="example-preformatted"><var class="var">prefix</var>/ <span class="r">installation root (<samp class="file">/usr/local</samp> by default)</span> + bin/ <span class="r">executables</span> + man/ <span class="r">man pages</span> + include/ <span class="r">C header files</span> + info/ <span class="r">GNU info files</span> + lib/ <span class="r">libraries (<samp class="file">libkpathsea.*</samp>)</span> + share/ <span class="r">architecture-independent files</span> + texmf/ <span class="r">TDS root</span> + bibtex/ <span class="r">BibTeX input files</span> + bib/ <span class="r">BibTeX databases</span> + base/ <span class="r">base distribution (e.g., ‘<samp class="samp">xampl.bib</samp>’)</span> + misc/ <span class="r">single-file databases</span> + <var class="var">pkg</var>/ <span class="r">name of a package</span> + bst/ <span class="r">BibTeX style files</span> + base/ <span class="r">base distribution (e.g., ‘<samp class="samp">plain.bst</samp>’, ‘<samp class="samp">acm.bst</samp>’)</span> + misc/ <span class="r">single-file styles</span> + <var class="var">pkg</var>/ <span class="r">name of a package</span> + doc/ <span class="r">additional documentation</span> + dvips/ <span class="r">‘<samp class="samp">.pro</samp>’, ‘<samp class="samp">.ps</samp>’, ‘<samp class="samp">psfonts.map</samp>’</span> + fonts/ <span class="r">font-related files</span> + <var class="var">type</var>/ <span class="r">file type (e.g., ‘<samp class="samp">tfm</samp>’, ‘<samp class="samp">pk</samp>’)</span> + <var class="var">mode</var>/ <span class="r">type of output device (types ‘<samp class="samp">pk</samp>’ and ‘<samp class="samp">gf</samp>’ only)</span> + <var class="var">supplier</var>/ <span class="r">name of a font supplier (e.g., ‘<samp class="samp">public</samp>’)</span> + <var class="var">typeface</var>/ <span class="r">name of a typeface (e.g., ‘<samp class="samp">cm</samp>’)</span> + dpi<var class="var">nnn</var>/ <span class="r">font resolution (types ‘<samp class="samp">pk</samp>’ and ‘<samp class="samp">gf</samp>’ only)</span> + metafont/ <span class="r">Metafont (non-font) input files</span> + base/ <span class="r">base distribution (e.g., ‘<samp class="samp">plain.mf</samp>’)</span> + misc/ <span class="r">single-file packages (e.g., ‘<samp class="samp">modes.mf</samp>’)</span> + <var class="var">pkg</var>/ <span class="r">name of a package (e.g., ‘<samp class="samp">mfpic</samp>’)</span> + metapost/ <span class="r">MetaPost input files</span> + base/ <span class="r">base distribution (e.g., ‘<samp class="samp">plain.mp</samp>’)</span> + misc/ <span class="r">single-file packages</span> + <var class="var">pkg</var>/ <span class="r">name of a package</span> + support/ <span class="r">support files for MetaPost-related utilities (e.g., ‘<samp class="samp">trfonts.map</samp>’)</span> + mft/ <span class="r">‘<samp class="samp">MFT</samp>’ inputs (e.g., ‘<samp class="samp">plain.mft</samp>’)</span> + tex/ <span class="r">TeX input files</span> + <var class="var">format</var>/ <span class="r">name of a format (e.g., ‘<samp class="samp">plain</samp>’)</span> + base/ <span class="r">base distribution for <var class="var">format</var> (e.g., ‘<samp class="samp">plain.tex</samp>’)</span> + misc/ <span class="r">single-file packages (e.g., ‘<samp class="samp">webmac.tex</samp>’)</span> + local/ <span class="r">local additions to or local configuration files for <var class="var">format</var></span> + <var class="var">pkg</var>/ <span class="r">name of a package (e.g., ‘<samp class="samp">graphics</samp>’, ‘<samp class="samp">mfnfss</samp>’)</span> + generic/ <span class="r">format-independent packages</span> + hyphen/ <span class="r">hyphenation patterns (e.g., ‘<samp class="samp">hyphen.tex</samp>’)</span> + images/ <span class="r">image input files (e.g., Encapsulated PostScript)</span> + misc/ <span class="r">single-file format-independent packages (e.g., ‘<samp class="samp">null.tex</samp>’).</span> + <var class="var">pkg</var>/ <span class="r">name of a package (e.g., ‘<samp class="samp">babel</samp>’)</span> + web2c/ <span class="r">implementation-dependent files (<samp class="file">.pool</samp>, <samp class="file">.fmt</samp>, <samp class="file">texmf.cnf</samp>, etc.)</span> </pre></div> <p>Some concrete examples for most file types: </p> <div class="example"> -<pre class="example">/usr/local/bin/tex +<pre class="example-preformatted">/usr/local/bin/tex /usr/local/man/man1/xdvi.1 /usr/local/info/kpathsea.info /usr/local/lib/libkpathsea.a @@ -579,91 +574,91 @@ extracted from the TDS document: <hr> </div> -<div class="chapter" id="Path-searching"> -<div class="header"> +<div class="chapter-level-extent" id="Path-searching"> +<div class="nav-panel"> <p> Next: <a href="#TeX-support" accesskey="n" rel="next">TeX support</a>, Previous: <a href="#TeX-directory-structure" accesskey="p" rel="prev">TeX directory structure</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Path-searching-1"></span><h2 class="chapter">5 Path searching</h2> +<h2 class="chapter" id="Path-searching-1">5 Path searching</h2> -<span id="index-path-searching"></span> +<a class="index-entry-id" id="index-path-searching"></a> <p>This chapter describes the generic path searching mechanism Kpathsea provides. For information about searching for particular file types (e.g., TeX fonts), see the next chapter. </p> -<span id="index-translations_002c-of-path-searching-description"></span> +<a class="index-entry-id" id="index-translations_002c-of-path-searching-description"></a> <p>This section, with minor differences, has been translated into several other languages (Chinese, Spanish, Russian, Japanese, French, German, …) as part of the TeX Live guide; see -<a href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a> for links. +<a class="url" href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a> for links. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Searching-overview" accesskey="1">Searching overview</a></li> <li><a href="#Path-sources" accesskey="2">Path sources</a></li> <li><a href="#Path-expansion" accesskey="3">Path expansion</a></li> <li><a href="#Casefolding-search" accesskey="4">Casefolding search</a></li> -<li><a href="#Filename-database" accesskey="5">Filename database (<code>ls-R</code>)</a></li> -<li><a href="#Invoking-kpsewhich" accesskey="6"><code>kpsewhich</code>: Standalone path searching</a></li> +<li><a href="#Filename-database" accesskey="5">Filename database (<code class="code">ls-R</code>)</a></li> +<li><a href="#Invoking-kpsewhich" accesskey="6"><code class="code">kpsewhich</code>: Standalone path searching</a></li> </ul> <hr> -<div class="section" id="Searching-overview"> -<div class="header"> +<div class="section-level-extent" id="Searching-overview"> +<div class="nav-panel"> <p> Next: <a href="#Path-sources" accesskey="n" rel="next">Path sources</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Searching-overview-1"></span><h3 class="section">5.1 Searching overview</h3> +<h3 class="section" id="Searching-overview-1">5.1 Searching overview</h3> -<span id="index-searching-overview"></span> -<span id="index-path-searching_002c-overview"></span> -<span id="index-overview-of-path-searching"></span> +<a class="index-entry-id" id="index-searching-overview"></a> +<a class="index-entry-id" id="index-path-searching_002c-overview"></a> +<a class="index-entry-id" id="index-overview-of-path-searching"></a> -<span id="index-search-path_002c-defined"></span> -<p>A <em>search path</em> is a colon-separated list of <em>path elements</em>, +<a class="index-entry-id" id="index-search-path_002c-defined"></a> +<p>A <em class="dfn">search path</em> is a colon-separated list of <em class="dfn">path elements</em>, which are directory names with a few extra frills. A search path can come from (a combination of) many sources; see below. To look up a file -‘<samp>foo</samp>’ along a path ‘<samp>.:/dir</samp>’, Kpathsea checks each element of -the path in turn: first <samp>./foo</samp>, then <samp>/dir/foo</samp>, returning +‘<samp class="samp">foo</samp>’ along a path ‘<samp class="samp">.:/dir</samp>’, Kpathsea checks each element of +the path in turn: first <samp class="file">./foo</samp>, then <samp class="file">/dir/foo</samp>, returning the first match (or possibly all matches). </p> -<span id="index-magic-characters"></span> -<span id="index-_003a-may-not-be-_003a"></span> -<span id="index-_002f-may-not-be-_002f"></span> -<p>The “colon” and “slash” mentioned here aren’t necessarily ‘<samp>:</samp>’ -and ‘<samp>/</samp>’ on non-Unix systems. Kpathsea tries to adapt to other +<a class="index-entry-id" id="index-magic-characters"></a> +<a class="index-entry-id" id="index-_003a-may-not-be-_003a"></a> +<a class="index-entry-id" id="index-_002f-may-not-be-_002f"></a> +<p>The “colon” and “slash” mentioned here aren’t necessarily ‘<samp class="samp">:</samp>’ +and ‘<samp class="samp">/</samp>’ on non-Unix systems. Kpathsea tries to adapt to other operating systems’ conventions. </p> -<span id="index-database-search"></span> -<span id="index-searching-the-database"></span> -<p>To check a particular path element <var>e</var>, Kpathsea first sees if a -prebuilt database (see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>) applies to <var>e</var>, i.e., -if the database is in a directory that is a prefix of <var>e</var>. If so, +<a class="index-entry-id" id="index-database-search"></a> +<a class="index-entry-id" id="index-searching-the-database"></a> +<p>To check a particular path element <var class="var">e</var>, Kpathsea first sees if a +prebuilt database (see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>) applies to <var class="var">e</var>, i.e., +if the database is in a directory that is a prefix of <var class="var">e</var>. If so, the path specification is matched against the contents of the database. </p> -<span id="index-floating-directories"></span> -<span id="index-filesystem-search"></span> -<span id="index-disk-search"></span> -<span id="index-searching-the-disk"></span> +<a class="index-entry-id" id="index-floating-directories"></a> +<a class="index-entry-id" id="index-filesystem-search"></a> +<a class="index-entry-id" id="index-disk-search"></a> +<a class="index-entry-id" id="index-searching-the-disk"></a> <p>If the database does not exist, or does not apply to this path element, or contains no matches, the filesystem is searched (if this was not -forbidden by the specification with ‘<samp>!!</samp>’ and if the file being +forbidden by the specification with ‘<samp class="samp">!!</samp>’ and if the file being searched for must exist). Kpathsea constructs the list of directories that correspond to this path element, and then checks in each for the file being searched for. (To help speed future lookups of files in the same directory, the directory in which a file is found is floated to the top of the directory list.) </p> -<span id="index-must-exist"></span> -<span id="index-VF-files_002c-not-found"></span> -<span id="index-cmr10_002evf"></span> -<span id="index-_005copenin"></span> +<a class="index-entry-id" id="index-must-exist"></a> +<a class="index-entry-id" id="index-VF-files_002c-not-found"></a> +<a class="index-entry-id" id="index-cmr10_002evf"></a> +<a class="index-entry-id" id="index-_005copenin"></a> <p>The “file must exist” condition comes into play with VF files and -input files read by the TeX ‘<samp>\openin</samp>’ command. These files -might very well not exist (consider <samp>cmr10.vf</samp>), and so it would +input files read by the TeX ‘<samp class="samp">\openin</samp>’ command. These files +might very well not exist (consider <samp class="file">cmr10.vf</samp>), and so it would be wrong to search the disk for them. Therefore, if you fail to -update <samp>ls-R</samp> when you install a new VF file, it will not be +update <samp class="file">ls-R</samp> when you install a new VF file, it will not be found. </p> <p>Each path element is checked in turn: first the database, then the @@ -675,196 +670,196 @@ never needed on a particular run. <p>On Unix-like systems, if no match is found by any of the above, and the path element allows checking the filesystem (per the above), a final check is made for a case-insensitive match. Thus, looking for a -name like ‘<samp>./FooBar.TeX</samp>’ will match a file ‘<samp>./foobar.tex</samp>’, -and vice versa. This is not done on Windows. See <a href="#Casefolding-search">Casefolding search</a>. +name like ‘<samp class="samp">./FooBar.TeX</samp>’ will match a file ‘<samp class="samp">./foobar.tex</samp>’, +and vice versa. This is not done on Windows. See <a class="xref" href="#Casefolding-search">Casefolding search</a>. </p> -<span id="index-expansion_002c-path-element"></span> +<a class="index-entry-id" id="index-expansion_002c-path-element"></a> <p>Although the simplest and most common path element is a directory name, Kpathsea supports additional features in search paths: layered default values, environment variable names, config file values, users’ home directories, and recursive subdirectory searching. Thus, we say that -Kpathsea <em>expands</em> a path element, meaning transforming all the +Kpathsea <em class="dfn">expands</em> a path element, meaning transforming all the magic specifications into the basic directory name or names. This process is described in the sections below. It happens in the same order as the sections. </p> -<span id="index-absolute-filenames"></span> -<span id="index-relative-filenames"></span> -<span id="index-explicitly-relative-filenames"></span> -<span id="index-filenames_002c-absolute-or-explicitly-relative"></span> +<a class="index-entry-id" id="index-absolute-filenames"></a> +<a class="index-entry-id" id="index-relative-filenames"></a> +<a class="index-entry-id" id="index-explicitly-relative-filenames"></a> +<a class="index-entry-id" id="index-filenames_002c-absolute-or-explicitly-relative"></a> <p>Exception to all of the above: If the filename being searched for is -absolute or explicitly relative, i.e., starts with ‘<samp>/</samp>’ or ‘<samp>./</samp>’ -or ‘<samp>../</samp>’, Kpathsea simply checks if that file exists, with a +absolute or explicitly relative, i.e., starts with ‘<samp class="samp">/</samp>’ or ‘<samp class="samp">./</samp>’ +or ‘<samp class="samp">../</samp>’, Kpathsea simply checks if that file exists, with a fallback to a casefolding match if needed and enabled, as described above. </p> -<span id="index-permission-denied"></span> -<span id="index-unreadable-files"></span> -<span id="index-access-warnings"></span> -<span id="index-warnings_002c-file-access"></span> -<span id="index-lost_002bfound-directory"></span> -<span id="index-TEX_005fHUSH"></span> +<a class="index-entry-id" id="index-permission-denied"></a> +<a class="index-entry-id" id="index-unreadable-files"></a> +<a class="index-entry-id" id="index-access-warnings"></a> +<a class="index-entry-id" id="index-warnings_002c-file-access"></a> +<a class="index-entry-id" id="index-lost_002bfound-directory"></a> +<a class="index-entry-id" id="index-TEX_005fHUSH"></a> <p>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 any read permission (for -example, a <samp>lost+found</samp> directory). If you prefer not to see -these warnings, include the value ‘<samp>readable</samp>’ in the -<code>TEX_HUSH</code> environment variable or config file value. +example, a <samp class="file">lost+found</samp> directory). If you prefer not to see +these warnings, include the value ‘<samp class="samp">readable</samp>’ in the +<code class="code">TEX_HUSH</code> environment variable or config file value. </p> <p>This generic path searching algorithm is implemented in -<samp>kpathsea/pathsearch.c</samp>. It is employed by a higher-level -algorithm when searching for a file of a particular type (see <a href="#File-lookup">File lookup</a>, and <a href="#Glyph-lookup">Glyph lookup</a>). +<samp class="file">kpathsea/pathsearch.c</samp>. It is employed by a higher-level +algorithm when searching for a file of a particular type (see <a class="pxref" href="#File-lookup">File lookup</a>, and <a class="ref" href="#Glyph-lookup">Glyph lookup</a>). </p> <hr> </div> -<div class="section" id="Path-sources"> -<div class="header"> +<div class="section-level-extent" id="Path-sources"> +<div class="nav-panel"> <p> Next: <a href="#Path-expansion" accesskey="n" rel="next">Path expansion</a>, Previous: <a href="#Searching-overview" accesskey="p" rel="prev">Searching overview</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Path-sources-1"></span><h3 class="section">5.2 Path sources</h3> +<h3 class="section" id="Path-sources-1">5.2 Path sources</h3> -<span id="index-path-sources"></span> -<span id="index-sources-for-search-paths"></span> +<a class="index-entry-id" id="index-path-sources"></a> +<a class="index-entry-id" id="index-sources-for-search-paths"></a> <p>A search path or other configuration value can come from many sources. In the order in which Kpathsea looks for them: </p> -<ol> -<li> <span id="index-_002d_002dcnf_002dline_002c-source-for-path"></span> -A command-line option such as <code>--cnf-line</code>, available in -<samp>kpsewhich</samp> and most TeX engines. See <a href="#Path-searching-options">Path searching options</a>. +<ol class="enumerate"> +<li> <a class="index-entry-id" id="index-_002d_002dcnf_002dline_002c-source-for-path"></a> +A command-line option such as <code class="code">--cnf-line</code>, available in +<samp class="file">kpsewhich</samp> and most TeX engines. See <a class="xref" href="#Path-searching-options">Path searching options</a>. -<span id="index-environment-variable_002c-source-for-path"></span> -<p>A user-set environment variable, e.g., <code>TEXINPUTS</code>. +<a class="index-entry-id" id="index-environment-variable_002c-source-for-path"></a> +<p>A user-set environment variable, e.g., <code class="code">TEXINPUTS</code>. Environment variables with an underscore and the program name appended -override; for example, <code>TEXINPUTS_latex</code> overrides <code>TEXINPUTS</code> -if the program being run is named ‘<samp>latex</samp>’. +override; for example, <code class="code">TEXINPUTS_latex</code> overrides <code class="code">TEXINPUTS</code> +if the program being run is named ‘<samp class="samp">latex</samp>’. </p> -</li><li> A program-specific configuration file, e.g., an ‘<samp>S /a:/b</samp>’ line in -Dvips’ <samp>config.ps</samp> (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config files</a> in <cite>Dvips</cite>). +</li><li> A program-specific configuration file, e.g., an ‘<samp class="samp">S /a:/b</samp>’ line in +Dvips’ <samp class="file">config.ps</samp> (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config files</a> in <cite class="cite">Dvips</cite>). -</li><li> <span id="index-configuration-file_002c-source-for-path"></span> -<span id="index-Kpathsea-config-file_002c-source-for-path"></span> -<span id="index-texmf_002ecnf_002c-source-for-path"></span> -A line in a Kpathsea configuration file <samp>texmf.cnf</samp>, e.g., -‘<samp>TEXINPUTS=/c:/d</samp>’ (see below). +</li><li> <a class="index-entry-id" id="index-configuration-file_002c-source-for-path"></a> +<a class="index-entry-id" id="index-Kpathsea-config-file_002c-source-for-path"></a> +<a class="index-entry-id" id="index-texmf_002ecnf_002c-source-for-path"></a> +A line in a Kpathsea configuration file <samp class="file">texmf.cnf</samp>, e.g., +‘<samp class="samp">TEXINPUTS=/c:/d</samp>’ (see below). -</li><li> <span id="index-compilation-value_002c-source-for-path"></span> -The compile-time default (specified in <samp>kpathsea/paths.h</samp>). +</li><li> <a class="index-entry-id" id="index-compilation-value_002c-source-for-path"></a> +The compile-time default (specified in <samp class="file">kpathsea/paths.h</samp>). </li></ol> <p>You can see each of these values for a given search path by using the -debugging options (see <a href="#Debugging">Debugging</a>). +debugging options (see <a class="pxref" href="#Debugging">Debugging</a>). </p> -<p>These sources may be combined via default expansion (see <a href="#Default-expansion">Default expansion</a>). +<p>These sources may be combined via default expansion (see <a class="pxref" href="#Default-expansion">Default expansion</a>). </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Config-files" accesskey="1">Config files</a></li> </ul> <hr> -<div class="subsection" id="Config-files"> -<div class="header"> +<div class="subsection-level-extent" id="Config-files"> +<div class="nav-panel"> <p> Up: <a href="#Path-sources" accesskey="u" rel="up">Path sources</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Config-files-1"></span><h4 class="subsection">5.2.1 Config files</h4> +<h4 class="subsection" id="Config-files-1">5.2.1 Config files</h4> -<span id="index-config-files"></span> -<span id="index-texmf_002ecnf_002c-definition-for"></span> +<a class="index-entry-id" id="index-config-files"></a> +<a class="index-entry-id" id="index-texmf_002ecnf_002c-definition-for"></a> -<span id="index-runtime-configuration-files"></span> -<span id="index-TEXMFCNF"></span> -<p>As mentioned above, Kpathsea reads <em>runtime configuration files</em> -named <samp>texmf.cnf</samp> for search path and other definitions. The +<a class="index-entry-id" id="index-runtime-configuration-files"></a> +<a class="index-entry-id" id="index-TEXMFCNF"></a> +<p>As mentioned above, Kpathsea reads <em class="dfn">runtime configuration files</em> +named <samp class="file">texmf.cnf</samp> for search path and other definitions. The search path used to look for these configuration files is named -<code>TEXMFCNF</code>, and is constructed in the usual way, as described +<code class="code">TEXMFCNF</code>, and is constructed in the usual way, as described above, except that configuration files cannot be used to define the -path, naturally; also, an <samp>ls-R</samp> database is not used to search for +path, naturally; also, an <samp class="file">ls-R</samp> database is not used to search for them. </p> -<p>Kpathsea reads <em>all</em> <samp>texmf.cnf</samp> files in the search path, not +<p>Kpathsea reads <em class="emph">all</em> <samp class="file">texmf.cnf</samp> files in the search path, not just the first one found; definitions in earlier files override those in -later files. Thus, if the search path is ‘<samp>.:$TEXMF</samp>’, values from -<samp>./texmf.cnf</samp> override those from <samp>$TEXMF/texmf.cnf</samp>. +later files. Thus, if the search path is ‘<samp class="samp">.:$TEXMF</samp>’, values from +<samp class="file">./texmf.cnf</samp> override those from <samp class="file">$TEXMF/texmf.cnf</samp>. </p> -<span id="index-KPATHSEA_005fWARNING"></span> -<span id="index-warning_002c-about-missing-texmf_002ecnf"></span> -<span id="index-texmf_002ecnf-missing_002c-warning-about"></span> -<p>If Kpathsea cannot find any <samp>texmf.cnf</samp> file, it reports a +<a class="index-entry-id" id="index-KPATHSEA_005fWARNING"></a> +<a class="index-entry-id" id="index-warning_002c-about-missing-texmf_002ecnf"></a> +<a class="index-entry-id" id="index-texmf_002ecnf-missing_002c-warning-about"></a> +<p>If Kpathsea cannot find any <samp class="file">texmf.cnf</samp> file, it reports a warning including all the directories it checked. If you don’t want to see this warning, set the environment variable -<code>KPATHSEA_WARNING</code> to the single character ‘<samp>0</samp>’ (zero, not +<code class="env">KPATHSEA_WARNING</code> to the single character ‘<samp class="samp">0</samp>’ (zero, not oh). </p> <p>While (or instead of) reading this description, you may find it helpful -to look at the distributed <samp>texmf.cnf</samp>, which uses or at least -mentions most features. The format of <samp>texmf.cnf</samp> files follows: +to look at the distributed <samp class="file">texmf.cnf</samp>, which uses or at least +mentions most features. The format of <samp class="file">texmf.cnf</samp> files follows: </p> -<ul> -<li> <span id="index-comments_002c-in-texmf_002ecnf"></span> -Comments start with ‘<samp>%</samp>’ or ‘<samp>#</samp>’, either at the beginning of a +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-comments_002c-in-texmf_002ecnf"></a> +Comments start with ‘<samp class="samp">%</samp>’ or ‘<samp class="samp">#</samp>’, either at the beginning of a line or preceded by whitespace, and continue to the end of the line. That is, similar to most shells, a comment character in the “middle” of a value does not start a comment. Examples: <div class="example"> -<pre class="example">% this is a comment +<pre class="example-preformatted">% this is a comment var = a%b % but the value of var will be "a%b" </pre></div> -</li><li> <span id="index-blank-lines_002c-in-texmf_002ecnf"></span> +</li><li><a class="index-entry-id" id="index-blank-lines_002c-in-texmf_002ecnf"></a> Blank lines are ignored. -</li><li> <span id="index-backslash_002dnewline"></span> -<span id="index-continuation-character"></span> -<span id="index-whitespace_002c-not-ignored-on-continuation-lines"></span> -<span id="index-_005c_002c-line-continuation-in-texmf_002ecnf"></span> -A ‘<samp>\</samp>’ at the end of a line acts as a continuation character, i.e., +</li><li><a class="index-entry-id" id="index-backslash_002dnewline"></a> +<a class="index-entry-id" id="index-continuation-character"></a> +<a class="index-entry-id" id="index-whitespace_002c-not-ignored-on-continuation-lines"></a> +<a class="index-entry-id" id="index-_005c_002c-line-continuation-in-texmf_002ecnf"></a> +A ‘<samp class="samp">\</samp>’ at the end of a line acts as a continuation character, i.e., the next line is appended. Whitespace at the beginning of continuation lines is not ignored. -</li><li> Each remaining line will look like: +</li><li>Each remaining line will look like: <div class="example"> -<pre class="example"><var>variable</var> <span class="roman">[</span>. <var>progname</var><span class="roman">]</span> <span class="roman">[</span>=<span class="roman">]</span> <var>value</var> +<pre class="example-preformatted"><var class="var">variable</var> <span class="r">[</span>. <var class="var">progname</var><span class="r">]</span> <span class="r">[</span>=<span class="r">]</span> <var class="var">value</var> </pre></div> -<p>where the ‘<samp>=</samp>’ and surrounding whitespace is optional. +<p>where the ‘<samp class="samp">=</samp>’ and surrounding whitespace is optional. </p> -</li><li> <span id="index-identifiers_002c-characters-valid-in"></span> -The <var>variable</var> name may contain any character other than whitespace, -‘<samp>=</samp>’, or ‘<samp>.</samp>’, but sticking to ‘<samp>A-Za-z_</samp>’ is safest. +</li><li><a class="index-entry-id" id="index-identifiers_002c-characters-valid-in"></a> +The <var class="var">variable</var> name may contain any character other than whitespace, +‘<samp class="samp">=</samp>’, or ‘<samp class="samp">.</samp>’, but sticking to ‘<samp class="samp">A-Za-z_</samp>’ is safest. -</li><li> <span id="index-_002eprogname-qualifier-in-texmf_002ecnf"></span> -If ‘<samp>.<var>progname</var></samp>’ is present (preceding spaces are +</li><li><a class="index-entry-id" id="index-_002eprogname-qualifier-in-texmf_002ecnf"></a> +If ‘<samp class="samp">.<var class="var">progname</var></samp>’ is present (preceding spaces are ignored), the definition only applies if the program that is running -is named (i.e., the last component of <code>argv[0]</code> is) -<var>progname</var> or <samp><var>progname</var>.{exe,bat,cmd,...}</samp>. Most +is named (i.e., the last component of <code class="code">argv[0]</code> is) +<var class="var">progname</var> or <samp class="file"><var class="var">progname</var>.{exe,bat,cmd,...}</samp>. Most notably, this allows different flavors of TeX to have different -search paths. The <var>progname</var> value is used literally, without +search paths. The <var class="var">progname</var> value is used literally, without variable or other expansions. -</li><li> <span id="index-right_002dhand-side-of-variable-assignments"></span> -Considered as strings, <var>value</var> may contain any character. -However, in practice most <samp>texmf.cnf</samp> values are related to path +</li><li><a class="index-entry-id" id="index-right_002dhand-side-of-variable-assignments"></a> +Considered as strings, <var class="var">value</var> may contain any character. +However, in practice most <samp class="file">texmf.cnf</samp> values are related to path expansion, and since various special characters are used in expansion, such as braces and commas, they cannot be used in directory names. -<p>The ‘<samp>$<var>var</var>.<var>prog</var></samp>’ feature is not available on the +<p>The ‘<samp class="samp">$<var class="var">var</var>.<var class="var">prog</var></samp>’ feature is not available on the right-hand side; instead, you must use an additional variable (see below for example). </p> -<span id="index-_003b-translated-to-_003a-in-texmf_002ecnf"></span> -<p>A ‘<samp>;</samp>’ in <var>value</var> is translated to ‘<samp>:</samp>’ if running under -Unix, in order to have a single <samp>texmf.cnf</samp> that can support both +<a class="index-entry-id" id="index-_003b-translated-to-_003a-in-texmf_002ecnf"></a> +<p>A ‘<samp class="samp">;</samp>’ in <var class="var">value</var> is translated to ‘<samp class="samp">:</samp>’ if running under +Unix, in order to have a single <samp class="file">texmf.cnf</samp> that can support both Unix and Windows systems. This translation happens with any value, not -just search paths, but fortunately in practice ‘<samp>;</samp>’ is not needed +just search paths, but fortunately in practice ‘<samp class="samp">;</samp>’ is not needed in other values. </p> -</li><li> All definitions are read before anything is expanded, so you can +</li><li>All definitions are read before anything is expanded, so you can use variables before they are defined (like Make, unlike most other programs). </li></ul> @@ -873,7 +868,7 @@ programs). these points: </p> <div class="example"> -<pre class="example">% TeX input files -- i.e., anything to be found by \input or \openin ... +<pre class="example-preformatted">% TeX input files -- i.e., anything to be found by \input or \openin ... latex209_inputs = .:$TEXMF/tex/latex209//:$TEXMF/tex// latex2e_inputs = .:$TEXMF/tex/latex//:$TEXMF/tex// TEXINPUTS = .:$TEXMF/tex// @@ -882,79 +877,79 @@ TEXINPUTS.latex2e = $latex2e_inputs TEXINPUTS.latex = $latex2e_inputs </pre></div> -<span id="index-_003d-omitted-in-texmf_002ecnf-and-misparsing"></span> -<p>The combination of spaces being ignored before the <code>.</code> of a -program name qualifer and the optional ‘<samp>=</samp>’ for the assignment has -an unexpected consequence: if the value begins with a literal ‘<samp>.</samp>’ -and the ‘<samp>=</samp>’ is omitted, the intended value is interpreted as a -program name. For example, a line <code>var .;/some/path</code> is taken as -an empty value for <code>var</code> running under the program named -‘<samp>;/some/path</samp>’. To diagnose this, Kpathsea warns if the program +<a class="index-entry-id" id="index-_003d-omitted-in-texmf_002ecnf-and-misparsing"></a> +<p>The combination of spaces being ignored before the <code class="code">.</code> of a +program name qualifer and the optional ‘<samp class="samp">=</samp>’ for the assignment has +an unexpected consequence: if the value begins with a literal ‘<samp class="samp">.</samp>’ +and the ‘<samp class="samp">=</samp>’ is omitted, the intended value is interpreted as a +program name. For example, a line <code class="code">var .;/some/path</code> is taken as +an empty value for <code class="code">var</code> running under the program named +‘<samp class="samp">;/some/path</samp>’. To diagnose this, Kpathsea warns if the program name contains a path separator or other special character. The -simplest way to avoid the problem is to use the <code>=</code>. +simplest way to avoid the problem is to use the <code class="code">=</code>. </p> <p>Exactly when a character will be considered special or act as itself depends on the context in which it is used. The rules are inherent in the multiple levels of interpretation of the configuration (parsing, expansion, search, …) and so cannot be concisely stated, unfortunately. There is no general escape mechanism; in particular, -‘<samp>\</samp>’ is not an “escape character” in <samp>texmf.cnf</samp> files. +‘<samp class="samp">\</samp>’ is not an “escape character” in <samp class="file">texmf.cnf</samp> files. When it comes choosing directory names for installation, it is safest to avoid them all. </p> -<span id="index-cnf_002ec"></span> -<p>The implementation of all this is in <samp>kpathsea/cnf.c</samp>. +<a class="index-entry-id" id="index-cnf_002ec"></a> +<p>The implementation of all this is in <samp class="file">kpathsea/cnf.c</samp>. </p> <hr> </div> </div> -<div class="section" id="Path-expansion"> -<div class="header"> +<div class="section-level-extent" id="Path-expansion"> +<div class="nav-panel"> <p> Next: <a href="#Casefolding-search" accesskey="n" rel="next">Casefolding search</a>, Previous: <a href="#Path-sources" accesskey="p" rel="prev">Path sources</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Path-expansion-1"></span><h3 class="section">5.3 Path expansion</h3> +<h3 class="section" id="Path-expansion-1">5.3 Path expansion</h3> -<span id="index-path-expansion"></span> -<span id="index-expansion_002c-search-path"></span> +<a class="index-entry-id" id="index-path-expansion"></a> +<a class="index-entry-id" id="index-expansion_002c-search-path"></a> <p>Kpathsea recognizes certain special characters and constructions in search paths, similar to that in shells. As a general example: -‘<samp>~$USER/{foo,bar}//baz</samp>’ expands to all subdirectories under -directories <samp>foo</samp> and <samp>bar</samp> in <tt>$USER</tt>’s home directory that -contain a directory or file <samp>baz</samp>. +‘<samp class="samp">~$USER/{foo,bar}//baz</samp>’ expands to all subdirectories under +directories <samp class="file">foo</samp> and <samp class="file">bar</samp> in <code class="t">$USER</code>’s home directory that +contain a directory or file <samp class="file">baz</samp>. </p> <p>These expansions are explained in the sections below. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Default-expansion" accesskey="1">Default expansion</a></li> <li><a href="#Variable-expansion" accesskey="2">Variable expansion</a></li> <li><a href="#Tilde-expansion" accesskey="3">Tilde expansion</a></li> <li><a href="#Brace-expansion" accesskey="4">Brace expansion</a></li> -<li><a href="#KPSE_005fDOT-expansion" accesskey="5"><code>KPSE_DOT</code> expansion</a></li> +<li><a href="#KPSE_005fDOT-expansion" accesskey="5"><code class="code">KPSE_DOT</code> expansion</a></li> <li><a href="#Subdirectory-expansion" accesskey="6">Subdirectory expansion</a></li> </ul> <hr> -<div class="subsection" id="Default-expansion"> -<div class="header"> +<div class="subsection-level-extent" id="Default-expansion"> +<div class="nav-panel"> <p> Next: <a href="#Variable-expansion" accesskey="n" rel="next">Variable expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Default-expansion-1"></span><h4 class="subsection">5.3.1 Default expansion</h4> - -<span id="index-_003a_003a-expansion"></span> -<span id="index-doubled-colons"></span> -<span id="index-leading-colons"></span> -<span id="index-trailing-colons"></span> -<span id="index-extra-colons"></span> -<span id="index-default-expansion"></span> -<span id="index-expansion_002c-default"></span> - -<p>If the highest-priority search path (see <a href="#Path-sources">Path sources</a>) contains an -<em>extra colon</em> (i.e., leading, trailing, or doubled), Kpathsea +<h4 class="subsection" id="Default-expansion-1">5.3.1 Default expansion</h4> + +<a class="index-entry-id" id="index-_003a_003a-expansion"></a> +<a class="index-entry-id" id="index-doubled-colons"></a> +<a class="index-entry-id" id="index-leading-colons"></a> +<a class="index-entry-id" id="index-trailing-colons"></a> +<a class="index-entry-id" id="index-extra-colons"></a> +<a class="index-entry-id" id="index-default-expansion"></a> +<a class="index-entry-id" id="index-expansion_002c-default"></a> + +<p>If the highest-priority search path (see <a class="pxref" href="#Path-sources">Path sources</a>) contains an +<em class="dfn">extra colon</em> (i.e., leading, trailing, or doubled), Kpathsea inserts at that point the next-highest-priority search path that is defined. If that inserted path has an extra colon, the same happens with the next-highest. (An extra colon in the compile-time default @@ -963,27 +958,27 @@ value has unpredictable results, so installers beware.) <p>For example, given an environment variable setting </p> <div class="example"> -<pre class="example">setenv TEXINPUTS /home/karl: +<pre class="example-preformatted">setenv TEXINPUTS /home/karl: </pre></div> -<p>and a <code>TEXINPUTS</code> value from <samp>texmf.cnf</samp> of +<p>and a <code class="code">TEXINPUTS</code> value from <samp class="file">texmf.cnf</samp> of </p> <div class="example"> -<pre class="example">.:$TEXMF//tex +<pre class="example-preformatted">.:$TEXMF//tex </pre></div> <p>then the final value used for searching will be: </p> <div class="example"> -<pre class="example">/home/karl:.:$TEXMF//tex +<pre class="example-preformatted">/home/karl:.:$TEXMF//tex </pre></div> <p>Put another way, default expansion works on “formats” (search paths), and not directly on environment variables. Example, showing -the trailing ‘<samp>:</samp>’ ignored in the first case and expanded in the second: +the trailing ‘<samp class="samp">:</samp>’ ignored in the first case and expanded in the second: </p> <div class="example"> -<pre class="example">$ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS' +<pre class="example-preformatted">$ env TTFONTS=/tmp: kpsewhich --expand-path '$TTFONTS' /tmp $ env TTFONTS=/tmp: kpsewhich --show-path=.ttf /tmp:.:/home/olaf/texmf/fonts/truetype//:... @@ -991,267 +986,267 @@ $ env TTFONTS=/tmp: kpsewhich --show-path=.ttf <p>Since Kpathsea looks for multiple configuration files, it would be natural to expect that (for example) an extra colon in -<samp>./texmf.cnf</samp> would expand to the path in <samp>$TEXMF/texmf.cnf</samp>. +<samp class="file">./texmf.cnf</samp> would expand to the path in <samp class="file">$TEXMF/texmf.cnf</samp>. Or, with Dvips’ configuration files, that an extra colon in -<samp>config.$PRINTER</samp> would expand to the path in <samp>config.ps</samp>. +<samp class="file">config.$PRINTER</samp> would expand to the path in <samp class="file">config.ps</samp>. This doesn’t happen. It’s not clear this would be desirable in all cases, and trying to devise a way to specify the path to which the extra colon should expand seemed truly baroque. -<span id="index-Bach_002c-Johann-Sebastian"></span> +<a class="index-entry-id" id="index-Bach_002c-Johann-Sebastian"></a> </p> <p>Technicality: Since it would be useless to insert the default value in -more than one place, Kpathsea changes only one extra ‘<samp>:</samp>’ and leaves +more than one place, Kpathsea changes only one extra ‘<samp class="samp">:</samp>’ and leaves any others in place (they will eventually be ignored). Kpathsea checks -first for a leading ‘<samp>:</samp>’, then a trailing ‘<samp>:</samp>’, then a doubled -‘<samp>:</samp>’. +first for a leading ‘<samp class="samp">:</samp>’, then a trailing ‘<samp class="samp">:</samp>’, then a doubled +‘<samp class="samp">:</samp>’. </p> -<span id="index-kdefault_002ec"></span> -<p>You can trace this by debugging “paths” (see <a href="#Debugging">Debugging</a>). +<a class="index-entry-id" id="index-kdefault_002ec"></a> +<p>You can trace this by debugging “paths” (see <a class="pxref" href="#Debugging">Debugging</a>). Default expansion is implemented in the source file -<samp>kpathsea/kdefault.c</samp>. +<samp class="file">kpathsea/kdefault.c</samp>. </p> <hr> </div> -<div class="subsection" id="Variable-expansion"> -<div class="header"> +<div class="subsection-level-extent" id="Variable-expansion"> +<div class="nav-panel"> <p> Next: <a href="#Tilde-expansion" accesskey="n" rel="next">Tilde expansion</a>, Previous: <a href="#Default-expansion" accesskey="p" rel="prev">Default expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Variable-expansion-1"></span><h4 class="subsection">5.3.2 Variable expansion</h4> +<h4 class="subsection" id="Variable-expansion-1">5.3.2 Variable expansion</h4> -<span id="index-_0024-expansion"></span> -<span id="index-environment-variables-in-paths"></span> -<span id="index-variable-expansion"></span> -<span id="index-expansion_002c-variable"></span> -<span id="index-texmf_002ecnf_002c-and-variable-expansion"></span> +<a class="index-entry-id" id="index-_0024-expansion"></a> +<a class="index-entry-id" id="index-environment-variables-in-paths"></a> +<a class="index-entry-id" id="index-variable-expansion"></a> +<a class="index-entry-id" id="index-expansion_002c-variable"></a> +<a class="index-entry-id" id="index-texmf_002ecnf_002c-and-variable-expansion"></a> -<p>‘<samp>$foo</samp>’ or ‘<samp>${foo}</samp>’ in a path element is replaced by (1) the -value of an environment variable ‘<samp>foo</samp>’ (if defined); (2) the value -of ‘<samp>foo</samp>’ from <samp>texmf.cnf</samp> (if defined); (3) the empty string. +<p>‘<samp class="samp">$foo</samp>’ or ‘<samp class="samp">${foo}</samp>’ in a path element is replaced by (1) the +value of an environment variable ‘<samp class="samp">foo</samp>’ (if defined); (2) the value +of ‘<samp class="samp">foo</samp>’ from <samp class="file">texmf.cnf</samp> (if defined); (3) the empty string. </p> -<p>If the character after the ‘<samp>$</samp>’ is alphanumeric or ‘<samp>_</samp>’, the +<p>If the character after the ‘<samp class="samp">$</samp>’ is alphanumeric or ‘<samp class="samp">_</samp>’, the variable name consists of all consecutive such characters. If the -character after the ‘<samp>$</samp>’ is a ‘<samp>{</samp>’, the variable name consists -of everything up to the next ‘<samp>}</samp>’ (braces may not be nested around +character after the ‘<samp class="samp">$</samp>’ is a ‘<samp class="samp">{</samp>’, the variable name consists +of everything up to the next ‘<samp class="samp">}</samp>’ (braces may not be nested around variable names). Otherwise, Kpathsea gives a warning and ignores the -‘<samp>$</samp>’ and its following character. +‘<samp class="samp">$</samp>’ and its following character. </p> -<span id="index-quoting-variable-values"></span> -<span id="index-shell-variables"></span> -<p>You must quote the <tt>$</tt>’s and braces as necessary for your shell. -<em>Shell</em> variable values cannot be seen by Kpathsea, i.e., ones -defined by <code>set</code> in C shells and without <code>export</code> in Bourne +<a class="index-entry-id" id="index-quoting-variable-values"></a> +<a class="index-entry-id" id="index-shell-variables"></a> +<p>You must quote the <code class="t">$</code>’s and braces as necessary for your shell. +<em class="emph">Shell</em> variable values cannot be seen by Kpathsea, i.e., ones +defined by <code class="code">set</code> in C shells and without <code class="code">export</code> in Bourne shells. </p> <p>For example, given </p><div class="example"> -<pre class="example">setenv tex /home/texmf +<pre class="example-preformatted">setenv tex /home/texmf setenv TEXINPUTS .:$tex:${tex}prev </pre></div> -<p>the final <code>TEXINPUTS</code> path is the three directories: +<p>the final <code class="code">TEXINPUTS</code> path is the three directories: </p><div class="example"> -<pre class="example">.:/home/texmf:/home/texmfprev +<pre class="example-preformatted">.:/home/texmf:/home/texmfprev </pre></div> -<p>The ‘<samp>.<var>progname</var></samp>’ suffix on variables and -‘<samp>_<var>progname</var></samp>’ on environment variable names are not implemented +<p>The ‘<samp class="samp">.<var class="var">progname</var></samp>’ suffix on variables and +‘<samp class="samp">_<var class="var">progname</var></samp>’ on environment variable names are not implemented for general variable expansions. These are only recognized when search -paths are initialized (see <a href="#Path-sources">Path sources</a>). +paths are initialized (see <a class="pxref" href="#Path-sources">Path sources</a>). </p> -<span id="index-variable_002ec"></span> +<a class="index-entry-id" id="index-variable_002ec"></a> <p>Variable expansion is implemented in the source file -<samp>kpathsea/variable.c</samp>. +<samp class="file">kpathsea/variable.c</samp>. </p> <hr> </div> -<div class="subsection" id="Tilde-expansion"> -<div class="header"> +<div class="subsection-level-extent" id="Tilde-expansion"> +<div class="nav-panel"> <p> Next: <a href="#Brace-expansion" accesskey="n" rel="next">Brace expansion</a>, Previous: <a href="#Variable-expansion" accesskey="p" rel="prev">Variable expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Tilde-expansion-1"></span><h4 class="subsection">5.3.3 Tilde expansion</h4> +<h4 class="subsection" id="Tilde-expansion-1">5.3.3 Tilde expansion</h4> -<span id="index-_007e-expansion"></span> -<span id="index-home-directories-in-paths"></span> -<span id="index-tilde-expansion"></span> -<span id="index-expansion_002c-tilde"></span> +<a class="index-entry-id" id="index-_007e-expansion"></a> +<a class="index-entry-id" id="index-home-directories-in-paths"></a> +<a class="index-entry-id" id="index-tilde-expansion"></a> +<a class="index-entry-id" id="index-expansion_002c-tilde"></a> -<span id="index-HOME_002c-as-_007e-expansion"></span> -<span id="index-USERPROFILE_002c-as-_007e-expansion"></span> -<p>A leading ‘<samp>~</samp>’ in a path element is replaced by the value of the -environment variable <code>HOME</code>, or <samp>.</samp> if <code>HOME</code> is not -set. On Windows, the environment variable <code>USERPROFILE</code> is -checked instead of <code>HOME</code>. +<a class="index-entry-id" id="index-HOME_002c-as-_007e-expansion"></a> +<a class="index-entry-id" id="index-USERPROFILE_002c-as-_007e-expansion"></a> +<p>A leading ‘<samp class="samp">~</samp>’ in a path element is replaced by the value of the +environment variable <code class="code">HOME</code>, or <samp class="file">.</samp> if <code class="code">HOME</code> is not +set. On Windows, the environment variable <code class="code">USERPROFILE</code> is +checked instead of <code class="code">HOME</code>. </p> -<p>A leading ‘<samp>~<var>user</var></samp>’ in a path element is replaced by -<var>user</var>’s home directory from the system <samp>passwd</samp> database. +<p>A leading ‘<samp class="samp">~<var class="var">user</var></samp>’ in a path element is replaced by +<var class="var">user</var>’s home directory from the system <samp class="file">passwd</samp> database. </p> <p>For example, </p><div class="example"> -<pre class="example">setenv TEXINPUTS ~/mymacros: +<pre class="example-preformatted">setenv TEXINPUTS ~/mymacros: </pre></div> -<p>will prepend a directory <samp>mymacros</samp> in your home +<p>will prepend a directory <samp class="file">mymacros</samp> in your home directory to the default path. </p> -<span id="index-root-user"></span> -<span id="index-trailing-_002f-in-home-directory"></span> -<span id="index-_002f_002c-trailing-in-home-directory"></span> -<p>As a special case, if a home directory ends in ‘<samp>/</samp>’, the trailing -slash is dropped, to avoid inadvertently creating a ‘<samp>//</samp>’ construct -in the path. For example, if the home directory of the user ‘<samp>root</samp>’ -is ‘<samp>/</samp>’, the path element ‘<samp>~root/mymacros</samp>’ expands to just -‘<samp>/mymacros</samp>’, not ‘<samp>//mymacros</samp>’. +<a class="index-entry-id" id="index-root-user"></a> +<a class="index-entry-id" id="index-trailing-_002f-in-home-directory"></a> +<a class="index-entry-id" id="index-_002f_002c-trailing-in-home-directory"></a> +<p>As a special case, if a home directory ends in ‘<samp class="samp">/</samp>’, the trailing +slash is dropped, to avoid inadvertently creating a ‘<samp class="samp">//</samp>’ construct +in the path. For example, if the home directory of the user ‘<samp class="samp">root</samp>’ +is ‘<samp class="samp">/</samp>’, the path element ‘<samp class="samp">~root/mymacros</samp>’ expands to just +‘<samp class="samp">/mymacros</samp>’, not ‘<samp class="samp">//mymacros</samp>’. </p> -<span id="index-tilde_002ec"></span> -<p>Tilde expansion is implemented in the source file <samp>kpathsea/tilde.c</samp>. +<a class="index-entry-id" id="index-tilde_002ec"></a> +<p>Tilde expansion is implemented in the source file <samp class="file">kpathsea/tilde.c</samp>. </p> <hr> </div> -<div class="subsection" id="Brace-expansion"> -<div class="header"> +<div class="subsection-level-extent" id="Brace-expansion"> +<div class="nav-panel"> <p> -Next: <a href="#KPSE_005fDOT-expansion" accesskey="n" rel="next"><code>KPSE_DOT</code> expansion</a>, Previous: <a href="#Tilde-expansion" accesskey="p" rel="prev">Tilde expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#KPSE_005fDOT-expansion" accesskey="n" rel="next"><code class="code">KPSE_DOT</code> expansion</a>, Previous: <a href="#Tilde-expansion" accesskey="p" rel="prev">Tilde expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Brace-expansion-1"></span><h4 class="subsection">5.3.4 Brace expansion</h4> +<h4 class="subsection" id="Brace-expansion-1">5.3.4 Brace expansion</h4> -<span id="index-_007b-expansion"></span> -<span id="index-brace-expansion"></span> +<a class="index-entry-id" id="index-_007b-expansion"></a> +<a class="index-entry-id" id="index-brace-expansion"></a> -<p>‘<samp>x{<var>a</var>,<var>b</var>}y</samp>’ expands to ‘<samp>x<var>a</var>y:x<var>b</var>y</samp>’. +<p>‘<samp class="samp">x{<var class="var">a</var>,<var class="var">b</var>}y</samp>’ expands to ‘<samp class="samp">x<var class="var">a</var>y:x<var class="var">b</var>y</samp>’. For example: </p> <div class="example"> -<pre class="example">foo/{1,2}/baz +<pre class="example-preformatted">foo/{1,2}/baz </pre></div> -<p>expands to ‘<samp>foo/1/baz:foo/2/baz</samp>’. ‘<samp>:</samp>’ is the path -separator on the current system; e.g., on a Windows system, it’s ‘<samp>;</samp>’. +<p>expands to ‘<samp class="samp">foo/1/baz:foo/2/baz</samp>’. ‘<samp class="samp">:</samp>’ is the path +separator on the current system; e.g., on a Windows system, it’s ‘<samp class="samp">;</samp>’. </p> -<p>Braces can be nested; for example, ‘<samp>x{A,B{1,2}}y</samp>’ expands to -‘<samp>xAy:xB1y:xB2y</samp>’. +<p>Braces can be nested; for example, ‘<samp class="samp">x{A,B{1,2}}y</samp>’ expands to +‘<samp class="samp">xAy:xB1y:xB2y</samp>’. </p> <p>Multiple non-nested braces are expanded from right to left; for example, -‘<samp>x{A,B}{1,2}y</samp>’ expands to ‘<samp>x{A,B}1y:x{A,B}2y</samp>’, which -expands to ‘<samp>xA1y:xB1y:xA2y:xB2y</samp>’. +‘<samp class="samp">x{A,B}{1,2}y</samp>’ expands to ‘<samp class="samp">x{A,B}1y:x{A,B}2y</samp>’, which +expands to ‘<samp class="samp">xA1y:xB1y:xA2y:xB2y</samp>’. </p> -<span id="index-multiple-TeX-hierarchies"></span> +<a class="index-entry-id" id="index-multiple-TeX-hierarchies"></a> <p>This feature can be used to implement multiple TeX hierarchies, by -assigning a brace list to <code>$TEXMF</code>, as mentioned in -<samp>texmf.in</samp>. +assigning a brace list to <code class="code">$TEXMF</code>, as mentioned in +<samp class="file">texmf.in</samp>. </p> <p>You can also use the path separator instead of the comma. The last -example could have been written ‘<samp>x{A:B}{1:2}y</samp>’ (on Unix). +example could have been written ‘<samp class="samp">x{A:B}{1:2}y</samp>’ (on Unix). </p> -<span id="index-expand_002ec"></span> +<a class="index-entry-id" id="index-expand_002ec"></a> <p>Brace expansion is implemented in the source file -<samp>kpathsea/expand.c</samp>. +<samp class="file">kpathsea/expand.c</samp>. </p> <hr> </div> -<div class="subsection" id="KPSE_005fDOT-expansion"> -<div class="header"> +<div class="subsection-level-extent" id="KPSE_005fDOT-expansion"> +<div class="nav-panel"> <p> Next: <a href="#Subdirectory-expansion" accesskey="n" rel="next">Subdirectory expansion</a>, Previous: <a href="#Brace-expansion" accesskey="p" rel="prev">Brace expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="KPSE_005fDOT-expansion-1"></span><h4 class="subsection">5.3.5 <code>KPSE_DOT</code> expansion</h4> +<h4 class="subsection" id="KPSE_005fDOT-expansion-1">5.3.5 <code class="code">KPSE_DOT</code> expansion</h4> -<span id="index-KPSE_005fDOT-expansion"></span> +<a class="index-entry-id" id="index-KPSE_005fDOT-expansion"></a> -<p>When <code>KPSE_DOT</code> is defined in the environment, it names a directory +<p>When <code class="code">KPSE_DOT</code> 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 -‘<samp>mktex…</samp>’ scripts <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>, because these +‘<samp class="samp">mktex…</samp>’ scripts <a class="ref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>, because these change the working directory. You should not ever define it yourself. </p> <hr> </div> -<div class="subsection" id="Subdirectory-expansion"> -<div class="header"> +<div class="subsection-level-extent" id="Subdirectory-expansion"> +<div class="nav-panel"> <p> -Previous: <a href="#KPSE_005fDOT-expansion" accesskey="p" rel="prev"><code>KPSE_DOT</code> expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#KPSE_005fDOT-expansion" accesskey="p" rel="prev"><code class="code">KPSE_DOT</code> expansion</a>, Up: <a href="#Path-expansion" accesskey="u" rel="up">Path expansion</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Subdirectory-expansion-1"></span><h4 class="subsection">5.3.6 Subdirectory expansion</h4> +<h4 class="subsection" id="Subdirectory-expansion-1">5.3.6 Subdirectory expansion</h4> -<span id="index-_002f_002f"></span> -<span id="index-subdirectory-searching"></span> -<span id="index-expansion_002c-subdirectory"></span> +<a class="index-entry-id" id="index-_002f_002f"></a> +<a class="index-entry-id" id="index-subdirectory-searching"></a> +<a class="index-entry-id" id="index-expansion_002c-subdirectory"></a> -<span id="index-alphabetical-order_002c-not"></span> +<a class="index-entry-id" id="index-alphabetical-order_002c-not"></a> <p>Two or more consecutive slashes in a path element following a directory -<var>d</var> is replaced by all subdirectories of <var>d</var>: first those -subdirectories directly under <var>d</var>, then the subsubdirectories under +<var class="var">d</var> is replaced by all subdirectories of <var class="var">d</var>: first those +subdirectories directly under <var class="var">d</var>, then the subsubdirectories under those, and so on. At each level, the order in which the directories are searched is unspecified. (It’s “directory order”, and definitely not alphabetical.) </p> -<p>If you specify any filename components after the ‘<samp>//</samp>’, only +<p>If you specify any filename components after the ‘<samp class="samp">//</samp>’, only subdirectories which match those components are included. For example, -‘<samp>/a//b</samp>’ would expand into directories <samp>/a/1/b</samp>, <samp>/a/2/b</samp>, -<samp>/a/1/1/b</samp>, and so on, but not <samp>/a/b/c</samp> or <samp>/a/1</samp>. +‘<samp class="samp">/a//b</samp>’ would expand into directories <samp class="file">/a/1/b</samp>, <samp class="file">/a/2/b</samp>, +<samp class="file">/a/1/1/b</samp>, and so on, but not <samp class="file">/a/b/c</samp> or <samp class="file">/a/1</samp>. </p> -<p>You can include multiple ‘<samp>//</samp>’ constructs in the path. +<p>You can include multiple ‘<samp class="samp">//</samp>’ constructs in the path. </p> -<p>‘<samp>//</samp>’ at the beginning of a path is ignored; you didn’t really want +<p>‘<samp class="samp">//</samp>’ at the beginning of a path is ignored; you didn’t really want to search every directory on the system, did you? </p> -<span id="index-trick-for-detecting-leaf-directories"></span> -<span id="index-leaf-directory-trick"></span> -<span id="index-Farwell_002c-Matthew"></span> -<span id="index-MacKenzie_002c-David-1"></span> +<a class="index-entry-id" id="index-trick-for-detecting-leaf-directories"></a> +<a class="index-entry-id" id="index-leaf-directory-trick"></a> +<a class="index-entry-id" id="index-Farwell_002c-Matthew"></a> +<a class="index-entry-id" id="index-MacKenzie_002c-David-1"></a> <p>I should mention one related implementation trick, which I took from GNU find. Matthew Farwell suggested it, and David MacKenzie implemented it. </p> -<span id="index-st_005fnlink"></span> +<a class="index-entry-id" id="index-st_005fnlink"></a> <p>The trick is that in every real Unix implementation (as opposed to the POSIX specification), a directory which contains no subdirectories will -have exactly two links (namely, one for <samp>.</samp> and one for <samp>..</samp>). -That is to say, the <code>st_nlink</code> field in the ‘<samp>stat</samp>’ structure +have exactly two links (namely, one for <samp class="file">.</samp> and one for <samp class="file">..</samp>). +That is to say, the <code class="code">st_nlink</code> field in the ‘<samp class="samp">stat</samp>’ structure will be two. Thus, we don’t have to stat everything in the bottom-level -(leaf) directories—we can just check <code>st_nlink</code>, notice it’s two, +(leaf) directories—we can just check <code class="code">st_nlink</code>, notice it’s two, and do no more work. </p> <p>But if you have a directory that contains a single subdirectory and 500 -regular files, <code>st_nlink</code> will be 3, and Kpathsea has to stat every +regular files, <code class="code">st_nlink</code> will be 3, and Kpathsea has to stat every one of those 501 entries. Therein lies slowness. </p> -<span id="index-ST_005fNLINK_005fTRICK"></span> -<p>You can disable the trick by undefining <code>ST_NLINK_TRICK</code> in -<samp>kpathsea/config.h</samp>. (It is undefined by default except under Unix.) +<a class="index-entry-id" id="index-ST_005fNLINK_005fTRICK"></a> +<p>You can disable the trick by undefining <code class="code">ST_NLINK_TRICK</code> in +<samp class="file">kpathsea/config.h</samp>. (It is undefined by default except under Unix.) </p> -<span id="index-elt_002ddirs_002ec"></span> +<a class="index-entry-id" id="index-elt_002ddirs_002ec"></a> <p>Unfortunately, in some cases files in leaf directories are -<code>stat</code>’d: if the path specification is, say, -‘<samp>$TEXMF/fonts//pk//</samp>’, then files in a subdirectory -‘<samp>…/pk</samp>’, even if it is a leaf, are checked. The reason +<code class="code">stat</code>’d: if the path specification is, say, +‘<samp class="samp">$TEXMF/fonts//pk//</samp>’, then files in a subdirectory +‘<samp class="samp">…/pk</samp>’, even if it is a leaf, are checked. The reason cannot be explained without reference to the implementation, so read -<samp>kpathsea/elt-dirs.c</samp> (search for ‘<samp>may descend</samp>’) if you are +<samp class="file">kpathsea/elt-dirs.c</samp> (search for ‘<samp class="samp">may descend</samp>’) if you are curious. And if you find a way to solve the problem, please let me know. </p> -<span id="index-elt_002ddirs_002ec-1"></span> +<a class="index-entry-id" id="index-elt_002ddirs_002ec-1"></a> <p>Subdirectory expansion is implemented in the source file -<samp>kpathsea/elt-dirs.c</samp>. +<samp class="file">kpathsea/elt-dirs.c</samp>. </p> <hr> </div> </div> -<div class="section" id="Casefolding-search"> -<div class="header"> +<div class="section-level-extent" id="Casefolding-search"> +<div class="nav-panel"> <p> -Next: <a href="#Filename-database" accesskey="n" rel="next">Filename database (<code>ls-R</code>)</a>, Previous: <a href="#Path-expansion" accesskey="p" rel="prev">Path expansion</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Filename-database" accesskey="n" rel="next">Filename database (<code class="code">ls-R</code>)</a>, Previous: <a href="#Path-expansion" accesskey="p" rel="prev">Path expansion</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Casefolding-search-1"></span><h3 class="section">5.4 Casefolding search</h3> +<h3 class="section" id="Casefolding-search-1">5.4 Casefolding search</h3> -<span id="index-casefolding-search"></span> -<span id="index-search_002c-case_002dinsensitive"></span> +<a class="index-entry-id" id="index-casefolding-search"></a> +<a class="index-entry-id" id="index-search_002c-case_002dinsensitive"></a> <p>In Kpathsea version 6.3.0 (released with TeX Live 2018), a new fallback search was implemented on Unix-like systems, including Macs: @@ -1259,39 +1254,39 @@ for each path element in turn, if no match is found by the normal search, and the path element allows for checking the filesystem, a second check is made for a case-insensitive match. </p> -<span id="index-texmf_005fcasefold_005fsearch"></span> +<a class="index-entry-id" id="index-texmf_005fcasefold_005fsearch"></a> <p>This is enabled at compile-time on Unix systems, and enabled at runtime by setting the configuration variable -<code>texmf_casefold_search</code>, to a true value, e.g., ‘<samp>1</samp>’; this is +<code class="code">texmf_casefold_search</code>, to a true value, e.g., ‘<samp class="samp">1</samp>’; this is done by default in TeX Live. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Casefolding-rationale" accesskey="1">Casefolding rationale</a></li> <li><a href="#Casefolding-examples" accesskey="2">Casefolding examples</a></li> </ul> <hr> -<div class="subsection" id="Casefolding-rationale"> -<div class="header"> +<div class="subsection-level-extent" id="Casefolding-rationale"> +<div class="nav-panel"> <p> Next: <a href="#Casefolding-examples" accesskey="n" rel="next">Casefolding examples</a>, Up: <a href="#Casefolding-search" accesskey="u" rel="up">Casefolding search</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Casefolding-rationale-1"></span><h4 class="subsection">5.4.1 Casefolding rationale</h4> +<h4 class="subsection" id="Casefolding-rationale-1">5.4.1 Casefolding rationale</h4> -<span id="index-casefolding-fallback-rationale"></span> -<span id="index-rationale-for-casefolding-fallback"></span> -<span id="index-system_002ddependent-casefolding-behavior"></span> +<a class="index-entry-id" id="index-casefolding-fallback-rationale"></a> +<a class="index-entry-id" id="index-rationale-for-casefolding-fallback"></a> +<a class="index-entry-id" id="index-system_002ddependent-casefolding-behavior"></a> -<span id="index-filesystem_002c-case_002d_0028in_0029sensitive"></span> -<span id="index-Apple-filesystem_002c-case_002dinsensitive"></span> -<span id="index-Mac-filesystem_002c-case_002dinsensitive"></span> +<a class="index-entry-id" id="index-filesystem_002c-case_002d_0028in_0029sensitive"></a> +<a class="index-entry-id" id="index-Apple-filesystem_002c-case_002dinsensitive"></a> +<a class="index-entry-id" id="index-Mac-filesystem_002c-case_002dinsensitive"></a> <p>The purpose of the fallback casefolding search is to ease moving complex documents between case-insensitive (file)systems and case-sensitive ones. In particular, Apple decided to make the default filesystem on Macs be case-insensitive some years ago, and this has exacerbated a problem of people creating documents that use, say, an -image under the name <samp>foo.jpg</samp>, while the actual file is named -<samp>foo.JPG</samp> or <samp>Foo.jpg</samp>. It works on the Mac but if the +image under the name <samp class="file">foo.jpg</samp>, while the actual file is named +<samp class="file">foo.JPG</samp> or <samp class="file">Foo.jpg</samp>. It works on the Mac but if the document is transferred and run on a standard case-sensitive Unix (file)system, the file can’t be found, due only to differences in case. @@ -1301,7 +1296,7 @@ whatever reason, it has become much more common since Apple also went to a case-insensitive filesystem. Hence the relatively late change to the Kpathsea behavior. </p> -<span id="index-Windows-and-casefolding"></span> +<a class="index-entry-id" id="index-Windows-and-casefolding"></a> <p>The fallback case-insensitive search is omitted at compile-time on Windows, where (for practical purposes) all file names are case-insensitive at the kernel level, and so the normal search will @@ -1312,15 +1307,15 @@ always been true. <hr> </div> -<div class="subsection" id="Casefolding-examples"> -<div class="header"> +<div class="subsection-level-extent" id="Casefolding-examples"> +<div class="nav-panel"> <p> Previous: <a href="#Casefolding-rationale" accesskey="p" rel="prev">Casefolding rationale</a>, Up: <a href="#Casefolding-search" accesskey="u" rel="up">Casefolding search</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Casefolding-examples-1"></span><h4 class="subsection">5.4.2 Casefolding examples</h4> +<h4 class="subsection" id="Casefolding-examples-1">5.4.2 Casefolding examples</h4> -<span id="index-casefolding-examples"></span> -<span id="index-examples_002c-of-casefolding-searches"></span> +<a class="index-entry-id" id="index-casefolding-examples"></a> +<a class="index-entry-id" id="index-examples_002c-of-casefolding-searches"></a> <p>The casefolding implementation prefers exact matches to casefolded matches within a given path element, so as to retain most @@ -1335,95 +1330,95 @@ that it will not cause difficulties in practice. </p> <p>If it’s desirable in a given situation to have the exact same search behavior as previously, that can be accomplished by setting the -configuration variable <code>texmf_casefold_search</code> to ‘<samp>0</samp>’ -(see <a href="#Path-sources">Path sources</a>). +configuration variable <code class="code">texmf_casefold_search</code> to ‘<samp class="samp">0</samp>’ +(see <a class="pxref" href="#Path-sources">Path sources</a>). </p> <p>Some examples to illustrate the new behavior follow. </p> -<p>Example #1: suppose the file <samp>./foobar.tex</samp> exists. Now, -searching for <samp>./FooBar.TeX</samp> (or any other case variation) will -succeed, returning <samp>./foobar.tex</samp>—the name as stored on disk. -In previous releases, or if <code>texmf_casefold_search</code> is false, the +<p>Example #1: suppose the file <samp class="file">./foobar.tex</samp> exists. Now, +searching for <samp class="file">./FooBar.TeX</samp> (or any other case variation) will +succeed, returning <samp class="file">./foobar.tex</samp>—the name as stored on disk. +In previous releases, or if <code class="code">texmf_casefold_search</code> is false, the search would fail. </p> <p>Example #2: suppose we are using a case-sensitive (file)system, and -the search path is ‘<samp>.:/somedir</samp>’, and the files -<samp>./foobar.tex</samp> and <samp>/somedir/FooBar.TeX</samp> both exist. Both -now and previously, searching for <samp>foobar.tex</samp> returns -<samp>./foobar.tex</samp>. However, searching for <samp>FooBar.TeX</samp> now -returns <samp>./foobar.tex</samp> instead of <samp>/somedir/FooBar.TeX</samp>; +the search path is ‘<samp class="samp">.:/somedir</samp>’, and the files +<samp class="file">./foobar.tex</samp> and <samp class="file">/somedir/FooBar.TeX</samp> both exist. Both +now and previously, searching for <samp class="file">foobar.tex</samp> returns +<samp class="file">./foobar.tex</samp>. However, searching for <samp class="file">FooBar.TeX</samp> now +returns <samp class="file">./foobar.tex</samp> instead of <samp class="file">/somedir/FooBar.TeX</samp>; this is the incompatibility mentioned above. Also (as expected), -searching for <samp>FOOBAR.TEX</samp> (or whatever variation) will now -return <samp>./foobar.tex</samp>, whereas before it would fail. Searching -for all (‘<samp>kpsewhich --all</samp>’) <samp>foobar.tex</samp> will return both +searching for <samp class="file">FOOBAR.TEX</samp> (or whatever variation) will now +return <samp class="file">./foobar.tex</samp>, whereas before it would fail. Searching +for all (‘<samp class="samp">kpsewhich --all</samp>’) <samp class="file">foobar.tex</samp> will return both matches. </p> <p>Example #3: same as example #2, but on a case-insensitive -(file)system: both now and previously, searching for <samp>FooBar.TeX</samp> -returns <samp>./foobar.tex</samp>, since the system considers that a match. +(file)system: both now and previously, searching for <samp class="file">FooBar.TeX</samp> +returns <samp class="file">./foobar.tex</samp>, since the system considers that a match. The Kpathsea casefolding never comes into play. </p> <p>Example #4: if we have (on a case-sensitive system) both -<samp>./foobar.tex</samp> and <samp>./FOOBAR.TEX</samp>, searching with the exact +<samp class="file">./foobar.tex</samp> and <samp class="file">./FOOBAR.TEX</samp>, searching with the exact case returns that exact match, now and previously. Searching for -<samp>FooBar.tex</samp> will now return one or the other (chosen +<samp class="file">FooBar.tex</samp> will now return one or the other (chosen arbitrarily), rather than failing. Perhaps unexpectedly, searching -for all <samp>foobar.tex</samp> or <samp>FooBar.tex</samp> will also return only +for all <samp class="file">foobar.tex</samp> or <samp class="file">FooBar.tex</samp> will also return only one or the other, not both (see more below). </p> -<p>Example #5: the font file <samp>STIX-Regular.otf</samp> is included in +<p>Example #5: the font file <samp class="file">STIX-Regular.otf</samp> is included in TeX Live in the system directory -<samp>texmf-dist/fonts/opentype/public/stix</samp>. Because Kpathsea never +<samp class="file">texmf-dist/fonts/opentype/public/stix</samp>. Because Kpathsea never searches the disk in the big system directory, the casefolding is not -done, and a search for ‘<samp>stix-regular.otf</samp>’ will fail (on +done, and a search for ‘<samp class="samp">stix-regular.otf</samp>’ will fail (on case-sensitive systems), as it always has. </p> -<span id="index-_0021_0021-and-casefolding"></span> +<a class="index-entry-id" id="index-_0021_0021-and-casefolding"></a> <p>The caveat about not searching the disk amounts to saying that -casefolding does not happen in the trees specified with ‘<samp>!!</samp>’ -(see <a href="#ls_002dR"><samp>ls-R</samp></a>), that is, where only database (<samp>ls-R</samp>) searching -is done. In TeX Live, that is the ‘<samp>texmf-local</samp>’ and -‘<samp>texmf-dist</samp>’ trees (also <code>$TEXMFSYSCONFIG</code> and -<code>$TEXMFSYSVAR</code>, but those are rarely noticed). The rationale for +casefolding does not happen in the trees specified with ‘<samp class="samp">!!</samp>’ +(see <a class="pxref" href="#ls_002dR"><samp class="file">ls-R</samp></a>), that is, where only database (<samp class="file">ls-R</samp>) searching +is done. In TeX Live, that is the ‘<samp class="samp">texmf-local</samp>’ and +‘<samp class="samp">texmf-dist</samp>’ trees (also <code class="code">$TEXMFSYSCONFIG</code> and +<code class="code">$TEXMFSYSVAR</code>, but those are rarely noticed). The rationale for this is that in practice, case mangling happens with user-created files, not with packages distributed as part of the TeX system. </p> -<p>One more caveat: the purpose of <code>kpsewhich</code> is to exercise the +<p>One more caveat: the purpose of <code class="code">kpsewhich</code> is to exercise the path searching in Kpathsea as it is actually done. Therefore, as -shown above, ‘<samp>kpsewhich --all</samp>’ will not return all matches +shown above, ‘<samp class="samp">kpsewhich --all</samp>’ will not return all matches regardless of case within a given path element. If you want to find -all matches in all directories, <code>find</code> is the best tool, although +all matches in all directories, <code class="code">find</code> is the best tool, although the setup takes a couple steps: </p> <div class="example"> -<pre class="example">kpsewhich -show-path=tex >/tmp/texpath # search path specification +<pre class="example-preformatted">kpsewhich -show-path=tex >/tmp/texpath # search path specification kpsewhich -expand-path="`cat /tmp/texpath`" >/tmp/texdirs # all dirs tr ':' '\n' </tmp/texdirs >/tmp/texdirlist # colons to newlines find `cat /tmp/texdirlist` -iname somefile.tex -print </tmp/texdirlist </pre></div> -<span id="index-Findutils_002c-GNU-package"></span> -<span id="index-_002diname_002c-find-predicate"></span> +<a class="index-entry-id" id="index-Findutils_002c-GNU-package"></a> +<a class="index-entry-id" id="index-_002diname_002c-find-predicate"></a> <p>Sorry that it’s annoyingly lengthy, but implementing this inside Kpathsea would be a lot of error-prone trouble for something that is -only useful for debugging. If your <code>find</code> does not support -<code>-iname</code>, you can get GNU Find from -<a href="https://gnu.org/software/findutils">https://gnu.org/software/findutils</a>. +only useful for debugging. If your <code class="code">find</code> does not support +<code class="code">-iname</code>, you can get GNU Find from +<a class="url" href="https://gnu.org/software/findutils">https://gnu.org/software/findutils</a>. </p> <p>The casefolding search is implemented in the source file -<samp>kpathsea/pathsearch.c</samp>. Two implementation points: +<samp class="file">kpathsea/pathsearch.c</samp>. Two implementation points: </p> -<ul> -<li> <span id="index-access-system-call"></span> +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-access-system-call"></a> Kpathsea never tries to check if a given directory resides on a case-insensitive filesystem, because there is no efficient and portable way to do so. All it does is try to see if a potential file -name is a readable normal file (with, usually, the <code>access</code> +name is a readable normal file (with, usually, the <code class="code">access</code> system call). -</li><li> Kpathsea does not do any case-insensitive matching of the directories -along the path. It’s not going to find <samp>/Some/Random/file.tex</samp> -when looking for <samp>/some/random/file.tex</samp>. The casefolding only +</li><li>Kpathsea does not do any case-insensitive matching of the directories +along the path. It’s not going to find <samp class="file">/Some/Random/file.tex</samp> +when looking for <samp class="file">/some/random/file.tex</samp>. The casefolding only happens with the elements of the leaf directory. </li></ul> @@ -1432,141 +1427,141 @@ happens with the elements of the leaf directory. <hr> </div> </div> -<div class="section" id="Filename-database"> -<div class="header"> +<div class="section-level-extent" id="Filename-database"> +<div class="nav-panel"> <p> -Next: <a href="#Invoking-kpsewhich" accesskey="n" rel="next"><code>kpsewhich</code>: Standalone path searching</a>, Previous: <a href="#Casefolding-search" accesskey="p" rel="prev">Casefolding search</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Invoking-kpsewhich" accesskey="n" rel="next"><code class="code">kpsewhich</code>: Standalone path searching</a>, Previous: <a href="#Casefolding-search" accesskey="p" rel="prev">Casefolding search</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Filename-database-_0028ls_002dR_0029"></span><h3 class="section">5.5 Filename database (<code>ls-R</code>)</h3> +<h3 class="section" id="Filename-database-_0028ls_002dR_0029">5.5 Filename database (<code class="code">ls-R</code>)</h3> -<span id="index-filename-database"></span> -<span id="index-database_002c-for-filenames"></span> -<span id="index-externally_002dbuilt-filename-database"></span> +<a class="index-entry-id" id="index-filename-database"></a> +<a class="index-entry-id" id="index-database_002c-for-filenames"></a> +<a class="index-entry-id" id="index-externally_002dbuilt-filename-database"></a> <p>Kpathsea goes to some lengths to minimize disk accesses for searches -(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). Nevertheless, in practice searching +(see <a class="pxref" href="#Subdirectory-expansion">Subdirectory expansion</a>). Nevertheless, in practice searching every possible directory in typical TeX installations takes an excessively long time. </p> -<p>Therefore, Kpathsea can use an externally-built <em>filename -database</em> file named <samp>ls-R</samp> that maps files to directories, thus +<p>Therefore, Kpathsea can use an externally-built <em class="dfn">filename +database</em> file named <samp class="file">ls-R</samp> that maps files to directories, thus avoiding the need to exhaustively search the disk. </p> -<p>A second database file <samp>aliases</samp> allows you to give additional -names to the files listed in <samp>ls-R</samp>. +<p>A second database file <samp class="file">aliases</samp> allows you to give additional +names to the files listed in <samp class="file">ls-R</samp>. </p> -<p>The <samp>ls-R</samp> and <samp>aliases</samp> features are implemented in the -source file <samp>kpathsea/db.c</samp>. +<p>The <samp class="file">ls-R</samp> and <samp class="file">aliases</samp> features are implemented in the +source file <samp class="file">kpathsea/db.c</samp>. </p> -<ul class="section-toc"> -<li><a href="#ls_002dR" accesskey="1"><samp>ls-R</samp></a></li> +<ul class="mini-toc"> +<li><a href="#ls_002dR" accesskey="1"><samp class="file">ls-R</samp></a></li> <li><a href="#Filename-aliases" accesskey="2">Filename aliases</a></li> <li><a href="#Database-format" accesskey="3">Database format</a></li> </ul> <hr> -<div class="subsection" id="ls_002dR"> -<div class="header"> +<div class="subsection-level-extent" id="ls_002dR"> +<div class="nav-panel"> <p> -Next: <a href="#Filename-aliases" accesskey="n" rel="next">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code>ls-R</code>)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Filename-aliases" accesskey="n" rel="next">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code class="code">ls-R</code>)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="ls_002dR-1"></span><h4 class="subsection">5.5.1 <samp>ls-R</samp></h4> +<h4 class="subsection" id="ls_002dR-1">5.5.1 <samp class="file">ls-R</samp></h4> -<span id="index-ls_002dR-database-file"></span> +<a class="index-entry-id" id="index-ls_002dR-database-file"></a> <p>As mentioned above, you must name the main filename database -<samp>ls-R</samp>. You can put one at the root of each TeX installation -hierarchy you wish to search (<code>$TEXMF</code> by default, which expands +<samp class="file">ls-R</samp>. You can put one at the root of each TeX installation +hierarchy you wish to search (<code class="code">$TEXMF</code> by default, which expands to a braced list of several hierarchies in TeX Live). </p> -<span id="index-TEXMFDBS"></span> -<span id="index-_0021_0021-in-TEXMFDBS"></span> -<p>Kpathsea looks for <samp>ls-R</samp> files along the <code>TEXMFDBS</code> +<a class="index-entry-id" id="index-TEXMFDBS"></a> +<a class="index-entry-id" id="index-_0021_0021-in-TEXMFDBS"></a> +<p>Kpathsea looks for <samp class="file">ls-R</samp> files along the <code class="code">TEXMFDBS</code> path. It is best for this to contain all and only those hierarchies -from <code>$TEXMF</code> which are specified with <code>!!</code>—and also to -specify them with <code>!!</code> in <code>TEXMFDBS</code>. (See the end of this -section for more on <code>!!</code>.) +from <code class="code">$TEXMF</code> which are specified with <code class="code">!!</code>—and also to +specify them with <code class="code">!!</code> in <code class="code">TEXMFDBS</code>. (See the end of this +section for more on <code class="code">!!</code>.) </p> -<p>The recommended way to create and maintain ‘<samp>ls-R</samp>’ is to run the -<code>mktexlsr</code> script, which is installed in ‘<samp>$(bindir)</samp>’ -(<samp>/usr/local/bin</samp> by default). That script goes to some trouble to +<p>The recommended way to create and maintain ‘<samp class="samp">ls-R</samp>’ is to run the +<code class="code">mktexlsr</code> script, which is installed in ‘<samp class="samp">$(bindir)</samp>’ +(<samp class="file">/usr/local/bin</samp> by default). That script goes to some trouble to follow symbolic links as necessary, etc. It’s also invoked by the -distributed ‘<samp>mktex…</samp>’ scripts. +distributed ‘<samp class="samp">mktex…</samp>’ scripts. </p> -<span id="index-ls_002dR_002c-simplest-build"></span> -<p>At its simplest, though, you can build <samp>ls-R</samp> with the command +<a class="index-entry-id" id="index-ls_002dR_002c-simplest-build"></a> +<p>At its simplest, though, you can build <samp class="file">ls-R</samp> with the command </p><div class="example"> -<pre class="example">cd <var>/your/texmf/root</var> && ls -LAR ./ >ls-R +<pre class="example-preformatted">cd <var class="var">/your/texmf/root</var> && ls -LAR ./ >ls-R </pre></div> -<p><span id="index-_002d_002dcolor_003dtty"></span> -<span id="index-_002fetc_002fprofile-and-aliases"></span> -presuming your <code>ls</code> produces the right output format (see the -section below). GNU <code>ls</code>, for example, outputs in this format. -Also presuming your <code>ls</code> hasn’t been aliased in a system file -(e.g., <samp>/etc/profile</samp>) to something problematic, e.g., ‘<samp>ls +<a class="index-entry-id" id="index-_002d_002dcolor_003dtty"></a> +<a class="index-entry-id" id="index-_002fetc_002fprofile-and-aliases"></a> +<p>presuming your <code class="code">ls</code> produces the right output format (see the +section below). GNU <code class="code">ls</code>, for example, outputs in this format. +Also presuming your <code class="code">ls</code> hasn’t been aliased in a system file +(e.g., <samp class="file">/etc/profile</samp>) to something problematic, e.g., ‘<samp class="samp">ls --color=tty</samp>’. In that case, you will have to disable the alias before -generating <samp>ls-R</samp>. For the precise definition of the file format, -see <a href="#Database-format">Database format</a>. +generating <samp class="file">ls-R</samp>. For the precise definition of the file format, +see <a class="ref" href="#Database-format">Database format</a>. </p> <p>Regardless of whether you use the supplied script or your own, you -will almost certainly want to invoke it via <code>cron</code>, so when you +will almost certainly want to invoke it via <code class="code">cron</code>, so when you make changes in the installed files (say if you install a new LaTeX -package), <samp>ls-R</samp> will be automatically updated. However, for +package), <samp class="file">ls-R</samp> will be automatically updated. However, for those using TeX Live or system distributions, the package managers -should run <code>mktexlsr</code> as needed. -</p> -<span id="index-_002dA-option-to-ls"></span> -<span id="index-dot-files"></span> -<span id="index-_002e-files"></span> -<span id="index-_002e-directories_002c-ignored"></span> -<span id="index-_002etex-file_002c-included-in-ls_002dR"></span> -<p>The ‘<samp>-A</samp>’ option to <code>ls</code> includes files beginning with ‘<samp>.</samp>’ -(except for <samp>.</samp> and <samp>..</samp>), such as the file <samp>.tex</samp> +should run <code class="code">mktexlsr</code> as needed. +</p> +<a class="index-entry-id" id="index-_002dA-option-to-ls"></a> +<a class="index-entry-id" id="index-dot-files"></a> +<a class="index-entry-id" id="index-_002e-files"></a> +<a class="index-entry-id" id="index-_002e-directories_002c-ignored"></a> +<a class="index-entry-id" id="index-_002etex-file_002c-included-in-ls_002dR"></a> +<p>The ‘<samp class="samp">-A</samp>’ option to <code class="code">ls</code> includes files beginning with ‘<samp class="samp">.</samp>’ +(except for <samp class="file">.</samp> and <samp class="file">..</samp>), such as the file <samp class="file">.tex</samp> included with the LaTeX tools package. (On the other hand, -<em>directories</em> whose names begin with ‘<samp>.</samp>’ are always ignored.) +<em class="emph">directories</em> whose names begin with ‘<samp class="samp">.</samp>’ are always ignored.) </p> -<span id="index-symbolic-links_002c-and-ls_002dR"></span> -<span id="index-_002dL-option-to-ls"></span> -<p>If your system does not support symbolic links, omit the ‘<samp>-L</samp>’. +<a class="index-entry-id" id="index-symbolic-links_002c-and-ls_002dR"></a> +<a class="index-entry-id" id="index-_002dL-option-to-ls"></a> +<p>If your system does not support symbolic links, omit the ‘<samp class="samp">-L</samp>’. </p> -<span id="index-automounter_002c-and-ls_002dR"></span> -<span id="index-NFS-and-ls_002dR"></span> -<p><code>ls -LAR <var>/your/texmf/root</var></code> will also work. But using -‘<samp>./</samp>’ avoids embedding absolute pathnames, so the hierarchy can be +<a class="index-entry-id" id="index-automounter_002c-and-ls_002dR"></a> +<a class="index-entry-id" id="index-NFS-and-ls_002dR"></a> +<p><code class="code">ls -LAR <var class="var">/your/texmf/root</var></code> will also work. But using +‘<samp class="samp">./</samp>’ avoids embedding absolute pathnames, so the hierarchy can be easily transported. It also avoids possible trouble with automounters or other network filesystem conventions. </p> -<span id="index-warning-about-unusable-ls_002dR"></span> -<span id="index-unusable-ls_002dR-warning"></span> -<p>Kpathsea warns you if it finds an <samp>ls-R</samp> file, but the file does +<a class="index-entry-id" id="index-warning-about-unusable-ls_002dR"></a> +<a class="index-entry-id" id="index-unusable-ls_002dR-warning"></a> +<p>Kpathsea warns you if it finds an <samp class="file">ls-R</samp> file, but the file does not contain any usable entries. The usual culprit is running plain -‘<samp>ls -R</samp>’ instead of ‘<samp>ls -LR ./</samp>’ or ‘<samp>ls -R -<var>/your/texmf/root</var></samp>’. Another possibility is some system directory -name starting with a ‘<samp>.</samp>’ (perhaps if you are using AFS); Kpathsea +‘<samp class="samp">ls -R</samp>’ instead of ‘<samp class="samp">ls -LR ./</samp>’ or ‘<samp class="samp">ls -R +<var class="var">/your/texmf/root</var></samp>’. Another possibility is some system directory +name starting with a ‘<samp class="samp">.</samp>’ (perhaps if you are using AFS); Kpathsea ignores everything under such directories. </p> -<span id="index-_0021_0021-in-path-specifications"></span> -<span id="index-disk-searching_002c-avoiding"></span> -<p>If a particular path element begins with ‘<samp>!!</samp>’, <em>only</em> the +<a class="index-entry-id" id="index-_0021_0021-in-path-specifications"></a> +<a class="index-entry-id" id="index-disk-searching_002c-avoiding"></a> +<p>If a particular path element begins with ‘<samp class="samp">!!</samp>’, <em class="emph">only</em> the database will be searched for that element, never the disk; and if the database does not exist, nothing at all will be searched. In TeX -Live, most of the trees are specified with ‘<samp>!!</samp>’. +Live, most of the trees are specified with ‘<samp class="samp">!!</samp>’. </p> -<p>For path elements that do not begin with ‘<samp>!!</samp>’, if the database +<p>For path elements that do not begin with ‘<samp class="samp">!!</samp>’, if the database exists, it will be used, and the disk will not be searched. However, in this case, if the database does not exist, the disk will be searched. In TeX Live, the most notable case of this is the -<code>TEXMFHOME</code> tree, to allow users to add and remove files from -their own tree without having to worry about <code>ls-R</code>. +<code class="code">TEXMFHOME</code> tree, to allow users to add and remove files from +their own tree without having to worry about <code class="code">ls-R</code>. </p> -<p>(Aside: there are uncommon cases where a ‘<samp>!!</samp>’ tree will be -searched on disk even if the <code>ls-R</code> file exists; they are too -obscure to try to explain here. See <samp>pathsearch.c</samp> in the source +<p>(Aside: there are uncommon cases where a ‘<samp class="samp">!!</samp>’ tree will be +searched on disk even if the <code class="code">ls-R</code> file exists; they are too +obscure to try to explain here. See <samp class="file">pathsearch.c</samp> in the source if you need to know.) </p> -<p>To sum up: do not create an <code>ls-R</code> file unless you also take care +<p>To sum up: do not create an <code class="code">ls-R</code> file unless you also take care to keep it up to date. Otherwise newly-installed files will not be found. </p> @@ -1574,75 +1569,75 @@ found. <hr> </div> -<div class="subsection" id="Filename-aliases"> -<div class="header"> +<div class="subsection-level-extent" id="Filename-aliases"> +<div class="nav-panel"> <p> -Next: <a href="#Database-format" accesskey="n" rel="next">Database format</a>, Previous: <a href="#ls_002dR" accesskey="p" rel="prev"><samp>ls-R</samp></a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code>ls-R</code>)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Database-format" accesskey="n" rel="next">Database format</a>, Previous: <a href="#ls_002dR" accesskey="p" rel="prev"><samp class="file">ls-R</samp></a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code class="code">ls-R</code>)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Filename-aliases-1"></span><h4 class="subsection">5.5.2 Filename aliases</h4> +<h4 class="subsection" id="Filename-aliases-1">5.5.2 Filename aliases</h4> -<span id="index-filename-aliases"></span> -<span id="index-aliases_002c-for-filenames"></span> +<a class="index-entry-id" id="index-filename-aliases"></a> +<a class="index-entry-id" id="index-aliases_002c-for-filenames"></a> <p>In some circumstances, you may wish to find a file under several names. For example, suppose a TeX document was created using a DOS system -and tries to read <samp>longtabl.sty</samp>. But now it’s being run on a Unix -system, and the file has its original name, <samp>longtable.sty</samp>. The +and tries to read <samp class="file">longtabl.sty</samp>. But now it’s being run on a Unix +system, and the file has its original name, <samp class="file">longtable.sty</samp>. The file won’t be found. You need to give the actual file -<samp>longtable.sty</samp> an alias ‘<samp>longtabl.sty</samp>’. +<samp class="file">longtable.sty</samp> an alias ‘<samp class="samp">longtabl.sty</samp>’. </p> -<p>You can handle this by creating a file <samp>aliases</samp> as a companion to -the <samp>ls-R</samp> for the hierarchy containing the file in question. (You -must have an <samp>ls-R</samp> for the alias feature to work.) +<p>You can handle this by creating a file <samp class="file">aliases</samp> as a companion to +the <samp class="file">ls-R</samp> for the hierarchy containing the file in question. (You +must have an <samp class="file">ls-R</samp> for the alias feature to work.) </p> -<p>The format of <samp>aliases</samp> is simple: two whitespace-separated words -per line; the first is the real name <samp>longtable.sty</samp>, and second is -the alias (<samp>longtabl.sty</samp>). These must be base filenames, with no -directory components. <samp>longtable.sty</samp> must be in the sibling -<samp>ls-R</samp>. +<p>The format of <samp class="file">aliases</samp> is simple: two whitespace-separated words +per line; the first is the real name <samp class="file">longtable.sty</samp>, and second is +the alias (<samp class="file">longtabl.sty</samp>). These must be base filenames, with no +directory components. <samp class="file">longtable.sty</samp> must be in the sibling +<samp class="file">ls-R</samp>. </p> -<p>Also, blank lines and lines starting with ‘<samp>%</samp>’ or ‘<samp>#</samp>’ are -ignored in <samp>aliases</samp>, to allow for comments. +<p>Also, blank lines and lines starting with ‘<samp class="samp">%</samp>’ or ‘<samp class="samp">#</samp>’ are +ignored in <samp class="file">aliases</samp>, to allow for comments. </p> -<p>If a real file <samp>longtabl.sty</samp> exists, it is used regardless of any +<p>If a real file <samp class="file">longtabl.sty</samp> exists, it is used regardless of any aliases. </p> <hr> </div> -<div class="subsection" id="Database-format"> -<div class="header"> +<div class="subsection-level-extent" id="Database-format"> +<div class="nav-panel"> <p> -Previous: <a href="#Filename-aliases" accesskey="p" rel="prev">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code>ls-R</code>)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#Filename-aliases" accesskey="p" rel="prev">Filename aliases</a>, Up: <a href="#Filename-database" accesskey="u" rel="up">Filename database (<code class="code">ls-R</code>)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Database-format-1"></span><h4 class="subsection">5.5.3 Database format</h4> +<h4 class="subsection" id="Database-format-1">5.5.3 Database format</h4> -<span id="index-format-of-external-database"></span> -<span id="index-database_002c-format-of"></span> +<a class="index-entry-id" id="index-format-of-external-database"></a> +<a class="index-entry-id" id="index-database_002c-format-of"></a> <p>The “database” read by Kpathsea is a line-oriented file of plain -text. The format is that generated by GNU (and most other) <code>ls</code> -programs given the ‘<samp>-R</samp>’ option, as follows. +text. The format is that generated by GNU (and most other) <code class="code">ls</code> +programs given the ‘<samp class="samp">-R</samp>’ option, as follows. </p> -<ul> -<li> Blank lines are ignored. +<ul class="itemize mark-bullet"> +<li>Blank lines are ignored. -</li><li> If a line begins with ‘<samp>/</samp>’ or ‘<samp>./</samp>’ or ‘<samp>../</samp>’ and ends with -a colon, it’s the name of a directory. (‘<samp>../</samp>’ lines aren’t useful, +</li><li>If a line begins with ‘<samp class="samp">/</samp>’ or ‘<samp class="samp">./</samp>’ or ‘<samp class="samp">../</samp>’ and ends with +a colon, it’s the name of a directory. (‘<samp class="samp">../</samp>’ lines aren’t useful, however, and should not be generated.) -</li><li> All other lines define entries in the most recently seen directory. -<tt>/</tt>’s in such lines will produce possibly-strange results. +</li><li>All other lines define entries in the most recently seen directory. +<code class="t">/</code>’s in such lines will produce possibly-strange results. -</li><li> Files with no preceding directory line are ignored. +</li><li>Files with no preceding directory line are ignored. </li></ul> -<p>For example, here’s the first few lines of <samp>ls-R</samp> (which totals +<p>For example, here’s the first few lines of <samp class="file">ls-R</samp> (which totals about 30K bytes) on my system: </p> <div class="example"> -<pre class="example">bibtex +<pre class="example-preformatted">bibtex dvips fonts ls-R @@ -1666,146 +1661,146 @@ btxdoc.bib <hr> </div> </div> -<div class="section" id="Invoking-kpsewhich"> -<div class="header"> +<div class="section-level-extent" id="Invoking-kpsewhich"> +<div class="nav-panel"> <p> -Previous: <a href="#Filename-database" accesskey="p" rel="prev">Filename database (<code>ls-R</code>)</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#Filename-database" accesskey="p" rel="prev">Filename database (<code class="code">ls-R</code>)</a>, Up: <a href="#Path-searching" accesskey="u" rel="up">Path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="kpsewhich_003a-Standalone-path-searching"></span><h3 class="section">5.6 <code>kpsewhich</code>: Standalone path searching</h3> +<h3 class="section" id="kpsewhich_003a-Standalone-path-searching">5.6 <code class="code">kpsewhich</code>: Standalone path searching</h3> -<span id="index-kpsewhich"></span> -<span id="index-path-searching_002c-standalone"></span> -<span id="index-standalone-path-searching"></span> +<a class="index-entry-id" id="index-kpsewhich"></a> +<a class="index-entry-id" id="index-path-searching_002c-standalone"></a> +<a class="index-entry-id" id="index-standalone-path-searching"></a> <p>The Kpsewhich program exercises the path searching functionality independent of any particular application. This can also be useful as a -sort of <code>find</code> program to locate files in your TeX hierarchies, +sort of <code class="code">find</code> program to locate files in your TeX hierarchies, perhaps in administrative scripts. It is used heavily in the -distributed ‘<samp>mktex…</samp>’ scripts. +distributed ‘<samp class="samp">mktex…</samp>’ scripts. </p> <p>Synopsis: </p> <div class="example"> -<pre class="example">kpsewhich <var>option</var>… <var>filename</var>… +<pre class="example-preformatted">kpsewhich <var class="var">option</var>… <var class="var">filename</var>… </pre></div> <p>The options and filename(s) to look up can be intermixed. -Options can start with either ‘<samp>-</samp>’ or ‘<samp>--</samp>’, and any unambiguous +Options can start with either ‘<samp class="samp">-</samp>’ or ‘<samp class="samp">--</samp>’, and any unambiguous abbreviation is accepted. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Path-searching-options" accesskey="1">Path searching options</a></li> -<li><a href="#Specially_002drecognized-files" accesskey="2">Specially-recognized files for <code>kpsewhich</code></a></li> +<li><a href="#Specially_002drecognized-files" accesskey="2">Specially-recognized files for <code class="command">kpsewhich</code></a></li> <li><a href="#Auxiliary-tasks" accesskey="3">Auxiliary tasks</a></li> <li><a href="#Standard-options" accesskey="4">Standard options</a></li> </ul> <hr> -<div class="subsection" id="Path-searching-options"> -<div class="header"> +<div class="subsection-level-extent" id="Path-searching-options"> +<div class="nav-panel"> <p> -Next: <a href="#Specially_002drecognized-files" accesskey="n" rel="next">Specially-recognized files for <code>kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Specially_002drecognized-files" accesskey="n" rel="next">Specially-recognized files for <code class="command">kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Path-searching-options-1"></span><h4 class="subsection">5.6.1 Path searching options</h4> +<h4 class="subsection" id="Path-searching-options-1">5.6.1 Path searching options</h4> -<span id="index-path-searching-options"></span> +<a class="index-entry-id" id="index-path-searching-options"></a> <p>Kpsewhich looks up each non-option argument on the command line as a filename, and returns the first file found. </p> <p>Various options alter the path searching behavior: </p> -<dl compact="compact"> -<dt id='index-_002d_002dall'><span>‘<samp>--all</samp>’<a href='#index-_002d_002dall' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-all-matches_002c-finding"></span> +<dl class="table"> +<dt id='index-_002d_002dall'><span>‘<samp class="samp">--all</samp>’<a class="copiable-link" href='#index-_002d_002dall'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-all-matches_002c-finding"></a> <p>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). Exception: with the glyph formats (<code>pk</code>, <code>gf</code>), +random). Exception: with the glyph formats (<code class="code">pk</code>, <code class="code">gf</code>), this option has no effect and only the first match is returned. </p> </dd> -<dt id='index-_002d_002dcasefold_002dsearch'><span>‘<samp>--casefold-search</samp>’<a href='#index-_002d_002dcasefold_002dsearch' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>--no-casefold-search</samp>’</span></dt> -<dd><span id="index-_002d_002dno_002dcasefold_002dsearch"></span> +<dt id='index-_002d_002dcasefold_002dsearch'><span>‘<samp class="samp">--casefold-search</samp>’<a class="copiable-link" href='#index-_002d_002dcasefold_002dsearch'> ¶</a></span></dt> +<dt>‘<samp class="samp">--no-casefold-search</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002d_002dno_002dcasefold_002dsearch"></a> <p>Explicitly enable or disable the fallback to a case-insensitive search -on Unix platforms (see <a href="#Casefolding-search">Casefolding search</a>); no effect on Windows. -The default is enabled, set in <code>texmf.cnf</code>. Disabling -(<code>--no-casefold-search</code>) does not mean that searches magically +on Unix platforms (see <a class="pxref" href="#Casefolding-search">Casefolding search</a>); no effect on Windows. +The default is enabled, set in <code class="code">texmf.cnf</code>. Disabling +(<code class="code">--no-casefold-search</code>) does not mean that searches magically become case-sensitive when the underlying (file)system is case-insensitive, it merely means that Kpathsea does not do any casefolding itself. </p> </dd> -<dt id='index-_002d_002dcnf_002dline'><span>‘<samp>--cnf-line=<var>str</var></samp>’<a href='#index-_002d_002dcnf_002dline' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Parse <var>str</var> as if it were a line in the <samp>texmf.cnf</samp> -configuration file (see <a href="#Config-files">Config files</a>), overriding settings in the -actual configuration files, and also in the environment (see <a href="#Path-sources">Path sources</a>). This is implemented by making any settings from <var>str</var> +<dt id='index-_002d_002dcnf_002dline'><span>‘<samp class="samp">--cnf-line=<var class="var">str</var></samp>’<a class="copiable-link" href='#index-_002d_002dcnf_002dline'> ¶</a></span></dt> +<dd><p>Parse <var class="var">str</var> as if it were a line in the <samp class="file">texmf.cnf</samp> +configuration file (see <a class="pxref" href="#Config-files">Config files</a>), overriding settings in the +actual configuration files, and also in the environment (see <a class="pxref" href="#Path-sources">Path sources</a>). This is implemented by making any settings from <var class="var">str</var> in the environment, overwriting any value already there. Thus, an -extra colon in a ‘<samp>--cnf-line</samp>’ value will refer to the value from +extra colon in a ‘<samp class="samp">--cnf-line</samp>’ value will refer to the value from a configuration file, not a user-set environment variable. </p> -<p>Furthermore, any variable set from <var>str</var> will also be set with the -program name suffix. For example, <code>pdftex ---cnf-line=TEXINPUTS=/foo:</code> will set both <code>TEXINPUTS</code> and -<code>TEXINPUTS_pdftex</code> in the environment (and the value will be -<samp>/foo</samp> followed by the setting from <samp>texmf.cnf</samp>, ignoring -any user-set <code>TEXINPUTS</code>). +<p>Furthermore, any variable set from <var class="var">str</var> will also be set with the +program name suffix. For example, <code class="code">pdftex +--cnf-line=TEXINPUTS=/foo:</code> will set both <code class="code">TEXINPUTS</code> and +<code class="code">TEXINPUTS_pdftex</code> in the environment (and the value will be +<samp class="file">/foo</samp> followed by the setting from <samp class="file">texmf.cnf</samp>, ignoring +any user-set <code class="code">TEXINPUTS</code>). </p> <p>This behavior is desirable because, in practice, many variables in the -distributed <samp>texmf.cnf</samp> are program-specific, and the intuitive -behavior is for values set on the command line with <code>--cnf-line</code> +distributed <samp class="file">texmf.cnf</samp> are program-specific, and the intuitive +behavior is for values set on the command line with <code class="code">--cnf-line</code> to override them. </p> </dd> -<dt id='index-_002d_002ddpi_003dnum'><span>‘<samp>--dpi=<var>num</var></samp>’<a href='#index-_002d_002ddpi_003dnum' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002dD-num"></span> -<span id="index-resolution_002c-setting"></span> -<p>Set the resolution to <var>num</var>; this only affects ‘<samp>gf</samp>’ and -‘<samp>pk</samp>’ lookups. ‘<samp>-D</samp>’ is a synonym, for compatibility with +<dt id='index-_002d_002ddpi_003dnum'><span>‘<samp class="samp">--dpi=<var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002d_002ddpi_003dnum'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002dD-num"></a> +<a class="index-entry-id" id="index-resolution_002c-setting"></a> +<p>Set the resolution to <var class="var">num</var>; this only affects ‘<samp class="samp">gf</samp>’ and +‘<samp class="samp">pk</samp>’ lookups. ‘<samp class="samp">-D</samp>’ is a synonym, for compatibility with Dvips. Default is 600. </p> </dd> -<dt id='index-_002d_002dengine_003dname'><span>‘<samp>--engine=<var>name</var></samp>’<a href='#index-_002d_002dengine_003dname' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-engine-name"></span> -<p>Set the engine name to <var>name</var>. By default it is not set. The +<dt id='index-_002d_002dengine_003dname'><span>‘<samp class="samp">--engine=<var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002d_002dengine_003dname'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-engine-name"></a> +<p>Set the engine name to <var class="var">name</var>. By default it is not set. The engine name is used in some search paths to allow files with the same name but used by different engines to coexist. </p> <p>In particular, since the memory dump files -(<samp>.fmt</samp>/<samp>.base</samp>/<samp>.mem</samp>) are now stored in -subdirectories named for the engine (<samp>tex</samp>, <samp>pdftex</samp>, -<samp>xetex</samp>, etc.), you must specify an engine name in order to find -them. For example, <samp>cont-en.fmt</samp> typically exists for both -<samp>pdftex</samp> and <samp>xetex</samp>. With the default path settings, you -can use ‘<samp>--engine=/</samp>’ to look for any dump file, regardless of +(<samp class="file">.fmt</samp>/<samp class="file">.base</samp>/<samp class="file">.mem</samp>) are now stored in +subdirectories named for the engine (<samp class="file">tex</samp>, <samp class="file">pdftex</samp>, +<samp class="file">xetex</samp>, etc.), you must specify an engine name in order to find +them. For example, <samp class="file">cont-en.fmt</samp> typically exists for both +<samp class="file">pdftex</samp> and <samp class="file">xetex</samp>. With the default path settings, you +can use ‘<samp class="samp">--engine=/</samp>’ 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 ‘<samp>/</samp>’ ends up specifying +indeterminate which one is returned. (The ‘<samp class="samp">/</samp>’ ends up specifying a normal recursive search along the path where the dumps are stored, -namely ‘<samp>$TEXMF/web2c{/$engine,}</samp>’.) +namely ‘<samp class="samp">$TEXMF/web2c{/$engine,}</samp>’.) </p> </dd> -<dt id='index-_002d_002dformat_003dname'><span>‘<samp>--format=<var>name</var></samp>’<a href='#index-_002d_002dformat_003dname' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the format for lookup to <var>name</var>. By default, the format is -guessed from the filename, with ‘<samp>tex</samp>’ being used if nothing else +<dt id='index-_002d_002dformat_003dname'><span>‘<samp class="samp">--format=<var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002d_002dformat_003dname'> ¶</a></span></dt> +<dd><p>Set the format for lookup to <var class="var">name</var>. By default, the format is +guessed from the filename, with ‘<samp class="samp">tex</samp>’ being used if nothing else fits. The recognized filename extensions (including any leading -‘<samp>.</samp>’) are also allowable <var>name</var>s. +‘<samp class="samp">.</samp>’) are also allowable <var class="var">name</var>s. </p> <p>All formats also have a name, which is the only way to specify formats with no associated suffix. For example, for Dvips configuration files -you can use ‘<samp>--format="dvips config"</samp>’. (The quotes are for the +you can use ‘<samp class="samp">--format="dvips config"</samp>’. (The quotes are for the sake of the shell.) </p> <p>Here’s the current list of recognized names and the associated suffixes. -See <a href="#Supported-file-formats">Supported file formats</a>, for more information on each of these. +See <a class="xref" href="#Supported-file-formats">Supported file formats</a>, for more information on each of these. </p> <p>The strings in parentheses are abbreviations recognized only by -<code>kpsewhich</code> (not the underlying library calls). They are +<code class="code">kpsewhich</code> (not the underlying library calls). They are provided when it would otherwise require an argument containing a space to specify the format, to simplify quoting of calls from shells. </p> <div class="example"> -<pre class="example">gf: gf +<pre class="example-preformatted">gf: gf pk: pk bitmap font (bitmapfont): tfm: .tfm @@ -1852,7 +1847,7 @@ cweb: .w .web .ch enc files: .enc cmap files (cmap): subfont definition files: .sfd -opentype fonts: .otf +opentype fonts: .otf .OTF pdftex config (pdftexconfig): lig files: .lig texmfscripts: @@ -1866,68 +1861,68 @@ ris: .ris bltxml: .bltxml </pre></div> -<p>This option and ‘<samp>--path</samp>’ are mutually exclusive. +<p>This option and ‘<samp class="samp">--path</samp>’ are mutually exclusive. </p> </dd> -<dt id='index-_002d_002dinteractive'><span>‘<samp>--interactive</samp>’<a href='#index-_002d_002dinteractive' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-interactive-query"></span> +<dt id='index-_002d_002dinteractive'><span>‘<samp class="samp">--interactive</samp>’<a class="copiable-link" href='#index-_002d_002dinteractive'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-interactive-query"></a> <p>After processing the command line, read additional filenames to look up from standard input. </p> </dd> -<dt id='index-_002d_002dmktex_003dfiletype'><span>‘<samp>--mktex=<var>filetype</var></samp>’<a href='#index-_002d_002dmktex_003dfiletype' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>--no-mktex=<var>filetype</var></samp>’</span></dt> -<dd><span id="index-_002d_002dno_002dmktex_003dfiletype"></span> -<p>Turn on or off the ‘<samp>mktex</samp>’ script associated with <var>filetype</var>. -Usual values for <var>filetype</var> are ‘<samp>pk</samp>’, ‘<samp>mf</samp>’, ‘<samp>tex</samp>’, -and ‘<samp>tfm</samp>’. By default, all are off in Kpsewhich, even if they +<dt id='index-_002d_002dmktex_003dfiletype'><span>‘<samp class="samp">--mktex=<var class="var">filetype</var></samp>’<a class="copiable-link" href='#index-_002d_002dmktex_003dfiletype'> ¶</a></span></dt> +<dt>‘<samp class="samp">--no-mktex=<var class="var">filetype</var></samp>’</dt> +<dd><a class="index-entry-id" id="index-_002d_002dno_002dmktex_003dfiletype"></a> +<p>Turn on or off the ‘<samp class="samp">mktex</samp>’ script associated with <var class="var">filetype</var>. +Usual values for <var class="var">filetype</var> are ‘<samp class="samp">pk</samp>’, ‘<samp class="samp">mf</samp>’, ‘<samp class="samp">tex</samp>’, +and ‘<samp class="samp">tfm</samp>’. By default, all are off in Kpsewhich, even if they are enabled for TeX. This option implies setting -<code>--must-exist</code>. See <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>. +<code class="code">--must-exist</code>. See <a class="xref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>. </p> </dd> -<dt id='index-_002d_002dmode_003dstring'><span>‘<samp>--mode=<var>string</var></samp>’<a href='#index-_002d_002dmode_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the mode name to <var>string</var>; this also only affects ‘<samp>gf</samp>’ and -‘<samp>pk</samp>’ lookups. No default: any mode will be found. See <a href="#mktex-script-arguments"><samp>mktex</samp> script arguments</a>. +<dt id='index-_002d_002dmode_003dstring'><span>‘<samp class="samp">--mode=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002d_002dmode_003dstring'> ¶</a></span></dt> +<dd><p>Set the mode name to <var class="var">string</var>; this also only affects ‘<samp class="samp">gf</samp>’ and +‘<samp class="samp">pk</samp>’ lookups. No default: any mode will be found. See <a class="xref" href="#mktex-script-arguments"><samp class="file">mktex</samp> script arguments</a>. </p> </dd> -<dt id='index-_002d_002dmust_002dexist'><span>‘<samp>--must-exist</samp>’<a href='#index-_002d_002dmust_002dexist' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002d_002dmust_002dexist'><span>‘<samp class="samp">--must-exist</samp>’<a class="copiable-link" href='#index-_002d_002dmust_002dexist'> ¶</a></span></dt> <dd><p>Do everything possible to find the files, notably including searching -the disk and running the ‘<samp>mktex</samp>’ scripts. By default, only the -<samp>ls-R</samp> database is checked, in the interest of efficiency. +the disk and running the ‘<samp class="samp">mktex</samp>’ scripts. By default, only the +<samp class="file">ls-R</samp> database is checked, in the interest of efficiency. </p> </dd> -<dt id='index-_002d_002dpath_003dstring'><span>‘<samp>--path=<var>string</var></samp>’<a href='#index-_002d_002dpath_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Search along the path <var>string</var> (colon-separated as usual), instead -of guessing the search path from the filename. ‘<samp>//</samp>’ and all the -usual expansions are supported (see <a href="#Path-expansion">Path expansion</a>). This option -and ‘<samp>--format</samp>’ are mutually exclusive. To output the complete +<dt id='index-_002d_002dpath_003dstring'><span>‘<samp class="samp">--path=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002d_002dpath_003dstring'> ¶</a></span></dt> +<dd><p>Search along the path <var class="var">string</var> (colon-separated as usual), instead +of guessing the search path from the filename. ‘<samp class="samp">//</samp>’ and all the +usual expansions are supported (see <a class="pxref" href="#Path-expansion">Path expansion</a>). This option +and ‘<samp class="samp">--format</samp>’ are mutually exclusive. To output the complete directory expansion of a path, instead of doing a one-shot lookup, see -‘<samp>--expand-path</samp>’ and ‘<samp>--show-path</samp>’ in the following section. +‘<samp class="samp">--expand-path</samp>’ and ‘<samp class="samp">--show-path</samp>’ in the following section. </p> </dd> -<dt id='index-_002d_002dprogname_003dname'><span>‘<samp>--progname=<var>name</var></samp>’<a href='#index-_002d_002dprogname_003dname' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set the program name to <var>name</var>; default is ‘<samp>kpsewhich</samp>’. This -can affect the search paths via the ‘<samp>.<var>prognam</var></samp>’ feature in -configuration files (see <a href="#Config-files">Config files</a>). +<dt id='index-_002d_002dprogname_003dname'><span>‘<samp class="samp">--progname=<var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002d_002dprogname_003dname'> ¶</a></span></dt> +<dd><p>Set the program name to <var class="var">name</var>; default is ‘<samp class="samp">kpsewhich</samp>’. This +can affect the search paths via the ‘<samp class="samp">.<var class="var">prognam</var></samp>’ feature in +configuration files (see <a class="pxref" href="#Config-files">Config files</a>). </p> </dd> -<dt id='index-_002d_002dsubdir_003dstring'><span>‘<samp>--subdir=<var>string</var></samp>’<a href='#index-_002d_002dsubdir_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Report only those matches whose directory part <em>ends</em> with -<var>string</var> (compared literally, except case is ignored on a +<dt id='index-_002d_002dsubdir_003dstring'><span>‘<samp class="samp">--subdir=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002d_002dsubdir_003dstring'> ¶</a></span></dt> +<dd><p>Report only those matches whose directory part <em class="emph">ends</em> with +<var class="var">string</var> (compared literally, except case is ignored on a case-insensitive operating system). For example, suppose there are two matches for a given name: </p> <div class="example"> -<pre class="example">kpsewhich foo.sty +<pre class="example-preformatted">kpsewhich foo.sty ⇒ /some/where/foo.sty /another/place/foo.sty </pre></div> <p>Then we can narrow the result to what we are interested in with -<samp>--subdir</samp>: +<samp class="option">--subdir</samp>: </p> <div class="example"> -<pre class="example">kpsewhich --subdir=where foo.sty +<pre class="example-preformatted">kpsewhich --subdir=where foo.sty ⇒ /some/where/foo.sty kpsewhich --subdir=place foo.sty @@ -1938,53 +1933,53 @@ kpsewhich --subdir=place foo.sty match, and it is taken literally, with no pattern matching: </p> <div class="example"> -<pre class="example">kpsewhich --subdir=another foo.sty +<pre class="example-preformatted">kpsewhich --subdir=another foo.sty ⇒ </pre></div> <p>The string to match may cross directory components: </p> <div class="example"> -<pre class="example">kpsewhich --subdir=some/where foo.sty +<pre class="example-preformatted">kpsewhich --subdir=some/where foo.sty ⇒ /some/where/foo.sty </pre></div> -<p><samp>--subdir</samp> implies <samp>--all</samp>; if there is more than one -match, they will all be reported (in our example, both ‘<samp>where</samp>’ -and ‘<samp>place</samp>’ end in ‘<samp>e</samp>’): +<p><samp class="option">--subdir</samp> implies <samp class="option">--all</samp>; if there is more than one +match, they will all be reported (in our example, both ‘<samp class="samp">where</samp>’ +and ‘<samp class="samp">place</samp>’ end in ‘<samp class="samp">e</samp>’): </p> <div class="example"> -<pre class="example">kpsewhich --subdir=e +<pre class="example-preformatted">kpsewhich --subdir=e ⇒ /some/where/foo.sty /another/place/foo.sty </pre></div> -<p>Because of the above rules, the presence of a leading ‘<samp>/</samp>’ is +<p>Because of the above rules, the presence of a leading ‘<samp class="samp">/</samp>’ is important, since it “anchors” the match to a full component name: </p> <div class="example"> -<pre class="example">kpsewhich --subdir=/lace foo.sty +<pre class="example-preformatted">kpsewhich --subdir=/lace foo.sty ⇒ </pre></div> -<p>However, a trailing ‘<samp>/</samp>’ is immaterial (and ignored), since the +<p>However, a trailing ‘<samp class="samp">/</samp>’ is immaterial (and ignored), since the match always takes place at the end of the directory part: </p> <div class="example"> -<pre class="example">kpsewhich --subdir=lace/ foo.sty +<pre class="example-preformatted">kpsewhich --subdir=lace/ foo.sty ⇒ /another/place/foo.sty </pre></div> <p>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 <samp>foo.lua</samp> might exist within both -<samp>texmf-dist/scripts/pkg1/</samp> and <samp>texmf-dist/scripts/pkg2/</samp>. -By specifying, say, ‘<samp>--subdir=/pkg1</samp>’, you can be sure of getting +script named <samp class="file">foo.lua</samp> might exist within both +<samp class="file">texmf-dist/scripts/pkg1/</samp> and <samp class="file">texmf-dist/scripts/pkg2/</samp>. +By specifying, say, ‘<samp class="samp">--subdir=/pkg1</samp>’, you can be sure of getting the one you are interested in. </p> <p>We only match at the end because a site might happen to install TeX -in <samp>/some/coincidental/pkg1/path/</samp>, and we wouldn’t want to match -<samp>texmf-dist/scripts/pkg2/</samp> that when searching for ‘<samp>/pkg1</samp>’. +in <samp class="file">/some/coincidental/pkg1/path/</samp>, and we wouldn’t want to match +<samp class="file">texmf-dist/scripts/pkg2/</samp> that when searching for ‘<samp class="samp">/pkg1</samp>’. </p> </dd> </dl> @@ -1992,184 +1987,184 @@ in <samp>/some/coincidental/pkg1/path/</samp>, and we wouldn’t want to mat <hr> </div> -<div class="subsection" id="Specially_002drecognized-files"> -<div class="header"> +<div class="subsection-level-extent" id="Specially_002drecognized-files"> +<div class="nav-panel"> <p> -Next: <a href="#Auxiliary-tasks" accesskey="n" rel="next">Auxiliary tasks</a>, Previous: <a href="#Path-searching-options" accesskey="p" rel="prev">Path searching options</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Auxiliary-tasks" accesskey="n" rel="next">Auxiliary tasks</a>, Previous: <a href="#Path-searching-options" accesskey="p" rel="prev">Path searching options</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Specially_002drecognized-files-for-kpsewhich"></span><h4 class="subsection">5.6.2 Specially-recognized files for <code>kpsewhich</code></h4> +<h4 class="subsection" id="Specially_002drecognized-files-for-kpsewhich">5.6.2 Specially-recognized files for <code class="command">kpsewhich</code></h4> -<p><code>kpsewhich</code> recognizes a few special filenames on the command +<p><code class="command">kpsewhich</code> 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 <code>kpsewhich</code>; when using the Kpathsea library +feature of <code class="command">kpsewhich</code>; 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. </p> -<p>Here is the list of special filenames to <code>kpsewhich</code>, along +<p>Here is the list of special filenames to <code class="command">kpsewhich</code>, along with their corresponding format: </p> -<dl compact="compact"> +<dl class="table"> <dd> -<span id="index-config_002eps"></span> +<a class="index-entry-id" id="index-config_002eps"></a> </dd> -<dt><span><samp>config.ps</samp></span></dt> -<dd><p><code>dvips config</code> +<dt><samp class="file">config.ps</samp></dt> +<dd><p><code class="code">dvips config</code> </p> -<span id="index-dvipdfmx_002ecfg"></span> +<a class="index-entry-id" id="index-dvipdfmx_002ecfg"></a> </dd> -<dt><span><samp>dvipdfmx.cfg</samp></span></dt> -<dd><p>‘<samp>other text files</samp>’ +<dt><samp class="file">dvipdfmx.cfg</samp></dt> +<dd><p>‘<samp class="samp">other text files</samp>’ </p> -<span id="index-fmtutil_002ecnf"></span> +<a class="index-entry-id" id="index-fmtutil_002ecnf"></a> </dd> -<dt><span><samp>fmtutil.cnf</samp></span></dt> -<dd><p>‘<samp>web2c files</samp>’ +<dt><samp class="file">fmtutil.cnf</samp></dt> +<dd><p>‘<samp class="samp">web2c files</samp>’ </p> -<span id="index-glyphlist_002etxt"></span> +<a class="index-entry-id" id="index-glyphlist_002etxt"></a> </dd> -<dt><span><samp>glyphlist.txt</samp></span></dt> -<dd><p>‘<samp>map</samp>’ +<dt><samp class="file">glyphlist.txt</samp></dt> +<dd><p>‘<samp class="samp">map</samp>’ </p> -<span id="index-mktex_002ecnf"></span> +<a class="index-entry-id" id="index-mktex_002ecnf"></a> </dd> -<dt><span><samp>mktex.cnf</samp></span></dt> -<dd><p>‘<samp>web2c files</samp>’ +<dt><samp class="file">mktex.cnf</samp></dt> +<dd><p>‘<samp class="samp">web2c files</samp>’ </p> -<span id="index-pdfglyphlist_002etxt"></span> +<a class="index-entry-id" id="index-pdfglyphlist_002etxt"></a> </dd> -<dt><span><samp>pdfglyphlist.txt</samp></span></dt> -<dd><p>‘<samp>map</samp>’ +<dt><samp class="file">pdfglyphlist.txt</samp></dt> +<dd><p>‘<samp class="samp">map</samp>’ </p> -<span id="index-pdftex_002ecfg"></span> -<span id="index-pdftexconfig_002etex"></span> +<a class="index-entry-id" id="index-pdftex_002ecfg"></a> +<a class="index-entry-id" id="index-pdftexconfig_002etex"></a> </dd> -<dt><span><samp>pdftex.cfg</samp></span></dt> -<dd><p>‘<samp>pdftex config</samp>’ (although <samp>pdftex.cfg</samp> is not used any more; -look for the file <samp>pdftexconfig.tex</samp> instead.) +<dt><samp class="file">pdftex.cfg</samp></dt> +<dd><p>‘<samp class="samp">pdftex config</samp>’ (although <samp class="file">pdftex.cfg</samp> is not used any more; +look for the file <samp class="file">pdftexconfig.tex</samp> instead.) </p> -<span id="index-texmf_002ecnf"></span> +<a class="index-entry-id" id="index-texmf_002ecnf"></a> </dd> -<dt><span><samp>texmf.cnf</samp></span></dt> -<dd><p>‘<samp>cnf</samp>’ +<dt><samp class="file">texmf.cnf</samp></dt> +<dd><p>‘<samp class="samp">cnf</samp>’ </p> -<span id="index-XDvi"></span> +<a class="index-entry-id" id="index-XDvi"></a> </dd> -<dt><span><samp>XDvi</samp></span></dt> -<dd><p>‘<samp>other text files</samp>’ +<dt><samp class="file">XDvi</samp></dt> +<dd><p>‘<samp class="samp">other text files</samp>’ </p> </dd> </dl> <p>A user-specified format will override the above defaults. </p> -<span id="index-tcfmgr_002emap"></span> -<p>Another useful configuration file in this regard is <samp>tcfmgr.map</samp>, -found in <samp>texmf/texconfig/tcfmgr.map</samp>, which records various +<a class="index-entry-id" id="index-tcfmgr_002emap"></a> +<p>Another useful configuration file in this regard is <samp class="file">tcfmgr.map</samp>, +found in <samp class="file">texmf/texconfig/tcfmgr.map</samp>, which records various information about the above configuration files (among others). </p> <hr> </div> -<div class="subsection" id="Auxiliary-tasks"> -<div class="header"> +<div class="subsection-level-extent" id="Auxiliary-tasks"> +<div class="nav-panel"> <p> -Next: <a href="#Standard-options" accesskey="n" rel="next">Standard options</a>, Previous: <a href="#Specially_002drecognized-files" accesskey="p" rel="prev">Specially-recognized files for <code>kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Standard-options" accesskey="n" rel="next">Standard options</a>, Previous: <a href="#Specially_002drecognized-files" accesskey="p" rel="prev">Specially-recognized files for <code class="command">kpsewhich</code></a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Auxiliary-tasks-1"></span><h4 class="subsection">5.6.3 Auxiliary tasks</h4> +<h4 class="subsection" id="Auxiliary-tasks-1">5.6.3 Auxiliary tasks</h4> -<span id="index-auxiliary-tasks"></span> +<a class="index-entry-id" id="index-auxiliary-tasks"></a> <p>Kpsewhich provides some features in addition to path lookup as such: </p> -<dl compact="compact"> -<dt id='index-_002d_002ddebug_003dnum'><span>‘<samp>--debug=<var>num</var></samp>’<a href='#index-_002d_002ddebug_003dnum' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set debugging options to <var>num</var>. See <a href="#Debugging">Debugging</a>. +<dl class="table"> +<dt id='index-_002d_002ddebug_003dnum'><span>‘<samp class="samp">--debug=<var class="var">num</var></samp>’<a class="copiable-link" href='#index-_002d_002ddebug_003dnum'> ¶</a></span></dt> +<dd><p>Set debugging options to <var class="var">num</var>. See <a class="xref" href="#Debugging">Debugging</a>. </p> </dd> -<dt id='index-_002d_002dexpand_002dbraces_003dstring'><span>‘<samp>--expand-braces=<var>string</var></samp>’<a href='#index-_002d_002dexpand_002dbraces_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output variable, tilde, and brace expansion of <var>string</var>, which is -assumed to be a single path element. See <a href="#Path-expansion">Path expansion</a>. +<dt id='index-_002d_002dexpand_002dbraces_003dstring'><span>‘<samp class="samp">--expand-braces=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002d_002dexpand_002dbraces_003dstring'> ¶</a></span></dt> +<dd><p>Output variable, tilde, and brace expansion of <var class="var">string</var>, which is +assumed to be a single path element. See <a class="xref" href="#Path-expansion">Path expansion</a>. </p> </dd> -<dt id='index-_002d_002dexpand_002dpath_003dstring'><span>‘<samp>--expand-path=<var>string</var></samp>’<a href='#index-_002d_002dexpand_002dpath_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output the complete expansion of <var>string</var>, with each element -separated by the usual path separator on the current system (‘<samp>;</samp>’ -on Windows, ‘<samp>:</samp>’ otherwise). This may be useful to construct a +<dt id='index-_002d_002dexpand_002dpath_003dstring'><span>‘<samp class="samp">--expand-path=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002d_002dexpand_002dpath_003dstring'> ¶</a></span></dt> +<dd><p>Output the complete expansion of <var class="var">string</var>, with each element +separated by the usual path separator on the current system (‘<samp class="samp">;</samp>’ +on Windows, ‘<samp class="samp">:</samp>’ 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 -‘<samp>--show-path</samp>’. +‘<samp class="samp">--show-path</samp>’. </p> <p>Nonexistent directories are culled from the output: </p> <div class="example"> -<pre class="example">$ kpsewhich --expand-path '/tmp' +<pre class="example-preformatted">$ kpsewhich --expand-path '/tmp' ⇒ /tmp $ kpsewhich --expand-path '/nonesuch' ⇒ </pre></div> <p>For one-shot uses of an arbitrary (not built in to Kpathsea) path, see -‘<samp>--path</samp>’ (see <a href="#Path-searching-options">Path searching options</a>). +‘<samp class="samp">--path</samp>’ (see <a class="pxref" href="#Path-searching-options">Path searching options</a>). </p> </dd> -<dt id='index-_002d_002dexpand_002dvar_003dstring'><span>‘<samp>--expand-var=<var>string</var></samp>’<a href='#index-_002d_002dexpand_002dvar_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output the variable and tilde expansion of <var>string</var>. For example, -with the usual <samp>texmf.cnf</samp>, ‘<samp>kpsewhich +<dt id='index-_002d_002dexpand_002dvar_003dstring'><span>‘<samp class="samp">--expand-var=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002d_002dexpand_002dvar_003dstring'> ¶</a></span></dt> +<dd><p>Output the variable and tilde expansion of <var class="var">string</var>. For example, +with the usual <samp class="file">texmf.cnf</samp>, ‘<samp class="samp">kpsewhich --expand-var='$TEXMF'</samp>’ returns the TeX system hierarchy root(s). -See <a href="#Path-expansion">Path expansion</a>. The specified <var>string</var> can contain +See <a class="xref" href="#Path-expansion">Path expansion</a>. The specified <var class="var">string</var> can contain anything, though, not just variable references. This calls -<code>kpse_var_expand</code> (see <a href="#Programming-with-config-files">Programming with config files</a>). +<code class="code">kpse_var_expand</code> (see <a class="pxref" href="#Programming-with-config-files">Programming with config files</a>). </p> </dd> -<dt id='index-_002d_002dhelp_002dformats'><span>‘<samp>--help-formats</samp>’<a href='#index-_002d_002dhelp_002dformats' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output information about each supported format (see <a href="#Supported-file-formats">Supported file formats</a>), including the names and abbreviations, variables +<dt id='index-_002d_002dhelp_002dformats'><span>‘<samp class="samp">--help-formats</samp>’<a class="copiable-link" href='#index-_002d_002dhelp_002dformats'> ¶</a></span></dt> +<dd><p>Output information about each supported format (see <a class="pxref" href="#Supported-file-formats">Supported file formats</a>), including the names and abbreviations, variables looked for, and the original path. </p> </dd> -<dt id='index-_002d_002dsafe_002din_002dname_003dname'><span>‘<samp>--safe-in-name=<var>name</var></samp>’<a href='#index-_002d_002dsafe_002din_002dname_003dname' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>--safe-out-name=<var>name</var></samp>’</span></dt> -<dd><span id="index-_002d_002dsafe_002dout_002dname_003dname"></span> -<p>Exit successfully if <var>name</var> is safe to open for reading or +<dt id='index-_002d_002dsafe_002din_002dname_003dname'><span>‘<samp class="samp">--safe-in-name=<var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002d_002dsafe_002din_002dname_003dname'> ¶</a></span></dt> +<dt>‘<samp class="samp">--safe-out-name=<var class="var">name</var></samp>’</dt> +<dd><a class="index-entry-id" id="index-_002d_002dsafe_002dout_002dname_003dname"></a> +<p>Exit successfully if <var class="var">name</var> is safe to open for reading or writing, respectively, else unsuccessfully. No output is written. These tests take account of the related Kpathsea configuration -settings (see <a href="#Calling-sequence">Calling sequence</a>). +settings (see <a class="pxref" href="#Calling-sequence">Calling sequence</a>). </p> </dd> -<dt id='index-_002d_002dshow_002dpath_003dname'><span>‘<samp>--show-path=<var>name</var></samp>’<a href='#index-_002d_002dshow_002dpath_003dname' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002d_002dshow_002dpath_003dname'><span>‘<samp class="samp">--show-path=<var class="var">name</var></samp>’<a class="copiable-link" href='#index-_002d_002dshow_002dpath_003dname'> ¶</a></span></dt> <dd><p>Show the path that would be used for file lookups of file type -<var>name</var>. Either a filename extension (‘<samp>pk</samp>’, ‘<samp>.vf</samp>’, etc.) -or an integer can be used, just as with ‘<samp>--format</samp>’, described in +<var class="var">name</var>. Either a filename extension (‘<samp class="samp">pk</samp>’, ‘<samp class="samp">.vf</samp>’, etc.) +or an integer can be used, just as with ‘<samp class="samp">--format</samp>’, described in the previous section. </p> </dd> -<dt id='index-_002d_002dvar_002dbrace_002dvalue_003dvariable'><span>‘<samp>--var-brace-value=<var>variable</var></samp>’<a href='#index-_002d_002dvar_002dbrace_002dvalue_003dvariable' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Like ‘<samp>--var-value</samp>’ (next), but also expands ‘<samp>{...}</samp>’ -constructs. (see <a href="#Brace-expansion">Brace expansion</a>). Thus, the value is assumed to -possibly be several path elements, and ‘<samp>~</samp>’ is expanded at the +<dt id='index-_002d_002dvar_002dbrace_002dvalue_003dvariable'><span>‘<samp class="samp">--var-brace-value=<var class="var">variable</var></samp>’<a class="copiable-link" href='#index-_002d_002dvar_002dbrace_002dvalue_003dvariable'> ¶</a></span></dt> +<dd><p>Like ‘<samp class="samp">--var-value</samp>’ (next), but also expands ‘<samp class="samp">{...}</samp>’ +constructs. (see <a class="pxref" href="#Brace-expansion">Brace expansion</a>). Thus, the value is assumed to +possibly be several path elements, and ‘<samp class="samp">~</samp>’ is expanded at the beginning of each. The path separator is changed to that of the current system in the expansion. </p> -<p>Example: ‘<samp>FOO='.;~' kpsewhich --var-brace-value=FOO</samp>’ outputs (on -a Unix-ish system) ‘<samp>.:/home/karl</samp>’, supposing the latter is the -current user’s home directory. Note that the ‘<samp>;</samp>’ in the source -value, as commonly used in <samp>texmf.cnf</samp>, has changed to a -‘<samp>:</samp>’, as the normal path separator on the current system. On a -Windows-ish system, the ‘<samp>;</samp>’ would remain. +<p>Example: ‘<samp class="samp">FOO='.;~' kpsewhich --var-brace-value=FOO</samp>’ outputs (on +a Unix-ish system) ‘<samp class="samp">.:/home/karl</samp>’, supposing the latter is the +current user’s home directory. Note that the ‘<samp class="samp">;</samp>’ in the source +value, as commonly used in <samp class="file">texmf.cnf</samp>, has changed to a +‘<samp class="samp">:</samp>’, as the normal path separator on the current system. On a +Windows-ish system, the ‘<samp class="samp">;</samp>’ would remain. </p> </dd> -<dt id='index-_002d_002dvar_002dvalue_003dvariable'><span>‘<samp>--var-value=<var>variable</var></samp>’<a href='#index-_002d_002dvar_002dvalue_003dvariable' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Outputs the value of <var>variable</var> (a simple identifier like -‘<samp>TEXMFDIST</samp>’, with no ‘<samp>$</samp>’ or other constructs), expanding -‘<samp>$</samp>’ (see <a href="#Variable-expansion">Variable expansion</a>) and ‘<samp>~</samp>’ (see <a href="#Tilde-expansion">Tilde expansion</a>) constructs in the value. ‘<samp>~</samp>’ expansion happens at the +<dt id='index-_002d_002dvar_002dvalue_003dvariable'><span>‘<samp class="samp">--var-value=<var class="var">variable</var></samp>’<a class="copiable-link" href='#index-_002d_002dvar_002dvalue_003dvariable'> ¶</a></span></dt> +<dd><p>Outputs the value of <var class="var">variable</var> (a simple identifier like +‘<samp class="samp">TEXMFDIST</samp>’, with no ‘<samp class="samp">$</samp>’ or other constructs), expanding +‘<samp class="samp">$</samp>’ (see <a class="pxref" href="#Variable-expansion">Variable expansion</a>) and ‘<samp class="samp">~</samp>’ (see <a class="pxref" href="#Tilde-expansion">Tilde expansion</a>) constructs in the value. ‘<samp class="samp">~</samp>’ expansion happens at the beginning of the overall value and at the beginning of a variable expansion, but not arbitrarily within the string. Braces are not expanded. </p> -<p>Example: ‘<samp>--var-value=texmf_casefold_search</samp>’ outputs (if the -default is not changed) ‘<samp>1</samp>’. +<p>Example: ‘<samp class="samp">--var-value=texmf_casefold_search</samp>’ outputs (if the +default is not changed) ‘<samp class="samp">1</samp>’. </p> -<p>Example to contrast with ‘<samp>--var-brace-value</samp>’: ‘<samp>FOO='.;~' -kpsewhich --var-value=FOO</samp>’ outputs ‘<samp>.;~</samp>’, i.e., the same as the +<p>Example to contrast with ‘<samp class="samp">--var-brace-value</samp>’: ‘<samp class="samp">FOO='.;~' +kpsewhich --var-value=FOO</samp>’ outputs ‘<samp class="samp">.;~</samp>’, i.e., the same as the input value, on all systems. </p> </dd> @@ -2178,24 +2173,24 @@ input value, on all systems. <hr> </div> -<div class="subsection" id="Standard-options"> -<div class="header"> +<div class="subsection-level-extent" id="Standard-options"> +<div class="nav-panel"> <p> -Previous: <a href="#Auxiliary-tasks" accesskey="p" rel="prev">Auxiliary tasks</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code>kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#Auxiliary-tasks" accesskey="p" rel="prev">Auxiliary tasks</a>, Up: <a href="#Invoking-kpsewhich" accesskey="u" rel="up"><code class="code">kpsewhich</code>: Standalone path searching</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Standard-options-1"></span><h4 class="subsection">5.6.4 Standard options</h4> +<h4 class="subsection" id="Standard-options-1">5.6.4 Standard options</h4> -<span id="index-standard-options"></span> +<a class="index-entry-id" id="index-standard-options"></a> <p>Kpsewhich accepts the standard GNU options: </p> -<ul> -<li> <span id="index-_002d_002dhelp"></span> -‘<samp>--help</samp>’ prints a help message on standard output and exits +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-_002d_002dhelp"></a> +‘<samp class="samp">--help</samp>’ prints a help message on standard output and exits successfully. -</li><li> <span id="index-_002d_002dversion"></span> -‘<samp>--version</samp>’ prints the Kpathsea version number and exits successfully. +</li><li><a class="index-entry-id" id="index-_002d_002dversion"></a> +‘<samp class="samp">--version</samp>’ prints the Kpathsea version number and exits successfully. </li></ul> @@ -2203,14 +2198,14 @@ successfully. </div> </div> </div> -<div class="chapter" id="TeX-support"> -<div class="header"> +<div class="chapter-level-extent" id="TeX-support"> +<div class="nav-panel"> <p> Next: <a href="#Programming" accesskey="n" rel="next">Programming</a>, Previous: <a href="#Path-searching" accesskey="p" rel="prev">Path searching</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="TeX-support-1"></span><h2 class="chapter">6 TeX support</h2> +<h2 class="chapter" id="TeX-support-1">6 TeX support</h2> -<span id="index-TeX-support"></span> +<a class="index-entry-id" id="index-TeX-support"></a> <p>Although the basic features in Kpathsea can be used for any type of path searching, it came about, as usual, with a specific application @@ -2227,31 +2222,31 @@ features were provided because they seemed useful in that conTeXt <p>Kpathsea provides a standard way to search for files of any of the supported file types; glyph fonts are a bit different than all the rest. Searches are based solely on names of files, not their -contents—if a GF file is (mis)named <samp>cmr10.600pk</samp>, it will be +contents—if a GF file is (mis)named <samp class="file">cmr10.600pk</samp>, it will be found as a PK file. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Supported-file-formats" accesskey="1">Supported file formats</a></li> <li><a href="#File-lookup" accesskey="2">File lookup</a></li> <li><a href="#Glyph-lookup" accesskey="3">Glyph lookup</a></li> <li><a href="#Suppressing-warnings" accesskey="4">Suppressing warnings</a></li> -<li><a href="#mktex-scripts" accesskey="5"><samp>mktex</samp> scripts</a></li> +<li><a href="#mktex-scripts" accesskey="5"><samp class="file">mktex</samp> scripts</a></li> </ul> <hr> -<div class="section" id="Supported-file-formats"> -<div class="header"> +<div class="section-level-extent" id="Supported-file-formats"> +<div class="nav-panel"> <p> Next: <a href="#File-lookup" accesskey="n" rel="next">File lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Supported-file-formats-1"></span><h3 class="section">6.1 Supported file formats</h3> +<h3 class="section" id="Supported-file-formats-1">6.1 Supported file formats</h3> -<span id="index-supported-file-formats"></span> -<span id="index-file-formats_002c-supported"></span> +<a class="index-entry-id" id="index-supported-file-formats"></a> +<a class="index-entry-id" id="index-file-formats_002c-supported"></a> -<span id="index-environment-variables-for-TeX"></span> -<span id="index-TeX-environment-variables"></span> +<a class="index-entry-id" id="index-environment-variables-for-TeX"></a> +<a class="index-entry-id" id="index-TeX-environment-variables"></a> <p>Kpathsea has support for a number of file types. Each file type has a list of environment and config file variables that are checked to define @@ -2259,626 +2254,640 @@ the search path, and most have a default suffix that plays a role in finding files (see the next section). Some also define additional suffixes, and/or a program to be run to create missing files on the fly. </p> -<span id="index-program_002dvarying-paths"></span> +<a class="index-entry-id" id="index-program_002dvarying-paths"></a> <p>Since environment variables containing periods, such as -‘<samp>TEXINPUTS.latex</samp>’, are not allowed on some systems, Kpathsea looks +‘<samp class="samp">TEXINPUTS.latex</samp>’, are not allowed on some systems, Kpathsea looks for environment variables with an underscore, e.g., -‘<samp>TEXINPUTS_latex</samp>’ (see <a href="#Config-files">Config files</a>). +‘<samp class="samp">TEXINPUTS_latex</samp>’ (see <a class="pxref" href="#Config-files">Config files</a>). </p> <p>The following table lists the above information. You can also get the -list by giving the ‘<samp>--help-formats</samp>’ option to <code>kpsewhich</code> -(see <a href="#Auxiliary-tasks">Auxiliary tasks</a>). +list by giving the ‘<samp class="samp">--help-formats</samp>’ option to <code class="code">kpsewhich</code> +(see <a class="pxref" href="#Auxiliary-tasks">Auxiliary tasks</a>). </p> -<dl compact="compact"> -<dt id='index-_002eafm'><span>‘<samp>afm</samp>’<a href='#index-_002eafm' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-AFMFONTS"></span> -<p>(Adobe font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>) -<code>AFMFONTS</code>; -suffix ‘<samp>.afm</samp>’. +<dl class="table"> +<dt id='index-_002eafm'><span>‘<samp class="samp">afm</samp>’<a class="copiable-link" href='#index-_002eafm'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-AFMFONTS"></a> +<p>(Adobe font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>) +<code class="code">AFMFONTS</code>; +suffix ‘<samp class="samp">.afm</samp>’. </p> </dd> -<dt id='index-_002ebase'><span>‘<samp>base</samp>’<a href='#index-_002ebase' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MFBASES"></span> -<span id="index-TEXMFINI"></span> -<p>(Metafont memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite>Web2c</cite>) -<code>MFBASES</code>, <code>TEXMFINI</code>; -suffix ‘<samp>.base</samp>’. +<dt id='index-_002ebase'><span>‘<samp class="samp">base</samp>’<a class="copiable-link" href='#index-_002ebase'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MFBASES"></a> +<a class="index-entry-id" id="index-TEXMFINI"></a> +<p>(Metafont memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite class="cite">Web2c</cite>) +<code class="code">MFBASES</code>, <code class="code">TEXMFINI</code>; +suffix ‘<samp class="samp">.base</samp>’. </p> </dd> -<dt id='index-_002ebib'><span>‘<samp>bib</samp>’<a href='#index-_002ebib' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-BIBINPUTS"></span> -<span id="index-TEXBIB"></span> -<p>(BibTeX bibliography source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#bibtex-invocation">bibtex invocation</a> in <cite>Web2c</cite>) -<code>BIBINPUTS</code>, <code>TEXBIB</code>; -suffix ‘<samp>.bib</samp>’. +<dt id='index-_002ebib'><span>‘<samp class="samp">bib</samp>’<a class="copiable-link" href='#index-_002ebib'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-BIBINPUTS"></a> +<a class="index-entry-id" id="index-TEXBIB"></a> +<p>(BibTeX bibliography source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#bibtex-invocation">bibtex invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">BIBINPUTS</code>, <code class="code">TEXBIB</code>; +suffix ‘<samp class="samp">.bib</samp>’. </p> </dd> -<dt id='index-_002ebltxml'><span>‘<samp>bltxml</samp>’<a href='#index-_002ebltxml' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-BLTXMLINPUTS"></span> -<p>(BibLaTeXML bibliography files for Biber, <a href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>) -<code>BLTXMLINPUTS</code> -suffix ‘<samp>.bltxml</samp>’. +<dt id='index-_002ebltxml'><span>‘<samp class="samp">bltxml</samp>’<a class="copiable-link" href='#index-_002ebltxml'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-BLTXMLINPUTS"></a> +<p>(BibLaTeXML bibliography files for Biber, <a class="url" href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>) +<code class="code">BLTXMLINPUTS</code> +suffix ‘<samp class="samp">.bltxml</samp>’. </p> </dd> -<dt id='index-_002ebst'><span>‘<samp>bst</samp>’<a href='#index-_002ebst' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-BSTINPUTS"></span> +<dt id='index-_002ebst'><span>‘<samp class="samp">bst</samp>’<a class="copiable-link" href='#index-_002ebst'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-BSTINPUTS"></a> <p>(BibTeX style, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Basic-BibTeX-style-files">Basic BibTeX -style files</a> in <cite>Web2c</cite>) -<code>BSTINPUTS</code>; -suffix ‘<samp>.bst</samp>’. +style files</a> in <cite class="cite">Web2c</cite>) +<code class="code">BSTINPUTS</code>; +suffix ‘<samp class="samp">.bst</samp>’. </p> </dd> -<dt id='index-_002edll'><span>‘<samp>clua</samp>’<a href='#index-_002edll' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002eso"></span> -<span id="index-CLUAINPUTS"></span> -<p>(dynamic libraries for Lua, <a href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>) -<code>CLUAINPUTS</code> -suffixes ‘<samp>.dll</samp>’ and ‘<samp>.so</samp>’. +<dt id='index-_002edll'><span>‘<samp class="samp">clua</samp>’<a class="copiable-link" href='#index-_002edll'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002eso"></a> +<a class="index-entry-id" id="index-CLUAINPUTS"></a> +<p>(dynamic libraries for Lua, <a class="url" href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>) +<code class="code">CLUAINPUTS</code> +suffixes ‘<samp class="samp">.dll</samp>’ and ‘<samp class="samp">.so</samp>’. </p> </dd> -<dt id='index-_002ecmap'><span>‘<samp>cmap</samp>’<a href='#index-_002ecmap' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-CMAPFONTS"></span> +<dt id='index-_002ecmap'><span>‘<samp class="samp">cmap</samp>’<a class="copiable-link" href='#index-_002ecmap'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-CMAPFONTS"></a> <p>(character map files) -<code>CMAPFONTS</code>; -suffix ‘<samp>.cmap</samp>’. +<code class="code">CMAPFONTS</code>; +suffix ‘<samp class="samp">.cmap</samp>’. </p> </dd> -<dt id='index-_002ecnf'><span>‘<samp>cnf</samp>’<a href='#index-_002ecnf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXMFCNF-1"></span> -<p>(Runtime configuration files, see <a href="#Config-files">Config files</a>) -<code>TEXMFCNF</code>; -suffix ‘<samp>.cnf</samp>’. +<dt id='index-_002ecnf'><span>‘<samp class="samp">cnf</samp>’<a class="copiable-link" href='#index-_002ecnf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXMFCNF-1"></a> +<p>(Runtime configuration files, see <a class="pxref" href="#Config-files">Config files</a>) +<code class="code">TEXMFCNF</code>; +suffix ‘<samp class="samp">.cnf</samp>’. </p> </dd> -<dt id='index-_002ew'><span>‘<samp>cweb</samp>’<a href='#index-_002ew' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002eweb"></span> -<span id="index-CWEBINPUTS"></span> +<dt id='index-_002ew'><span>‘<samp class="samp">cweb</samp>’<a class="copiable-link" href='#index-_002ew'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002eweb"></a> +<a class="index-entry-id" id="index-CWEBINPUTS"></a> <p>(CWEB input files) -<code>CWEBINPUTS</code>; -suffixes ‘<samp>.w</samp>’, ‘<samp>.web</samp>’; -additional suffix ‘<samp>.ch</samp>’. +<code class="code">CWEBINPUTS</code>; +suffixes ‘<samp class="samp">.w</samp>’, ‘<samp class="samp">.web</samp>’; +additional suffix ‘<samp class="samp">.ch</samp>’. </p> </dd> -<dt id='index-TEXCONFIG'><span>‘<samp>dvips config</samp>’<a href='#index-TEXCONFIG' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-config_002eps_002c-search-path-for"></span> -<p>(Dvips ‘<samp>config.*</samp>’ files, such as <samp>config.ps</samp>, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config -files</a> in <cite>Dvips</cite>) -<code>TEXCONFIG</code>. +<dt id='index-TEXCONFIG'><span>‘<samp class="samp">dvips config</samp>’<a class="copiable-link" href='#index-TEXCONFIG'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-config_002eps_002c-search-path-for"></a> +<p>(Dvips ‘<samp class="samp">config.*</samp>’ files, such as <samp class="file">config.ps</samp>, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config +files</a> in <cite class="cite">Dvips</cite>) +<code class="code">TEXCONFIG</code>. </p> </dd> -<dt id='index-_002eenc'><span>‘<samp>enc files</samp>’<a href='#index-_002eenc' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-ENCFONTS"></span> +<dt id='index-_002eenc'><span>‘<samp class="samp">enc files</samp>’<a class="copiable-link" href='#index-_002eenc'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-ENCFONTS"></a> <p>(encoding vectors) -<code>ENCFONTS</code>; -suffix ‘<samp>.enc</samp>’. +<code class="code">ENCFONTS</code>; +suffix ‘<samp class="samp">.enc</samp>’. </p> </dd> -<dt id='index-_002efmt'><span>‘<samp>fmt</samp>’<a href='#index-_002efmt' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXFORMATS"></span> -<span id="index-TEXMFINI-1"></span> -<p>(TeX memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite>Web2c</cite>) -<code>TEXFORMATS</code>, <code>TEXMFINI</code>; -suffix ‘<samp>.fmt</samp>’. +<dt id='index-_002efmt'><span>‘<samp class="samp">fmt</samp>’<a class="copiable-link" href='#index-_002efmt'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXFORMATS"></a> +<a class="index-entry-id" id="index-TEXMFINI-1"></a> +<p>(TeX memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite class="cite">Web2c</cite>) +<code class="code">TEXFORMATS</code>, <code class="code">TEXMFINI</code>; +suffix ‘<samp class="samp">.fmt</samp>’. </p> </dd> -<dt id='index-_002ecid'><span>‘<samp>font cid map</samp>’<a href='#index-_002ecid' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-FONTCIDMAPS"></span> +<dt id='index-_002ecid'><span>‘<samp class="samp">font cid map</samp>’<a class="copiable-link" href='#index-_002ecid'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-FONTCIDMAPS"></a> <p>(CJK mapping) -<code>FONTCIDMAPS</code> -suffix ‘<samp>.cid</samp>’. +<code class="code">FONTCIDMAPS</code> +suffix ‘<samp class="samp">.cid</samp>’. </p> </dd> -<dt id='index-_002efea'><span>‘<samp>font feature files</samp>’<a href='#index-_002efea' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-FONTFEATURES"></span> +<dt id='index-_002efea'><span>‘<samp class="samp">font feature files</samp>’<a class="copiable-link" href='#index-_002efea'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-FONTFEATURES"></a> <p>(primarily for OpenType font features) -<code>FONTFEATURES</code> -suffix ‘<samp>.fea</samp>’. +<code class="code">FONTFEATURES</code> +suffix ‘<samp class="samp">.fea</samp>’. </p> </dd> -<dt id='index-gf'><span>‘<samp>gf</samp>’<a href='#index-gf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-GFFONTS"></span> -<span id="index-GLYPHFONTS"></span> -<span id="index-TEXFONTS"></span> -<p>(generic font bitmap, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite>Dvips</cite>) -<code><var>program</var>FONTS</code>, <code>GFFONTS</code>, <code>GLYPHFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>gf</samp>’. +<dt id='index-gf'><span>‘<samp class="samp">gf</samp>’<a class="copiable-link" href='#index-gf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-GFFONTS"></a> +<a class="index-entry-id" id="index-GLYPHFONTS"></a> +<a class="index-entry-id" id="index-TEXFONTS"></a> +<p>(generic font bitmap, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite class="cite">Dvips</cite>) +<code class="code"><var class="var">program</var>FONTS</code>, <code class="code">GFFONTS</code>, <code class="code">GLYPHFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">gf</samp>’. </p> </dd> -<dt id='index-_002eeps'><span>‘<samp>graphic/figure</samp>’<a href='#index-_002eeps' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002eepsi"></span> -<span id="index-TEXPICTS"></span> -<span id="index-TEXINPUTS"></span> -<p>(Encapsulated PostScript figures, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#PostScript-figures">PostScript figures</a> in <cite>Dvips</cite>) -<code>TEXPICTS</code>, <code>TEXINPUTS</code>; -additional suffixes: ‘<samp>.eps</samp>’, ‘<samp>.epsi</samp>’. +<dt id='index-_002eeps'><span>‘<samp class="samp">graphic/figure</samp>’<a class="copiable-link" href='#index-_002eeps'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002eepsi"></a> +<a class="index-entry-id" id="index-TEXPICTS"></a> +<a class="index-entry-id" id="index-TEXINPUTS"></a> +<p>(Encapsulated PostScript figures, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#PostScript-figures">PostScript figures</a> in <cite class="cite">Dvips</cite>) +<code class="code">TEXPICTS</code>, <code class="code">TEXINPUTS</code>; +additional suffixes: ‘<samp class="samp">.eps</samp>’, ‘<samp class="samp">.epsi</samp>’. </p> </dd> -<dt id='index-_002eist'><span>‘<samp>ist</samp>’<a href='#index-_002eist' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXINDEXSTYLE"></span> -<span id="index-INDEXSTYLE"></span> +<dt id='index-_002eist'><span>‘<samp class="samp">ist</samp>’<a class="copiable-link" href='#index-_002eist'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXINDEXSTYLE"></a> +<a class="index-entry-id" id="index-INDEXSTYLE"></a> <p>(makeindex style files) -<code>TEXINDEXSTYLE</code>, <code>INDEXSTYLE</code>; -suffix ‘<samp>.ist</samp>’. +<code class="code">TEXINDEXSTYLE</code>, <code class="code">INDEXSTYLE</code>; +suffix ‘<samp class="samp">.ist</samp>’. </p> </dd> -<dt id='index-_002elig'><span>‘<samp>lig files</samp>’<a href='#index-_002elig' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-LIGFONTS"></span> +<dt id='index-_002elig'><span>‘<samp class="samp">lig files</samp>’<a class="copiable-link" href='#index-_002elig'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-LIGFONTS"></a> <p>(ligature definition files) -<code>LIGFONTS</code>; -suffix ‘<samp>.lig</samp>’. +<code class="code">LIGFONTS</code>; +suffix ‘<samp class="samp">.lig</samp>’. </p> </dd> -<dt id='index-ls_002dR'><span>‘<samp>ls-R</samp>’<a href='#index-ls_002dR' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXMFDBS-1"></span> -<p>(Filename databases, see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>) -<code>TEXMFDBS</code>. +<dt id='index-ls_002dR'><span>‘<samp class="samp">ls-R</samp>’<a class="copiable-link" href='#index-ls_002dR'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXMFDBS-1"></a> +<p>(Filename databases, see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>) +<code class="code">TEXMFDBS</code>. </p> </dd> -<dt id='index-_002emap'><span>‘<samp>map</samp>’<a href='#index-_002emap' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXFONTMAPS"></span> -<p>(Fontmaps, see <a href="#Fontmap">Fontmap</a>) -<code>TEXFONTMAPS</code>; -suffix ‘<samp>.map</samp>’. +<dt id='index-_002elua'><span>‘<samp class="samp">lua</samp>’<a class="copiable-link" href='#index-_002elua'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002eluatex"></a> +<a class="index-entry-id" id="index-_002eluc"></a> +<a class="index-entry-id" id="index-_002eluctex"></a> +<a class="index-entry-id" id="index-_002etexlua"></a> +<a class="index-entry-id" id="index-_002etexluc"></a> +<a class="index-entry-id" id="index-_002etlu"></a> +<a class="index-entry-id" id="index-LUAINPUTS"></a> +<p>(Lua scripts, <a class="url" href="https://ctan.org/pkg/luatex">https://ctan.org/pkg/luatex</a>) +<code class="code">LUAINPUTS</code> +suffixes ‘<samp class="samp">.lua</samp>’, ‘<samp class="samp">.luatex</samp>’, ‘<samp class="samp">.luc</samp>’, ‘<samp class="samp">.luctex</samp>’, +‘<samp class="samp">.texlua</samp>’, ‘<samp class="samp">.texluc</samp>’, ‘<samp class="samp">.tlu</samp>’. </p> </dd> -<dt id='index-_002emem'><span>‘<samp>mem</samp>’<a href='#index-_002emem' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MPMEMS"></span> -<span id="index-TEXMFINI-2"></span> -<p>(MetaPost memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite>Web2c</cite>) -<code>MPMEMS</code>, <code>TEXMFINI</code>; -suffix ‘<samp>.mem</samp>’. +<dt id='index-_002emap'><span>‘<samp class="samp">map</samp>’<a class="copiable-link" href='#index-_002emap'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXFONTMAPS"></a> +<p>(Fontmaps, see <a class="pxref" href="#Fontmap">Fontmap</a>) +<code class="code">TEXFONTMAPS</code>; +suffix ‘<samp class="samp">.map</samp>’. </p> </dd> -<dt id='index-MPSUPPORT'><span>‘<samp><span class="roman">MetaPost support</span></samp>’<a href='#index-MPSUPPORT' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(MetaPost support files, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dmp-invocation">dmp invocation</a> in <cite>Web2c</cite>) -<code>MPSUPPORT</code>. +<dt id='index-_002emem'><span>‘<samp class="samp">mem</samp>’<a class="copiable-link" href='#index-_002emem'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MPMEMS"></a> +<a class="index-entry-id" id="index-TEXMFINI-2"></a> +<p>(MetaPost memory dump, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Memory-dumps">Memory dumps</a> in <cite class="cite">Web2c</cite>) +<code class="code">MPMEMS</code>, <code class="code">TEXMFINI</code>; +suffix ‘<samp class="samp">.mem</samp>’. </p> </dd> -<dt id='index-_002emf'><span>‘<samp>mf</samp>’<a href='#index-_002emf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MFINPUTS"></span> -<p>(Metafont source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mf-invocation">mf invocation</a> in <cite>Web2c</cite>) -<code>MFINPUTS</code>; -suffix ‘<samp>.mf</samp>’; -dynamic creation program: <code>mktexmf</code>. +<dt id='index-MPSUPPORT'><span>‘<samp class="samp"><span class="r">MetaPost support</span></samp>’<a class="copiable-link" href='#index-MPSUPPORT'> ¶</a></span></dt> +<dd><p>(MetaPost support files, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#dmp-invocation">dmp invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">MPSUPPORT</code>. </p> </dd> -<dt id='index-_002epool'><span>‘<samp>mfpool</samp>’<a href='#index-_002epool' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MFPOOL"></span> -<p>(Metafont program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite>Web2c</cite>) -<code>MFPOOL</code>, <code>TEXMFINI</code>; -suffix ‘<samp>.pool</samp>’. +<dt id='index-_002emf'><span>‘<samp class="samp">mf</samp>’<a class="copiable-link" href='#index-_002emf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MFINPUTS"></a> +<p>(Metafont source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mf-invocation">mf invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">MFINPUTS</code>; +suffix ‘<samp class="samp">.mf</samp>’; +dynamic creation program: <code class="code">mktexmf</code>. </p> </dd> -<dt id='index-_002emft'><span>‘<samp>mft</samp>’<a href='#index-_002emft' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MFTINPUTS"></span> -<p>(<code>MFT</code> style file, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mft-invocation">mft invocation</a> in <cite>Web2c</cite>) -<code>MFTINPUTS</code>; -suffix ‘<samp>.mft</samp>’. +<dt id='index-_002epool'><span>‘<samp class="samp">mfpool</samp>’<a class="copiable-link" href='#index-_002epool'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MFPOOL"></a> +<p>(Metafont program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">MFPOOL</code>, <code class="code">TEXMFINI</code>; +suffix ‘<samp class="samp">.pool</samp>’. </p> </dd> -<dt id='index-MISCFONTS'><span>‘<samp>misc fonts</samp>’<a href='#index-MISCFONTS' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002emft'><span>‘<samp class="samp">mft</samp>’<a class="copiable-link" href='#index-_002emft'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MFTINPUTS"></a> +<p>(<code class="code">MFT</code> style file, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mft-invocation">mft invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">MFTINPUTS</code>; +suffix ‘<samp class="samp">.mft</samp>’. +</p> +</dd> +<dt id='index-MISCFONTS'><span>‘<samp class="samp">misc fonts</samp>’<a class="copiable-link" href='#index-MISCFONTS'> ¶</a></span></dt> <dd><p>(font-related files that don’t fit the other categories) -<code>MISCFONTS</code> +<code class="code">MISCFONTS</code> </p> </dd> -<dt id='index-_002emlbib'><span>‘<samp>mlbib</samp>’<a href='#index-_002emlbib' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MLBIBINPUTS"></span> -<span id="index-BIBINPUTS-1"></span> -<span id="index-TEXBIB-1"></span> +<dt id='index-_002emlbib'><span>‘<samp class="samp">mlbib</samp>’<a class="copiable-link" href='#index-_002emlbib'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MLBIBINPUTS"></a> +<a class="index-entry-id" id="index-BIBINPUTS-1"></a> +<a class="index-entry-id" id="index-TEXBIB-1"></a> <p>(MlBibTeX bibliography source) -<code>MLBIBINPUTS</code>, <code>BIBINPUTS</code>, <code>TEXBIB</code>; -suffixes ‘<samp>.mlbib</samp>’, ‘<samp>.mlbib</samp>’. +<code class="code">MLBIBINPUTS</code>, <code class="code">BIBINPUTS</code>, <code class="code">TEXBIB</code>; +suffixes ‘<samp class="samp">.mlbib</samp>’, ‘<samp class="samp">.mlbib</samp>’. </p> </dd> -<dt id='index-_002emlbst'><span>‘<samp>mlbst</samp>’<a href='#index-_002emlbst' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MLBSTINPUTS"></span> -<span id="index-BSTINPUTS-1"></span> +<dt id='index-_002emlbst'><span>‘<samp class="samp">mlbst</samp>’<a class="copiable-link" href='#index-_002emlbst'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MLBSTINPUTS"></a> +<a class="index-entry-id" id="index-BSTINPUTS-1"></a> <p>(MlBibTeX style) -<code>MLBSTINPUTS</code>, <code>BSTINPUTS</code>; -suffixes ‘<samp>.mlbst</samp>’, ‘<samp>.bst</samp>’. +<code class="code">MLBSTINPUTS</code>, <code class="code">BSTINPUTS</code>; +suffixes ‘<samp class="samp">.mlbst</samp>’, ‘<samp class="samp">.bst</samp>’. </p> </dd> -<dt id='index-_002emp'><span>‘<samp>mp</samp>’<a href='#index-_002emp' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MPINPUTS"></span> -<p>(MetaPost source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mpost-invocation">mpost invocation</a> in <cite>Web2c</cite>) -<code>MPINPUTS</code>; -suffix ‘<samp>.mp</samp>’. +<dt id='index-_002emp'><span>‘<samp class="samp">mp</samp>’<a class="copiable-link" href='#index-_002emp'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MPINPUTS"></a> +<p>(MetaPost source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#mpost-invocation">mpost invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">MPINPUTS</code>; +suffix ‘<samp class="samp">.mp</samp>’. </p> </dd> -<dt id='index-_002epool-1'><span>‘<samp>mppool</samp>’<a href='#index-_002epool-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MPPOOL"></span> -<p>(MetaPost program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite>Web2c</cite>) -<code>MPPOOL</code>, <code>TEXMFINI</code>; -suffix ‘<samp>.pool</samp>’. +<dt id='index-_002epool-1'><span>‘<samp class="samp">mppool</samp>’<a class="copiable-link" href='#index-_002epool-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MPPOOL"></a> +<p>(MetaPost program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">MPPOOL</code>, <code class="code">TEXMFINI</code>; +suffix ‘<samp class="samp">.pool</samp>’. </p> </dd> -<dt id='index-_002eocp'><span>‘<samp>ocp</samp>’<a href='#index-_002eocp' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-OCPINPUTS"></span> +<dt id='index-_002eocp'><span>‘<samp class="samp">ocp</samp>’<a class="copiable-link" href='#index-_002eocp'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-OCPINPUTS"></a> <p>(Omega compiled process files) -<code>OCPINPUTS</code>; <br> -suffix ‘<samp>.ocp</samp>’; -dynamic creation program: <code>MakeOmegaOCP</code>. +<code class="code">OCPINPUTS</code>; <br> +suffix ‘<samp class="samp">.ocp</samp>’; +dynamic creation program: <code class="code">MakeOmegaOCP</code>. </p> </dd> -<dt id='index-_002eofm'><span>‘<samp>ofm</samp>’<a href='#index-_002eofm' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-OFMFONTS"></span> +<dt id='index-_002eofm'><span>‘<samp class="samp">ofm</samp>’<a class="copiable-link" href='#index-_002eofm'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-OFMFONTS"></a> <p>(Omega font metrics) -<code>OFMFONTS</code>, <code>TEXFONTS</code>; <br> -suffixes ‘<samp>.ofm</samp>’, ‘<samp>.tfm</samp>’; -dynamic creation program: <code>MakeOmegaOFM</code>. +<code class="code">OFMFONTS</code>, <code class="code">TEXFONTS</code>; <br> +suffixes ‘<samp class="samp">.ofm</samp>’, ‘<samp class="samp">.tfm</samp>’; +dynamic creation program: <code class="code">MakeOmegaOFM</code>. </p> </dd> -<dt id='index-OPENTYPEFONTS'><span>‘<samp>opentype fonts</samp>’<a href='#index-OPENTYPEFONTS' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-OPENTYPEFONTS'><span>‘<samp class="samp">opentype fonts</samp>’<a class="copiable-link" href='#index-OPENTYPEFONTS'> ¶</a></span></dt> <dd><p>(OpenType fonts) -<code>OPENTYPEFONTS</code>. +<code class="code">OPENTYPEFONTS</code>. </p> </dd> -<dt id='index-_002eopl'><span>‘<samp>opl</samp>’<a href='#index-_002eopl' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002eopl'><span>‘<samp class="samp">opl</samp>’<a class="copiable-link" href='#index-_002eopl'> ¶</a></span></dt> <dd><p>(Omega property lists) -<code>OPLFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>.opl</samp>’. +<code class="code">OPLFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">.opl</samp>’. </p> </dd> -<dt id='index-_002eotp'><span>‘<samp>otp</samp>’<a href='#index-_002eotp' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-OTPINPUTS"></span> +<dt id='index-_002eotp'><span>‘<samp class="samp">otp</samp>’<a class="copiable-link" href='#index-_002eotp'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-OTPINPUTS"></a> <p>(Omega translation process files) -<code>OTPINPUTS</code>; -suffix ‘<samp>.otp</samp>’. +<code class="code">OTPINPUTS</code>; +suffix ‘<samp class="samp">.otp</samp>’. </p> </dd> -<dt id='index-_002eovf'><span>‘<samp>ovf</samp>’<a href='#index-_002eovf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-OVFFONTS"></span> +<dt id='index-_002eovf'><span>‘<samp class="samp">ovf</samp>’<a class="copiable-link" href='#index-_002eovf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-OVFFONTS"></a> <p>(Omega virtual fonts) -<code>OVFFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>.ovf</samp>’. +<code class="code">OVFFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">.ovf</samp>’. </p> </dd> -<dt id='index-_002eovp'><span>‘<samp>ovp</samp>’<a href='#index-_002eovp' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-OVPFONTS"></span> +<dt id='index-_002eovp'><span>‘<samp class="samp">ovp</samp>’<a class="copiable-link" href='#index-_002eovp'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-OVPFONTS"></a> <p>(Omega virtual property lists) -<code>OVPFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>.ovp</samp>’. +<code class="code">OVPFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">.ovp</samp>’. </p> </dd> -<dt id='index-PDFTEXCONFIG'><span>‘<samp>pdftex config</samp>’<a href='#index-PDFTEXCONFIG' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-PDFTEXCONFIG'><span>‘<samp class="samp">pdftex config</samp>’<a class="copiable-link" href='#index-PDFTEXCONFIG'> ¶</a></span></dt> <dd><p>(PDFTeX-specific configuration files) -<code>PDFTEXCONFIG</code>. +<code class="code">PDFTEXCONFIG</code>. </p> </dd> -<dt id='index-_002epk'><span>‘<samp>pk</samp>’<a href='#index-_002epk' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-PKFONTS"></span> -<span id="index-TEXPKS"></span> -<span id="index-GLYPHFONTS-1"></span> -<span id="index-TEXFONTS-1"></span> -<p>(packed bitmap fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite>Dvips</cite>) -<code><var>PROGRAM</var>FONTS</code> (<var>program</var> being ‘<samp>XDVI</samp>’, etc.), -<code>PKFONTS</code>, <code>TEXPKS</code>, <code>GLYPHFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>pk</samp>’; -dynamic creation program: <code>mktexpk</code>. +<dt id='index-_002epk'><span>‘<samp class="samp">pk</samp>’<a class="copiable-link" href='#index-_002epk'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-PKFONTS"></a> +<a class="index-entry-id" id="index-TEXPKS"></a> +<a class="index-entry-id" id="index-GLYPHFONTS-1"></a> +<a class="index-entry-id" id="index-TEXFONTS-1"></a> +<p>(packed bitmap fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite class="cite">Dvips</cite>) +<code class="code"><var class="var">PROGRAM</var>FONTS</code> (<var class="var">program</var> being ‘<samp class="samp">XDVI</samp>’, etc.), +<code class="code">PKFONTS</code>, <code class="code">TEXPKS</code>, <code class="code">GLYPHFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">pk</samp>’; +dynamic creation program: <code class="code">mktexpk</code>. </p> </dd> -<dt id='index-_002epro'><span>‘<samp>PostScript header</samp>’<a href='#index-_002epro' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXPSHEADERS"></span> -<span id="index-PSHEADERS"></span> -<p>(downloadable PostScript, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Header-files">Header files</a> in <cite>Dvips</cite>) -<code>TEXPSHEADERS</code>, <code>PSHEADERS</code>; -additional suffix ‘<samp>.pro</samp>’. +<dt id='index-_002epro'><span>‘<samp class="samp">PostScript header</samp>’<a class="copiable-link" href='#index-_002epro'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXPSHEADERS"></a> +<a class="index-entry-id" id="index-PSHEADERS"></a> +<p>(downloadable PostScript, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Header-files">Header files</a> in <cite class="cite">Dvips</cite>) +<code class="code">TEXPSHEADERS</code>, <code class="code">PSHEADERS</code>; +additional suffix ‘<samp class="samp">.pro</samp>’. </p> </dd> -<dt id='index-_002eris'><span>‘<samp>ris</samp>’<a href='#index-_002eris' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-RISINPUTS"></span> -<p>(RIS bibliography files, primarily for Biber, <a href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>) -<code>RISINPUTS</code> -suffix ‘<samp>.ris</samp>’. +<dt id='index-_002eris'><span>‘<samp class="samp">ris</samp>’<a class="copiable-link" href='#index-_002eris'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-RISINPUTS"></a> +<p>(RIS bibliography files, primarily for Biber, <a class="url" href="https://ctan.org/pkg/biber">https://ctan.org/pkg/biber</a>) +<code class="code">RISINPUTS</code> +suffix ‘<samp class="samp">.ris</samp>’. </p> </dd> -<dt id='index-_002esfd'><span>‘<samp>subfont definition files</samp>’<a href='#index-_002esfd' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-SFDFONTS"></span> +<dt id='index-_002esfd'><span>‘<samp class="samp">subfont definition files</samp>’<a class="copiable-link" href='#index-_002esfd'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-SFDFONTS"></a> <p>(subfont definition files) -<code>SFDFONTS</code> -suffix ‘<samp>.sfd</samp>’. +<code class="code">SFDFONTS</code> +suffix ‘<samp class="samp">.sfd</samp>’. </p> </dd> -<dt id='index-_002etex'><span>‘<samp>tex</samp>’<a href='#index-_002etex' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXINPUTS-1"></span> -<p>(TeX source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite>Web2c</cite>) -<code>TEXINPUTS</code>; -suffix ‘<samp>.tex</samp>’; +<dt id='index-_002etex'><span>‘<samp class="samp">tex</samp>’<a class="copiable-link" href='#index-_002etex'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXINPUTS-1"></a> +<p>(TeX source, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#tex-invocation">tex invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">TEXINPUTS</code>; +suffix ‘<samp class="samp">.tex</samp>’; additional suffixes: none, because such a list cannot be complete; -dynamic creation program: <code>mktextex</code>. +dynamic creation program: <code class="code">mktextex</code>. </p> </dd> -<dt id='index-doc-files'><span>‘<samp>TeX system documentation</samp>’<a href='#index-doc-files' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXDOCS"></span> +<dt id='index-doc-files'><span>‘<samp class="samp">TeX system documentation</samp>’<a class="copiable-link" href='#index-doc-files'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXDOCS"></a> <p>(Documentation files for the TeX system) -<code>TEXDOCS</code>. +<code class="code">TEXDOCS</code>. </p> </dd> -<dt id='index-source-files'><span>‘<samp>TeX system sources</samp>’<a href='#index-source-files' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXSOURCES"></span> +<dt id='index-source-files'><span>‘<samp class="samp">TeX system sources</samp>’<a class="copiable-link" href='#index-source-files'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXSOURCES"></a> <p>(Source files for the TeX system) -<code>TEXSOURCES</code>. +<code class="code">TEXSOURCES</code>. </p> </dd> -<dt id='index-TEXMFSCRIPTS'><span>‘<samp>texmfscripts</samp>’<a href='#index-TEXMFSCRIPTS' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-TEXMFSCRIPTS'><span>‘<samp class="samp">texmfscripts</samp>’<a class="copiable-link" href='#index-TEXMFSCRIPTS'> ¶</a></span></dt> <dd><p>(Architecture-independent executables distributed in the texmf trees) -<code>TEXMFSCRIPTS</code>. +<code class="code">TEXMFSCRIPTS</code>. </p> </dd> -<dt id='index-_002epool-2'><span>‘<samp>texpool</samp>’<a href='#index-_002epool-2' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXPOOL"></span> -<p>(TeX program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite>Web2c</cite>) -<code>TEXPOOL</code>, <code>TEXMFINI</code>; -suffix ‘<samp>.pool</samp>’. +<dt id='index-_002epool-2'><span>‘<samp class="samp">texpool</samp>’<a class="copiable-link" href='#index-_002epool-2'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXPOOL"></a> +<p>(TeX program strings, see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#pooltype-invocation">pooltype invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">TEXPOOL</code>, <code class="code">TEXMFINI</code>; +suffix ‘<samp class="samp">.pool</samp>’. </p> </dd> -<dt id='index-_002etfm'><span>‘<samp>tfm</samp>’<a href='#index-_002etfm' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TFMFONTS"></span> -<span id="index-TEXFONTS-2"></span> -<p>(TeX font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>) -<code>TFMFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>.tfm</samp>’; -dynamic creation program: <code>mktextfm</code>. +<dt id='index-_002etfm'><span>‘<samp class="samp">tfm</samp>’<a class="copiable-link" href='#index-_002etfm'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TFMFONTS"></a> +<a class="index-entry-id" id="index-TEXFONTS-2"></a> +<p>(TeX font metrics, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>) +<code class="code">TFMFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">.tfm</samp>’; +dynamic creation program: <code class="code">mktextfm</code>. </p> </dd> -<dt id='index-TRFONTS'><span>‘<samp>Troff fonts</samp>’<a href='#index-TRFONTS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(Troff fonts, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#DMP-invocation">DMP invocation</a> in <cite>Web2c</cite>) -<code>TRFONTS</code>. +<dt id='index-TRFONTS'><span>‘<samp class="samp">Troff fonts</samp>’<a class="copiable-link" href='#index-TRFONTS'> ¶</a></span></dt> +<dd><p>(Troff fonts, used by DMP; see <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#DMP-invocation">DMP invocation</a> in <cite class="cite">Web2c</cite>) +<code class="code">TRFONTS</code>. </p> </dd> -<dt id='index-_002ettf'><span>‘<samp>truetype fonts</samp>’<a href='#index-_002ettf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002ettc"></span> -<span id="index-TTFONTS"></span> -<p>(TrueType outline fonts) <code>TTFONTS</code>; suffixes ‘<samp>.ttf</samp>’ and -‘<samp>.TTF</samp>’, ‘<samp>.ttc</samp>’ and ‘<samp>.TTC</samp>’, ‘<samp>.dfont</samp>’. +<dt id='index-_002ettf'><span>‘<samp class="samp">truetype fonts</samp>’<a class="copiable-link" href='#index-_002ettf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002ettc"></a> +<a class="index-entry-id" id="index-TTFONTS"></a> +<p>(TrueType outline fonts) <code class="code">TTFONTS</code>; suffixes ‘<samp class="samp">.ttf</samp>’ and +‘<samp class="samp">.TTF</samp>’, ‘<samp class="samp">.ttc</samp>’ and ‘<samp class="samp">.TTC</samp>’, ‘<samp class="samp">.dfont</samp>’. </p> </dd> -<dt id='index-_002epfa'><span>‘<samp>type1 fonts</samp>’<a href='#index-_002epfa' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002epfb"></span> -<span id="index-T1FONTS"></span> -<span id="index-T1INPUTS"></span> -<span id="index-TEXPSHEADERS-1"></span> -<span id="index-DVIPSHEADERS"></span> -<p>(Type 1 PostScript outline fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite>Dvips</cite>) -<code>T1FONTS</code>, <code>T1INPUTS</code>, <code>TEXPSHEADERS</code>, <code>DVIPSHEADERS</code>; -suffixes ‘<samp>.pfa</samp>’, ‘<samp>.pfb</samp>’. +<dt id='index-_002epfa'><span>‘<samp class="samp">type1 fonts</samp>’<a class="copiable-link" href='#index-_002epfa'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002epfb"></a> +<a class="index-entry-id" id="index-T1FONTS"></a> +<a class="index-entry-id" id="index-T1INPUTS"></a> +<a class="index-entry-id" id="index-TEXPSHEADERS-1"></a> +<a class="index-entry-id" id="index-DVIPSHEADERS"></a> +<p>(Type 1 PostScript outline fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Glyph-files">Glyph files</a> in <cite class="cite">Dvips</cite>) +<code class="code">T1FONTS</code>, <code class="code">T1INPUTS</code>, <code class="code">TEXPSHEADERS</code>, <code class="code">DVIPSHEADERS</code>; +suffixes ‘<samp class="samp">.pfa</samp>’, ‘<samp class="samp">.pfb</samp>’. </p> </dd> -<dt id='index-T42FONTS'><span>‘<samp>type42 fonts</samp>’<a href='#index-T42FONTS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(Type 42 PostScript outline fonts) <code>T42FONTS</code>. +<dt id='index-T42FONTS'><span>‘<samp class="samp">type42 fonts</samp>’<a class="copiable-link" href='#index-T42FONTS'> ¶</a></span></dt> +<dd><p>(Type 42 PostScript outline fonts) <code class="code">T42FONTS</code>. </p> </dd> -<dt id='index-_002evf'><span>‘<samp>vf</samp>’<a href='#index-_002evf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-VFFONTS"></span> -<span id="index-TEXFONTS-3"></span> -<p>(virtual fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite>Dvips</cite>) -<code>VFFONTS</code>, <code>TEXFONTS</code>; -suffix ‘<samp>.vf</samp>’. +<dt id='index-_002evf'><span>‘<samp class="samp">vf</samp>’<a class="copiable-link" href='#index-_002evf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-VFFONTS"></a> +<a class="index-entry-id" id="index-TEXFONTS-3"></a> +<p>(virtual fonts, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite class="cite">Dvips</cite>) +<code class="code">VFFONTS</code>, <code class="code">TEXFONTS</code>; +suffix ‘<samp class="samp">.vf</samp>’. </p> </dd> -<dt id='index-_002eweb-1'><span>‘<samp>web</samp>’<a href='#index-_002eweb-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-WEBINPUTS"></span> +<dt id='index-_002eweb-1'><span>‘<samp class="samp">web</samp>’<a class="copiable-link" href='#index-_002eweb-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-WEBINPUTS"></a> <p>(WEB input files) -<code>WEBINPUTS</code>; -suffix ‘<samp>.web</samp>’; -additional suffix ‘<samp>.ch</samp>’. +<code class="code">WEBINPUTS</code>; +suffix ‘<samp class="samp">.web</samp>’; +additional suffix ‘<samp class="samp">.ch</samp>’. </p> </dd> -<dt id='index-WEB2C'><span>‘<samp>web2c files</samp>’<a href='#index-WEB2C' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-WEB2C'><span>‘<samp class="samp">web2c files</samp>’<a class="copiable-link" href='#index-WEB2C'> ¶</a></span></dt> <dd><p>(files specific to the web2c implementation) -<code>WEB2C</code>. +<code class="code">WEB2C</code>. </p></dd> </dl> <p>There are two special cases, because the paths and environment variables always depend on the name of the program: the variable name is constructed by converting the program name to upper case, and then -appending ‘<samp>INPUTS</samp>’. Assuming the program is called ‘<samp>foo</samp>’, +appending ‘<samp class="samp">INPUTS</samp>’. Assuming the program is called ‘<samp class="samp">foo</samp>’, this gives us the following table. </p> -<dl compact="compact"> -<dt id='index-FOOINPUTS'><span>‘<samp>other text files</samp>’<a href='#index-FOOINPUTS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(text files used by ‘<samp>foo</samp>’) -<code>FOOINPUTS</code>. +<dl class="table"> +<dt id='index-FOOINPUTS'><span>‘<samp class="samp">other text files</samp>’<a class="copiable-link" href='#index-FOOINPUTS'> ¶</a></span></dt> +<dd><p>(text files used by ‘<samp class="samp">foo</samp>’) +<code class="code">FOOINPUTS</code>. </p> </dd> -<dt id='index-FOOINPUTS-1'><span>‘<samp>other binary files</samp>’<a href='#index-FOOINPUTS-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(binary files used by ‘<samp>foo</samp>’) -<code>FOOINPUTS</code>. +<dt id='index-FOOINPUTS-1'><span>‘<samp class="samp">other binary files</samp>’<a class="copiable-link" href='#index-FOOINPUTS-1'> ¶</a></span></dt> +<dd><p>(binary files used by ‘<samp class="samp">foo</samp>’) +<code class="code">FOOINPUTS</code>. </p></dd> </dl> <p>If an environment variable by these names are set, the corresponding -<samp>texmf.cnf</samp> definition won’t be looked at (unless, as usual, the -environment variable value has an extra ‘<samp>:</samp>’). See <a href="#Default-expansion">Default expansion</a>. +<samp class="file">texmf.cnf</samp> definition won’t be looked at (unless, as usual, the +environment variable value has an extra ‘<samp class="samp">:</samp>’). See <a class="xref" href="#Default-expansion">Default expansion</a>. </p> <p>For the font variables, the intent is that: -</p><ul> -<li> <code>TEXFONTS</code> is the default for everything. +</p><ul class="itemize mark-bullet"> +<li><code class="code">TEXFONTS</code> is the default for everything. -</li><li> <code>GLYPHFONTS</code> is the default for bitmap (or, more precisely, +</li><li><code class="code">GLYPHFONTS</code> is the default for bitmap (or, more precisely, non-metric) files. -</li><li> Each font format has a variable of its own. +</li><li>Each font format has a variable of its own. -</li><li> <span id="index-XDVIFONTS"></span> -<span id="index-DVIPSFONTS"></span> +</li><li><a class="index-entry-id" id="index-XDVIFONTS"></a> +<a class="index-entry-id" id="index-DVIPSFONTS"></a> Each program has its own font override path as well; e.g., -<code>DVIPSFONTS</code> for Dvipsk. Again, this is for bitmaps, not metrics. +<code class="code">DVIPSFONTS</code> for Dvipsk. Again, this is for bitmaps, not metrics. </li></ul> <hr> </div> -<div class="section" id="File-lookup"> -<div class="header"> +<div class="section-level-extent" id="File-lookup"> +<div class="nav-panel"> <p> Next: <a href="#Glyph-lookup" accesskey="n" rel="next">Glyph lookup</a>, Previous: <a href="#Supported-file-formats" accesskey="p" rel="prev">Supported file formats</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="File-lookup-1"></span><h3 class="section">6.2 File lookup</h3> +<h3 class="section" id="File-lookup-1">6.2 File lookup</h3> -<span id="index-file-lookup"></span> -<span id="index-searching-for-files"></span> -<span id="index-TeX-file-lookup"></span> +<a class="index-entry-id" id="index-file-lookup"></a> +<a class="index-entry-id" id="index-searching-for-files"></a> +<a class="index-entry-id" id="index-TeX-file-lookup"></a> <p>This section describes how Kpathsea searches for most files (bitmap font searches are the exception, as described in the next section). </p> -<p>Here is the search strategy for a file <var>name</var>: +<p>Here is the search strategy for a file <var class="var">name</var>: </p> -<ol> +<ol class="enumerate"> <li> If the file format defines default suffixes, and the suffix of -<var>name</var> name is not already a known suffix for that format, try the +<var class="var">name</var> 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. Example: given ‘<samp>foo.bar</samp>’, look for -‘<samp>foo.bar.tex</samp>’. +the fontmaps if necessary. Example: given ‘<samp class="samp">foo.bar</samp>’, look for +‘<samp class="samp">foo.bar.tex</samp>’. -</li><li> Search for <var>name</var>, and if necessary for alternative names found in -the fontmaps. Example: given ‘<samp>foo.bar</samp>’, we also look for -‘<samp>foo.bar</samp>’. +</li><li> Search for <var class="var">name</var>, and if necessary for alternative names found in +the fontmaps. Example: given ‘<samp class="samp">foo.bar</samp>’, we also look for +‘<samp class="samp">foo.bar</samp>’. </li><li> If the file format defines a program to invoke to create missing files, -run it (see <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>). +run it (see <a class="pxref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>). </li></ol> -<span id="index-extensions_002c-filename"></span> -<span id="index-suffixes_002c-filename"></span> -<span id="index-try_005fstd_005fextension_005ffirst"></span> +<a class="index-entry-id" id="index-extensions_002c-filename"></a> +<a class="index-entry-id" id="index-suffixes_002c-filename"></a> +<a class="index-entry-id" id="index-try_005fstd_005fextension_005ffirst"></a> <p>The order in which we search for “suffixed” name (item 1) or the “as-is” name (item 2) is controlled by the -<samp>try_std_extension_first</samp> configuration value. The default set -in <samp>texmf.cnf</samp> is true, since common suffixes are already -recognized: ‘<samp>babel.sty</samp>’ will only look for ‘<samp>babel.sty</samp>’, not -‘<samp>babel.sty.tex</samp>’, regardless of this setting. +<samp class="file">try_std_extension_first</samp> configuration value. The default set +in <samp class="file">texmf.cnf</samp> is true, since common suffixes are already +recognized: ‘<samp class="samp">babel.sty</samp>’ will only look for ‘<samp class="samp">babel.sty</samp>’, not +‘<samp class="samp">babel.sty.tex</samp>’, regardless of this setting. </p> -<p>When the suffix is unknown (e.g., ‘<samp>foo.bar</samp>’), both names are +<p>When the suffix is unknown (e.g., ‘<samp class="samp">foo.bar</samp>’), both names are always tried; the difference is the order in which they are tried. </p> -<p><samp>try_std_extension_first</samp> only affects names being looked up +<p><samp class="file">try_std_extension_first</samp> only affects names being looked up which *already* have an extension. A name without an extension (e.g., -‘<samp>tex story</samp>’) will always have an extension added first. +‘<samp class="samp">tex story</samp>’) will always have an extension added first. </p> -<span id="index-tex_002dfile_002ec"></span> -<span id="index-kpathsea_005ffind_005ffile"></span> +<a class="index-entry-id" id="index-tex_002dfile_002ec"></a> +<a class="index-entry-id" id="index-kpathsea_005ffind_005ffile"></a> <p>This algorithm is implemented in the function -<code>kpathsea_find_file</code> in the source file -<samp>kpathsea/tex-file.c</samp>. You can watch it in action with the -debugging options (see <a href="#Debugging">Debugging</a>). +<code class="code">kpathsea_find_file</code> in the source file +<samp class="file">kpathsea/tex-file.c</samp>. You can watch it in action with the +debugging options (see <a class="pxref" href="#Debugging">Debugging</a>). </p> <hr> </div> -<div class="section" id="Glyph-lookup"> -<div class="header"> +<div class="section-level-extent" id="Glyph-lookup"> +<div class="nav-panel"> <p> Next: <a href="#Suppressing-warnings" accesskey="n" rel="next">Suppressing warnings</a>, Previous: <a href="#File-lookup" accesskey="p" rel="prev">File lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Glyph-lookup-1"></span><h3 class="section">6.3 Glyph lookup</h3> +<h3 class="section" id="Glyph-lookup-1">6.3 Glyph lookup</h3> -<span id="index-glyph-lookup"></span> -<span id="index-searching-for-glyphs"></span> -<span id="index-TeX-glyph-lookup"></span> +<a class="index-entry-id" id="index-glyph-lookup"></a> +<a class="index-entry-id" id="index-searching-for-glyphs"></a> +<a class="index-entry-id" id="index-TeX-glyph-lookup"></a> <p>This section describes how Kpathsea searches for a bitmap font in GF or -PK format (or either) given a font name (e.g., ‘<samp>cmr10</samp>’) and a +PK format (or either) given a font name (e.g., ‘<samp class="samp">cmr10</samp>’) and a resolution (e.g., 600). </p> <p>Here is an outline of the search strategy (details in the sections -below) for a file <var>name</var> at resolution <var>dpi</var>. The search stops +below) for a file <var class="var">name</var> at resolution <var class="var">dpi</var>. The search stops at the first successful lookup. </p> -<ol> -<li> Look for an existing file <var>name</var>.<var>dpi</var><var>format</var> in the +<ol class="enumerate"> +<li> Look for an existing file <var class="var">name</var>.<var class="var">dpi</var><var class="var">format</var> in the specified format(s). -</li><li> If <var>name</var> is an alias for a file <var>f</var> in the fontmap -file <samp>texfonts.map</samp>, look for <var>f</var>.<var>dpi</var>. +</li><li> If <var class="var">name</var> is an alias for a file <var class="var">f</var> in the fontmap +file <samp class="file">texfonts.map</samp>, look for <var class="var">f</var>.<var class="var">dpi</var>. -</li><li> Run an external program (typically named ‘<samp>mktexpk</samp>’) to -generate the font (see <a href="#mktex-scripts"><samp>mktex</samp> scripts</a>) +</li><li> Run an external program (typically named ‘<samp class="samp">mktexpk</samp>’) to +generate the font (see <a class="pxref" href="#mktex-scripts"><samp class="file">mktex</samp> scripts</a>) -</li><li> Look for <var>fallback</var>.<var>dpi</var>, where <var>fallback</var> is some -last-resort font (typically ‘<samp>cmr10</samp>’). +</li><li> Look for <var class="var">fallback</var>.<var class="var">dpi</var>, where <var class="var">fallback</var> is some +last-resort font (typically ‘<samp class="samp">cmr10</samp>’). </li></ol> -<span id="index-tex_002dglyph_002ec"></span> -<span id="index-kpathsea_005ffind_005fglyph"></span> -<p>This is implemented in <code>kpathsea_find_glyph</code> in -<samp>kpathsea/tex-glyph.c</samp>. +<a class="index-entry-id" id="index-tex_002dglyph_002ec"></a> +<a class="index-entry-id" id="index-kpathsea_005ffind_005fglyph"></a> +<p>This is implemented in <code class="code">kpathsea_find_glyph</code> in +<samp class="file">kpathsea/tex-glyph.c</samp>. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Basic-glyph-lookup" accesskey="1">Basic glyph lookup</a></li> <li><a href="#Fontmap" accesskey="2">Fontmap</a></li> <li><a href="#Fallback-font" accesskey="3">Fallback font</a></li> </ul> <hr> -<div class="subsection" id="Basic-glyph-lookup"> -<div class="header"> +<div class="subsection-level-extent" id="Basic-glyph-lookup"> +<div class="nav-panel"> <p> Next: <a href="#Fontmap" accesskey="n" rel="next">Fontmap</a>, Up: <a href="#Glyph-lookup" accesskey="u" rel="up">Glyph lookup</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Basic-glyph-lookup-1"></span><h4 class="subsection">6.3.1 Basic glyph lookup</h4> +<h4 class="subsection" id="Basic-glyph-lookup-1">6.3.1 Basic glyph lookup</h4> -<span id="index-basic-glyph-lookup"></span> -<span id="index-common-features-in-glyph-lookup"></span> +<a class="index-entry-id" id="index-basic-glyph-lookup"></a> +<a class="index-entry-id" id="index-common-features-in-glyph-lookup"></a> -<p>When Kpathsea looks for a bitmap font <var>name</var> at resolution <var>dpi</var> -in a format <var>format</var>, it first checks each directory in the search -path for a file ‘<samp><var>name</var>.<var>dpi</var><var>format</var></samp>’; for example, -‘<samp>cmr10.600pk</samp>’. Kpathsea looks for a PK file first, then a GF file. +<p>When Kpathsea looks for a bitmap font <var class="var">name</var> at resolution <var class="var">dpi</var> +in a format <var class="var">format</var>, it first checks each directory in the search +path for a file ‘<samp class="samp"><var class="var">name</var>.<var class="var">dpi</var><var class="var">format</var></samp>’; for example, +‘<samp class="samp">cmr10.600pk</samp>’. Kpathsea looks for a PK file first, then a GF file. </p> <p>If that fails, Kpathsea looks for -‘<samp>dpi<var>dpi</var>/<var>name</var>.<var>format</var></samp>’; for example, -‘<samp>dpi600/cmr10.pk</samp>’. This is how fonts are typically stored on +‘<samp class="samp">dpi<var class="var">dpi</var>/<var class="var">name</var>.<var class="var">format</var></samp>’; for example, +‘<samp class="samp">dpi600/cmr10.pk</samp>’. This is how fonts are typically stored on filesystems (such as DOS) that permit only three-character extensions. </p> -<span id="index-tolerance-for-glyph-lookup"></span> -<span id="index-glyph-lookup-bitmap-tolerance"></span> -<span id="index-KPSE_005fBITMAP_005fTOLERANCE"></span> -<p>If that fails, Kpathsea looks for a font with a close-enough <var>dpi</var>. -“Close enough” is defined by the macro <code>KPSE_BITMAP_TOLERANCE</code> in -<samp>kpathsea/tex-glyph.h</samp> to be <code><var>dpi</var> / 500 + 1</code>. This is +<a class="index-entry-id" id="index-tolerance-for-glyph-lookup"></a> +<a class="index-entry-id" id="index-glyph-lookup-bitmap-tolerance"></a> +<a class="index-entry-id" id="index-KPSE_005fBITMAP_005fTOLERANCE"></a> +<p>If that fails, Kpathsea looks for a font with a close-enough <var class="var">dpi</var>. +“Close enough” is defined by the macro <code class="code">KPSE_BITMAP_TOLERANCE</code> in +<samp class="file">kpathsea/tex-glyph.h</samp> to be <code class="code"><var class="var">dpi</var> / 500 + 1</code>. This is slightly more than the 0.2% minimum allowed by the DVI standard -(<a href="CTAN:/dviware/driv-standard/level-0">CTAN:/dviware/driv-standard/level-0</a>). +(<a class="url" href="CTAN:/dviware/driv-standard/level-0">CTAN:/dviware/driv-standard/level-0</a>). </p> <hr> </div> -<div class="subsection" id="Fontmap"> -<div class="header"> +<div class="subsection-level-extent" id="Fontmap"> +<div class="nav-panel"> <p> Next: <a href="#Fallback-font" accesskey="n" rel="next">Fallback font</a>, Previous: <a href="#Basic-glyph-lookup" accesskey="p" rel="prev">Basic glyph lookup</a>, Up: <a href="#Glyph-lookup" accesskey="u" rel="up">Glyph lookup</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Fontmap-1"></span><h4 class="subsection">6.3.2 Fontmap</h4> +<h4 class="subsection" id="Fontmap-1">6.3.2 Fontmap</h4> -<span id="index-fontmap-files"></span> -<span id="index-font-alias-files"></span> -<span id="index-aliases-for-fonts"></span> +<a class="index-entry-id" id="index-fontmap-files"></a> +<a class="index-entry-id" id="index-font-alias-files"></a> +<a class="index-entry-id" id="index-aliases-for-fonts"></a> -<span id="index-texfonts_002emap"></span> +<a class="index-entry-id" id="index-texfonts_002emap"></a> <p>If a bitmap font or metric file is not found with the original name (see -the previous section), Kpathsea looks through any <em>fontmap</em> files -for an <em>alias</em> for the original font name. These files are named -<samp>texfonts.map</samp> and searched for along the <code>TEXFONTMAPS</code> -environment/config file variable. All <samp>texfonts.map</samp> files that +the previous section), Kpathsea looks through any <em class="dfn">fontmap</em> files +for an <em class="dfn">alias</em> for the original font name. These files are named +<samp class="file">texfonts.map</samp> and searched for along the <code class="code">TEXFONTMAPS</code> +environment/config file variable. All <samp class="file">texfonts.map</samp> files that are found are read; earlier definitions override later ones. </p> <p>This feature is intended to help in two respects: </p> -<ol> -<li> <span id="index-fontnames_002c-arbitrary-length"></span> +<ol class="enumerate"> +<li> <a class="index-entry-id" id="index-fontnames_002c-arbitrary-length"></a> An alias name is limited in length only by available memory, not by your -filesystem. Therefore, if you want to ask for ‘<samp>Times-Roman</samp>’ -instead of <samp>ptmr</samp>, you can (you get ‘<samp>ptmr8r</samp>’). +filesystem. Therefore, if you want to ask for ‘<samp class="samp">Times-Roman</samp>’ +instead of <samp class="file">ptmr</samp>, you can (you get ‘<samp class="samp">ptmr8r</samp>’). -</li><li> <span id="index-circle-fonts"></span> -<span id="index-lcircle10"></span> +</li><li> <a class="index-entry-id" id="index-circle-fonts"></a> +<a class="index-entry-id" id="index-lcircle10"></a> A few fonts have historically had multiple names: specifically, -LaTeX’s “circle font” has variously been known as <samp>circle10</samp>, -<samp>lcircle10</samp>, and <samp>lcirc10</samp>. Aliases can make all the names +LaTeX’s “circle font” has variously been known as <samp class="file">circle10</samp>, +<samp class="file">lcircle10</samp>, and <samp class="file">lcirc10</samp>. Aliases can make all the names equivalent, so that it no longer matters what the name of the installed file is; TeX documents will find their favorite name. @@ -2886,41 +2895,41 @@ file is; TeX documents will find their favorite name. <p>The format of fontmap files: </p> -<ul> -<li> <span id="index-comments_002c-in-fontmap-files"></span> -Comments start with the last ‘<samp>%</samp>’ on a line and continue to +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-comments_002c-in-fontmap-files"></a> +Comments start with the last ‘<samp class="samp">%</samp>’ on a line and continue to the end of the line. (This provides for names that include a %, ill-advised as that may be.) -</li><li> <span id="index-whitespace_002c-in-fontmap-files"></span> +</li><li><a class="index-entry-id" id="index-whitespace_002c-in-fontmap-files"></a> Blank lines are ignored. -</li><li> Each nonblank line is broken up into a series of <em>words</em>: +</li><li>Each nonblank line is broken up into a series of <em class="dfn">words</em>: a sequence of non-whitespace characters. -</li><li> <span id="index-include-fontmap-directive"></span> -If the first word is ‘<samp>include</samp>’, the second word is used as +</li><li><a class="index-entry-id" id="index-include-fontmap-directive"></a> +If the first word is ‘<samp class="samp">include</samp>’, the second word is used as a filename, and it is searched for and read. -</li><li> Otherwise, the first word on each line is the true filename; +</li><li>Otherwise, the first word on each line is the true filename; -</li><li> the second word is the alias; +</li><li>the second word is the alias; -</li><li> subsequent words are ignored. +</li><li>subsequent words are ignored. </li></ul> <p>If an alias has an extension, it matches only those files with that extension; otherwise, it matches anything with the same root, regardless -of extension. For example, an alias ‘<samp>foo.tfm</samp>’ matches only when -<samp>foo.tfm</samp> is being searched for; but an alias ‘<samp>foo</samp>’ matches -<samp>foo.vf</samp>, <samp>foo.600pk</samp>, etc. +of extension. For example, an alias ‘<samp class="samp">foo.tfm</samp>’ matches only when +<samp class="file">foo.tfm</samp> is being searched for; but an alias ‘<samp class="samp">foo</samp>’ matches +<samp class="file">foo.vf</samp>, <samp class="file">foo.600pk</samp>, etc. </p> -<p>As an example, here is an excerpt from the <samp>texfonts.map</samp> in the +<p>As an example, here is an excerpt from the <samp class="file">texfonts.map</samp> in the Web2c distribution. It makes the old and new names of the LaTeX circle fonts equivalent. </p> <div class="example"> -<pre class="example">circle10 lcircle10 +<pre class="example-preformatted">circle10 lcircle10 circle10 lcirc10 lcircle10 circle10 lcircle10 lcirc10 @@ -2929,129 +2938,129 @@ lcirc10 lcircle10 … </pre></div> -<p>Fontmaps are implemented in the file <samp>kpathsea/fontmap.c</samp>. +<p>Fontmaps are implemented in the file <samp class="file">kpathsea/fontmap.c</samp>. The Fontname distribution has much more information on font naming -(see <cite><a data-manual="fontname" href="fontname.html#Top">Filenames for TeX fonts</a></cite>). +(see <cite class="cite"><a data-manual="fontname" href="fontname.html#Top">Filenames for TeX fonts</a></cite>). </p> <hr> </div> -<div class="subsection" id="Fallback-font"> -<div class="header"> +<div class="subsection-level-extent" id="Fallback-font"> +<div class="nav-panel"> <p> Previous: <a href="#Fontmap" accesskey="p" rel="prev">Fontmap</a>, Up: <a href="#Glyph-lookup" accesskey="u" rel="up">Glyph lookup</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Fallback-font-1"></span><h4 class="subsection">6.3.3 Fallback font</h4> - -<span id="index-fallback-font"></span> -<span id="index-fallback-resolutions"></span> -<span id="index-font-of-last-resort"></span> -<span id="index-resolutions_002c-last_002dresort"></span> -<span id="index-last_002dresort-font"></span> - -<span id="index-DVIPSSIZES"></span> -<span id="index-XDVISIZES"></span> -<span id="index-DVILJSIZES"></span> -<span id="index-TEXSIZES"></span> -<span id="index-default_005ftexsizes"></span> +<h4 class="subsection" id="Fallback-font-1">6.3.3 Fallback font</h4> + +<a class="index-entry-id" id="index-fallback-font"></a> +<a class="index-entry-id" id="index-fallback-resolutions"></a> +<a class="index-entry-id" id="index-font-of-last-resort"></a> +<a class="index-entry-id" id="index-resolutions_002c-last_002dresort"></a> +<a class="index-entry-id" id="index-last_002dresort-font"></a> + +<a class="index-entry-id" id="index-DVIPSSIZES"></a> +<a class="index-entry-id" id="index-XDVISIZES"></a> +<a class="index-entry-id" id="index-DVILJSIZES"></a> +<a class="index-entry-id" id="index-TEXSIZES"></a> +<a class="index-entry-id" id="index-default_005ftexsizes"></a> <p>If a bitmap font cannot be found or created at the requested size, -Kpathsea looks for the font at a set of <em>fallback resolutions</em>. You +Kpathsea looks for the font at a set of <em class="dfn">fallback resolutions</em>. You specify these resolutions as a colon-separated list (like search paths). Kpathsea looks first for a program-specific environment variable (e.g., -<code>DVIPSSIZES</code> for Dvipsk), then the environment variable -<code>TEXSIZES</code>, then a default specified at compilation time (the Make -variable <code>default_texsizes</code>). You can set this list to be empty if +<code class="code">DVIPSSIZES</code> for Dvipsk), then the environment variable +<code class="code">TEXSIZES</code>, then a default specified at compilation time (the Make +variable <code class="code">default_texsizes</code>). You can set this list to be empty if you prefer to find fonts at their stated size or not at all. </p> -<span id="index-cmr10_002c-as-fallback-font"></span> -<span id="index-kpathsea_005finit_005fprog"></span> +<a class="index-entry-id" id="index-cmr10_002c-as-fallback-font"></a> +<a class="index-entry-id" id="index-kpathsea_005finit_005fprog"></a> <p>Finally, if the font cannot be found even at the fallback resolutions, -Kpathsea looks for a fallback font, typically <samp>cmr10</samp>. Programs -must enable this feature by calling <code>kpathsea_init_prog</code> -(see <a href="#Calling-sequence">Calling sequence</a>); the default is no fallback font. +Kpathsea looks for a fallback font, typically <samp class="file">cmr10</samp>. Programs +must enable this feature by calling <code class="code">kpathsea_init_prog</code> +(see <a class="pxref" href="#Calling-sequence">Calling sequence</a>); the default is no fallback font. </p> <hr> </div> </div> -<div class="section" id="Suppressing-warnings"> -<div class="header"> +<div class="section-level-extent" id="Suppressing-warnings"> +<div class="nav-panel"> <p> -Next: <a href="#mktex-scripts" accesskey="n" rel="next"><samp>mktex</samp> scripts</a>, Previous: <a href="#Glyph-lookup" accesskey="p" rel="prev">Glyph lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#mktex-scripts" accesskey="n" rel="next"><samp class="file">mktex</samp> scripts</a>, Previous: <a href="#Glyph-lookup" accesskey="p" rel="prev">Glyph lookup</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Suppressing-warnings-1"></span><h3 class="section">6.4 Suppressing warnings</h3> +<h3 class="section" id="Suppressing-warnings-1">6.4 Suppressing warnings</h3> -<span id="index-warnings_002c-suppressing"></span> -<span id="index-suppressing-warnings"></span> +<a class="index-entry-id" id="index-warnings_002c-suppressing"></a> +<a class="index-entry-id" id="index-suppressing-warnings"></a> -<span id="index-TEX_005fHUSH-1"></span> +<a class="index-entry-id" id="index-TEX_005fHUSH-1"></a> <p>Kpathsea provides a way to suppress selected usually-harmless warnings; this is useful at large sites where most users are not administrators, and thus the warnings are merely a source of confusion, not a help. To do this, you set the environment variable or configuration file value -<code>TEX_HUSH</code> to a colon-separated list of values. Here are the +<code class="code">TEX_HUSH</code> to a colon-separated list of values. Here are the possibilities: </p> -<dl compact="compact"> -<dt id='index-all'><span>‘<samp>all</samp>’<a href='#index-all' class='copiable-anchor'> ¶</a></span></dt> +<dl class="vtable"> +<dt id='index-all'><span>‘<samp class="samp">all</samp>’<a class="copiable-link" href='#index-all'> ¶</a></span></dt> <dd><p>Suppress everything possible. </p> </dd> -<dt id='index-checksum'><span>‘<samp>checksum</samp>’<a href='#index-checksum' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-mismatched-checksum-warnings"></span> +<dt id='index-checksum'><span>‘<samp class="samp">checksum</samp>’<a class="copiable-link" href='#index-checksum'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-mismatched-checksum-warnings"></a> <p>Suppress mismatched font checksum warnings. </p> </dd> -<dt id='index-lostchar'><span>‘<samp>lostchar</samp>’<a href='#index-lostchar' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-missing-character-warnings"></span> +<dt id='index-lostchar'><span>‘<samp class="samp">lostchar</samp>’<a class="copiable-link" href='#index-lostchar'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-missing-character-warnings"></a> <p>Suppress warnings when a character is missing from a font that a DVI or VF file tries to typeset. </p> </dd> -<dt id='index-none'><span>‘<samp>none</samp>’<a href='#index-none' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-none'><span>‘<samp class="samp">none</samp>’<a class="copiable-link" href='#index-none'> ¶</a></span></dt> <dd><p>Don’t suppress any warnings. </p> </dd> -<dt id='index-readable'><span>‘<samp>readable</samp>’<a href='#index-readable' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-unreadable-file-warnings"></span> +<dt id='index-readable'><span>‘<samp class="samp">readable</samp>’<a class="copiable-link" href='#index-readable'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-unreadable-file-warnings"></a> <p>Suppress warnings about attempts to access a file whose permissions render it unreadable. </p> </dd> -<dt id='index-special'><span>‘<samp>special</samp>’<a href='#index-special' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-unknown-special-warnings"></span> -<span id="index-_005cspecial_002c-suppressing-warnings-about"></span> +<dt id='index-special'><span>‘<samp class="samp">special</samp>’<a class="copiable-link" href='#index-special'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-unknown-special-warnings"></a> +<a class="index-entry-id" id="index-_005cspecial_002c-suppressing-warnings-about"></a> <p>Suppresses warnings about an unimplemented or unparsable -‘<samp>\special</samp>’ command. +‘<samp class="samp">\special</samp>’ command. </p></dd> </dl> -<p><samp>tex-hush.c</samp> defines the function that checks the +<p><samp class="file">tex-hush.c</samp> defines the function that checks the variable value. Each driver implements its own checks where appropriate. </p> <hr> </div> -<div class="section" id="mktex-scripts"> -<div class="header"> +<div class="section-level-extent" id="mktex-scripts"> +<div class="nav-panel"> <p> Previous: <a href="#Suppressing-warnings" accesskey="p" rel="prev">Suppressing warnings</a>, Up: <a href="#TeX-support" accesskey="u" rel="up">TeX support</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="mktex-scripts-1"></span><h3 class="section">6.5 <samp>mktex</samp> scripts</h3> +<h3 class="section" id="mktex-scripts-1">6.5 <samp class="file">mktex</samp> scripts</h3> -<span id="index-mktex-scripts"></span> -<span id="index-scripts-for-file-creation"></span> +<a class="index-entry-id" id="index-mktex-scripts"></a> +<a class="index-entry-id" id="index-scripts-for-file-creation"></a> -<span id="index-font-set_002c-infinite"></span> -<span id="index-dynamic-creation-of-files"></span> -<span id="index-Sauter-fonts_002c-and-dynamic-source-creation"></span> -<span id="index-EC-fonts_002c-and-dynamic-source-creation"></span> +<a class="index-entry-id" id="index-font-set_002c-infinite"></a> +<a class="index-entry-id" id="index-dynamic-creation-of-files"></a> +<a class="index-entry-id" id="index-Sauter-fonts_002c-and-dynamic-source-creation"></a> +<a class="index-entry-id" id="index-EC-fonts_002c-and-dynamic-source-creation"></a> <p>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 (see <a href="#mktex-configuration"><samp>mktex</samp> configuration</a>). These are collectively -known as <em><code>mktex</code> scripts</em>, since most of them are named -<code>mktex...</code>. +dynamically (see <a class="pxref" href="#mktex-configuration"><samp class="file">mktex</samp> configuration</a>). These are collectively +known as <em class="dfn"><code class="code">mktex</code> scripts</em>, since most of them are named +<code class="code">mktex...</code>. </p> <p>For example, this is useful for fonts (bitmaps, TFM’s, and arbitrarily-sizable Metafont sources such as the Sauter and EC fonts), @@ -3059,9 +3068,9 @@ since any given document can use fonts never before referenced. Building all fonts in advance is therefore impractical, if not impossible. </p> -<p>It is also useful for the TeX ‘<samp>.fmt</samp>’ (and Metafont -‘<samp>.base</samp>’ and Metapost ‘<samp>.mem</samp>’ files, see <a data-manual="Web2c" href="Web2c.html#Memory-dumps">Memory -dumps</a> in <cite>web2c</cite>), where pre-generating every format consumes a +<p>It is also useful for the TeX ‘<samp class="samp">.fmt</samp>’ (and Metafont +‘<samp class="samp">.base</samp>’ and Metapost ‘<samp class="samp">.mem</samp>’ files, see <a data-manual="Web2c" href="Web2c.html#Memory-dumps">Memory +dumps</a> in <cite class="cite">web2c</cite>), where pre-generating every format consumes a lot of both time and space. </p> <p>The script is passed the name of the file to create and possibly other @@ -3071,40 +3080,40 @@ diagnostics to standard error. </p> -<ul class="section-toc"> -<li><a href="#mktex-configuration" accesskey="1"><samp>mktex</samp> configuration</a></li> -<li><a href="#mktex-script-names" accesskey="2"><samp>mktex</samp> script names</a></li> -<li><a href="#mktex-script-arguments" accesskey="3"><samp>mktex</samp> script arguments</a></li> +<ul class="mini-toc"> +<li><a href="#mktex-configuration" accesskey="1"><samp class="file">mktex</samp> configuration</a></li> +<li><a href="#mktex-script-names" accesskey="2"><samp class="file">mktex</samp> script names</a></li> +<li><a href="#mktex-script-arguments" accesskey="3"><samp class="file">mktex</samp> script arguments</a></li> </ul> <hr> -<div class="subsection" id="mktex-configuration"> -<div class="header"> +<div class="subsection-level-extent" id="mktex-configuration"> +<div class="nav-panel"> <p> -Next: <a href="#mktex-script-names" accesskey="n" rel="next"><samp>mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp>mktex</samp> scripts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#mktex-script-names" accesskey="n" rel="next"><samp class="file">mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp class="file">mktex</samp> scripts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="mktex-configuration-1"></span><h4 class="subsection">6.5.1 <samp>mktex</samp> configuration</h4> +<h4 class="subsection" id="mktex-configuration-1">6.5.1 <samp class="file">mktex</samp> configuration</h4> -<span id="index-mktex-script-configuration"></span> -<span id="index-configuration-of-mktex-scripts"></span> -<span id="index-enabling-mktex-scripts"></span> -<span id="index-disabling-mktex-scripts"></span> +<a class="index-entry-id" id="index-mktex-script-configuration"></a> +<a class="index-entry-id" id="index-configuration-of-mktex-scripts"></a> +<a class="index-entry-id" id="index-enabling-mktex-scripts"></a> +<a class="index-entry-id" id="index-disabling-mktex-scripts"></a> <p>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 <code>configure</code> options specifying otherwise, everything -but <samp>mktextex</samp> will be enabled by default. The <code>configure</code> +absence of <code class="code">configure</code> options specifying otherwise, everything +but <samp class="file">mktextex</samp> will be enabled by default. The <code class="code">configure</code> options to change the defaults are: </p> -<span id="index-configure-options-for-mktex-scripts"></span> -<span id="index-_002d_002dwithout_002dmktexfmt_002ddefault"></span> -<span id="index-_002d_002dwithout_002dmktexmf_002ddefault"></span> -<span id="index-_002d_002dwithout_002dmktexocp_002ddefault"></span> -<span id="index-_002d_002dwithout_002dmktexofm_002ddefault"></span> -<span id="index-_002d_002dwithout_002dmktexpk_002ddefault"></span> -<span id="index-_002d_002dwithout_002dmktextfm_002ddefault"></span> -<span id="index-_002d_002dwith_002dmktextex_002ddefault"></span> +<a class="index-entry-id" id="index-configure-options-for-mktex-scripts"></a> +<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexfmt_002ddefault"></a> +<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexmf_002ddefault"></a> +<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexocp_002ddefault"></a> +<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexofm_002ddefault"></a> +<a class="index-entry-id" id="index-_002d_002dwithout_002dmktexpk_002ddefault"></a> +<a class="index-entry-id" id="index-_002d_002dwithout_002dmktextfm_002ddefault"></a> +<a class="index-entry-id" id="index-_002d_002dwith_002dmktextex_002ddefault"></a> <div class="example"> -<pre class="example">--without-mktexfmt-default +<pre class="example-preformatted">--without-mktexfmt-default --without-mktexmf-default --without-mktexocp-default --without-mktexofm-default @@ -3113,264 +3122,264 @@ options to change the defaults are: --with-mktextex-default </pre></div> -<p>The <code>configure</code> setting is overridden if the environment variable +<p>The <code class="code">configure</code> setting is overridden if the environment variable or configuration file value named for the script is set; e.g., -<samp>MKTEXPK</samp> (see <a href="#mktex-script-arguments"><samp>mktex</samp> script arguments</a>). +<samp class="file">MKTEXPK</samp> (see <a class="pxref" href="#mktex-script-arguments"><samp class="file">mktex</samp> script arguments</a>). </p> -<span id="index-fmtutils_002ecnf"></span> -<p><code>mktexfmt</code> reads a file <samp>fmtutil.cnf</samp>, typically located in -<samp>texmf/web2c/</samp> to glean its configuration information. The rest +<a class="index-entry-id" id="index-fmtutils_002ecnf"></a> +<p><code class="code">mktexfmt</code> reads a file <samp class="file">fmtutil.cnf</samp>, typically located in +<samp class="file">texmf/web2c/</samp> to glean its configuration information. The rest of the files and features in this section are primarily intended for the font generation scripts. </p> -<span id="index-mktex_002ecnf-1"></span> -<span id="index-mktex_002eopt"></span> -<span id="index-site-overrides-for-mktex_2026"></span> +<a class="index-entry-id" id="index-mktex_002ecnf-1"></a> +<a class="index-entry-id" id="index-mktex_002eopt"></a> +<a class="index-entry-id" id="index-site-overrides-for-mktex_2026"></a> <p>As distributed, all the scripts source a file -<samp>texmf/web2c/mktex.cnf</samp> if it exists, so you can override various +<samp class="file">texmf/web2c/mktex.cnf</samp> if it exists, so you can override various defaults. -See <samp>mktex.opt</samp>, for instance, which defines the default mode, +See <samp class="file">mktex.opt</samp>, 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 <samp>mktex.cnf</samp> +change the distributed scripts, you can simply create <samp class="file">mktex.cnf</samp> with the appropriate definitions (you do not need to create it if you -have nothing to put in it). <samp>mktex.cnf</samp> has no special syntax; +have nothing to put in it). <samp class="file">mktex.cnf</samp> has no special syntax; it’s an arbitrary Bourne shell script. The distribution contains a -sample <samp>mktex.cnf</samp> for you to copy and modify as you please (it +sample <samp class="file">mktex.cnf</samp> for you to copy and modify as you please (it is not installed anywhere). </p> -<span id="index-mktex_002eopt-1"></span> -<span id="index-MT_005fFEATURES"></span> +<a class="index-entry-id" id="index-mktex_002eopt-1"></a> +<a class="index-entry-id" id="index-MT_005fFEATURES"></a> <p>In addition, you can configure a number of features with the -<code>MT_FEATURES</code> variable, which you can define: +<code class="code">MT_FEATURES</code> variable, which you can define: </p> -<ul> -<li> in <samp>mktex.opt</samp>, as just mentioned; +<ul class="itemize mark-bullet"> +<li>in <samp class="file">mktex.opt</samp>, as just mentioned; -</li><li> by editing the file <samp>mktex.opt</samp>, either before ‘<samp>make +</li><li>by editing the file <samp class="file">mktex.opt</samp>, either before ‘<samp class="samp">make install</samp>’ (in the source hierarchy) or after (in the installed hierarchy); -</li><li> or in the environment. +</li><li>or in the environment. </li></ul> -<p>If none of the options below are enabled, <code>mktexpk</code>, -<code>mktextfm</code>, and <code>mktexmf</code> follow the following procedure to +<p>If none of the options below are enabled, <code class="code">mktexpk</code>, +<code class="code">mktextfm</code>, and <code class="code">mktexmf</code> 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 ‘<samp>fonts</samp>’ directory of +sources are, and test the permissions of the ‘<samp class="samp">fonts</samp>’ 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 <code>SYSTEXMF</code>). If so, the -<code>VARTEXFONTS</code> tree is used. In all other cases the working +the tree is a system tree (named in <code class="code">SYSTEXMF</code>). If so, the +<code class="code">VARTEXFONTS</code> tree is used. In all other cases the working directory is used. </p> -<p>The ‘<samp>appendonlydir</samp>’ option is enabled by default. +<p>The ‘<samp class="samp">appendonlydir</samp>’ option is enabled by default. </p> -<dl compact="compact"> -<dt id='index-appendonlydir'><span>‘<samp>appendonlydir</samp>’<a href='#index-appendonlydir' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-directories_002c-making-append_002donly"></span> -<span id="index-mktexdir"></span> -<p>Tell <code>mktexdir</code> to create directories append-only, i.e., set -their sticky bit (see <a data-manual="coreutils" href="https://www.gnu.org/software/coreutils/manual/coreutils#Mode-Structure">Mode Structure</a> in <cite>GNU Core +<dl class="vtable"> +<dt id='index-appendonlydir'><span>‘<samp class="samp">appendonlydir</samp>’<a class="copiable-link" href='#index-appendonlydir'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-directories_002c-making-append_002donly"></a> +<a class="index-entry-id" id="index-mktexdir"></a> +<p>Tell <code class="code">mktexdir</code> to create directories append-only, i.e., set +their sticky bit (see <a data-manual="coreutils" href="https://www.gnu.org/software/coreutils/manual/coreutils.html#Mode-Structure">Mode Structure</a> in <cite class="cite">GNU Core Utilities</cite>). 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. </p> </dd> -<dt id='index-dosnames'><span>‘<samp>dosnames</samp>’<a href='#index-dosnames' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-8_002e3-filenames_002c-using"></span> -<span id="index-DOS-compatible-names"></span> -<span id="index-dpinnn-directories"></span> -<p>Use 8.3 names; e.g., <samp>dpi600/cmr10.pk</samp> instead of -<samp>cmr10.600pk</samp>. Note that this feature only affects filenames that -would otherwise clash with other TeX-related filenames; <samp>mktex</samp> +<dt id='index-dosnames'><span>‘<samp class="samp">dosnames</samp>’<a class="copiable-link" href='#index-dosnames'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-8_002e3-filenames_002c-using"></a> +<a class="index-entry-id" id="index-DOS-compatible-names"></a> +<a class="index-entry-id" id="index-dpinnn-directories"></a> +<p>Use 8.3 names; e.g., <samp class="file">dpi600/cmr10.pk</samp> instead of +<samp class="file">cmr10.600pk</samp>. Note that this feature only affects filenames that +would otherwise clash with other TeX-related filenames; <samp class="file">mktex</samp> 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, <samp>cmr10.600pk</samp> would clash with -<samp>cmr10.600gf</samp> and is therefore changed when ‘<samp>dosnames</samp>’ is in -effect, but <samp>mf.pool</samp> and <samp>mp.base</samp> don’t clash with any +related with TeX. For example, <samp class="file">cmr10.600pk</samp> would clash with +<samp class="file">cmr10.600gf</samp> and is therefore changed when ‘<samp class="samp">dosnames</samp>’ is in +effect, but <samp class="file">mf.pool</samp> and <samp class="file">mp.base</samp> don’t clash with any TeX-related files and are therefore unchanged. </p> <p>This feature is turned on by default on MS-DOS. If you do not wish -‘<samp>dosnames</samp>’ to be set on an MS-DOS platform, you need to set the -<code>MT_FEATURES</code> environment variable to a value that doesn’t include -‘<samp>dosnames</samp>’. You can also change the default setting by editing -<samp>mktex.opt</samp>, but only if you use the <samp>mktex</samp> shell scripts; -the emulation programs don’t consult <samp>mktex.opt</samp>. +‘<samp class="samp">dosnames</samp>’ to be set on an MS-DOS platform, you need to set the +<code class="code">MT_FEATURES</code> environment variable to a value that doesn’t include +‘<samp class="samp">dosnames</samp>’. You can also change the default setting by editing +<samp class="file">mktex.opt</samp>, but only if you use the <samp class="file">mktex</samp> shell scripts; +the emulation programs don’t consult <samp class="file">mktex.opt</samp>. </p> </dd> -<dt id='index-fontmaps-1'><span>‘<samp>fontmaps</samp>’<a href='#index-fontmaps-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-fontmaps"></span> -<span id="index-fontname"></span> +<dt id='index-fontmaps-1'><span>‘<samp class="samp">fontmaps</samp>’<a class="copiable-link" href='#index-fontmaps-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-fontmaps"></a> +<a class="index-entry-id" id="index-fontname"></a> <p>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. (see <a data-manual="fontname" href="fontname.html#Top">Introduction</a> in <cite>Fontname</cite>). +Fontname distribution are used. (see <a data-manual="fontname" href="fontname.html#Top">Introduction</a> in <cite class="cite">Fontname</cite>). </p> </dd> -<dt id='index-nomfdrivers'><span>‘<samp>nomfdrivers</samp>’<a href='#index-nomfdrivers' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-metafont-driver-files"></span> +<dt id='index-nomfdrivers'><span>‘<samp class="samp">nomfdrivers</samp>’<a class="copiable-link" href='#index-nomfdrivers'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-metafont-driver-files"></a> <p>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. </p> </dd> -<dt id='index-nomode'><span>‘<samp>nomode</samp>’<a href='#index-nomode' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-mode-directory_002c-omitting"></span> +<dt id='index-nomode'><span>‘<samp class="samp">nomode</samp>’<a class="copiable-link" href='#index-nomode'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-mode-directory_002c-omitting"></a> <p>Omit the directory level for the mode name; this is fine as long as you generate fonts for only one mode. </p> </dd> -<dt id='index-stripsupplier'><span>‘<samp>stripsupplier</samp>’<a href='#index-stripsupplier' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-supplier-directory_002c-omitting"></span> +<dt id='index-stripsupplier'><span>‘<samp class="samp">stripsupplier</samp>’<a class="copiable-link" href='#index-stripsupplier'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-supplier-directory_002c-omitting"></a> <p>Omit the font supplier name directory level. </p> </dd> -<dt id='index-striptypeface'><span>‘<samp>striptypeface</samp>’<a href='#index-striptypeface' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-typeface-directory_002c-omitting"></span> +<dt id='index-striptypeface'><span>‘<samp class="samp">striptypeface</samp>’<a class="copiable-link" href='#index-striptypeface'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-typeface-directory_002c-omitting"></a> <p>Omit the font typeface name directory level. </p> </dd> -<dt id='index-strip'><span>‘<samp>strip</samp>’<a href='#index-strip' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-supplier-directory_002c-omitting-1"></span> -<span id="index-typeface-directory_002c-omitting-1"></span> +<dt id='index-strip'><span>‘<samp class="samp">strip</samp>’<a class="copiable-link" href='#index-strip'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-supplier-directory_002c-omitting-1"></a> +<a class="index-entry-id" id="index-typeface-directory_002c-omitting-1"></a> <p>Omit the font supplier and typeface name directory levels. This feature -is deprecated in favour of ‘<samp>stripsupplier</samp>’ and ‘<samp>striptypeface</samp>’. +is deprecated in favour of ‘<samp class="samp">stripsupplier</samp>’ and ‘<samp class="samp">striptypeface</samp>’. </p> </dd> -<dt id='index-varfonts'><span>‘<samp>varfonts</samp>’<a href='#index-varfonts' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002fvar_002ftmp_002ftexfonts"></span> -<span id="index-VARTEXFONTS"></span> -<span id="index-Linux-File-System-Standard"></span> +<dt id='index-varfonts'><span>‘<samp class="samp">varfonts</samp>’<a class="copiable-link" href='#index-varfonts'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002fvar_002ftmp_002ftexfonts"></a> +<a class="index-entry-id" id="index-VARTEXFONTS"></a> +<a class="index-entry-id" id="index-Linux-File-System-Standard"></a> <p>When this option is enabled, fonts that would otherwise be written in -system texmf tree go to the <code>VARTEXFONTS</code> tree instead. The -default value in <samp>kpathsea/Makefile.in</samp> is -<samp>/var/tmp/texfonts</samp>. The <cite>Linux File System Standard</cite> -recommends <samp>/var/tex/fonts</samp>. +system texmf tree go to the <code class="code">VARTEXFONTS</code> tree instead. The +default value in <samp class="file">kpathsea/Makefile.in</samp> is +<samp class="file">/var/tmp/texfonts</samp>. The <cite class="cite">Linux File System Standard</cite> +recommends <samp class="file">/var/tex/fonts</samp>. </p> -<span id="index-USE_005fVARTEXFONTS"></span> -<p>The ‘<samp>varfonts</samp>’ setting in <code>MT_FEATURES</code> is overridden by the -<code>USE_VARTEXFONTS</code> environment variable: if set to ‘<samp>1</samp>’, the -feature is enabled, and if set to ‘<samp>0</samp>’, the feature is disabled. +<a class="index-entry-id" id="index-USE_005fVARTEXFONTS"></a> +<p>The ‘<samp class="samp">varfonts</samp>’ setting in <code class="code">MT_FEATURES</code> is overridden by the +<code class="code">USE_VARTEXFONTS</code> environment variable: if set to ‘<samp class="samp">1</samp>’, the +feature is enabled, and if set to ‘<samp class="samp">0</samp>’, the feature is disabled. </p> </dd> -<dt id='index-texmfvar'><span>‘<samp>texmfvar</samp>’<a href='#index-texmfvar' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-TEXMFVAR"></span> +<dt id='index-texmfvar'><span>‘<samp class="samp">texmfvar</samp>’<a class="copiable-link" href='#index-texmfvar'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-TEXMFVAR"></a> <p>Force generated files that would go into a system tree (as defined by -<code>SYSTEXMF</code>) into <code>TEXMFVAR</code>. Starting with teTeX-3.0, the -variable <code>TEXMFVAR</code> is always set. The ‘<samp>varfonts</samp>’ feature takes +<code class="code">SYSTEXMF</code>) into <code class="code">TEXMFVAR</code>. Starting with teTeX-3.0, the +variable <code class="code">TEXMFVAR</code> is always set. The ‘<samp class="samp">varfonts</samp>’ feature takes precedence if also set. </p> -<span id="index-USE_005fTEXMFVAR"></span> -<p>The ‘<samp>texmfvar</samp>’ setting in <code>MT_FEATURES</code> is overridden by the -<code>USE_TEXMFVAR</code> environment variable: if set to ‘<samp>1</samp>’, the -feature is enabled, and if set to ‘<samp>0</samp>’, the feature is disabled. +<a class="index-entry-id" id="index-USE_005fTEXMFVAR"></a> +<p>The ‘<samp class="samp">texmfvar</samp>’ setting in <code class="code">MT_FEATURES</code> is overridden by the +<code class="code">USE_TEXMFVAR</code> environment variable: if set to ‘<samp class="samp">1</samp>’, the +feature is enabled, and if set to ‘<samp class="samp">0</samp>’, the feature is disabled. </p></dd> </dl> <hr> </div> -<div class="subsection" id="mktex-script-names"> -<div class="header"> +<div class="subsection-level-extent" id="mktex-script-names"> +<div class="nav-panel"> <p> -Next: <a href="#mktex-script-arguments" accesskey="n" rel="next"><samp>mktex</samp> script arguments</a>, Previous: <a href="#mktex-configuration" accesskey="p" rel="prev"><samp>mktex</samp> configuration</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp>mktex</samp> scripts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#mktex-script-arguments" accesskey="n" rel="next"><samp class="file">mktex</samp> script arguments</a>, Previous: <a href="#mktex-configuration" accesskey="p" rel="prev"><samp class="file">mktex</samp> configuration</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp class="file">mktex</samp> scripts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="mktex-script-names-1"></span><h4 class="subsection">6.5.2 <samp>mktex</samp> script names</h4> +<h4 class="subsection" id="mktex-script-names-1">6.5.2 <samp class="file">mktex</samp> script names</h4> -<span id="index-mktex-script-names"></span> -<span id="index-names-for-mktex-scripts"></span> +<a class="index-entry-id" id="index-mktex-script-names"></a> +<a class="index-entry-id" id="index-names-for-mktex-scripts"></a> <p>The following table shows the default name of the script for each of the file types which support runtime generation. </p> -<dl compact="compact"> -<dt id='index-mktexfmt'><span><samp>mktexfmt</samp><a href='#index-mktexfmt' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-fmtutil"></span> -<p>(‘<samp>.fmt</samp>’, ‘<samp>.base</samp>’, ‘<samp>.mem</samp>’) TeX/Metafont/MetaPost -formats. This script is also named <code>fmtutil</code>, and reads -<samp>fmtutil.cnf</samp> for configuration information. +<dl class="table"> +<dt id='index-mktexfmt'><span><samp class="file">mktexfmt</samp><a class="copiable-link" href='#index-mktexfmt'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-fmtutil"></a> +<p>(‘<samp class="samp">.fmt</samp>’, ‘<samp class="samp">.base</samp>’, ‘<samp class="samp">.mem</samp>’) TeX/Metafont/MetaPost +formats. This script is also named <code class="command">fmtutil</code>, and reads +<samp class="file">fmtutil.cnf</samp> for configuration information. </p> </dd> -<dt id='index-mktexmf'><span><samp>mktexmf</samp><a href='#index-mktexmf' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(‘<samp>.mf</samp>’) Metafont input files. +<dt id='index-mktexmf'><span><samp class="file">mktexmf</samp><a class="copiable-link" href='#index-mktexmf'> ¶</a></span></dt> +<dd><p>(‘<samp class="samp">.mf</samp>’) Metafont input files. </p> </dd> -<dt id='index-mkocp'><span><samp>mkocp</samp><a href='#index-mkocp' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(‘<samp>.ocp</samp>’) Omega compiled process files. +<dt id='index-mkocp'><span><samp class="file">mkocp</samp><a class="copiable-link" href='#index-mkocp'> ¶</a></span></dt> +<dd><p>(‘<samp class="samp">.ocp</samp>’) Omega compiled process files. </p> </dd> -<dt id='index-mkofm'><span><samp>mkofm</samp><a href='#index-mkofm' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(‘<samp>.ofm</samp>’) Omega font metric files. +<dt id='index-mkofm'><span><samp class="file">mkofm</samp><a class="copiable-link" href='#index-mkofm'> ¶</a></span></dt> +<dd><p>(‘<samp class="samp">.ofm</samp>’) Omega font metric files. </p> </dd> -<dt id='index-mktexpk'><span><samp>mktexpk</samp><a href='#index-mktexpk' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(‘<samp>pk</samp>’) Glyph fonts. +<dt id='index-mktexpk'><span><samp class="file">mktexpk</samp><a class="copiable-link" href='#index-mktexpk'> ¶</a></span></dt> +<dd><p>(‘<samp class="samp">pk</samp>’) Glyph fonts. </p> </dd> -<dt id='index-mktextex'><span><samp>mktextex</samp><a href='#index-mktextex' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(‘<samp>.tex</samp>’) TeX input files (disabled by default). +<dt id='index-mktextex'><span><samp class="file">mktextex</samp><a class="copiable-link" href='#index-mktextex'> ¶</a></span></dt> +<dd><p>(‘<samp class="samp">.tex</samp>’) TeX input files (disabled by default). </p> </dd> -<dt id='index-mktextfm'><span><samp>mktextfm</samp><a href='#index-mktextfm' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>(‘<samp>.tfm</samp>’) TFM files. +<dt id='index-mktextfm'><span><samp class="file">mktextfm</samp><a class="copiable-link" href='#index-mktextfm'> ¶</a></span></dt> +<dd><p>(‘<samp class="samp">.tfm</samp>’) TFM files. </p></dd> </dl> -<span id="index-DVIPSMAKEPK"></span> -<span id="index-XDVIMAKEPK"></span> -<span id="index-DVILJMAKEPK"></span> +<a class="index-entry-id" id="index-DVIPSMAKEPK"></a> +<a class="index-entry-id" id="index-XDVIMAKEPK"></a> +<a class="index-entry-id" id="index-DVILJMAKEPK"></a> <p>These names can be overridden by an environment variable specific -to the program—for example, <code>DVIPSMAKEPK</code> for Dvipsk. +to the program—for example, <code class="code">DVIPSMAKEPK</code> for Dvipsk. </p> -<span id="index-missfont_002elog"></span> -<span id="index-failed-mktex_2026-script-invocation"></span> -<p>If a <code>mktex…</code> script fails, the invocation is appended to a -file <samp>missfont.log</samp> (by default) in the current directory. You can +<a class="index-entry-id" id="index-missfont_002elog"></a> +<a class="index-entry-id" id="index-failed-mktex_2026-script-invocation"></a> +<p>If a <code class="code">mktex…</code> script fails, the invocation is appended to a +file <samp class="file">missfont.log</samp> (by default) in the current directory. You can then execute the log file to create the missing files after fixing the problem. </p> -<span id="index-TEXMFOUTPUT"></span> -<span id="index-MISSFONT_005fLOG"></span> +<a class="index-entry-id" id="index-TEXMFOUTPUT"></a> +<a class="index-entry-id" id="index-MISSFONT_005fLOG"></a> <p>If the current directory is not writable and the environment variable or -configuration file value <code>TEXMFOUTPUT</code> is set, its value is -used. Otherwise, nothing is written. The name ‘<samp>missfont.log</samp>’ is -overridden by the <code>MISSFONT_LOG</code> environment variable or +configuration file value <code class="code">TEXMFOUTPUT</code> is set, its value is +used. Otherwise, nothing is written. The name ‘<samp class="samp">missfont.log</samp>’ is +overridden by the <code class="code">MISSFONT_LOG</code> environment variable or configuration file value. </p> <hr> </div> -<div class="subsection" id="mktex-script-arguments"> -<div class="header"> +<div class="subsection-level-extent" id="mktex-script-arguments"> +<div class="nav-panel"> <p> -Previous: <a href="#mktex-script-names" accesskey="p" rel="prev"><samp>mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp>mktex</samp> scripts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#mktex-script-names" accesskey="p" rel="prev"><samp class="file">mktex</samp> script names</a>, Up: <a href="#mktex-scripts" accesskey="u" rel="up"><samp class="file">mktex</samp> scripts</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="mktex-script-arguments-1"></span><h4 class="subsection">6.5.3 <samp>mktex</samp> script arguments</h4> +<h4 class="subsection" id="mktex-script-arguments-1">6.5.3 <samp class="file">mktex</samp> script arguments</h4> -<span id="index-arguments-to-mktex"></span> +<a class="index-entry-id" id="index-arguments-to-mktex"></a> -<p>The first argument to a <samp>mktex</samp> script is always the name +<p>The first argument to a <samp class="file">mktex</samp> script is always the name of the file to be created. </p> -<p>In the default <samp>mktexpk</samp> implementation, additional arguments may +<p>In the default <samp class="file">mktexpk</samp> implementation, additional arguments may also be passed: </p> -<dl compact="compact"> -<dt><span>‘<samp>--dpi <var>num</var></samp>’</span></dt> -<dd><p>Sets the resolution of the generated font to <var>num</var>. +<dl class="table"> +<dt>‘<samp class="samp">--dpi <var class="var">num</var></samp>’</dt> +<dd><p>Sets the resolution of the generated font to <var class="var">num</var>. </p></dd> -<dt><span>‘<samp>--mfmode <var>name</var></samp>’</span></dt> -<dd><p>Sets the Metafont mode to <var>name</var>. +<dt>‘<samp class="samp">--mfmode <var class="var">name</var></samp>’</dt> +<dd><p>Sets the Metafont mode to <var class="var">name</var>. </p></dd> -<dt><span>‘<samp>--bdpi <var>num</var></samp>’</span></dt> +<dt>‘<samp class="samp">--bdpi <var class="var">num</var></samp>’</dt> <dd><p>Sets the “base dpi” for the font. This must match the mode being used. </p></dd> -<dt><span>‘<samp>--mag <var>string</var></samp>’</span></dt> -<dd><p>A “magstep” string suitable for the Metafont <code>mag</code> variable. -This must match the combination of <var>bdpi</var> and <var>dpi</var> being used. +<dt>‘<samp class="samp">--mag <var class="var">string</var></samp>’</dt> +<dd><p>A “magstep” string suitable for the Metafont <code class="code">mag</code> variable. +This must match the combination of <var class="var">bdpi</var> and <var class="var">dpi</var> being used. </p></dd> -<dt><span>‘<samp>--destdir <var>string</var></samp>’</span></dt> +<dt>‘<samp class="samp">--destdir <var class="var">string</var></samp>’</dt> <dd><p>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. @@ -3382,38 +3391,38 @@ script. </div> </div> </div> -<div class="chapter" id="Programming"> -<div class="header"> +<div class="chapter-level-extent" id="Programming"> +<div class="nav-panel"> <p> Next: <a href="#Reporting-bugs" accesskey="n" rel="next">Reporting bugs</a>, Previous: <a href="#TeX-support" accesskey="p" rel="prev">TeX support</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Programming-1"></span><h2 class="chapter">7 Programming</h2> +<h2 class="chapter" id="Programming-1">7 Programming</h2> <p>This chapter is for programmers who wish to use Kpathsea. -See <a href="#Introduction">Introduction</a>, for the conditions under which you may do so (in +See <a class="xref" href="#Introduction">Introduction</a>, for the conditions under which you may do so (in short, it is released under LGPLv2.1 or later). </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Programming-overview" accesskey="1">Programming overview</a></li> <li><a href="#Calling-sequence" accesskey="2">Calling sequence</a></li> <li><a href="#Program_002dspecific-files" accesskey="3">Program-specific files</a></li> <li><a href="#Programming-with-config-files" accesskey="4">Programming with config files</a></li> </ul> <hr> -<div class="section" id="Programming-overview"> -<div class="header"> +<div class="section-level-extent" id="Programming-overview"> +<div class="nav-panel"> <p> Next: <a href="#Calling-sequence" accesskey="n" rel="next">Calling sequence</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Programming-overview-1"></span><h3 class="section">7.1 Programming overview</h3> +<h3 class="section" id="Programming-overview-1">7.1 Programming overview</h3> -<span id="index-programming-overview"></span> -<span id="index-overview-of-programming-with-Kpathsea"></span> +<a class="index-entry-id" id="index-programming-overview"></a> +<a class="index-entry-id" id="index-overview-of-programming-with-Kpathsea"></a> <p>Aside from this manual, your best source of information is the source -to the programs that use Kpathsea (see <a href="#Introduction">Introduction</a>). First, +to the programs that use Kpathsea (see <a class="pxref" href="#Introduction">Introduction</a>). First, Kpsewhich is a small utility program whose sole purpose is to exercise the main path-searching functionality. Of the drivers, Dviljk is probably the simplest full application program. Xdvik adds VF support @@ -3422,46 +3431,46 @@ its own config files. Web2c is source code I also maintain, so it uses Kpathsea rather straightforwardly, but is of course complicated by the Web to C translation. </p> -<span id="index-re_002dentrant-API"></span> -<span id="index-API_002c-re_002dentrant"></span> +<a class="index-entry-id" id="index-re_002dentrant-API"></a> +<a class="index-entry-id" id="index-API_002c-re_002dentrant"></a> <p>When looking at these program sources, you should know that previous versions of the library had a different programming interface; the current interface supports re-entrancy. Historically, the library -function names were prefixed with <code>kpse_</code> instead of -<code>kpathsea_</code>, and they did not need an instance variable as first +function names were prefixed with <code class="code">kpse_</code> instead of +<code class="code">kpathsea_</code>, and they did not need an instance variable as first argument. This change was made in 2009. The old functions will never disappear, and can reliably continue to be used when they suffice, as they do for the programs above. The main application using the re-entrant API is the MetaPost library used by MetaPost and LuaTeX. </p> -<span id="index-pathsearch_002eh"></span> -<span id="index-tex_002dfile_002eh"></span> -<span id="index-tex_002dglyph_002eh"></span> -<span id="index-kpathsea_002eh"></span> -<p>Beyond these examples, the <samp>.h</samp> files in the Kpathsea source -describe the interfaces and functionality (and of course the <samp>.c</samp> +<a class="index-entry-id" id="index-pathsearch_002eh"></a> +<a class="index-entry-id" id="index-tex_002dfile_002eh"></a> +<a class="index-entry-id" id="index-tex_002dglyph_002eh"></a> +<a class="index-entry-id" id="index-kpathsea_002eh"></a> +<p>Beyond these examples, the <samp class="file">.h</samp> files in the Kpathsea source +describe the interfaces and functionality (and of course the <samp class="file">.c</samp> files define the actual routines, which are the ultimate documentation). -<samp>pathsearch.h</samp> declares the basic searching routine. -<samp>tex-file.h</samp> and <samp>tex-glyph.h</samp> define the interfaces for +<samp class="file">pathsearch.h</samp> declares the basic searching routine. +<samp class="file">tex-file.h</samp> and <samp class="file">tex-glyph.h</samp> define the interfaces for looking up particular kinds of files. In view of the way the headers -depend on each other, it is recommended to use <code>#include +depend on each other, it is recommended to use <code class="code">#include <kpathsea/kpathsea.h></code>, which includes every Kpathsea header. </p> -<span id="index-config_002eh"></span> -<span id="index-c_002dauto_002eh"></span> +<a class="index-entry-id" id="index-config_002eh"></a> +<a class="index-entry-id" id="index-c_002dauto_002eh"></a> <p>If you want to include only specific headers, you should still consider -including <samp>kpathsea/config.h</samp> before including any other Kpathsea +including <samp class="file">kpathsea/config.h</samp> before including any other Kpathsea header, as it provides symbols used in the other headers. Note that -<samp>kpathsea/config.h</samp> includes <samp>kpathsea/c-auto.h</samp>, which is +<samp class="file">kpathsea/config.h</samp> includes <samp class="file">kpathsea/c-auto.h</samp>, which is generated by Autoconf. </p> -<span id="index-file-types_002c-registering-new"></span> +<a class="index-entry-id" id="index-file-types_002c-registering-new"></a> <p>The library provides no way for an external program to register new file -types: <samp>tex-file.[ch]</samp> must be modified to do this. For example, +types: <samp class="file">tex-file.[ch]</samp> must be modified to do this. For example, Kpathsea has support for looking up Dvips config files, even though no program other than Dvips will likely ever want to do so. I felt this was acceptable, since along with new file types should also come new -defaults in <samp>texmf.cnf</samp> (and its descendant <samp>paths.h</samp>), since +defaults in <samp class="file">texmf.cnf</samp> (and its descendant <samp class="file">paths.h</samp>), since it’s simplest for users if they can modify one configuration file for all kinds of paths. </p> @@ -3473,84 +3482,84 @@ above, of course. <hr> </div> -<div class="section" id="Calling-sequence"> -<div class="header"> +<div class="section-level-extent" id="Calling-sequence"> +<div class="nav-panel"> <p> Next: <a href="#Program_002dspecific-files" accesskey="n" rel="next">Program-specific files</a>, Previous: <a href="#Programming-overview" accesskey="p" rel="prev">Programming overview</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Calling-sequence-1"></span><h3 class="section">7.2 Calling sequence</h3> +<h3 class="section" id="Calling-sequence-1">7.2 Calling sequence</h3> -<span id="index-programming-with-Kpathsea"></span> -<span id="index-calling-sequence"></span> +<a class="index-entry-id" id="index-programming-with-Kpathsea"></a> +<a class="index-entry-id" id="index-calling-sequence"></a> <p>The typical way to use Kpathsea in your program goes something like this: </p> -<ol> -<li> <span id="index-kpathsea_005fnew"></span> -Call <code>kpathsea_new</code> to create a new library instance. This variable +<ol class="enumerate"> +<li> <a class="index-entry-id" id="index-kpathsea_005fnew"></a> +Call <code class="code">kpathsea_new</code> to create a new library instance. This variable must be passed as the first argument to all the following library functions. -The rest of this manual will be using <code>kpse</code> as a placeholder for +The rest of this manual will be using <code class="code">kpse</code> as a placeholder for the name of this variable. -</li><li> <span id="index-kpathsea_005fset_005fprogram_005fname"></span> -<span id="index-argv_005b0_005d"></span> -Call <code>kpathsea_set_program_name</code> with <code>argv[0]</code> as the second -argument; the third argument is a string or <code>NULL</code>. The third +</li><li> <a class="index-entry-id" id="index-kpathsea_005fset_005fprogram_005fname"></a> +<a class="index-entry-id" id="index-argv_005b0_005d"></a> +Call <code class="code">kpathsea_set_program_name</code> with <code class="code">argv[0]</code> as the second +argument; the third argument is a string or <code class="code">NULL</code>. The third argument is used by Kpathsea as the program name for the -<code>.<var>program</var></code> feature of config files (see <a href="#Config-files">Config files</a>). -If the third argument is <code>NULL</code>, the value of the second argument +<code class="code">.<var class="var">program</var></code> feature of config files (see <a class="pxref" href="#Config-files">Config files</a>). +If the third argument is <code class="code">NULL</code>, the value of the second argument is used. This function must be called before any other use of the Kpathsea library. -<span id="index-kpse_002d_003einvocation_005fname"></span> -<span id="index-kpse_002d_003einvocation_005fshort_005fname"></span> -<span id="index-kpse_002d_003eprogram_005fname"></span> -<span id="index-error-message-macros"></span> -<p><code>kpathsea_set_program_name</code> always sets the variables -<code>kpse->invocation_name</code> and <code>kpse->invocation_short_name</code>. +<a class="index-entry-id" id="index-kpse_002d_003einvocation_005fname"></a> +<a class="index-entry-id" id="index-kpse_002d_003einvocation_005fshort_005fname"></a> +<a class="index-entry-id" id="index-kpse_002d_003eprogram_005fname"></a> +<a class="index-entry-id" id="index-error-message-macros"></a> +<p><code class="code">kpathsea_set_program_name</code> always sets the variables +<code class="code">kpse->invocation_name</code> and <code class="code">kpse->invocation_short_name</code>. These variables are used in the error message macros defined in -<samp>kpathsea/lib.h</samp>. It sets the variable -<code>kpse->program_name</code> to the program name it uses. +<samp class="file">kpathsea/lib.h</samp>. It sets the variable +<code class="code">kpse->program_name</code> to the program name it uses. </p> -<span id="index-KPATHSEA_005fDEBUG"></span> +<a class="index-entry-id" id="index-KPATHSEA_005fDEBUG"></a> <p>It also initializes debugging options based on the environment -variable <code>KPATHSEA_DEBUG</code> (if that is set). -</p> -<span id="index-SELFAUTOLOC"></span> -<span id="index-SELFAUTODIR"></span> -<span id="index-SELFAUTOPARENT"></span> -<span id="index-symlinks_002c-resolving"></span> -<span id="index-expanding-symlinks"></span> -<p>Finally, it sets the environment variables <code>SELFAUTOLOC</code>, <code>SELFAUTODIR</code> -and <code>SELFAUTOPARENT</code> to the location, parent and grandparent -directory of the executable, removing <samp>.</samp> and <samp>..</samp> path +variable <code class="code">KPATHSEA_DEBUG</code> (if that is set). +</p> +<a class="index-entry-id" id="index-SELFAUTOLOC"></a> +<a class="index-entry-id" id="index-SELFAUTODIR"></a> +<a class="index-entry-id" id="index-SELFAUTOPARENT"></a> +<a class="index-entry-id" id="index-symlinks_002c-resolving"></a> +<a class="index-entry-id" id="index-expanding-symlinks"></a> +<p>Finally, it sets the environment variables <code class="code">SELFAUTOLOC</code>, <code class="code">SELFAUTODIR</code> +and <code class="code">SELFAUTOPARENT</code> to the location, parent and grandparent +directory of the executable, removing <samp class="file">.</samp> and <samp class="file">..</samp> 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 ‘<samp>kpsewhich --expand-var=\$SELFAUTOLOC</samp>’, etc., to see the +can use ‘<samp class="samp">kpsewhich --expand-var=\$SELFAUTOLOC</samp>’, etc., to see the values. </p> -</li><li> <span id="index-kpse_002d_003edebug-variable"></span> -<span id="index-debugging-options_002c-in-Kpathsea_002dusing-program"></span> -Set debugging options. See <a href="#Debugging">Debugging</a>. If your program doesn’t have a +</li><li> <a class="index-entry-id" id="index-kpse_002d_003edebug-variable"></a> +<a class="index-entry-id" id="index-debugging-options_002c-in-Kpathsea_002dusing-program"></a> +Set debugging options. See <a class="xref" href="#Debugging">Debugging</a>. If your program doesn’t have a debugging option already, you can define one and set -<code>kpse->debug</code> to the number that the user supplies (as in Dviljk +<code class="code">kpse->debug</code> to the number that the user supplies (as in Dviljk and Web2c), or you can just omit this altogether (people can always set -<code>KPATHSEA_DEBUG</code>). If you do have runtime debugging already, you +<code class="code">KPATHSEA_DEBUG</code>). If you do have runtime debugging already, you need to merge Kpathsea’s options with yours (as in Dvipsk and Xdvik). -</li><li> <span id="index-client_005fpath-in-kpse_002d_003eformat_005finfo"></span> -<span id="index-kpse_002d_003eformat_005finfo"></span> -<span id="index-resident_002ec"></span> -<span id="index-config-files_002c-for-Kpathsea_002dusing-programs"></span> +</li><li> <a class="index-entry-id" id="index-client_005fpath-in-kpse_002d_003eformat_005finfo"></a> +<a class="index-entry-id" id="index-kpse_002d_003eformat_005finfo"></a> +<a class="index-entry-id" id="index-resident_002ec"></a> +<a class="index-entry-id" id="index-config-files_002c-for-Kpathsea_002dusing-programs"></a> If your program has its own configuration files that can define search -paths, you should assign those paths to the <code>client_path</code> member in -the appropriate element of the <code>kpse->format_info</code> array. (This -array is indexed by file type; see <samp>tex-file.h</samp>.) See -<samp>resident.c</samp> in Dvipsk for an example. - -</li><li> <span id="index-kpathsea_005finit_005fprog-1"></span> -<span id="index-proginit_002eh"></span> -Call <code>kpathsea_init_prog</code> (see <samp>proginit.c</samp>). It’s useful for the +paths, you should assign those paths to the <code class="code">client_path</code> member in +the appropriate element of the <code class="code">kpse->format_info</code> array. (This +array is indexed by file type; see <samp class="file">tex-file.h</samp>.) See +<samp class="file">resident.c</samp> in Dvipsk for an example. + +</li><li> <a class="index-entry-id" id="index-kpathsea_005finit_005fprog-1"></a> +<a class="index-entry-id" id="index-proginit_002eh"></a> +Call <code class="code">kpathsea_init_prog</code> (see <samp class="file">proginit.c</samp>). It’s useful for the DVI drivers, at least, but for other programs it may be simpler to extract the parts of it that actually apply. This does not initialize any paths, it just looks for (and sets) certain environment variables @@ -3558,155 +3567,155 @@ and other random information. (A search path is always initialized at the first call to find a file of that type; this eliminates much useless work, e.g., initializing the BibTeX search paths in a DVI driver.) -</li><li> <span id="index-kpathsea_005ffind_005ffile-1"></span> -The routine to actually find a file of type <var>format</var> is -<samp>kpathsea_find_file</samp>. You can call -<code>kpathsea_find_file</code> after doing only the first and second of the +</li><li> <a class="index-entry-id" id="index-kpathsea_005ffind_005ffile-1"></a> +The routine to actually find a file of type <var class="var">format</var> is +<samp class="file">kpathsea_find_file</samp>. You can call +<code class="code">kpathsea_find_file</code> after doing only the first and second of the initialization steps above—Kpathsea automatically reads the -<samp>texmf.cnf</samp> generic config files, looks for environment variables, +<samp class="file">texmf.cnf</samp> generic config files, looks for environment variables, and does expansions at the first lookup. </li><li> To find PK and/or GF bitmap fonts, the routine -is <code>kpathsea_find_glyph</code>, defined in -<samp>tex-glyph.h</samp>. This returns a structure in addition to the +is <code class="code">kpathsea_find_glyph</code>, defined in +<samp class="file">tex-glyph.h</samp>. This returns a structure in addition to the resultant filename, because fonts can be found in so many ways. See the documentation in the source. -</li><li> <span id="index-kpathsea_005fopen_005ffile"></span> +</li><li> <a class="index-entry-id" id="index-kpathsea_005fopen_005ffile"></a> To actually open a file, not just return a filename, call -<code>kpathsea_open_file</code>. This function takes the name to look up and a -Kpathsea file format as arguments, and returns the usual <code>FILE *</code>. +<code class="code">kpathsea_open_file</code>. This function takes the name to look up and a +Kpathsea file format as arguments, and returns the usual <code class="code">FILE *</code>. It always assumes the file must exist, and thus will search the disk if -necessary (unless the search path specified ‘<samp>!!</samp>’, etc.). In other +necessary (unless the search path specified ‘<samp class="samp">!!</samp>’, etc.). In other words, if you are looking up a VF or some other file that need not exist, don’t use this. -</li><li> <span id="index-kpathsea_005fout_005fname_005fok"></span> -TeX can write output files, via the <code>\openout</code> primitive; this opens +</li><li> <a class="index-entry-id" id="index-kpathsea_005fout_005fname_005fok"></a> +TeX can write output files, via the <code class="code">\openout</code> primitive; this opens a security hole vulnerable to Trojan horse attack: an unwitting user could -run a TeX program that overwrites, say, <samp>~/.rhosts</samp>. Analogous +run a TeX program that overwrites, say, <samp class="file">~/.rhosts</samp>. Analogous security holes exist for many other programs. To alleviate this, there is a -configuration variable <code>openout_any</code>, which selects one of three levels -of security. When it is set to ‘<samp>a</samp>’ (for “any”), no restrictions are -imposed. When it is set to ‘<samp>r</samp>’ (for “restricted”), filenames -beginning with ‘<samp>.</samp>’ are disallowed (except <samp>.tex</samp> because LaTeX -needs it). When it is set to ‘<samp>p</samp>’ (for “paranoid”) additional +configuration variable <code class="code">openout_any</code>, which selects one of three levels +of security. When it is set to ‘<samp class="samp">a</samp>’ (for “any”), no restrictions are +imposed. When it is set to ‘<samp class="samp">r</samp>’ (for “restricted”), filenames +beginning with ‘<samp class="samp">.</samp>’ are disallowed (except <samp class="file">.tex</samp> because LaTeX +needs it). When it is set to ‘<samp class="samp">p</samp>’ (for “paranoid”) additional restrictions are imposed: an absolute filename must refer to a file in (a -subdirectory) of <code>TEXMFOUTPUT</code>, and any attempt to go up a directory -level is forbidden (that is, paths may not contain a ‘<samp>..</samp>’ component). -The paranoid setting is the default. (For backwards compatibility, ‘<samp>y</samp>’ -and ‘<samp>1</samp>’ are synonyms of ‘<samp>a</samp>’, while ‘<samp>n</samp>’ and ‘<samp>0</samp>’ are -synonyms for ‘<samp>r</samp>’.) The function <code>kpathsea_out_name_ok</code>, with a -filename as second argument, returns <code>true</code> if that filename is -acceptable to be opend for output or <code>false</code> otherwise. - -</li><li> <span id="index-kpathsea_005fin_005fname_005fok"></span> -Similarly, the function <code>kpathsea_in_name_ok</code>, with a filename as -second argument, returns <code>true</code> if that filename is acceptable to be -opend for input or <code>false</code> otherwise, depending on the value of the -configuration variable <code>openin_any</code> (with ‘<samp>a</samp>’ as default). - -</li><li> <span id="index-kpathsea_005ffinish"></span> +subdirectory) of <code class="code">TEXMFOUTPUT</code>, and any attempt to go up a directory +level is forbidden (that is, paths may not contain a ‘<samp class="samp">..</samp>’ component). +The paranoid setting is the default. (For backwards compatibility, ‘<samp class="samp">y</samp>’ +and ‘<samp class="samp">1</samp>’ are synonyms of ‘<samp class="samp">a</samp>’, while ‘<samp class="samp">n</samp>’ and ‘<samp class="samp">0</samp>’ are +synonyms for ‘<samp class="samp">r</samp>’.) The function <code class="code">kpathsea_out_name_ok</code>, with a +filename as second argument, returns <code class="code">true</code> if that filename is +acceptable to be opend for output or <code class="code">false</code> otherwise. + +</li><li> <a class="index-entry-id" id="index-kpathsea_005fin_005fname_005fok"></a> +Similarly, the function <code class="code">kpathsea_in_name_ok</code>, with a filename as +second argument, returns <code class="code">true</code> if that filename is acceptable to be +opend for input or <code class="code">false</code> otherwise, depending on the value of the +configuration variable <code class="code">openin_any</code> (with ‘<samp class="samp">a</samp>’ as default). + +</li><li> <a class="index-entry-id" id="index-kpathsea_005ffinish"></a> To close the kpathsea library instance you are using, call -<code>kpathsea_finish</code>. This function closes any open log files and +<code class="code">kpathsea_finish</code>. This function closes any open log files and frees the memory used by the instance. </li></ol> -<span id="index-hash-table-routines"></span> -<span id="index-memory-allocation-routines"></span> -<span id="index-string-routines"></span> -<span id="index-reading-arbitrary_002dlength-lines"></span> -<span id="index-input-lines_002c-reading"></span> -<span id="index-lines_002c-reading-arbitrary_002dlength"></span> +<a class="index-entry-id" id="index-hash-table-routines"></a> +<a class="index-entry-id" id="index-memory-allocation-routines"></a> +<a class="index-entry-id" id="index-string-routines"></a> +<a class="index-entry-id" id="index-reading-arbitrary_002dlength-lines"></a> +<a class="index-entry-id" id="index-input-lines_002c-reading"></a> +<a class="index-entry-id" id="index-lines_002c-reading-arbitrary_002dlength"></a> <p>Kpathsea also provides many utility routines. Some are generic: hash tables, memory allocation, string concatenation and copying, string lists, reading input lines of arbitrary length, etc. Others are filename-related: default path, tilde, and variable expansion, -<code>stat</code> calls, etc. (Perhaps someday I’ll move the former to a +<code class="code">stat</code> calls, etc. (Perhaps someday I’ll move the former to a separate library.) </p> -<span id="index-c_002d_002a_002eh"></span> -<span id="index-autoconf_002c-recommended"></span> -<p>The <samp>c-*.h</samp> header files can also help your program adapt to many +<a class="index-entry-id" id="index-c_002d_002a_002eh"></a> +<a class="index-entry-id" id="index-autoconf_002c-recommended"></a> +<p>The <samp class="file">c-*.h</samp> header files can also help your program adapt to many different systems. You will almost certainly want to use Autoconf and probably Automake for configuring and building your software if you use Kpathsea; I strongly recommend using Autoconf and Automake regardless. -They are available from <a href="https://gnu.org/software">https://gnu.org/software</a>. +They are available from <a class="url" href="https://gnu.org/software">https://gnu.org/software</a>. </p> <hr> </div> -<div class="section" id="Program_002dspecific-files"> -<div class="header"> +<div class="section-level-extent" id="Program_002dspecific-files"> +<div class="nav-panel"> <p> Next: <a href="#Programming-with-config-files" accesskey="n" rel="next">Programming with config files</a>, Previous: <a href="#Calling-sequence" accesskey="p" rel="prev">Calling sequence</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Program_002dspecific-files-1"></span><h3 class="section">7.3 Program-specific files</h3> +<h3 class="section" id="Program_002dspecific-files-1">7.3 Program-specific files</h3> <p>Many programs will need to find some configuration files. Kpathsea contains some support to make it easy to place them in their own -directories. The Standard TeX directory structure (see <a data-manual="tds" href="tds.html#Top">Introduction</a> in <cite>A Directory Structure for TeX files</cite>), specifies +directories. The Standard TeX directory structure (see <a data-manual="tds" href="tds.html#Top">Introduction</a> in <cite class="cite">A Directory Structure for TeX files</cite>), specifies that such files should go into a subdirectory named after the program, -like ‘<samp>texmf/ttf2pk</samp>’. +like ‘<samp class="samp">texmf/ttf2pk</samp>’. </p> -<p>Two formats, ‘<samp>kpse_program_text_format</samp>’ and -‘<samp>kpse_program_binary_format</samp>’, use <code>.:$TEXMF/<var>program</var>//</code> +<p>Two formats, ‘<samp class="samp">kpse_program_text_format</samp>’ and +‘<samp class="samp">kpse_program_binary_format</samp>’, use <code class="code">.:$TEXMF/<var class="var">program</var>//</code> as their compiled-in search path. To override this default, you can -use the variable <code><var>PROGRAM</var>INPUTS</code> in the environment and/or -‘<samp>texmf.cnf</samp>’. That is to say, the name of the variable is +use the variable <code class="code"><var class="var">PROGRAM</var>INPUTS</code> in the environment and/or +‘<samp class="samp">texmf.cnf</samp>’. That is to say, the name of the variable is constructed by converting the name of the program to upper case, and -appending <code>INPUTS</code>. +appending <code class="code">INPUTS</code>. </p> <p>The only difference between these two formats is whether -<code>kpathsea_open_file</code> will open the files it finds in text or binary +<code class="code">kpathsea_open_file</code> will open the files it finds in text or binary mode. </p> <hr> </div> -<div class="section" id="Programming-with-config-files"> -<div class="header"> +<div class="section-level-extent" id="Programming-with-config-files"> +<div class="nav-panel"> <p> Previous: <a href="#Program_002dspecific-files" accesskey="p" rel="prev">Program-specific files</a>, Up: <a href="#Programming" accesskey="u" rel="up">Programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Programming-with-config-files-1"></span><h3 class="section">7.4 Programming with config files</h3> +<h3 class="section" id="Programming-with-config-files-1">7.4 Programming with config files</h3> -<span id="index-programming-with-config-files"></span> -<span id="index-config-files_002c-programming-with"></span> +<a class="index-entry-id" id="index-programming-with-config-files"></a> +<a class="index-entry-id" id="index-config-files_002c-programming-with"></a> -<p>You can (and probably should) use the same <code>texmf.cnf</code> +<p>You can (and probably should) use the same <code class="code">texmf.cnf</code> configuration file that Kpathsea uses for your program. This helps installers by keeping all configuration in one place. </p> -<span id="index-kpathsea_005fvar_005fvalue"></span> -<span id="index-variable_002eh"></span> -<span id="index-shell_005fescape_002c-example-for-code"></span> -<p>To retrieve a value for a configuration variable <var>var</var>, the best -way is to call <code>kpathsea_var_value</code> on the string -<code><var>var</var></code>. This will look first for an environment variable -<var>var</var>, then a config file value. The result will be the value -found or ‘<samp>NULL</samp>’. This function is declared in -<samp>kpathsea/variable.h</samp>. For an example, see the -<code>shell_escape</code> code in <samp>web2c/lib/texmfmp.c</samp>. +<a class="index-entry-id" id="index-kpathsea_005fvar_005fvalue"></a> +<a class="index-entry-id" id="index-variable_002eh"></a> +<a class="index-entry-id" id="index-shell_005fescape_002c-example-for-code"></a> +<p>To retrieve a value for a configuration variable <var class="var">var</var>, the best +way is to call <code class="code">kpathsea_var_value</code> on the string +<code class="code"><var class="var">var</var></code>. This will look first for an environment variable +<var class="var">var</var>, then a config file value. The result will be the value +found or ‘<samp class="samp">NULL</samp>’. This function is declared in +<samp class="file">kpathsea/variable.h</samp>. For an example, see the +<code class="code">shell_escape</code> code in <samp class="file">web2c/lib/texmfmp.c</samp>. </p> <p>The routine to do full variable and tilde expansion of an arbitrary string in the context of a search path (as opposed to simply -retrieving a value) is <code>kpathsea_var_expand</code>, also declared in -<samp>kpathsea/variable.h</samp>. However, it’s generally only necessary to +retrieving a value) is <code class="code">kpathsea_var_expand</code>, also declared in +<samp class="file">kpathsea/variable.h</samp>. However, it’s generally only necessary to set the search path structure components as explained in the previous section instead of using this directly. Because of its usage with any -input string, undefined <code>$FOO</code> constructs in the argument to -<code>kpathsea_var_expand</code> are returned literally (<code>"$FOO"</code>), -while undefined <code>${FOO}</code> constructs are expanded to the empty +input string, undefined <code class="code">$FOO</code> constructs in the argument to +<code class="code">kpathsea_var_expand</code> are returned literally (<code class="code">"$FOO"</code>), +while undefined <code class="code">${FOO}</code> constructs are expanded to the empty string. </p> -<span id="index-kpathsea_005fcnf_005fget"></span> -<span id="index-cnf_002eh"></span> -<p>If for some reason you want to retrieve a value <em>only</em> from a +<a class="index-entry-id" id="index-kpathsea_005fcnf_005fget"></a> +<a class="index-entry-id" id="index-cnf_002eh"></a> +<p>If for some reason you want to retrieve a value <em class="emph">only</em> from a config file, not automatically looking for a corresponding environment -variable, call <code>kpathsea_cnf_get</code> (declared in <samp>kpathsea/cnf.h</samp>) -with the string <var>var</var>. +variable, call <code class="code">kpathsea_cnf_get</code> (declared in <samp class="file">kpathsea/cnf.h</samp>) +with the string <var class="var">var</var>. </p> <p>No initialization calls are needed. </p> @@ -3714,20 +3723,20 @@ with the string <var>var</var>. <hr> </div> </div> -<div class="chapter" id="Reporting-bugs"> -<div class="header"> +<div class="chapter-level-extent" id="Reporting-bugs"> +<div class="nav-panel"> <p> Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#Programming" accesskey="p" rel="prev">Programming</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Reporting-bugs-1"></span><h2 class="chapter">8 Reporting bugs</h2> +<h2 class="chapter" id="Reporting-bugs-1">8 Reporting bugs</h2> -<span id="index-reporting-bugs"></span> -<span id="index-bugs_002c-reporting"></span> +<a class="index-entry-id" id="index-reporting-bugs"></a> +<a class="index-entry-id" id="index-bugs_002c-reporting"></a> -<span id="index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"></span> -<span id="index-bug-address"></span> +<a class="index-entry-id" id="index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"></a> +<a class="index-entry-id" id="index-bug-address"></a> <p>If you have problems or suggestions, please report them to -<a href="mailto:tex-k@tug.org">tex-k@tug.org</a> using the bug checklist below. +<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a> using the bug checklist below. </p> <p>Please report bugs in the documentation; not only factual errors or inconsistent behavior, but unclear or incomplete explanations, typos, @@ -3735,7 +3744,7 @@ wrong fonts, … </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Bug-checklist" accesskey="1">Bug checklist</a></li> <li><a href="#Mailing-lists" accesskey="2">Mailing lists</a></li> <li><a href="#Debugging" accesskey="3">Debugging</a></li> @@ -3743,116 +3752,116 @@ wrong fonts, … <li><a href="#Common-problems" accesskey="5">Common problems</a></li> </ul> <hr> -<div class="section" id="Bug-checklist"> -<div class="header"> +<div class="section-level-extent" id="Bug-checklist"> +<div class="nav-panel"> <p> Next: <a href="#Mailing-lists" accesskey="n" rel="next">Mailing lists</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Bug-checklist-1"></span><h3 class="section">8.1 Bug checklist</h3> +<h3 class="section" id="Bug-checklist-1">8.1 Bug checklist</h3> -<span id="index-checklist-for-bug-reports"></span> -<span id="index-bug-checklist"></span> +<a class="index-entry-id" id="index-checklist-for-bug-reports"></a> +<a class="index-entry-id" id="index-bug-checklist"></a> <p>Before reporting a bug, please check below to be sure it isn’t already -known (see <a href="#Common-problems">Common problems</a>). +known (see <a class="pxref" href="#Common-problems">Common problems</a>). </p> <p>Bug reports should be sent via electronic mail to -<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>. +<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a>. </p> <p>The general principle is that a good bug report includes all the information necessary for reproduction. Therefore, to enable investigation, your report should include the following: </p> -<ul> -<li> <span id="index-version-numbers_002c-determining"></span> +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-version-numbers_002c-determining"></a> The version number(s) of the program(s) involved, and of Kpathsea -itself. You can get the former by giving a sole option ‘<samp>--version</samp>’ -to the program, and the latter by running ‘<samp>kpsewhich --version</samp>’. -The <samp>NEWS</samp> and <samp>ChangeLog</samp> files also contain the version +itself. You can get the former by giving a sole option ‘<samp class="samp">--version</samp>’ +to the program, and the latter by running ‘<samp class="samp">kpsewhich --version</samp>’. +The <samp class="file">NEWS</samp> and <samp class="file">ChangeLog</samp> files also contain the version number. -</li><li> <span id="index-uname"></span> +</li><li><a class="index-entry-id" id="index-uname"></a> The hardware, operating system (including version), compiler, and -<code>make</code> program you are using (the output of <code>uname -a</code> is a +<code class="code">make</code> program you are using (the output of <code class="code">uname -a</code> is a start on the first two, though incomplete). -</li><li> <span id="index-config_002elog"></span> -Any options you gave to <code>configure</code>. This is recorded in the -<samp>config.status</samp> files. +</li><li><a class="index-entry-id" id="index-config_002elog"></a> +Any options you gave to <code class="code">configure</code>. This is recorded in the +<samp class="file">config.status</samp> files. -<span id="index-configuration-bugs"></span> -<span id="index-config_002estatus"></span> -<p>If you are reporting a bug in ‘<samp>configure</samp>’ itself, it’s probably +<a class="index-entry-id" id="index-configuration-bugs"></a> +<a class="index-entry-id" id="index-config_002estatus"></a> +<p>If you are reporting a bug in ‘<samp class="samp">configure</samp>’ itself, it’s probably system-dependent, and it will be unlikely the maintainers can do anything useful if you merely report that thus-and-such is broken. Therefore, you need to do some additional work: for some bugs, you can -look in the file <samp>config.log</samp> where the test that failed should +look in the file <samp class="file">config.log</samp> where the test that failed should appear, along with the compiler invocation and source program in question. You can then compile it yourself by hand, and discover why -the test failed. Other ‘<samp>configure</samp>’ bugs do not involve the +the test failed. Other ‘<samp class="samp">configure</samp>’ bugs do not involve the compiler; in that case, the only recourse is to inspect the -<code>configure</code> shell script itself, or the Autoconf macros that -generated <code>configure</code>. +<code class="code">configure</code> shell script itself, or the Autoconf macros that +generated <code class="code">configure</code>. </p> -</li><li> The log of all debugging output, if the bug is in path searching. You -can get this by setting the environment variable <code>KPATHSEA_DEBUG</code> -to ‘<samp>-1</samp>’ before running the program. Please look at the log +</li><li>The log of all debugging output, if the bug is in path searching. You +can get this by setting the environment variable <code class="code">KPATHSEA_DEBUG</code> +to ‘<samp class="samp">-1</samp>’ before running the program. Please look at the log yourself to make sure the behavior is really a bug before reporting it; perhaps “old” environment variable settings are causing files not to be found, for example. -</li><li> The contents of any input files necessary to reproduce the bug. For +</li><li>The contents of any input files necessary to reproduce the bug. For bugs in DVI-reading programs, for example, this generally means a DVI file (and any EPS or other files it uses)—TeX source files are helpful, but the DVI file is required, because that’s the actual program input. -</li><li> <span id="index-context-diff"></span> -<span id="index-sending-patches"></span> -<span id="index-ChangeLog-entry"></span> +</li><li><a class="index-entry-id" id="index-context-diff"></a> +<a class="index-entry-id" id="index-sending-patches"></a> +<a class="index-entry-id" id="index-ChangeLog-entry"></a> If you are sending a patch (do so if you can!), please do so in the form -of a context diff (‘<samp>diff -c</samp>’) against the original distribution +of a context diff (‘<samp class="samp">diff -c</samp>’) against the original distribution source. Any other form of diff is either not as complete or harder for -me to understand. Please also include a <samp>ChangeLog</samp> entry. - -</li><li> <span id="index-stack-trace"></span> -<span id="index-debugger"></span> -<span id="index-crashes_002c-reporting"></span> -<span id="index-core-dumps_002c-reporting"></span> -<span id="index-null-pointers_002c-dereferencing"></span> -<span id="index-gdb_002c-recommended"></span> +me to understand. Please also include a <samp class="file">ChangeLog</samp> entry. + +</li><li><a class="index-entry-id" id="index-stack-trace"></a> +<a class="index-entry-id" id="index-debugger"></a> +<a class="index-entry-id" id="index-crashes_002c-reporting"></a> +<a class="index-entry-id" id="index-core-dumps_002c-reporting"></a> +<a class="index-entry-id" id="index-null-pointers_002c-dereferencing"></a> +<a class="index-entry-id" id="index-gdb_002c-recommended"></a> If the bug involved is an actual crash (i.e., core dump), it is easy and useful to include a stack trace from a debugger (I recommend the -GNU debugger GDB (<a href="https://gnu.org/software/gdb">https://gnu.org/software/gdb</a>). If the -cause is apparent (a <code>NULL</code> value being dereferenced, for +GNU debugger GDB (<a class="url" href="https://gnu.org/software/gdb">https://gnu.org/software/gdb</a>). If the +cause is apparent (a <code class="code">NULL</code> value being dereferenced, for example), please send the details along. If the program involved is TeX or Metafont, and the crash is happening at apparently-sound code, however, the bug may well be in the compiler, rather than in the -program or the library (see <a href="#TeX-or-Metafont-failing">TeX or +program or the library (see <a class="pxref" href="#TeX-or-Metafont-failing">TeX or Metafont failing</a>). -</li><li> Any additional information that will be helpful in reproducing, +</li><li>Any additional information that will be helpful in reproducing, diagnosing, or fixing the bug. </li></ul> <hr> </div> -<div class="section" id="Mailing-lists"> -<div class="header"> +<div class="section-level-extent" id="Mailing-lists"> +<div class="nav-panel"> <p> Next: <a href="#Debugging" accesskey="n" rel="next">Debugging</a>, Previous: <a href="#Bug-checklist" accesskey="p" rel="prev">Bug checklist</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Mailing-lists-1"></span><h3 class="section">8.2 Mailing lists</h3> +<h3 class="section" id="Mailing-lists-1">8.2 Mailing lists</h3> -<span id="index-mailing-lists"></span> -<span id="index-bug-mailing-list"></span> -<span id="index-announcement-mailing-list"></span> +<a class="index-entry-id" id="index-mailing-lists"></a> +<a class="index-entry-id" id="index-bug-mailing-list"></a> +<a class="index-entry-id" id="index-announcement-mailing-list"></a> -<span id="index-tex_002dk_0040tug_002eorg"></span> +<a class="index-entry-id" id="index-tex_002dk_0040tug_002eorg"></a> <p>Web2c and Kpathsea in general are discussed on the mailing list -<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>. You can subscribe and peruse the archives on -the web <a href="https://lists.tug.org/tex-k">https://lists.tug.org/tex-k</a>. +<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a>. You can subscribe and peruse the archives on +the web <a class="url" href="https://lists.tug.org/tex-k">https://lists.tug.org/tex-k</a>. </p> <p>You do not need to join to submit a report, nor will it affect whether you get a response. Be aware that large data files are sometimes @@ -3861,191 +3870,191 @@ the list. </p> <p>If you are looking for general TeX help, such as how to install a full TeX system or how to use LaTeX, please see -<a href="https://tug.org/begin.html">https://tug.org/begin.html</a>. +<a class="url" href="https://tug.org/begin.html">https://tug.org/begin.html</a>. </p> <hr> </div> -<div class="section" id="Debugging"> -<div class="header"> +<div class="section-level-extent" id="Debugging"> +<div class="nav-panel"> <p> Next: <a href="#Logging" accesskey="n" rel="next">Logging</a>, Previous: <a href="#Mailing-lists" accesskey="p" rel="prev">Mailing lists</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Debugging-1"></span><h3 class="section">8.3 Debugging</h3> +<h3 class="section" id="Debugging-1">8.3 Debugging</h3> -<span id="index-debugging"></span> -<span id="index-runtime-debugging"></span> -<span id="index-options-for-debugging"></span> +<a class="index-entry-id" id="index-debugging"></a> +<a class="index-entry-id" id="index-runtime-debugging"></a> +<a class="index-entry-id" id="index-options-for-debugging"></a> -<span id="index-kpse_002d_003edebug"></span> -<span id="index-debug_002eh"></span> +<a class="index-entry-id" id="index-kpse_002d_003edebug"></a> +<a class="index-entry-id" id="index-debug_002eh"></a> <p>Kpathsea provides a number of runtime debugging options, detailed below by their names and corresponding numeric values. When the files you expect aren’t being found, the thing to do is enable these options and examine the output. </p> -<p>You can set these with some runtime argument (e.g., ‘<samp>-d</samp>’) to the +<p>You can set these with some runtime argument (e.g., ‘<samp class="samp">-d</samp>’) to the program; in that case, you should use the numeric values described in the program’s documentation (which, for Dvipsk and Xdvik, are different -than those below). It’s best to give the ‘<samp>-d</samp>’ (or whatever) option +than those below). It’s best to give the ‘<samp class="samp">-d</samp>’ (or whatever) option first, for maximal output. Dvipsk and Xdvik have additional program-specific debugging options as well. </p> -<span id="index-KPATHSEA_005fDEBUG-1"></span> -<span id="index-kpse_002d_003edebug-1"></span> -<p>You can also set the environment variable <code>KPATHSEA_DEBUG</code>; in this +<a class="index-entry-id" id="index-KPATHSEA_005fDEBUG-1"></a> +<a class="index-entry-id" id="index-kpse_002d_003edebug-1"></a> +<p>You can also set the environment variable <code class="code">KPATHSEA_DEBUG</code>; in this case, you should use the numbers below. If you run the program under a -debugger and set the instance variable <code>kpse->debug</code>, also use the numbers +debugger and set the instance variable <code class="code">kpse->debug</code>, also use the numbers below. </p> -<span id="index-_002d1-debugging-value"></span> -<p>In any case, by far the simplest value to use is ‘<samp>-1</samp>’, which will +<a class="index-entry-id" id="index-_002d1-debugging-value"></a> +<p>In any case, by far the simplest value to use is ‘<samp class="samp">-1</samp>’, which will turn on all debugging output. This is usually better than guessing which particular values will yield the output you need. </p> -<span id="index-debugging-output"></span> -<span id="index-standard-error-and-debugging-output"></span> +<a class="index-entry-id" id="index-debugging-output"></a> +<a class="index-entry-id" id="index-standard-error-and-debugging-output"></a> <p>Debugging output always goes to standard error, so you can redirect it easily. For example, in Bourne-compatible shells: </p><div class="example"> -<pre class="example">dvips -d -1 … 2>/tmp/debug +<pre class="example-preformatted">dvips -d -1 … 2>/tmp/debug </pre></div> -<span id="index-Kpsewhich_002c-and-debugging"></span> +<a class="index-entry-id" id="index-Kpsewhich_002c-and-debugging"></a> <p>It is sometimes helpful to run the standalone Kpsewhich utility -(see <a href="#Invoking-kpsewhich"><code>kpsewhich</code>: Standalone path searching</a>), instead of the original program. +(see <a class="pxref" href="#Invoking-kpsewhich"><code class="code">kpsewhich</code>: Standalone path searching</a>), instead of the original program. </p> -<span id="index-numeric-debugging-values"></span> +<a class="index-entry-id" id="index-numeric-debugging-values"></a> <p>In any case, you cannot use the names below; you must always use somebody’s numbers. (Sorry.) To set more than one option, just sum the corresponding numbers. </p> -<dl compact="compact"> -<dt id='index-KPSE_005fDEBUG_005fSTAT-_00281_0029'><span><code>KPSE_DEBUG_STAT <span class="roman">(1)</span></code><a href='#index-KPSE_005fDEBUG_005fSTAT-_00281_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Report ‘<samp>stat</samp>’(2) calls. This is useful for verifying that your +<dl class="vtable"> +<dt id='index-KPSE_005fDEBUG_005fSTAT-_00281_0029'><span><code class="code">KPSE_DEBUG_STAT <span class="r">(1)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fSTAT-_00281_0029'> ¶</a></span></dt> +<dd><p>Report ‘<samp class="samp">stat</samp>’(2) calls. This is useful for verifying that your directory structure is not forcing Kpathsea to do many additional file -tests (see <a href="#Slow-path-searching">Slow path searching</a>, and see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). If you are using an up-to-date <samp>ls-R</samp> database -(see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>), this should produce no output unless a +tests (see <a class="pxref" href="#Slow-path-searching">Slow path searching</a>, and see <a class="pxref" href="#Subdirectory-expansion">Subdirectory expansion</a>). If you are using an up-to-date <samp class="file">ls-R</samp> database +(see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>), this should produce no output unless a nonexistent file that must exist is searched for. </p> </dd> -<dt id='index-KPSE_005fDEBUG_005fHASH-_00282_0029'><span><code>KPSE_DEBUG_HASH <span class="roman">(2)</span></code><a href='#index-KPSE_005fDEBUG_005fHASH-_00282_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Report lookups in all hash tables: <samp>ls-R</samp> and <samp>aliases</samp> -(see <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>); font aliases (see <a href="#Fontmap">Fontmap</a>); and config -file values (see <a href="#Config-files">Config files</a>). Useful when expected values are not +<dt id='index-KPSE_005fDEBUG_005fHASH-_00282_0029'><span><code class="code">KPSE_DEBUG_HASH <span class="r">(2)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fHASH-_00282_0029'> ¶</a></span></dt> +<dd><p>Report lookups in all hash tables: <samp class="file">ls-R</samp> and <samp class="file">aliases</samp> +(see <a class="pxref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>); font aliases (see <a class="pxref" href="#Fontmap">Fontmap</a>); and config +file values (see <a class="pxref" href="#Config-files">Config files</a>). Useful when expected values are not being found, e.g.., file searches are looking at the disk instead of -using <samp>ls-R</samp>. +using <samp class="file">ls-R</samp>. </p> </dd> -<dt id='index-KPSE_005fDEBUG_005fFOPEN-_00284_0029'><span><code>KPSE_DEBUG_FOPEN <span class="roman">(4)</span></code><a href='#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-fopen_002c-redefined"></span> +<dt id='index-KPSE_005fDEBUG_005fFOPEN-_00284_0029'><span><code class="code">KPSE_DEBUG_FOPEN <span class="r">(4)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-fopen_002c-redefined"></a> <p>Report file openings and closings. Especially useful when your system’s file table is full, for seeing which files have been opened but never closed. In case you want to set breakpoints in a debugger: this works by -redefining ‘<samp>fopen</samp>’ (‘<samp>fclose</samp>’) to be ‘<samp>kpse_fopen_trace</samp>’ -(‘<samp>kpse_fclose_trace</samp>’). +redefining ‘<samp class="samp">fopen</samp>’ (‘<samp class="samp">fclose</samp>’) to be ‘<samp class="samp">kpse_fopen_trace</samp>’ +(‘<samp class="samp">kpse_fclose_trace</samp>’). </p> </dd> -<dt id='index-KPSE_005fDEBUG_005fPATHS-_00288_0029'><span><code>KPSE_DEBUG_PATHS <span class="roman">(8)</span></code><a href='#index-KPSE_005fDEBUG_005fPATHS-_00288_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-kpse_005fformat_005finfo_005ftype"></span> +<dt id='index-KPSE_005fDEBUG_005fPATHS-_00288_0029'><span><code class="code">KPSE_DEBUG_PATHS <span class="r">(8)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fPATHS-_00288_0029'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-kpse_005fformat_005finfo_005ftype"></a> <p>Report general path information for each file type Kpathsea is asked to search. This is useful when you are trying to track down how a -particular path got defined—from <samp>texmf.cnf</samp>, <samp>config.ps</samp>, +particular path got defined—from <samp class="file">texmf.cnf</samp>, <samp class="file">config.ps</samp>, an environment variable, the compile-time default, etc. This is the -contents of the <code>kpse_format_info_type</code> structure defined in -<samp>tex-file.h</samp>. +contents of the <code class="code">kpse_format_info_type</code> structure defined in +<samp class="file">tex-file.h</samp>. </p> </dd> -<dt id='index-KPSE_005fDEBUG_005fEXPAND-_002816_0029'><span><code>KPSE_DEBUG_EXPAND <span class="roman">(16)</span></code><a href='#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-KPSE_005fDEBUG_005fEXPAND-_002816_0029'><span><code class="code">KPSE_DEBUG_EXPAND <span class="r">(16)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029'> ¶</a></span></dt> <dd><p>Report the directory list corresponding to each path element Kpathsea searches. This is only relevant when Kpathsea searches the disk, since -<samp>ls-R</samp> searches don’t look through directory lists in this way. +<samp class="file">ls-R</samp> searches don’t look through directory lists in this way. </p> </dd> -<dt id='index-KPSE_005fDEBUG_005fSEARCH-_002832_0029'><span><code>KPSE_DEBUG_SEARCH <span class="roman">(32)</span></code><a href='#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-KPSE_005fDEBUG_005fSEARCH-_002832_0029'><span><code class="code">KPSE_DEBUG_SEARCH <span class="r">(32)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029'> ¶</a></span></dt> <dd><p>Report on each file search: the name of the file searched for, the path searched in, whether or not the file must exist (when drivers search for -<samp>cmr10.vf</samp>, it need not exist), and whether or not we are +<samp class="file">cmr10.vf</samp>, it need not exist), and whether or not we are collecting all occurrences of the file in the path (as with, e.g., -<samp>texmf.cnf</samp> and <samp>texfonts.map</samp>), or just the first (as with +<samp class="file">texmf.cnf</samp> and <samp class="file">texfonts.map</samp>), or just the first (as with most lookups). This can help you correlate what Kpathsea is doing with what is in your input file. </p> </dd> -<dt id='index-KPSE_005fDEBUG_005fVARS-_002864_0029'><span><code>KPSE_DEBUG_VARS <span class="roman">(64)</span></code><a href='#index-KPSE_005fDEBUG_005fVARS-_002864_0029' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-KPSE_005fDEBUG_005fVARS-_002864_0029'><span><code class="code">KPSE_DEBUG_VARS <span class="r">(64)</span></code><a class="copiable-link" href='#index-KPSE_005fDEBUG_005fVARS-_002864_0029'> ¶</a></span></dt> <dd><p>Report the value of each variable Kpathsea looks up. This is useful for verifying that variables do indeed obtain their correct values. </p> </dd> -<dt id='index-GSFTOPK_005fDEBUG-_0028128_0029'><span><code>GSFTOPK_DEBUG <span class="roman">(128)</span></code><a href='#index-GSFTOPK_005fDEBUG-_0028128_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Activates debugging printout specific to <code>gsftopk</code> program. +<dt id='index-GSFTOPK_005fDEBUG-_0028128_0029'><span><code class="code">GSFTOPK_DEBUG <span class="r">(128)</span></code><a class="copiable-link" href='#index-GSFTOPK_005fDEBUG-_0028128_0029'> ¶</a></span></dt> +<dd><p>Activates debugging printout specific to <code class="code">gsftopk</code> program. </p> </dd> -<dt id='index-MAKETEX_005fDEBUG-_0028512_0029'><span><code>MAKETEX_DEBUG <span class="roman">(512)</span></code><a href='#index-MAKETEX_005fDEBUG-_0028512_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>If you use the optional <code>mktex</code> programs instead of the +<dt id='index-MAKETEX_005fDEBUG-_0028512_0029'><span><code class="code">MAKETEX_DEBUG <span class="r">(512)</span></code><a class="copiable-link" href='#index-MAKETEX_005fDEBUG-_0028512_0029'> ¶</a></span></dt> +<dd><p>If you use the optional <code class="code">mktex</code> programs instead of the traditional shell scripts, this will report the name of the site file -(<samp>mktex.cnf</samp> by default) which is read, directories created by -<code>mktexdir</code>, the full path of the <samp>ls-R</samp> database built by -<code>mktexlsr</code>, font map searches, <code>MT_FEATURES</code> in effect, -parameters from <code>mktexnam</code>, filenames added by -<code>mktexupd</code>, and some subsidiary commands run by the programs. +(<samp class="file">mktex.cnf</samp> by default) which is read, directories created by +<code class="code">mktexdir</code>, the full path of the <samp class="file">ls-R</samp> database built by +<code class="code">mktexlsr</code>, font map searches, <code class="code">MT_FEATURES</code> in effect, +parameters from <code class="code">mktexnam</code>, filenames added by +<code class="code">mktexupd</code>, and some subsidiary commands run by the programs. </p> </dd> -<dt id='index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029'><span><code>MAKETEX_FINE_DEBUG <span class="roman">(1024)</span></code><a href='#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>When the optional <code>mktex</code> programs are used, this will print +<dt id='index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029'><span><code class="code">MAKETEX_FINE_DEBUG <span class="r">(1024)</span></code><a class="copiable-link" href='#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029'> ¶</a></span></dt> +<dd><p>When the optional <code class="code">mktex</code> programs are used, this will print additional debugging info from functions internal to these programs. </p></dd> </dl> -<span id="index-kdebug_003a"></span> -<span id="index-hash_005fsummary_005fonly-variable-for-debugging"></span> -<span id="index-hash-table-buckets_002c-printing"></span> +<a class="index-entry-id" id="index-kdebug_003a"></a> +<a class="index-entry-id" id="index-hash_005fsummary_005fonly-variable-for-debugging"></a> +<a class="index-entry-id" id="index-hash-table-buckets_002c-printing"></a> <p>Debugging output from Kpathsea is always written to standard error, and -begins with the string ‘<samp>kdebug:</samp>’. (Except for hash table buckets, +begins with the string ‘<samp class="samp">kdebug:</samp>’. (Except for hash table buckets, which just start with the number, but you can only get that output -running under a debugger. See comments at the <code>hash_summary_only</code> -variable in <samp>kpathsea/db.c</samp>.) +running under a debugger. See comments at the <code class="code">hash_summary_only</code> +variable in <samp class="file">kpathsea/db.c</samp>.) </p> <hr> </div> -<div class="section" id="Logging"> -<div class="header"> +<div class="section-level-extent" id="Logging"> +<div class="nav-panel"> <p> Next: <a href="#Common-problems" accesskey="n" rel="next">Common problems</a>, Previous: <a href="#Debugging" accesskey="p" rel="prev">Debugging</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Logging-1"></span><h3 class="section">8.4 Logging</h3> +<h3 class="section" id="Logging-1">8.4 Logging</h3> -<span id="index-log-file"></span> +<a class="index-entry-id" id="index-log-file"></a> -<span id="index-logging-successful-searches"></span> -<span id="index-recording-successful-searches"></span> -<span id="index-usage-patterns_002c-finding"></span> -<span id="index-disk-usage_002c-reducing"></span> +<a class="index-entry-id" id="index-logging-successful-searches"></a> +<a class="index-entry-id" id="index-recording-successful-searches"></a> +<a class="index-entry-id" id="index-usage-patterns_002c-finding"></a> +<a class="index-entry-id" id="index-disk-usage_002c-reducing"></a> <p>Kpathsea can record the time and filename found for each successful search. This may be useful in finding good candidates for deletion when your filesystem is full, or in discovering usage patterns at your site. </p> -<span id="index-TEXMFLOG"></span> +<a class="index-entry-id" id="index-TEXMFLOG"></a> <p>To do this, define the environment or config file variable -<code>TEXMFLOG</code>. The value is the name of the file to append the +<code class="code">TEXMFLOG</code>. The value is the name of the file to append the information to. The file is created if it doesn’t exist, and appended to if it does. </p> -<span id="index-epoch_002c-seconds-since"></span> -<span id="index-time-system-call"></span> +<a class="index-entry-id" id="index-epoch_002c-seconds-since"></a> +<a class="index-entry-id" id="index-time-system-call"></a> <p>Each successful search turns into one line in the log file: two words separated by a space. The first word is the time of the search, as the integer number of seconds since “the epoch”, i.e., UTC midnight 1 -January 1970 (more precisely, the result of the <code>time</code> system +January 1970 (more precisely, the result of the <code class="code">time</code> system call). The second word is the filename. </p> -<p>For example, after <code>setenv TEXMFLOG /tmp/log</code>, running Dvips on -<samp>story.dvi</samp> appends the following lines: +<p>For example, after <code class="code">setenv TEXMFLOG /tmp/log</code>, running Dvips on +<samp class="file">story.dvi</samp> appends the following lines: </p> <div class="example"> -<pre class="example">774455887 /usr/local/share/texmf/dvips/config.ps +<pre class="example-preformatted">774455887 /usr/local/share/texmf/dvips/config.ps 774455887 /usr/local/share/texmf/dvips/psfonts.map 774455888 /usr/local/share/texmf/dvips/texc.pro 774455888 /usr/local/share/texmf/fonts/pk/ljfour/public/cm/cmbx10.600pk @@ -4054,154 +4063,154 @@ call). The second word is the filename. 774455889 /usr/local/share/texmf/dvips/texc.pro </pre></div> -<span id="index-privacy_002c-semblance-of"></span> +<a class="index-entry-id" id="index-privacy_002c-semblance-of"></a> <p>Only filenames that are absolute are recorded, to preserve some semblance of privacy. </p> -<p>In addition to this Kpathsea-specific logging, <code>pdftex</code> -provides an option <samp>-recorder</samp> to write the names of all files -accessed during a run to the file <samp><var>basefile</var>.fls</samp>. +<p>In addition to this Kpathsea-specific logging, <code class="command">pdftex</code> +provides an option <samp class="option">-recorder</samp> to write the names of all files +accessed during a run to the file <samp class="file"><var class="var">basefile</var>.fls</samp>. </p> <p>Finally, most systems provide a general tool to output each system call, thus including opening and closing files. It might be named -<code>strace</code>, <code>truss</code>, <code>struss</code>, or something +<code class="command">strace</code>, <code class="command">truss</code>, <code class="command">struss</code>, or something else. </p> <hr> </div> -<div class="section" id="Common-problems"> -<div class="header"> +<div class="section-level-extent" id="Common-problems"> +<div class="nav-panel"> <p> Previous: <a href="#Logging" accesskey="p" rel="prev">Logging</a>, Up: <a href="#Reporting-bugs" accesskey="u" rel="up">Reporting bugs</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Common-problems-1"></span><h3 class="section">8.5 Common problems</h3> +<h3 class="section" id="Common-problems-1">8.5 Common problems</h3> -<span id="index-common-problems"></span> -<span id="index-problems_002c-common"></span> -<span id="index-FAQ_002c-Kpathsea"></span> +<a class="index-entry-id" id="index-common-problems"></a> +<a class="index-entry-id" id="index-problems_002c-common"></a> +<a class="index-entry-id" id="index-FAQ_002c-Kpathsea"></a> <p>Here are some common problems with configuration, compilation, linking, execution, … </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Unable-to-find-files" accesskey="1">Unable to find files</a></li> <li><a href="#Slow-path-searching" accesskey="2">Slow path searching</a></li> <li><a href="#Unable-to-generate-fonts" accesskey="3">Unable to generate fonts</a></li> <li><a href="#TeX-or-Metafont-failing" accesskey="4">TeX or Metafont failing</a></li> </ul> <hr> -<div class="subsection" id="Unable-to-find-files"> -<div class="header"> +<div class="subsection-level-extent" id="Unable-to-find-files"> +<div class="nav-panel"> <p> Next: <a href="#Slow-path-searching" accesskey="n" rel="next">Slow path searching</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Unable-to-find-files-1"></span><h4 class="subsection">8.5.1 Unable to find files</h4> +<h4 class="subsection" id="Unable-to-find-files-1">8.5.1 Unable to find files</h4> -<span id="index-unable-to-find-files"></span> -<span id="index-files_002c-unable-to-find"></span> +<a class="index-entry-id" id="index-unable-to-find-files"></a> +<a class="index-entry-id" id="index-files_002c-unable-to-find"></a> <p>If a program complains it cannot find fonts (or other input files), any of several things might be wrong. In any case, you may find the -debugging options helpful. See <a href="#Debugging">Debugging</a>. +debugging options helpful. See <a class="xref" href="#Debugging">Debugging</a>. </p> -<ul> -<li> Perhaps you simply haven’t installed all the necessary files; the basic +<ul class="itemize mark-bullet"> +<li>Perhaps you simply haven’t installed all the necessary files; the basic fonts and input files are distributed separately from the programs. -See <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>. +See <a class="xref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>. -</li><li> <span id="index-_002fetc_002fprofile"></span> -<span id="index-environment-variables_002c-old"></span> +</li><li><a class="index-entry-id" id="index-_002fetc_002fprofile"></a> +<a class="index-entry-id" id="index-environment-variables_002c-old"></a> You have (perhaps unknowingly) told Kpathsea to use search paths that don’t reflect where the files actually are. One common cause is having environment variables set from a previous installation, thus overriding -what you carefully set in <samp>texmf.cnf</samp> (see <a href="#Supported-file-formats">Supported file formats</a>). System <samp>/etc/profile</samp> or other files such may be the +what you carefully set in <samp class="file">texmf.cnf</samp> (see <a class="pxref" href="#Supported-file-formats">Supported file formats</a>). System <samp class="file">/etc/profile</samp> or other files such may be the culprit. -</li><li> <span id="index-symbolic-links-not-found"></span> -<span id="index-leaf-directories-wrongly-guessed"></span> +</li><li><a class="index-entry-id" id="index-symbolic-links-not-found"></a> +<a class="index-entry-id" id="index-leaf-directories-wrongly-guessed"></a> Your files reside in a directory that is only pointed to via a symbolic -link, in a leaf directory and is not listed in <samp>ls-R</samp>. +link, in a leaf directory and is not listed in <samp class="file">ls-R</samp>. <p>Unfortunately, Kpathsea’s subdirectory searching has an irremediable -deficiency: If a directory <var>d</var> being searched for subdirectories +deficiency: If a directory <var class="var">d</var> being searched for subdirectories contains plain files and symbolic links to other directories, but no -true subdirectories, <var>d</var> will be considered a leaf directory, i.e., -the symbolic links will not be followed. See <a href="#Subdirectory-expansion">Subdirectory expansion</a>. +true subdirectories, <var class="var">d</var> will be considered a leaf directory, i.e., +the symbolic links will not be followed. See <a class="xref" href="#Subdirectory-expansion">Subdirectory expansion</a>. </p> <p>You can work around this problem by creating an empty dummy subdirectory -in <var>d</var>. Then <var>d</var> will no longer be a leaf, and the symlinks will +in <var class="var">d</var>. Then <var class="var">d</var> will no longer be a leaf, and the symlinks will be followed. </p> -<p>The directory immediately followed by the ‘<samp>//</samp>’ in the path +<p>The directory immediately followed by the ‘<samp class="samp">//</samp>’ in the path specification, however, is always searched for subdirectories, even if it is a leaf. Presumably you would not have asked for the directory to be searched for subdirectories if you didn’t want it to be. </p> -</li><li> If the fonts (or whatever) don’t already exist, <code>mktexpk</code> (or -<code>mktexmf</code> or <code>mktextfm</code>) will try to create them. If +</li><li>If the fonts (or whatever) don’t already exist, <code class="code">mktexpk</code> (or +<code class="code">mktexmf</code> or <code class="code">mktextfm</code>) will try to create them. If these rather complicated shell scripts fail, you’ll eventually get an -error message saying something like ‘<samp>Can't find font -<var>fontname</var></samp>’. The best solution is to fix (or at least report) the -bug in <code>mktexpk</code>; the workaround is to generate the necessary +error message saying something like ‘<samp class="samp">Can't find font +<var class="var">fontname</var></samp>’. The best solution is to fix (or at least report) the +bug in <code class="code">mktexpk</code>; the workaround is to generate the necessary fonts by hand with Metafont, or to grab them from a CTAN site -(see <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>). +(see <a class="pxref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>). -</li><li> There is a bug in the library. See <a href="#Reporting-bugs">Reporting bugs</a>. +</li><li>There is a bug in the library. See <a class="xref" href="#Reporting-bugs">Reporting bugs</a>. </li></ul> <hr> </div> -<div class="subsection" id="Slow-path-searching"> -<div class="header"> +<div class="subsection-level-extent" id="Slow-path-searching"> +<div class="nav-panel"> <p> Next: <a href="#Unable-to-generate-fonts" accesskey="n" rel="next">Unable to generate fonts</a>, Previous: <a href="#Unable-to-find-files" accesskey="p" rel="prev">Unable to find files</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Slow-path-searching-1"></span><h4 class="subsection">8.5.2 Slow path searching</h4> +<h4 class="subsection" id="Slow-path-searching-1">8.5.2 Slow path searching</h4> -<span id="index-excessive-startup-time"></span> -<span id="index-slow-startup-time"></span> -<span id="index-startup-time_002c-excessive"></span> +<a class="index-entry-id" id="index-excessive-startup-time"></a> +<a class="index-entry-id" id="index-slow-startup-time"></a> +<a class="index-entry-id" id="index-startup-time_002c-excessive"></a> <p>If your program takes an excessively long time to find fonts or other input files, but does eventually succeed, here are some possible culprits: </p> -<ul> -<li> Most likely, you just have a lot of directories to search, and that +<ul class="itemize mark-bullet"> +<li>Most likely, you just have a lot of directories to search, and that takes a noticeable time. The solution is to create and maintain a -separate <samp>ls-R</samp> file that lists all the files in your main TeX -hierarchy. See <a href="#Filename-database">Filename database (<code>ls-R</code>)</a>. Kpathsea always uses <samp>ls-R</samp> +separate <samp class="file">ls-R</samp> file that lists all the files in your main TeX +hierarchy. See <a class="xref" href="#Filename-database">Filename database (<code class="code">ls-R</code>)</a>. Kpathsea always uses <samp class="file">ls-R</samp> if it’s present; there’s no need to recompile or reconfigure any of the programs. -</li><li> Your recursively-searched directories (e.g., -<samp>/usr/local/share/texmf/fonts//</samp>), contain a mixture of files and +</li><li>Your recursively-searched directories (e.g., +<samp class="file">/usr/local/share/texmf/fonts//</samp>), contain a mixture of files and directories. This prevents Kpathsea from using a useful optimization -(see <a href="#Subdirectory-expansion">Subdirectory expansion</a>). +(see <a class="pxref" href="#Subdirectory-expansion">Subdirectory expansion</a>). -<p>It is best to have only directories (and perhaps a <samp>README</samp>) in the +<p>It is best to have only directories (and perhaps a <samp class="file">README</samp>) in the upper levels of the directory structure, and it’s very important to have -<em>only</em> files, and no subdirectories, in the leaf directories where +<em class="emph">only</em> files, and no subdirectories, in the leaf directories where the dozens of TFM, PK, or whatever files reside. </p></li></ul> <p>In any case, you may find the debugging options helpful in determining -precisely when the disk or network is being pounded. See <a href="#Debugging">Debugging</a>. +precisely when the disk or network is being pounded. See <a class="xref" href="#Debugging">Debugging</a>. </p> <hr> </div> -<div class="subsection" id="Unable-to-generate-fonts"> -<div class="header"> +<div class="subsection-level-extent" id="Unable-to-generate-fonts"> +<div class="nav-panel"> <p> Next: <a href="#TeX-or-Metafont-failing" accesskey="n" rel="next">TeX or Metafont failing</a>, Previous: <a href="#Slow-path-searching" accesskey="p" rel="prev">Slow path searching</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Unable-to-generate-fonts-1"></span><h4 class="subsection">8.5.3 Unable to generate fonts</h4> +<h4 class="subsection" id="Unable-to-generate-fonts-1">8.5.3 Unable to generate fonts</h4> -<span id="index-unable-to-generate-fonts"></span> -<span id="index-font-generation-failures"></span> +<a class="index-entry-id" id="index-unable-to-generate-fonts"></a> +<a class="index-entry-id" id="index-font-generation-failures"></a> <p>Metafont outputs fonts in bitmap format, tuned for a particular device at a particular resolution, in order to allow for the @@ -4209,98 +4218,98 @@ highest-possible quality of output. Some DVI-to-whatever programs, such as Dvips, try to generate these on the fly when they are needed, but this generation may fail in several cases. </p> -<span id="index-mktexpk-can_0027t-guess-mode"></span> -<p>If <code>mktexpk</code> runs, but fails with this error: +<a class="index-entry-id" id="index-mktexpk-can_0027t-guess-mode"></a> +<p>If <code class="code">mktexpk</code> runs, but fails with this error: </p><div class="example"> -<pre class="example">mktexpk: Can't guess mode for <var>nnn</var> dpi devices. +<pre class="example-preformatted">mktexpk: Can't guess mode for <var class="var">nnn</var> dpi devices. mktexpk: Use a config file to specify the mode, or update me. </pre></div> <p>you need to ensure the resolution and mode match; just -specifying the resolution, as in <code>-D 360</code>, is not enough. +specifying the resolution, as in <code class="code">-D 360</code>, is not enough. </p> -<p>You can specify the mode name with the <code>-mode</code> option on the +<p>You can specify the mode name with the <code class="code">-mode</code> option on the Dvips command line, or in a Dvips configuration file (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Config-files">Config -files</a> in <cite>Dvips</cite>), such as <samp>config.ps</samp> in your document -directory, <samp>~/.dvipsrc</samp> in your home directory, or in a system -directory (again named <samp>config.ps</samp>). (Other drivers use other +files</a> in <cite class="cite">Dvips</cite>), such as <samp class="file">config.ps</samp> in your document +directory, <samp class="file">~/.dvipsrc</samp> in your home directory, or in a system +directory (again named <samp class="file">config.ps</samp>). (Other drivers use other files, naturally.) </p> -<p>For example, if you need 360dpi fonts, you could include this in +<p>For example, if you need 360<span class="dmn">dpi</span> fonts, you could include this in a configuration file: </p><div class="example"> -<pre class="example">D 360 +<pre class="example-preformatted">D 360 M lqmed </pre></div> -<span id="index-Metafont-using-the-wrong-device"></span> -<span id="index-device_002c-wrong"></span> +<a class="index-entry-id" id="index-Metafont-using-the-wrong-device"></a> +<a class="index-entry-id" id="index-device_002c-wrong"></a> <p>If Metafont runs, but generates fonts at the wrong resolution or for -the wrong device, most likely <code>mktexpk</code>’s built-in guess for the +the wrong device, most likely <code class="code">mktexpk</code>’s built-in guess for the mode is wrong, and you should override it as above. </p> -<p>See <a href="https://ctan.org/pkg/modes">https://ctan.org/pkg/modes</a> for a list of resolutions and mode +<p>See <a class="url" href="https://ctan.org/pkg/modes">https://ctan.org/pkg/modes</a> for a list of resolutions and mode names for most devices (additional submissions are welcome). </p> -<span id="index-_002e2602gf"></span> -<span id="index-2602gf"></span> -<span id="index-Metafont-making-too_002dlarge-fonts"></span> -<span id="index-proof-mode"></span> -<span id="index-online-Metafont-display_002c-spurious"></span> -<p>If Metafont runs but generates fonts at a resolution of 2602dpi +<a class="index-entry-id" id="index-_002e2602gf"></a> +<a class="index-entry-id" id="index-2602gf"></a> +<a class="index-entry-id" id="index-Metafont-making-too_002dlarge-fonts"></a> +<a class="index-entry-id" id="index-proof-mode"></a> +<a class="index-entry-id" id="index-online-Metafont-display_002c-spurious"></a> +<p>If Metafont runs but generates fonts at a resolution of 2602<span class="dmn">dpi</span> (and prints out the name of each character as well as just a character number, and maybe tries to display the characters), then your Metafont base file probably hasn’t been made properly. (It’s using the default -<code>proof</code> mode, instead of an actual device mode.) To make a proper -<samp>plain.base</samp>, assuming the local mode definitions are contained in -a file <samp>modes.mf</samp>, run the following command (assuming Unix): +<code class="code">proof</code> mode, instead of an actual device mode.) To make a proper +<samp class="file">plain.base</samp>, assuming the local mode definitions are contained in +a file <samp class="file">modes.mf</samp>, run the following command (assuming Unix): </p> <div class="example"> -<pre class="example">inimf "plain; input modes; dump" +<pre class="example-preformatted">inimf "plain; input modes; dump" </pre></div> -<p><span id="index-plain_002ebase"></span> -Then copy the <samp>plain.base</samp> file from the current directory to where +<a class="index-entry-id" id="index-plain_002ebase"></a> +<p>Then copy the <samp class="file">plain.base</samp> file from the current directory to where the base files are stored on your system -(<samp>/usr/local/share/texmf/web2c</samp> by default), and make a link -(either hard or soft) from <samp>plain.base</samp> to <samp>mf.base</samp> in that +(<samp class="file">/usr/local/share/texmf/web2c</samp> by default), and make a link +(either hard or soft) from <samp class="file">plain.base</samp> to <samp class="file">mf.base</samp> in that directory. -See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#inimf-invocation">inimf invocation</a> in <cite>Web2c</cite>. +See <a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#inimf-invocation">inimf invocation</a> in <cite class="cite">Web2c</cite>. </p> -<span id="index-Metafont-installation"></span> -<p>If <code>mf</code> is a command not found at all by <code>mktexpk</code>, then you -need to install Metafont (see <a href="#unixtex_002eftp"><samp>unixtex.ftp</samp>: Obtaining TeX</a>). +<a class="index-entry-id" id="index-Metafont-installation"></a> +<p>If <code class="code">mf</code> is a command not found at all by <code class="code">mktexpk</code>, then you +need to install Metafont (see <a class="pxref" href="#unixtex_002eftp"><samp class="file">unixtex.ftp</samp>: Obtaining TeX</a>). </p> <hr> </div> -<div class="subsection" id="TeX-or-Metafont-failing"> -<div class="header"> +<div class="subsection-level-extent" id="TeX-or-Metafont-failing"> +<div class="nav-panel"> <p> Previous: <a href="#Unable-to-generate-fonts" accesskey="p" rel="prev">Unable to generate fonts</a>, Up: <a href="#Common-problems" accesskey="u" rel="up">Common problems</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="TeX-or-Metafont-failing-1"></span><h4 class="subsection">8.5.4 TeX or Metafont failing</h4> +<h4 class="subsection" id="TeX-or-Metafont-failing-1">8.5.4 TeX or Metafont failing</h4> -<span id="index-TeX-failures"></span> -<span id="index-Metafont-failures"></span> -<span id="index-compiler-bugs"></span> +<a class="index-entry-id" id="index-TeX-failures"></a> +<a class="index-entry-id" id="index-Metafont-failures"></a> +<a class="index-entry-id" id="index-compiler-bugs"></a> <p>If TeX or Metafont get a segmentation fault or otherwise fail while running a normal input file, the problem is usually a compiler bug (unlikely as that may sound). Even if the trip and trap tests are passed, problems may lurk. Optimization occasionally causes trouble in programs other than TeX and Metafont themselves, too. </p> -<span id="index-optimization-caveat"></span> +<a class="index-entry-id" id="index-optimization-caveat"></a> <p>For a workaround, if you enabled any optimization flags, it’s best to omit optimization entirely. In any case, the way to find the facts is to run the program under the debugger and see where it’s failing. </p> -<span id="index-GNU-C-compiler-bugs"></span> -<span id="index-system-C-compiler-bugs"></span> +<a class="index-entry-id" id="index-GNU-C-compiler-bugs"></a> +<a class="index-entry-id" id="index-system-C-compiler-bugs"></a> <p>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 <a data-manual="gcc" href="https://gcc.gnu.org/onlinedocs/gcc/Bugs.html#Bugs">Bugs</a> in <cite>Using and Porting GNU CC</cite>. +recommend reporting a bug to the GCC mailing list; see <a data-manual="gcc" href="https://gcc.gnu.org/onlinedocs/gcc/Bugs.html#Bugs">Bugs</a> in <cite class="cite">Using and Porting GNU CC</cite>. </p> -<span id="index-compiler-bugs_002c-finding"></span> +<a class="index-entry-id" id="index-compiler-bugs_002c-finding"></a> <p>To report compiler bugs effectively requires perseverance and perspicacity: you must find the miscompiled line, and that usually involves delving backwards in time from the point of error, checking @@ -4311,897 +4320,907 @@ through TeX’s (or whatever program’s) data structures. Good luck. </div> </div> </div> -<div class="unnumbered" id="Index"> -<div class="header"> +<div class="unnumbered-level-extent" id="Index"> +<div class="nav-panel"> <p> Previous: <a href="#Reporting-bugs" accesskey="p" rel="prev">Reporting bugs</a>, Up: <a href="#Top" accesskey="u" rel="up">Kpathsea library</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> +<h2 class="unnumbered" id="Index-1">Index</h2> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a> +<div class="printindex cp-printindex"> +<table class="cp-letters-header-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>$</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>$</b></a> -<a class="summary-letter" href="#Index_cp_symbol-3"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>-</b></a> -<a class="summary-letter" href="#Index_cp_symbol-4"><b>.</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>.</b></a> -<a class="summary-letter" href="#Index_cp_symbol-5"><b>/</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>/</b></a> -<a class="summary-letter" href="#Index_cp_symbol-6"><b>2</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>2</b></a> -<a class="summary-letter" href="#Index_cp_symbol-7"><b>8</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>8</b></a> -<a class="summary-letter" href="#Index_cp_symbol-8"><b>:</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>:</b></a> -<a class="summary-letter" href="#Index_cp_symbol-9"><b>;</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>;</b></a> -<a class="summary-letter" href="#Index_cp_symbol-10"><b>=</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>=</b></a> -<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>\</b></a> -<a class="summary-letter" href="#Index_cp_symbol-12"><b>{</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>{</b></a> -<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>~</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a> </td></tr></table> -<table class="index-cp" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<table class="cp-entries-printindex" border="0"> +<tr><td></td><th class="entries-header-printindex">Index Entry</th><td> </td><th class="sections-header-printindex"> Section</th></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-1">!</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0021_0021-and-casefolding"><code>!! <span class="roman">and casefolding</span></code></a>:</td><td> </td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0021_0021-in-path-specifications"><code>!! <span class="roman">in path specifications</span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0021_0021-in-TEXMFDBS"><code>!! <span class="roman">in <code>TEXMFDBS</code></span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021_0021-and-casefolding"><code>!! <span class="r">and casefolding</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021_0021-in-path-specifications"><code>!! <span class="r">in path specifications</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0021_0021-in-TEXMFDBS"><code>!! <span class="r">in <code class="code">TEXMFDBS</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-2">$</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0024-expansion"><code>$ <span class="roman">expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0024-expansion"><code>$ <span class="r">expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-3">-</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dall"><code>--all</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dcasefold_002dsearch"><code>--casefold-search</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dcnf_002dline"><code>--cnf-line</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dcnf_002dline_002c-source-for-path"><code>‘<samp>--cnf-line</samp>’, source for path</code></a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dcolor_003dtty"><code>--color=tty</code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddebug_003dnum"><code>--debug=<var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddpi_003dnum"><code>--dpi=<var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dengine_003dname"><code>--engine=<var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dexpand_002dbraces_003dstring"><code>--expand-braces=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dexpand_002dpath_003dstring"><code>--expand-path=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dexpand_002dvar_003dstring"><code>--expand-var=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dformat_003dname"><code>--format=<var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td> </td><td valign="top"><a href="#Standard-options">Standard options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp_002dformats"><code>--help-formats</code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dinteractive"><code>--interactive</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dmktex_003dfiletype"><code>--mktex=<var>filetype</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dmode_003dstring"><code>--mode=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dmust_002dexist"><code>--must-exist</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dcasefold_002dsearch"><code>--no-casefold-search</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dmktex_003dfiletype"><code>--no-mktex=<var>filetype</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dpath_003dstring"><code>--path=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dprogname_003dname"><code>--progname=<var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dsafe_002din_002dname_003dname"><code>--safe-in-name=<var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dsafe_002dout_002dname_003dname"><code>--safe-out-name=<var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dshow_002dpath_003dname"><code>--show-path=<var>name</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dsubdir_003dstring"><code>--subdir=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dvar_002dbrace_002dvalue_003dvariable"><code>--var-brace-value=<var>variable</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dvar_002dvalue_003dvariable"><code>--var-value=<var>variable</var></code></a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td> </td><td valign="top"><a href="#Standard-options">Standard options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dmktextex_002ddefault"><code>--with-mktextex-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexfmt_002ddefault"><code>--without-mktexfmt-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexmf_002ddefault"><code>--without-mktexmf-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexocp_002ddefault"><code>--without-mktexocp-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexofm_002ddefault"><code>--without-mktexofm-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktexpk_002ddefault"><code>--without-mktexpk-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dmktextfm_002ddefault"><code>--without-mktextfm-default</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d1-debugging-value"><code>-1 <span class="roman">debugging value</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dA-option-to-ls"><code>-A <span class="roman">option to <code>ls</code></span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dD-num"><code>-D <var>num</var></code></a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002diname_002c-find-predicate"><code>-iname<span class="roman">, find predicate</span></code></a>:</td><td> </td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dL-option-to-ls"><code>-L <span class="roman">option to <code>ls</code></span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dall"><code>--all</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcasefold_002dsearch"><code>--casefold-search</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcnf_002dline"><code>--cnf-line</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcnf_002dline_002c-source-for-path"><code>‘<samp class="samp">--cnf-line</samp>’, source for path</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dcolor_003dtty"><code>--color=tty</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddebug_003dnum"><code>--debug=<var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddpi_003dnum"><code>--dpi=<var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dengine_003dname"><code>--engine=<var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dexpand_002dbraces_003dstring"><code>--expand-braces=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dexpand_002dpath_003dstring"><code>--expand-path=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dexpand_002dvar_003dstring"><code>--expand-var=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dformat_003dname"><code>--format=<var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp"><code>--help</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Standard-options">Standard options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp_002dformats"><code>--help-formats</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dinteractive"><code>--interactive</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dmktex_003dfiletype"><code>--mktex=<var class="var">filetype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dmode_003dstring"><code>--mode=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dmust_002dexist"><code>--must-exist</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dno_002dcasefold_002dsearch"><code>--no-casefold-search</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dno_002dmktex_003dfiletype"><code>--no-mktex=<var class="var">filetype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dpath_003dstring"><code>--path=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dprogname_003dname"><code>--progname=<var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dsafe_002din_002dname_003dname"><code>--safe-in-name=<var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dsafe_002dout_002dname_003dname"><code>--safe-out-name=<var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dshow_002dpath_003dname"><code>--show-path=<var class="var">name</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dsubdir_003dstring"><code>--subdir=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dvar_002dbrace_002dvalue_003dvariable"><code>--var-brace-value=<var class="var">variable</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dvar_002dvalue_003dvariable"><code>--var-value=<var class="var">variable</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dversion"><code>--version</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Standard-options">Standard options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dmktextex_002ddefault"><code>--with-mktextex-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexfmt_002ddefault"><code>--without-mktexfmt-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexmf_002ddefault"><code>--without-mktexmf-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexocp_002ddefault"><code>--without-mktexocp-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexofm_002ddefault"><code>--without-mktexofm-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktexpk_002ddefault"><code>--without-mktexpk-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dmktextfm_002ddefault"><code>--without-mktextfm-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d1-debugging-value"><code>-1 <span class="r">debugging value</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dA-option-to-ls"><code>-A <span class="r">option to <code class="code">ls</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dD-num"><code>-D <var class="var">num</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002diname_002c-find-predicate"><code>-iname<span class="r">, find predicate</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dL-option-to-ls"><code>-L <span class="r">option to <code class="code">ls</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-4">.</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002e-directories_002c-ignored"><code>. <span class="roman">directories, ignored</span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002e-files"><code>. <span class="roman">files</span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002e2602gf"><code>.2602gf</code></a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eafm"><code>.afm</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebase"><code>.base</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebib"><code>.bib</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebltxml"><code>.bltxml</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebst"><code>.bst</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ecid"><code>.cid</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ecmap"><code>.cmap</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ecnf"><code>.cnf</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002edll"><code>.dll</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eenc"><code>.enc</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eeps"><code>.eps</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eepsi"><code>.epsi</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002efea"><code>.fea</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002efmt"><code>.fmt</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eist"><code>.ist</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002elig"><code>.lig</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emap"><code>.map</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emem"><code>.mem</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emf"><code>.mf</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emft"><code>.mft</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emlbib"><code>.mlbib</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emlbst"><code>.mlbst</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emp"><code>.mp</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eocp"><code>.ocp</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eofm"><code>.ofm</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eopl"><code>.opl</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eotp"><code>.otp</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eovf"><code>.ovf</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eovp"><code>.ovp</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfa"><code>.pfa</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epfb"><code>.pfb</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epk"><code>.pk</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epool"><code>.pool</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epool-1"><code>.pool</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epool-2"><code>.pool</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002epro"><code>.pro</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eprogname-qualifier-in-texmf_002ecnf"><code>.<var>progname</var> <span class="roman">qualifier in <samp>texmf.cnf</samp></span></code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002erhosts_002c-writable-by-TeX"><code>.rhosts<span class="roman">, writable by TeX</span></code></a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eris"><code>.ris</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002esfd"><code>.sfd</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eso"><code>.so</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etex"><code>.tex</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etex-file_002c-included-in-ls_002dR"><code>.tex <span class="roman">file, included in <samp>ls-R</samp></span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etfm"><code>.tfm</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ettc"><code>.ttc</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ettf"><code>.ttf</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002evf"><code>.vf</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ew"><code>.w</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eweb"><code>.web</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eweb-1"><code>.web</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e-directories_002c-ignored"><code>. <span class="r">directories, ignored</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e-files"><code>. <span class="r">files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e2602gf"><code>.2602gf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eafm"><code>.afm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebase"><code>.base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebib"><code>.bib</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebltxml"><code>.bltxml</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebst"><code>.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ecid"><code>.cid</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ecmap"><code>.cmap</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ecnf"><code>.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002edll"><code>.dll</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eenc"><code>.enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eeps"><code>.eps</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eepsi"><code>.epsi</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002efea"><code>.fea</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002efmt"><code>.fmt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eist"><code>.ist</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002elig"><code>.lig</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002elua"><code>.lua</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eluatex"><code>.luatex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eluc"><code>.luc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eluctex"><code>.luctex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emap"><code>.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emem"><code>.mem</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emf"><code>.mf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emft"><code>.mft</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emlbib"><code>.mlbib</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emlbst"><code>.mlbst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emp"><code>.mp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eocp"><code>.ocp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eofm"><code>.ofm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eopl"><code>.opl</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eotp"><code>.otp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eovf"><code>.ovf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eovp"><code>.ovp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfa"><code>.pfa</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epfb"><code>.pfb</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epk"><code>.pk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epool"><code>.pool</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epool-1"><code>.pool</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epool-2"><code>.pool</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002epro"><code>.pro</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eprogname-qualifier-in-texmf_002ecnf"><code>.<var class="var">progname</var> <span class="r">qualifier in <samp class="file">texmf.cnf</samp></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002erhosts_002c-writable-by-TeX"><code>.rhosts<span class="r">, writable by TeX</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eris"><code>.ris</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002esfd"><code>.sfd</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eso"><code>.so</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etex"><code>.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etex-file_002c-included-in-ls_002dR"><code>.tex <span class="r">file, included in <samp class="file">ls-R</samp></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etexlua"><code>.texlua</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etexluc"><code>.texluc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etfm"><code>.tfm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etlu"><code>.tlu</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ettc"><code>.ttc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ettf"><code>.ttf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002evf"><code>.vf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ew"><code>.w</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eweb"><code>.web</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eweb-1"><code>.web</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-5">/</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002f-may-not-be-_002f"><code>/ <span class="roman">may not be /</span></code></a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002f_002c-trailing-in-home-directory"><code>/<span class="roman">, trailing in home directory</span></code></a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002f_002f"><code>//</code></a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002fetc_002fprofile"><code>/etc/profile</code></a>:</td><td> </td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002fetc_002fprofile-and-aliases"><code>/etc/profile <span class="roman">and aliases</span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002fvar_002ftmp_002ftexfonts"><code>/var/tmp/texfonts</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f-may-not-be-_002f"><code>/ <span class="r">may not be /</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_002c-trailing-in-home-directory"><code>/<span class="r">, trailing in home directory</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002f_002f"><code>//</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fetc_002fprofile"><code>/etc/profile</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fetc_002fprofile-and-aliases"><code>/etc/profile <span class="r">and aliases</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002fvar_002ftmp_002ftexfonts"><code>/var/tmp/texfonts</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-6">2</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-2602gf"><code>2602gf</code></a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-2602gf"><code>2602gf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-7">8</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-8_002e3-filenames_002c-using">8.3 filenames, using</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8_002e3-filenames_002c-using">8.3 filenames, using</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-8">:</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003a-may-not-be-_003a"><code>: <span class="roman">may not be :</span></code></a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003a_003a-expansion"><code>:: <span class="roman">expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003a-may-not-be-_003a"><code>: <span class="r">may not be :</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003a_003a-expansion"><code>:: <span class="r">expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-9">;</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003b-translated-to-_003a-in-texmf_002ecnf"><code>; <span class="roman">translated to ‘<samp>:</samp>’ in <samp>texmf.cnf</samp></span></code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003b-translated-to-_003a-in-texmf_002ecnf"><code>; <span class="r">translated to ‘<samp class="samp">:</samp>’ in <samp class="file">texmf.cnf</samp></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-10">=</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_003d-omitted-in-texmf_002ecnf-and-misparsing"><code>= <span class="roman">omitted in <samp>texmf.cnf</samp> and misparsing</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_003d-omitted-in-texmf_002ecnf-and-misparsing"><code>= <span class="r">omitted in <samp class="file">texmf.cnf</samp> and misparsing</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-11">\</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005c_002c-line-continuation-in-texmf_002ecnf"><code>\<span class="roman">, line continuation in <samp>texmf.cnf</samp></span></code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005copenin"><code>\openin</code></a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cspecial_002c-suppressing-warnings-about"><code>\special<span class="roman">, suppressing warnings about</span></code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005c_002c-line-continuation-in-texmf_002ecnf"><code>\<span class="r">, line continuation in <samp class="file">texmf.cnf</samp></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005copenin"><code>\openin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cspecial_002c-suppressing-warnings-about"><code>\special<span class="r">, suppressing warnings about</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-12">{</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_007b-expansion"><code>{ <span class="roman">expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_007b-expansion"><code>{ <span class="r">expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-13">~</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_007e-expansion"><code>~ <span class="roman">expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_007e-expansion"><code>~ <span class="r">expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-absolute-filenames">absolute filenames</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-access-system-call"><code>access <span class="roman">system call</span></code></a>:</td><td> </td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-access-warnings">access warnings</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-AFMFONTS"><code>AFMFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-aliases-for-fonts">aliases for fonts</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-aliases_002c-for-filenames">aliases, for filenames</a>:</td><td> </td><td valign="top"><a href="#Filename-aliases">Filename aliases</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-all"><code>all</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-all-matches_002c-finding">all matches, finding</a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-alphabetical-order_002c-not">alphabetical order, not</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-announcement-mailing-list">announcement mailing list</a>:</td><td> </td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-API_002c-re_002dentrant">API, re-entrant</a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-append_002donly-directories-and-mktexpk">append-only directories and <code>mktexpk</code></a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-appendonlydir"><code>appendonlydir</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Apple-filesystem_002c-case_002dinsensitive">Apple filesystem, case-insensitive</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-arguments-to-mktex">arguments to <samp>mktex</samp></a>:</td><td> </td><td valign="top"><a href="#mktex-script-arguments">mktex script arguments</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-argv_005b0_005d"><code>argv[0]</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-autoconf_002c-recommended"><code>autoconf<span class="roman">, recommended</span></code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-automounter_002c-and-ls_002dR">automounter, and <samp>ls-R</samp></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-auxiliary-tasks">auxiliary tasks</a>:</td><td> </td><td valign="top"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-absolute-filenames">absolute filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-access-system-call"><code>access <span class="r">system call</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-access-warnings">access warnings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-AFMFONTS"><code>AFMFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-aliases-for-fonts">aliases for fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-aliases_002c-for-filenames">aliases, for filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#Filename-aliases">Filename aliases</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-all"><code>all</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-all-matches_002c-finding">all matches, finding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-alphabetical-order_002c-not">alphabetical order, not</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-announcement-mailing-list">announcement mailing list</a>:</td><td> </td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-API_002c-re_002dentrant">API, re-entrant</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-append_002donly-directories-and-mktexpk">append-only directories and <code class="code">mktexpk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-appendonlydir"><code>appendonlydir</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Apple-filesystem_002c-case_002dinsensitive">Apple filesystem, case-insensitive</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-arguments-to-mktex">arguments to <samp class="file">mktex</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-arguments">mktex script arguments</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-argv_005b0_005d"><code>argv[0]</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-autoconf_002c-recommended"><code>autoconf<span class="r">, recommended</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-automounter_002c-and-ls_002dR">automounter, and <samp class="file">ls-R</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-auxiliary-tasks">auxiliary tasks</a>:</td><td> </td><td class="printindex-index-section"><a href="#Auxiliary-tasks">Auxiliary tasks</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Bach_002c-Johann-Sebastian">Bach, Johann Sebastian</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-backslash_002dnewline">backslash-newline</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-basic-glyph-lookup">basic glyph lookup</a>:</td><td> </td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BIBINPUTS"><code>BIBINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BIBINPUTS-1"><code>BIBINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-blank-lines_002c-in-texmf_002ecnf">blank lines, in <samp>texmf.cnf</samp></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BLTXMLINPUTS"><code>BLTXMLINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-brace-expansion">brace expansion</a>:</td><td> </td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Breitenlohner_002c-Peter">Breitenlohner, Peter</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BSTINPUTS"><code>BSTINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BSTINPUTS-1"><code>BSTINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bug-address">bug address</a>:</td><td> </td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bug-checklist">bug checklist</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bug-mailing-list">bug mailing list</a>:</td><td> </td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bugs_002c-reporting">bugs, reporting</a>:</td><td> </td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Bach_002c-Johann-Sebastian">Bach, Johann Sebastian</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-backslash_002dnewline">backslash-newline</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-basic-glyph-lookup">basic glyph lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BIBINPUTS"><code>BIBINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BIBINPUTS-1"><code>BIBINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-blank-lines_002c-in-texmf_002ecnf">blank lines, in <samp class="file">texmf.cnf</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BLTXMLINPUTS"><code>BLTXMLINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-brace-expansion">brace expansion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Breitenlohner_002c-Peter">Breitenlohner, Peter</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BSTINPUTS"><code>BSTINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BSTINPUTS-1"><code>BSTINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bug-address">bug address</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bug-checklist">bug checklist</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bug-mailing-list">bug mailing list</a>:</td><td> </td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bugs_002c-reporting">bugs, reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-c_002d_002a_002eh"><code>c-*.h</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-c_002dauto_002eh"><code>c-auto.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cache-of-fonts_002c-local">cache of fonts, local</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-calling-sequence">calling sequence</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-casefolding-examples">casefolding examples</a>:</td><td> </td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-casefolding-fallback-rationale">casefolding fallback rationale</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-casefolding-search">casefolding search</a>:</td><td> </td><td valign="top"><a href="#Casefolding-search">Casefolding search</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ChangeLog-entry"><code>ChangeLog <span class="roman">entry</span></code></a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-checklist-for-bug-reports">checklist for bug reports</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-checksum"><code>checksum</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-circle-fonts">circle fonts</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-client_005fpath-in-kpse_002d_003eformat_005finfo"><code>client_path <span class="roman">in <code>kpse->format_info</code></span></code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CLUAINPUTS"><code>CLUAINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CMAPFONTS"><code>CMAPFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cmr10_002c-as-fallback-font"><code>cmr10<span class="roman">, as fallback font</span></code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cmr10_002evf"><code>cmr10.vf</code></a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cnf_002ec"><code>cnf.c</code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cnf_002eh"><code>cnf.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-in-fontmap-files">comments, in fontmap files</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-in-texmf_002ecnf">comments, in <samp>texmf.cnf</samp></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-making">comments, making</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-common-features-in-glyph-lookup">common features in glyph lookup</a>:</td><td> </td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-common-problems">common problems</a>:</td><td> </td><td valign="top"><a href="#Common-problems">Common problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compilation-value_002c-source-for-path">compilation value, source for path</a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compiler-bugs">compiler bugs</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compiler-bugs_002c-finding">compiler bugs, finding</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conditions-for-use">conditions for use</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config-files">config files</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config-files_002c-for-Kpathsea_002dusing-programs">config files, for Kpathsea-using programs</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config-files_002c-programming-with">config files, programming with</a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eh"><code>config.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002elog"><code>config.log</code></a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eps_002c-search-path-for"><code>config.ps<span class="roman">, search path for</span></code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002estatus"><code>config.status</code></a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-bugs">configuration bugs</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file_002c-source-for-path">configuration file, source for path</a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-of-mktex-scripts">configuration of <samp>mktex</samp> scripts</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options-for-mktex-scripts"><code>configure</code> options for <samp>mktex</samp> scripts</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-context-diff">context diff</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-continuation-character">continuation character</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-core-dumps_002c-reporting">core dumps, reporting</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-crashes_002c-reporting">crashes, reporting</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CWEBINPUTS"><code>CWEBINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-c_002d_002a_002eh"><code>c-*.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-c_002dauto_002eh"><code>c-auto.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cache-of-fonts_002c-local">cache of fonts, local</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-calling-sequence">calling sequence</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-casefolding-examples">casefolding examples</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-casefolding-fallback-rationale">casefolding fallback rationale</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-casefolding-search">casefolding search</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-search">Casefolding search</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ChangeLog-entry"><code>ChangeLog <span class="r">entry</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-checklist-for-bug-reports">checklist for bug reports</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-checksum"><code>checksum</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-circle-fonts">circle fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-client_005fpath-in-kpse_002d_003eformat_005finfo"><code>client_path <span class="r">in <code class="code">kpse->format_info</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CLUAINPUTS"><code>CLUAINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CMAPFONTS"><code>CMAPFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cmr10_002c-as-fallback-font"><code>cmr10<span class="r">, as fallback font</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cmr10_002evf"><code>cmr10.vf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cnf_002ec"><code>cnf.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cnf_002eh"><code>cnf.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-fontmap-files">comments, in fontmap files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-texmf_002ecnf">comments, in <samp class="file">texmf.cnf</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-making">comments, making</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-common-features-in-glyph-lookup">common features in glyph lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-common-problems">common problems</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-problems">Common problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation-value_002c-source-for-path">compilation value, source for path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compiler-bugs">compiler bugs</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compiler-bugs_002c-finding">compiler bugs, finding</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conditions-for-use">conditions for use</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config-files">config files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config-files_002c-for-Kpathsea_002dusing-programs">config files, for Kpathsea-using programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config-files_002c-programming-with">config files, programming with</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eh"><code>config.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002elog"><code>config.log</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps"><code>config.ps</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eps_002c-search-path-for"><code>config.ps<span class="r">, search path for</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002estatus"><code>config.status</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-bugs">configuration bugs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file_002c-source-for-path">configuration file, source for path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-of-mktex-scripts">configuration of <samp class="file">mktex</samp> scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options-for-mktex-scripts"><code class="code">configure</code> options for <samp class="file">mktex</samp> scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-context-diff">context diff</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-continuation-character">continuation character</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-core-dumps_002c-reporting">core dumps, reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-crashes_002c-reporting">crashes, reporting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CWEBINPUTS"><code>CWEBINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-database-search">database search</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-database_002c-for-filenames">database, for filenames</a>:</td><td> </td><td valign="top"><a href="#Filename-database">Filename database</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-database_002c-format-of">database, format of</a>:</td><td> </td><td valign="top"><a href="#Database-format">Database format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debug_002eh"><code>debug.h</code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugger">debugger</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging">debugging</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-options_002c-in-Kpathsea_002dusing-program">debugging options, in Kpathsea-using program</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-output">debugging output</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-default-expansion">default expansion</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-default_005ftexsizes"><code>default_texsizes</code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-device_002c-wrong">device, wrong</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-directories_002c-making-append_002donly">directories, making append-only</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-directory-permissions">directory permissions</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-directory-structure_002c-for-TeX-files">directory structure, for TeX files</a>:</td><td> </td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-disabling-mktex-scripts">disabling <samp>mktex</samp> scripts</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-disk-search">disk search</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-disk-searching_002c-avoiding">disk searching, avoiding</a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-disk-usage_002c-reducing">disk usage, reducing</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-doc-files"><code>doc files</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DOS-compatible-names">DOS compatible names</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dosnames"><code>dosnames</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dot-files">dot files</a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-doubled-colons">doubled colons</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dpinnn-directories"><code>dpi<var>nnn</var> directories</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVILJMAKEPK"><code>DVILJMAKEPK</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVILJSIZES"><code>DVILJSIZES</code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvipdfmx_002ecfg"><code>dvipdfmx.cfg</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dynamic-creation-of-files">dynamic creation of files</a>:</td><td> </td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-database-search">database search</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-database_002c-for-filenames">database, for filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#Filename-database">Filename database</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-database_002c-format-of">database, format of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Database-format">Database format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debug_002eh"><code>debug.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugger">debugger</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging">debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-options_002c-in-Kpathsea_002dusing-program">debugging options, in Kpathsea-using program</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-output">debugging output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-default-expansion">default expansion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-default_005ftexsizes"><code>default_texsizes</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-device_002c-wrong">device, wrong</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-directories_002c-making-append_002donly">directories, making append-only</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-directory-permissions">directory permissions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-directory-structure_002c-for-TeX-files">directory structure, for TeX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-disabling-mktex-scripts">disabling <samp class="file">mktex</samp> scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-disk-search">disk search</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-disk-searching_002c-avoiding">disk searching, avoiding</a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-disk-usage_002c-reducing">disk usage, reducing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-doc-files"><code>doc files</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DOS-compatible-names">DOS compatible names</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dosnames"><code>dosnames</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dot-files">dot files</a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-doubled-colons">doubled colons</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dpinnn-directories"><code>dpi<var class="var">nnn</var> directories</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVILJMAKEPK"><code>DVILJMAKEPK</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVILJSIZES"><code>DVILJSIZES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvipdfmx_002ecfg"><code>dvipdfmx.cfg</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSFONTS"><code>DVIPSFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSHEADERS"><code>DVIPSHEADERS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSMAKEPK"><code>DVIPSMAKEPK</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVIPSSIZES"><code>DVIPSSIZES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-creation-of-files">dynamic creation of files</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-EC-fonts_002c-and-dynamic-source-creation">EC fonts, and dynamic source creation</a>:</td><td> </td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-elt_002ddirs_002ec"><code>elt-dirs.c</code></a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-elt_002ddirs_002ec-1"><code>elt-dirs.c</code></a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-enabling-mktex-scripts">enabling <samp>mktex</samp> scripts</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ENCFONTS"><code>ENCFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-engine-name">engine name</a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-environment-variable_002c-source-for-path">environment variable, source for path</a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-environment-variables-for-TeX">environment variables for TeX</a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-environment-variables-in-paths">environment variables in paths</a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-environment-variables_002c-old">environment variables, old</a>:</td><td> </td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-epoch_002c-seconds-since">epoch, seconds since</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-error-message-macros">error message macros</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-examples_002c-of-casefolding-searches">examples, of casefolding searches</a>:</td><td> </td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-excessive-startup-time">excessive startup time</a>:</td><td> </td><td valign="top"><a href="#Slow-path-searching">Slow path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expand_002ec"><code>expand.c</code></a>:</td><td> </td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expanding-symlinks">expanding symlinks</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-default">expansion, default</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-path-element">expansion, path element</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-search-path">expansion, search path</a>:</td><td> </td><td valign="top"><a href="#Path-expansion">Path expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-subdirectory">expansion, subdirectory</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-tilde">expansion, tilde</a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-variable">expansion, variable</a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-explicitly-relative-filenames">explicitly relative filenames</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extensions_002c-filename">extensions, filename</a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-externally_002dbuilt-filename-database">externally-built filename database</a>:</td><td> </td><td valign="top"><a href="#Filename-database">Filename database</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extra-colons">extra colons</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EC-fonts_002c-and-dynamic-source-creation">EC fonts, and dynamic source creation</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-elt_002ddirs_002ec"><code>elt-dirs.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-elt_002ddirs_002ec-1"><code>elt-dirs.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-enabling-mktex-scripts">enabling <samp class="file">mktex</samp> scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ENCFONTS"><code>ENCFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-engine-name">engine name</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variable_002c-source-for-path">environment variable, source for path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables-for-TeX">environment variables for TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables-in-paths">environment variables in paths</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables_002c-old">environment variables, old</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-epoch_002c-seconds-since">epoch, seconds since</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-error-message-macros">error message macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-examples_002c-of-casefolding-searches">examples, of casefolding searches</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-excessive-startup-time">excessive startup time</a>:</td><td> </td><td class="printindex-index-section"><a href="#Slow-path-searching">Slow path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expand_002ec"><code>expand.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expanding-symlinks">expanding symlinks</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-default">expansion, default</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-path-element">expansion, path element</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-search-path">expansion, search path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-expansion">Path expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-subdirectory">expansion, subdirectory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-tilde">expansion, tilde</a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-variable">expansion, variable</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-explicitly-relative-filenames">explicitly relative filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extensions_002c-filename">extensions, filename</a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-externally_002dbuilt-filename-database">externally-built filename database</a>:</td><td> </td><td class="printindex-index-section"><a href="#Filename-database">Filename database</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extra-colons">extra colons</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-failed-mktex_2026-script-invocation">failed <code>mktex…</code> script invocation</a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fallback-font">fallback font</a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FAQ_002c-Kpathsea">FAQ, Kpathsea</a>:</td><td> </td><td valign="top"><a href="#Common-problems">Common problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Farwell_002c-Matthew">Farwell, Matthew</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-file-formats_002c-supported">file formats, supported</a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-file-lookup">file lookup</a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-file-permissions">file permissions</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-file-types_002c-registering-new">file types, registering new</a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filename-aliases">filename aliases</a>:</td><td> </td><td valign="top"><a href="#Filename-aliases">Filename aliases</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filename-database">filename database</a>:</td><td> </td><td valign="top"><a href="#Filename-database">Filename database</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filenames_002c-absolute-or-explicitly-relative">filenames, absolute or explicitly relative</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-files_002c-unable-to-find">files, unable to find</a>:</td><td> </td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filesystem-search">filesystem search</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filesystem_002c-case_002d_0028in_0029sensitive">filesystem, case-(in)sensitive</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Findutils_002c-GNU-package">Findutils, GNU package</a>:</td><td> </td><td valign="top"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-floating-directories">floating directories</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmtutil"><code>fmtutil</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmtutil_002ecnf"><code>fmtutil.cnf</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmtutils_002ecnf"><code>fmtutils.cnf</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-alias-files">font alias files</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-generation-failures">font generation failures</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-of-last-resort">font of last resort</a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-set_002c-infinite">font set, infinite</a>:</td><td> </td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FONTCIDMAPS"><code>FONTCIDMAPS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FONTFEATURES"><code>FONTFEATURES</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontmap-files">fontmap files</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontmaps-1"><code>fontmaps</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontmaps">fontmaps</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontname">fontname</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontnames_002c-arbitrary-length">fontnames, arbitrary length</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FOOINPUTS"><code>FOOINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FOOINPUTS-1"><code>FOOINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fopen_002c-redefined"><code>fopen<span class="roman">, redefined</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-format-of-external-database">format of external database</a>:</td><td> </td><td valign="top"><a href="#Database-format">Database format</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ftp_002ecs_002estanford_002eedu"><code>ftp.cs.stanford.edu</code></a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ftp_002etug_002eorg"><code>ftp.tug.org</code></a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fundamental-purpose-of-Kpathsea">fundamental purpose of Kpathsea</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-failed-mktex_2026-script-invocation">failed <code class="code">mktex…</code> script invocation</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fallback-font">fallback font</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fallback-resolutions">fallback resolutions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FAQ_002c-Kpathsea">FAQ, Kpathsea</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-problems">Common problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Farwell_002c-Matthew">Farwell, Matthew</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-file-formats_002c-supported">file formats, supported</a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-file-lookup">file lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-file-permissions">file permissions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-file-types_002c-registering-new">file types, registering new</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filename-aliases">filename aliases</a>:</td><td> </td><td class="printindex-index-section"><a href="#Filename-aliases">Filename aliases</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filename-database">filename database</a>:</td><td> </td><td class="printindex-index-section"><a href="#Filename-database">Filename database</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filenames_002c-absolute-or-explicitly-relative">filenames, absolute or explicitly relative</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-files_002c-unable-to-find">files, unable to find</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filesystem-search">filesystem search</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filesystem_002c-case_002d_0028in_0029sensitive">filesystem, case-(in)sensitive</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Findutils_002c-GNU-package">Findutils, GNU package</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-examples">Casefolding examples</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-floating-directories">floating directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmtutil"><code>fmtutil</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmtutil_002ecnf"><code>fmtutil.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmtutils_002ecnf"><code>fmtutils.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-alias-files">font alias files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-generation-failures">font generation failures</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-of-last-resort">font of last resort</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-set_002c-infinite">font set, infinite</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FONTCIDMAPS"><code>FONTCIDMAPS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FONTFEATURES"><code>FONTFEATURES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontmap-files">fontmap files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontmaps-1"><code>fontmaps</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontmaps">fontmaps</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontname">fontname</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontnames_002c-arbitrary-length">fontnames, arbitrary length</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FOOINPUTS"><code>FOOINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FOOINPUTS-1"><code>FOOINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fopen_002c-redefined"><code>fopen<span class="r">, redefined</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-format-of-external-database">format of external database</a>:</td><td> </td><td class="printindex-index-section"><a href="#Database-format">Database format</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ftp_002ecs_002estanford_002eedu"><code>ftp.cs.stanford.edu</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ftp_002etug_002eorg"><code>ftp.tug.org</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fundamental-purpose-of-Kpathsea">fundamental purpose of Kpathsea</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-gdb_002c-recommended"><code>gdb<span class="roman">, recommended</span></code></a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gf"><code>gf</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GFFONTS"><code>GFFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-globally-writable-directories">globally writable directories</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glyph-lookup">glyph lookup</a>:</td><td> </td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glyph-lookup-bitmap-tolerance">glyph lookup bitmap tolerance</a>:</td><td> </td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GLYPHFONTS"><code>GLYPHFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GLYPHFONTS-1"><code>GLYPHFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glyphlist_002etxt"><code>glyphlist.txt</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GNU-C-compiler-bugs">GNU C compiler bugs</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GNU-General-Public-License">GNU General Public License</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-group_002dwritable-directories">group-writable directories</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GSFTOPK_005fDEBUG-_0028128_0029"><code>GSFTOPK_DEBUG <span class="roman">(128)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gdb_002c-recommended"><code>gdb<span class="r">, recommended</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gf"><code>gf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GFFONTS"><code>GFFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-globally-writable-directories">globally writable directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-lookup">glyph lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-lookup-bitmap-tolerance">glyph lookup bitmap tolerance</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GLYPHFONTS"><code>GLYPHFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GLYPHFONTS-1"><code>GLYPHFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glyphlist_002etxt"><code>glyphlist.txt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU-C-compiler-bugs">GNU C compiler bugs</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU-General-Public-License">GNU General Public License</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-group_002dwritable-directories">group-writable directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GSFTOPK_005fDEBUG-_0028128_0029"><code>GSFTOPK_DEBUG <span class="r">(128)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-hash-table-buckets_002c-printing">hash table buckets, printing</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hash-table-routines">hash table routines</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hash_005fsummary_005fonly-variable-for-debugging"><code>hash_summary_only <span class="roman">variable for debugging</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-history-of-Kpathsea">history of Kpathsea</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Hoekwater_002c-Taco">Hoekwater, Taco</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-home-directories-in-paths">home directories in paths</a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-HOME_002c-as-_007e-expansion"><code>HOME<span class="roman">, as ~ expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hash-table-buckets_002c-printing">hash table buckets, printing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hash-table-routines">hash table routines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hash_005fsummary_005fonly-variable-for-debugging"><code>hash_summary_only <span class="r">variable for debugging</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-history-of-Kpathsea">history of Kpathsea</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Hoekwater_002c-Taco">Hoekwater, Taco</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-home-directories-in-paths">home directories in paths</a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-HOME_002c-as-_007e-expansion"><code>HOME<span class="r">, as ~ expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-identifiers_002c-characters-valid-in">identifiers, characters valid in</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-include-fontmap-directive"><code>include <span class="roman">fontmap directive</span></code></a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-INDEXSTYLE"><code>INDEXSTYLE</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-input-lines_002c-reading">input lines, reading</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-interactive-query">interactive query</a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-interface_002c-not-frozen">interface, not frozen</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-introduction">introduction</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-identifiers_002c-characters-valid-in">identifiers, characters valid in</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-include-fontmap-directive"><code>include <span class="r">fontmap directive</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-INDEXSTYLE"><code>INDEXSTYLE</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-input-lines_002c-reading">input lines, reading</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-interactive-query">interactive query</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-interface_002c-not-frozen">interface, not frozen</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-introduction">introduction</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-kdebug_003a">‘<samp>kdebug:</samp>’</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kdefault_002ec"><code>kdefault.c</code></a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-E_002e">Knuth, Donald E.</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by">Knuth, Donald E., archive of programs by</a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Kpathsea-config-file_002c-source-for-path">Kpathsea config file, source for path</a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_002eh"><code>kpathsea.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fcnf_005fget"><code>kpathsea_cnf_get</code></a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG-1"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffind_005ffile"><code>kpathsea_find_file</code></a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffind_005ffile-1"><code>kpathsea_find_file</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffind_005fglyph"><code>kpathsea_find_glyph</code></a>:</td><td> </td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005ffinish"><code>kpathsea_finish</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005finit_005fprog"><code>kpathsea_init_prog</code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005finit_005fprog-1"><code>kpathsea_init_prog</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fin_005fname_005fok"><code>kpathsea_in_name_ok</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fnew"><code>kpathsea_new</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fopen_005ffile"><code>kpathsea_open_file</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fout_005fname_005fok"><code>kpathsea_out_name_ok</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fset_005fprogram_005fname"><code>kpathsea_set_program_name</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_005fvar_005fvalue"><code>kpathsea_var_value</code></a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fWARNING"><code>KPATHSEA_WARNING</code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003edebug"><code>kpse->debug</code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003edebug-1"><code>kpse->debug</code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003edebug-variable"><code>kpse->debug <span class="roman">variable</span></code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003eformat_005finfo"><code>kpse->format_info</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003einvocation_005fname"><code>kpse->invocation_name</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003einvocation_005fshort_005fname"><code>kpse->invocation_short_name</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002d_003eprogram_005fname"><code>kpse->program_name</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpsewhich"><code>kpsewhich</code></a>:</td><td> </td><td valign="top"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Kpsewhich_002c-and-debugging">Kpsewhich, and debugging</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fBITMAP_005fTOLERANCE"><code>KPSE_BITMAP_TOLERANCE</code></a>:</td><td> </td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029"><code>KPSE_DEBUG_EXPAND <span class="roman">(16)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029"><code>KPSE_DEBUG_FOPEN <span class="roman">(4)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fHASH-_00282_0029"><code>KPSE_DEBUG_HASH <span class="roman">(2)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fPATHS-_00288_0029"><code>KPSE_DEBUG_PATHS <span class="roman">(8)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029"><code>KPSE_DEBUG_SEARCH <span class="roman">(32)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fSTAT-_00281_0029"><code>KPSE_DEBUG_STAT <span class="roman">(1)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDEBUG_005fVARS-_002864_0029"><code>KPSE_DEBUG_VARS <span class="roman">(64)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fDOT-expansion"><code>KPSE_DOT <span class="roman">expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005fformat_005finfo_005ftype"><code>kpse_format_info_type</code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kdebug_003a">‘<samp class="samp">kdebug:</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kdefault_002ec"><code>kdefault.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Knuth_002c-Donald-E_002e">Knuth, Donald E.</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Knuth_002c-Donald-E_002e_002c-archive-of-programs-by">Knuth, Donald E., archive of programs by</a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Kpathsea-config-file_002c-source-for-path">Kpathsea config file, source for path</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_002eh"><code>kpathsea.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fcnf_005fget"><code>kpathsea_cnf_get</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG-1"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffind_005ffile"><code>kpathsea_find_file</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffind_005ffile-1"><code>kpathsea_find_file</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffind_005fglyph"><code>kpathsea_find_glyph</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005ffinish"><code>kpathsea_finish</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005finit_005fprog"><code>kpathsea_init_prog</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005finit_005fprog-1"><code>kpathsea_init_prog</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fin_005fname_005fok"><code>kpathsea_in_name_ok</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fnew"><code>kpathsea_new</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fopen_005ffile"><code>kpathsea_open_file</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fout_005fname_005fok"><code>kpathsea_out_name_ok</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fset_005fprogram_005fname"><code>kpathsea_set_program_name</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_005fvar_005fvalue"><code>kpathsea_var_value</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fWARNING"><code>KPATHSEA_WARNING</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003edebug"><code>kpse->debug</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003edebug-1"><code>kpse->debug</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003edebug-variable"><code>kpse->debug <span class="r">variable</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003eformat_005finfo"><code>kpse->format_info</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003einvocation_005fname"><code>kpse->invocation_name</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003einvocation_005fshort_005fname"><code>kpse->invocation_short_name</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002d_003eprogram_005fname"><code>kpse->program_name</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpsewhich"><code>kpsewhich</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Kpsewhich_002c-and-debugging">Kpsewhich, and debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fBITMAP_005fTOLERANCE"><code>KPSE_BITMAP_TOLERANCE</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fEXPAND-_002816_0029"><code>KPSE_DEBUG_EXPAND <span class="r">(16)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fFOPEN-_00284_0029"><code>KPSE_DEBUG_FOPEN <span class="r">(4)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fHASH-_00282_0029"><code>KPSE_DEBUG_HASH <span class="r">(2)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fPATHS-_00288_0029"><code>KPSE_DEBUG_PATHS <span class="r">(8)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fSEARCH-_002832_0029"><code>KPSE_DEBUG_SEARCH <span class="r">(32)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fSTAT-_00281_0029"><code>KPSE_DEBUG_STAT <span class="r">(1)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDEBUG_005fVARS-_002864_0029"><code>KPSE_DEBUG_VARS <span class="r">(64)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fDOT-expansion"><code>KPSE_DOT <span class="r">expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#KPSE_005fDOT-expansion">KPSE_DOT expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005fformat_005finfo_005ftype"><code>kpse_format_info_type</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-last_002dresort-font">last-resort font</a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lcircle10"><code>lcircle10</code></a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-leading-colons">leading colons</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-leaf-directories-wrongly-guessed">leaf directories wrongly guessed</a>:</td><td> </td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-leaf-directory-trick">leaf directory trick</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-license-for-using-the-library">license for using the library</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LIGFONTS"><code>LIGFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lines_002c-reading-arbitrary_002dlength">lines, reading arbitrary-length</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Linux-File-System-Standard">Linux File System Standard</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-local-cache-of-fonts">local cache of fonts</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-log-file">log file</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-logging-successful-searches">logging successful searches</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lost_002bfound-directory"><code>lost+found <span class="roman">directory</span></code></a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lostchar"><code>lostchar</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ls_002dR"><code>ls-R</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ls_002dR-database-file"><code>ls-R <span class="roman">database file</span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ls_002dR_002c-simplest-build"><code>ls-R<span class="roman">, simplest build</span></code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-last_002dresort-font">last-resort font</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lcircle10"><code>lcircle10</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-leading-colons">leading colons</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-leaf-directories-wrongly-guessed">leaf directories wrongly guessed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-leaf-directory-trick">leaf directory trick</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-license-for-using-the-library">license for using the library</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LIGFONTS"><code>LIGFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lines_002c-reading-arbitrary_002dlength">lines, reading arbitrary-length</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Linux-File-System-Standard">Linux File System Standard</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-local-cache-of-fonts">local cache of fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-log-file">log file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-logging-successful-searches">logging successful searches</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lost_002bfound-directory"><code>lost+found <span class="r">directory</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lostchar"><code>lostchar</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ls_002dR"><code>ls-R</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ls_002dR-database-file"><code>ls-R <span class="r">database file</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ls_002dR_002c-simplest-build"><code>ls-R<span class="r">, simplest build</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LUAINPUTS"><code>LUAINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Mac-filesystem_002c-case_002dinsensitive">Mac filesystem, case-insensitive</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MacKenzie_002c-David">MacKenzie, David</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MacKenzie_002c-David-1">MacKenzie, David</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-magic-characters">magic characters</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mailing-lists">mailing lists</a>:</td><td> </td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MAKETEX_005fDEBUG-_0028512_0029"><code>MAKETEX_DEBUG <span class="roman">(512)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029"><code>MAKETEX_FINE_DEBUG <span class="roman">(1024)</span></code></a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-allocation-routines">memory allocation routines</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-metafont-driver-files">metafont driver files</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-failures">Metafont failures</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-installation">Metafont installation</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-making-too_002dlarge-fonts">Metafont making too-large fonts</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-using-the-wrong-device">Metafont using the wrong device</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MFBASES"><code>MFBASES</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MFINPUTS"><code>MFINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MFPOOL"><code>MFPOOL</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MFTINPUTS"><code>MFTINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MISCFONTS"><code>MISCFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mismatched-checksum-warnings">mismatched checksum warnings</a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-missing-character-warnings">missing character warnings</a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mkocp"><code>mkocp</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mkofm"><code>mkofm</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex-script-configuration"><samp>mktex</samp> script configuration</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex-script-names"><samp>mktex</samp> script names</a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex-scripts"><samp>mktex</samp> scripts</a>:</td><td> </td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex_002ecnf"><code>mktex.cnf</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex_002ecnf-1"><code>mktex.cnf</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex_002eopt"><code>mktex.opt</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex_002eopt-1"><code>mktex.opt</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexdir"><code>mktexdir</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexfmt"><code>mktexfmt</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexmf"><code>mktexmf</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexpk"><code>mktexpk</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexpk-can_0027t-guess-mode"><code>mktexpk</code> can’t guess mode</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktextex"><code>mktextex</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktextfm"><code>mktextfm</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MLBIBINPUTS"><code>MLBIBINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MLBSTINPUTS"><code>MLBSTINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mode-directory_002c-omitting">mode directory, omitting</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Morgan_002c-Tim">Morgan, Tim</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MPINPUTS"><code>MPINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MPMEMS"><code>MPMEMS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MPPOOL"><code>MPPOOL</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MPSUPPORT"><code>MPSUPPORT</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MT_005fFEATURES"><code>MT_FEATURES</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-multiple-TeX-hierarchies">multiple TeX hierarchies</a>:</td><td> </td><td valign="top"><a href="#Brace-expansion">Brace expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-must-exist">must exist</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Mac-filesystem_002c-case_002dinsensitive">Mac filesystem, case-insensitive</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MacKenzie_002c-David">MacKenzie, David</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MacKenzie_002c-David-1">MacKenzie, David</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magic-characters">magic characters</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mailing-lists">mailing lists</a>:</td><td> </td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MAKETEX_005fDEBUG-_0028512_0029"><code>MAKETEX_DEBUG <span class="r">(512)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MAKETEX_005fFINE_005fDEBUG-_00281024_0029"><code>MAKETEX_FINE_DEBUG <span class="r">(1024)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-allocation-routines">memory allocation routines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-metafont-driver-files">metafont driver files</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-failures">Metafont failures</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-installation">Metafont installation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-making-too_002dlarge-fonts">Metafont making too-large fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-using-the-wrong-device">Metafont using the wrong device</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MFBASES"><code>MFBASES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MFINPUTS"><code>MFINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MFPOOL"><code>MFPOOL</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MFTINPUTS"><code>MFTINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MISCFONTS"><code>MISCFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mismatched-checksum-warnings">mismatched checksum warnings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-missfont_002elog"><code>missfont.log</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MISSFONT_005fLOG"><code>MISSFONT_LOG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-missing-character-warnings">missing character warnings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mkocp"><code>mkocp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mkofm"><code>mkofm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex-script-configuration"><samp class="file">mktex</samp> script configuration</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex-script-names"><samp class="file">mktex</samp> script names</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex-scripts"><samp class="file">mktex</samp> scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002ecnf"><code>mktex.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002ecnf-1"><code>mktex.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002eopt"><code>mktex.opt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002eopt-1"><code>mktex.opt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexdir"><code>mktexdir</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexfmt"><code>mktexfmt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexmf"><code>mktexmf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk"><code>mktexpk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexpk-can_0027t-guess-mode"><code class="code">mktexpk</code> can’t guess mode</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktextex"><code>mktextex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktextfm"><code>mktextfm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MLBIBINPUTS"><code>MLBIBINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MLBSTINPUTS"><code>MLBSTINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-directory_002c-omitting">mode directory, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Morgan_002c-Tim">Morgan, Tim</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MPINPUTS"><code>MPINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MPMEMS"><code>MPMEMS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MPPOOL"><code>MPPOOL</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MPSUPPORT"><code>MPSUPPORT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MT_005fFEATURES"><code>MT_FEATURES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-TeX-hierarchies">multiple TeX hierarchies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Brace-expansion">Brace expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-must-exist">must exist</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-names-for-mktex-scripts">names for <samp>mktex</samp> scripts</a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Neumann_002c-Gustaf">Neumann, Gustaf</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-NFS-and-ls_002dR">NFS and <samp>ls-R</samp></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-nomfdrivers"><code>nomfdrivers</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-nomode"><code>nomode</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-none"><code>none</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-null-pointers_002c-dereferencing">null pointers, dereferencing</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-numeric-debugging-values">numeric debugging values</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-names-for-mktex-scripts">names for <samp class="file">mktex</samp> scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Neumann_002c-Gustaf">Neumann, Gustaf</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-NFS-and-ls_002dR">NFS and <samp class="file">ls-R</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-nomfdrivers"><code>nomfdrivers</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-nomode"><code>nomode</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-none"><code>none</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-null-pointers_002c-dereferencing">null pointers, dereferencing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-numeric-debugging-values">numeric debugging values</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-obtaining-TeX">obtaining TeX</a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OCPINPUTS"><code>OCPINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OFMFONTS"><code>OFMFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-online-Metafont-display_002c-spurious">online Metafont display, spurious</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OPENTYPEFONTS"><code>OPENTYPEFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-optimization-caveat">optimization caveat</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-options-for-debugging">options for debugging</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OTPINPUTS"><code>OTPINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-overview-of-path-searching">overview of path searching</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-overview-of-programming-with-Kpathsea">overview of programming with Kpathsea</a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OVFFONTS"><code>OVFFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OVPFONTS"><code>OVPFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-obtaining-TeX">obtaining TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OCPINPUTS"><code>OCPINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OFMFONTS"><code>OFMFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-online-Metafont-display_002c-spurious">online Metafont display, spurious</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OPENTYPEFONTS"><code>OPENTYPEFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-optimization-caveat">optimization caveat</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-options-for-debugging">options for debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OTPINPUTS"><code>OTPINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-overview-of-path-searching">overview of path searching</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-overview-of-programming-with-Kpathsea">overview of programming with Kpathsea</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OVFFONTS"><code>OVFFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OVPFONTS"><code>OVPFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-expansion">path expansion</a>:</td><td> </td><td valign="top"><a href="#Path-expansion">Path expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-searching">path searching</a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-searching-options">path searching options</a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-searching_002c-overview">path searching, overview</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-searching_002c-standalone">path searching, standalone</a>:</td><td> </td><td valign="top"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-sources">path sources</a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pathsearch_002eh"><code>pathsearch.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pc-Pascal-compiler"><code>pc <span class="roman">Pascal compiler</span></code></a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pdfglyphlist_002etxt"><code>pdfglyphlist.txt</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pdftex_002ecfg"><code>pdftex.cfg</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDFTEXCONFIG"><code>PDFTEXCONFIG</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pdftexconfig_002etex"><code>pdftexconfig.tex</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-permission-denied">permission denied</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-permissions_002c-directory">permissions, directory</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-permissions_002c-file">permissions, file</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PKFONTS"><code>PKFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain_002ebase"><code>plain.base</code></a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-privacy_002c-semblance-of">privacy, semblance of</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-problems_002c-common">problems, common</a>:</td><td> </td><td valign="top"><a href="#Common-problems">Common problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-proginit_002eh"><code>proginit.h</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program_002dvarying-paths">program-varying paths</a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-programming-overview">programming overview</a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-programming-with-config-files">programming with config files</a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-programming-with-Kpathsea">programming with Kpathsea</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-programs-using-the-library">programs using the library</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-proof-mode">proof mode</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PSHEADERS"><code>PSHEADERS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pxp-Pascal-preprocessor"><code>pxp <span class="roman">Pascal preprocessor</span></code></a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-expansion">path expansion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-expansion">Path expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching">path searching</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching-options">path searching options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching_002c-overview">path searching, overview</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching_002c-standalone">path searching, standalone</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-sources">path sources</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pathsearch_002eh"><code>pathsearch.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pc-Pascal-compiler"><code>pc <span class="r">Pascal compiler</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pdfglyphlist_002etxt"><code>pdfglyphlist.txt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pdftex_002ecfg"><code>pdftex.cfg</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDFTEXCONFIG"><code>PDFTEXCONFIG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pdftexconfig_002etex"><code>pdftexconfig.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-permission-denied">permission denied</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-permissions_002c-directory">permissions, directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-permissions_002c-file">permissions, file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PKFONTS"><code>PKFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002ebase"><code>plain.base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-privacy_002c-semblance-of">privacy, semblance of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-problems_002c-common">problems, common</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-problems">Common problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-proginit_002eh"><code>proginit.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program_002dvarying-paths">program-varying paths</a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-programming-overview">programming overview</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-programming-with-config-files">programming with config files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-programming-with-Kpathsea">programming with Kpathsea</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-programs-using-the-library">programs using the library</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-proof-mode">proof mode</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PSHEADERS"><code>PSHEADERS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pxp-Pascal-preprocessor"><code>pxp <span class="r">Pascal preprocessor</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-quoting-variable-values">quoting variable values</a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-quoting-variable-values">quoting variable values</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-rationale-for-casefolding-fallback">rationale for casefolding fallback</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-re_002dentrant-API">re-entrant API</a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-readable"><code>readable</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reading-arbitrary_002dlength-lines">reading arbitrary-length lines</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-recording-successful-searches">recording successful searches</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-relative-filenames">relative filenames</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reporting-bugs">reporting bugs</a>:</td><td> </td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resident_002ec"><code>resident.c</code></a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td> </td><td valign="top"><a href="#Path-searching-options">Path searching options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-resolutions_002c-last_002dresort">resolutions, last-resort</a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-retrieving-TeX">retrieving TeX</a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-right_002dhand-side-of-variable-assignments">right-hand side of variable assignments</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-RISINPUTS"><code>RISINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Rokicki_002c-Tom">Rokicki, Tom</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-root-user"><tt>root</tt> user</a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-runtime-configuration-files">runtime configuration files</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-runtime-debugging">runtime debugging</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-rationale-for-casefolding-fallback">rationale for casefolding fallback</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-re_002dentrant-API">re-entrant API</a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-readable"><code>readable</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reading-arbitrary_002dlength-lines">reading arbitrary-length lines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-recording-successful-searches">recording successful searches</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-relative-filenames">relative filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reporting-bugs">reporting bugs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resident_002ec"><code>resident.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resolution_002c-setting">resolution, setting</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching-options">Path searching options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-resolutions_002c-last_002dresort">resolutions, last-resort</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-retrieving-TeX">retrieving TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-right_002dhand-side-of-variable-assignments">right-hand side of variable assignments</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-RISINPUTS"><code>RISINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Rokicki_002c-Tom">Rokicki, Tom</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-root-user"><code class="t">root</code> user</a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-runtime-configuration-files">runtime configuration files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-runtime-debugging">runtime debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Sauter-fonts_002c-and-dynamic-source-creation">Sauter fonts, and dynamic source creation</a>:</td><td> </td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scripts-for-file-creation">scripts for file creation</a>:</td><td> </td><td valign="top"><a href="#mktex-scripts">mktex scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-search-path_002c-defined">search path, defined</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-search_002c-case_002dinsensitive">search, case-insensitive</a>:</td><td> </td><td valign="top"><a href="#Casefolding-search">Casefolding search</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-searching-for-files">searching for files</a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-searching-for-glyphs">searching for glyphs</a>:</td><td> </td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-searching-overview">searching overview</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-searching-the-database">searching the database</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-searching-the-disk">searching the disk</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-security-considerations">security considerations</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SELFAUTODIR">SELFAUTODIR</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SELFAUTOLOC">SELFAUTOLOC</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SELFAUTOPARENT">SELFAUTOPARENT</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sending-patches">sending patches</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-setgid-scripts">setgid scripts</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SFDFONTS"><code>SFDFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell-variables">shell variables</a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell_005fescape_002c-example-for-code"><code>shell_escape<span class="roman">, example for code</span></code></a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-site-overrides-for-mktex_2026">site overrides for <code>mktex…</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-skeleton-TeX-directory">skeleton TeX directory</a>:</td><td> </td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-slow-startup-time">slow startup time</a>:</td><td> </td><td valign="top"><a href="#Slow-path-searching">Slow path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-source-files"><code>source files</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sources-for-search-paths">sources for search paths</a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-special"><code>special</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-stack-trace">stack trace</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standalone-path-searching">standalone path searching</a>:</td><td> </td><td valign="top"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-error-and-debugging-output">standard error and debugging output</a>:</td><td> </td><td valign="top"><a href="#Debugging">Debugging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-standard-options">standard options</a>:</td><td> </td><td valign="top"><a href="#Standard-options">Standard options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-startup-time_002c-excessive">startup time, excessive</a>:</td><td> </td><td valign="top"><a href="#Slow-path-searching">Slow path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-string-routines">string routines</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-strip"><code>strip</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-stripsupplier"><code>stripsupplier</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-striptypeface"><code>striptypeface</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-st_005fnlink"><code>st_nlink</code></a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ST_005fNLINK_005fTRICK"><code>ST_NLINK_TRICK</code></a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-subdirectory-searching">subdirectory searching</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-suffixes_002c-filename">suffixes, filename</a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-suggestions_002c-making">suggestions, making</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Sun-2">Sun 2</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-supplier-directory_002c-omitting">supplier directory, omitting</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-supplier-directory_002c-omitting-1">supplier directory, omitting</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-supported-file-formats">supported file formats</a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-suppressing-warnings">suppressing warnings</a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-symbolic-links-not-found">symbolic links not found</a>:</td><td> </td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-symbolic-links_002c-and-ls_002dR">symbolic links, and <samp>ls-R</samp></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-symlinks_002c-resolving">symlinks, resolving</a>:</td><td> </td><td valign="top"><a href="#Calling-sequence">Calling sequence</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system-C-compiler-bugs">system C compiler bugs</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system_002ddependent-casefolding-behavior">system-dependent casefolding behavior</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Sauter-fonts_002c-and-dynamic-source-creation">Sauter fonts, and dynamic source creation</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scripts-for-file-creation">scripts for file creation</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-scripts">mktex scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-search-path_002c-defined">search path, defined</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-search_002c-case_002dinsensitive">search, case-insensitive</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-search">Casefolding search</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-for-files">searching for files</a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-for-glyphs">searching for glyphs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-overview">searching overview</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-the-database">searching the database</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-searching-the-disk">searching the disk</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-security-considerations">security considerations</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SELFAUTODIR">SELFAUTODIR</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SELFAUTOLOC">SELFAUTOLOC</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SELFAUTOPARENT">SELFAUTOPARENT</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sending-patches">sending patches</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-setgid-scripts">setgid scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SFDFONTS"><code>SFDFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-variables">shell variables</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell_005fescape_002c-example-for-code"><code>shell_escape<span class="r">, example for code</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-site-overrides-for-mktex_2026">site overrides for <code class="code">mktex…</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-skeleton-TeX-directory">skeleton TeX directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-slow-startup-time">slow startup time</a>:</td><td> </td><td class="printindex-index-section"><a href="#Slow-path-searching">Slow path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-source-files"><code>source files</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sources-for-search-paths">sources for search paths</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-special"><code>special</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-stack-trace">stack trace</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standalone-path-searching">standalone path searching</a>:</td><td> </td><td class="printindex-index-section"><a href="#Invoking-kpsewhich">Invoking kpsewhich</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-error-and-debugging-output">standard error and debugging output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Debugging">Debugging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-standard-options">standard options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Standard-options">Standard options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-startup-time_002c-excessive">startup time, excessive</a>:</td><td> </td><td class="printindex-index-section"><a href="#Slow-path-searching">Slow path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-string-routines">string routines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-strip"><code>strip</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-stripsupplier"><code>stripsupplier</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-striptypeface"><code>striptypeface</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-st_005fnlink"><code>st_nlink</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ST_005fNLINK_005fTRICK"><code>ST_NLINK_TRICK</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-subdirectory-searching">subdirectory searching</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-suffixes_002c-filename">suffixes, filename</a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-suggestions_002c-making">suggestions, making</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Sun-2">Sun 2</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-supplier-directory_002c-omitting">supplier directory, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-supplier-directory_002c-omitting-1">supplier directory, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-supported-file-formats">supported file formats</a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-suppressing-warnings">suppressing warnings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-symbolic-links-not-found">symbolic links not found</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-symbolic-links_002c-and-ls_002dR">symbolic links, and <samp class="file">ls-R</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-symlinks_002c-resolving">symlinks, resolving</a>:</td><td> </td><td class="printindex-index-section"><a href="#Calling-sequence">Calling sequence</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system-C-compiler-bugs">system C compiler bugs</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system_002ddependent-casefolding-behavior">system-dependent casefolding behavior</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-T1FONTS"><code>T1FONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-T1INPUTS"><code>T1INPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-T42FONTS"><code>T42FONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tcfmgr_002emap"><code>tcfmgr.map</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TDS">TDS</a>:</td><td> </td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-directory-structure">TeX directory structure</a>:</td><td> </td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-environment-variables">TeX environment variables</a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-failures">TeX failures</a>:</td><td> </td><td valign="top"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-file-lookup">TeX file lookup</a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-glyph-lookup">TeX glyph lookup</a>:</td><td> </td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-support">TeX support</a>:</td><td> </td><td valign="top"><a href="#TeX-support">TeX support</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX-Users-Group">TeX Users Group</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002dfile_002ec"><code>tex-file.c</code></a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002dfile_002eh"><code>tex-file.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002dglyph_002ec"><code>tex-glyph.c</code></a>:</td><td> </td><td valign="top"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002dglyph_002eh"><code>tex-glyph.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-overview">Programming overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002dk_0040tug_002eorg"><code>tex-k@tug.org</code></a>:</td><td> </td><td valign="top"><a href="#Mailing-lists">Mailing lists</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"><code>tex-k@tug.org <span class="roman">(bug address)</span></code></a>:</td><td> </td><td valign="top"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002eweb"><code>tex.web</code></a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXBIB"><code>TEXBIB</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXBIB-1"><code>TEXBIB</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXDOCS"><code>TEXDOCS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTMAPS"><code>TEXFONTMAPS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTS"><code>TEXFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTS-1"><code>TEXFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTS-2"><code>TEXFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFONTS-3"><code>TEXFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texfonts_002emap"><code>texfonts.map</code></a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXFORMATS"><code>TEXFORMATS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXINDEXSTYLE"><code>TEXINDEXSTYLE</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXINPUTS"><code>TEXINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXINPUTS-1"><code>TEXINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMF"><code>TEXMF</code></a>:</td><td> </td><td valign="top"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf"><code>texmf.cnf</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf-missing_002c-warning-about"><samp>texmf.cnf</samp> missing, warning about</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf_002c-and-variable-expansion"><code>texmf.cnf<span class="roman">, and variable expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf_002c-definition-for"><code>texmf.cnf<span class="roman">, definition for</span></code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf_002c-source-for-path"><code>texmf.cnf<span class="roman">, source for path</span></code></a>:</td><td> </td><td valign="top"><a href="#Path-sources">Path sources</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFCNF"><code>TEXMFCNF</code></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFCNF-1"><code>TEXMFCNF</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFDBS"><code>TEXMFDBS</code></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFDBS-1"><code>TEXMFDBS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFINI"><code>TEXMFINI</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFINI-1"><code>TEXMFINI</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFINI-2"><code>TEXMFINI</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFLOG"><code>TEXMFLOG</code></a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFSCRIPTS"><code>TEXMFSCRIPTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmfvar"><code>texmfvar</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFVAR"><code>TEXMFVAR</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_005fcasefold_005fsearch"><code>texmf_casefold_search</code></a>:</td><td> </td><td valign="top"><a href="#Casefolding-search">Casefolding search</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPKS"><code>TEXPKS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPOOL"><code>TEXPOOL</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPSHEADERS"><code>TEXPSHEADERS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXPSHEADERS-1"><code>TEXPSHEADERS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXSIZES"><code>TEXSIZES</code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXSOURCES"><code>TEXSOURCES</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEX_005fHUSH"><code>TEX_HUSH</code></a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEX_005fHUSH-1"><code>TEX_HUSH</code></a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFMFONTS"><code>TFMFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tilde-expansion">tilde expansion</a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tilde_002ec"><code>tilde.c</code></a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-time-system-call"><code>time <span class="roman">system call</span></code></a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tolerance-for-glyph-lookup">tolerance for glyph lookup</a>:</td><td> </td><td valign="top"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trailing-_002f-in-home-directory">trailing ‘<samp>/</samp>’ in home directory</a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trailing-colons">trailing colons</a>:</td><td> </td><td valign="top"><a href="#Default-expansion">Default expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-translations_002c-of-path-searching-description">translations, of path searching description</a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TRFONTS"><code>TRFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trick-for-detecting-leaf-directories">trick for detecting leaf directories</a>:</td><td> </td><td valign="top"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trojan-horse-attack">trojan horse attack</a>:</td><td> </td><td valign="top"><a href="#Security">Security</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-try_005fstd_005fextension_005ffirst"><code>try_std_extension_first</code></a>:</td><td> </td><td valign="top"><a href="#File-lookup">File lookup</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TTFONTS"><code>TTFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tug_002eorg"><code>tug.org</code></a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-typeface-directory_002c-omitting">typeface directory, omitting</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-typeface-directory_002c-omitting-1">typeface directory, omitting</a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-T1FONTS"><code>T1FONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-T1INPUTS"><code>T1INPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-T42FONTS"><code>T42FONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tcfmgr_002emap"><code>tcfmgr.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TDS">TDS</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-directory-structure">TeX directory structure</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-environment-variables">TeX environment variables</a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-failures">TeX failures</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-or-Metafont-failing">TeX or Metafont failing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-file-lookup">TeX file lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-glyph-lookup">TeX glyph lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-support">TeX support</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-support">TeX support</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX-Users-Group">TeX Users Group</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dfile_002ec"><code>tex-file.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dfile_002eh"><code>tex-file.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dglyph_002ec"><code>tex-glyph.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Glyph-lookup">Glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dglyph_002eh"><code>tex-glyph.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-overview">Programming overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dk_0040tug_002eorg"><code>tex-k@tug.org</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Mailing-lists">Mailing lists</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002dk_0040tug_002eorg-_0028bug-address_0029"><code>tex-k@tug.org <span class="r">(bug address)</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Reporting-bugs">Reporting bugs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002eweb"><code>tex.web</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXBIB"><code>TEXBIB</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXBIB-1"><code>TEXBIB</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXCONFIG"><code>TEXCONFIG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXDOCS"><code>TEXDOCS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTMAPS"><code>TEXFONTMAPS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS"><code>TEXFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS-1"><code>TEXFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS-2"><code>TEXFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFONTS-3"><code>TEXFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texfonts_002emap"><code>texfonts.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXFORMATS"><code>TEXFORMATS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINDEXSTYLE"><code>TEXINDEXSTYLE</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINPUTS"><code>TEXINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXINPUTS-1"><code>TEXINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMF"><code>TEXMF</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-directory-structure">TeX directory structure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf"><code>texmf.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf-missing_002c-warning-about"><samp class="file">texmf.cnf</samp> missing, warning about</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf_002c-and-variable-expansion"><code>texmf.cnf<span class="r">, and variable expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf_002c-definition-for"><code>texmf.cnf<span class="r">, definition for</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf_002c-source-for-path"><code>texmf.cnf<span class="r">, source for path</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-sources">Path sources</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFCNF"><code>TEXMFCNF</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFCNF-1"><code>TEXMFCNF</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFDBS"><code>TEXMFDBS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFDBS-1"><code>TEXMFDBS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFINI"><code>TEXMFINI</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFINI-1"><code>TEXMFINI</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFINI-2"><code>TEXMFINI</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFLOG"><code>TEXMFLOG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFOUTPUT"><code>TEXMFOUTPUT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFSCRIPTS"><code>TEXMFSCRIPTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmfvar"><code>texmfvar</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFVAR"><code>TEXMFVAR</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_005fcasefold_005fsearch"><code>texmf_casefold_search</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-search">Casefolding search</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPICTS"><code>TEXPICTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPKS"><code>TEXPKS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPOOL"><code>TEXPOOL</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPSHEADERS"><code>TEXPSHEADERS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXPSHEADERS-1"><code>TEXPSHEADERS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXSIZES"><code>TEXSIZES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXSOURCES"><code>TEXSOURCES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEX_005fHUSH"><code>TEX_HUSH</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEX_005fHUSH-1"><code>TEX_HUSH</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFMFONTS"><code>TFMFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tilde-expansion">tilde expansion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tilde_002ec"><code>tilde.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-time-system-call"><code>time <span class="r">system call</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tolerance-for-glyph-lookup">tolerance for glyph lookup</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-glyph-lookup">Basic glyph lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trailing-_002f-in-home-directory">trailing ‘<samp class="samp">/</samp>’ in home directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trailing-colons">trailing colons</a>:</td><td> </td><td class="printindex-index-section"><a href="#Default-expansion">Default expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-translations_002c-of-path-searching-description">translations, of path searching description</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TRFONTS"><code>TRFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trick-for-detecting-leaf-directories">trick for detecting leaf directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Subdirectory-expansion">Subdirectory expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trojan-horse-attack">trojan horse attack</a>:</td><td> </td><td class="printindex-index-section"><a href="#Security">Security</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-try_005fstd_005fextension_005ffirst"><code>try_std_extension_first</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#File-lookup">File lookup</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TTFONTS"><code>TTFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tug_002eorg"><code>tug.org</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-typeface-directory_002c-omitting">typeface directory, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-typeface-directory_002c-omitting-1">typeface directory, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-U">U</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-unable-to-find-files">unable to find files</a>:</td><td> </td><td valign="top"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unable-to-generate-fonts">unable to generate fonts</a>:</td><td> </td><td valign="top"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-uname"><code>uname</code></a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unixtex_002eftp"><code>unixtex.ftp</code></a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unknown-special-warnings">unknown special warnings</a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unreadable-file-warnings">unreadable file warnings</a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unreadable-files">unreadable files</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unusable-ls_002dR-warning">unusable <samp>ls-R</samp> warning</a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-usage-patterns_002c-finding">usage patterns, finding</a>:</td><td> </td><td valign="top"><a href="#Logging">Logging</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-USERPROFILE_002c-as-_007e-expansion"><code>USERPROFILE<span class="roman">, as ~ expansion</span></code></a>:</td><td> </td><td valign="top"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-USE_005fTEXMFVAR"><code>USE_TEXMFVAR</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-USE_005fVARTEXFONTS"><code>USE_VARTEXFONTS</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unable-to-find-files">unable to find files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-find-files">Unable to find files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unable-to-generate-fonts">unable to generate fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Unable-to-generate-fonts">Unable to generate fonts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-uname"><code>uname</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unixtex_002eftp"><code>unixtex.ftp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unknown-special-warnings">unknown special warnings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unreadable-file-warnings">unreadable file warnings</a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unreadable-files">unreadable files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unusable-ls_002dR-warning">unusable <samp class="file">ls-R</samp> warning</a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-usage-patterns_002c-finding">usage patterns, finding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Logging">Logging</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-USERPROFILE_002c-as-_007e-expansion"><code>USERPROFILE<span class="r">, as ~ expansion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Tilde-expansion">Tilde expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-USE_005fTEXMFVAR"><code>USE_TEXMFVAR</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-USE_005fVARTEXFONTS"><code>USE_VARTEXFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-V">V</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-varfonts"><code>varfonts</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-variable-expansion">variable expansion</a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-variable_002ec"><code>variable.c</code></a>:</td><td> </td><td valign="top"><a href="#Variable-expansion">Variable expansion</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-variable_002eh"><code>variable.h</code></a>:</td><td> </td><td valign="top"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VARTEXFONTS"><code>VARTEXFONTS</code></a>:</td><td> </td><td valign="top"><a href="#mktex-configuration">mktex configuration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VAX-11_002f750">VAX 11/750</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-version-numbers_002c-determining">version numbers, determining</a>:</td><td> </td><td valign="top"><a href="#Bug-checklist">Bug checklist</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VF-files_002c-not-found">VF files, not found</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VFFONTS"><code>VFFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Vojta_002c-Paul">Vojta, Paul</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-varfonts"><code>varfonts</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-variable-expansion">variable expansion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-variable_002ec"><code>variable.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variable-expansion">Variable expansion</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-variable_002eh"><code>variable.h</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Programming-with-config-files">Programming with config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VARTEXFONTS"><code>VARTEXFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-configuration">mktex configuration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VAX-11_002f750">VAX 11/750</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-version-numbers_002c-determining">version numbers, determining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Bug-checklist">Bug checklist</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VF-files_002c-not-found">VF files, not found</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VFFONTS"><code>VFFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Vojta_002c-Paul">Vojta, Paul</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Walsh_002c-Norman">Walsh, Norman</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-warning-about-unusable-ls_002dR">warning about unusable <samp>ls-R</samp></a>:</td><td> </td><td valign="top"><a href="#ls_002dR">ls-R</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-warning_002c-about-missing-texmf_002ecnf">warning, about missing <samp>texmf.cnf</samp></a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-warnings_002c-file-access">warnings, file access</a>:</td><td> </td><td valign="top"><a href="#Searching-overview">Searching overview</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td valign="top"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEB2C"><code>WEB2C</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Weber_002c-Olaf">Weber, Olaf</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEBINPUTS"><code>WEBINPUTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-whitespace_002c-in-fontmap-files">whitespace, in fontmap files</a>:</td><td> </td><td valign="top"><a href="#Fontmap">Fontmap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-whitespace_002c-not-ignored-on-continuation-lines">whitespace, not ignored on continuation lines</a>:</td><td> </td><td valign="top"><a href="#Config-files">Config files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Windows-and-casefolding">Windows and casefolding</a>:</td><td> </td><td valign="top"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-www_002etug_002eorg"><code>www.tug.org</code></a>:</td><td> </td><td valign="top"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Walsh_002c-Norman">Walsh, Norman</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warning-about-unusable-ls_002dR">warning about unusable <samp class="file">ls-R</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#ls_002dR">ls-R</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warning_002c-about-missing-texmf_002ecnf">warning, about missing <samp class="file">texmf.cnf</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-file-access">warnings, file access</a>:</td><td> </td><td class="printindex-index-section"><a href="#Searching-overview">Searching overview</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warnings_002c-suppressing">warnings, suppressing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Suppressing-warnings">Suppressing warnings</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB2C"><code>WEB2C</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Weber_002c-Olaf">Weber, Olaf</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEBINPUTS"><code>WEBINPUTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-whitespace_002c-in-fontmap-files">whitespace, in fontmap files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Fontmap">Fontmap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-whitespace_002c-not-ignored-on-continuation-lines">whitespace, not ignored on continuation lines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Config-files">Config files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Windows-and-casefolding">Windows and casefolding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Casefolding-rationale">Casefolding rationale</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-www_002etug_002eorg"><code>www.tug.org</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#unixtex_002eftp">unixtex.ftp</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-X">X</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-XDvi"><code>XDvi</code></a>:</td><td> </td><td valign="top"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-XDVIFONTS"><code>XDVIFONTS</code></a>:</td><td> </td><td valign="top"><a href="#Supported-file-formats">Supported file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-XDVIMAKEPK"><code>XDVIMAKEPK</code></a>:</td><td> </td><td valign="top"><a href="#mktex-script-names">mktex script names</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-XDVISIZES"><code>XDVISIZES</code></a>:</td><td> </td><td valign="top"><a href="#Fallback-font">Fallback font</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-XDvi"><code>XDvi</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Specially_002drecognized-files">Specially-recognized files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-XDVIFONTS"><code>XDVIFONTS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Supported-file-formats">Supported file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-XDVIMAKEPK"><code>XDVIMAKEPK</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mktex-script-names">mktex script names</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-XDVISIZES"><code>XDVISIZES</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Fallback-font">Fallback font</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Z">Z</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-zuhn_002c-david">zuhn, david</a>:</td><td> </td><td valign="top"><a href="#History">History</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-zuhn_002c-david">zuhn, david</a>:</td><td> </td><td class="printindex-index-section"><a href="#History">History</a></td></tr> <tr><td colspan="4"> <hr></td></tr> </table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>!</b></a> +<table class="cp-letters-footer-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>!</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>$</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>$</b></a> -<a class="summary-letter" href="#Index_cp_symbol-3"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>-</b></a> -<a class="summary-letter" href="#Index_cp_symbol-4"><b>.</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>.</b></a> -<a class="summary-letter" href="#Index_cp_symbol-5"><b>/</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>/</b></a> -<a class="summary-letter" href="#Index_cp_symbol-6"><b>2</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>2</b></a> -<a class="summary-letter" href="#Index_cp_symbol-7"><b>8</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>8</b></a> -<a class="summary-letter" href="#Index_cp_symbol-8"><b>:</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>:</b></a> -<a class="summary-letter" href="#Index_cp_symbol-9"><b>;</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>;</b></a> -<a class="summary-letter" href="#Index_cp_symbol-10"><b>=</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>=</b></a> -<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>\</b></a> -<a class="summary-letter" href="#Index_cp_symbol-12"><b>{</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>{</b></a> -<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>~</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a> </td></tr></table> +</div> </div> </div> diff --git a/Master/texmf-dist/doc/kpathsea/kpathsea.pdf b/Master/texmf-dist/doc/kpathsea/kpathsea.pdf Binary files differindex a189490124a..a2f30dd70cf 100644 --- a/Master/texmf-dist/doc/kpathsea/kpathsea.pdf +++ b/Master/texmf-dist/doc/kpathsea/kpathsea.pdf diff --git a/Master/texmf-dist/doc/luatex/base/NEWS b/Master/texmf-dist/doc/luatex/base/NEWS new file mode 100644 index 00000000000..8557c139df1 --- /dev/null +++ b/Master/texmf-dist/doc/luatex/base/NEWS @@ -0,0 +1,4848 @@ +============================================================== +LuaTeX 1.16.0 2023-02-19 +============================================================== + +- new "late special" feature by Phelype Oleinik, adapted and + extended by H.Hagen. +- new primitive \variablefam: use a family number as signal + for using the current family. This permits classifying + characters with a class and still let the family adapt. + \variablefam"24 + \Umathchardef\foo "3 "24 123 + \foo \fam9 + results in a curly left brace taken from family 9 with class + ‘relation’ and spacing around it will be accordingly. +- improved r2l annotation areas + +Several bug fixes (see ChangeLog). + + + +============================================================== +LuaTeX 1.15.0 2021-12-31 +============================================================== + +New primitive \matheqdirmode. +By default the short skip detection is not adapted to r2l typesetting and that +hasn't been the case since the start of the project. Changing it could break +hacks that users came up with but when you set \matheqdirmode to a positive +value direction will be taken into account. + +Several bug fixes (see ChangeLog). + + + +============================================================== +LuaTeX 1.14.1 2021-12-30 +============================================================== + +struct dest (M.F. Krüger); + +Ignore paragraphs with only a local par node followed by +direction synchronization nodes (paragraphs like that are seen +as empty paragraphs) (Hans Hagen); + +more efficient fontdimen allocation (Hans Hagen); + +improvements for glyph_stream_provider with TTF fonts (M.F. Krüger); + +provide interface for variable fonts in luaharfbuzz (M.F. Krüger); + +partoken primitives (Hans Hagen & Petr Olsak); + +PNG /Smask for pdf 2.0; + +\discretionaryligaturemode: optionally block select disc creation +(see [Dev-luatex] [PATCH] Nested discretionaries M.F. Krüger) (Hans Hagen); + +different radical style defaults in mathdefaultsmode +(see [Dev-luatex] Uunderdelimiter & friends and mathstyles by M.F. Krüger) (Hans Hagen). + + +Several bug fixes (see ChangeLog). + + + + +============================================================== +LuaTeX 1.13.2 2021-04-10 +============================================================== + +MetaPost 2.01 (to mark the patch on the unwanted space in +btex etex). + + + +============================================================== +LuaTeX 1.13.1 2021-04-02 +============================================================== + +Fixed an unwanted space in btex etex in metapost, introduced +after a patch for troff. + + + + +============================================================== +LuaTeX 1.13.0 2021-03-12 +============================================================== + +This is the release for TeX live 2021. +Callback for nesting level used in tracingmacros. +It is is a variant of \tracingstacklevels +by Petr Olsak implemented in pdftex and xetex. +Two TeX January 2021 DEK buglet fixes (H.Hagen) +Mark math glyphs as protected (in order to prevent processing +as text in base mode). +Removed width/ic compensation for traditional math code path. +When restricted system commands is enabled os.setenv has no effect. +Minor clean-up and bugs fixed (see ChangeLog) + + + +============================================================== +LuaTeX 1.12.0 2020-03-15 +============================================================== + +This is the release for TeX live 2020. +--shell-restricted now forbids loading of dso (dll/so object) +Scaled virtual font +Aadditional primitives \eTeXglue[stretch|shrink]order for querying order the etex way. +Extra features runtoks +tex.getmodenames() (as these can differ per engine/version) +Permit nested runtoks in more complex situations of nesting (HH) +More accurate and correct test for tex.[set|get]math +Minor clean-up and bugs fixed + + + +============================================================== +LuaTeX 1.11.1 2019-10-28 +============================================================== + +First release of luahbtex / luajithbtex, +luatex / luajittex with harfbuzz. +Small bug fixes, code clean up and a couple of new primitives +to match eTeX. +A new callback lua.getcodepage() for diagnostic purposes. +*** DROPPED the "page_objnum_provider" callback, replaced with "page_order_index". *** +See ChangeLog and the manual. + + + +============================================================== +LuaTeX 1.10.0 2019-03-15 +============================================================== + +This the release for TeX Live 2019. +Small bug fixes, code clean up. +This is a stable release: only bug-fixes until the next TeX Live. + + + +============================================================== +LuaTeX 1.09.2 2019-01-19 +============================================================== + +This is a transitional release to LuaTeX 1.10 for TeX Live 2019 + + + +============================================================== +LuaTeX 1.09 2018-10-23 +============================================================== + +(1) This is a release that fixed some bugs, and the latest +with lua 5.2. + +(2) luaffi is still incomplete, so very likely there will be +a new release 1.09.1 before the next year. + + + +============================================================== +LuaTeX 1.08 2018-08-28 +============================================================== + + +(1) This release is a prelude to 1.10, the next stable iteration of LuaTeX +after version 1.00. + +(2) Lua 5.3 is now considered to be default and we might use 5.4 in version +1.10. There are no real functional changed expected. You still need to rename +the binary for 5.3! + +(3) Binary mode is no longer available in MPlib but it is still available in +stand alone MetaPost. This simplifies compilation and reduces dependencies. + +(4) The dependency on Poppler for pdf image inclusion has been removed. We +now use a small dedicated library written by Pawel Jakowski. We no longer +need c++ compilers. We're in the process of making it behave well on all +platforms. It has been tested on intel platforms. + +(5) We know that there can be some (alignment) issues with the arm platform +but these are looked into. Therefore, later this year we will release 1.09. +Version 1.10 is planned for TeXlive. We hope that ffi works ok on intel and +arm platforms at that point. + +(6) There have been some extensions to the Lua libraries and some callbacks +have been added. Also, a few new primitives have been introduced. The +documentation mentions the stable extensions. + +(7) There are the usual bug fixes and cleanups but there have been no real +fundamental changes in the API. + + + + +============================================================== +LuaTeX 1.07 2018-01-17 +============================================================== + +(1) This release brings Lua 5.3 to LuaTeX. We have tested an experimental version +for a few months and not encountered issues. + +(2) If you use Lua 5.3 you should be aware of a few changes in the language and +its implementation. Numbers are now either integers or floats but are cast +automatically. + +(3) In some cases (e.g. string.format) there is a more strict check. A float always +has a decimal appended when serialized, so 1 becomes 1.0 as string. + +(4) We keep supporting the bit32 library on top of the new bit operators. Be aware +of the fact that currently LuajitTeX does not have these operators. + +(5) Performance of LuaTeX with Lua 5.3 can be slightly better than with 5.2 but this +really depends on your usage of Lua. In practice there should be no slowdown. + +(6) We are aware of possible substantial slowdown of string.format depending on the +platform and compiler. This depends on Lua too and will be resolved in due time. + +(7) If you want to test with Lua 5.3 then have to build LuaTeX with --lua53. Because +ConTeXt will switch to 5.3 after this release there will be binaries available at the +ConTeXt garden. + +(8) The 2018 TeXlive distribution will ship with LuaTeX using Lua 5.2 but there will +likely be an additional binary LuaTeX53 available. + +(9) From 2019 TeXlive will ship with LuaTeX and Lua 5.3 as default. We provide --lua52 +as build flag for a while. By then we might be looking at Lua 5.4 already. + +(10) There are the usual patches and cleanups and a few small additions (mentioned +in the manual) but there have been no fundamental changes in the API (apart from +removing depricated and undocumented functionality). + + + +============================================================== +LuaTeX Release 1.0.4 was released 2017033109 +============================================================== + +Several small fixes. This version will go on texlive. + + + + +============================================================== +LuaTeX Release 1.0.3 was released 2017021514 +============================================================== + +This is a minor upgrade and probably this version will go on texlive. There are a couple +of fixes and additions. +- We added a few a few more helpers in the pdf namespace (like set|get]gentounicode, + [set|get]omitcidset and set|get]decimaldigits. Some helpers were moved from the tex + to the pdf namespace. + +- We added a build_page_insert callback for inserts so that one can for instance adapt + spacing on demand. + +- On the agenda has been some more control over word start and end in hyphenation and + this is now possible via hyphenationbounds. We also updated the manual with some more + details. + +- An old tracker item with respect to control over spacing around math was revived and + has resulted in mathsurroundmode (one can wonder how useful this is). + +- We improved the resolution detection in included jpeg images. + + +- An ffi library has been added to luatex so that it is more in sync with luajittex. This + permits easy and flexible loading of libraries. Our policy is to make luatex as lean + as possible with no dependencies and this is a step towards that. Eventually we hope + to support all relevant platforms. + +- The glue and skip register accessors have been improved as a step in freeing the user + from glue spec management. + +- We added a few more getters and setters for nodes in order to get a more consistent + set. + +- Irrelevant fields have been removed from the status table and an engine identifier + has been added. + +- Of course there are numerous fixes and improvements but none of these have consequences + for the interfaces. + +- The manual has been updated but will be improved over time. + + + + +============================================================== +LuaTeX Release 0.95 for TeX Live 2016 was released 2016042515 +============================================================== + +This is the official frozen TeXlive 2016 version. +- deleted 'beta' from the luatex_version_string + + + + +============================================================== +LuaTeX Release 0.95 was released 2016040415 +============================================================== + +This is a prerelease of the stable 1.0 version. + +- glues now have gluespec merged in (idem math and insert) +- registers are still glue specs +- the spec field in glues are gone +- extra tex.setglue and tex.setmuglue +- obsolete dvi related dir fields removed + +(if we are in time, it will be included in TeX Live 2016) + + +============================================================== +LuaTeX Release 0.90.0 was released 2016032512 +============================================================== + +This is the version that will go on TeX Live 2016 + +- mostly small bug fixes +- a few setters/getters added to the pdf namespace (were in the tex one before) +- a few patches to the lua interface macros +- a bit more control over protrusion edges +- no fundamental changes + + + +============================================================== +Luatex Release 0.89.4 was released 2016031100 +============================================================== + +Intermediary release. Several bugs fixed. + + + +============================================================== +Luatex Release 0.89.2 was released 2016022700 +============================================================== + +Intermediary release. Several bugs fixed. + + +============================================================== +Luatex Release 0.89.0 was released 2016020500 +============================================================== + +No fundamental changes, just some fixes / improvements (and of course new bugglets). + +- New backend things: + \pdfvariable pkfixeddpi = integer % > 0 : use only default dpi (so one can do with one high res instance) + \pdfvariable ignoreunknownimages = integer % > 0 : ignore missing and inject something empty (to be used with care) + and one can do this: + \edef\foo{\pdfvariable foo} + \def \oof{foo} + \ifx\foo\oof don't fool me\fi + (side effect of no longer aborting on missing, so one implement a catch) + + + + +============================================================== +Luatex Release 0.88.0 was released 2016011500 +============================================================== + +This is a next step upto 0.90 and it has the following changes: + +- mostly small bug fixes + +- a few setters/getters added to the pdf namespace (were in the tex one before) + +- The current libraries under libs are now: + * poppler-0.40.0 + * mpfr-3.1.3 + * luajit-2.1.0-beta1 + * gmp-6.1.0 + * zziplib-0.13.62 + * zlib-1.2.8 + * lua52-5.2.4 + * pixman-0.32.8 + * libpng-1.6.21 + * cairo-1.14.6 + + + +============================================================== +Luatex beta-0.87.0 was released 2015121700 +============================================================== + + + +This is a next step upto 0.90 and it has the following changes: + +- image data is no longer stored in the format (it was fragile anyway) + +- pdf backend data generated when in ini mode is no longer stored in the format + +- (incomplete) \mag support removed from pdf backend (this functionality is + kept in dvi mode) + +- there are a couple of improvements that should make luatex run a little bit faster + (but of course that depends on the job at hand) + +- some further pending issues / cleanup has been done (but this is not reflected in the + interface) + +- there is a new primitive \nospace: + + \nospace=1 do now not inject glue for spaces (not even zero glue) + \nospace=2 inject zero glue for spaces + +- there are new primitives \hpack, \vpack and \tpack that are like \hbox, \vbox and + \vtop but they don't trigger callbacks + +- we no longer keep track of older math character and delimiter definition states, + but this should normally go unnoticed + +- from now on only ^^XX, ^^C, ^^^^XXXX and ^^^^^^XXXXXX are supported so no funny odd + values (three and five) + +- texio.setescape(0) disables escaping to terminal (a matter of taste) + +- the (current) lc codes are now saved with the (current) language when patterns are + loaded unless one hs used \hjcode instead of \lccode; overloading of \hjcodes is + possible (but of course goes ahead of hyphenation which is delayed till parbuilding or + packaging + +- active characters can now be set with: \letcharcode123=\foo (experimental) + +- there are some experimental new primitives but these will be described when they are + stable (currently being tested) + +- there is more backend error reporting and all error messages adn warnings (the non-tex + ones) have been normalized + +- of course there are the usual small fixes and additional setters and getters in libraries + (see manual) + + +============================================================== +Luatex beta-0.85.0 was released 2015111400 (5550) +============================================================== +-- roadmap + +The 0.85 release is has a lot of changes. It is the prelude to 0.90 which itself is +a prelude to the 0.95 that will go on texlive 2016. The 1.00 release will happen +around the 2016 context meeting. After that 2.* will become the next experimental +branch (leading to 3.*). The most important changes between 0.80 and 0.85 are mentioned +below. For more information consult the manual. + +-- the backend commands + +There is a better separation between front- and backend code. Some of the generic +\pdf* commands have been promoted to core primitives (with different names), some +have been removes like ximagecolordepth and ximagebbox have been removed and +all that are left have been organized differently. The backend is now more abstract +and provides three primitives only + + \pdfextension <keyword> <optional spec> + \pdfvariable <keyword> + \pdffeedback <keyword> + +The first replaces \pdfannot and alike, the second replaces the variables that can +be sused to control behaviour, and the third accesses the read only variables. See +luatex-pdf.tex in the context distribution for a plain definition file. + +The big advantage of the separation (basically core (lua)tex + extensions) is that +changes in the backend don't have consequences for the frontend and it's easier to +locate possible issues in the code. We might split a bit more at the lua end too. + +-- nodes + +The boundary, dir and localpar whatsits are now normal nodes. The xforms and ximage +whatsits are now a special kind of rule nodes (subtypes 1 and 2) and known as box- +and image resources (see manual). Also, empty rules are now a valid subtype (subtype +3) with related commands \nohrule and \novrule. + +At the lua end one can now access the fields of a spec subnode directly in the parent, +which has the benefit of more control and robust assignments (no need to check for +writeability) while we keep the concept of shared glue specs (tex internals). By +staying close to traditional TeX the Knuthian documentation still applies in most +cases. + +The pdf action nodes are now pdf_action whatsit nodes (so no longer a pseudo core +node). + +You can get the node subtypes with the node.subtypes function which adds a layer +of abstraction (foo.subtype = "string" might be added in the future). + +-- expansion + +The hz optimization already only supported level 2 optimization, but now has a variant +3 that does only stretch glyphs and not kerns. Pending is a change where we go back to +percentages instead of fractions of em. + +-- math + +The old/new codepath has been checked and italic correction which is fundamental +different between the engines has been (partially) redone. + +We now have \mathsurroundskip that replaces mathsurround when it's non zero. + +The \mathtoptions (old 1) directive can be used for testing. This primitive is mostly for +ourselves and used for development. + +The \Umathcharclass, \Umathcharfam and \Umathcharslot primitives can be used to fetch +properties of a math character. + +The new \Uleft, \Uright and \Umiddle fence operators accept "height <dimen>", "depth +<dimen>" and the "noaxis" keyword as well the "exact" keyword for non-fitting ones. There +is also \Uvextension. Optionally one can specify a 'class'. + +The \Udelimiter[under|over] and \U[under|over]delimiter primitives accept a width as well +as left, middle and right keywords (for non fitting ones). There is also \Uhextension. + +The \abovewithdelimiter command accepts 'exact' as keyword (before the dimension) which nils +the excessive spacing. The normal vgaps still apply. + +We have a new fraction primitive \Uskewed with a companion \Uskewedwithdelims. Optional +keywords are 'noaxis' and 'exact'. + +There is a new directive \mathdisplayskipmode (esp for controlling the > 0 below skip check). + +With \mathscriptsmode you can fix anchoring of scripts (as needed for chemistry). + +The \Umathaccent commands accept a width and fraction argument. + +-- hyhenation + +The discretionary command now accept an optional "penalty <number>" specification +where the penalty will be stored with the node. Default is hyphenpenalty. + +-- file io + +texio.write/write_nl now writes to file if the first argument is a (valid) number +reference to a file opened at the tex end; you can now open 128 files from the tex end +(0..127) and the system command is no longer executed with 18 + +-- lua interface + +The tex.<internal variable> is hopefully better now. The tex.get* also can handle +the built in registers. Especially prevdepth access should work out ok now. + +-- and ... + +As usual there are lots of small fixes, improvements, overhauls, small additions, +hopefully all mentioned in the manual. + +-- warning + +This version is probably not compatible with the macro package that you use as some +engine specific initializations need to take place (\pdf commands) and some node types +have been changed. We now have separated pdf backend commands and the only left +primitive categories are: core, (tex), etex and luatex, so no more pdftex, omega and +umath (where the distinction became to fuzzy). Of course you can still prefix. + + + +============================================================== +Luatex beta-0.81.0 was released 2015100722 (5350) +============================================================== + + + +* A couple of primitives are removed, renamed and/or promoted to core (luatex) primitives. +Here's a summary. It might demand some adaption in the way macro packages initialize so we will mention them here explicitly in advance. As shown below, a simple way to get backward compatibility is to \let old ones to new ones. So, + + Updating to this version also might demand an update in the + macro package that you use! + +Here we go: + +% removed, can be done with callbacks if needed, one can define dimen dummies, like + +\newdimen\pdfeachlineheight +\newdimen\pdfeachlinedepth +\newdimen\pdflastlinedepth +\newdimen\pdffirstlineheight +\newdimen\pdfignoreddimen + +% removed, were already obsolete, one can \let them + +\let\pdftexversion \luatexversion +\let\pdftexrevision\luatexrevision +\let\pdftexbanner \luatexbanner + +% promoted (from pdftex), so pdf prefix gone, one can \let them + +\let\pdfnormaldeviate \normaldeviate +\let\pdfuniformdeviate\uniformdeviate +\let\pdfsetrandomseed \setrandomseed +\let\pdfrandomseed \randomseed + +% promoted (from omega), so pdf prefix gone, one can \let them + +\let\pdfpagewidth \pagewidth +\let\pdfpageheight\pageheight + +% redundant (etex wins over omega), so \font-less ones gone, one can \let them + +\let\chardp\fontchardp +\let\charht\fontcharht +\let\charit\fontcharit +\let\charwd\fontcharwd + +% promoted (from aleph) + +\pagerightoffset +\pagebottomoffset + +% promoted (from pdftex) + +\ifincsname +\expanded +\quitvmode + +% removed (from pdftex), so *pdf* ones gone, one can \let them + +\let\ifpdfabsnum \ifabsnum +\let\ifpdfabsdim \ifabsdim +\let\ifpdfprimitive\ifprimitive +\let\pdfprimitive \primitive + +% promoted (from omega) + +\pagedir +\bodydir +\pardir +\textdir +\mathdir + +% promoted (from aleph) + +\boxdir + +% promoted (from pdftex) + +\lpcode +\rpcode +\efcode +\leftmarginkern +\rightmarginkern + +\tagcode +\letterspacefont + +% promoted (from pdftex), so *pdf* ones gone, one can \let them + +\let\pdfprotrudechars\protrudechars +\let\pdfadjustspacing\adjustspacing + +\let\pdfnoligatures \ignoreligaturesinfont +\let\pdffontexpand \expandglyphsinfont + +% promoted (from pdftex), so *pdf* ones gone, one can \let them + +\let\pdfsavepos \savepos +\let\pdflastxpos\lastxpos +\let\pdflastypos\lastypos + +% on the todo list are: + +\pdfoutput : \outputmode +\pdfmatrix : will get a normal syntax, no weird { } parsing + +\pdfcolorstackinit : might become obsolete +\pdfcolorstack : might become obsolete + +So, apart from a few, the \pdf* primitives now relate to the backend only. + +% There is also a new primitive: + +\hyphenationmin + +This one determines the minimum word length (per language). + At the same time we moved the (ex)hyphenpenalties +in the disc nodes so you can inject discretionaries with specific penalties. + +There will also be an updated manual. +Hans + + +* new epdf.openMemStream(s,l,docid) +to create a pdf from a lightuserdata or string. +(experimental, do not use in production.) + +* uniform random generator in mplib is now specific for each numbersystem; + +* too_precise implemented for binary number system; + +* several bug fixes. + + +============================================================== +Luatex beta-0.80.0 was released 20150319 (5195) +============================================================== + +* New library newtokenlib. It will replace the current token lib. +* Fixed a bug on the normal random generator for double/decimal/binary + number systems. +* Several others bugs fixed. + + +============================================================== +Luatex beta-0.79.3.1 was released 20150122 (5140) +============================================================== + +* Fixed a bug in mp.w with a wrong input that gives a seg. fault. + + + +============================================================== +Luatex beta-0.79.3 was released 20150121 (5130) +============================================================== + + +* It's now possible with the MinGW compilers to build luatex and luajittex as DLL + for Windows 32bit/64bit. The files are: + libkpathsea-6.dll luajittex.exe luatex.exe texlua52.dll texluajit.dll + In the next release the build.sh script be updated; for the moment just add + "--enable-shared -disable-native-texlive-build " after --disable-all-pkgs + in TL_MAKE. + Building as DLL was tested only for Windows. + +* When possibile symbols in the exe are now hidden: + this should avoid conflicts with the loading of dynamic shared object. + +* several bugfixes and improvements. The patches for MetaPost + fix seg. faults occourred with wrong inputs. + The functions: + mp_get_numeric_value, mp_get_string_value, mp_get_boolean_value + works if the value is a variable (i.e. not an internal variable, + a loop variable and a macro argument); + only mp_get_numeric_value now has support for loop variable + and internal variable (but still not for macro arguments). + + +============================================================== +Luatex beta-0.79.2 was released 20141111 (5082) +============================================================== + + +* WARNING: the structure of the format file is changed. + After the Web2C \TeX's magic constant: "W2TX" there is now + a FORMAT_ID, a 32bit field that cannot be between 0 and 256 (included) + so that there are no conflicts with the preexisting structure + of the format. + The value can be seen with --debug-format and currently is + 907 (the sum of the values of the bytes of the ASCII string "don knuth"). + +* There is a new set of lua functions for StructElement and Attribute, + convenient (even if not indispensable) for tagged pdf. + + +* several bugfixes and improvements. + + +============================================================== +Luatex beta-0.79.0 was released 20140328 (4960) +============================================================== + +* The luafontloader now returns 'tsidebearing' glyph values + for OT/TT fonts, if applicable. + +* new lua variables: stats.luatex_hashtype, stats.luatex_hashchars, + stats.lastluaerrorstring; the luajittex string hash method is now + lua 5.1 compliant which gives better results for similar strings + +* new lua functions: tex.init_rand(), tex.uniform_rand(), + tex.normal_rand(), tex.lua_math_randomseed(), tex.lua_math_random(), + tex.show_context(); these helpers make luatex and luajittex compatible + +* In the lua node interface, there were often issues with rubbish + in (especially) 'prev' fields because luatex itself never looks + at those values. This is now cleaned up to prevent weird stuff + happening inside lua node processing code. + +* pdf.pageattributes, pdf.pagesattributes, pdf.info, pdf.catalog, + pdf.names and pdf.trailer now behave consistent and can be used + to add these properties at the lua end in addition to their \pdf* + counterparts atthe tex end; there are now pdf.get* and pdf.set* + commands for them too (in future versions the old ways can become + obsolete) + +* new accessors pdf.geth, pdfgetv, pdfgetpos, getgetmatrix as well + as pdfhasmatrix helpers (in future versions the direct pdf.h and + pdf.v accessor can become obsolete) + +* the pdf.pdf* variables have been removed (they were already + obsolete for some years) + +* a new properties mechanism for associating lua tables with nodes + that get cleaned up when nodes a freed (see manual for details) + +* several improvements to the way temporary (backend) data is stored + at the lua end (better protection, more consistent) + +* a 'l' type for user nodes that holds a lua variable (can be set + at the lua end) + +* if a late lua node is set at the lua end the string value can be + a function as well which is then executed during serialization to + the backend stream + +* Various small speedups + +* Various smallish fixes to the node direct interface + +* LPeg is now at version 0.12 + +* Some small fixes to the CFF (font) parsing + +* Font file inclusion reporting messages on the terminal now + comply to the texconfig.trace_file_names setting + +* Removed some of the additional luafontloader.info() return + information that was added in 0.78.2, but could not work + properly. + +* new primitive \luafunction (see manual), with associated + lua.get_functions_table() function + +* lua error message reporting has been altered a bit to make + the distinction between \directlua and other lua source code + sources clearer + +* Additional pdf document data functionality in the 'pdf' table + has been cleaned up internally + +* Additional pdf destination names can now be set via lua. + +* New callbacks: finish_pdfpage, show_error_message, + show_lua_error_hook, start_file, stop_file + +* Handling of \tracinglostchars is fixed + +* Embedded metapost library version is now 1.900 + +* luajittex is now included in the distribution. One can use + buildjit.sh to build both luatex and luajittex, where + supported by the platform + +* Synchronization with the TeXLive sources updated the following + libraries: + * libpng is now 1.6.10 + * poppler is now 0.25.2 + +============================================================== +Luatex beta-0.78.2 was released 20140113 (4748) +============================================================== + +* Extended luafontloader's info() function to include data + from the 'pfminfo' and 'names' structure. + +* Fixed a bug in the luafontloader library that made loading + some fonts extremely slow (LastResort.ttf) + +* Removed a recent extension in the luafontloader library that + made loading fonts with lots of glyphs slow (ArialUnicoce.ttf). + Note: the extension made sure that there were no duplicate + glyph names in the font after loading. + +* Restored --recorder output for lua files (dofile/loadfile/io.open) + +* One-at-a-time pattern adding from lua used to require enormous + amounts of memory + +* luatex's fontloader.to_table() no longer reports 'altuni' table + information for alternates that are solely driven by the font + encoding. This fixes loading time issues for fonts that fill + encodings by copying a single glyph many times, like e.g. + LastResort.ttf from Apple. + +* The datestamp no longer appears in any banners. The associated + \luatexdatestamp primitive is deprecated and will be removed + in 0.80.0. + +* Synchronization with the TeXLive sources updated the following + libraries: + * cairo is now 1.12.16 + * pixman is now 0.32.4 + * lua is now 5.2.3 + * zlib is now 1.2.8 + * poppler is now 0.25.0 + +* That same TL synchronization also fixes these issues: + * Always write "\nendstream" to the PDF for PDF/A-1b compliance. + * Large file support (>4GB) in Lua + * Big images could overflow on systems where sizeof(long)=4. + * In writing CID CFF fonts to the PDF, and end_dict() was missing. + * Unknown 'post' table versions (found in some broken ttf/otf + fonts) are now treated as-if they specified version 3.0. + * Fix crashes on 32-bit systems caused by bad C header inclusion + order + * Handle '--luac' and '--luaconly' properly + * luatex is now released under GPLv2+, not just GPLv2. + * luatex can now find .ofm metric files even if the extension + is not given explicitly. + +* node.unset_attribute() was broken in 0.78.0 + +* The UTF-8 commandline patch from 0.78.0 for Win32 was removed + again (did not work properly) + +============================================================== +Luatex beta-0.78.0 was released 20131231 +============================================================== + +* Instead of using expanded fonts, just calculate the expanded + width of glyphs where needed, and carry expand info in the + glyph nodes (all based on Hans' suggestions). All font expansion + functions are disabled and most are removed. + +* New, faster (but limited) direct node access from lua, see + the manual for details + +* Support for Apple Advanced Typography (AAT) information in + fonts is dropped + +* Extended build script for mingw/msys (includes 64-bit support) + +* Various patches from/via Akira Kakuta for better Win32 + integration + +* Fixes for some bugs in de pdfscanner library (mostly related + to inline images) + +* Maximum hyphenated word length is now 64Kb characters. + +* Various patches from Khaled Hosny and Luigi Scarso for the + luafontloader subsystem + +* Fix for a crash when re-dumping formats + +* Fix for a Selene unicode library bug where some characters in + UTF-8 were incorrectly flagged as having the 'Space' property + +* Some smaller fixes + +============================================================== +Luatex beta-0.76.0 was released 20130405 +============================================================== + +* Metapost 1.801. + +* Small patches from TeXLive 2013, as well as an update to the + latest libraries (libpng, poppler, etc.) + +* Speed up printing (of TeX strings) to the terminal and log. + +* New lua function node.end_of_math(). + +* Fixed a memory leak in the lua function pdfscanner.scan(). + +============================================================== +Luatex beta-0.75.0 was released 20130301 +============================================================== + +News: + +* New expandable primitive \Uchar. + +* Metapost 1.790. + +* New version of lnodelib.c with speedups by Hans and Luigi. + Also added some extra sanity checks to the Lua node field + setting functions. + +* Support 'umath' in tex.extraprimitives(), so that formats can + make the \Umath* primitives unprefixed, now that they will be + provided by XeTeX as well. + +* Removed a bunch of deprecated primitives + * \AlephVersion, \Alephrevision, \Alephversion, \Alephminorversion + * \OmegaVersion, \Omegarevision, \Omegaversion, \Omegaminorversion + * \omathcode, \odelcode, \omathchardef, \omathchar, \omathaccent, + \odelimiter, \oradical + * \Umathbotaccent, \Umathaccents + +* Fix large file support. + +* Fix Lua's loadfile(). + +* Removed the cidmap callbacks again (let that be done by user lua + code after the fact). + +* Removed the fatal error on fonts where num_glyphs is too high, + as that problem is actually harmless. + +* Some compilation issues under Win32 and Solaris resolved. + +* Allow math extender objects to be zero width. + +* The 'epdf' library has been extended to deal with finding and + saving embedded files (catalog:numEmbeddedFiles() and catalog: + embeddedFile, new EmbFile object). + +============================================================== +Luatex beta-0.74.0 was released 20121224 +============================================================== + +News: + +* lua 5.2 + There are no patches to the core Lua files; a future version + of luatex will switch to loading the regular lua 5.2 dynamic + library instead of depending on a statically compiled + one. + +* A bleeding-edge version of luasocket is included, as there + is no 5.2-compatible official release yet. + +* A new lua extension is the two-argument version of + string.dump from Luajit: + + string.dump(function f, [boolean strip]) + +* mpost 1.780 + +* The implied existence of the following lua libraries is now + deprecated: + + debug, unicode.*, luazip, lfs, lpeg, zlib, gzip, md5, + socket.*, profiler, epdf, fontloader, mplib, and + pdfscanner. + + Future versions of luatex will load these modules on demand + from dynamic libraries. + + Please update your sources to include a 'require' line for + each of the library modules mentioned. + +* Two new callbacks: find_cidmap_file and load_cidmap_file + (used by the fontloader to discover .cidmaps) + +============================================================== +Luatex beta-0.72.0 was released 20121210 +============================================================== + +News: + +* update various used libraries, including mplib 1.770, + poppler 0.21, libpng 1.5, and lpeg 0.10.2. + +* new 'pdfscanner' lua library. + +* various OpenType math fixes, including \Umathcharnumdef. + +* improved placement of bottom accents. + +* various other small fixes that have accumulated over the past + year-and-a-half. + +============================================================== +Luatex beta-0.70.1 was released 20110519 +============================================================== + +News: + +* fixed: recorder file location from TL (Akira). + +* fixed: missing newline on 'No output' line. + +* fixed: relative names in synctex file. + +* fixed: 16bit png images in generated %!PDF-1.4. + +* fixed: building with (installed) libpng < 1.5.0 + +* fixed: year in --version output. + +* fixed: box output to synctex. + +* fixed: FontDescriptor for non-embedded OpenType fonts has an + invalid FontFile3 entry (#654) + +* fixed: crash on non-existent images. + +* fixed: small memory leak in the ipc code. + +* fixed: tex.print() and tex.sprint() don't recognize -2 as the + first argument (#659) + +============================================================== +Luatex beta-0.70.0 was released 20110506 +============================================================== + +News: + +* fixed: various changes needed for libpng 1.5.2. + +* fixed: node.fields() for nodes without subtype. + +* fixed: non-argument use of os.execute(). + +* fixed: tex.[s|t|]print() with invalid catcode table arguments. + +* fixed: recorder filename location with --output-directory. + +* fixed: display alignment in TRT mode. + +* luatex now uses the standard synctex files from Jrome Laurens. + + +============================================================== +Luatex beta-0.66.0 was released 20110412 +============================================================== + +News: + +* fixed: linebreak_filter doesn't do its default job when + tex.linebreak is used + +* fixed: \escapechar ignored by \meaning + +* fixed: wrong px default + +* fixed: font kern attribute inheritance + +* fixed: "nop" unrecognized in virtual fonts + +* fixed: assertion failure in dviluatex when font ptmr8t used + +* fixed: tex.settoks for with strings with embedded zeroes + +* fixed: an indexing problem with nonexistent font glyphs + +* fixed: some crashes and other bugs on the 'subtype' and 'prev' + fields (not all node types have those fields) + +* fixed: crash on token.csname_id ("") + +* fixed: initialize the statically allocated node's type ids + +* fixed: fencepost error in math parameter counting + +* fixed: math family numbers > 255 are allowed + +* fixed: compilation failure on Hurd + +* fixed: a small bug leading to displacements when reading + the AccentTop table + +* fixed: \directlua followed by \pdfximage generates error if + draft mode is active + +* fixed: a problem with \vadjust pre in alignments + +* fixed: a lua stack growing problem in the backend in 0.65.0, + resulting in an inability to create more than a few thousand + generated pages + +* fixed: inclusion of Scribus-generated pdfs + +* adapt: the default form margin is now zero (was 1bp before) + +* adapt: libpng 1.4.4, zzuplib 0.13.60, mplib 1.504 + +* adapt: small changes to the build system and new imports from + the texlive repository + +* feature: new function node.currentattr() queries the current + active attribute list + +* feature: Lua font loading; ignore unknown enumeration keys in + MathConstants + +* feature: JPEG 2000 image support + +* feature: continuing work on the 'epdf' library + +* doc: the 'epdf' lua library is now documented + +* doc: various other manual corrections + + +============================================================== +Luatex beta-0.65.0 was released 20101213 +============================================================== + +News: + +* The Aleph and Omega version primitives are deprecated. + +* The Apple Snow Leopard Truetype font collections now work + properly. + +* Libpng has been updated to 1.4.4, and zlib to 1.2.5. + +* New lua functions node.next() and node.prev(). + +* The already deprecated for some time node.protrusion_skipable() + function has been removed. + +* fontloader.apply_featurefile() and fontloader.apply_afmfile() + now return nil,<errortable> on failure. + +* The various node list fields in the lua node interface have + been renamed from 'list' to 'head', e.g. tex.box[0].head, + and the 'list' name is deprecated. For now, the deprecation + is silent, as 'list' will stay for quite some time. Please + update your lua source as soon as possible, though. + +* The call node.type(<node>) now returns "node". The existing + functionality is otherwise unchanged. + +* Luafilesystem has been updated to 1.5.0. NOTE: there is an + incompatible change in the directory iterator method. + +* The restriction on linebreak_filter has been eased: at least one + horizontal box should be returned, but that is not necessarily + the last node any more. + +* Backward compatibility has been restored for \meaning\mathchar + +* node.first_character() has been renamed to node.first_glyph() + to better match its actual functionality. + +* The \Umathaccent primitive now supports both/bottom keywords, + and \Umathbotaccent / \Umathaccents are now deprecated. + +* The \Umathaccent primitive now also supports the fixed keyword, + which supports non-growing math accents even if the font says + there are extensible variants. + +* Ongoing work on the epdf library. + +Bugfixes: + +* Assignment to \dimen65535 was broken earlier. + +* <box>.head.prev is now always initialized to null (0). + +* luatex -lua=<script> '\relax' no longer exits immediately, + instead going into interactive mode as it should. + +* The \jobname was initialized wrongly for input file names + with multiple dots in them. + +* The synctex file is now written in the right place when + --output-directory is given. + +* \letterspacefont could cause crashes, especially when combined + with font expansion. + +* Luatex would crash on linux32 systems if it was build in an + environment where LFS (>2GB files) was enabled by default. + +* Node lists created by node.copy_list() could not be hyphenated + due to an assertion error. + +* Synctex support was partially broken since 0.60.0. + +* With OpenType math fonts, accents with multiple parts + (like the \vec arrow) forgot to include all parts if the + accentee was too narrow. + +* With OpenType math fonts, accents over any class except 0 and 7 + were misplaced. + +* kpse.lookup("plain", {all = true}) was broken in kpathsea + itself (no extension given as well as --all specified). + +* A FontForge bug made Cambria Math accents look bad, and the + placement of math top accents did not allow a marker at the + origin (patches by Stefan Philipp) + +* Cut&Paste from PDF was sometimes broken due to bad ToUnicode map. + +* Many small manual improvements (thanks to Paul Isambert) + +* An other bugfix to lpeg 0.9 (from Roberto Ierusalimsky) + +* Some small fixes to writet1.w (from Han The Thanh) + +* A build failure because of bad libz configuration on Win32 + +============================================================== +Luatex beta-0.64.0 was released 20101112 +============================================================== + +News: + +* New lua functions pdf.refobj(), pdf.maxobjnum() and pdf.objtype() + +* New lua function node.is_node() + +* The max_strings configuration variable's maximum value is + raised to be identical to texlive's maximum (2097151), and + same for param_size (32767). + +* The embedded mplib is now 1.503. + +* Minor cleanups in the output of fontloader.to_table(): + + - removed out-of-range altuni's from the output + - don't dump the extra encodings, just the actual font encoding + - export the encoding's name also as 'enc_name' at one level up + - no longer exporting unset macstyles, nor zero uniqueids + - fix creationtime and modification time + +* Ongoing work on the epdf library + +Bugfixes: + +* Fix a bug where an explicit hyphen prevented hyphenation for the + whole rest of the paragraph + +* Internal font copying forgot to copy the last font dimen + +* os.selfdir() is now documented + +* patch quad (\fontdimen6) in \letterspacefont to be compatible + with pdftex + +* Multi-page pdf inclusion was very slow in 0.63.0 + +* Some extra checks added to the handling of glue_spec node + objects in lua code. + +* Some node.prev pointers have been corrected (but this is not + quite finished). + +* A small fix to lpeg 0.9. + + +============================================================== +Luatex beta-0.63.0 was released 20100909 +============================================================== + +News: + +* Drop tex.ht[], tex.wd[], tex.dp[]. + +* Drop OCP support (and associated primitives). + +* Add tex.catcode[], tex.lccode[], tex.sfcode[], tex.uccode[], + tex.mathcode[] and tex.delcode[] and associated functions. + +* Add CIDset tables to the output pdf where appropriate. + +* Added a 'string' field to late_lua nodes on the lua side. This + field does not convert the assigned string to a tokenlist. + +* The result of fontloader.open() now has some virtual accessors + (as well as fontloader.to_table). + +* There is now a `short reference' in the manual folder + (functionref.pdf) + +Bugfixes: + +* Fix a crash on an empty font (bugreport #468). + +* Fix a crash for extremely long pattern arguments. + +* Fix a crash on bad virtual character arguments in lua. + +* Fix hyphenation exceptions. + +* Prevent linebreak between initial local_par paragraph whatsit + and a following skip (bugreport #437). + +* Fix placement of scripts on textstyle big operators in MATH + fonts (bugreport #466). + +* Fix a crash on the return value of MPlib's 'postscript' + operation on images. + +* Fix a crash on \leftghost & \rightghost in math mode. + +============================================================== +Luatex beta-0.62.0 was released 20100823 +============================================================== + +News: + +* LuaTeX now uses libpoppler (0.12.4) instead of xpdf. + +* All backend functions now report what file they were searching + for whenever a file cannot be found. + +* Input-ed lua files are now mentioned in the fls file if + the --recorder switch is specified on the command line. + +* Paragraph indentation hlist nodes and hlist and vlist nodes + generated by alignment rows and cells now have a subtype + (3 for indent box, 4 for rows/columns, 5 for cells). + +* The 'epdf' lib is in active development and still growing. + +* The 'fontforge' table is finally removed (was deprecated + since 0.40). + +Bugfixes: + +* A new mplib import fixes two bad bugs in mplib: + - string equality test was wrong + - type declarations could delete pre-existing variables + +* PNG images with transparency could create random size + differences in the generated PDF. + +* In some special cases, font expansion could cause wrong + spacing in the generated PDF. + +* \letterspacefont was broken since a very long time. + +* The node subtype of the \leftskip and \rightskip glues was + wrong. + +* Some memory leaks have been removed. + +* Various manual fixes. + +============================================================== +Luatex beta-0.61.0 was released 20100728 +============================================================== + +New features: + +* New lua library 'epdf' for introspection of PDF inclusions, + see the manual for details. + +* Mplib version 1.502 is now included (which is still beta, + so be careful). + +* new "finish_pdffile" and "pre_dump" callbacks. + +* new function pdf.pageref() + +* In the lua 'tex' library: assignment to internal glue + parameters is now allowed. + +* New lua function tex.error(). + +Bugfixes: + +* Fix for crashes on fonts with bad Panose values. + +* Fix for a box placement bug that could sometimes cause text + to overlap. + +* Fix for a few small PDF/A1-a compatibility bugs. + +* Fix \letterspacefont. + +* Fix \Ustopdisplaymath in combination with aligned displays. + +* In math delimiters, the last of a chain of predefined sizes + was always ignored if there were also extensible parts. + +============================================================== +Luatex beta-0.60.2 was released 20100701 +============================================================== + +Bugfixes: + +* Various small portability fixes, especially for non-gcc + compilers. + +* Updated synctex from Jerome Laurens. + +* fix bug #406: \pdfliteral hinders hyphenation. + +* fix pdf overprinting bug (related to \pdfliteral). + +* patch from Akira Kakuto that ensures that only absolute commands +that are inside the %PATH% will be executed in win32's restricted +\write18 + +* fix a buffer overflow in luafontloader. + +* fix cross-platform share-ability of generated formats. + +* fix a few typos in the manual. + +* fix trashing of the null glue spec by attribute reference code. + +* documented the deprecated state and brokenness of otp processing. + + +============================================================== +Luatex beta-0.60.1 was released 20100428 +============================================================== + +New features: + +* renamed node.skipable() to node.skippable(). + +* More git discovery patches in getluatexsvnversion.sh. + +* Added --warnings=[no|min|yes|max|all] option to build.sh. + +* While cross-compiling, build.sh now adds an extra linker switch + to allow win32 exes to use 3G instead of 2G of virtual memory. + +Bugfixes: + +* os.exec() & os.spawn() handled the environment differently from + os.execute() on Win32 (patch from Tomek) + +* Builds with --enable-ipc were broken. + +* Assigning and acquiring \fontdimen s from TeX code was broken. + +* An initial attempt at fixing bug #372 (\predisplaydirection). + +* An attempt to fix \eqno/\leqno placements in mixed direction + \mathdir/\textdir. + +* Our local xpdf patch is reverted, it is not needed any more. + +* The os.selfdir variable was not documented, as well as broken + on WIN32. + +* Fix "\input tikz hello \bye" bug, plus fix one sign error. + +* Fix handling of lua script files with UNC names. + +============================================================== +Luatex beta-0.60.0 was released 20100404 +============================================================== + +New features: + +* os.name now knows about CYGWIN (from Elie Roux) + +* Internal handling of direction specifiers is faster now. + +* Each glyph node now has three new virtual read-only fields: + width, height, and depth (values in scaled points, of course) + +* There are new functions node.protrusion_skipable() and + tex.badness() (useful for paragraph breaking in lua) + +* Also new: tex.linebreak(). See the manual for details. + +* All lua errors now report file and line numbers to aid in + debugging. + +* Import of metapost 1.211. + +* pdf.pdfcatalog will be replaced soon by the new pdf.catalog + pdf.pdfinfo will be replaced soon by the new pdf.info + pdf.pdfnames will be replaced soon by the new pdf.names + pdf.pdftrailer will be replaced soon by the new pdf.trailer + +* pdf.pdfmapfile and pdf.pdfmapline are replaced by the new + pdf.mapfile() and pdf.mapline() functions. (a function interface + fits these parameters better because they never return anything). + +* New read-write lua variables: pdf.pageattributes, pdf.pageresources, + pdf.pagesresources + +* getluatexsvnversion.sh now correctly detects git-svn and still + manages to find a valid SVN revision number (from Patrick Gundlach) + +* Many of the source files have been converted to CWEB. + +Bug fixes: + +* GNU libtool is now used to solve the various technical issues with + dynamic loading of lua modules. + +* Error detection in scan_integer_part was wrong due to missing + initialization of OK_so_far (spotted by Javier Mugica) + +* Synctex was broken in 0.51-0.52. + +* \lastlinefit was broken since ... well, nearly forever. + +* Reading of binary files with length zero was broken. + +* Trapping of unitialized rules (this was for sloppily created + rule nodes from lua) + +* pdf.immediateobj('streamfile') was broken on 64-bit platforms. + +* tex.linebreak did not take the given left and right skip, but + instead used the current TeX-side values (bug #356). + +* the found 'MAKE' command in build.sh is now fed into configure to fix + problems with that not finding GNU make even when it is actually + installed. + +* dofile(<nil>) and loadfile(<nil>) in batch mode now give an + error and continue instead of pointlessly waiting for user input. + +* Reverted commit #3417 (the buildpage experiment) as it causes bad + things to happen when items are waiting during page breaks. + +* Overrule loaders[4] in --safer mode, make require() behave + closer to normal lua 5.1, and add some nicer error messages + (based on an email and patches from Manuel Pegourie-Gonnard) + +* Added an extra sanity check for GDEF loading in luafontloader, + based on a crash caused by Linux' AkaashNormal.ttf. + + +============================================================== +Luatex beta-0.52.0 was released 20100316 +============================================================== + +New features: + +* Various small manual improvements. + +* A better version of getluatexsvnversion.sh, from Tomek. + +* node.copy_list() now allows the second (optional) argument to + be nil. + +* An import of the current state of the texlive repository + (kpathsea and build system). + +Bug fixes: + +* An attempt fix for bug #345 (math kerning is not perfect): when the + current math font is a new math font, check against \catcode <cur_c> + == 11 to suppress the italic correction, instead of looking at + the value of space(<cur_f>). + +* There is a new <tfmtable> key: 'units_per_em' (defaults to 0). + This is part of a fix for bug #200 (Problem with CFF fonts having + em-size other than 1000): there is a special correction to the + embedded cff font itself and the font scale if the font to be output + is opentype or type1 in unicode encoding and the 'units_per_em + differs' from zero. + <tfmtable>.units_per_em has to be passed back to luatex from + the lua font loading code for this to work. + +* A fix for bug #314 (problem with pk file). + +* lua code can no longer change the internal preallocated glue_spec + nodes (as that resulted in weird spacing bugs). For this, glue_specs + now have a new field: 'writable'. If that field is false, a copy + has to be made of the glue_spec instead of doing an assignment + to it. + +* Setting of \textdir inside the output routine could trash output + on following pages due to a lingering internal variable. + +* \pdfthread crashed because the arguments were handled in reverse + order. + +============================================================== +Luatex beta-0.51.0 was released 20100312 +============================================================== + +New features: + +* Various small manual improvements. +* The backend message "cannot open Type 1 font file for reading" + now reports which Type1 font it was looking for. +* Fontforge clears some font names at loading time that will be + refilled in at font generation time, but the fontloader should not + do that. Patch from Khaled Hosny. +* New synctex code imported from TeXLive. +* luamd5/md5.h is renamed to luamd5/luamd5.h to avoid confusion. +* Embedded mplib is now 1.209. +* Some experimental tweaking of buildpage_filter, see the manual + for details. +* Luatex now detects kfreebsd (from Alan Braslau) +* The new lua function tex.sp() converts a string to a number + representing scaled points. +* There is now support for revision numbers in the banner and stats + library again. +* The command line help and manual documentation page is extended. +* node.hpack() now also accepts "cal_expand_ratio" and "subst_ex_font" + modifiers. +* node.hpack() and node.vpack() now give back the badness of the box + as second return value. +* node.copy_list() now allows a second (stop) argument, this stopper + is not copied. +* new lua functions in lfs: lfs.readlink() and lfs.shortname(). +* new lua function tex.tprint() that can combine multiple catcode + regime prints in one function call. +* new lua sub-table: tex.nest[] (read/write access to the semantic + nest state). +* New lua functions in kpse: kpse.lookup() and kpse.version(). See + the manual for more details. +* New lua function tex.shipout(). + +Bug fixes: + +* There problems in the pdf output for Type3 (pk) fonts. +* Fix a bug that allowed bad commandline quoting. +* Fix a bug that sometimes caused crashes when \pdfprotrudechars. +* The build script now exports CONFIG_SHELL to avoid problems with + /bin/dash. +* The was a bug in the generated /Image /ProcSet. +* status.font_bytes reported the wrong value. +* Lots of compiler warnings are removed (thanks Javier Mugica). +* Patch to fontloader.info() to accept filenames with embedded + parentheses. +* Fix a \write error with docstrip package. +* Fixed a crash on AdobeMyungjoStd-Medium.otf. +* Fix coco stack overflows, needed for lpeg. +* \pdfcompresslevel wasn't initialized for early immediate objects. +* Fix for slanted fonts when HZ was on (slant angle was multiplied). +* When concatenating content streams, put a space between them. +* Allow pfb lines to end with \r as well as \n (for msam10.pfb). +* Fix the internal string->scaled point conversion in the lua + interface. +* Memory leaks in the fontloader removed, thanks to patches from + Elie Roux. +* Fix a crash caused by the combination of coroutines and font.each(). + +Removed features: + +* Support for Type3 .pgc files (nobody used them). + +============================================================== +Luatex beta-0.50.0 was released 20091224 +============================================================== + +New features: + +* Fonts now listen also to the 'extend' key in the lua font + metrics table, and the processing for this is done via de + pdf text matrix instead of via the font matrix, which means + it now works for all font types. + +* The embedded Metapost library is now at version 1.209. + +Dropped features: + +* It is no longer possible for fonts from embedded pdf files + to be replaced by / merged with the document fonts of the + enveloping pdf. This regression may be temporary, depending + on how the rewritten font backend will look after beta 0.60. + +Bug fixes: + +* Use of \middle confused the \mathstyle operation. + +* \pdfcolorstack handling was broken. + +* node.unset_attribute() had a bug whereby it inverted the + requested result in some cases (the node on which the unset + was called was sometimes the only node at the current level + that *kept* the attribute). + +* During font expansion, the internal font copy had one character + information object less than the original, resulting in the + disappearance of a glyph in some fonts when font expansion + was active. + +* Placement of operator scripts of OT MATH fonts is adjusted + to be conformant with Word's logic where the italic correction + is only used to tuck in the subscript and for nothing else. + +* luafontloader.open() no longer writes directly to stderr in + case of internal font errors. + +* Any <pdf_refobj_node>.objnum could not be assigned to. + +* The lua 'pdf' table could not be assigned to. + +* The lua 'md5' library was returning incorrect results on + 64-bit architectures. + +* Luatex now compiles on GNU Hurd systems. + +* Fix segfault when embedding stream file object (these + backend segfaults were a side-effect of the string pool + patches). + +============================================================== +Luatex beta-0.47.0 was released 20091218 +============================================================== + +New features: + +* New read-write lua variables pdf.pdfcatalog, pdf.pdfnames, + pdf.pdfinfo, pdf.pdftrailer + +* The horizontal mode nodes that are added to lines during line + breaking now inherit the attributes from the first and last node + inside the created line. + +* The new function pdf.registerannot(<number>) registers an + annotation object number to be included in the current + page's /Annots list. + +* The variables <metrics>.Mathconstants.FractionDelimiterSize + and <metrics>.Mathconstants.FractionDelimiterDisplayStyleSize + are added to the font table. This allows proper setting of the + size parameters for TeX's ...withdelims math primitives. + +* The internal representation of the string pool is reorganized + (the pool of string characters is now allocated dynamically), + and as a side-effect the lua variable status.init_pool_ptr + is deprecated and will be removed in a later version. Also, + status.pool_ptr now simply returns the current number of bytes + in use for string characters. + +* There are new lua variables pdf.pdfmapline and pdf.pdfmapfile + (write-only strings that mimic \pdfmapline and \pdfmapfile). + +* \pdfobj data and attribute are now stored as C strings instead + of as token lists (this should speed up cases with a lot of data). + +* Artificially slanted fonts now work via the pdf text matrix + (instead of adjusting the actual font) so that it now also + works for non-Type1 fonts. The lua <metrics>.slant font key is + now obeyed in all cases. + +* The lua function font.id(<string>) returns the internal font id + number belonging to a control sequence name. + +* Pdf image inclusion is optimized such that objects from an + external pdf will now be included only once even if they are + referenced from multiple inclusions. + +Bug fixes: + +* Protrusion for non-TLT documents did not work properly for + the hyphenation character. + +* \lastbox could not remove the paragraph indent box for non-TLT + documents. + +* Pdf images (\pdfximage) are no longer kept open during the + whole run, but closed and reopened. An error is raised if + the file has changed between \pdfximage and \pdfrefximage. + This prevents the 'too many open files' error when lots of + images are included. + +* On Win32 Pdf image files are locked during the time that it is + open, to prevent unnoticed file changes by external sources. + +* Compilation now again works on FreeBSD. + +* Format sharing between 32-bit and 64-bit architectures was + broken. + +* Unsetting attributes from lua could sometimes result in + the unset state persisting beyond the current group level. + +* If something went wrong in the scanning of pdf action items, + the error message reported the current primitive name + incorrectly. + +* Luatex would crash on non-existant pdfs that were referenced + from map file entries. + +============================================================== +Luatex beta-0.46.0 was released 20091126 +============================================================== + +New features: + +* The build.sh script now has better support for new MacOSX-es + (patch from Mojca). + +* Luatex now has experimental support for dynamic loading of + external compiled lua libraries. Building luatex and loading + external .so/.dll files is reported to work on Windows, + linux and osx, other platforms are still unknown. + +* pdf.obj{type="stream"} no longer converts its argument to and + from a tokenlist. This allows the use of binary data in the + "string" argument. Such data does still have to hidden from + the normal file parser by putting the code in a dofile() + or by using string.char(), though. + +Bug fixes: + +* Luatex 0.45.0 was not able to find truetype nor opentype fonts + if there were no callbacks defined (patch from Pawel). + +* 0.45.0 printed the user input instead of the full pathname + for \input-ed tex files. + +* The TFM reader now rejects fonts with tfm names that are + longer than 255 characters because such font names cannot + be stored in a DVI file. + +* The combination of \immediate\pdfxform followed by a later + \pdfrefxform could cause broken pdf output files because + the box used for the form could have been freed and even + reused already at that moment in time, sometimes resulting + in an invalid transformation matrix. + +* The placement of super- and subscripts for displaystyle + \int's in CambriaMath is now better than before. It still + needs a tweak to the metrics though: in the current version, + the italic correction has to be substracted from the width + of the integral sign to get correct placement (context mkiv + does this). to be continued ... + +============================================================== +Luatex beta-0.45.0 was released 20091118 +============================================================== + +New features: + +* Loading big OTF fonts via lua is now much faster than before, + at the expense of a bit of precision loss in the calculated + bounding boxes. + +* Two new token lists are provided: \pdfxformresources and + \pdfxformattr, as an alternative to \pdfxform keywords. + +* \input and \openin now accept braced filenames. + +* The \endlinechar can now be set to any value between 0 and 127. + +* Luatex can now optionally use kpathsea to find lua require() + files. + +* The new primitives \aligntab and \alignmark are aliases for + the use of & and # in alignments. + +* \pdfrefximage [width <dimen>] [height <dimen>] [depth <dimen>] <imageref> + overrules settings from \pdfximage for this \pdfrefximage call only + +* The print precision for small numbers in lua code (tostring) + has been improved. + +* Akira Kakuto suppled a patch that restricts writing to files + with names such as latex.bat etc. (on windows only) + +* (un-feature): from now on luatex now only handles 4 direction + specifiers: TLT (latin), TRT (arabic), RTT (cjk), and LTL + (mongolian). The other directions now generate an error. + +* (un-feature): xpdf's automatic lower- and uppercasing retry attempts + for nonfound image pdf files has been removed. + +* The callbacks hpack_filter, vpack_filter and pre_output_filter + pass on an extra string argument for the direction, when known + (nil == use default). + +* The lua functions node.hpack(), node.vpack() and node.dimensions() + now accept an optional direction argument (not given == use default). + +* \pdfrefxform [width <dimen>] [height <dimen>] [depth <dimen>] <formref> + scales a form object; similar principle as with \pdfximage: depth alone + doesn't scale, it shifts vertically. + +* A change to the relative ordering inside font name discovery for use + by the backend: now it tries <f>.psname first, as that is much less + likely to contain spaces. + +* For ttc fonts, now the used subfont name and its index id are printed + to the terminal, and if the backend cannot find a ttc subfont, the + run is aborted. + +Bug fixes: + +* Prevent crashes for lua-loaded fonts without a (tfm) name. + +* Remove spurious newlines in the output pdf that could be the + result of using \pdfximage for an included pdf figure too early. + +* Full font embedding for wide otf and ttf fonts now really + works (older versions only pretended that it did work). + +* node.dimensions() sometimes continued past the 'stop' node. + +* Images inside virtual fonts were broken. + +* The processing of \language=-1 was wrong, resulting in + hyphenation attempts even though there was no proper language + set up. + +* Fix for finding files in --output-directory. + +* Fix for handling of --file-line-error. + +* tex.box[] assingments are now checked to make sure the assigned + node has the right id (hlist or vlist). + +* show_node_list (as in \showbox) produced spurious local_par + whatsit prints in the output after direction nodes. + +* The handling of pdf literals has been sped up. + +============================================================== +Luatex beta-0.44.0 was released 20091027 +============================================================== + +New features: + +* libpng is now 1.2.40. + +* hlist nodes now have a subtype to distinguish hlists generated + by the paragraph breaking, explicit \hbox commands, and other + (as-yet-undefined) sources. + +* \pdfobj now has an extra optional keyword: 'uncompressed', + which forces the object to be written to the PDF in plain + text (see the manual for the exact details). + +* The lua file from the luamd5 library (which provides the + md5.hexsuma() function) is now embedded in the executable. + +Bug fixes: + +* \latelua now works in DVI mode again. + +* status.output_file_name could crash when used too soon. + +* In 0.43, rules were not output at all in DVI mode. + +* \leavevmode\penalty-10000\penalty-10000 crashed luatex. + +* the API of margin kern nodes to lua was using the wrong + fields in the nodes. + +* A few fixes to the manual. + +* PDF Xref stream dicts were slightly non-conformant. + +* There was too much space between two consecutive math displays + (this bug was inherited from Aleph) + +* Synctex was broken (thanks, Akira) + +* Font mark classes were handled incorrectly by the fontloader + code. + +* There was a crash possible with certain types of named PDF + destinations. + +* Math delimiters and large operators in new MATH fonts no + longer apply the italic correction (this fixes placements + of super- and subscripts on such items for those fonts). + +* The converter from lua strings to token lists (for the node + interface) sometimes generated invalid tokens. + +* CFF (OpenType) fonts now listen to 'embedding="full"'. TTF + is still todo. + +* Font tables with 'embedding="no"' would cause luatex to crash. + +* \pdfobj file {} failed to find the file if there was no lua + callback in place. + +* An optimization in MS Mincho caused luatex to crash. + +============================================================== +Luatex beta-0.43.0 was released 20090819 +============================================================== + +New features: + +* There is a new allowed key in the table trhat is returned + by lua-loaded fonts: <f>.psname. This value should be set + to the original PostScript font name of the font. Fonts inside + dfont and ttc collections are fetched using this field + (if it is missing, <f>.fullname will be used instead). + +* It is now possible to use Apple dfont font files + (those that contain at least one outline font). + +* \latelua is now allowed inside leaders. + +* There is a new callback: process_output_buffer, from Manuel + Pgouri-Gonnard. This callback is called just before + \write acts, so it can be used to alter the file encoding + of text output files. + +* There is a new node.dimensions() function, which calculates + the natural size of (part of) a list of nodes. + +* The new primitive \gleaders provides 'globally aligned' + leaders. + +* The DVI and PDF backends now share much code internally. + +* The embedded MPlib is now 1.207. + +* libpng is now 1.2.39. + +Bugfixes: + +* We fixed lots of anonymous bugs introduced in 0.42.0 (as expected) + +* fontloader.info() errors are no longer fatal, the function now + just returns a nil,"error string" pair. + +* Automatically inserted kerns for \accents are now once again + valid word ends, as in \TEX. + +* Fixed the placement of math displays in mixed direction + settings. + +* The \pdfcompresslevel is now dynamic again. + +============================================================== +Luatex beta-0.42.0 was released 20090717 +============================================================== + +* There is a new node.tail() function + +* lua-loaded fonts now support a 'nomath' key to speed up + loading the lua table. + +* A bugfix in the ttf reader for the inclusion backend, and + (also in the backend) support for treating ttc files by + pretending they are single ttf fonts (both patches from pdftex) + +* Add Khaled Hosny's man page to the repository + +* The \pdfcompresslevel is now effectively fixed as soon as + output to the pdf file has occurred. + +* Patched status.filename so that it (nearly) always returns a + file name. + +* fix '\the\delcode' and disable '\the\odelcode', '\the\Udelcode', + and '\the\Udelcodenum' + +* Handle jfifs where either xres or yres is 0 and the other + res is != 0 (from pdftex) + +* The single-argument version of lang.hyphenate() was broken. + +* Get rid of the \directlua/\latelua number warning. + +* The Lua coroutine patch (coco) is now disabled on linux + powerpc architectures (because it caused crashes) + +* Removed obsolete pdftex primitives: + \pdfoptionalwaysusepdfpagebox + \pdfoptionpdfinclusionerrorlevel + \pdfforcepagebox + \pdfmovechars + +* The loading speed of large fonts (especially ttf) via the + fontloader library, and the inclusion speed for subsetting + in the backend have both been improved. + +* The 'pdf' lua library has been enhanced with various new + functions, see the manual for details. + +* BLT and BRT glyph position fixed. + +* Various fixes for synctex offsets. + +* Support for exotic font string encodings has been removed + from the fontloader library. + +* The embedded MPlib is now 1.205. + +* libpng is now 1.2.38. + +============================================================== +Luatex beta-0.40.6 was released 20090625 +============================================================== + +* Fix two string vs. toks bugs in the lua node interface: + whatsit,annot and whatsit,startlink data assignments were + made directly as strings instead of being converted to tokens. + +* Sometimes pdf.print() could be used before the proper structures + were initialized. + +* There was a bug in the type codes for the lua package filter + callback: wrong extra info was passed to lua for the alignment + and vsplit cases. + +* The math parameters \Umathlimitdownvgap, \Umathlimitdownbgap, + and \Umathlimitdownkern have been renamed to \Umathlimitbelowbgap, + \Umathlimitbelowvgap, and \Umathlimitbelowkern to be more + consistent with the other parameter names. + +* The embedded MPlib is now 1.204. + +* Handling of UTF-8 hyphenation exceptions has been fixed. + +* There were a number of typos in the manual. + +============================================================== +Luatex beta-0.40.5 was released 20090610 +============================================================== + +* One of the internal print functions accidentally encoded its + argument string to UTF-8 even though it was already UTF-8. + +* Some of the log and terminal UTF-8 output was gibberish. + +============================================================== +Luatex beta-0.40.4 was released 20090609 +============================================================== + +* \the\textfont0 returned a number instead of doing a font + switch. + +* The embedded MPlib is now 1.203. + +============================================================== +Luatex beta-0.40.3 was released 20090608 +============================================================== + +* A set of portability fixes for the AIX compiler from Vladimir + Volovich. + +* A set of fixes to the synctex support. + +* A patch to the build script to prevent installed X11 headers + from being required. + +* Some weave (web syntax) fixes from Manuel Pgouri-Gonnard. + +* A simplification in luatex.ch (it is now less verbose + about the web2c-specific extensions) from Karl Berry. + +* A fix in the handling of UTF-8 (input) file names. + +* Hyphenation exceptions were case sensitive in 0.40.2. + +* libpng is now 1.2.37. + +============================================================== +Luatex beta-0.40.2 was released 20090603 +============================================================== + +* Fix for a compilation warning under Cygwin. + +* A complicated bugfix by Hartmut for a rounding problem in the + VF loading that resulted in 'character width mismatch in font + XY.vf ignored' messages at large load sizes + +* The embedded MPlib is now 1.202. + +* The post_page_number callback was accidentally run when + shipping out xforms as well as during actual pages. + +* When a math accent char doesn't have a bot_accent placer, + luatex now uses the top_accent placer, if present. + +* A crash caused by \Uroot .. {<list>}{...} is fixed + +* A portability fix for solaris 8 sparc using sun studio + compiler, and one for glibc > 2.9.90 + +* luatex -ini now sets the \catcode of the BOM character to + ignore + +* Kpathsea is updated from TeXLive, giving four extra types of + searchable files: 'font feature files','cid maps','mlbib', + and 'mlbst'. + +* libpng is now 1.2.36 + +============================================================== +Luatex beta-0.40.1 was released 20090508 +============================================================== + +* Vertical placement of root radicals and degrees is fixed. + +* The use of \pageleftoffset could deviate from \hoffset + if \mag != 1000. + +* LuaTeX now issues a warning if \pagedir !- \bodydir during + shipout. + +* The previous crash in font.read_tfm() was still not quite + correct. + +* The Web2C version is now also printed in the --version + and --credits output. + + +* There is a new MPlib 1.200 release candidate with a few minor + fixes included. + +* The xpdf library is updated to patch level 3. + +* New imports to the build system, from texlive. In particular, + there is now configure-level support for building with + libpoppler and support for building under cygwin 1.7 is added. + +============================================================== +Luatex beta-0.40.0 was released 20090422 +============================================================== + +* The embedded MPlib is updated to version 1.200. + +* Texlua would crash if run font.read_tfm() was used. + +* Luatex would crash on empty \patterns. + +* Lots of small C code cleanups. + +* \textdir inside a \hbox dir *** was wrong earlier. + +* 0.39.0 introduced a bug that would make luatex crash whenever + font expansion was used. + +* Font tables returned by define_font can now have a key named + 'cache' that controls the internal lua font table caching. + +* There is no longer a need for an explicit --progname if there + is no input file given. + +============================================================== +Luatex beta-0.39.0 was released 20090415 +============================================================== + +* iniluatex will from now on start up with only the TeX82 primitives + and \directlua, everything else has to be bootstrapped via + tex.enableprimitives(). This change was planned for 0.40.0, + but *now* is the time to test it. + +* A bugfix for \primitive in various expandable contexts, + and \primitive now generates an error message when the + argument is not actually a primitive's name. + +* There was a bug found in the math accent handling. + +* Large math operators are now treated like extensible characters + in the sense that they can be composed of segments. + +* The extra assign- and restore tracing information from eTeX + had a massive bug because of a dangling else in the pascal web. + As a side-effect of fixing this bugs, all such potential errors + in the pascal web have been fixed (for now). + +* The math parameters can now be set and queried from lua code + via the new tex.setmath() and tex.getmath() functions. + +* Reflection in a \hbox was broken. + +* There was a leak of direction nodes in the paragraph builder. + +* The font backend now does a small peek to differentiate + truetype and postscript style opentype fonts. This fixes + the "Can't find CFF table" bug for otf's with truetype outlines. + +* Parameters and registers can now also be assinged to globally + from lua (see the manual for details). + +* It is now possible to query the current math style while a + formula is still being constructed by using the new read-only + value \mathstyle. Associated is the new command \Ustack that + is to be used as a prefix for {.. \over ..} and friends. + See the manual for more information. + +* The embedded MPLib is brought up to date with the current + metapost repository (version 1.110 and a few small patches). + +* Luatex can now handle two breakpoints inside a single ligature + (like for the functional word of-f-ice). The solution is not + perfect yet, but the chance of missed hyphenation points in + actual documents should now be negligible. + +* Some speedups in the font loading code, and in the handling of + pdf_literal nodes that are set from within Lua code. + +* Some source code and manual cleanup, as usual. + +============================================================== +Luatex beta-0.38.0 was released 20090410 +============================================================== + +* tex.enableprimitives() had a bug were previously defined (but + currently undefined) control sequences prevented the creation + of the new csname. + +* The special calling format callback.register('name', false) + not only disables the callback, but also the builtin code it + is supposed to replace. + +* Empty \localleftbox and \localrightbox -es are now suppressed. + +* Support for <f>.MathConstants.SubscriptShiftDownWithSuperscript + was added, to solve the lack of "sub2" in OpenType math. + +* Luatex now supports horizontal super- and subscript placement + corrections via the OpenType MATH mathkern table. See the + manual for details. + +* node.write() no longer copies its argument node list before + appending it. + +* There are six new primitives that are verbose forms + of one and two byte special tokens: + \Usuperscript \Usubscript + \Ustartmath \Ustopmath + \Ustartdisplaymath \Ustopdisplaymath + +* The attribute node leaks in math mode and alignmetns have been + fixed. + +* The 11 simple math noads are now combined into a single "noad" + node type. + +* Static linking against libstdc++ is working once again. + +* There is a small fix in the keyword scanner to solve the + problem of 'Runaway ... while scanning ???' that could happen + for some primitives. + +* Lua now also has the "architecture independent bytecode" + patch applied. + +* Lua is updated to version 5.1.4 with coco patches 1.1.5, and + lpeg is now 0.9. + +* Some TRT/TLT backend bugs are fixed. + +* Various manual updates. + +============================================================== +Luatex beta-0.37.0 was released 20090331 +============================================================== + +* Luatex now implements shell_escape = 'p', a new feature + in web2c that intends to make \write18 more secure. As + a side-effect, if luatex is used for typesetting, it will + now also apply shell_escape = 'p' and shell_escape = 'f' + to the lua functions io.popen(), os.execute(), os.exec(), + and os.spawn(). + Nothing has changed for the case where luatex is used as + a script interpreter. + +* Attributes can now have negative values. The special value + for 'unset' is lowered to -0x7FFFFFFF (it used to be -1). + +* The lua 'kpse' library now has an object-oriented interface + as companion to the procedural interface. This is useful for + e.g. controlling the discovery of mplib files. + +* The new internal integer parameter \outputbox allows setting + of the output box number (default: 255, max: 65535) + +* The new primitives \Udelimiterunder and \Udelimiterover + complete the set of 'StretchStacks' for OpenType Math. + +* Fixed a bug in font string conversions on the Macintosh that + resulted in warnings about 'unaligned pointers being freed'. + +* Khaled Hosny spotted a bunch of manual errors. + +* There was bug in the width of math_accent objects when + there were super- or subscripts attached to the accentee. + +* In PDF mode, TRT \leaders were bugged. + +* The source tree now uses the new texlive build system that + Peter Breitenlohner created. + +* There is now a single build.sh instead of four separate + ones. It has a few options: + --make : only make, no make distclean; configure + --parallel : make -j 2 -l 3.0 + --nostrip : do not strip binary + --mingw : crosscompile for mingw32 from i386-linux + --ppc : crosscompile for ppc osx on intel osx + + Note: --parallel still sometimes causes crashes due to + timing errors, so use that option with care. + +* Many compiler warnings have been removed (but not all yet). + +============================================================== +Luatex beta-0.36.0 was released 20090323 +============================================================== + +* The included fontforge code is stripped considerably, and + the lua table to access the code is renamed to 'fontloader'. + The old name ('fontforge') will remain present for a while, + but will eventually go away. + +* New lua functions: tex.primitives(), tex.extraprimitives, + tex.enableprimitives(). This is a prelude to a big change + in the next beta: iniluatex will from now on start up with + only the TeX82 primitives and \directlua, everything else + has to be bootstrapped via tex.enableprimitives(). + See the manual for more details. + +* Support for multiple lua states has been removed, and at the + same time support for adding name ids to lua chunks has been + added. See the manual for more details. + +* More changes to the PDF backend to make it support non-latin + directions (form and image placement, vertical typesetting, + synctex). + +* The kpathsea library is updated. Highlights: cleaner build + process (thanks to Peter Breitenlohner), cleaner mingw32 + (cross)compilation support, and a new reentrant API. + +* Some possible endless loops within extended delimiters in + math mode are now trapped. + +* Movements inside VF font characters were considerably off + due to a wrong conversion routine. + +* Error handling for \outer has been reinstated, but can be + suppressed via the new primitive \suppressoutererror. + +* The new primitives: \suppresslongerror and \suppressifcsnameerror + that can be used to suppress errors for \par in non-long macros + and for non-expandable objects inside \ifcsname ... \endcsname, + respectively. + +* New lua function: node.vpack() via a patch from Khaled Hosny + that also improves error handling in node.hpack(). + +* Fix the typo that caused \charic (instead of \charit) + to be defined as a primitive. + +* Suppression of hyphenation via \hyphenchar\font=-1 now works + again. + +* The lua functions tex.print(), tex.sprint(), tex.write() now + accept an array of strings as well as vararg list of strings + to print. + +* A change to be build process: luatex.p is no longer split + int smaller pieces before running the C compiler. + +* Melissa O'Neill contributed a bugfix to the Type1 font + subsetting code. + +* A bunch of smaller bugfixes and cleanups (as usual). + +============================================================== +Luatex beta-0.35.0 was released 20090224 +============================================================== + +* The math handling portions of LuaTeX are converted to C code, + and extended to support Unicode math. There are a great many + related changes, see the new Math chapter in the manual for + details. + +* A nasty bug in the paragraph breaking routine was fixed. + (All lines except the first one were believed to be wider then + they really were. This affected which nodes were considered + as active breakpoints) + +* Various changes to the PDF backend to make it support non-latin + directions. + +* Fixed the behaviour of the page offsets. Placement of the output + on the physical page should now work correctly in all directions, + both in DVI and PDF. + There now are \pageleftoffset and \pagetopoffset primitives, + as well as + +* fontforge.apply_featurefile() was broken since 0.31.0 + +* The lua profiler library is added. + +* The included lua filesystem library is now 1.4.1. + +* Reading of pk files fixed. + +* An optional space afer a <direction specifier> for \textdir c.s. + is ignored from now on. + +* \bodydir and \pagedir can now be (re)set even after the first + page has been output. + +* The new callback mlist_to_hlist can be used to intercept the + normal conversion of math lists to horizontal lists. + +* The programs ttf2afm and pdftosrc are removed from the luatex + distribution (these belong to pdftex). + +* fontforge.open() now uses much less memory when opening large + (CJK) fonts. + +* The included libpng is now 1.2.35. + +* Quite a lot of smaller bugfixes and cleanups (as usual). + + +============================================================== +Luatex beta-0.31.3 was released 20081229 +============================================================== + +This release has a bunch of updates from the development trunk +(#1657-1670,1677,1678,1680,1685,1687). + + * Closing of files opened by \externalocp. + + * Fix for a locale-related bug that make PDF generation fail + with a "Parsing CFF Dict failed" message when including + opentype fonts. + + * The included metapost is now version 1.102. + + * PDF rules in vertical modes in RL direction where output + in the wrong direction + + * Fix for a crash on Apple fonts that contain a 'bsln' table. + + * The handling of the second argument to fontforge.open() was + broken + + * The included libpng is now 1.2.34 + + * Handling of ttc files on Windows was broken + + +============================================================== +Luatex beta-0.31.2 was released 20081209 +============================================================== + +Besides fixing building issues, this release has + + * A small fix for a crash that could happen when using + external OCPs. + + * A fix in the format of fontforge.to_table output. + (In 0.31.1 <font>.lookups was near-empty; the lookups + were accidentally output as part of the gpos table). + +============================================================== +Luatex beta-0.31.1 was released 20081209 +============================================================== + +fixed a bunch of compilation errors on various platforms, but +with no other visible changes. + + +============================================================== +Luatex beta-0.31.0 was released 20081205 +============================================================== + +This is just an intermediate release so that some testing can be +done on the updated fontforge embedding. + +* There are new fields being generated by fontforge.to_table(), + and one or two old ones have been removed. These fields are / + will be documented in the manual, but very briefly: + + - MATH table and associated information are now exported + (the main reason for the new fontforge code) + - Baseline data is now exported + (perhaps usable in lua code) + - Multiple Master / Glyph variation data is now exported + (but useless, for now) + - Mac Feature (AAT) information is now exported + (perhaps usable in lua code) + - If (lookup) names were saved via the PfED table, these + will the exported instead of the default, generated names. + (as requested by Yannis) + +* dfont is now treated as an archive format just like ttc + when it comes to fontforge.info(). NOTE: that does not mean you + can actually use them, because the backend doesn't know + yet how to embed dfont fonts in the PDF, that is on the + TODO list for the next big beta (0.40.0). + +* The executables are a lot larger than before. That is because + much more of fontforge is included than before. Likely this + will stay this way, because this makes upgrading the ff code + much easier, and it means that luatex/FF potentially + understands more font formats (after upgrading the backend, + of course) + + +============================================================== +Luatex beta-0.30.3 was released 20081128 +============================================================== + +This release fixes a really big bug, a few smaller ones, +and has updates of png and mplib: + +* All hyphenation patterns that were anchored at the start or + end of a word were ignored in luatex versions 0.25.X and 0.30.X + (and possibly even earlier). + +* Repeated use of \language=-1 could result in "There is not room + for another language". + +* The lua true coroutines patch (Coco) is now disabled on OpenBSD + running on non-intel platforms. + +* The lua socket library is patched so that it will now compile on + OpenSolaris. + +* Luatex now has libpng 1.2.33 and mplib 1.100 + +============================================================== +Luatex beta-0.30.2 was released 20081020 +============================================================== + +* The Lua coco change from 0.30.1 is reverted as it gave + trouble on MacOSX. Lua coco on non-intel OpenBSD platforms + is now explicitly turned off. + +* The lua file reading speedup in 0.30.1 broke reading of + files larger than 100MB. + +* Reading of font-related files was broken when there was a find + callback, but no read callback. + +* The texmf.cnf array size setup values were ignored whenever + --lua was given on the commandline (instead of only when + texconfig.kpse_init is set to false). + +* glyphs with negative widths resulted in incorrect horizontal + placement (overlapping) of the string in the output PDF. + +* Using \latelua could sometimes result in an invalid output PDF, + and the argument token list was expanded too early + +* There was a read buffer overrun in the mapfile parser + +* There are two new variables in the status table: + status.callbacks and status.indirect_callbacks (execution counts). + +============================================================== +Luatex beta-0.30.1 was released 20081009 +============================================================== + +* Invalid return values from the linebreak_filter callback + are now handled gracefully (was crashing) +* a preinstalled ctangle is no longer needed except when + cross-compiling +* In 0.30.0, the .notdef fix was incorrectly applied to + truetype / opentype fonts. +* A bunch of all memory leaks is fixed +* In lua, f:read('*a') now uses signicantly less memory +* The number of \catcodetables is now limited to 64KB + (for speed reasons) +* Luatex could crash if there were PDF images with and + without page /Group included on the same page +* Lua coco now always uses setjmp (for OpenBSD compatibility) +* The embedded mplib is updated to the latest svn version +* # marks (characters with catcode 6) are no longer doubled + inside \directlua +* Handling the nul character (U+0000) with catcode 13 + (active) was broken +* Luatex could crash on win32 with an access violation + because there was one predefined language too few + (the one matching \language=-1) + +============================================================== +Luatex beta-0.30.0 was released 20080930 +============================================================== + +New features: + +* Readable \tex internal params that are counts, attrs, or dimens are + now returned as numbers instead of strings, and skips as node objects. + Read-write access to tex's skip registers added: tex.skip[0] etc. +* new callback: 'linebreak_callback' to replace the internal paragraph + breaking code +* the tex table now supports more readable 'convert' values: + tex.fontname, tex.pdffontname, tex.pdffontobjnum, tex.pdffontsize, + tex.uniformdeviate, tex.number, tex.romannumeral, tex.pdfpageref, + tex.pdfxformname (each takes a number as argument) +* new readable parameter: tex.fontidentifier(number) returns the + \csname associated with that font id +* luatex now outputs \FONT<nr> instead of \^^@ in Overfull/Underfull + messages if the font's id text is zero (like for expanded fonts) (#77) + * luatex --version is split into --version and --credits +* There is now (again) an svn revision number in luatex --version (#91) +* Add support for more read-only internal access from lua: + tex.lastpenalty, tex.lastkern, tex.lastskip, tex.lastnodetype, + tex.inputlineno, tex.badness, tex.pdftexversion, tex.pdflastobj, + tex.pdflastxform, tex.pdflastximage, tex.pdflastximagepages, + tex.pdflastannot, tex.pdflastxpos, tex.pdflastypos, tex.pdfrandomseed, + tex.pdflastlink, tex.luatexversion, tex.Alephversion, + tex.Omegaversion, tex.Alephminorversion, tex.Omegaminorversion, + tex.eTeXminorversion, tex.eTeXversion, tex.currentgrouplevel, + tex.currentgrouptype, tex.currentiflevel, tex.currentiftype, + tex.currentifbranch, tex.pdflastximagecolordepth (#81) +* the old --src-specials are replaced by --synctex (#63) +* the \expanded primitive is backported from pdftex 1.50 (#43) +* luatex now comes with libpng 1.2.32 +* experimental: tex.definefont(string, number) associates a + csname string with a font id number + +Bugs fixed compared to 0.29.0: + +* dashes were exported wrongly by MPlib +* multi-item \discretionaries were broken in various ways (#78, mailinglist) +* read_font_info was sometimes called recursively from lua-loaded + virtual fonts +* do_vf was sometimes called on lua-loaded fonts that where + already known to be virtual +* trailing junk in tfm files is now ignored (needed for ecrm fonts) +* pdf_ignored_dimen was initialized too late, breaking \prevdepth + handling and causing output lines to overlap eachother (#72) +* pdf.immediateobj() had a printf-related bug +* the fontname terminal logging is fixed for strange font file names +* lua tex array assignments now listen to the globaldefs setting + (tex.count[0] etc) (#92,partial) +* \parshape was broken (#70) +* there is no longer a ".tex" extension forced on very input file (#74) +* eof() for mapfiles was true one byte too soon (#76) +* out of range \lefthyphenmin and \righthyphenmin settings now actually + disable hyphenation (#90) +* tex.unset_attribute() looked too far ahead when a to-be-unset + attribute id not only did not exist in the node, but was also + higher than the highest set attribute on the node. (#65) +* the parameters attr and page_name of read_image() were swapped + (this broke \pdfimage with attributes) +* tex filenames with spaces in them on the command line are now + allowed again (#30) +* sometimes pfb fonts were included multiple times without valid + reason (#29) +* some parts of the pdftex 1.40.9 PNG transparancy hack were still + present and caused transparant png handling to fail +* \localinterlinepenalty and \localbrokenpenalty were broken +* special case catcode tables are now handled better (#23) +* the handling of missing .notdef charstrings in old pfb fonts + is fixed (#27) + +============================================================== +Luatex beta-0.29.0 was released 20080718 +============================================================== + + +New features: + +* The embedded pdftex is now 1.40.9 (forthcoming) except for the + following: + - the png transparancy fix is skipped because it is in conflict + with a macro-based solution offered by context mkiv. + - LFS (PDF files > 2GiB) is not working yet. + - Synctex is still missing + +* libpng, xpdf, and zlib are updated to their pdftex 1.0.9 levels + +* MPlib is updated to 1.090 + +* The syntax of buildpage_filter is changed to avoid confusion + (and crashes). See the manual for the new calling convention. + +Bugs fixed compared to 0.28.0: + +* The previous bugfix for \languages skipping numbers was wrong. + +* Various compile-time warnings are suppressed + +* \pdfsetmatrix was broken + +* \pdfsave and \pdfrestore were broken + +* Valid user_defined whatsits nevertheless were generating errors. + + +============================================================== +Luatex beta-0.28.0 was released 20080630 +============================================================== + +There is one new feature: + +There is now experimental support for non-trivial discretionaries +following explicit hyphens. In analogy to \prehyphenchar and +\posthyphenchar, there are two new parameters \preexhyphenchar en +\postexhyphenchar. Both new parameters default to zero (nothing). +When set to a nonzero value, the parameter is added to either the +pre- or post- break text. Note that this is *in addition to* the +hyphen already in the input. Testing and comments are very welcome. + +Here is a short example (no idea what is says): + + \pdfoutput=1 + \hsize=2in + \postexhyphenchar=`- + Seria bom se eu + pudesse t\^e-lo mantido como amigo, mas por + mais bem-intencionado que eu fosse, n\~ao + foi possivel + \bye + + + +Bugs fixed compared to 0.27.0: + +* Words that started off with a character with a zero \lccode + were never hyphenated at all. + +* There was a bug in the new active characters code that prevented + the latex format from being built (with Invalid character error). + +* There is a temporary fix for the sometimes appearing "Font has a + bad FontBB" message from Acrobat. + +* \leaders did not actually stretch enough (the last bit of glue + that has to line up the line endings was never output to the PDF). + +* Bad paragraph-related callbacks could result in luatex crashing. + +* The pre_linebreak and post_linebreak filters were never called + when \output was active (this was a leftover of a superceded + optimization). + +* 'skipping' language codes when setting up \patterns c.s. did not + work (it used the next empty slot instead of the actual value of + \language). + +* Using multiple 'attr' keywords on box items could cause random + crashes. + +* Calling lang.hyphenate() with one argument (without specifying a + tail node) could crash. + +* The luatex pdf banner and version reporting is cleaned up a bit. + +* Conflicting patterns inside \patterns now give an error: + ! Conflicting pattern ignored. + (duplicate identical patterns are ignored without error). + +============================================================== +Luatex beta-0.27.0 was released 20080624 +============================================================== + +Bugs fixed compared to 0.25.3: + +* Unicode reencoding support for non-standard (i.e. older) + Type1 fonts is now somewhat less broken than it was (#25) + +* .vf fonts using specials crashed luatex + +* luatex would crash on --\par (#33) + +* An attempt is made to get a sane default value for StemV in + the created pdf (#32) + +* We can now guarantee that %PDF-1.* header is printed before + the first pdf.print() output + +* lang.hyphenate() was broken + +* insert_before(a,a,b) was broken (#37) + +* argv[0] is now cleaned up before being used as a default for + mem_name and prog_name (#28). + +* luatex would crash on loading extended fonts (fonts loaded + via lua callbacks) from a format file. + +* The fix for pdftex bug #799 is backported from pdftex 1.40.4. + +* slnunicode had a bug in the unicode.utf8.gmatch iterator. + +* Queries of nonexisting fontdimens could cause a crash. + +* luatex would crash on {\textdir TLT\pardir TLT x\break\par } + +* Fixed wrong placement of lines in mixed-direction paragraphs + that could happen in some situations. + +Other news: +* Luatex now includes luasocket (#35) + See http://www.tecgraf.puc-rio.br/~diego/professional/luasocket/ + for usage. + There is a new commandline option: --nosocket to disable this, + and that is also implied by --safer. + + NOTE to the binary builders: there are some unfixed configure + problems when you need to add a specific library to get socket + support on your platform. You probably will have to edit the + generated Makefile by hand (search for 'socketlib'). + +* There is ongoing development to the 'img' and 'mplib' libraries. + See the reference manual for details. + +* The 'character commands' in virtual fonts now support image + inclusion. See the reference manual for details. + +* Lua error messages now include the call stack. + +* \directlua and \latelua have been extended to accept a 'name' + keyword. The argument is a token list that is used as the lua + name of this chunk in lua error messages and call stack prints. + (#42) + +* The lua chunk names can be interfaced via a new virtual + table called lua.instancename, the values in that function as + defaults in the absence of 'name' keywords. + +* The 2-plane limit on active character range is removed (#12). + +* Subsetted TTF fonts in the PDF now retain the cmap table. + +* There is a new Lua variable os.selfdir. This contains the + full absolute pathname of the directory that the executable + resides in (with symlinks resolved) + +* There is a new function os.uname() this returns a lua + table containing various platform information items. + +* The node library now uses text strings for direction specifiers + instead of numbers. See the reference manual for details. + +* The 'E' (edit) as error response functionality is now a noop. + +* Adding luatex 0.25.3 to texlive resulted in a few minor backports, + in particular: Support for mktexfmt is added, and luatangle now + identifies itself as such (instead of calling itself otangle). + +* We fixed a whole series of portability problems (but + we probably introduced new problems as well). + +* Most (all?) files now have a corrected Copyright header, + and link in NEWS source/texk/web2c/luatexdir/NEWS into the object file. + +* Some unnecessary files were removed from the distribution. + +============================================================== +Luatex beta-0.25.3 was released 20080418 +============================================================== + +Bugs fixed: +* Pdftex bug no. 936 (sarovar) regarding vertical + positioning of embedded PDF files if depth parameter is given. +* Luatex gave bogus lua return values for the tex.wd/hd/dp + values of void boxes +* A few bugfixes in mplib (square pens caused hangs, elliptical + pens caused confused output) +* Hyphenation of uppercase words (\uchyph) was broken +* Output image placements corrected for all 8 transform cases + also when artbox etc. is used +* There were missing maketexstring() calls in error messages +* Math display contents were sometimes prematurely freed during + the placement of the equation number +* Setting \language=-1 could cause crashes due to an array + index going out-of-bounds + +Other news: +* build.sh.ppc is added to the source distribution. This is a + script that crosscompiles osx ppc binaries from osx intel +* tex.box[<chardef name>] is now supported (but still experimental) +* a bunch of compiler warnings are removed +* The fontforge library now dump AAT feature tags as and + "<id,flags>" string +* The new function font.nextid() predicts the next assigned font id +* Some source code changes are backported from texlive + +============================================================== +Luatex beta-0.25.2 was released 20080410 +============================================================== + +* Updated to MPlib 0.40 +* Bugfixes and cleanup in the lua img table code +* Fix \pdflastximagepages bug from pdftex +* Fix for very large tex.print strings +* Update to Lpeg 0.8.1 +* &D Bugfix for Type1 fonts when out-of-range characters + are marked as 'used' + +============================================================== +Luatex beta-0.25.1 was released 20080321 +============================================================== + +* Updated to MPlib 0.30 (that is now becoming usable) +* The build requirement for a pre-installed ctangle is gone + (thanks to Martin) + +============================================================== +Luatex beta-0.25.0 was released 20080311 +============================================================== + +New: + +* mplib library: + This version features an embedded MP interpreter whose output + can be directly accessed from lua code (mplib), without calls + to an external "mpost" command. Of course it has bugs and + limitations (makempx does not work, for example) but keep in + mind that it is only an initial attempt. + See the manual for more details. +* img library: + ** img.immediatewrite() is added + ** images now accept a 'transform' key + ** widths etc. can now be given as width="100mm" + +Fixed: + +* \parshape handling was completely broken since 0.20.0+ +* when \pdfprotrudechars was in effect, an assertion failure + could happen when embedded \hboxes in the paragraph appeared + at the end of a line. +* import of otf fonts with contextual lookups has been debugged, + thanks to a patch by GW himself. +* compiling with gcc 4.2.3 is now supported +* if you want to build from source, you need a pre-installed ctangle. + + +============================================================== +Luatex beta-0.22.1 was released 20080227 +============================================================== + +* The macnames.c source file for building ttf2afm is restored. +* "make depend" in luatexdir now works again +* luatex sometimes crashed because it attempted to expand an + already expanded font +* luatex aborted when --progname was given but no format name. + It now sets the format name to the given progname in that case +* sometimes paragraphs with near-empty lines could cause a crash +* img.supportedtypes() had a bug causing it to crash +* img.supportedtypes() has been renamed to img.types for consistency +* img.boxes() added, returns strings representing bounding boxes +* img.node() added, returns a whatsit node cf. \pdfrefximage +* node.write() now accepts multiple arguments +* the program_name_set switch was not set automatically from C, + causing errors unless lua code called kpse.set_program_name() + explicitly +* kpse.set_program_name() can now be called more than once + in a single run. +* os.spawn{...} and os.exec{...} could cause crashes because of + a memory allocation error + +============================================================== +Luatex beta-0.22.0 was released 20080215 +============================================================== + +* We now have an official bug tracker: http://tracker.luatex.org +* A new lua library (img) is added that allows a direct + interface to the image handling of luatex. You can use this + to include images from lua code instead of via the more + traditional \pdfximage cs. See the manual. +* An optional equal sign after \{pre,post}hyphenchar is now + allowed. +* os.exec() has been extended, and os.spawn() added. These + functions have support for quoted strings, and they + also accept a table with preseparated command arguments. +* New string constants os.type and os.name are provided. +* node.last_node() is added. This pops and returns the last + node from luatex's 'current list' +* node.write() is added. This appends a node to the end of + luatex's 'current list' (experimental). +* The strict check on unicode compliance in pattern files + is dropped. Patterns files still have to be in proper UTF-8 + encoding, but the error for non-Unicode character values + (like 0 - 31 and 127 - 159) is dropped. +* \pdfadjustinterwordglue, \prependkern, \appendkern + and associated \XXXXcode arrays are gone. +* The rest of the pdftex font arrays are now merged into + the new luatex font data structure. This means that you + can now set up font expansion from lua code, and that a few + font-related limits are gone. +* The 'top_skip' field in 'insert' nodes is renamed to 'spec', + for improved consistency. +* kpse.show_path() added. This behaves just like + $ kpsewhich --show-path +* The unicode.utf8 functions now also accept values in the range + 1.114.112 - 1.114.367 that is used by LUATEX for raw byte output. + +What's been fixed: + +* Better node memory (de)allocation error tracking and messages +* Compilation on MacOSX 10.5 was broken +* There was a bug in node.insert_after +* Use of \{pre,post}hyphenchar was broken +* lfs.permissions was leaking memory +* Some warning and error messages are improved a bit +* A set of bugs in character protrusion, this seems to be working + ok now. +* Also, a set of bugs in font expansion. This now works in most + cases but is not quite bugfree yet (problematic files for testing + are welcomed). +* The functions in the kpse library would crash luatex if + kpse.set_program_name() was not yet called. gives an error now. +* Alignments with spanned columns could cause crashes +* A patch is added for problems with filename parsing on the + "first input line" (by Jonathan Kew) +* The hpack_filter and vpack_filter were only called for lists longer + than one node. +* Luatex is now more forgiving about font subsets being smaller + than their expected size (issues a warning instead of aborts now) +* A "double-free ignored" error for paragraphs with lines starting + with discarded items was fixed. + +============================================================== +Luatex beta-0.20.2 was released 20071217 +============================================================== + +* some portability fixes to the build scripts +* a fix for multi-\span in alignments causing unbreakable + loops +* manual improvements from Jonathan Sauer +* fix for undefined csnames in \directlua if + web2c's hash_extra is nonzero +* fix for LR text inside of a RL document +* fix for open_read_file callback not being called + unless find_read_file was also registered +* removed the ocp status message when \ocps are not + actually used +* "unicodeenc" in the fontforge to_table renamed to + "unicode" for improved consistency + +============================================================== +Luatex beta-0.20.1 was released 20071207 +============================================================== + +* texlua was broken on Solaris because the some C header + files were loaded in the wrong order. +* os.tmpdir() now accepts an argument, making it easier + to use. It now generates more unique filenames when + it is called repeatedly in one run. +* The --luaconly commandline switch is now documented + in the --help text. +* The new extended hyphenation exceptions were severely + broken. +* \pdfprotrudechars could cause luatex to abort with an + assertion failure. +* There was a bug in the \span code that could cause endless + loops. +* The simple forms of \leaders were messed up on windows + because a variable was not properly initialized. +* Non-grouped \textdir commands created invalid output. +* e-TeX's pseudo files were not closed properly in ini mode. +* The luatex.web now weaves properly again. +* I made some small improvements to the manual. + +============================================================== +Luatex beta-0.20.0 was released 20071205 +============================================================== + +News compared to the last beta (0.11.2) is as follows: + +* Completely overhauled hyphenation and ligkern application, + including the addition of a new "lang" table in lua to + interface to the language parameters, some extra functions + in the "node" table, and a few extra callbacks ("hyphenate", + "ligaturing", "kerning", "post_linebreak_filter"). + + There is a new chapter in the manual to document all the + changes to the hyphenation and line breaking algorithms, + it is simply too much to list here. + +* the interface of the pre_linebreak_filter,hpack_filter, + vpack_filter, and pre_output_filter has changed slightly. + +* boxes can now get explicit attributes different from the + currently active set, using a syntax like + + \hbox attr2=12 attr3=-1 to 12pt {Hi!} + +* lpeg is now at version 0.7 + +* a whole series of exotic bugs and compiler warnings are + fixed, mostly thanks to the watchful eye of Fabrice. + +* texio.print now accepts multiple strings as arguments. + +* the lua functions os.sleep(), os.times(), os.gettimeofday() + and os.tmpdir() have been added. + +* lua now comes with the coroutine (coco) patches from the + luajit project applied. + +* the banner line no longer claims to be TeX. + +* a bunch of bugs reported on the mailing list have been + fixed (I hope all of them). + +* (internal) we found lots of small ways to speed up lua + node processing. + +* (internal) the node (de)allocation functions have been + rewritten, so that absolutely all nodes now have a type, + even the ones with variable sizes. + + +============================================================== +Luatex snapshot-20071029 was released 20071029 +============================================================== + +* Completely overhauled hyphenation and ligkern application. + + There is a new chapter in the manual to document all the + changes to the hyphenation and line breaking algorithms, + it is simply too much to list here. + +* the interface of the pre_linebreak_filter,hpack_filter, + vpack_filter, and pre_output_filter has changed slightly. + +* lpeg is now at version 0.7 + +* a whole series of exotic bugs and compiler warnings are + fixed thanks to the watchful eye of Fabrice. + +* texio.print now accepts multiple strings as arguments. + +* The lua function os.sleep() is added + +============================================================== +Luatex beta-0.11.2 was released 20070918 +============================================================== + +* Pdf inclusion and subsetting of CID-based opentype fonts + now works as it should. + +============================================================== +Luatex beta-0.11.1 was released 20070918 +============================================================== + +A quick list of what is new and fixed since beta 0.10.2: + +New: +* pfb+afm fonts can now be used in 'wide' (encodingbytes=2) mode +* searching in PDFS using 'wide' fonts now works reasonably well + (based on the tounicode feature) +* related to that, tounicode information can now be passed + on inside the font metrics table +* font subsetting is now supported for CID-based OpenType fonts + (however, there is a known bug with KpozMinProVI-Regular.otf) +* fontforge's warning and error messages are now intercepted + and passed on to the lua code as a second return value of + the fontforge.open() function +* the new primitive \suppressfontnotfounderror can suppress + the TeX error for "Font not found" +* The lua function font.current can now be used to set TeX's + current font + +Fixes: +* set_attribute(-1) is now the same as unset_attribute() +* OpenType lookups with glyph classes would crash luatex +* luazlib would not compile on debian (fix from Norbert) +* CID-based fonts would crash luatex +* Bare CFF should be read in binary mode (fix from Akira) +* VF processing did not process packets containing zero bytes properly +* the truetype collection (.ttc) handling is fixed, so that all + of the fonts inside a collection can now be used reliably +* application segfaults and stack overflows are intercepted + so that luatex can quit a bit more gracefully +* an assertion failuer on systems with signed chars (linux-powerpc) + is fixed +* a crash on AMD64 linux was fixed +* the lua "pdf" table code was wrong +* \ifcsname did not work properly for UTF-8 characters +* Use of the math-related functions using make_fraction (like \atop) + caused a crash +* \handling of \if\noexpand was wrong +* applied a patch that cleans up XForm and page calculations +* "autoconf" support from zziplib is stripped + +============================================================== +Luatex beta-0.10.2 was released 20070814 +============================================================== + +Bugs fixed: + +* the primitive \span was completely broken +* \pdfexpandfont (font expansion) misbehaved if it was used more + than once +* virtual fonts: sometimes they used the wrong internal font id, + loading vf fonts via fonts.read_vf() was impossible, and sometimes + virtual fonts created segfaults +* while dumping formats, the last font parameter for each font was not + dumped at all +* zziplib was always compiled with pre-installed zlib headers, instead + of the ones in the build tree +* lua 5.1.2 has trouble quoting ^Z characters etc, the tentative patch + for lua 5.2 from Luiz fixes that, hopefully +* fontforge.font('font.pfb') now properly parses AFM boundingboxes +* non-existing files in the argument for fontforge.open() or + fontforge.info() could cause segfaults, now it generates an error + instead +* fontforge.open() did not return character widths for vertical fonts + as it should +* on Windows, fontforge believed that ttc files (TrueType Collections) + were actually directories. ttc processing is still not 100% correct, + but it is getting better +* the build system used explicit 'make' sometimes +* the auto-growing string pool was not used everywhere +* there were some typos in the documentation parts of the pascal web +* use of \parshape could easily exhaust all available memory + + +New features: + +* support for applying Adobe Feature files (.fea) and Adobe Font + Metrics (.afm) is added to the fontforge library +* fontforge.info() will now return an array of tables for the contents + for ttc files +* support for a 'texluac' personality was added, to replace the 'luac' + command from the official Lua distribution + +============================================================== +Luatex beta-0.10.1 was released 20070719 +============================================================== + +This was a hotfix because beta-0.10.0 was completely broken. + +============================================================== +Luatex beta-0.10.0 was released 20070718 +============================================================== + +The latest version of the manual is included in the package, and I +am not going to repeat all of that. There were some minor changes +compared to the previous snapshot, but mostly just bugfixes and +documentation improvements. + +============================================================== +Luatex snapshot-20070626 was released 20070626 +============================================================== + +* Integrated the lua library lzlib, this defines tables with + bindings for zlib (including eazy-to-use gzip support) +* Updated to slnunicode version 1.1 +* Some small cleanups in the sparse array handling +* Moved the raw byte support out of the valid unicode range +* Fixed a bug in the OFM font reader +* Removed the pdftex snap nodes (and associated primitives) + + +============================================================== +Luatex snapshot-20070622 was released 20070622 +============================================================== + +Not a lot of news, but it fixes a few important bugs in the lua +node processing. Also a few utility functions are added: + +* tex.round() + rounds and bounds checks a lua number to make sure it is + a valid tex integer. +* tex.scale() + multiplies a number (or the numeric values in a table) + with a fixed quantity, and calls tex.round() on the result. +* node.has_field() + Test if a node has a specified field name +* node.remove() + removes a node from a nodelist, while keeping the list intact +* node.insert_before() + inserts a new node into a nodelist, just before a specified + location node +* node.insert_before() + inserts a new node into a nodelist, just after a specified + location node +* node.hpack() + packages a nodelist into a hlist node + + +============================================================== +Luatex snapshot-20070619 was released 20070619 +============================================================== + +* The lua node processing interface is completely reworked. + It is now completely based on userdata, and uses a new lua table + called 'node' to hold the methods. More detailed information + is in the manual (of course). + +* There is a fifth node processing callback: + pre_output_filter + this is executed just before the packaging of \box 255. + +* The hpack_filter and pre_linebreak_filter callbacks now + receive an extra argument indicating the number of top-level + glyphs in the node list. + +* Virtual fonts can now contain a 'node' key in the glyph + commands: the value should be a hlist node (i.e.: a horizontal + box), and that will then be output for each character access + in that font. + +* A new set of registers is added, called \attribute. These are + values that will be automatically attached to nodes created in + their scope. More information in the manual. + +* Direct read/write access to TeX's box registers is addded to + the lua 'tex' table. + +* TeX's main memory now grows dynamically, and the (de)allocation + routines have been rewritten completely. + +* The 'kpse' table is extended with extra interface functions, to + allow texlua to be used as a scripting engine. + +* The \pdftexversion command now returns 200, not 140. + +* The displayed banner and --version screens are cleaned up. + +* The format file is now RLE compressed. Not as small as before, + but unpacking is much faster. + + +============================================================== +Luatex snapshot-20070426 was released 20070426 +============================================================== + +This past month I have been busy with nodes and lists of nodes, +so the big new feature in this release is that there are four +callbacks that operate on node lists: + + buildpage_filter + pre_linebreak_filter + hpack_filter + vpack_filter + +The preliminary documentation for these is in the manual, but the basic +idea is that you can filter a node list just before LuaTeX starts doing +something with it (like line breaking). This functionality is not stable +yet: the node presentation of the various node types is pretty much OK +now, but keep in mind the following: + + * math noads and math typesetting are not handled at all (yet) + * not all hpacks and vpacks are intercepted (yet) + * the nested node list handling will probably change + * A conversion tool for nodes to/from dictionaries is planned, + but not done yet + +The other changes in this snapshot are various bugfixes (for builds +on various platforms as well as font issues) and speedups (in the +execution of callbacks and the creation of lua font representations). + + +============================================================== +Luatex snapshot-20070322 was released 20070322 +============================================================== + +* I have changed the token_filter callback quite rigorously, + mostly because of speed issues. The raw speed of trivial + lua token handling is now only about 20 times slower than + the native handling. Not bad at all, considering it has to move + between interpreted and compiled code for each and every + token. If you do not run the token filter inside \output, + the effective run speed difference should not be much more + than a factor 1.5. + + Two big differences: you have to call token.get_next() + yourself, and the token table is now a three-item array + instead of a five-key hash. The minimal example changes to + + \directlua0{ + callback.register('token_filter', function () + return token.get_next() + end) + } + + more details are in the manual. + +* I've fixed a few bugs in the handling of Opentype TTF, and added + a new key in the font definition table: + + f.encodingbytes = (1|2) + + The default is 2 for opentype and truetype format, 1 otherwise. + Later on, it will become possible to have a type1 font in 2-byte + (CID) encoding or a truetype font in traditional encoding (1-byte), + but I have not covered all cases yet. + + + +============================================================== +Luatex snapshot-20070309 was released 20070309 +============================================================== + +* The OCP debug information is removed again. + +* There is a new callback that I am quite excited about myself: + 'token_filter'. + + +A bit of text from the reference manual: +-------------------- +This callback allows you to change the modify any lexical token that +enters the \type{main_control} function before \LUATEX\ executes the +associated command. + +Note: not all tokens can be intercepted yet, only those that are `seen' +by \LUATEX's main control function. Supplemental tokens like the bodies +of macro definitions and the right-hand side of register assignments +are not seen. For now, this is intentional. + +\startfunctioncall + function (table <token>) + return table <token> + end +\stopfunctioncall + +Calling convention for this callback is bit more complicated then for +most other callbacks. Initially, lua function will be called with the +next token from \type{get_next()} as argument, represented as a small +lua table. The function should either return a lua table representing +a valid to-be-processed token, or something else like nil or an empty +table. + +If your lua function does not return a table representing a valid +token, it will be immediately called again with yet another token +from \type{get_next()} as argument, until it eventually does return +a useful token. + +But if the function does return a usable token, then that token will +be processed by \LUATEX. Afterwards, the function will be called +again, but now without an argument. This is repeated until it stops +returning tokens. Then processing reverts back to the other branch. + +The point behind that roundabout calling convention is that it +allows the lua function to buffer tokens for various uses. That in +turn makes it possible to do some really advanced things like +replacing OTPs. + +Now about that table. The table that the function will receive +contains four fields: + +\starttabulate[|l|i|p|] +\NC Key \NC type \NC Explanation \NC\FR +\NC cmd \NC string \NC A representation of \LUATEX's internal + command code\NC\NR +\NC chr \NC number \NC The command code modifier\NC\NR +\NC cs \NC string \NC If the token came from a csname, this + is that csname\NC\NR +\NC mod \NC character \NC A single character string representing +the current processing mode. One of {\bf v}ertical, {\bf h}orizontal, +display {\bf m}ath, {\bf n}o, internal {\bf V}ertical, + restricted {\bf H}orizontal, or inline {\bf M}ath mode.\NC\LR +\stoptabulate + +If you modify the table before returning it, then it is wise to return +either a (\type{cmd}, \type{chr}) pair, or a \type{cs} string. That is +because if both options are present, the pair has precedence and the +string is ignored. On the return table, {\bf mod} is ignored always. +-------------- + +I have no long example code yet and it is not as complete as one +would want it to be because it is not intercepting everything that +comes in, only the bits that are triggered by the main control +loop. + +I decided to do a fast snapshot release for two reasons: + +* It is one of the easier extensions to get started with if you want + to learn a bit about lua programming + +* I would welcome feedback on the token interface, because it will + be needed in other places as well, soon. I am still not sure + whether converting the command to/from strings is worth it, for + example. And maybe it would be less confusing if you could return + a list of tokens instead of being called repeatedly? + +Here is the trivial example to get you started: + + \directlua0{ + callback.register('token_filter', function (t) return t end) + } + + +============================================================== +Luatex snapshot-20070307 was released 20070307 +============================================================== + + +* Non-CID PostScript-based Opentype fonts are now combined over + the entire document, and properly subsetted. The code is + borrowed from xdvipdfmx with some minor adjustments + + Adding support for CID-keyed OpenType fonts would not be hard + but at the moment I lack example input (and incentive). + +* A small extension to the virtual fonts structure: you can use + + f.fonts[1] = { 'id' = 38} + + to do a backreference to a previously defined font. This saves quite + a few computations + +* There was a bug in the handling of \leaders in the output whereby + it's width was taken to be twice what it should be while writing + to the PDF, fixed now. + +* The font inclusion code is cleaned up a bit by Hartmut. + +* Some compilation problems were fixed. + +* There is (quite a bit of) debugging information printed out when + OTPs are in use, because I am tracking down a bug reported by Idris. + + The input of each and every OTP step is shown on the terminal in + a line line this: + + [57902][1568][58423][1568][58408][1568][58921] + + those are the decimal values of ocp i/o characters. If you don't + need them, don't worry about it. + +============================================================== +Luatex snapshot-20070302 was released 20070302 +============================================================== + +* The 'snapshot version' banner is now calculated dynamically + at build time. This aids in figuring out what binary people + are actually running, but it can possibly break the build on + systems that do not have a `date` command. + +* The do_vf() function that checks for virtual font existance + is now run immediately after the font definition instead of + being postponed until characters are output. + +* The 'define_font' callback interface has changed a little. + It is now: + retval = function (name,size,fontid) + + where fontid is the internal font number of the font that + is currently being defined, and retval can be either a table + (as before) or a different, previously defined fontid. This is + useful if a previous definition can be reused instead of + creating a whole new font structure. + +* The internal font data structure has been redone. Glyph index + inside a font is now handled by a sparse array, so that use + of e.g. 0xFB01 (fi-ligature) no longer creates a 64000+ entries + character array. + +* The internal cache-ing of font metric information is turned + off completely, because it was based on the assumption that + name + size were a unique identifier for a font. This can no + longer be guaranteed. + +* word boundary processing now works OK again, thanks to the + introduction of two virtual characters in the font table + definition. Besides the normal numeric entries in the + f.characters table, there can now also be two string keys: + "left_boundary" and "right_boundary". The ligatures and kerns + of the 'left_boundary' character are used for the pre-word + boundary processing, ligatures and kerns between characters + and 'right_boundary' are used for the post-word processing. + +* Lua font table references are no longer cached by the + executable ,in order to preserve memory. (the only downside + is that font.fonts[] access is now slower because of the need + to recreate the lua table). + +* There are other some small changes to the font table formats. + Please see the manual for details. + +* A 'real' font can now still have virtual characters if they + are loaded via lua. Just set the 'commands' section and/or + the 'fonts' array to your liking, and it should work out. + + If you have created no 'fonts' array at all, then the default + font (indentifier '1') is the current font, so that you + can create virtual duplicates of already existing characters. + + Note: this does not work the other way. There can not be + 'real' characters in a virtual font! + +* Truetype-based opentype fonts no longer require Acrobat 7 + t(hey are now written out as if they are normal truetype). + +* A lua init script can now set 'texconfig.formatname' and/or + 'texconfig.jobname'. If ther is no file or format specified + on the commandline, then, if, one of those keys is present, + that key will be used instead of simply quitting with an + error. + +* Placement of boxes and rules in right-to-left mode is debugged, + and now seems to work ok. + +* Virtual font loading is debugged. + +* Some memory leaks are resolved + +* HZ font expansion should work ok again, but is not tested. + +* a few of the warning during opentype loading have been removed + because the problems are rather harmless and turned out to be + triggered by almost every font. + + +============================================================== +Luatex snapshot-20070218 was released 20070218 +============================================================== + +* The pdftex stuff is now updated to 1.40.3 + (and on top of that, it still has those extra patches announced in + snapshot 20070202) + +* The virtual font parser is debugged and now appears rather stable. + +* There is one extra virtual command: + + "commands" = { + {"slot", 1, 97}, -- place character 97 'a' in local font 1. + } + + This is just a shortcut for {"font",1}, {"char", 97} + +* Some small memory leaks have been fixed. Luatex does not leak big + time, but I'd like to get back to valgrind reporting '0 out of 0', + instead of the current 800 bytes or so (that is a slow process). + +* You can read a truetype or opentype font from within lua code + using font.read_ttf() or font.read_otf(), respectively. + + This feature uses a fair bit of the fontforge code, making the + binary rather a bit larger than before. Just so you know. + + Apple (AAT, as well as encoding) support is still largely missing, + and bitmap-only and old Multiple-Master truetype fonts are not + supported at all (and never will be). + + The output format is (shadily) documented in the reference manual. + At the moment, it very closely resembles the internal font stucture + that is used by fontforge. + +* LuaTeX can now write wide OpenType fonts to the PDF file. + + There is no subsetting support yet, and a ToUnicode CMap is also + still missing, but nevertheless it is already somewhat useful. The + rule is very simple: if a font uses code points above 255, then it + is considered to be a `wide' font, and it will be written out as + a Type0 CID-keyed font to the PDF. + + Caveat: Getting suitable metrics into LuaTeX can be a bit of problem + right now, because font.read_otf() does not produce anything that + can be fed back into define_font without extra processing. Hans has + some experimental Lua code for ConTeXt (of course :-)) and that is + how I know it works. You can expect a nicer interface soon, + hopefully next week, in the form of a simplistic table conversion + routine. + +* I have started work on supporting Aleph's bidi typesetting in PDF + mode as well, simple text seems to be largely ok. More complicated + documents will no doubt still show some bugs, but fixing those will + be easy (once they are discovered). Exactly what happens with specials + is not yet investigated. + +* Omega's (16-bit) wide virtual fonts now work OK in PDF mode. This + means that many Aleph files can now be run in PDF mode directly. + (the documents that use UTF-8 input encoding) + + +============================================================== +Luatex snapshot-20070202 was released 20070202 +============================================================== + + +* The pdftex stuff is now updated to 1.40.2, and on top of that, it has + + - an extra patch from Han The Thanh that adds a primitive to control + the merging of fonts from external pdf images (\pdfreplacefonts), + and a bugfix for virtual font handling. + + - an extra patch by Hartmut Henkel that removes a number of malloc()s + and free()s from the calls to the compression library, thereby + making luatex run a bit faster. + +* luatex now happily accepts the following low-level syntax: + + \font\myfont = <general text> <at specifier> + + It feeds the <general text> to either kpathsea or a lua script for + further processing after stripping the braces. + + In itself, this is not all that useful, but the reason for this + syntax extension is that it paves the road for a macro package + to do something like this: + + \font\myfont = {font="Times New Roman", color="\darkred", + encoding="ec", features="liga", size=10bp} + + without having to resort to system-specific quoting mechanisms. + Macro (and other) expansion takes inside the braced argument. + + (I am considering adding this extension to \input as well). + +* It is now possible to define a font into the font.fonts[] + directly from lua, but becayse use is limited, I am only + mentioning it to be complete. + + Syntax: + <number> id = font.define(<table> font) + +* There is a (not very reliable yet) virtual font parser accessible + from lua. + + Syntax: + <table> vfdata = font.read_vf(<string> name, <number> size) + + The interpreter tries to give a reasonable representation of a + virtual font file (the .vf file). Besides a few simple top-level + items: + + designsize -- in scaled points + size -- also in sp + name -- the file name + checksum -- the vf checksum + header -- the header comment (if any) + + it also has a top-level array 'fonts' wherein each item is a mini- + array describing one of te mapped fonts. An example makes this + easy to understand + + "fonts" = { {"ptmr8a",655360}, {"psyr", 600000} } + + says that the first referenced font (index 1) in this virtual font + is ptrmr8a.tfm loaded at 10pt, and the second is psyr.tfm loaded + at a little over 9pt. These index numbers are used by the character + command definitions that follow. + + At top level, there is a 'characters' array, just as for a normal + font, except that each item has only two keys: + + "width" -- the tfm width (as stored in the .vf) + "commands" -- an array of virtual font commands for a character. + + each of the items in the 'commands' array is itself a tiny hash. + + Each of those mini-hashes represents a single character packet + command. Here is a 'commands' entry that contains every possible + one at least once: + + "commands" = { + {"push"}, -- remember where we are + {"right", 5000}, -- move right 0.08pt + {"font", 1}, -- select the fonts[1] entry + {"setchar", 97}, -- place character 97 'a' + {"pop"}, -- go all the way back + {"down", -200000}, -- move *up* about 3pt + {"special", "pdf: 1 0 0 rg"} -- switch to red color + {"rule", 500000, 20000} -- draw a bar + {'special',"pdf: 0 g"} -- back to black + } + + +* But the big news is that you can now define your own virtual fonts + on the fly, by adding a few statements to the table returned to + the 'define_font' callback. + + There are a few requirements: + + - The table has to have a top-level key 'type', and it's value + must be 'virtual'. + + The presence of this key with the specific value 'virtual' + will trigger handling of the rest of the special virtual font + fields in the table, but the mere existance of 'type' is + enough to prevent luatex from looking for a virtual font + on its own. + + Therefore, this also works 'in reverse': if you are absolutely + certain that a font is not a virtual font, assigning the value + 'base' or 'real' to 'type' will inhibit tex from looking for a + virtual font file, thereby saving you a disk search. + + - There must be a top-level 'fonts' array, as explained above. + Any fonts that are not yet known to luatex at that moment, + will be loaded automatically (Warning: do not ever use a font + in 'fonts' with the same name you will return in the table you + are defining right now!). + + - Each and every character in the fonts needs to have a 'commands' + key, as explained above. + + The main point behind these restrictions is that a font is + *either* a base font *or* a virtual font. It cannot be both + at the same time. + + +============================================================== +Luatex snapshot-20070126 was released 20070126 +============================================================== + + +* Underscores in pascal identifiers are now retained. + + This took quite a bit of work. The web2c conversion tools + needed only small adjustments, but most of the existing C + code depended on the removal of the underscores. I had to + go through changing many lines. 99% of all identifiers are + now written the same on the pascal side as on the C side. + This makes writing interface code quite a bit less confusing. + + Not everything is completely clean yet, because I did + not want to change the web2c-specific C files. I often + took the other approach and removed the underscores + from the web2c options (like 'parsefirstlinep') in the + change file instead. Ugly, but predictable. + + There is about a dozen or so of #defines left, that map + memoryword -> memory_word + strpool -> str_pool + etc. + +* The virtual font parsing and interpreting is now done in C. + (this is because it needs to be interfaced with the lua-based + font loader) + +* I am in the process of merging: the VF stuff; the TFM stuff; + the lua font loading; and the pdftex font backend into one + interface, so there were some smallish changes relating to + that as well. Nothing worth mentioning just yet except that + luatex now will read "ovf" files as well as "vf" files. + +* There are a few really small bugfixes for bug reports I received + on this list and by email. + +============================================================== +Luatex snapshot-20070119 was released 20070119 +============================================================== + +The largest new bit is the existence of a font.fonts array, that you +can use to query/adjust the internal defined tex fonts. See the manual +for more details. + +Two small new lua extensions are added as well: + + * os.setenv() -- to change the environment + * os.exec() -- a non-returning os.execute() + +And a bit of cleanup in the commandline processing. + + +============================================================== +Luatex snapshot-20070117 was released 20070117 +============================================================== + +* the pdftex core is updated to 1.40.1, and web2c to 7.5.6 + +* the pdftex-specific documentation is removed + +* lua lpeg library updated to 0.4 + ( http://www.inf.puc-rio.br/~roberto/lpeg.html ) + +* the C part of the lua md5 library is added to the binary + ( http://www.inf.puc-rio.br/~roberto/md5/md5-5/md5.html ) + +* --luaonly now puts the script itself at arg[0], and + preceding commandline items in the negative indices + (instead of starting the count at zero). + This new approach is compatible with the standalone lua + interpreter. + + +============================================================== +Luatex snapshot-20070107 was released 20070107 +============================================================== + +Hot on the heels of 20070105, a new snapshot. It turns out +that using the callback to define a font broke all ligatures. +This snapshot fixes that, and it has a few minor updates to +the manual. Next shapshot will be after the inclusion of +pdftex 1.40.1. + +============================================================== +Luatex snapshot-20070105 was released 20070105 +============================================================== + + * the calculations that converted lua strings into tex units + were horrendously wrong, this was discovered by Pawel. + + * io.lines() was still using the old, line ending sensitive, + code from the lua core distribution + + * The main font memory is allocated as needed^(1) instead of + statically pre-allocated. + + * ligatures and kerns are separated completely from each other, + so use of \noligatures no longer inhibits kerning as well + + * Metrics can be loaded using a callback: 'define_font'. + The value returned should be a lua table representing a tfm + file. + + * there is a new lua table: font. It has one function: + font.read_tfm() that returns a table reprentation of the tfm + contents, for use with the above mentioned callback + + * I dropped suppport for "Level 1" OFM files. I would like + to have a try at those extended font files, but I lack + examples (fonts nor documents). I am not even sure such + fonts have ever existed in the 'real world'. + + + +============================================================== +Luatex snapshot-20061208 was released 20061208 +============================================================== + +* There is a new switch: --safer. This disables a number of lua + functions that are more or less dangerous (a detailed list is + in the manual) + +* Two longstanding bugs have been fixed: \latelua works once + again (patch by Hartmut) and a bug that caused mysterious crashes + turned out to be a problem inside the paragraph builder + (reconstitution of ligatures) + +* Six new string iterators have been added to the string library: + string.characters (one 1-letter string) + string.bytes (one byte) + string.characterpairs (two 1-letter strings) + string.bytepairs (two bytes) + string.utfcharacters (a one-character utf-8 string) + string.utfvalues (a unicode code point number) + +* The top 256 values of the unicode range (starting at hex + value "10FF00) are now reserved for byte output. Characters + in that range will be written by luatex after substracting + that offset. The net result is that \char"10FFA9 is written + as byte value hex A9 = decimal 169 = copyright sign in latin1 + + This trick allows byte-oriented output to \pdfliterals and + \specials, but should be considered very experimental. + +* There is a new callback called 'process_input_buffer' that can + be used to mutate the line buffer just before LuaTeX actually + starts looking at it. + +* The statistics table now has readable items + statistics.inputid + statistics.lasterrorstring + that represent TeX's current input id and the last error string + +* The show_error_hook callback no longer receives any arguments +* There is a new switch: --safer. This disables a number of lua + functions that are more or less dangerous (a detailed list is + in the manual) + +* Two longstanding bugs have been fixed: \latelua works once + again (patch by Hartmut) and a bug that caused mysterious crashes + turned out to be a problem inside the paragraph builder + (reconstitution of ligatures) + +* Six new string iterators have been added to the string library: + string.characters (one 1-letter string) + string.bytes (one byte) + string.characterpairs (two 1-letter strings) + string.bytepairs (two bytes) + string.utfcharacters (a one-character utf-8 string) + string.utfvalues (a unicode code point number) + +* The top 256 values of the unicode range (starting at hex + value "10FF00) are now reserved for byte output. Characters + in that range will be written by luatex after substracting + that offset. The net result is that \char"10FFA9 is written + as byte value hex A9 = decimal 169 = copyright sign in latin1 + + This trick allows byte-oriented output to \pdfliterals and + \specials, but should be considered very experimental. + +* There is a new callback called 'process_input_buffer' that can + be used to mutate the line buffer just before LuaTeX actually + starts looking at it. + +* The statistics table now has readable items + statistics.inputid + statistics.lasterrorstring + that represent TeX's current input id and the last error string + +* The show_error_hook callback no longer receives any arguments + +* The statistics table now has readable items + statistics.luabytecodes + statistics.luastates + statistics.luabytecode_bytes + statistics.luastate_bytes + for memory statistics reporting + + +* The statistics table now has readable items + statistics.luabytecodes + statistics.luastates + statistics.luabytecode_bytes + statistics.luastate_bytes + for memory statistics reporting + + +============================================================== +Luatex snapshot-20061204 was released 20061204 +============================================================== + +* The LuaTeX interpreter can now be run as a standalone lua script + processor, by using a commandline like this: + + luatex --luaonly=luatools.lua + +* Luafilesystem (http://www.keplerproject.org/luafilesystem/ ) is + included. + +* There are a total of eight new file discovery callbacks: + find_vf_file + find_ocp_file + find_map_file + find_enc_file + find_sfd_file + find_pk_file + find_data_file + find_opentype_file + this enhances the orthogonality of the callback system, nothing + fundamental is changed. + +* There is a new callback called 'process_input_buffer' that can + be used to mutate the line buffer just before LuaTeX actually + starts looking at it. + +* The 'reader' and 'close' functions from 'open_read_file' now + receive the table they are defined in as a function argument, + that can be used as a per file localized data store. + +* Updated the Lua to the latest 5.1.1, with all known bug patches + from the website applied as well + +* Runtime autoloading of lua .so files is now off on all platforms. + +* The statistics table now has readable items + statistics.filename + statistics.linenumber + that represent TeX's current file name and line number + +* The support for user-defined type3 font .pgc files and the + associated 'read_miscfonts_file' callback has been removed. + (nobody used it anyway) + +* General cleanups to the source tree and build process. + +============================================================== +Luatex snapshot-20061023 was released 20061023 +============================================================== + +* there was a missing callback: find_font_file +* program_invocation_name was not set +* buf_size could not be more that 300k + + +============================================================== +Luatex snapshot-20061013 was released 20061013 +============================================================== + +Last friday I uploaded a new snapshot and today I finally +finished updating the manual to go with it. The changes all +relate to startup, file i/o, and callbacks. The main achievement +is: you can now run luatex without it *ever* initializing kpathsea. + +Because I am lazy, I have checked in the pdf of the manual +as well, so that I can say: Please look at + + https://foundry.supelec.fr/plugins/scmsvn/viewcvs.php/manual/ + /luatexref-t.pdf?root=luatex&rev=148&view=log + +for all the details. :-) + +============================================================== +Luatex snapshot-20061002 was released 20061002 +============================================================== + + +* Some infrastructure changes: + + libs/slnunicode-0.9.1/ renamed to libs/slnunicode/ + libs/zziplib added + libs/luazip added + + (zziplib is using a different version of autofoo. I know I have + messed up something in the build process, but the bit we need + compiles ok so I've postponed attempting to fix it) + +* The callback logic has changed quite a bit. + + - all callbacks are now only possible in lua state 0. + + - The callback 'input_line' has disappeared, and is replaced by + 'open_read_file'. One of the return values of that callback + is a table that defines a 'reader' function for line reading. + + See the manual for further information on this. + + - There are some new callbacks for the reading of various binary + files. The current ones are: + + "read_ocp_file", "read_vf_file", "read_data_file", "read_font_file", + "read_map_file". + + The rest of the file types will follow soon (fonts, enc files, and + images). + + - There are also some new callbacks that 'find' a file's pathname: + + "find_truetype_file", "find_type1_file", "find_image_file" + + here too, more will follow later. + + - the functions from io. that were copied to texio have been removed + again. The new callbacks do not pass file pointers around, so + they ere not longer needed + + - the 'open_write_file' is temporarily unavailable + +* startup.lua is now always loaded into lua state 0 + +* The luazip library from kepler is linked in, so there the table 'zip' + is accessible from all lua states. + +============================================================== +Luatex snapshot-20060922 was released 20060922 +============================================================== + +* The texio table has gained a new function: + + tex_file = texio.open(filename) + + returns a file handle of a type that luatex can use + internally (the return of io.open is unusable in callbacks + because it will be garbage-collected at a random time) + + +* In related news, there are two new callbacks you can define: + + callback.register('open_read_file', f) + callback.register('open_write_file', f) + + where your function should have the following conventions: + + function f (number id_number, string asked_name) + return boolean success, string actual_name, tex_file filep + end + + id_number: zero for the log or \input files or TeX's \read + number incremented by one (\read0 becomes 1). + asked_name: the user-supplied filename + + success: return false for error, true otherwise. + + The remaining two items are only looked at if you return true: + + actual_name: the true filename used (with extension!) + filep: a file object opened though texio.open() + + +* The tex.print function has an extra optional parameter: + + tex.print(ctt_id n, strings ...) + + This prints the strings using the catcode regime defined by + \catcodetable n (assuming n is valid, see below) + +* The new function tex.sprint has the same lua conventions as + tex.print, but behaces slightly different on the tex side: + + ** tex does not switch to the 'new_line' state (this implies + that leading spaces are not ignored) + ** no \endlinechars are inserted + ** trailing spaces are not removed from the argument + +* Catcode tables are a completely new feature, that allows + you to switch the current catcode regime in one simple + statement: + + \catcodetable <count> + + Switches to the use of a different set of catcodes (table), + that is stored under the number <count>. Such a table has to + be previously created using one of the two command below, or + the number 0 (which is pre-inititialized) + + This command obeys normal grouping rules. + + \initcatcodetable <count> + + creates a new, global, independent catcode table with catcodes + matching the code that are predefined by initex (tex -ini). + + This allocation is global + + \savecatcodetable <count> + + copies the current set of catcodes to a new, global, table + with id number <count>. The definitions in this new table + are all treated as if they were made in the outermost level. + + This allocation is global + + At the end of each grouping level, items within all existing + catcodetables are restored, regardless of which one is the + currently active table. + + Catcode table numbers cannot be larger than 0xFFFFFFF (228-1) + +* There is a new lua table: lua. It contains three read-only + items: + + lua.id -- the id number of the instance + lua.version -- a luatex version identifier string + lua.startupfile -- the full filename (+path) of startup.lua + + and it also contains a read/write array: + + lua.bytecode[] -- lua executable bytecode + + This array can be used to save and restore lua functions + across lua states. The accepted values are for assignments + are functions and nil. Likewise, the retrieved value is + either a function or nil. + + The contents of the lua.bytecode array is stored inside the + format file, so it can also be used to preload lua code. + + +* The format files are quire a bit smaller than before + + +============================================================== +Luatex snapshot-20060915 was released 20060915 +============================================================== + +* There is a new TEX primitive: \formatname. It is similar + to \jobname (read-only). In initex, the expansion is empty, + otherwise the expansion is the same as the \jobname from + the initex run. + +* the lua "tex" table has been expanded with a few of the 'convert' + codes (read-only). The supported ones at this moment are: + + tex.eTeXVersion + tex.OmegaVersion + tex.AlephVersion + tex.pdftexrevision + tex.pdftexbanner + tex.pdfnormaldeviate + tex.jobname + tex.formatname + tex.eTeXrevision + tex.Omegarevision + tex.Alephrevision + + This list looks haphazard, but it really is not. These are + all the cases of the 'convert' internal command that do not + require an argument. + +* The metatables of the subtables like tex.dimen[] etc. are now + adjustable from lua (not that I recommend doing that;-)). + +* On the lua side, there is a new global value: "luaid" + It holds the internal id number of this \directlua instance. + +* There is a new lua table, "callback", that has the single function + "callback.register", used to register callbacks. This replaces + the previous concoction (see my message about snapshot 20060901). + Syntax is : + + callback.register(<callback name>,function (f) ... end) + + where the <callback name> is for the moment, either "input_line" + or "show_error_hook". + + This function internalizes the callback function in such a way + that you no longer have to worry about \luacallback (which has + been removed), nor does it matter if you redefine a function + accidentally. + + The internal testing for callback presence is also quite a bit + faster, thanks to this change. Callback assignments are global + and the "input_line" always takes effect starting on the next + input line to be read from an actual file. + + +* \detokenizedlua has been removed. It is functionally replaced by + the new function call tex.write(""). + + Each argument to each call of tex.write () counts as an input + line, but: + ** all catcodes on that line are either 'space' (for " ") or + 'character' for all others. + ** there is no \newlinechar appended. + +* The implementation of tex.print() has changed as well: + + ** the very last tex.print() line from a \directlua + will no longer have a trailing \newlinechar + (this is very convenient when \directlua is used + within an \edef) + ** tex.print() is quite a lot faster than before, and the total amount + of returnable text from a \directlua is now only limited by + available system RAM. However, each separate tex.print () + argument has to fit in TeX's input buffer. + +* The new primitive \luastartup can be set inside the format file + to specify the lua instance number in which a possible runtime + startup.lua script is executed (initex always uses 0) + +* There is a new primitive \scantextokens. Differences with + eTeX's \scantokens are: + + ** the last line (usually only) from \scantextokens + does not have a \newlinechar + + ** \scantextokens never raises an eof error. + + This means things like + + \edef\testone + {\scantextokens{\ifnum1=1 true}\else false\fi} + + are legal input (but potentially dangerous!). + +* If you say + local d = tex.dimen["unknowndimen"] + 'd' will now become "nil" instead of raising an error + + However, + tex.dimen["unknowndimen"] = d + is still (and probably will remain) illegal + +============================================================== +Luatex snapshot-20060908 was released 20060908 +============================================================== + +* BIG CHANGE: \directlua now runs \scantokens internally. + + There is no longer a need to call scantokens yourself, the + tex.print() output is now fed straight into a pseudo file. + This is quite a bit faster as well as easier to use, but + just in case you want it, the old behaviour is still present, + under the new name + + \detokenizedlua + + +* The texio library now has its own (partial) set of I/O commands, + so that the standard lua io library is back to the distributed + state (no more patched garbage collector) + + Note: This is really a very small change (it should not have any + impact on wellbehaved input files), but I attempt to be complete + in these notes, since there is no official documentation yet. + + +* There is a new standard library available: kpse + + The most important function in that library is find_file: + + string = kpse.find_file(string filename + [,string type] + [,boolean mustexist]) + + both "type" and "mustexist" are optional, so the function + has from one upto three arguments. + + "type" is like the '-format' argument of kpsewhich. You can + run 'kpsewich -h' for a list. The default type is "tex". + + "mustexist" is like '-must-exist', and the default is false. + If you specify "true" (or a nonzero integer), then the kpse + library will search the disk as well as the ls-R databases + + The new library also has three other functions that map + straight to kpsewhich commandline options: + + string = kpse.expand_path(string) + string = kpse.expand_var(string) + string = kpse.expand_braces(string) + +* There is a second callback possibility: + + texio.show_error_hook(string message, + string|number indicator, + number lineno) + + This command is run from inside the TeX error function, and the + idea is to allow you to do some extra reporting on top of what + TeX already does (none of the normal actions are removed). + + "message" is the formal error message tex has given to the + user (the line after the "! ") + "indicator" is either a filename (when it is a string) or a + location indicator (a number) that can means lots of different + things like a token list id or a \read number. + "lineno" is the current line number + + This is an investigative item only, comments are welcome but do + not take the syntax seriously. + + The final goal IMO is the total replacement of TeX's error + handling routines, but that needs lots of adjustments + in the web source because TeX deals with errors in a somewhat + haphazard fashion (it needs unification first). The current + hook is only for 'testing the water'. + +* It is now possible to use named items in the + + tex.count[] + tex.dimen[] + tex.toks[] + + subtables, so you can have + + tex.count.scratchcounter = 0 + local enormous = tex.dimen["maxdimen"] + + Luatex looks up the value for you on the fly. You have to use a + valid \countdef (or \dimendef, or \toksdef), anything else will + generate an error. + + In a normal TeX file, you don't do \dimen\maxdimen, but the + lua syntax seems to be a bit cleaner to me. The intention is + to evntually also allow \chardefs and macros that expand + into a number (todo) + + +* The tex table has also been extended with a large list of internal + parameters (partially read/write). It is possible to access + about every primitive that you can use after \the *and* is a + single token. So there is + + integer = tex.tracingcommands (\the\tracingcommands) + integer = tex.prevgraf (\the\prevgraf) + string = tex.output (\the\output) + + etc. for all of the internal parameters, but not the items + that need extra arguments (like \the\scriptfont ) + + The subset comprising simple integer and dimension registers + are writable as well as readable (stuff like \tracingcommands + and \parindent). + + The fact that both lists are still quite limited is a result of + the very different types of things that can occur after \the and + also on the LHS of an assignment. The remaining primitives will + be filled in when there is a real need or implementation becomes + simple, whichever comes first. + + + +============================================================== +Luatex snapshot-20060901 was released 20060901 +============================================================== + +All changes are related to lua this time, and most are quite unstable +/ experimental. But first the things that are stabel/fixed bugs: + +* A VF loading bug that turned up in some of Hans' fonts + has been fixed + +* A small series of bounds checking fixes to \ocplist has been + added to prevent the system from crashing due to array indexes + running out of bounds. + +* The Lua file searching paths are now fixed. The search path for lua + script files now contains the following items (tried in order) + 1. the local directory: + ./?.lua + (for document-specific files) + 2. the items from the expansion of kpathsea's $TEXMFSCRIPTS variable, + but only the parts containing 'lua' as a subpath: + $TEXMFSCRIPTS<lua>/?.lua + $TEXMFSCRIPTS<lua>/?/init.lua + (for format-specific files) + 3. the $SELFAUTOPARENT sibling directory named 'lib'. + $SELFAUTOPARENT/lib/lua/5.1/?.lua + $SELFAUTOPARENT/lib/lua/5.1/?/init.lua + (for files that are not related to tex) + + The search path for dynamic libraries has only + 1. the local directory: + ./?.so + (for document-specific files) + 2. and the $SELFAUTOPARENT sibling directory named 'lib'. + $SELFAUTOPARENT/lib/lua/5.1/?.so + + (of course the extension is .dll on windows, but .dlls do not + work at the moment so it will not do you much good) + +* There are two functions available within a new table called + texio: + texio.write (luastring) + texio.write_nl (luastring) + both write the luastring to the same location(s) TeX writes + its stuff. So if \batchmode is on, it writes only to the + log, inside a \write, it prints to the current write file, + etc. + + A read|write interface to TeX's "file selector" will + follow shortly. + +* At startup, luatex searches for a script named + startup.lua + in the path list I explained above. If such a file exists, it is + loaded. + + This happens right before the first input file needs to be opened + (that is after format loading, but before any \everyjob tokens). + + From within the script, you can check the value of + + tex.formatname + + that is the 'format identification' as used by TEX. When the variable + is equal to nil, luatex in in 'initex' mode, otherwise it will be + something like: " (format=plain 2006.9.1)" + + +Now for the experimental portion: callbacks. Here is what I have done +so far: + +* The main reason for wanting startup.lua is file (input) re-encoding. + For this purpose, it is now possible to set up a callback for + luatex to execute. + + If you attach a Lua function to + + texio.input_line + + then from the next input line onwards, luatex will run that + function whenever it needs a new input line from a text file. + + Your function will receive a file handle as argument, and + should return either a string or nil (with nil signalling that + the end of file has occurred). + + The trivial case is simply this: + + function reader (f) + return f:read() + end + texio.input_line = reader + + + Warning: The implementation is not totally finished yet. For the + moment the file handle ("f" in the example) is a normal lua file, + with a simple but important restriction: you cannot alter its value. + You cannot f:close() it, or assign it a different value. luatex + will eventually close the file itself. + + The restriction is a side-effect of a synchronisation problem with + the lua garbage collector. Because of this, it also was necessary + to turn off the automatic file closing code for normal lua io + files (In other words: you have to close yourself all the files + you opened yourself, and you should not close any files you did + not open yourself). + + In the near future, "f" will become a special 'texio' file object + and the needed functionality from the normal io library will be + reimplemented. Along with that change, there will also be a callback + to open (i.e. find) files, and a simple interface to the compiled-in + kpathsea to use within that callback. + + +============================================================== +Luatex snapshot-20060825 was released 20060825 +============================================================== + +The main change in this snapshot is that it uses far less memory. +luatex -ini on my linux machine went from 326Mb (last week) to +93Mb (now), and "texexec luatex" now ends at 184Mb instead of +over 1/2Gb. + +This is achieved by two big changes: + +* The \mathcode, \delcode, \catcode, \sfcode, \lccode and \uccode + tables are now sparse arrays that are implemented in C. They + are no longer part of the TeX "equivalence table" and because + each had 1.1 million entries with a few memory words each, this + makes a major difference. + + See mathcodes.c and textcodes.c if you are interested in the + gory details, but be warned: the code is still extremely + rough and ugly. In particular, the dump and undump routines + are far from optimal, resulting in somewhat larger format files + than before (approx 1.3Mb larger with unicode-letters loaded, + 10k without); and the assignments do not show up when using + the etex tracing routines \tracingassigns and \tracingrestores + (code simply not written yet) + +* Single-character commands are no longer "special" internally, + they are stored in the hash just like the multiletter csnames. + + +============================================================== +Luatex snapshot-20060818 was released 20060818 +============================================================== + +The snapshot is up to par with Aleph-RC4 (from texlive devel) +and the latest pdftex beta (even newer than 20060811). However, +there are some differences, to summarize: + +* There is no pool file (all strings are embedded) + +* -8bit and -translate-file are silently ignored + +* There is no mltex nor enctex (conflicts with aleph) + +* The tex functionality is always present and enabled + (but see below about TeXXeT), so the asterisk or + -etex switch for initex is not needed + +* "plus 1 filllllllll" does not generate any errors from TeX + +* TeXXeT (from eTeX) is not present, so the primives + \TeXXeTstate + \beginR + \beginL + \endR + \endL + are missing + +* The experimental pdftex regex match operations are removed, + because that feature does not make much sense when lua is + available so the primitives + \pdfmatch + \pdflastmatch + are missing + +* The input translations from Aleph are not implemented, the + 16 related primitives are all missing + \DefaultInputMode + \noDefaultInputMode + \noInputMode + \InputMode + \DefaultOutputMode + \noDefaultOutputMode + \noOutputMode + \OutputMode + \DefaultInputTranslation + \noDefaultInputTranslation + \noInputTranslation + \InputTranslation + \DefaultOutputTranslation + \noDefaultOutputTranslation + \noOutputTranslation + \OutputTranslation + All file IO assumes UTF-8, except that all the low-ascii + controls except TAB, CR en LF are written to the terminal + using ^^ notation (even these are binary in the log file). + +* Input characters can use the full range of Unicode, + but it probably only makes sense to use values above + the base plane for \mathcode and \catcode assignments, + since the fonts as well as the hyphenation patterns + are strictly 16-bit still. + +* The primitives + \pdfpagewidth and \pagewidth, + \pdfpageheight and \pageheight, + \fontcharwd and \charwd, + \fontcharht and \charht, + \fontchardp and \chardp, + \fontcharic and \charic, + are all aliases of eachother. + +* The new primitive + \clearmarks<number> + clears a marks class completely. + +* The experimental pdftex primitives + \pdfprimitive + \ifpdfprimitive + \ifpdfabsnum + \ifpdfabsdim + and provided without the extra 'pdf' prefix, so they are + simply called + \primitive + \ifprimitive + \ifabsnum + \ifabsdim + instead. + +* I probably forgot to mention some things :-) diff --git a/Master/texmf-dist/doc/man/man5/synctex.5 b/Master/texmf-dist/doc/man/man5/synctex.5 index 4ec12f39ef3..f4a0c739db5 100644 --- a/Master/texmf-dist/doc/man/man5/synctex.5 +++ b/Master/texmf-dist/doc/man/man5/synctex.5 @@ -1,4 +1,4 @@ -.Dd Jan 17, 2018 +.Dd Aug 30, 2022 .Dt SYNCTEX 5 .Os "Independent" .\" @@ -312,7 +312,7 @@ If there is no postamble, it means that the typesetting process did not end corr .El .Sh The post scriptum The post scriptum contains material possibly added by 3rd parties. -It allows to append some transformation (shift and magnify). +It allows one to append some transformation (shift and magnify). Typically, one applies a dvi to pdf filter with offset options and magnification, then he appends the same options to the synctex file, for example .Bd -literal -offset indent @@ -362,6 +362,7 @@ last full point available above. The Synchronize TeXnology is essentially due to Jerome Laurens, with useful suggestions by some well known actors of the TeX world. .\" .Sh BUGS \" Document known, unremedied bugs +SyncTeX is maintained as part of TeX Live. .Sh HISTORY \" Document history if command behaves in a unique manner This document has been updated on Sat Apr 22 09:57:20 UTC 2017 to include \\pdfxform support. .\" nroff -man synctex.5 | less diff --git a/Master/texmf-dist/doc/man/man5/synctex.man5.pdf b/Master/texmf-dist/doc/man/man5/synctex.man5.pdf Binary files differindex 57ded35d81d..fd512c20944 100644 --- a/Master/texmf-dist/doc/man/man5/synctex.man5.pdf +++ b/Master/texmf-dist/doc/man/man5/synctex.man5.pdf diff --git a/Master/texmf-dist/doc/pdftex/manual/ChangeLog b/Master/texmf-dist/doc/pdftex/manual/ChangeLog index 70cf61a9301..af506f2082a 100644 --- a/Master/texmf-dist/doc/pdftex/manual/ChangeLog +++ b/Master/texmf-dist/doc/pdftex/manual/ChangeLog @@ -1,3 +1,33 @@ +2023-02-26 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\introducedplural): new macro. + (\pdfinterwordspaceon,off, \pdfspacefont): tweak Thanh's description. + Use \Lbrace, \Rbrace outside of \type. + +2023-01-20 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfliteral, \special): document new shipout keyword. + From Phelype Oleinik <phe.h.o1@gmail.com>, 16 Jan 2023 20:51:33, + mail to latex-team + karl. + +2022-12-22 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfomitprocset): document. + +2022-06-08 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (Graphics): never mind about "encapsulated PDF"; + mention supp-pdf.tex and supp-pdf.mkii. + +2022-04-26 Karl Berry <karl@freefriends.org> + + * pdftex-t.tex (\pdfinfoomitdict): document. + + * pdfhelp-help.txt: regenerate for mailing list url. + + * Makefile (pdftex-w.pdf): set KPATHSEA_WARNING=0 since we run + this with -ini. + 2022-02-28 Karl Berry <karl@freefriends.org> * pdftex-t.tex (ptex_devel): svn://tug.org url. diff --git a/Master/texmf-dist/doc/pdftex/manual/Makefile b/Master/texmf-dist/doc/pdftex/manual/Makefile index adbb1c7c95a..481b8567b99 100644 --- a/Master/texmf-dist/doc/pdftex/manual/Makefile +++ b/Master/texmf-dist/doc/pdftex/manual/Makefile @@ -1,4 +1,4 @@ -# $Id: Makefile 875 2022-03-01 02:08:10Z karl $ +# $Id: Makefile 879 2022-04-26 16:19:17Z karl $ # Makefile for pdfTeX documentation. Public domain. # Get version we're documenting from the \def in the manual. @@ -60,6 +60,7 @@ pdftex-w.txt: pdftex-w.pdf pdftex_binary = ../../source/build-pdftex/texk/web2c/pdftex pdftex-w.pdf: pdftex-w.tex Makefile TEXFONTS=/usr/local/texlive/dev/texmf-dist/fonts// \ + KPATHSEA_WARNING=0 \ $(pdftex_binary) -ini '$<' @@ -68,7 +69,7 @@ pdftex-help.txt: force $(pdftex_binary) --help >$@ || rm -f $@ force: -# if we don't have a build tree around, just try from the path. +# if we don't have a build tree around, try from PATH. build_binary := ../../source/build-pdftex/texk/web2c/pdftex ifneq "$(realpath $(build_binary))" "" pdftex_binary := $(build_binary) diff --git a/Master/texmf-dist/doc/pdftex/manual/pdftex-a.pdf b/Master/texmf-dist/doc/pdftex/manual/pdftex-a.pdf Binary files differindex 4fa8985b52d..6a03bc138c4 100644 --- a/Master/texmf-dist/doc/pdftex/manual/pdftex-a.pdf +++ b/Master/texmf-dist/doc/pdftex/manual/pdftex-a.pdf diff --git a/Master/texmf-dist/doc/pdftex/manual/pdftex-syntax.txt b/Master/texmf-dist/doc/pdftex/manual/pdftex-syntax.txt index 31b92f29e9e..6e8a42a3057 100644 --- a/Master/texmf-dist/doc/pdftex/manual/pdftex-syntax.txt +++ b/Master/texmf-dist/doc/pdftex/manual/pdftex-syntax.txt @@ -27,10 +27,12 @@ \pdfinclusioncopyfonts (integer) \pdfinclusionerrorlevel (integer) \pdfinfoomitdate (integer) +\pdfinfoomitdict (integer) \pdfmajorversion (integer) \pdfminorversion (integer) \pdfobjcompresslevel (integer) \pdfomitcharset (integer) +\pdfomitprocset (integer) \pdfoutput (integer) \pdfpagebox (integer) \pdfpkresolution (integer) @@ -139,7 +141,7 @@ \pdfinfo <general text> \pdfinterwordspaceoff \pdfinterwordspaceon -\pdfliteral [<pdfliteral spec>] <general text> (h, v, m) +\pdfliteral [shipout] [direct | page] <general text> (h, v, m) \pdfmapfile <map spec> \pdfmapline <map spec> \pdfnames <general text> @@ -159,6 +161,7 @@ \pdfsavepos (h, v, m) \pdfsetmatrix \pdfsetrandomseed <number> +\pdfspacefont <general text> \pdfstartlink [<rule spec>] [<attr spec>] <action spec> (h, m) \pdfthread [<rule spec>] [<attr spec>] <id spec> (h, v, m) \pdftrailer <general text> @@ -170,6 +173,7 @@ \special {pdf: <text> } \special {pdf:direct: <text> } \special {pdf:page: <text> } +\special [shipout] {<general text> } \vadjust [<pre spec>] <filler> { <vertical mode material> } (h, m) %% Syntax rules: @@ -225,7 +229,6 @@ <shrink> --> <number> <step> --> <number> <pre spec> --> pre -<pdfliteral spec> --> direct | page <pdfspecial spec> --> { [<pdfspecial id> [<pdfspecial modifier>]] <balanced text> } <pdfspecial id> --> pdf: | PDF: <pdfspecial modifier> --> direct: @@ -235,3 +238,547 @@ | [<file spec>] [<goto-action struct spec>] [<page spec>] <general text> | <file spec> [<goto-action struct spec>] <nameid> <newwindow spec> | <file spec> [<goto-action struct spec>] [<page spec>] <general text> <newwindow spec> +<text> }} is equivalent to \Syntax{\pdfliteral +shipout { <text> }}. +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Strings} +================= ERROR +\pdftexprimitive{\Syntax{\pdfescapestring <general text> + (expandable)}} +\bookmark{\pdfescapestring} +================= ERROR +Starting with version 1.30.0, \PDFTEX\ provides a mechanism for converting +a general text into \PDF\ string. Many characters that may be needed inside +such a text (especially parenthesis), have a special meaning inside a \PDF\ +string object and thus, can't be used literally. The primitive replaces each +special \PDF\ character by its literal representation by inserting a backslash +before that character. Some characters (\eg\ space) are also converted into +3-digit octal number. In example, \type{\pdfescapestring{Text (1)}} will be +expanded to \type{Text\040\(1\)}. This ensures a literal interpretation of the +text by the \PDF\ viewer. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfescapename <general text> + (expandable)}} +\bookmark{\pdfescapename} +================= ERROR +In analogy to \type{\pdfescapestring}, \type{\pdfescapename} replaces each +special \PDF\ character inside the general text by its hexadecimal +representation preceded by \type{#} character. This ensures the proper +interpretation of the text if used as a \PDF\ name object. In example, +\type{Text (1)} will be replaced by \type{Text#20#281#29}. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfescapehex <general text> + (expandable)}} +\bookmark{\pdfescapehex} +================= ERROR +This command converts each character of <general text> into its +hexadecimal representation. Each character of the argument becomes a pair of +hexadecimal digits. \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfunescapehex <general text> + (expandable)}} +\bookmark{\pdfunescapehex} +================= ERROR +This command treats each character pair of <general text> as +a hexadecimal number and returns an \ASCII\ character of this code. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfstrcmp <general text> + <general text> (expandable)}} +\bookmark{\pdfstrcmp} +================= ERROR +This command compares two strings and expands to \type{0} if the strings +are equal, to \type{-1} if the first string ranks before the second, and +to \type{1} otherwise. \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfmatch [icase] + [subcount <integer>] <general text> + <general text> (expandable)}} +\bookmark{\pdfmatch} +================= ERROR +This command implements pattern matching (using the syntax of \POSIX\ +extended regular expressions). The first <general text> is a +pattern and the second is a string. The command expands to \type{-1} if +the pattern is invalid, to \type{0} if no match is found, and to +\type{1} if a match is found. With the \type{icase} option, the matching +is case-insensitive. The \type{subcount} option sets the size of the +table storing the found (sub)patterns; its default is 10. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdflastmatch <integer> + (expandable)}} +\bookmark{\pdflastmatch} +================= ERROR +The matches found with \type{\pdfmatch} are stored in a table. This +command returns the entry for <integer>, in the format +<position>\type{->}<string>; <position> is +the position of the match (starting at zero) or \type{-1} if no match +was found, and <string> is the matched substring. +================= ERROR +Entry~0 contains the match as a whole; the subsequent entries contain +submatches corresponding to the subpatterns, up to \type{subcount-1}. +================= ERROR +If <integer> is less than zero, an error is given. +================= ERROR +For instance: +================= ERROR +\starttyping +\pdfmatch subcount 3 {ab(cd)*ef(gh)(ij)}{abefghij} +\pdflastmatch0 % "0->abefghij" +\pdflastmatch1 % "-1->" +\pdflastmatch2 % "4->gh" +\pdflastmatch3 % "-1->" +\stoptyping +================= ERROR +Entry~1 is empty because no match was found for \type{cd}, and entry~3 +is empty because it exceeds the table's size as set by \type{subcount}. +\introduced{1.30.0} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Numbers} +================= ERROR +\pdftexprimitive{\Syntax{\ifpdfabsnum (expandable)}} +\bookmark{\ifpdfabsnum} +================= ERROR +This conditional works like the standard \type{\ifnum}, except that it +compares absolute values of numbers. Although it seems to be a trivial +shortcut for a couple of \type{\ifnum x<0} tests, as a primitive it is +considerably more friendly in usage and works a bit faster. +\introduced{1.40.0} +================= ERROR +\pdftexprimitive{\Syntax{\ifpdfabsdim (expandable)}} +\bookmark{\ifpdfabsdim} +================= ERROR +Analogous to \type{\ifpdfabsnum}, this conditional works like +\type{\ifdim}, except that it compares absolute values of +dimensions. \introduced{1.40.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfuniformdeviate <number> + (expandable)}} +\bookmark{\pdfuniformdeviate} +================= ERROR +Generate a uniformly-distributed random integer value between 0 +(inclusive) and <number> (exclusive). This primitive expands +to a list of tokens. \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfnormaldeviate (expandable)}} +\bookmark{\pdfnormaldeviate} +================= ERROR +Generate a normally-distributed random integer with a mean of~0 and +standard deviation 65\,536. That is, about 68\% of the time, the result +will be between $-65536$ and $65536$ (one standard deviation away from +the mean). About 95\% of results will be within two standard +deviations, and 99.7\% within three. This primitive expands to a list +of tokens. \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfrandomseed (read-only integer)}} +\bookmark{\pdfrandomseed} +================= ERROR +You can use \type{\the\pdfrandomseed} to query the current seed value, +so you can \eg\ write the value to the log file. The initial value of +the seed is derived from the system time, and is not more than +1\,000\,999\,999 (this ensures that the value can be used with commands +like \type{\count}). \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfsetrandomseed <number>}} +\bookmark{\pdfsetrandomseed} +================= ERROR +Set the random seed (\type{\pdfrandomseed}) to a specific value, +allowing you to replay sequences of semi-randoms at a later moment. +\introduced{1.30.0} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Timekeeping} +================= ERROR +\pdftexprimitive{\Syntax{\pdfelapsedtime (read-only integer)}} +\bookmark{\pdfelapsedtime} +================= ERROR +Return a number that represents the time elapsed from the moment of the +start of the run. The elapsed time is returned in `scaled seconds', +meaning seconds divided by 65536, \eg\ \PDFTEX\ has run for +\the\pdfelapsedtime\ `scaled seconds' when this paragraph was +typeset. Of course, the command will never return a value greater than +the highest number available in \TeX: if the time exceeds 32767 seconds, +the constant value $2^{31}-1$ will be returned. \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfresettimer}} +\bookmark{\pdfresettimer} +================= ERROR +Reset the internal timer so that \type{\pdfelapsedtime} +starts returning micro-time from~0 again. \introduced{1.30.0} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Files} +================= ERROR +\pdftexprimitive{\Syntax{\pdffilemoddate <general text> + (expandable)}} +\bookmark{\pdffilemoddate} +================= ERROR +Expands to the modification date of file <general text> in the +same format as for \type{\pdfcreationdate}, \eg\ it's {\tt +\pdffilemoddate {./pdftex-t.tex}} for the source of this manual. As of +version 1.40.20, if the \type{SOURCE_DATE_EPOCH} and +\type{FORCE_SOURCE_DATE} environment variables are both set, +\type{\pdffilemoddate} returns a value in UTC, ending in \type{Z}. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdffilesize <general text> + (expandable)}} +\bookmark{\pdffilesize} +================= ERROR +Expands to the size of file <general text>, \eg\ it's {\tt +\pdffilesize {./pdftex-t.tex}} for the source of this manual. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfmdfivesum + [file] + <general text> (expandable)}} +\bookmark{\pdfmdfivesum\ file} +================= ERROR +If the keyword \type{file} is given, expands to the \MDFIVE\ of file +\Somethingtext{general text} in uppercase hexadecimal format (same as +\type{\pdfescapehex}). Without \type{file}, expands to the \MDFIVE\ of +the \Somethingtext{generaltext} taken as a string. For example, it's +{\tt \pdfmdfivesum file {./pdftex-t.tex}} for the source of this manual. +\introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdffiledump + [offset <integer>] + [length <integer>] + <general text> (expandable)}} +\bookmark{\pdffiledump} +================= ERROR +Expands to the dump of the first \type{length} \Somethingtext{integer} +bytes of the file \Somethingtext{general text}, in uppercase hexadecimal +format (same as \type{\pdfescapehex}), starting at offset +\type{offset}~\Somethingtext{number}, or the beginning of the file if +\type{offset}. If \type{length} is not given, the default is zero, so +expands to nothing. Both \Somethingtext{integer}s must be $\ge0$. For +example, the first ten bytes of the source of this manual are {\tt +\pdffiledump length 10 {./pdftex-t.tex}}. \introduced{1.30.0} +================= ERROR +\pdftexprimitive{\Syntax{\input <general text> + (expandable)}} +\bookmark{\input} +================= ERROR +As of \TEXLIVE\ 2020, the \type{\input} primitive in all \TEX\ engines, +including \PDFTEX, now also accepts a group-delimited filename argument, +as a system-dependent extension, as in \type{\input} { +\type{foo.tex} }. The usage of \type{\input} with a standard +space/token-delimited filename is completely unchanged. +================= ERROR +This group-delimited argument was previously implemented in Lua\TEX; now +it is available in all engines. \ASCII\ double quote characters +(\type{"}) are removed from the filename, but it is otherwise left +unchanged after tokenization. +================= ERROR +This extension is unlike most others in that it affects a primitive in +standard \TEX\ (\type{\input}), rather than being related to a new +primitive, command line option, etc. This is allowed because additional +methods of recognizing filenames are explicitly mentioned in +\type{tex.web} as acceptable system-dependent extensions. +================= ERROR +Incidentally, this does not directly affect \LATEX's \type{\input} +command, as that is a macro redefinition of the standard \type{\input} +primitive. +================= ERROR +\introduced{1.40.21} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Color stack} +================= ERROR +\PDFTEX\ 1.40.0 comes with color stack support (actually any graphic state +stack). +================= ERROR +\pdftexprimitive{\Syntax{\pdfcolorstackinit [page] + [direct] <general text> (expandable)}} +\bookmark{\pdfcolorstackinit} +================= ERROR +The primitive initializes a new graphic stack and returns its number. Optional +page keyword instructs \PDFTEX\ to restore the graphic at the +beginning of every new page. Also optional direct has the same effect +as for \pdfliteral primitive. \introduced{1.40.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfcolorstack <stack number> + <stack action> <general text>}} +\bookmark{\pdfcolorstack} +================= ERROR +The command operates on the stack of a given number. If \Something{stack +action} is push keyword, the new value provided as +<general text> is inserted into the top of the graphic stack +and becomes the current stack value. If followed by pop, the +top value is removed from the stack and the new top value becomes the +current. set keyword replaces the current value with +<general text> without changing the stack size. +current keyword instructs just to use the current stack value +without modifying the stack at all. \introduced{1.40.0} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Transformations} +================= ERROR +Since the content of \pdfliteral is not interpreted anyhow, any +transformation inserted directly into the content stream, as well as saving +and restoring the current transformation matrix, remains unnoticed by +\PDFTEX\ positioning mechanism. As a consequence, links and other annotations +(that are formed in \PDF\ as different layer then the page content) are not +affected by such user-defined transformations. \PDFTEX\ 1.40.0 solves this +problem with three new primitives. +================= ERROR +\pdftexprimitive{\Syntax{\pdfsetmatrix}} +\bookmark{\pdfsetmatrix} +================= ERROR +Afine transformations are normally expressed with six numbers. First +four (no unit) values defining scaling, rotating and skewing, plus two +extra dimensions for shifting. Since the translation is handled by \TeX\ +itself, \pdfsetmatrix primitive expects as an argument a string +containing just the first four numbers of the transformation separated +by a space and assumes two position coordinates to be~0. In example, +\type{\pdfsetmatrix{0.87 -0.5 0.5 0.87}} rotates the current space by 30 +degrees, inserting \type{0.87 -0.5 0.5 0.87 0 0 cm} into the content +stream. \introduced{1.40.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfsave}} +\bookmark{\pdfsave} +================= ERROR +The command saves the current transformation by inserting \type{q} +operator into the content stream. \introduced{1.40.0} +================= ERROR +\pdftexprimitive{\Syntax{\pdfrestore}} +\bookmark{\pdfrestore} +================= ERROR +The command restores previously saved transformation by inserting \type{Q} +operator into the content stream. One should keep in mind that \pdfsave +and \pdfrestore pairs should always be properly nested and should start +and end at the same group level. \introduced{1.40.0} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Macro programming} +================= ERROR +Expansion-related. +================= ERROR +\pdftexprimitive{\Syntax{\expanded <tokens> + (expandable)}} +\bookmark{\expanded} +================= ERROR +Expands <tokens> in exactly the same way as \type{\message}. +In contrast to \type{\edef}, macro parameter characters do not need to +be doubled. \type{\protected} macros are not expanded. +\introduced{1.40.20} +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\ifincsname (expandable)}} +\bookmark{\ifincsname} +================= ERROR +This conditional is true if evaluated inside \type{\csname ... \endcsname}, +and false otherwise. +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\ifpdfprimitive <control sequence> + (expandable)}} +\bookmark{\ifpdfprimitive} +================= ERROR +This condition checks if the following control sequence has its +primitive meaning. If it has, \type{\ifpdfprimitive} returns true. In +any other case (redefined, made \type{\undefined}, has never been +primitive) false is returned. \introduced{1.40.0} +================= ERROR +================= ERROR +flapping\pdftexprimitive{\Syntax{\partokencontext <number>}} +\bookmark{\partokencontext} +================= ERROR +The {\em par-token} (i.e., the token with the name given by +\type{\partokenname}, or \type{\par} by default; see +\type{\partokenname}, next) is inserted into the input stream in +different places, according to the \type{\partokencontext} value. This +value can be: +================= ERROR +0: {\em par-token} is inserted at empty lines (more exactly, when a + token category~5 is seen in state~$N$, reading a line); before + \type{\end}, \type{\vskip}, \type{\hrule}, \type{\unvbox}, and + \type{\halign}, if \TeX{} is in horizontal mode when those commands + are seen; and in various error recovery situations. These are the + standard cases, and this is the default value. +================= ERROR +1: {\em par-token} is inserted as above, and also at the end of + \type{\vbox}, \type{\vtop}, and \type{\vcenter}, if \TeX{} is in + horizontal mode at the time. +================= ERROR +2: {\em par-token} is inserted as above, and also at the end of + \type{\insert}, \type{\vadjust}, \type{\output}, \type{\noalign}, and + items of \type{\valign}, again if \TeX{} is in horizontal mode at the + time. +================= ERROR +With the default \type{\partokencontext=0}, \TEX\ behaves in its normal +way: the situations in cases 1 and 2 are processed by a direct call of +{\em end-paragraph} routine, with no emitted {\em par-token}. +================= ERROR +If \type{\partokencontext=1} then \TeX\ inserts the {\em par-token} in +additional cases: when vertical boxes are completed but horizontal mode +is not finished. Since vboxes are not uncommonly inserted directly by +users, with horizontal mode material, this allows macro programmers to +control all such boxes being finished by a {\em par-token}. An example: +================= ERROR +\starttyping +\partokenname\_mypar +\partokencontext=1 +\def\_mypar{Hi there!\endgraf} +\vbox{Vbox text.} +\stoptyping +================= ERROR +This will output ``\type{Hi there!''}\ after ``\type{Vbox text.}''. +================= ERROR +Finally, with \type{\partokencontext=2}, all cases where classical \TeX\ +uses the direct {\em end-paragraph} routine are changed to emit the {\em +par-token} instead. In contrast to case~1, these commands are rarely +invoked directly by users with horizontal mode material. +================= ERROR +The setting of the register \type{\partokencontext} is local. +\introduced{1.40.24} +================= ERROR +\pdftexprimitive{\Syntax{\partokenname <control sequence>}} +\bookmark{\partokenname} +================= ERROR +\TeX{} internally inserts a control sequence, named \type{\par} by +default, into the input stream at empty lines, the end of vboxes, and +various other places (see \type{\partokencontext}, above). Let's call this +control sequence the {\em par-token}. +================= ERROR +Executing \type{\partokenname}<control-sequence> changes the +name of the {\em par-token} from \type{\par} to the given +<control-sequence>. The setting performed by +\type{\partokenname} is global. +================= ERROR +This makes it possible to release the name \type{\par} to the ``user's +name space'', i.e., after \type{\partokenname}, users can define and use +\type{\par} as they wish without changing the behavior of anything +internal to \TeX{}. For example: +================= ERROR +\starttyping +\catcode`\_=11 +\partokenname\_mypar % use \_mypar at user level +\let\_mypar=\par % make \_mypar equivalent to built-in \par +\def\par{some random text} % redefine \par +Hello world. +================= ERROR +Goodbye. +\end +\stoptyping +================= ERROR +This will not output ``\type{some random text}'' (the definition of +\type{\par}), due to the \type{\partokenname} setting. +================= ERROR +By default, the meaning of the {\em par-token} is to end a paragraph +(also named as \type{\endgraf} in the plain \TEX\ format). It can be +changed as usual with, for example, \type{\def}. Naturally, it is the +control sequence name given to \type{\partokenname} that must be +redefined. Continuing the previous example (prior to the \type{\end}): +================= ERROR +\starttyping +\def\_mypar{Hi there!\endgraf} +Paragraph one. +================= ERROR +Paragraph two.\let\_mypar=\endgraf +\stoptyping +================= ERROR +This will output ``\type{Hi there!''}\ after ``\type{Paragraph one.}'', +before ending the paragraph. +================= ERROR +Another behavior of the {\em par-token} built into \TEX\ is that macros +not defined as \type{\long} cause the error ``runaway argument'' if the +{\em par-token} is scanned as a parameter. After +\type{\setpartokenname}, it will be the new control sequence name that +triggers this error, not \type{\par}. For example (still continuing the +same example): +================= ERROR +\starttyping +\def\amac#1{} +\amac{long test, no error: \par} +\amac{long test, gives error: \_mypar} +\stoptyping +================= ERROR +\introduced{1.40.24} +================= ERROR +\pdftexprimitive{\Syntax{\pdfprimitive <control sequence>}} +\bookmark{\pdfprimitive} +================= ERROR +This command executes the primitive meaning of the following control +sequence, regardless of whether the control sequence has been redefined +or made undefined. If the primitive was expandable, \type{\pdfprimitive} +expands also. On the other hand, if the following control sequence never +was a primitive, nothing happens and no error is raised. (In some +versions of \PDFTEX\ prior to 1.40.19, an error was wrongly given.) +\introduced{1.40.0} +================= ERROR +%*********************************************************************** +================= ERROR +\subsection{Typesetting} +================= ERROR +\pdftexprimitive{\Syntax{\pdfinsertht <integer> + (expandable)}} +\bookmark{\pdfinsertht} +================= ERROR +If <integer> is the number of an insertion class, this command +returns the height of the corresponding box at the current time. +For instance, the following returns \type{12pt} in plain \TEX: +================= ERROR +\starttyping +Abc\footnote*{Whatever.}\par +\pdfinsertht\footins +\stoptyping +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\pdflastxpos (read-only integer)}} +\bookmark{\pdflastxpos} +================= ERROR +This primitive returns an integer number representing the absolute $x$ +coordinate of the last point marked by \type{\pdfsavepos}. The unit is +`scaled points' (sp). +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\pdflastypos (read-only integer)}} +\bookmark{\pdflastypos} +================= ERROR +Completely analogous to \type{\pdflastxpos}, returning the $y$ coordinate. +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\pdfsavepos (h, v, m)}} +\bookmark{\pdfsavepos} +================= ERROR +This primitive marks the current absolute ($x,y$) position on the +media, with the reference point in the lower left corner. It is active +only during page shipout, when the page is finally assembled. The +position coordinates can then be retrieved by the \type{\pdflastxpos} +and \type{\pdflastypos} primitives, and \eg\ written out to some +auxiliary file. The coordinates can be used only after the current +\type{\shipout} has been finalized, therefore normally two \PDFTEX\ +runs are required to utilize these primitives. Starting with +\PDFTEX\ 1.40.0, this mechanism can be used also while running +in \DVI\ mode. +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\quitvmode}} +\bookmark{\quitvmode} +================= ERROR +The primitive instructs \PDFTEX\ to quit vertical mode and start +typesetting a paragraph. Thus, \type{\quitvmode} has the same basic +effect as the \type{\leavevmode} macro from \type{plain.tex}. However, +\type{\leavevmode} expands the \type{\everypar} tokens list, which may +or may not be desired. \type{\quitvmode} does not expand +\type{\everypar}. \introduced{1.21a} +================= ERROR +================= ERROR +\pdftexprimitive{\Syntax{\vadjust + [<pre spec>] + <filler> + { <vertical mode material> } + (h, m) diff --git a/Master/texmf-dist/doc/pdftex/manual/pdftex-t.tex b/Master/texmf-dist/doc/pdftex/manual/pdftex-t.tex index 02af91417f2..3df8c28ed77 100644 --- a/Master/texmf-dist/doc/pdftex/manual/pdftex-t.tex +++ b/Master/texmf-dist/doc/pdftex/manual/pdftex-t.tex @@ -1,7 +1,7 @@ % interface=english modes=letter,screen output=pdftex % vim: tw=79 -% $Id: pdftex-t.tex 875 2022-03-01 02:08:10Z karl $ +% $Id: pdftex-t.tex 904 2023-02-26 18:01:11Z karl $ % The number of lines on the title page depends on exactly % what \PDF\ code is generated. @@ -38,9 +38,10 @@ August\or September\or October\or November\or December\else ERROR\fi} } -\svnscan $Id: pdftex-t.tex 875 2022-03-01 02:08:10Z karl $ +\svnscan $Id: pdftex-t.tex 904 2023-02-26 18:01:11Z karl $ -\def\currentpdftex{1.40.22} +\def\versplit#1#2#3{#1.#2#3}% 140 -> 1.40 +\def\currentpdftex{\expandafter\versplit\the\pdftexversion.\pdftexrevision} %*********************************************************************** @@ -181,6 +182,7 @@ % introduced \def\introduced#1{The primitive was introduced in \PDFTEX\ #1.} +\def\introducedplural#1{The primitives were introduced in \PDFTEX\ #1.} % to get bookmarks for primitives like \ifpdfprimitive \appendtoks\def\tex#1{\string\\#1}\to\simplifiedcommands @@ -729,9 +731,9 @@ unused). The actual starting point of the file's object structure is defined after the \type{trailer}: the \type{/Root} entry points to the \type{/Catalog} object (no.~9). In this object the viewer can find the pointer \type{/Pages} to the page list object (no.~5). In our example we -have only one page. The trailer also holds an \type{/Info} entry, which -points to an object (no.~10) with a bit more about the document. Just -follow the thread: +have only one page. The trailer also usually holds an \type{/Info} +entry, which points to an object (no.~10) with a bit more about the +document. We can follow the thread: \startnarrower \type{/Root} $\longrightarrow$ object~9 $\longrightarrow$ @@ -771,18 +773,19 @@ example only a \type{/Font} object (no.~4) is referenced, which in turn tells that the text is typeset in \type{/Font} \type{/Times-Roman}. The \type{/Font} object points also to a \type{/Widths} array (object no.~7) that tells for each character by how much the viewer must move forward -horizontally after typesetting a glyph. More details about the font -can be found in the \type{/FontDescriptor} object (no.~8); if a font -file is embedded, this object points to the font program stream. But as -the Times-Roman font used for our example is one of the 14 so||called -standard fonts that should always be present in any \PDF\ viewer and -therefore need not be embedded in the \PDF\ file, it is left out here -for brevity. However, when we use for instance a Computer Modern Roman -font, we have to make sure that this font is later available to the \PDF\ -viewer, and the best way to do this is to embed the font. -It's highly recommended nowadays to embed even the standard fonts; -you can't know how it looks exactly at the viewer side unless you embed -every font. +horizontally after typesetting a glyph. + +More details about the font can be found in the \type{/FontDescriptor} +object (no.~8); if a font file is embedded, this object points to the +font program stream. But as the Times-Roman font used for our example is +one of the 14 so||called standard fonts that should always be present in +any \PDF\ viewer and therefore need not be embedded in the \PDF\ file, +it is left out here for brevity. However, when we use for instance a +Computer Modern Roman font, we have to make sure that this font is later +available to the \PDF\ viewer, and the best way to do this is to embed +the font. It's highly recommended nowadays to embed even the standard +fonts; you can't know how it looks exactly at the viewer side unless you +embed every font. In this simple file we don't specify in what way the file should be opened, for instance full screen or clipped. A closer look at the page object no.~2 @@ -955,7 +958,7 @@ Some nice samples of \PDFTEX\ output can be found at \PDFTEX\ can work with Type~1 and TrueType fonts (and to some extent also with OpenType fonts). Font files should be available and embedded -for all fonts used in the generated PDF. It is possible to use +for all fonts used in the generated \PDF. It is possible to use \METAFONT||generated fonts in \PDFTEX\ --- but it is strongly recommended not to use these fonts if an equivalent is available in Type~1 or TrueType format, if only because bitmap Type~3 fonts render @@ -1574,11 +1577,6 @@ new Didot (1\,nd~=~0.375\,mm) and the new Cicero (1\,nc~=~12\,nd) } \Syntax{ -\Something{pdfliteral spec} \Means % - \Literal{direct} \Or \Literal{page} -} - -\Syntax{ \Something{pdfspecial spec} \Means % \Lbrace \Optional{\Something{pdfspecial id} % \Optional{\Something{pdfspecial modifier}}} % @@ -1782,7 +1780,7 @@ precision. This parameter is read when \PDFTEX\ writes a real number to the \PDF\ output. When including huge \METAPOST\ images using \filename {supp-pdf.tex}, one can -limit the accuracy to two digits by typing: \type{\twodigitMPoutput}. +limit the accuracy to two digits with: \type{\twodigitMPoutput}. \pdftexprimitive{\Syntax{\Tex{\pdfhorigin} \Whatever{dimen}}} \bookmark{\tex{pdfhorigin}} @@ -1838,6 +1836,12 @@ the wished true page height. \subsection[sec.docinfocatalog]{Document info and catalog} +\pdftexprimitive{\Syntax{\Tex{\pdfinfoomitdict} \Whatever{integer}}} +\bookmark{\tex{pdfinfoomitdict}} + +If nonzero, omit the \type{/Info} dictionary completely, as required by +the \PDF\ A-4 standard. \introduced{1.40.25} + \pdftexprimitive{\Syntax{\Tex{\pdfinfo} \Something{general text}}} \bookmark{\tex{pdfinfo}} @@ -2631,23 +2635,78 @@ Minimal example: \bookmark{\tex{pdfinterwordspaceon}} \pdftexprimitive{\Syntax{\Tex{\pdfinterwordspaceoff}}} \bookmark{\tex{pdfinterwordspaceoff}} +\pdftexprimitive{\Syntax{\Tex{\pdfspacefont} \Something{general text}}} +\bookmark{\tex{pdfspacefont}} + +The first two commands insert corresponding whatsit nodes which turn +on/off generation of faked interword spaces in the \PDF\ output (they +cause errors in \DVI\ output). This allows for better reflowing of text +on the fly by \PDF\ readers, better extraction of textual content, and +is required by \PDF/A. It does not affect the normal \TeX\ justification +with glue of the typeset output. + +This works roughly as follows: with \type{\pdfinterwordspaceon}, +\PDFTEX\ will guess when an interword space should be inserted, based on +movement within some limits in horizontal direction. When found, +\PDFTEX\ inserts a true space character into the \PDF\ page description +for the viewers, and adjusts the next movement so that the next +character will be in the expected position, according to normal \TEX\ +behavior. + +Where does that \quotation{true space character} come from? +There are two possibilities. + +\startitemize +\item If the current font has a real space character, it is used. +\PDFTEX\ considers a font to have such a space character if 1)~the font +has an encoding vector (\type{.enc} file) specified in its map entry, +and 2)~the encoding has a glyph named \type{space} (that is, the +PostScript name \type{/space}) at slot 32. For example, the font +\type{texnansi-lmr10} uses the encoding file \type{lm-texnansi.enc}, +which has such an entry. + +\item +If the current font does not have such a space character (this is the +case for most traditional \TEX\ fonts, such as \type{cmr10} and +\type{ec-lmr10}), \PDFTEX\ will use the space character from a special +fallback font named (by default) \type{pdftexspace}[\type{.tfm}]. +\PDFTEX\ automatically defines a map entry for this font which looks as +follows: + +\starttyping +\pdfmapline{=pdftexspace PdfTeX-Space <pdftexspace.pfb} +\stoptyping -These commands create corresponding whatsit nodes which turn on/off -generation of faked interword spaces in the output. This allows for -better reflowing of text on the fly by \PDF\ readers, better extraction -of textual content, and is required by \PDF/A. It does not affect the -normal \TeX\ justification with glue. +The \type{pdftexspace.tfm} and \type{pdftexspace.pfb} files are expected +to be available to \PDFTEX\ just like any other font. (They are +distributed with \PDFTEX.) The \type{pdftexspace} font was constructed +by hand; it has a space character that is .333em (and no other +characters). + +It is possible to use a different fallback font for the space character +by specifying \type{\pdfspacefont}\Lbrace \Something{somefont}\Rbrace. +(This is most likely to be useful for testing or debugging.) In this +case, \PDFTEX\ assumes that the given font has a real space character at +slot 32, and that any necessary corresponding map entry exists. For +example: -This requires finding and reading font files \type{dummy-space.tfm} and -\type{pfb}; the font is included in the \PDF\ output and character 32 is -inserted from it as the ``fake'' space. +\starttyping +\pdfspacefont{texnansi-lmr10} % use space char from this font if + % current font has no space char +\stoptyping +\stopitemize + +History: Before \PDFTEX\ version 1.40.25, no check was made for a +\type{space} character in the current font, the fallback font was named +\type{dummy-space}, and its space character was tiny, 0.001em. It turned +out that \PDF\ viewers were unhappy with this tiny space, especially +with tagged \PDF. Example of usage (see also the \type{fake-interword-space.tex} test file): \starttyping Text with no interword spaces. -\pdfmapline{+dummy-space <dummy-space.pfb} \pdfglyphtounicode{space}{0020} \pdfinterwordspaceon @@ -2657,7 +2716,7 @@ Switch to text with faked interword spaces. Back to text with no interword spaces. \stoptyping -\introduced{1.40.15} +\introducedplural{1.40.15, 1.40.25} \pdftexprimitive{\Syntax{\Tex{\pdffakespace}}} \bookmark{\tex{pdffakespace}} @@ -2888,7 +2947,7 @@ page\_height}\type{]}). (This behavior was introduced in version \bookmark{\tex{pdfpageresources}} These tokens are added to the resource dictionary for all pages, before -the font, XOBject, and other resources. +the font, XOBject, and ProcSet resources. \starttyping \pdfpageresources{/MyPageResourceAttribute /MyValue} @@ -2907,6 +2966,20 @@ will expand to that object number. \Eg, if the dictionary for page~5 of the \TEX\ document is contained in \PDF\ object no.~18, \tex{pdfpageref5} expands to the number 18. +\pdftexprimitive{\Syntax{\Tex{\pdfomitprocset} \Whatever{integer}}} +\bookmark{\tex{pdfomitprocset}} + +If this primitive parameter is zero (the default), the \type{/ProcSet} +array is included if \type{\pdfmajorversion} is~1, and omitted if +\type{\pdfmajorversion}$\,\ge\,2$. If this parameter is $>0$, +\type{/ProcSet} is always omitted. And if it is $<0$, \type{/ProcSet} is +always included. For information about what \type{/ProcSet} is, see the +\PDFReference\ or other documentation. + +\type{\ProcSet} was considered obsolete as of \PDF~1.4, but conforming +writers should continue to output it. It was formally deprecated in +\PDF~2.0.\introduced{1.40.25} + %*********************************************************************** \subsection{Form XObjects} @@ -3424,7 +3497,7 @@ While all graphics and text in a \PDF\ document have relative positions, annotations have internally hard||coded absolute positions. Again this is for the sake of speed optimization. The main disadvantage is that these annotations do {\em not} obey transformations issued by \type -{\pdfliteral}'s. +{\pdfliteral}s. The \Something{action spec} specifies the action that should be performed when the hyperlink is activated, one of (see the syntax @@ -3627,33 +3700,39 @@ an article thread. \subsection{Literals and specials} \pdftexprimitive{\Syntax{\Tex{\pdfliteral} - \Optional{\Something{pdfliteral spec}} + \Optional{\Literal{shipout}} + \Optional{\Literal{direct} \Or \Literal{page}} \Something{general text} \Modelist{h, v, m} }} \bookmark{\tex{pdfliteral}} -Like \type{\special} in normal \TEX, this command inserts raw -\PDF\ code into the output. This allows support of color and text -transformation. This primitive is heavily used in the \METAPOST\ -inclusion macros. Normally \PDFTEX\ ends a text section in the \PDF\ -output and sets the transformation matrix to the current location on the -page before inserting \Something{general text}\unkern, however this can be -turned off by giving the optional keyword \Literal{direct}. This command -appends a whatsit node to the list being built. \Something{general text} -is expanded when the whatsit node is created and not when it is shipped -out, as with \type{\special}. - -Starting with version 1.30.0, \PDFTEX\ allows to use a new keyword -\type{page} instead of \type{direct}. Both modify the default behavior -of \type{\pdfliteral}, avoiding translation of the coordinates space -before inserting the literal code. The difference is that the \type{page} +Analogous to \type{\special} in the original \TEX, this command inserts +raw \PDF\ code into the output, appending a whatsit node to the list +being built. This allows support of color and text transformation, among +other things. + +By default, \Something{general text} is expanded immediately, when the +whatsit node is created, as with \type{\special}. Starting with version +1.40.25, the optional keyword \Literal{shipout} can be used to delay +expansion of \Something{general text} until the whatsit node is shipped +out, as with non-\type{\immediate} \type{\write}. + +Normally, \PDFTEX\ ends a text section in the \PDF\ output and sets the +transformation matrix to the current location on the page before +inserting \Something{general text}\unkern; this can be turned off by +giving the optional keyword \Literal{direct}. + +Starting with version 1.30.0, \PDFTEX\ supports the keyword \type{page} +in addition to \type{direct}. Both modify the default behavior of +\type{\pdfliteral}, avoiding translation of the coordinate space before +inserting the literal code. The difference is that the \type{page} keyword instructs \PDFTEX\ to close a \type{BT ET} text block before -inserting anything. It means that the literal code inserted refers to the -origin (lower||left corner of the page) and can be safely enclosed with -\type{q Q}. Note, that in most cases using \type{q Q} operators inside -\type{\pdfliteral} with \type{direct} keyword will produce corrupted -\PDF\ output, as the \PDF\ standard doesn't allow to do anything like +inserting anything. This means that the literal code inserted refers to +the \PDF\ origin (lower-left corner of the page) and can be safely +enclosed with \type{q Q}. In contrast, using \type{q Q} operators inside +\type{\pdfliteral} with the \type{direct} keyword will produce corrupted +\PDF\ output, as the \PDF\ standard doesn't allow doing anything like this within a \type{BT ET} block. % HE: \unkern is a kludge here; wanted to have tight "{pdf:" @@ -3678,6 +3757,20 @@ This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{direct} \Lbrace This is equivalent to \Syntax{\Tex{\pdfliteral} \Literal{page} \Lbrace \Something{text} \Rbrace}. +\pdftexprimitive{\Syntax{\Tex{\special} \Optional{\Literal{shipout}} + \Lbrace\unkern \Something{general text} \Rbrace}} +\bookmark{\tex{special\ shipout}} + +Starting with version 1.40.25, \PDFTEX\ extends the \type{\special} +primitive to support the optional keyword \Literal{shipout}. This delays +expansion of \Something{general text} until the page is shipped out, as +with non-\type{\immediate} \type{\write}. By default, \Something{general +text} is expanded immediately. + +\Syntax{\Tex{\special} \Literal{shipout} \Lbrace \unkern\Literal{pdf:} +\Something{text} \Rbrace} is equivalent to \Syntax{\Tex{\pdfliteral} +\Literal{shipout} \Lbrace \Something{text} \Rbrace}. + %*********************************************************************** \subsection{Strings} @@ -3907,8 +4000,8 @@ example, the first ten bytes of the source of this manual are {\tt As of \TEXLIVE\ 2020, the \type{\input} primitive in all \TEX\ engines, including \PDFTEX, now also accepts a group-delimited filename argument, -as a system-dependent extension, as in \type{\input\Lbrace -foo.tex\Rbrace}. The usage of \type{\input} with a standard +as a system-dependent extension, as in \type{\input} \Lbrace +\type{foo.tex} \Rbrace. The usage of \type{\input} with a standard space/token-delimited filename is completely unchanged. This group-delimited argument was previously implemented in Lua\TEX; now @@ -4315,11 +4408,10 @@ Now the \type{\b} expansion is not logged either, since the expansion depth is higher than the \type{\tracingstacklevels} value. The intended use of \type{\tracingstacklevels} is not so much to -truncate logging as to indicate the expansion levels for detailed -debugging. Thus normally it would be set to a large number -(\type{\maxdimen}, say), so that everything is fully logged, with the -addition of the expansion level indication with the number of dots in -the prefix. +truncate logging as to indicate expansion levels for detailed debugging. +Thus normally it would be set to a large number (\type{\maxdimen}, say), +so that everything is fully logged, with the addition of the expansion +level indication with the number of dots in the prefix. The behavior is the same in all \TeX\ engines except the original \TEX\ and \eTeX, where \type{\tracingstacklevels} remains undefined. @@ -4331,8 +4423,8 @@ and \eTeX, where \type{\tracingstacklevels} remains undefined. If this primitive parameter has a value corresponding to an open output stream (which has been opened with \type{\openout}), then any \type{\show}, \type{\showthe}, \type{\showbox} or \type{\showlists} -commands do not write output to the terminal, but instead write to only -the referenced output stream, as if they were written with +commands do not write output to the terminal, but instead write to the +referenced output stream only, as if they were written with \type{\immediate\write}. For example: @@ -4397,19 +4489,17 @@ Returns the \PDFTEX\ banner message, \eg\ for the version used here: \pdftexprimitive{\Syntax{\Tex{\pdftexrevision} \Whatever{expandable}}} \bookmark{\tex{pdftexrevision}} -\def\versplit#1#2#3{#1.#2#3} - Returns the revision number of \PDFTEX, \eg\ for \PDFTEX\ version -\expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to produce -this document), it returns the number {\tt \pdftexrevision}. +\currentpdftex\ (used to produce this document), it returns the number +{\tt \pdftexrevision}. \pdftexprimitive{\Syntax{\Tex{\pdftexversion} \Whatever{read||only integer}}} \bookmark{\tex{pdftexversion}} Returns the version of \PDFTEX\ multiplied by 100, \eg\ for \PDFTEX\ -version \expandafter\versplit\the\pdftexversion.\pdftexrevision\ (used to -produce this document), it returns {\tt \number\pdftexversion}. +version \currentpdftex\ (used to produce this document), it returns {\tt +\number\pdftexversion}. %*********************************************************************** @@ -4494,19 +4584,16 @@ uses its own Type~1 fonts, and needs no special attention. macro packages) can be redefined to produce literal \PDF, using some macros written by Hans Hagen. -\description {\METAPOST} Although the output of \METAPOST\ is \POSTSCRIPT, -it is in a highly simplified form, and a \METAPOST\ to \PDF\ conversion -(\MPTOPDF, written by Hans Hagen and Tanmoy Bhattacharya) is implemented -as a set of macros which reads \METAPOST\ output and supports all of -its features. - -For new work, the \METAPOST\ route is highly recommended. For the future, -Adobe has announced that they will define a specification for \quote -{encapsulated \PDF}. +\description {\METAPOST} Although the output of \METAPOST\ is +\POSTSCRIPT, it is in a highly simplified form, and a \METAPOST\ to +\PDF\ conversion (\MPTOPDF, available as \type{supp-pdf.tex} and +\type{supp-pdf.mkii}, written by Hans Hagen and Tanmoy Bhattacharya) is +implemented as a set of macros which reads \METAPOST\ output and +supports all of its features. The inclusion of raw \POSTSCRIPT\ commands |<|a technique utilized by for instance the \type{pstricks} package|>| cannot directly be -supported. Although \PDF\ is direct a descendant of \POSTSCRIPT, it +supported. Although \PDF\ is a direct descendant of \POSTSCRIPT, it lacks any programming language commands, and cannot deal with arbitrary \POSTSCRIPT. @@ -5155,7 +5242,7 @@ the source code by typing: texexec --result=pdftex-a.pdf pdftex-t \stoptyping -Or in letter size: +Or for letter size: \starttyping texexec --mode=letter --result=pdftex-l.pdf pdftex-t diff --git a/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html b/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html index 6b3ac989f15..a4b0ef0bf92 100644 --- a/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html +++ b/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.html @@ -1,13 +1,13 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!DOCTYPE html> <html> -<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- This file documents the TeX Live build system and more. -Copyright (C) 2016-2022 Karl Berry. +Copyright © 2016-2023 Karl Berry. -Copyright (C) 2013-2015 Karl Berry & Peter Breitenlohner. +Copyright © 2013-2015 Karl Berry & Peter Breitenlohner. Permission is granted to make and distribute verbatim copies of this manual provided the copyright notice and this permission notice are @@ -23,10 +23,10 @@ Permission is granted to copy and distribute translations of this 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 TeX Users Group. --> -<title>Building TeX Live (2022)</title> +<title>Building TeX Live (2023)</title> -<meta name="description" content="Building TeX Live (2022)"> -<meta name="keywords" content="Building TeX Live (2022)"> +<meta name="description" content="Building TeX Live (2023)"> +<meta name="keywords" content="Building TeX Live (2023)"> <meta name="resource-type" content="document"> <meta name="distribution" content="global"> <meta name="Generator" content="makeinfo"> @@ -39,21 +39,21 @@ approved by the TeX Users Group. --> <link href="#Introduction" rel="next" title="Introduction"> <style type="text/css"> <!-- -a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} +a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} +a.summary-letter-printindex {text-decoration: none} div.display {margin-left: 3.2em} div.example {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -span:hover a.copiable-anchor {visibility: visible} -ul.no-bullet {list-style: none} +pre.display-preformatted {font-family: inherit} +span.r {font-family: initial; font-weight: normal; font-style: normal} +span.w-nolinebreak-text {white-space: nowrap} +span:hover a.copiable-link {visibility: visible} +strong.def-name {font-family: monospace; font-weight: bold; font-size: larger} +td.printindex-index-entry {vertical-align: top} +td.printindex-index-section {vertical-align: top} +th.entries-header-printindex {text-align:left} +th.sections-header-printindex {text-align:left} +ul.mark-bullet {list-style-type: disc} +ul.toc-numbered-mark {list-style: none} --> </style> @@ -61,7 +61,6 @@ ul.no-bullet {list-style: none} </head> <body lang="en"> -<h1 class="settitle" align="center">Building TeX Live (2022)</h1> @@ -72,50 +71,50 @@ ul.no-bullet {list-style: none} -<div class="top" id="Top"> -<div class="header"> +<div class="top-level-extent" id="Top"> +<div class="nav-panel"> <p> Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Building-TeX-Live-_00282022_0029"></span><h1 class="top">Building TeX Live (2022)</h1> +<h1 class="top" id="Building-TeX-Live-_00282023_0029">Building TeX Live (2023)</h1> -<p>For an overview of this manual, see <a href="#Introduction">Introduction</a>. +<p>For an overview of this manual, see <a class="pxref" href="#Introduction">Introduction</a>. </p> -<div class="Contents_element" id="SEC_Contents"> +<div class="element-contents" id="SEC_Contents"> <h2 class="contents-heading">Table of Contents</h2> <div class="contents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="toc-Introduction-1" href="#Introduction">1 Introduction</a></li> <li><a id="toc-Overview-of-build-system-1" href="#Overview-of-build-system">2 Overview of build system</a></li> <li><a id="toc-Prerequisites-1" href="#Prerequisites">3 Prerequisites</a></li> <li><a id="toc-Building-1" href="#Building">4 Building</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Build-iteration-1" href="#Build-iteration">4.1 Build iteration</a></li> <li><a id="toc-Build-in-parallel-1" href="#Build-in-parallel">4.2 Build in parallel</a></li> <li><a id="toc-Build-distribution-1" href="#Build-distribution">4.3 Build distribution</a></li> <li><a id="toc-Build-one-package-1" href="#Build-one-package">4.4 Build one package</a></li> <li><a id="toc-Build-one-engine-1" href="#Build-one-engine">4.5 Build one engine</a></li> <li><a id="toc-Cross-compilation-1" href="#Cross-compilation">4.6 Cross compilation</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Cross-configuring-1" href="#Cross-configuring">4.6.1 Cross configuring</a></li> <li><a id="toc-Cross-problems-1" href="#Cross-problems">4.6.2 Cross problems</a></li> </ul></li> </ul></li> <li><a id="toc-Installing-1" href="#Installing">5 Installing</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Installation-directories-1" href="#Installation-directories">5.1 Installation directories</a></li> <li><a id="toc-Linked-scripts-1" href="#Linked-scripts">5.2 Linked scripts</a></li> <li><a id="toc-Distro-builds-1" href="#Distro-builds">5.3 Distro builds</a></li> </ul></li> <li><a id="toc-Layout-and-infrastructure-1" href="#Layout-and-infrastructure">6 Layout and infrastructure</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Build-system-tools-1" href="#Build-system-tools">6.1 Build system tools</a></li> <li><a id="toc-Top_002dlevel-directories-1" href="#Top_002dlevel-directories">6.2 Top-level directories</a></li> <li><a id="toc-Autoconf-macros-1" href="#Autoconf-macros">6.3 Autoconf macros</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-General-setup-macros-1" href="#General-setup-macros">6.3.1 General setup macros</a></li> <li><a id="toc-Macros-for-programs-1" href="#Macros-for-programs">6.3.2 Macros for programs</a></li> <li><a id="toc-Macros-for-compilers-1" href="#Macros-for-compilers">6.3.3 Macros for compilers</a></li> @@ -124,21 +123,21 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a <li><a id="toc-Macros-for-Windows-1" href="#Macros-for-Windows">6.3.6 Macros for Windows</a></li> </ul></li> <li><a id="toc-Library-modules-1" href="#Library-modules">6.4 Library modules</a> - <ul class="no-bullet"> - <li><a id="toc-The-png-library-in-libs_002flibpng" href="#png-library">6.4.1 The <code>png</code> library in <samp>libs/libpng</samp></a></li> - <li><a id="toc-The-zlib-library-in-libs_002fzlib" href="#zlib-library">6.4.2 The <code>zlib</code> library in <samp>libs/zlib</samp></a></li> - <li><a id="toc-The-freetype-library-in-libs_002ffreetype2" href="#freetype-library">6.4.3 The <code>freetype</code> library in <samp>libs/freetype2</samp></a></li> - <li><a id="toc-The-kpathsea-library-in-texk_002fkpathsea" href="#kpathsea-library">6.4.4 The <code>kpathsea</code> library in <samp>texk/kpathsea</samp></a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-The-png-library-in-libs_002flibpng" href="#png-library">6.4.1 The <code class="code">png</code> library in <samp class="file">libs/libpng</samp></a></li> + <li><a id="toc-The-zlib-library-in-libs_002fzlib" href="#zlib-library">6.4.2 The <code class="code">zlib</code> library in <samp class="file">libs/zlib</samp></a></li> + <li><a id="toc-The-freetype-library-in-libs_002ffreetype2" href="#freetype-library">6.4.3 The <code class="code">freetype</code> library in <samp class="file">libs/freetype2</samp></a></li> + <li><a id="toc-The-kpathsea-library-in-texk_002fkpathsea" href="#kpathsea-library">6.4.4 The <code class="code">kpathsea</code> library in <samp class="file">texk/kpathsea</samp></a></li> </ul></li> <li><a id="toc-Program-modules-1" href="#Program-modules">6.5 Program modules</a> - <ul class="no-bullet"> - <li><a id="toc-The-t1utils-package-in-utils_002ft1utils" href="#t1utils-package">6.5.1 The <code>t1utils</code> package in <samp>utils/t1utils</samp></a></li> - <li><a id="toc-The-xindy-package-in-utils_002fxindy" href="#xindy-package">6.5.2 The <code>xindy</code> package in <samp>utils/xindy</samp></a></li> - <li><a id="toc-The-xdvik-package-in-texk_002fxdvik" href="#xdvik-package">6.5.3 The <code>xdvik</code> package in <samp>texk/xdvik</samp></a></li> - <li><a id="toc-The-subdirectory-utils_002fasymptote" href="#asymptote">6.5.4 The subdirectory <samp>utils/asymptote</samp></a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-The-t1utils-package-in-utils_002ft1utils" href="#t1utils-package">6.5.1 The <code class="code">t1utils</code> package in <samp class="file">utils/t1utils</samp></a></li> + <li><a id="toc-The-xindy-package-in-utils_002fxindy" href="#xindy-package">6.5.2 The <code class="code">xindy</code> package in <samp class="file">utils/xindy</samp></a></li> + <li><a id="toc-The-xdvik-package-in-texk_002fxdvik" href="#xdvik-package">6.5.3 The <code class="code">xdvik</code> package in <samp class="file">texk/xdvik</samp></a></li> + <li><a id="toc-The-subdirectory-utils_002fasymptote" href="#asymptote">6.5.4 The subdirectory <samp class="file">utils/asymptote</samp></a></li> </ul></li> <li><a id="toc-Extending-TeX-Live-1" href="#Extending-TeX-Live">6.6 Extending TeX Live</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Adding-a-new-program-module-1" href="#Adding-a-new-program-module">6.6.1 Adding a new program module</a></li> <li><a id="toc-Adding-a-new-engine-1" href="#Adding-a-new-engine">6.6.2 Adding a new engine</a></li> <li><a id="toc-Adding-a-new-generic-library-module-1" href="#Adding-a-new-generic-library-module">6.6.3 Adding a new generic library module</a></li> @@ -146,84 +145,87 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a </ul></li> </ul></li> <li><a id="toc-Configure-options-1" href="#Configure-options">7 Configure options</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Global-configure-options-1" href="#Global-configure-options">7.1 Global configure options</a> - <ul class="no-bullet"> - <li><a id="toc-_002d_002ddisable_002dnative_002dtexlive_002dbuild-1" href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild">7.1.1 <code>--disable-native-texlive-build</code></a></li> - <li><a id="toc-_002d_002dprefix_002c-_002d_002dbindir_002c-_2026" href="#g_t_002d_002dprefix-_002d_002dbindir-_2026">7.1.2 <code>--prefix</code>, <code>--bindir</code>, …</a></li> - <li><a id="toc-_002d_002ddisable_002dlargefile-1" href="#g_t_002d_002ddisable_002dlargefile">7.1.3 <code>--disable-largefile</code></a></li> - <li><a id="toc-_002d_002ddisable_002dmissing-1" href="#g_t_002d_002ddisable_002dmissing">7.1.4 <code>--disable-missing</code></a></li> - <li><a id="toc-_002d_002denable_002dcompiler_002dwarnings_003dlevel-1" href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel">7.1.5 <code>--enable-compiler-warnings=</code><var>level</var></a></li> - <li><a id="toc-_002d_002denable_002dcxx_002druntime_002dhack-1" href="#g_t_002d_002denable_002dcxx_002druntime_002dhack">7.1.6 <code>--enable-cxx-runtime-hack</code></a></li> - <li><a id="toc-_002d_002denable_002dmaintainer_002dmode-1" href="#g_t_002d_002denable_002dmaintainer_002dmode">7.1.7 <code>--enable-maintainer-mode</code></a></li> - <li><a id="toc-_002d_002denable_002dmultiplatform-1" href="#g_t_002d_002denable_002dmultiplatform">7.1.8 <code>--enable-multiplatform</code></a></li> - <li><a id="toc-_002d_002denable_002dshared-1" href="#g_t_002d_002denable_002dshared">7.1.9 <code>--enable-shared</code></a></li> - <li><a id="toc-_002d_002denable_002dsilent_002drules-1" href="#g_t_002d_002denable_002dsilent_002drules">7.1.10 <code>--enable-silent-rules</code></a></li> - <li><a id="toc-_002d_002dwithout_002dln_002ds-1" href="#g_t_002d_002dwithout_002dln_002ds">7.1.11 <code>--without-ln-s</code></a></li> - <li><a id="toc-_002d_002dwithout_002dx-1" href="#g_t_002d_002dwithout_002dx">7.1.12 <code>--without-x</code></a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-_002d_002ddisable_002dnative_002dtexlive_002dbuild-1" href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild">7.1.1 <code class="code">--disable-native-texlive-build</code></a></li> + <li><a id="toc-_002d_002dprefix_002c-_002d_002dbindir_002c-_2026" href="#g_t_002d_002dprefix-_002d_002dbindir-_2026">7.1.2 <code class="code">--prefix</code>, <code class="code">--bindir</code>, …</a></li> + <li><a id="toc-_002d_002ddisable_002dlargefile-1" href="#g_t_002d_002ddisable_002dlargefile">7.1.3 <code class="code">--disable-largefile</code></a></li> + <li><a id="toc-_002d_002ddisable_002dmissing-1" href="#g_t_002d_002ddisable_002dmissing">7.1.4 <code class="code">--disable-missing</code></a></li> + <li><a id="toc-_002d_002denable_002dcompiler_002dwarnings_003dlevel-1" href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel">7.1.5 <code class="code">--enable-compiler-warnings=</code><var class="var">level</var></a></li> + <li><a id="toc-_002d_002denable_002dcxx_002druntime_002dhack-1" href="#g_t_002d_002denable_002dcxx_002druntime_002dhack">7.1.6 <code class="code">--enable-cxx-runtime-hack</code></a></li> + <li><a id="toc-_002d_002denable_002dmaintainer_002dmode-1" href="#g_t_002d_002denable_002dmaintainer_002dmode">7.1.7 <code class="code">--enable-maintainer-mode</code></a></li> + <li><a id="toc-_002d_002denable_002dmultiplatform-1" href="#g_t_002d_002denable_002dmultiplatform">7.1.8 <code class="code">--enable-multiplatform</code></a></li> + <li><a id="toc-_002d_002denable_002dshared-1" href="#g_t_002d_002denable_002dshared">7.1.9 <code class="code">--enable-shared</code></a></li> + <li><a id="toc-_002d_002denable_002dsilent_002drules-1" href="#g_t_002d_002denable_002dsilent_002drules">7.1.10 <code class="code">--enable-silent-rules</code></a></li> + <li><a id="toc-_002d_002dwithout_002dln_002ds-1" href="#g_t_002d_002dwithout_002dln_002ds">7.1.11 <code class="code">--without-ln-s</code></a></li> + <li><a id="toc-_002d_002dwithout_002dx-1" href="#g_t_002d_002dwithout_002dx">7.1.12 <code class="code">--without-x</code></a></li> </ul></li> <li><a id="toc-Program_002dspecific-configure-options-1" href="#Program_002dspecific-configure-options">7.2 Program-specific configure options</a> - <ul class="no-bullet"> - <li><a id="toc-_002d_002denable_002dprog_002c-_002d_002ddisable_002dprog" href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog">7.2.1 <code>--enable-<var>prog</var></code>, <code>--disable-<var>prog</var></code></a></li> - <li><a id="toc-_002d_002ddisable_002dall_002dpkgs-1" href="#g_t_002d_002ddisable_002dall_002dpkgs">7.2.2 <code>--disable-all-pkgs</code></a></li> - <li><a id="toc-Configure-options-for-texk_002fweb2c-1" href="#Configure-options-for-texk_002fweb2c">7.2.3 Configure options for <samp>texk/web2c</samp></a></li> - <li><a id="toc-Configure-options-for-texk_002fbibtex_002dx-1" href="#Configure-options-for-texk_002fbibtex_002dx">7.2.4 Configure options for <samp>texk/bibtex-x</samp></a></li> - <li><a id="toc-Configure-options-for-texk_002fdvipdfm_002dx-1" href="#Configure-options-for-texk_002fdvipdfm_002dx">7.2.5 Configure options for <samp>texk/dvipdfm-x</samp></a></li> - <li><a id="toc-Configure-options-for-texk_002fdvisvgm-1" href="#Configure-options-for-texk_002fdvisvgm">7.2.6 Configure options for <samp>texk/dvisvgm</samp></a></li> - <li><a id="toc-Configure-options-for-texk_002ftexlive-1" href="#Configure-options-for-texk_002ftexlive">7.2.7 Configure options for <samp>texk/texlive</samp></a></li> - <li><a id="toc-Configure-options-for-texk_002fxdvik-1" href="#Configure-options-for-texk_002fxdvik">7.2.8 Configure options for <samp>texk/xdvik</samp></a></li> - <li><a id="toc-Configure-options-for-utils_002fxindy-1" href="#Configure-options-for-utils_002fxindy">7.2.9 Configure options for <samp>utils/xindy</samp></a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-_002d_002denable_002dprog_002c-_002d_002ddisable_002dprog" href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog">7.2.1 <code class="code">--enable-<var class="var">prog</var></code>, <code class="code">--disable-<var class="var">prog</var></code></a></li> + <li><a id="toc-_002d_002ddisable_002dall_002dpkgs-1" href="#g_t_002d_002ddisable_002dall_002dpkgs">7.2.2 <code class="code">--disable-all-pkgs</code></a></li> + <li><a id="toc-Configure-options-for-texk_002fweb2c-1" href="#Configure-options-for-texk_002fweb2c">7.2.3 Configure options for <samp class="file">texk/web2c</samp></a></li> + <li><a id="toc-Configure-options-for-texk_002fbibtex_002dx-1" href="#Configure-options-for-texk_002fbibtex_002dx">7.2.4 Configure options for <samp class="file">texk/bibtex-x</samp></a></li> + <li><a id="toc-Configure-options-for-texk_002fdvipdfm_002dx-1" href="#Configure-options-for-texk_002fdvipdfm_002dx">7.2.5 Configure options for <samp class="file">texk/dvipdfm-x</samp></a></li> + <li><a id="toc-Configure-options-for-texk_002fdvisvgm-1" href="#Configure-options-for-texk_002fdvisvgm">7.2.6 Configure options for <samp class="file">texk/dvisvgm</samp></a></li> + <li><a id="toc-Configure-options-for-texk_002ftexlive-1" href="#Configure-options-for-texk_002ftexlive">7.2.7 Configure options for <samp class="file">texk/texlive</samp></a></li> + <li><a id="toc-Configure-options-for-texk_002fxdvik-1" href="#Configure-options-for-texk_002fxdvik">7.2.8 Configure options for <samp class="file">texk/xdvik</samp></a></li> + <li><a id="toc-Configure-options-for-utils_002fxindy-1" href="#Configure-options-for-utils_002fxindy">7.2.9 Configure options for <samp class="file">utils/xindy</samp></a></li> </ul></li> <li><a id="toc-Library_002dspecific-configure-options-1" href="#Library_002dspecific-configure-options">7.3 Library-specific configure options</a> - <ul class="no-bullet"> - <li><a id="toc-Configure-options-for-kpathsea-1" href="#Configure-options-for-kpathsea">7.3.1 Configure options for <code>kpathsea</code></a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-Configure-options-for-kpathsea-1" href="#Configure-options-for-kpathsea">7.3.1 Configure options for <code class="code">kpathsea</code></a></li> </ul></li> <li><a id="toc-Variables-for-configure-1" href="#Variables-for-configure">7.4 Variables for configure</a></li> </ul></li> <li><a id="toc-Coding-conventions-1" href="#Coding-conventions">8 Coding conventions</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Declarations-and-definitions-1" href="#Declarations-and-definitions">8.1 Declarations and definitions</a></li> <li><a id="toc-Const-1" href="#Const">8.2 Const</a></li> </ul></li> <li><a id="toc-Continuous-integration-1" href="#Continuous-integration">9 Continuous integration</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Transfer-from-Subversion-to-Github-1" href="#Transfer-from-Subversion-to-Github">9.1 Transfer from Subversion to Github</a></li> <li><a id="toc-Automatic-update-of-the-Git-mirror-1" href="#Automatic-update-of-the-Git-mirror">9.2 Automatic update of the Git mirror</a></li> <li><a id="toc-CI-testing-on-Travis_002dCI-1" href="#CI-testing-on-Travis_002dCI">9.3 CI testing on Travis-CI</a></li> <li><a id="toc-Releases-on-Github-1" href="#Releases-on-Github">9.4 Releases on Github</a></li> </ul></li> <li><a id="toc-install_002dtl-1" href="#install_002dtl">Appendix A install-tl</a> - <ul class="no-bullet"> - <li><a id="toc-NAME" href="#install_002dtl-NAME">A.1 NAME</a></li> - <li><a id="toc-SYNOPSIS" href="#install_002dtl-SYNOPSIS">A.2 SYNOPSIS</a></li> - <li><a id="toc-DESCRIPTION" href="#install_002dtl-DESCRIPTION">A.3 DESCRIPTION</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-install_002dtl-NAME-1" href="#install_002dtl-NAME">A.1 install-tl NAME</a></li> + <li><a id="toc-install_002dtl-SYNOPSIS-1" href="#install_002dtl-SYNOPSIS">A.2 install-tl SYNOPSIS</a></li> + <li><a id="toc-install_002dtl-DESCRIPTION-1" href="#install_002dtl-DESCRIPTION">A.3 install-tl DESCRIPTION</a></li> <li><a id="toc-REFERENCES" href="#install_002dtl-REFERENCES">A.4 REFERENCES</a></li> - <li><a id="toc-OPTIONS" href="#install_002dtl-OPTIONS">A.5 OPTIONS</a></li> - <li><a id="toc-PROFILES" href="#install_002dtl-PROFILES">A.6 PROFILES</a></li> - <li><a id="toc-ENVIRONMENT-VARIABLES" href="#install_002dtl-ENVIRONMENT-VARIABLES">A.7 ENVIRONMENT VARIABLES</a></li> - <li><a id="toc-AUTHORS-AND-COPYRIGHT" href="#install_002dtl-AUTHORS-AND-COPYRIGHT">A.8 AUTHORS AND COPYRIGHT</a></li> + <li><a id="toc-install_002dtl-EXAMPLES-1" href="#install_002dtl-EXAMPLES">A.5 install-tl EXAMPLES</a></li> + <li><a id="toc-install_002dtl-OPTIONS-1" href="#install_002dtl-OPTIONS">A.6 install-tl OPTIONS</a></li> + <li><a id="toc-PROFILES" href="#install_002dtl-PROFILES">A.7 PROFILES</a></li> + <li><a id="toc-ENVIRONMENT-VARIABLES" href="#install_002dtl-ENVIRONMENT-VARIABLES">A.8 ENVIRONMENT VARIABLES</a></li> + <li><a id="toc-DIRECTORY-TREES" href="#install_002dtl-DIRECTORY-TREES">A.9 DIRECTORY TREES</a></li> + <li><a id="toc-install_002dtl-BUGS-1" href="#install_002dtl-BUGS">A.10 install-tl BUGS</a></li> + <li><a id="toc-AUTHORS-AND-COPYRIGHT" href="#install_002dtl-AUTHORS-AND-COPYRIGHT">A.11 AUTHORS AND COPYRIGHT</a></li> </ul></li> <li><a id="toc-tlmgr-1" href="#tlmgr">Appendix B tlmgr</a> - <ul class="no-bullet"> - <li><a id="toc-NAME-1" href="#tlmgr-NAME">B.1 NAME</a></li> - <li><a id="toc-SYNOPSIS-1" href="#tlmgr-SYNOPSIS">B.2 SYNOPSIS</a></li> - <li><a id="toc-DESCRIPTION-1" href="#tlmgr-DESCRIPTION">B.3 DESCRIPTION</a></li> - <li><a id="toc-EXAMPLES" href="#tlmgr-EXAMPLES">B.4 EXAMPLES</a></li> - <li><a id="toc-OPTIONS-1" href="#tlmgr-OPTIONS">B.5 OPTIONS</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-tlmgr-NAME-1" href="#tlmgr-NAME">B.1 tlmgr NAME</a></li> + <li><a id="toc-tlmgr-SYNOPSIS-1" href="#tlmgr-SYNOPSIS">B.2 tlmgr SYNOPSIS</a></li> + <li><a id="toc-tlmgr-DESCRIPTION-1" href="#tlmgr-DESCRIPTION">B.3 tlmgr DESCRIPTION</a></li> + <li><a id="toc-tlmgr-EXAMPLES-1" href="#tlmgr-EXAMPLES">B.4 tlmgr EXAMPLES</a></li> + <li><a id="toc-tlmgr-OPTIONS-1" href="#tlmgr-OPTIONS">B.5 tlmgr OPTIONS</a></li> <li><a id="toc-ACTIONS" href="#tlmgr-ACTIONS">B.6 ACTIONS</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-help" href="#tlmgr-help">B.6.1 help</a></li> <li><a id="toc-version" href="#tlmgr-version">B.6.2 version</a></li> <li><a id="toc-backup" href="#tlmgr-backup">B.6.3 backup</a></li> - <li><a id="toc-candidates-pkg" href="#tlmgr-candidates-pkg">B.6.4 candidates <em>pkg</em></a></li> - <li><a id="toc-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d">B.6.5 check [<em>option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a></li> + <li><a id="toc-candidates-pkg" href="#tlmgr-candidates-pkg">B.6.4 candidates <em class="emph">pkg</em></a></li> + <li><a id="toc-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d">B.6.5 check [<em class="emph">option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a></li> <li><a id="toc-conf" href="#tlmgr-conf">B.6.6 conf</a></li> - <li><a id="toc-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d">B.6.7 dump-tlpdb [<em>option</em>...] [–json]</a></li> + <li><a id="toc-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d">B.6.7 dump-tlpdb [<em class="emph">option</em>...] [--json]</a></li> <li><a id="toc-generate" href="#tlmgr-generate">B.6.8 generate</a></li> <li><a id="toc-gui" href="#tlmgr-gui">B.6.9 gui</a></li> <li><a id="toc-info" href="#tlmgr-info">B.6.10 info</a></li> <li><a id="toc-init_002dusertree" href="#tlmgr-init_002dusertree">B.6.11 init-usertree</a></li> - <li><a id="toc-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">B.6.12 install [<em>option</em>...] <em>pkg</em>...</a></li> + <li><a id="toc-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">B.6.12 install [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a></li> <li><a id="toc-key" href="#tlmgr-key">B.6.13 key</a></li> <li><a id="toc-list" href="#tlmgr-list">B.6.14 list</a></li> <li><a id="toc-option" href="#tlmgr-option">B.6.15 option</a></li> @@ -234,34 +236,35 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a <li><a id="toc-postaction" href="#tlmgr-postaction">B.6.20 postaction</a></li> <li><a id="toc-print_002dplatform" href="#tlmgr-print_002dplatform">B.6.21 print-platform</a></li> <li><a id="toc-print_002dplatform_002dinfo" href="#tlmgr-print_002dplatform_002dinfo">B.6.22 print-platform-info</a></li> - <li><a id="toc-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">B.6.23 remove [<em>option</em>...] <em>pkg</em>...</a></li> + <li><a id="toc-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">B.6.23 remove [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a></li> <li><a id="toc-repository" href="#tlmgr-repository">B.6.24 repository</a></li> <li><a id="toc-restore" href="#tlmgr-restore">B.6.25 restore</a></li> <li><a id="toc-search" href="#tlmgr-search">B.6.26 search</a></li> <li><a id="toc-shell" href="#tlmgr-shell">B.6.27 shell</a></li> <li><a id="toc-show" href="#tlmgr-show">B.6.28 show</a></li> <li><a id="toc-uninstall" href="#tlmgr-uninstall">B.6.29 uninstall</a></li> - <li><a id="toc-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d" href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">B.6.30 update [<em>option</em>...] [<em>pkg</em>...]</a></li> + <li><a id="toc-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d" href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">B.6.30 update [<em class="emph">option</em>...] [<em class="emph">pkg</em>...]</a></li> </ul></li> <li><a id="toc-CONFIGURATION-FILE-FOR-TLMGR" href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR">B.7 CONFIGURATION FILE FOR TLMGR</a></li> <li><a id="toc-CRYPTOGRAPHIC-VERIFICATION" href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION">B.8 CRYPTOGRAPHIC VERIFICATION</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Configuration-of-GnuPG-invocation" href="#tlmgr-Configuration-of-GnuPG-invocation">B.8.1 Configuration of GnuPG invocation</a></li> </ul></li> <li><a id="toc-USER-MODE" href="#tlmgr-USER-MODE">B.9 USER MODE</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-User-mode-install" href="#tlmgr-User-mode-install">B.9.1 User mode install</a></li> <li><a id="toc-User-mode-backup_002c-restore_002c-remove_002c-update" href="#tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update">B.9.2 User mode backup, restore, remove, update</a></li> <li><a id="toc-User-mode-generate_002c-option_002c-paper" href="#tlmgr-User-mode-generate_002c-option_002c-paper">B.9.3 User mode generate, option, paper</a></li> + <li><a id="toc-User-mode-logs" href="#tlmgr-User-mode-logs">B.9.4 User mode logs</a></li> </ul></li> <li><a id="toc-MULTIPLE-REPOSITORIES" href="#tlmgr-MULTIPLE-REPOSITORIES">B.10 MULTIPLE REPOSITORIES</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Pinning" href="#tlmgr-Pinning">B.10.1 Pinning</a></li> </ul></li> <li><a id="toc-GUI-FOR-TLMGR" href="#tlmgr-GUI-FOR-TLMGR">B.11 GUI FOR TLMGR</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Main-display" href="#tlmgr-Main-display">B.11.1 Main display</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Display-configuration-area" href="#tlmgr-Display-configuration-area">B.11.1.1 Display configuration area</a></li> <li><a id="toc-Package-list-area" href="#tlmgr-Package-list-area">B.11.1.2 Package list area</a></li> <li><a id="toc-Main-display-action-buttons" href="#tlmgr-Main-display-action-buttons">B.11.1.3 Main display action buttons</a></li> @@ -270,9 +273,9 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a <li><a id="toc-GUI-options" href="#tlmgr-GUI-options">B.11.3 GUI options</a></li> </ul></li> <li><a id="toc-MACHINE_002dREADABLE-OUTPUT" href="#tlmgr-MACHINE_002dREADABLE-OUTPUT">B.12 MACHINE-READABLE OUTPUT</a> - <ul class="no-bullet"> - <li><a id="toc-Machine_002dreadable-update-and-install-output" href="#tlmgr-Machine_002dreadable-update-and-install-output">B.12.1 Machine-readable <code>update</code> and <code>install</code> output</a></li> - <li><a id="toc-Machine_002dreadable-option-output" href="#tlmgr-Machine_002dreadable-option-output">B.12.2 Machine-readable <code>option</code> output</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-Machine_002dreadable-update-and-install-output" href="#tlmgr-Machine_002dreadable-update-and-install-output">B.12.1 Machine-readable <code class="code">update</code> and <code class="code">install</code> output</a></li> + <li><a id="toc-Machine_002dreadable-option-output" href="#tlmgr-Machine_002dreadable-option-output">B.12.2 Machine-readable <code class="code">option</code> output</a></li> </ul></li> <li><a id="toc-ENVIRONMENT-VARIABLES-1" href="#tlmgr-ENVIRONMENT-VARIABLES">B.13 ENVIRONMENT VARIABLES</a></li> <li><a id="toc-AUTHORS-AND-COPYRIGHT-1" href="#tlmgr-AUTHORS-AND-COPYRIGHT">B.14 AUTHORS AND COPYRIGHT</a></li> @@ -281,11 +284,11 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a </ul> </div> </div> -<div class="Overview_element" id="SEC_Overview"> +<div class="element-shortcontents" id="SEC_Shortcontents"> <h2 class="shortcontents-heading">Short Table of Contents</h2> <div class="shortcontents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="stoc-Introduction-1" href="#toc-Introduction-1">1 Introduction</a></li> <li><a id="stoc-Overview-of-build-system-1" href="#toc-Overview-of-build-system-1">2 Overview of build system</a></li> <li><a id="stoc-Prerequisites-1" href="#toc-Prerequisites-1">3 Prerequisites</a></li> @@ -302,115 +305,115 @@ Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a </div> </div> <hr> -<div class="chapter" id="Introduction"> -<div class="header"> +<div class="chapter-level-extent" id="Introduction"> +<div class="nav-panel"> <p> -Next: <a href="#Overview-of-build-system" accesskey="n" rel="next">Overview of build system</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Building TeX Live (2022)</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Overview-of-build-system" accesskey="n" rel="next">Overview of build system</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Building TeX Live (2023)</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> +<h2 class="chapter" id="Introduction-1">1 Introduction</h2> -<span id="index-introduction"></span> +<a class="index-entry-id" id="index-introduction"></a> -<p>This manual (dated March 2022) corresponds to the TeX Live -2022 release. +<p>This manual (dated February 2023) corresponds to the TeX Live +2023 release. </p> <p>This manual is aimed at system installers and programmers, and focuses on how to configure, build, and develop the TeX Live (TL) sources. It is also available as plain text files in the source tree: -<samp>source/README.*</samp>. +<samp class="file">source/README.*</samp>. </p> -<p>The main <samp>source/README</samp> file in the TL source tree provides +<p>The main <samp class="file">source/README</samp> file in the TL source tree provides maximally-terse information for doing a build, and portability information for different systems, along with -<samp>source/doc/README.solaris</samp>. +<samp class="file">source/doc/README.solaris</samp>. </p> <p>For information on acquiring the TL sources, see -<a href="https://tug.org/texlive/svn">https://tug.org/texlive/svn</a>. The canonical source repository +<a class="url" href="https://tug.org/texlive/svn">https://tug.org/texlive/svn</a>. The canonical source repository uses Subversion, and we have no plans to change this. </p> <p>This manual does not duplicate the information found in other TL documentation resources, such as: </p> -<ul> -<li> The TeX Live web pages: <a href="https://tug.org/texlive">https://tug.org/texlive</a>. +<ul class="itemize mark-bullet"> +<li>The TeX Live web pages: <a class="url" href="https://tug.org/texlive">https://tug.org/texlive</a>. -</li><li> The web page describing how to build the binaries which -are distributed with TeX Live: <a href="https://tug.org/texlive/build.html">https://tug.org/texlive/build.html</a>. +</li><li>The web page describing how to build the binaries which +are distributed with TeX Live: <a class="url" href="https://tug.org/texlive/build.html">https://tug.org/texlive/build.html</a>. -</li><li> The TeX Live user manual: <a href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a>, or -run <code>texdoc texlive</code>. +</li><li>The TeX Live user manual: <a class="url" href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a>, or +run <code class="code">texdoc texlive</code>. -</li><li> Other TeX-related Texinfo manuals (see <cite><a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Top">Web2c</a></cite>, -<cite><a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Top">Kpathsea</a></cite>, etc.): -<a href="https://tug.org/texinfohtml/">https://tug.org/texinfohtml/</a>, or check the ‘<samp>TeX</samp>’ category in +</li><li>Other TeX-related Texinfo manuals (see <cite class="cite"><a data-manual="web2c" href="https://tug.org/texinfohtml/web2c.html#Top">Web2c</a></cite>, +<cite class="cite"><a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Top">Kpathsea</a></cite>, etc.): +<a class="url" href="https://tug.org/texinfohtml/">https://tug.org/texinfohtml/</a>, or check the ‘<samp class="samp">TeX</samp>’ category in the GNU Info system. -</li><li> Package documentation: -<a href="https://tug.org/texlive/Contents/live/doc.html">https://tug.org/texlive/Contents/live/doc.html</a>, or the -<samp>doc.html</samp> file at the top level of the installed TL. +</li><li>Package documentation: +<a class="url" href="https://tug.org/texlive/Contents/live/doc.html">https://tug.org/texlive/Contents/live/doc.html</a>, or the +<samp class="file">doc.html</samp> file at the top level of the installed TL. </li></ul> -<p>As an exception, the full documentation for <code>install-tl</code> and -<code>tlmgr</code> is included here as appendices, simply because it is easy +<p>As an exception, the full documentation for <code class="code">install-tl</code> and +<code class="code">tlmgr</code> is included here as appendices, simply because it is easy to do so. The same text is available online (linked from -<a href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a>, or by invoking the program -with ‘<samp>--help</samp>’ (or look at the end of the source). +<a class="url" href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a>, or by invoking the program +with ‘<samp class="samp">--help</samp>’ (or look at the end of the source). </p> <hr> </div> -<div class="chapter" id="Overview-of-build-system"> -<div class="header"> +<div class="chapter-level-extent" id="Overview-of-build-system"> +<div class="nav-panel"> <p> -Next: <a href="#Prerequisites" accesskey="n" rel="next">Prerequisites</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Prerequisites" accesskey="n" rel="next">Prerequisites</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Overview-of-build-system-1"></span><h2 class="chapter">2 Overview of build system</h2> +<h2 class="chapter" id="Overview-of-build-system-1">2 Overview of build system</h2> -<span id="index-build-system_002c-design-of"></span> +<a class="index-entry-id" id="index-build-system_002c-design-of"></a> -<span id="index-Autoconf"></span> -<span id="index-Automake"></span> -<span id="index-Libtool"></span> -<span id="index-tests_002c-running"></span> +<a class="index-entry-id" id="index-Autoconf"></a> +<a class="index-entry-id" id="index-Automake"></a> +<a class="index-entry-id" id="index-Libtool"></a> +<a class="index-entry-id" id="index-tests_002c-running"></a> <p>The TeX Live build system was redesigned in 2009 to consistently use -Autoconf, Automake, and Libtool. Thus, running<br> <code>configure +Autoconf, Automake, and Libtool. Thus, running<br> <code class="code">configure && make && make check && make install</code><br>or the essentially-equivalent -top-level <code>Build</code> script suffices to build and install the TL -programs. The <code>make check</code> clause performs various tests of the +top-level <code class="code">Build</code> script suffices to build and install the TL +programs. The <code class="code">make check</code> clause performs various tests of the generated programs—not strictly required but strongly recommended. -Running <code>configure --help</code> will display a comprehensive list of -all <code>configure</code> options. +Running <code class="code">configure --help</code> will display a comprehensive list of +all <code class="code">configure</code> options. </p> <p>The main components of the TL build system are: </p> -<dl compact="compact"> -<dt><span><samp>libs/<var>lib</var></samp></span></dt> +<dl class="table"> +<dt><samp class="file">libs/<var class="var">lib</var></samp></dt> <dd><p>Generic libraries. </p> </dd> -<dt><span><samp>texk/<var>lib</var></samp></span></dt> +<dt><samp class="file">texk/<var class="var">lib</var></samp></dt> <dd><p>TeX-specific libraries in subdirectories, notably -<var>lib</var>=<code>kpathsea</code>. (The other one is <samp>texk/ptexenc</samp>.) +<var class="var">lib</var>=<code class="code">kpathsea</code>. (The other one is <samp class="file">texk/ptexenc</samp>.) </p> </dd> -<dt><span><samp>texk/<var>prog</var></samp></span></dt> +<dt><samp class="file">texk/<var class="var">prog</var></samp></dt> <dd><p>TeX-specific programs (that use Kpathsea). </p> </dd> -<dt><span><samp>utils/<var>prog</var></samp></span></dt> +<dt><samp class="file">utils/<var class="var">prog</var></samp></dt> <dd><p>Other programs (that don’t use Kpathsea). </p> </dd> </dl> -<span id="index-kpse_002dpkgs_002em4"></span> +<a class="index-entry-id" id="index-kpse_002dpkgs_002em4"></a> <p>The primary design goal of the build system is modularity. Each program and library module (or package) specifies its own requirements and properties, such as required libraries, whether an installed -(system) version of a library can be used, <code>configure</code> options to +(system) version of a library can be used, <code class="code">configure</code> options to be seen at the top level, and more. An explicit list of all available -modules is kept in a single central place: <samp>m4/kpse-pkgs.m4</samp>. +modules is kept in a single central place: <samp class="file">m4/kpse-pkgs.m4</samp>. </p> <p>A second, related goal is to configure and build each library before configuring any other (program or library) module which uses that @@ -428,45 +431,45 @@ efforts, neither task is easy.) </p> <hr> </div> -<div class="chapter" id="Prerequisites"> -<div class="header"> +<div class="chapter-level-extent" id="Prerequisites"> +<div class="nav-panel"> <p> -Next: <a href="#Building" accesskey="n" rel="next">Building</a>, Previous: <a href="#Overview-of-build-system" accesskey="p" rel="prev">Overview of build system</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Building" accesskey="n" rel="next">Building</a>, Previous: <a href="#Overview-of-build-system" accesskey="p" rel="prev">Overview of build system</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Prerequisites-1"></span><h2 class="chapter">3 Prerequisites</h2> +<h2 class="chapter" id="Prerequisites-1">3 Prerequisites</h2> -<span id="index-prerequisites-for-building"></span> -<span id="index-requirements-for-building"></span> +<a class="index-entry-id" id="index-prerequisites-for-building"></a> +<a class="index-entry-id" id="index-requirements-for-building"></a> -<span id="index-compilers_002c-C-and-C_002b_002b11"></span> +<a class="index-entry-id" id="index-compilers_002c-C-and-C_002b_002b11"></a> <p>Overall, building the TeX Live programs, when using all libraries from -the TL source tree, requires C and C++11 compilers, GNU <code>make</code>, +the TL source tree, requires C and C++11 compilers, GNU <code class="code">make</code>, and Python. </p> -<ul> -<li> If <code>make</code> from your <code>PATH</code> is not GNU <code>make</code>, you can -set the <code>MAKE</code> environment variable to whatever is necessary. +<ul class="itemize mark-bullet"> +<li>If <code class="code">make</code> from your <code class="code">PATH</code> is not GNU <code class="code">make</code>, you can +set the <code class="code">MAKE</code> environment variable to whatever is necessary. -<span id="index-GNU-make_002c-required"></span> -<span id="index-gmake_002c-required"></span> -<span id="index-FreeType_002c-requires-gmake"></span> -<span id="index-_0024_0040-target-in-normal-make-rules"></span> -<p>GNU <code>make</code> is required only because of third-party libraries, +<a class="index-entry-id" id="index-GNU-make_002c-required"></a> +<a class="index-entry-id" id="index-gmake_002c-required"></a> +<a class="index-entry-id" id="index-FreeType_002c-requires-gmake"></a> +<a class="index-entry-id" id="index-_0024_0040-target-in-normal-make-rules"></a> +<p>GNU <code class="code">make</code> is required only because of third-party libraries, notably FreeType. Automake/Autoconf output in general, and the TL-maintained directories, work with any reasonable -<code>make</code>.<a id="DOCF1" href="#FOOT1"><sup>1</sup></a> +<code class="code">make</code>.<a class="footnote" id="DOCF1" href="#FOOT1"><sup>1</sup></a> </p> -</li><li> <span id="index-C_002b_002b11_002c-required"></span> -<span id="index-dvisvgm_002c-requires-C_002b_002b11"></span> -<span id="index-HarfBuzz_002c-requires-C_002b_002b11"></span> -<span id="index-ICU_002c-requires-C_002b_002b11"></span> +</li><li><a class="index-entry-id" id="index-C_002b_002b11_002c-required"></a> +<a class="index-entry-id" id="index-dvisvgm_002c-requires-C_002b_002b11"></a> +<a class="index-entry-id" id="index-HarfBuzz_002c-requires-C_002b_002b11"></a> +<a class="index-entry-id" id="index-ICU_002c-requires-C_002b_002b11"></a> A C++11 compiler is similarly required because of the third-party -libraries ICU and HarfBuzz (at least); the program <code>dvisvgm</code> also +libraries ICU and HarfBuzz (at least); the program <code class="code">dvisvgm</code> also requires C++11. It is possible to build what remains with older compilers, but you have to remove the C++11-dependent sources. -See <a href="#Build-one-package">Build one package</a>. +See <a class="xref" href="#Build-one-package">Build one package</a>. -</li><li> <span id="index-Python_002c-required-by-ICU"></span> +</li><li><a class="index-entry-id" id="index-Python_002c-required-by-ICU"></a> Python is required by ICU tests. (If you know how to disable these tests and thus eliminate the requirement, please write.) @@ -474,98 +477,98 @@ tests and thus eliminate the requirement, please write.) <p>A few programs in the tree have additional requirements: </p> -<dl compact="compact"> -<dt id='index-perl_002c-required-by-web2c_002c-etc_002e'><span><samp>web2c</samp><a href='#index-perl_002c-required-by-web2c_002c-etc_002e' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>requires <code>perl</code> for some tests run by <code>make check</code>. -Incidentally, the TeX Live installer (<code>install-tl</code>) and -manager (<code>tlmgr</code>) are also written in Perl, but this does not +<dl class="table"> +<dt id='index-perl_002c-required-by-web2c_002c-etc_002e'><span><samp class="file">web2c</samp><a class="copiable-link" href='#index-perl_002c-required-by-web2c_002c-etc_002e'> ¶</a></span></dt> +<dd><p>requires <code class="code">perl</code> for some tests run by <code class="code">make check</code>. +Incidentally, the TeX Live installer (<code class="code">install-tl</code>) and +manager (<code class="code">tlmgr</code>) are also written in Perl, but this does not matter for compiling the sources. </p> </dd> -<dt id='index-X11-development_002c-required-by-X-clients'><span><samp>xdvik</samp><a href='#index-X11-development_002c-required-by-X-clients' class='copiable-anchor'> ¶</a></span></dt> -<dt><span><samp>xpdfopen</samp></span></dt> +<dt id='index-X11-development_002c-required-by-X-clients'><span><samp class="file">xdvik</samp><a class="copiable-link" href='#index-X11-development_002c-required-by-X-clients'> ¶</a></span></dt> +<dt><samp class="file">xpdfopen</samp></dt> <dd><p>require X11 headers and libraries, typically in devel(opment) packages that are not installed by default. </p> </dd> -<dt id='index-fontconfig-library_002c-required-by-xetex'><span><samp>xetex</samp><a href='#index-fontconfig-library_002c-required-by-xetex' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-ApplicationServices-Mac-framework_002c-required-by-xetex"></span> -<span id="index-Cocoa-Mac-framework_002c-required-by-xetex"></span> -<p>requires <samp>fontconfig</samp> (again both headers and library), or, for -MacOS only, the <code>ApplicationServices</code> and <code>Cocoa</code> +<dt id='index-fontconfig-library_002c-required-by-xetex'><span><samp class="file">xetex</samp><a class="copiable-link" href='#index-fontconfig-library_002c-required-by-xetex'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-ApplicationServices-Mac-framework_002c-required-by-xetex"></a> +<a class="index-entry-id" id="index-Cocoa-Mac-framework_002c-required-by-xetex"></a> +<p>requires <samp class="file">fontconfig</samp> (again both headers and library), or, for +MacOS only, the <code class="code">ApplicationServices</code> and <code class="code">Cocoa</code> frameworks. </p> </dd> -<dt id='index-clisp_002c-required-by-xindy'><span><samp>xindy</samp><a href='#index-clisp_002c-required-by-xindy' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-libsigsegv_002c-required-by-xindy"></span> -<p>requires GNU <code>clisp</code>, <code>libsigsegv</code>, and <code>libiconv</code>; -additionally, to build the rules and/or documentation: <code>perl</code>, -<code>latex</code>, <code>pdflatex</code>. +<dt id='index-clisp_002c-required-by-xindy'><span><samp class="file">xindy</samp><a class="copiable-link" href='#index-clisp_002c-required-by-xindy'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-libsigsegv_002c-required-by-xindy"></a> +<p>requires GNU <code class="code">clisp</code>, <code class="code">libsigsegv</code>, and <code class="code">libiconv</code>; +additionally, to build the rules and/or documentation: <code class="code">perl</code>, +<code class="code">latex</code>, <code class="code">pdflatex</code>. </p> </dd> </dl> <p>Lacking the required tools, building these programs must avoided, e.g.,<br> -<code>configure --without-x --disable-xetex --disable-xindy</code> +<code class="code">configure --without-x --disable-xetex --disable-xindy</code> </p> <p>Modifying source files induces more requirements, as one might expect: </p> -<ul> -<li> Modification of any <code>.y</code> or <code>.l</code> source files requires -<samp>bison</samp> or <samp>flex</samp> to update the corresponding C sources. +<ul class="itemize mark-bullet"> +<li>Modification of any <code class="code">.y</code> or <code class="code">.l</code> source files requires +<samp class="file">bison</samp> or <samp class="file">flex</samp> to update the corresponding C sources. -</li><li> Modification of the sources for <code>.info</code> files requires -<code>makeinfo</code>. +</li><li>Modification of the sources for <code class="code">.info</code> files requires +<code class="code">makeinfo</code>. -</li><li> Modification of any part of the build system (M4 macros, -<samp>configure.ac</samp>, <samp>Makefile.am</samp>, or their fragments) requires +</li><li>Modification of any part of the build system (M4 macros, +<samp class="file">configure.ac</samp>, <samp class="file">Makefile.am</samp>, or their fragments) requires GNU M4, GNU Autoconf, GNU Automake, and GNU Libtool to update the generated files. Furthermore, to reliably reproduce the build files, the original GNU releases of these tools must be used, not any distro -packaging of them. See <a href="#Build-system-tools">Build system tools</a>, for more discussion. +packaging of them. See <a class="xref" href="#Build-system-tools">Build system tools</a>, for more discussion. </li></ul> <p>If you haven’t modified any source files, and infrastructure tools -such as <code>autoconf</code> or <code>makeinfo</code> are still being run, check -your timestamps—notably, <code>use-commit-times</code> must be set to -<code>yes</code> in your Subversion configuration (see <a href="#Build-system-tools">Build system tools</a>). No infrastructure tools are needed to do a normal build +such as <code class="code">autoconf</code> or <code class="code">makeinfo</code> are still being run, check +your timestamps—notably, <code class="code">use-commit-times</code> must be set to +<code class="code">yes</code> in your Subversion configuration (see <a class="pxref" href="#Build-system-tools">Build system tools</a>). No infrastructure tools are needed to do a normal build (barring bugs). </p> <hr> </div> -<div class="chapter" id="Building"> -<div class="header"> +<div class="chapter-level-extent" id="Building"> +<div class="nav-panel"> <p> -Next: <a href="#Installing" accesskey="n" rel="next">Installing</a>, Previous: <a href="#Prerequisites" accesskey="p" rel="prev">Prerequisites</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Installing" accesskey="n" rel="next">Installing</a>, Previous: <a href="#Prerequisites" accesskey="p" rel="prev">Prerequisites</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Building-1"></span><h2 class="chapter">4 Building</h2> +<h2 class="chapter" id="Building-1">4 Building</h2> -<span id="index-building"></span> -<span id="index-overall-build-process"></span> +<a class="index-entry-id" id="index-building"></a> +<a class="index-entry-id" id="index-overall-build-process"></a> -<span id="index-Build-script"></span> -<p>The top-level <samp>Build</samp> script is intended to simplify building the +<a class="index-entry-id" id="index-Build-script"></a> +<p>The top-level <samp class="file">Build</samp> script is intended to simplify building the binaries distributed with TeX Live itself—we call this the “native” -TL build. It runs <code>configure && make world</code>, which builds +TL build. It runs <code class="code">configure && make world</code>, which builds everything in a subdirectory of the main source tree (default -<samp>Work/</samp>), installs everything in another subdirectory (default -<samp>inst/</samp>), and finally runs <code>make check</code>. The exact +<samp class="file">Work/</samp>), installs everything in another subdirectory (default +<samp class="file">inst/</samp>), and finally runs <code class="code">make check</code>. The exact directory and command names can be specified via environment variables and a few leading options. All remaining arguments (assignments or -options) are passed to the <samp>configure</samp> script. Please take a -look at the <samp>./Build</samp> source file for more information; it is a +options) are passed to the <samp class="file">configure</samp> script. Please take a +look at the <samp class="file">./Build</samp> source file for more information; it is a straightforward shell script. </p> -<span id="index-source-directory-building_002c-not-supported"></span> -<span id="index-build-directory_002c-required"></span> +<a class="index-entry-id" id="index-source-directory-building_002c-not-supported"></a> +<a class="index-entry-id" id="index-build-directory_002c-required"></a> <p>An alternative, and the one we will mainly discuss here, is to run -<code>configure</code> and <code>make</code> in a suitable empty subdirectory. +<code class="code">configure</code> and <code class="code">make</code> in a suitable empty subdirectory. Building in the source directory itself is not supported (sorry). </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Build-iteration" accesskey="1">Build iteration</a></li> <li><a href="#Build-in-parallel" accesskey="2">Build in parallel</a></li> <li><a href="#Build-distribution" accesskey="3">Build distribution</a></li> @@ -574,120 +577,120 @@ Building in the source directory itself is not supported (sorry). <li><a href="#Cross-compilation" accesskey="6">Cross compilation</a></li> </ul> <hr> -<div class="section" id="Build-iteration"> -<div class="header"> +<div class="section-level-extent" id="Build-iteration"> +<div class="nav-panel"> <p> Next: <a href="#Build-in-parallel" accesskey="n" rel="next">Build in parallel</a>, Up: <a href="#Building" accesskey="u" rel="up">Building</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build-iteration-1"></span><h3 class="section">4.1 Build iteration</h3> +<h3 class="section" id="Build-iteration-1">4.1 Build iteration</h3> -<span id="index-build-iteration"></span> -<span id="index-iteration-through-sources_002c-by-configure-and-make"></span> +<a class="index-entry-id" id="index-build-iteration"></a> +<a class="index-entry-id" id="index-iteration-through-sources_002c-by-configure-and-make"></a> -<p>Running the top-level <samp>configure</samp> script configures the top level -and the subdirectories <samp>libs</samp>, <samp>utils</samp>, and <samp>texk</samp>. -Running <code>make</code> at the top level first iterates over the -TeX-specific libraries, and then runs <code>make</code> in <samp>libs</samp>, -<samp>utils</samp>, and <samp>texk</samp> to iterate over the generic libraries, +<p>Running the top-level <samp class="file">configure</samp> script configures the top level +and the subdirectories <samp class="file">libs</samp>, <samp class="file">utils</samp>, and <samp class="file">texk</samp>. +Running <code class="code">make</code> at the top level first iterates over the +TeX-specific libraries, and then runs <code class="code">make</code> in <samp class="file">libs</samp>, +<samp class="file">utils</samp>, and <samp class="file">texk</samp> to iterate over the generic libraries, utility programs, and TeX-specific programs, respectively. These iterations consist of two steps: </p> -<ol> +<ol class="enumerate"> <li> For each library or program module not yet configured, run -<code>configure</code>, adding the configure option <code>--disable-build</code> -if the module need not be built, otherwise running <code>make all</code>. +<code class="code">configure</code>, adding the configure option <code class="code">--disable-build</code> +if the module need not be built, otherwise running <code class="code">make all</code>. </li><li> For each library or program module that must be built, run -<code>make</code> for the selected target(s): <code>default</code> or -<code>all</code> to (re-)build, <code>check</code> to run tests, <code>install</code>, +<code class="code">make</code> for the selected target(s): <code class="code">default</code> or +<code class="code">all</code> to (re-)build, <code class="code">check</code> to run tests, <code class="code">install</code>, etc. </li></ol> -<p>Running the top-level <code>make</code> a second time iterates again over +<p>Running the top-level <code class="code">make</code> a second time iterates again over all the library and program modules, and finds (should find) nothing to be done. </p> <hr> </div> -<div class="section" id="Build-in-parallel"> -<div class="header"> +<div class="section-level-extent" id="Build-in-parallel"> +<div class="nav-panel"> <p> Next: <a href="#Build-distribution" accesskey="n" rel="next">Build distribution</a>, Previous: <a href="#Build-iteration" accesskey="p" rel="prev">Build iteration</a>, Up: <a href="#Building" accesskey="u" rel="up">Building</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build-in-parallel-1"></span><h3 class="section">4.2 Build in parallel</h3> +<h3 class="section" id="Build-in-parallel-1">4.2 Build in parallel</h3> -<span id="index-building-in-parallel"></span> -<span id="index-parallel-build"></span> -<span id="index-cache-for-configure"></span> +<a class="index-entry-id" id="index-building-in-parallel"></a> +<a class="index-entry-id" id="index-parallel-build"></a> +<a class="index-entry-id" id="index-cache-for-configure"></a> -<span id="index-dependencies_002c-with-several-output-files"></span> -<span id="index-_002dj-make-option"></span> +<a class="index-entry-id" id="index-dependencies_002c-with-several-output-files"></a> +<a class="index-entry-id" id="index-_002dj-make-option"></a> <p>The TL build system carefully formulates dependencies as well as -<code>make</code> rules when a tool (such as <code>tangle</code>, <code>ctangle</code>, -and <code>convert</code>) creates several output files. This allows for -parallel builds (<code>make -j <var>n</var></code> with <em class='math'><var>n</var>>1</em> or even -<code>make -j</code>) that can considerably speed up the TL build. +<code class="code">make</code> rules when a tool (such as <code class="code">tangle</code>, <code class="code">ctangle</code>, +and <code class="code">convert</code>) creates several output files. This allows for +parallel builds (<code class="code">make -j <var class="var">n</var></code> with <em class="math"><var class="var">n</var>>1</em> or even +<code class="code">make -j</code>) that can considerably speed up the TL build. </p> -<span id="index-cache-file_002c-for-configure"></span> -<span id="index-_002dC-configure-option"></span> +<a class="index-entry-id" id="index-cache-file_002c-for-configure"></a> +<a class="index-entry-id" id="index-_002dC-configure-option"></a> <p>Incidentally, a noticeable speed-up can be independently gained by -using a configure cache file, i.e., specifying the <code>configure</code> -option <code>-C</code> (recommended). +using a configure cache file, i.e., specifying the <code class="code">configure</code> +option <code class="code">-C</code> (recommended). </p> <hr> </div> -<div class="section" id="Build-distribution"> -<div class="header"> +<div class="section-level-extent" id="Build-distribution"> +<div class="nav-panel"> <p> Next: <a href="#Build-one-package" accesskey="n" rel="next">Build one package</a>, Previous: <a href="#Build-in-parallel" accesskey="p" rel="prev">Build in parallel</a>, Up: <a href="#Building" accesskey="u" rel="up">Building</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build-distribution-1"></span><h3 class="section">4.3 Build distribution</h3> +<h3 class="section" id="Build-distribution-1">4.3 Build distribution</h3> -<span id="index-building-a-distribution"></span> -<span id="index-distribution-tarball_002c-making"></span> +<a class="index-entry-id" id="index-building-a-distribution"></a> +<a class="index-entry-id" id="index-distribution-tarball_002c-making"></a> -<span id="index-dist-and-distcheck-targets-for-make"></span> -<p>Running <code>make dist</code> at the top level creates a tarball -<samp>tex-live-<var>yyyy</var>-<var>mm</var>-<var>dd</var>.tar.xz</samp> from the TL source -tree. Running <code>make distcheck</code> also verifies that this tarball +<a class="index-entry-id" id="index-dist-and-distcheck-targets-for-make"></a> +<p>Running <code class="code">make dist</code> at the top level creates a tarball +<samp class="file">tex-live-<var class="var">yyyy</var>-<var class="var">mm</var>-<var class="var">dd</var>.tar.xz</samp> from the TL source +tree. Running <code class="code">make distcheck</code> also verifies that this tarball suffices to build and install all of TL. </p> <p>This is useful for checking consistency of the source tree and Makefiles, but the result is not a complete or even usable TeX -system, since all the support files are lacking; see <a href="#Installing">Installing</a>. +system, since all the support files are lacking; see <a class="pxref" href="#Installing">Installing</a>. We do not actually distribute any such tarball, and have no plans to do so. </p> <hr> </div> -<div class="section" id="Build-one-package"> -<div class="header"> +<div class="section-level-extent" id="Build-one-package"> +<div class="nav-panel"> <p> Next: <a href="#Build-one-engine" accesskey="n" rel="next">Build one engine</a>, Previous: <a href="#Build-distribution" accesskey="p" rel="prev">Build distribution</a>, Up: <a href="#Building" accesskey="u" rel="up">Building</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build-one-package-1"></span><h3 class="section">4.4 Build one package</h3> +<h3 class="section" id="Build-one-package-1">4.4 Build one package</h3> -<span id="index-build-one-package"></span> -<span id="index-one-package_002c-building"></span> +<a class="index-entry-id" id="index-build-one-package"></a> +<a class="index-entry-id" id="index-one-package_002c-building"></a> -<span id="index-_002d_002ddisable_002dall_002dpackages"></span> -<span id="index-build-on-demand"></span> -<p>To build one package, the basic idea is to use the <code>configure</code> -option <code>--disable-all-pkgs</code> (see <a href="#g_t_002d_002ddisable_002dall_002dpkgs"><code>--disable-all-pkgs</code></a>). +<a class="index-entry-id" id="index-_002d_002ddisable_002dall_002dpackages"></a> +<a class="index-entry-id" id="index-build-on-demand"></a> +<p>To build one package, the basic idea is to use the <code class="code">configure</code> +option <code class="code">--disable-all-pkgs</code> (see <a class="pxref" href="#g_t_002d_002ddisable_002dall_002dpkgs"><code class="code">--disable-all-pkgs</code></a>). Then all program and library modules are configured but none are made. -However, the <samp>Makefile</samp>s still contain all build rules and +However, the <samp class="file">Makefile</samp>s still contain all build rules and dependencies and can be invoked to build an individual program or library, first building any required libraries. </p> <p>Here is an example from start to finish for working on -<code>dvipdfm-x</code>. Unfortunately, this does not suffice for building +<code class="code">dvipdfm-x</code>. Unfortunately, this does not suffice for building the TeX engines; see the next section. </p> <div class="example"> -<pre class="example">mkdir mydir && cd mydir # new working directory +<pre class="example-preformatted">mkdir mydir && cd mydir # new working directory -# Get sources (<a href="https://tug.org/texlive/svn">https://tug.org/texlive/svn</a>), e.g.: +# Get sources (<a class="url" href="https://tug.org/texlive/svn">https://tug.org/texlive/svn</a>), e.g.: rsync -a --delete --exclude=.svn --exclude=Work \ tug.org::tldevsrc/Build/source/ . @@ -705,7 +708,7 @@ make >&outm || echo fail cd texk/dvipdfm-x make check -# Run the new binary in the buil tree, finding support files +# Run the new binary in the build tree, finding support files # in a separate tree for a TeX Live release YYYY # (Bourne shell syntax): TEXMFROOT=/usr/local/texlive/YYYY \ @@ -713,105 +716,105 @@ TEXMFCNF=$TEXMFROOT/texmf-dist/web2c \ ./xdvipdfmx ... </pre></div> -<span id="index-TEXMFROOT-for-running-standalone"></span> -<span id="index-TEXMFCNF-for-running-standalone"></span> +<a class="index-entry-id" id="index-TEXMFROOT-for-running-standalone"></a> +<a class="index-entry-id" id="index-TEXMFCNF-for-running-standalone"></a> -<p>Then you can modify source files in <samp>mydir/texk/dvipdfm-x</samp> and -rerun <code>make</code> in <samp>mydir/Work/texk/dvipdfm-x</samp> to rebuild; that +<p>Then you can modify source files in <samp class="file">mydir/texk/dvipdfm-x</samp> and +rerun <code class="code">make</code> in <samp class="file">mydir/Work/texk/dvipdfm-x</samp> to rebuild; that build directory is where the binary ends up and where you can run a debugger, etc. </p> -<p>The second line of the <code>configure</code> invocation shows examples of +<p>The second line of the <code class="code">configure</code> invocation shows examples of extra things you likely want to specify if you intend to hack the -sources (and not just build binaries): the <code>-C</code> speeds -<code>configure</code> by enabling a cache file, and the <code>CFLAGS</code> and -<code>CXXFLAGS</code> settings eliminate compiler optimization for debugging +sources (and not just build binaries): the <code class="code">-C</code> speeds +<code class="code">configure</code> by enabling a cache file, and the <code class="code">CFLAGS</code> and +<code class="code">CXXFLAGS</code> settings eliminate compiler optimization for debugging purposes. </p> <p>Of course, you need to actually look at the output and check that -things are working. There are many <code>configure</code> options you can -tweak as desired; check the output from <code>configure --help</code>. It -is also a good idea to run <code>make check</code> after making any changes, +things are working. There are many <code class="code">configure</code> options you can +tweak as desired; check the output from <code class="code">configure --help</code>. It +is also a good idea to run <code class="code">make check</code> after making any changes, to ensure that whatever tests have been written still pass. </p> -<span id="Reducing-source-download-size"></span><h4 class="subsubheading">Reducing source download size</h4> +<h4 class="subsubheading" id="Reducing-source-download-size">Reducing source download size</h4> -<span id="index-size-of-source-tree"></span> +<a class="index-entry-id" id="index-size-of-source-tree"></a> <p>The above retrieves the entire TL source tree (several hundred megabytes). It is natural to ask if this is really necessary. Strictly speaking, the answer is no, but it is vastly more convenient to do so. If you cut down the source tree, you must also give -additional <code>configure</code> flags to individually disable using system +additional <code class="code">configure</code> flags to individually disable using system versions of libraries, or the intricacies of the dependencies (such as -<code>teckit</code> requiring <code>zlib</code>) will have undesired side effects. -For an example of this approach, see the <code>build-pdftex.sh</code> script -in the <code>pdftex</code> development source (details at -<a href="http://pdftex.org">http://pdftex.org</a>), which is indeed such a cut-down TL source +<code class="code">teckit</code> requiring <code class="code">zlib</code>) will have undesired side effects. +For an example of this approach, see the <code class="code">build-pdftex.sh</code> script +in the <code class="code">pdftex</code> development source (details at +<a class="url" href="http://pdftex.org">http://pdftex.org</a>), which is indeed such a cut-down TL source tree. </p> -<span id="GCC-used-by-default"></span><h4 class="subsubheading">GCC used by default</h4> +<h4 class="subsubheading" id="GCC-used-by-default">GCC used by default</h4> -<span id="index-CC_003dc_002dcompiler"></span> -<span id="index-CXX_003dc_002b_002b_002dcompiler"></span> -<span id="index-OBJCXX_003dobjc_002dcompiler"></span> -<span id="index-gcc_002c-default-compilers"></span> -<p>By default, the <code>gcc</code> compilers will be used if present; +<a class="index-entry-id" id="index-CC_003dc_002dcompiler"></a> +<a class="index-entry-id" id="index-CXX_003dc_002b_002b_002dcompiler"></a> +<a class="index-entry-id" id="index-OBJCXX_003dobjc_002dcompiler"></a> +<a class="index-entry-id" id="index-gcc_002c-default-compilers"></a> +<p>By default, the <code class="code">gcc</code> compilers will be used if present; otherwise, individual packages may use something different. You can explicitly specify the compilers to be used with the environment -variables <code>CC</code>, <code>CXX</code>, and <code>OBJCXX</code>. +variables <code class="code">CC</code>, <code class="code">CXX</code>, and <code class="code">OBJCXX</code>. </p> -<span id="Removing-C_002b11-dependency"></span><h4 class="subsubheading">Removing C+11 dependency</h4> +<h4 class="subsubheading" id="Removing-C_002b11-dependency">Removing C+11 dependency</h4> -<span id="index-C_002b_002b11_002c-removing-dependent-sources"></span> +<a class="index-entry-id" id="index-C_002b_002b11_002c-removing-dependent-sources"></a> <p>Some libraries and programs require C++11; one such is XeTeX. If you want to build with an older compiler lacking such support, you need to (re)move those source directories; unfortunately, specifying -<code>--disable</code> for them does not suffice. It’s also necessary to -specify <code>--disable-xetex</code> explicitly. Specifically, before -running <code>configure --disable-xetex ...</code>: +<code class="code">--disable</code> for them does not suffice. It’s also necessary to +specify <code class="code">--disable-xetex</code> explicitly. Specifically, before +running <code class="code">configure --disable-xetex ...</code>: </p> <div class="example"> -<pre class="example">rm -rf libs/icu libs/graphite2 texk/dvisvgm texk/web2c/xetexdir +<pre class="example-preformatted">rm -rf libs/icu libs/graphite2 texk/dvisvgm texk/web2c/xetexdir </pre></div> -<span id="index-_002d_002denable_002dmissing-to-ignore-dependencies"></span> -<p>Also, even with <code>--disable-all-pkgs</code>, dependencies are (currently) +<a class="index-entry-id" id="index-_002d_002denable_002dmissing-to-ignore-dependencies"></a> +<p>Also, even with <code class="code">--disable-all-pkgs</code>, dependencies are (currently) checked. One notable case: if a (non-MacOS) system does not have -<code>fontconfig</code>, XeTeX cannot be built (see <a href="#Prerequisites">Prerequisites</a>), -and <code>configure</code> will terminate even with <code>--disable-xetex</code>. -To proceed without such dependencies, specify <code>--enable-missing</code> +<code class="code">fontconfig</code>, XeTeX cannot be built (see <a class="pxref" href="#Prerequisites">Prerequisites</a>), +and <code class="code">configure</code> will terminate even with <code class="code">--disable-xetex</code>. +To proceed without such dependencies, specify <code class="code">--enable-missing</code> also. </p> <p>As of 2022, HarfBuzz also requires C++11. Therefore even more would -have to be disabled and removed, notably including <code>luahbtex</code>, +have to be disabled and removed, notably including <code class="code">luahbtex</code>, the standard engine used for LuaLaTeX. Removing that would not be acceptable for builds intended for distribution; but perhaps for testing the above information could still be useful. </p> -<span id="index-removing-build-directories"></span> -<span id="index-configure-problems_002c-work-around-by-removing"></span> -<p>In general, the TL <code>configure</code> will run in all directories. +<a class="index-entry-id" id="index-removing-build-directories"></a> +<a class="index-entry-id" id="index-configure-problems_002c-work-around-by-removing"></a> +<p>In general, the TL <code class="code">configure</code> will run in all directories. Therefore a general workaround for build problems is to remove failing directories from the tree, and also specify the relevant -<code>--disable-...</code> option(s). +<code class="code">--disable-...</code> option(s). </p> <p>Patches to improve all this would be most welcome. </p> <hr> </div> -<div class="section" id="Build-one-engine"> -<div class="header"> +<div class="section-level-extent" id="Build-one-engine"> +<div class="nav-panel"> <p> Next: <a href="#Cross-compilation" accesskey="n" rel="next">Cross compilation</a>, Previous: <a href="#Build-one-package" accesskey="p" rel="prev">Build one package</a>, Up: <a href="#Building" accesskey="u" rel="up">Building</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build-one-engine-1"></span><h3 class="section">4.5 Build one engine</h3> +<h3 class="section" id="Build-one-engine-1">4.5 Build one engine</h3> -<span id="index-build-one-engine"></span> -<span id="index-one-engine_002c-building"></span> -<span id="index-engine_002c-building-one"></span> +<a class="index-entry-id" id="index-build-one-engine"></a> +<a class="index-entry-id" id="index-one-engine_002c-building"></a> +<a class="index-entry-id" id="index-engine_002c-building-one"></a> <p>Unfortunately, there is one common case where the steps in the -preceding section to build one package (see <a href="#Build-one-package">Build one package</a>) do +preceding section to build one package (see <a class="pxref" href="#Build-one-package">Build one package</a>) do not suffice: wanting to build one, or a subset, of the TeX engines (or other Web2c programs). </p> @@ -820,7 +823,7 @@ explicitly specify what to make. For example, to build only the original TeX: </p> <div class="example"> -<pre class="example">cd Work # top build directory +<pre class="example-preformatted">cd Work # top build directory ../configure --without-x --disable-shared --disable-all-pkgs \ --enable-tex --disable-synctex --disable-xetex \ --enable-missing -C CFLAGS=-g CXXFLAGS=-g @@ -829,156 +832,156 @@ cd texk/web2c # cd engine build directory make tex # must specify target </pre></div> -<p>The first <code>make</code> run will configure everything, and even build +<p>The first <code class="code">make</code> run will configure everything, and even build the libraries, even though the packages are disabled. </p> <p>The source tree can be cut down to just what is needed for the given engine (the separate pdfTeX and LuaTeX source repositories do this, for example), but see caveats in previous section. When the -<code>--disable-xetex</code> and <code>--enable-missing</code> options are needed +<code class="code">--disable-xetex</code> and <code class="code">--enable-missing</code> options are needed is also explained in the previous section. </p> <p>If you want to debug an X-related program or shared library setup, or -other variants, change the <code>configure</code> options -accordingly. Either <code>../Build</code> or <code>../configure</code> can be run. +other variants, change the <code class="code">configure</code> options +accordingly. Either <code class="code">../Build</code> or <code class="code">../configure</code> can be run. </p> -<p>Then it is necessary to again specify the target engine (<code>tex</code>, -in the above) in the <code>make</code>. +<p>Then it is necessary to again specify the target engine (<code class="code">tex</code>, +in the above) in the <code class="code">make</code>. </p> <p>All these complications are rather unfortunate. Patches are welcome. </p> -<span id="Testing-one-engine"></span><h4 class="subsubheading">Testing one engine</h4> +<h4 class="subsubheading" id="Testing-one-engine">Testing one engine</h4> -<p>To run only the tests for a given engine, say <code>hitex</code>: +<p>To run only the tests for a given engine, say <code class="code">hitex</code>: </p> <div class="example"> -<pre class="example">make -C $ww check SUBDIRS=. TESTS='$(hitex_tests)' +<pre class="example-preformatted">make -C $ww check SUBDIRS=. TESTS='$(hitex_tests)' </pre></div> -<p>where <code>$ww</code> is the web2c build directory, that is, -<samp>ww=/wherever/Build/source/Work/texk/web2c</samp>. +<p>where <code class="code">$ww</code> is the web2c build directory, that is, +<samp class="file">ww=/wherever/Build/source/Work/texk/web2c</samp>. </p> <p>It’s also possible to run individual tests the same way, using the test -name exactly as specified in the <samp>.am</samp> file: +name exactly as specified in the <samp class="file">.am</samp> file: </p> <div class="example"> -<pre class="example">make -C $ww check SUBDIRS=. TESTS=hitexdir/tests/hello.test +<pre class="example-preformatted">make -C $ww check SUBDIRS=. TESTS=hitexdir/tests/hello.test </pre></div> -<span id="index-_002d_002dno_002dprint_002ddirectory-GNU-make-option"></span> -<p>If you get tired of looking at the ‘<samp>Entering</samp>’/‘<samp>Leaving +<a class="index-entry-id" id="index-_002d_002dno_002dprint_002ddirectory-GNU-make-option"></a> +<p>If you get tired of looking at the ‘<samp class="samp">Entering</samp>’/‘<samp class="samp">Leaving directory</samp>’ lines, you can add the (GNU) make option -<code>--no-print-dir</code>. +<code class="code">--no-print-dir</code>. </p> <p>You may find it useful to put lengthy incantations like this into a -trivial shell script with a short name (say, <code>hitst</code>). Then you -just run <code>hitst</code> and edit the file when necessary to change +trivial shell script with a short name (say, <code class="code">hitst</code>). Then you +just run <code class="code">hitst</code> and edit the file when necessary to change things around. </p> <hr> </div> -<div class="section" id="Cross-compilation"> -<div class="header"> +<div class="section-level-extent" id="Cross-compilation"> +<div class="nav-panel"> <p> Previous: <a href="#Build-one-engine" accesskey="p" rel="prev">Build one engine</a>, Up: <a href="#Building" accesskey="u" rel="up">Building</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Cross-compilation-1"></span><h3 class="section">4.6 Cross compilation</h3> +<h3 class="section" id="Cross-compilation-1">4.6 Cross compilation</h3> -<span id="index-cross-compilation"></span> -<p>In a cross compilation a <em>build</em> system is used to create -binaries to be executed on a <em>host</em> system with different +<a class="index-entry-id" id="index-cross-compilation"></a> +<p>In a cross compilation a <em class="dfn">build</em> system is used to create +binaries to be executed on a <em class="dfn">host</em> system with different hardware and/or operating system. </p> -<span id="index-native-cross-compilation"></span> +<a class="index-entry-id" id="index-native-cross-compilation"></a> <p>In simple cases, the build system can execute binaries for the host system. This typically occurs for bi-arch systems where, e.g., -<code>i386-linux</code> binaries can run on <code>x86_64-linux</code> systems and -<code>win32</code> binaries can run on <code>win64</code> systems. Although +<code class="code">i386-linux</code> binaries can run on <code class="code">x86_64-linux</code> systems and +<code class="code">win32</code> binaries can run on <code class="code">win64</code> systems. Although sometimes called “native cross”, technically this is not cross compilation at all. In most such cases it suffices to specify suitable compiler flags. It might be useful to add the configure -option <code>--build=<var>host</var></code> to get the correct canonical host -name, but note that this should <em>not</em> be <code>--host=<var>host</var></code> -(see <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Hosts-and-Cross_002dCompilation">Hosts and Cross-Compilation</a> in <cite>GNU Autoconf</cite>). +option <code class="code">--build=<var class="var">host</var></code> to get the correct canonical host +name, but note that this should <em class="emph">not</em> be <code class="code">--host=<var class="var">host</var></code> +(see <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Hosts-and-Cross_002dCompilation">Hosts and Cross-Compilation</a> in <cite class="cite">GNU Autoconf</cite>). </p> -<p>In order to build, e.g., 32-bit binaries with <code>clang</code> on a 64-bit +<p>In order to build, e.g., 32-bit binaries with <code class="command">clang</code> on a 64-bit MacOS system one could use: </p> <div class="example"> -<pre class="example">TL_BUILD_ENV="CC='clang -arch i386' \ +<pre class="example-preformatted">TL_BUILD_ENV="CC='clang -arch i386' \ CXX='clang++ -arch i386' \ OBJCXX='clang++ -arch i386'" \ ./Build --build=i386-apple-darwin </pre></div> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Cross-configuring" accesskey="1">Cross configuring</a></li> <li><a href="#Cross-problems" accesskey="2">Cross problems</a></li> </ul> <hr> -<div class="subsection" id="Cross-configuring"> -<div class="header"> +<div class="subsection-level-extent" id="Cross-configuring"> +<div class="nav-panel"> <p> Next: <a href="#Cross-problems" accesskey="n" rel="next">Cross problems</a>, Up: <a href="#Cross-compilation" accesskey="u" rel="up">Cross compilation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Cross-configuring-1"></span><h4 class="subsection">4.6.1 Cross configuring</h4> +<h4 class="subsection" id="Cross-configuring-1">4.6.1 Cross configuring</h4> -<span id="index-cross-compilation-configuring"></span> -<span id="index-configuring_002c-for-cross-compilation"></span> +<a class="index-entry-id" id="index-cross-compilation-configuring"></a> +<a class="index-entry-id" id="index-configuring_002c-for-cross-compilation"></a> -<span id="index-_002d_002dhost_003dhost"></span> -<span id="index-_002d_002dbuild_003dhost"></span> +<a class="index-entry-id" id="index-_002d_002dhost_003dhost"></a> +<a class="index-entry-id" id="index-_002d_002dbuild_003dhost"></a> <p>In a standard cross compilation, binaries for the host system cannot execute on the build system and it is necessary to specify the -configure options <code>--host=<var>host</var></code> and -<code>--build=<var>build</var></code> with two different values. +configure options <code class="code">--host=<var class="var">host</var></code> and +<code class="code">--build=<var class="var">build</var></code> with two different values. </p> <p>Building binaries requires suitable “cross” tools, e.g., compiler, linker, and archiver, and perhaps a “cross” version of -<code>pkg-config</code> and similar to locate host system libraries. +<code class="code">pkg-config</code> and similar to locate host system libraries. Autoconf expects that these cross tools are given by their usual variables or found under their usual name prefixed with -<code><var>host</var>-</code>. Here a list of such tools and corresponding +<code class="code"><var class="var">host</var>-</code>. Here a list of such tools and corresponding variables: </p> <div class="example"> -<pre class="example"><code>ar</code> AR -<code>freetype-config</code> FT2_CONFIG -<code>g++</code> CXX -<code>gcc</code> CC -<code>icu-config</code> ICU_CONFIG -<code>objdump</code> OBJDUMP -<code>pkg-config</code> PKG_CONFIG -<code>ranlib</code> RANLIB -<code>strip</code> STRIP +<pre class="example-preformatted"><code class="code">ar</code> AR +<code class="code">freetype-config</code> FT2_CONFIG +<code class="code">g++</code> CXX +<code class="code">gcc</code> CC +<code class="code">icu-config</code> ICU_CONFIG +<code class="code">objdump</code> OBJDUMP +<code class="code">pkg-config</code> PKG_CONFIG +<code class="code">ranlib</code> RANLIB +<code class="code">strip</code> STRIP </pre></div> -<span id="index-mingw32"></span> -<p>In order to, e.g., build <code>mingw32</code> binaries on -<code>x86_64-linux</code> with a cross compiler found as -<samp>i386-pc-mingw32-gcc</samp> one would specify +<a class="index-entry-id" id="index-mingw32"></a> +<p>In order to, e.g., build <code class="code">mingw32</code> binaries on +<code class="code">x86_64-linux</code> with a cross compiler found as +<samp class="file">i386-pc-mingw32-gcc</samp> one would specify </p> <div class="example"> -<pre class="example">--host=i386-pc-mingw32 --build=x86_64-linux-gnu +<pre class="example-preformatted">--host=i386-pc-mingw32 --build=x86_64-linux-gnu </pre></div> <p>or perhaps </p> <div class="example"> -<pre class="example">--host=mingw32 --build=x86_64-linux CC=i386-pc-mingw32-gcc +<pre class="example-preformatted">--host=mingw32 --build=x86_64-linux CC=i386-pc-mingw32-gcc </pre></div> -<p>but this latter, especially, might require adding <code>CXX</code> and others. +<p>but this latter, especially, might require adding <code class="code">CXX</code> and others. </p> -<p>Configure arguments such as <code>CFLAGS=…</code> refer to the cross +<p>Configure arguments such as <code class="code">CFLAGS=…</code> refer to the cross compiler. If necessary, you can specify compilers and flags for the few auxiliary C and C++ programs required for the build process as configure arguments </p> -<span id="index-BUILDCC_002c-BUILDCFLAGS_002c-_2026"></span> +<a class="index-entry-id" id="index-BUILDCC_002c-BUILDCFLAGS_002c-_2026"></a> <div class="example"> -<pre class="example">BUILDCC=… +<pre class="example-preformatted">BUILDCC=… BUILDCPPFLAGS=… BUILDCFLAGS=… BUILDCXX=… @@ -988,308 +991,308 @@ BUILDLDFLAGS=… <hr> </div> -<div class="subsection" id="Cross-problems"> -<div class="header"> +<div class="subsection-level-extent" id="Cross-problems"> +<div class="nav-panel"> <p> Previous: <a href="#Cross-configuring" accesskey="p" rel="prev">Cross configuring</a>, Up: <a href="#Cross-compilation" accesskey="u" rel="up">Cross compilation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Cross-problems-1"></span><h4 class="subsection">4.6.2 Cross problems</h4> +<h4 class="subsection" id="Cross-problems-1">4.6.2 Cross problems</h4> -<span id="index-cross-compilation-problems"></span> +<a class="index-entry-id" id="index-cross-compilation-problems"></a> <p>The fact that binaries for the host system cannot be executed on the build system causes some problems. </p> -<p>One problem is that configure tests using <code>AC_RUN_IFELSE</code> can +<p>One problem is that configure tests using <code class="code">AC_RUN_IFELSE</code> can compile and link the test program but cannot execute it. Such tests should be avoided if possible and otherwise must supply a pessimistic test result. </p> -<span id="index-squeeze"></span> -<span id="index-web2c-program"></span> -<span id="index-freetype-cross-compiling"></span> -<span id="index-CC_005fBUILD"></span> +<a class="index-entry-id" id="index-squeeze"></a> +<a class="index-entry-id" id="index-web2c-program"></a> +<a class="index-entry-id" id="index-freetype-cross-compiling"></a> +<a class="index-entry-id" id="index-CC_005fBUILD"></a> <p>Another problem arises if the build process must execute some (auxiliary or installable) programs. Auxiliary programs can be placed into a subdirectory that is configured natively as is done for -<samp>texk/web2c/web2c</samp>, <samp>texk/dvipsk/squeeze</samp>, and -<samp>texk/xdvik/squeeze</samp>. The module <samp>libs/freetype2</samp> uses the -value of <code>CC_BUILD</code>, <samp><var>build</var>-gcc</samp>, <samp>gcc</samp>, or -<samp>cc</samp> as the compiler for the auxiliary program. +<samp class="file">texk/web2c/web2c</samp>, <samp class="file">texk/dvipsk/squeeze</samp>, and +<samp class="file">texk/xdvik/squeeze</samp>. The module <samp class="file">libs/freetype2</samp> uses the +value of <code class="code">CC_BUILD</code>, <samp class="file"><var class="var">build</var>-gcc</samp>, <samp class="file">gcc</samp>, or +<samp class="file">cc</samp> as the compiler for the auxiliary program. </p> -<span id="index-ICU-cross-compiling"></span> +<a class="index-entry-id" id="index-ICU-cross-compiling"></a> <p>The situation for installable programs needed by the build process is somewhat different. A rather expensive possibility, chosen for the ICU -libraries in module <samp>libs/icu</samp>, is to first compile natively for +libraries in module <samp class="file">libs/icu</samp>, is to first compile natively for the build system and in a second step to use these (uninstalled) programs during the cross compilation. </p> -<span id="index-tangle"></span> -<span id="index-ctangle"></span> -<span id="index-otangle"></span> -<span id="index-tie"></span> +<a class="index-entry-id" id="index-tangle"></a> +<a class="index-entry-id" id="index-ctangle"></a> +<a class="index-entry-id" id="index-otangle"></a> +<a class="index-entry-id" id="index-tie"></a> <p>This approach would also be possible for the tools such as -<samp>tangle</samp> used in the module <samp>texk/web2c</samp> to build the WEB +<samp class="file">tangle</samp> used in the module <samp class="file">texk/web2c</samp> to build the WEB programs, but that would require first building a native -<code>kpathsea</code> library. To avoid this complication, cross +<code class="code">kpathsea</code> library. To avoid this complication, cross compilation of programs written in (C)WEB requires sufficiently recent -installed versions of <samp>tangle</samp>, <samp>ctangle</samp>, <samp>otangle</samp>, -and <samp>tie</samp>. +installed versions of <samp class="file">tangle</samp>, <samp class="file">ctangle</samp>, <samp class="file">otangle</samp>, +and <samp class="file">tie</samp>. </p> -<span id="index-xindy-cross-compiling-requires-clisp"></span> -<p>Building <code>xindy</code> requires running the host system <code>clisp</code> +<a class="index-entry-id" id="index-xindy-cross-compiling-requires-clisp"></a> +<p>Building <code class="code">xindy</code> requires running the host system <code class="code">clisp</code> binary, thus cross compilation is painful, but possible. </p> <hr> </div> </div> </div> -<div class="chapter" id="Installing"> -<div class="header"> +<div class="chapter-level-extent" id="Installing"> +<div class="nav-panel"> <p> -Next: <a href="#Layout-and-infrastructure" accesskey="n" rel="next">Layout and infrastructure</a>, Previous: <a href="#Building" accesskey="p" rel="prev">Building</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Layout-and-infrastructure" accesskey="n" rel="next">Layout and infrastructure</a>, Previous: <a href="#Building" accesskey="p" rel="prev">Building</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installing-1"></span><h2 class="chapter">5 Installing</h2> +<h2 class="chapter" id="Installing-1">5 Installing</h2> -<span id="index-installing"></span> -<p>This section discusses the results of <code>make install</code> in the +<a class="index-entry-id" id="index-installing"></a> +<p>This section discusses the results of <code class="code">make install</code> in the source tree. </p> -<span id="index-support-files_002c-separate-from-build"></span> -<span id="index-texlive_002etlpdb_002c-TeX-Live-database"></span> -<span id="index-install_002dtl_002c-TeX-Live-installer"></span> -<span id="index-plain_002etex_002c-not-in-source-tree"></span> -<p>The main consideration is that <code>make install</code> is not enough to +<a class="index-entry-id" id="index-support-files_002c-separate-from-build"></a> +<a class="index-entry-id" id="index-texlive_002etlpdb_002c-TeX-Live-database"></a> +<a class="index-entry-id" id="index-install_002dtl_002c-TeX-Live-installer"></a> +<a class="index-entry-id" id="index-plain_002etex_002c-not-in-source-tree"></a> +<p>The main consideration is that <code class="code">make install</code> is not enough to make a usable TeX installation. Beyond the compiled binaries, (thousands of) support files are needed; just as a first example, -<samp>plain.tex</samp> is not in the source tree. +<samp class="file">plain.tex</samp> is not in the source tree. </p> <p>These support files are maintained completely independently and are not present in the TL source tree. The best basis for dealing with them is the TeX Live (plain text) database in -<samp>Master/tlpkg/texlive.tlpdb</samp>, and/or the TeX Live installer, -<code>install-tl</code>. More information is under <samp>Master/tlpkg</samp> and -at <a href="https://tug.org/texlive/distro.html">https://tug.org/texlive/distro.html</a>. +<samp class="file">Master/tlpkg/texlive.tlpdb</samp>, and/or the TeX Live installer, +<code class="code">install-tl</code>. More information is under <samp class="file">Master/tlpkg</samp> and +at <a class="url" href="https://tug.org/texlive/distro.html">https://tug.org/texlive/distro.html</a>. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Installation-directories" accesskey="1">Installation directories</a></li> <li><a href="#Linked-scripts" accesskey="2">Linked scripts</a></li> <li><a href="#Distro-builds" accesskey="3">Distro builds</a></li> </ul> <hr> -<div class="section" id="Installation-directories"> -<div class="header"> +<div class="section-level-extent" id="Installation-directories"> +<div class="nav-panel"> <p> Next: <a href="#Linked-scripts" accesskey="n" rel="next">Linked scripts</a>, Up: <a href="#Installing" accesskey="u" rel="up">Installing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installation-directories-1"></span><h3 class="section">5.1 Installation directories</h3> +<h3 class="section" id="Installation-directories-1">5.1 Installation directories</h3> -<span id="index-installation-directories"></span> -<span id="index-directories_002c-for-installation"></span> -<span id="index-paths_002c-for-installation"></span> +<a class="index-entry-id" id="index-installation-directories"></a> +<a class="index-entry-id" id="index-directories_002c-for-installation"></a> +<a class="index-entry-id" id="index-paths_002c-for-installation"></a> -<p>Running <code>make install</code> (or <code>make install-strip</code>) installs -executables in <code><var>bindir</var></code>, libraries in <code><var>libdir</var></code>, -headers in <code><var>includedir</var></code>, general data (including “linked -scripts”, see <a href="#Linked-scripts">Linked scripts</a>) in -<code><var>datarootdir</var>/texmf-dist</code>, man pages in <code><var>mandir</var></code>, -and Info files in <code><var>infodir</var></code>. +<p>Running <code class="code">make install</code> (or <code class="code">make install-strip</code>) installs +executables in <code class="code"><var class="var">bindir</var></code>, libraries in <code class="code"><var class="var">libdir</var></code>, +headers in <code class="code"><var class="var">includedir</var></code>, general data (including “linked +scripts”, see <a class="pxref" href="#Linked-scripts">Linked scripts</a>) in +<code class="code"><var class="var">datarootdir</var>/texmf-dist</code>, man pages in <code class="code"><var class="var">mandir</var></code>, +and Info files in <code class="code"><var class="var">infodir</var></code>. </p> -<p>The values of these directories are determined by <code>configure</code> +<p>The values of these directories are determined by <code class="code">configure</code> and can be specified explicitly as options such as -<code>--prefix=<var>prefix</var></code> or <code>--bindir=<var>bindir</var></code>; +<code class="code">--prefix=<var class="var">prefix</var></code> or <code class="code">--bindir=<var class="var">bindir</var></code>; otherwise, they are given by their usual Autoconf defaults: </p> <div class="example"> -<pre class="example"><var>prefix</var> /usr/local -<var>exec_prefix</var> <var>prefix</var> -<var>bindir</var> <var>exec_prefix</var>/bin -<var>libdir</var> <var>exec_prefix</var>/lib -<var>includedir</var> <var>prefix</var>/include -<var>datarootdir</var> <var>prefix</var>/share -<var>mandir</var> <var>datarootdir</var>/man -<var>infodir</var> <var>datarootdir</var>/info +<pre class="example-preformatted"><var class="var">prefix</var> /usr/local +<var class="var">exec_prefix</var> <var class="var">prefix</var> +<var class="var">bindir</var> <var class="var">exec_prefix</var>/bin +<var class="var">libdir</var> <var class="var">exec_prefix</var>/lib +<var class="var">includedir</var> <var class="var">prefix</var>/include +<var class="var">datarootdir</var> <var class="var">prefix</var>/share +<var class="var">mandir</var> <var class="var">datarootdir</var>/man +<var class="var">infodir</var> <var class="var">datarootdir</var>/info </pre></div> <p>except possibly modified as follows: </p> -<ul> -<li> If the option <code>--enable-multiplatform</code> is given, -<code>/<var>platform</var></code> (i.e., the canonical platform name) is appended -to <code><var>bindir</var></code> and <code><var>libdir</var></code>. This is implied for a +<ul class="itemize mark-bullet"> +<li>If the option <code class="code">--enable-multiplatform</code> is given, +<code class="code">/<var class="var">platform</var></code> (i.e., the canonical platform name) is appended +to <code class="code"><var class="var">bindir</var></code> and <code class="code"><var class="var">libdir</var></code>. This is implied for a native TL build. -</li><li> <p>In a native TL build, <code><var>datarootdir</var></code> is set to -<code><var>prefix</var></code>, <code><var>infodir</var></code> is set to -<code><var>prefix</var>/texmf-dist/doc/info</code>, and <code><var>mandir</var></code> to -<code><var>prefix</var>/texmf-dist/doc/man</code>, corresponding to the +</li><li><div class="raggedright"><p class="raggedright-paragraph">In a native TL build, <code class="code"><var class="var">datarootdir</var></code> is set to +<code class="code"><var class="var">prefix</var></code>, <code class="code"><var class="var">infodir</var></code> is set to +<code class="code"><var class="var">prefix</var>/texmf-dist/doc/info</code>, and <code class="code"><var class="var">mandir</var></code> to +<code class="code"><var class="var">prefix</var>/texmf-dist/doc/man</code>, corresponding to the directories used in the TL distribution. -</p> +</p></div> </li></ul> -<p>The top-level <samp>configure</samp> script displays all these +<p>The top-level <samp class="file">configure</samp> script displays all these installation paths. </p> -<p>For the native TL build, the <code>Build</code> script leaves the binaries -in <samp>./inst/bin/<var>std-system-triplet</var></samp>. The new binaries are +<p>For the native TL build, the <code class="code">Build</code> script leaves the binaries +in <samp class="file">./inst/bin/<var class="var">std-system-triplet</var></samp>. The new binaries are not directly usable from that location; they need to be copied to -<samp>Master/bin/<var>tl-platform</var></samp>. The other files and directories -that end up in <samp>./inst/</samp> are ignored. +<samp class="file">Master/bin/<var class="var">tl-platform</var></samp>. The other files and directories +that end up in <samp class="file">./inst/</samp> are ignored. </p> <hr> </div> -<div class="section" id="Linked-scripts"> -<div class="header"> +<div class="section-level-extent" id="Linked-scripts"> +<div class="nav-panel"> <p> Next: <a href="#Distro-builds" accesskey="n" rel="next">Distro builds</a>, Previous: <a href="#Installation-directories" accesskey="p" rel="prev">Installation directories</a>, Up: <a href="#Installing" accesskey="u" rel="up">Installing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Linked-scripts-1"></span><h3 class="section">5.2 Linked scripts</h3> +<h3 class="section" id="Linked-scripts-1">5.2 Linked scripts</h3> -<span id="index-linked-scripts"></span> -<span id="index-scripts_002c-linked-and-not-maintained"></span> +<a class="index-entry-id" id="index-linked-scripts"></a> +<a class="index-entry-id" id="index-scripts_002c-linked-and-not-maintained"></a> -<span id="index-symlinks_002c-used-for-scripts"></span> -<span id="index-wrapper-binary-for-scripts-on-Windows"></span> -<span id="index-Windows_002c-invoking-scripts-on"></span> +<a class="index-entry-id" id="index-symlinks_002c-used-for-scripts"></a> +<a class="index-entry-id" id="index-wrapper-binary-for-scripts-on-Windows"></a> +<a class="index-entry-id" id="index-Windows_002c-invoking-scripts-on"></a> <p>Quite a few executables are architecture-independent shell, Perl, or other interpreted scripts, rather than compiled binaries. A few are maintained as part of the TL source tree, but most are maintained -elsewhere with copies under <samp>texk/texlive/linked_scripts</samp>. +elsewhere with copies under <samp class="file">texk/texlive/linked_scripts</samp>. </p> -<p>These so-called <em>linked scripts</em> are installed under -<code><var>datarootdir</var>/texmf-dist/scripts</code>; for Unix-like systems a -symbolic link is made in <code><var>bindir</var></code>. For example, a symlink -points from <code><var>bindir</var>/ps2eps</code> to -<code><var>datarootdir</var>/texmf-dist/scripts/ps2eps/ps2eps.pl</code>. For +<p>These so-called <em class="dfn">linked scripts</em> are installed under +<code class="code"><var class="var">datarootdir</var>/texmf-dist/scripts</code>; for Unix-like systems a +symbolic link is made in <code class="code"><var class="var">bindir</var></code>. For example, a symlink +points from <code class="code"><var class="var">bindir</var>/ps2eps</code> to +<code class="code"><var class="var">datarootdir</var>/texmf-dist/scripts/ps2eps/ps2eps.pl</code>. For Windows, a standard wrapper binary (copied to, e.g., -<code><var>bindir</var>/ps2eps.exe</code>) serves the same purpose. The source -for the wrapper is in <samp>texk/texlive/w32_wrapper</samp>. +<code class="code"><var class="var">bindir</var>/ps2eps.exe</code>) serves the same purpose. The source +for the wrapper is in <samp class="file">texk/texlive/w32_wrapper</samp>. </p> <p>One reason for this is to avoid having many copies of the same script; a more important reason is that it guarantees the scripts will stay in sync across the different supported operating systems. </p> -<span id="index-asymptote"></span> -<span id="index-biber"></span> -<span id="index-xindy"></span> -<span id="index-xz"></span> -<span id="index-wget"></span> -<p>Most important of all, we want the <code><var>bindir</var></code> resulting from +<a class="index-entry-id" id="index-asymptote"></a> +<a class="index-entry-id" id="index-biber"></a> +<a class="index-entry-id" id="index-xindy"></a> +<a class="index-entry-id" id="index-xz"></a> +<a class="index-entry-id" id="index-wget"></a> +<p>Most important of all, we want the <code class="code"><var class="var">bindir</var></code> resulting from the build to be as close as possible to what is in the TL distribution. At present, there are a few exceptions—Asymptote, Biber, Xindy—and each one creates considerable extra work. We don’t -want to add more. (See <a href="https://tug.org/texlive/build.html">https://tug.org/texlive/build.html</a> for -information about building those exceptions, as well as the <code>xz</code> -and <code>wget</code> programs that are used in the TL infrastructure.) +want to add more. (See <a class="url" href="https://tug.org/texlive/build.html">https://tug.org/texlive/build.html</a> for +information about building those exceptions, as well as the <code class="code">xz</code> +and <code class="code">wget</code> programs that are used in the TL infrastructure.) </p> <hr> </div> -<div class="section" id="Distro-builds"> -<div class="header"> +<div class="section-level-extent" id="Distro-builds"> +<div class="nav-panel"> <p> Previous: <a href="#Linked-scripts" accesskey="p" rel="prev">Linked scripts</a>, Up: <a href="#Installing" accesskey="u" rel="up">Installing</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Distro-builds-1"></span><h3 class="section">5.3 Distro builds</h3> +<h3 class="section" id="Distro-builds-1">5.3 Distro builds</h3> -<span id="index-distro_002c-building-for"></span> -<span id="index-operating-system-distribution_002c-building-for"></span> -<span id="index-system-distribution_002c-building-for"></span> +<a class="index-entry-id" id="index-distro_002c-building-for"></a> +<a class="index-entry-id" id="index-operating-system-distribution_002c-building-for"></a> +<a class="index-entry-id" id="index-system-distribution_002c-building-for"></a> -<span id="index-GNU_002fLinux-distro"></span> -<span id="index-BSD-distro"></span> +<a class="index-entry-id" id="index-GNU_002fLinux-distro"></a> +<a class="index-entry-id" id="index-BSD-distro"></a> <p>Although they use the same code base, building for the native TL distribution as shipped by the TeX user groups is typically quite different from a “distro” build needed by, e.g., a full GNU/Linux or BSD operating system distribution. </p> -<span id="index-shared-libraries_002c-using-vs_002e-avoiding"></span> +<a class="index-entry-id" id="index-shared-libraries_002c-using-vs_002e-avoiding"></a> <p>The native TL distribution uses shared libraries only when absolutely -necessary (<samp>libc</samp>, <samp>libm</samp>, X11 libraries, and -<samp>libfontconfig</samp>). In contrast, a distro typically wants to use +necessary (<samp class="file">libc</samp>, <samp class="file">libm</samp>, X11 libraries, and +<samp class="file">libfontconfig</samp>). In contrast, a distro typically wants to use as many shared libraries as possible from elsewhere on the system, -including TeX-specific libraries such as <samp>libkpathsea</samp> (even +including TeX-specific libraries such as <samp class="file">libkpathsea</samp> (even though Kpathsea has never officially been released as a shared library). In addition, the installation paths will, in general, be completely different. </p> -<p>Here are the <code>configure</code> options that distro builds are likely to +<p>Here are the <code class="code">configure</code> options that distro builds are likely to find most relevant: </p> -<dl compact="compact"> -<dt><span><code>--disable-native-texlive-build</code></span></dt> +<dl class="table"> +<dt><code class="code">--disable-native-texlive-build</code></dt> <dd><p>This must be specified to avoid interference from the many tweaks we do for the native TL build. </p> </dd> -<dt><span><code>--with-banner-add=/<var>SomeDistro</var></code></span></dt> +<dt><code class="code">--with-banner-add=/<var class="var">SomeDistro</var></code></dt> <dd><p>This isn’t technically required, but is strongly recommended, so your build and your distro can be distinguished from others. </p> </dd> -<dt><span><code>--enable-shared</code></span></dt> +<dt><code class="code">--enable-shared</code></dt> <dd><p>Build shared versions of the TeX-specific libraries (uses -<code>libtool</code>). +<code class="code">libtool</code>). </p> </dd> -<dt><span><code>--disable-static</code></span></dt> +<dt><code class="code">--disable-static</code></dt> <dd><p>Do not build the static versions of the TeX-specific libraries. </p> </dd> -<dt><span><code>--with-system-<var>lib</var></code></span></dt> -<dd><p>Look for and use a system version of the library <var>lib</var>. -<code>configure --help</code> will give you the list of possibilities. +<dt><code class="code">--with-system-<var class="var">lib</var></code></dt> +<dd><p>Look for and use a system version of the library <var class="var">lib</var>. +<code class="code">configure --help</code> will give you the list of possibilities. </p> </dd> -<dt><span><code>--with-<var>lib</var>-includes=<var>dir</var></code></span></dt> -<dt><span><code>--with-<var>lib</var>-libdir=<var>dir</var></code></span></dt> +<dt><code class="code">--with-<var class="var">lib</var>-includes=<var class="var">dir</var></code></dt> +<dt><code class="code">--with-<var class="var">lib</var>-libdir=<var class="var">dir</var></code></dt> <dd><p>If needed, allows you to specify where the headers/code are for the -given library <var>lib</var>. +given library <var class="var">lib</var>. </p> </dd> -<dt><span><code>--prefix=/usr</code></span></dt> -<dt><span><code>--prefix=/opt/TeXLive</code></span></dt> -<dd><p>Or whatever your convention is. The default is <samp>/usr/local</samp> and +<dt><code class="code">--prefix=/usr</code></dt> +<dt><code class="code">--prefix=/opt/TeXLive</code></dt> +<dd><p>Or whatever your convention is. The default is <samp class="file">/usr/local</samp> and you shouldn’t install there for a distro. </p> </dd> -<dt><span><code>--libdir=\${exec_prefix}/lib64</code></span></dt> +<dt><code class="code">--libdir=\${exec_prefix}/lib64</code></dt> <dd><p>May be needed for 64-bit bi-architecture (GNU/Linux) systems. </p> </dd> </dl> -<span id="index-Preining_002c-Norbert"></span> -<span id="index-adapting-TeX-Live-for-distros"></span> +<a class="index-entry-id" id="index-Preining_002c-Norbert"></a> +<a class="index-entry-id" id="index-adapting-TeX-Live-for-distros"></a> <p>You will need to take care of the support files mentioned above -(see <a href="#Installing">Installing</a>), and many other issues, such as font maps, +(see <a class="pxref" href="#Installing">Installing</a>), and many other issues, such as font maps, languages, and formats, independently of the build. Norbert Preining has written a detailed article on adapting TL for distros: -<a href="https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf">https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf</a>. (If the +<a class="url" href="https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf">https://tug.org/TUGboat/tb34-3/tb108preining-distro.pdf</a>. (If the article needs updating in the future, perhaps we will merge it into this document.) </p> <hr> </div> </div> -<div class="chapter" id="Layout-and-infrastructure"> -<div class="header"> +<div class="chapter-level-extent" id="Layout-and-infrastructure"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options" accesskey="n" rel="next">Configure options</a>, Previous: <a href="#Installing" accesskey="p" rel="prev">Installing</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options" accesskey="n" rel="next">Configure options</a>, Previous: <a href="#Installing" accesskey="p" rel="prev">Installing</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Layout-and-infrastructure-1"></span><h2 class="chapter">6 Layout and infrastructure</h2> +<h2 class="chapter" id="Layout-and-infrastructure-1">6 Layout and infrastructure</h2> -<span id="index-layout-of-sources"></span> -<span id="index-source-tree"></span> +<a class="index-entry-id" id="index-layout-of-sources"></a> +<a class="index-entry-id" id="index-source-tree"></a> -<p>The TeX Live source tree is the subtree rooted at <samp>Build/source</samp> of +<p>The TeX Live source tree is the subtree rooted at <samp class="file">Build/source</samp> of the complete TL distribution and contains the sources for all executables -distributed by TL, as well as <code>configure</code> scripts and <code>make</code> +distributed by TL, as well as <code class="code">configure</code> scripts and <code class="code">make</code> rules to build and install them together with some of their support files. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Build-system-tools" accesskey="1">Build system tools</a></li> <li><a href="#Top_002dlevel-directories" accesskey="2">Top-level directories</a></li> <li><a href="#Autoconf-macros" accesskey="3">Autoconf macros</a></li> @@ -1298,27 +1301,27 @@ files. <li><a href="#Extending-TeX-Live" accesskey="6">Extending TeX Live</a></li> </ul> <hr> -<div class="section" id="Build-system-tools"> -<div class="header"> +<div class="section-level-extent" id="Build-system-tools"> +<div class="nav-panel"> <p> Next: <a href="#Top_002dlevel-directories" accesskey="n" rel="next">Top-level directories</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Build-system-tools-1"></span><h3 class="section">6.1 Build system tools</h3> +<h3 class="section" id="Build-system-tools-1">6.1 Build system tools</h3> -<span id="index-tools_002c-for-building"></span> -<span id="index-GNU-tools_002c-needed-for-building"></span> -<span id="index-infrastructure_002c-tools-needed-for"></span> +<a class="index-entry-id" id="index-tools_002c-for-building"></a> +<a class="index-entry-id" id="index-GNU-tools_002c-needed-for-building"></a> +<a class="index-entry-id" id="index-infrastructure_002c-tools-needed-for"></a> -<p>As mentioned above (see <a href="#Prerequisites">Prerequisites</a>), a normal build has few +<p>As mentioned above (see <a class="pxref" href="#Prerequisites">Prerequisites</a>), a normal build has few requirements. On the other hand, if you want to modify the TeX Live -infrastructure sources, such as <samp>configure.ac</samp> or -<samp>Makefile.am</samp> files, you will need to have several additional +infrastructure sources, such as <samp class="file">configure.ac</samp> or +<samp class="file">Makefile.am</samp> files, you will need to have several additional tools installed. </p> <p>In general, the TL build system uses the latest released versions of the GNU build tools, installed directly from the original GNU releases -(e.g., by building them with <code>configure --prefix=/usr/local/gnu</code> -and having <code>PATH</code> start with <samp>/usr/local/gnu/bin</samp>). We have +(e.g., by building them with <code class="code">configure --prefix=/usr/local/gnu</code> +and having <code class="env">PATH</code> start with <samp class="file">/usr/local/gnu/bin</samp>). We have found that trying to use the versions of these tools packaged for distros causes many extra hassles, so don’t do that, tempting as it may be. @@ -1326,127 +1329,127 @@ may be. <p>Currently the versions we use are: </p> <div class="display"> -<pre class="display">autoconf (GNU Autoconf) 2.71 +<pre class="display-preformatted">autoconf (GNU Autoconf) 2.71 automake (GNU automake) 1.16.5 bison (GNU Bison) 3.8.2 flex 2.6.0 -ltmain.sh (GNU libtool) 2.4.6 +ltmain.sh (GNU libtool) 2.4.7 m4 (GNU M4) 1.4.19 -makeinfo (GNU texinfo) 6.7 +makeinfo (GNU texinfo) 7.0.2 </pre></div> -<span id="index-reautoconf"></span> -<span id="index-_002d_002denable_002dmaintainer_002dmode"></span> +<a class="index-entry-id" id="index-reautoconf"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dmaintainer_002dmode"></a> <p>These versions should be used to update the generated files (e.g., -<samp>configure</samp> or <samp>Makefile.in</samp>) in all or parts of the TL tree +<samp class="file">configure</samp> or <samp class="file">Makefile.in</samp>) in all or parts of the TL tree after their dependencies have been changed. This can be done -explicitly with the top-level <code>reautoconf</code> script or implicitly -by using the configure option <code>--enable-maintainer-mode</code>. +explicitly with the top-level <code class="code">reautoconf</code> script or implicitly +by using the configure option <code class="code">--enable-maintainer-mode</code>. </p> <p>It has often turned out that the bison and flex versions are not critical; however, the autotools versions are. If you don’t have the given versions, get them before modifying the build infrastructure. </p> -<span id="index-Subversion-repository"></span> -<span id="index-timestamps_002c-in-repository"></span> -<span id="index-use_002dcommit_002dtimes_002c-Subversion"></span> +<a class="index-entry-id" id="index-Subversion-repository"></a> +<a class="index-entry-id" id="index-timestamps_002c-in-repository"></a> +<a class="index-entry-id" id="index-use_002dcommit_002dtimes_002c-Subversion"></a> <p>The files in the Subversion repository (see -<a href="https://tug.org/texlive/svn">https://tug.org/texlive/svn</a>) are all up to date (barring +<a class="url" href="https://tug.org/texlive/svn">https://tug.org/texlive/svn</a>) are all up to date (barring bugs). For this to be reflected by their timestamps in your checkout, -be sure to set <samp>use-commit-times=yes</samp> in -<samp>~/.subversion/config</samp> or the equivalent. +be sure to set <samp class="file">use-commit-times=yes</samp> in +<samp class="file">~/.subversion/config</samp> or the equivalent. </p> -<span id="index-touching-files-to-avoid-rerunning"></span> -<span id="index-make-_002dt"></span> +<a class="index-entry-id" id="index-touching-files-to-avoid-rerunning"></a> +<a class="index-entry-id" id="index-make-_002dt"></a> <p>If timestamps are wrong, you may also be able to avoid unnecessary -runs of <code>bison</code>, <code>flex</code>, or <code>makeinfo</code> with -<code>touch</code> of the generated (<samp>.c</samp>, <samp>.h</samp>, or <samp>.info</samp>) -files. With <code>--enable-maintainer-mode</code> it may also be necessary -to <code>touch</code> first <samp>aclocal.m4</samp>, then <samp>configure</samp> and -<samp>config.h.in</samp> (or <samp>c-auto.in</samp>), and finally all -<samp>Makefile.in</samp> files. +runs of <code class="code">bison</code>, <code class="code">flex</code>, or <code class="code">makeinfo</code> with +<code class="code">touch</code> of the generated (<samp class="file">.c</samp>, <samp class="file">.h</samp>, or <samp class="file">.info</samp>) +files. With <code class="code">--enable-maintainer-mode</code> it may also be necessary +to <code class="code">touch</code> first <samp class="file">aclocal.m4</samp>, then <samp class="file">configure</samp> and +<samp class="file">config.h.in</samp> (or <samp class="file">c-auto.in</samp>), and finally all +<samp class="file">Makefile.in</samp> files. </p> <hr> </div> -<div class="section" id="Top_002dlevel-directories"> -<div class="header"> +<div class="section-level-extent" id="Top_002dlevel-directories"> +<div class="nav-panel"> <p> Next: <a href="#Autoconf-macros" accesskey="n" rel="next">Autoconf macros</a>, Previous: <a href="#Build-system-tools" accesskey="p" rel="prev">Build system tools</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Top_002dlevel-directories-1"></span><h3 class="section">6.2 Top-level directories</h3> +<h3 class="section" id="Top_002dlevel-directories-1">6.2 Top-level directories</h3> -<span id="index-directories_002c-top_002dlevel"></span> -<span id="index-top_002dlevel-directories"></span> +<a class="index-entry-id" id="index-directories_002c-top_002dlevel"></a> +<a class="index-entry-id" id="index-top_002dlevel-directories"></a> <p>Here is a brief description of the top-level directories in the TeX Live source tree. </p> -<p>As mentioned at the beginning of see <a href="#Overview-of-build-system">Overview of build system</a>, the main source directories are <samp>texk/</samp> -(TeX-specific programs and libraries), <samp>utils/</samp> (additional -programs), and <samp>libs/</samp> (generic libraries). +<p>As mentioned at the beginning of see <a class="pxref" href="#Overview-of-build-system">Overview of build system</a>, the main source directories are <samp class="file">texk/</samp> +(TeX-specific programs and libraries), <samp class="file">utils/</samp> (additional +programs), and <samp class="file">libs/</samp> (generic libraries). </p> -<span id="index-am_002f-top_002dlevel-directory"></span> -<span id="index-m4_002f-top_002dlevel-directory"></span> -<p>In addition, the top-level directories <samp>am/</samp> and <samp>m4/</samp> -contain <samp>Makefile.am</samp> fragments and Autoconf macros, +<a class="index-entry-id" id="index-am_002f-top_002dlevel-directory"></a> +<a class="index-entry-id" id="index-m4_002f-top_002dlevel-directory"></a> +<p>In addition, the top-level directories <samp class="file">am/</samp> and <samp class="file">m4/</samp> +contain <samp class="file">Makefile.am</samp> fragments and Autoconf macros, respectively, used in many places. Specifically, the file -<samp>m4/kpse-pkgs.m4</samp> contains lists of all program and library +<samp class="file">m4/kpse-pkgs.m4</samp> contains lists of all program and library modules; missing modules are silently ignored. (This helps in creating cut-down source trees.) </p> <p>Each module contributes fragments (in separate files) defining its -capabilities and requirements to the <samp>configure.ac</samp> scripts at -the top-level and in the subdirectories <samp>libs</samp>, <samp>utils</samp>, and -<samp>texk</samp>. The fragments from program modules supply -<code>configure</code> options to disable or enable building them; those +capabilities and requirements to the <samp class="file">configure.ac</samp> scripts at +the top-level and in the subdirectories <samp class="file">libs</samp>, <samp class="file">utils</samp>, and +<samp class="file">texk</samp>. The fragments from program modules supply +<code class="code">configure</code> options to disable or enable building them; those from library modules specify if an installed (system) version of that library can be used. This ultimately determines which modules need to be built—although all modules must be configured for the benefit of -<samp>make</samp> targets such as <code>dist</code> or <code>distcheck</code>. -</p> -<span id="index-build_002daux_002f-top_002dlevel-directory"></span> -<span id="index-config_002eguess_002c-config_002esub_002c-_2026"></span> -<span id="index-Gnulib_002c-used-for-common-files"></span> -<p>The top-level <samp>build-aux/</samp> directory contains the common files -<samp>compile</samp>, <samp>config.guess</samp>, <samp>config.sub</samp>, -<samp>depcomp</samp>, etc. used by most packages. These are taken from the -GNU Gnulib sources (<a href="https://www.gnu.org/software/gnulib">https://www.gnu.org/software/gnulib</a>), which +<samp class="file">make</samp> targets such as <code class="code">dist</code> or <code class="code">distcheck</code>. +</p> +<a class="index-entry-id" id="index-build_002daux_002f-top_002dlevel-directory"></a> +<a class="index-entry-id" id="index-config_002eguess_002c-config_002esub_002c-_2026"></a> +<a class="index-entry-id" id="index-Gnulib_002c-used-for-common-files"></a> +<p>The top-level <samp class="file">build-aux/</samp> directory contains the common files +<samp class="file">compile</samp>, <samp class="file">config.guess</samp>, <samp class="file">config.sub</samp>, +<samp class="file">depcomp</samp>, etc. used by most packages. These are taken from the +GNU Gnulib sources (<a class="url" href="https://www.gnu.org/software/gnulib">https://www.gnu.org/software/gnulib</a>), which in turn synchronizes with any ultimate upstream repository. There are independent copies of some of these in a few other places, e.g., -<samp>libs/freetype2/freetype-*/builds/unix/</samp>. The <code>reautoconf</code> +<samp class="file">libs/freetype2/freetype-*/builds/unix/</samp>. The <code class="code">reautoconf</code> script does not touch those, but a TL cron job keeps them in sync (nightly). </p> -<span id="index-Work_002f-top_002dlevel-directory"></span> -<span id="index-inst_002f-top_002dlevel-directory"></span> -<p>When the top-level <samp>./Build</samp> script is used to build TL, two more -two more top-level directories appear: <samp>Work/</samp> for the build tree, -and <samp>inst/</samp> for the install tree (from <code>make install</code>). -These names (and everything else about <samp>Build</samp>’s operation) can +<a class="index-entry-id" id="index-Work_002f-top_002dlevel-directory"></a> +<a class="index-entry-id" id="index-inst_002f-top_002dlevel-directory"></a> +<p>When the top-level <samp class="file">./Build</samp> script is used to build TL, two more +two more top-level directories appear: <samp class="file">Work/</samp> for the build tree, +and <samp class="file">inst/</samp> for the install tree (from <code class="code">make install</code>). +These names (and everything else about <samp class="file">Build</samp>’s operation) can be changed by setting environment variables before running it; see the script source. </p> <hr> </div> -<div class="section" id="Autoconf-macros"> -<div class="header"> +<div class="section-level-extent" id="Autoconf-macros"> +<div class="nav-panel"> <p> Next: <a href="#Library-modules" accesskey="n" rel="next">Library modules</a>, Previous: <a href="#Top_002dlevel-directories" accesskey="p" rel="prev">Top-level directories</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Autoconf-macros-1"></span><h3 class="section">6.3 Autoconf macros</h3> +<h3 class="section" id="Autoconf-macros-1">6.3 Autoconf macros</h3> -<span id="index-autoconf-macros"></span> +<a class="index-entry-id" id="index-autoconf-macros"></a> <p>Here we describe a few of the Autoconf macros used in several modules—many more are defined in the sources; see the top-level -<code>m4/</code> directory. These general macros are supplemented by -module-specific macros in directories such as <samp>texk/dvipng/m4/</samp>; -some of those are described in following sections (see <a href="#Library-modules">Library modules</a> and <a href="#Program-modules">Program modules</a>). +<code class="code">m4/</code> directory. These general macros are supplemented by +module-specific macros in directories such as <samp class="file">texk/dvipng/m4/</samp>; +some of those are described in following sections (see <a class="pxref" href="#Library-modules">Library modules</a> and <a class="ref" href="#Program-modules">Program modules</a>). </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#General-setup-macros" accesskey="1">General setup macros</a></li> <li><a href="#Macros-for-programs" accesskey="2">Macros for programs</a></li> <li><a href="#Macros-for-compilers" accesskey="3">Macros for compilers</a></li> @@ -1455,196 +1458,197 @@ some of those are described in following sections (see <a href="#Library-modules <li><a href="#Macros-for-Windows" accesskey="6">Macros for Windows</a></li> </ul> <hr> -<div class="subsection" id="General-setup-macros"> -<div class="header"> +<div class="subsection-level-extent" id="General-setup-macros"> +<div class="nav-panel"> <p> Next: <a href="#Macros-for-programs" accesskey="n" rel="next">Macros for programs</a>, Up: <a href="#Autoconf-macros" accesskey="u" rel="up">Autoconf macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="General-setup-macros-1"></span><h4 class="subsection">6.3.1 General setup macros</h4> +<h4 class="subsection" id="General-setup-macros-1">6.3.1 General setup macros</h4> -<span id="index-general-setup-macros"></span> -<span id="index-setup-macros_002c-general"></span> -<span id="index-macros_002c-general-setup"></span> +<a class="index-entry-id" id="index-general-setup-macros"></a> +<a class="index-entry-id" id="index-setup-macros_002c-general"></a> +<a class="index-entry-id" id="index-macros_002c-general-setup"></a> <p>The TL sources use two general setup macros: </p> -<dl class="def"> -<dt id="index-KPSE_005fBASIC"><span class="category">Macro: </span><span><strong>KPSE_BASIC</strong> <em>(<var>name</var>, [<var>more-options</var>])</em><a href='#index-KPSE_005fBASIC' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Initialize the basic TL infrastructure for module <var>name</var>:<br> <code>AM_INIT_AUTOMAKE([foreign <var>more-options</var>])</code><br> <code>AM_MAINTAINER_MODE</code><br> <code>KPSE_COMPILER_WARNINGS</code><br> +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fBASIC"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_BASIC</strong> <var class="def-var-arguments">(<var class="var">name</var>, [<var class="var">more-options</var>])</var><a class="copiable-link" href='#index-KPSE_005fBASIC'> ¶</a></span></dt> +<dd><p>Initialize the basic TL infrastructure for module <var class="var">name</var>:<br> <code class="code">AM_INIT_AUTOMAKE([foreign <var class="var">more-options</var>])</code><br> <code class="code">AM_MAINTAINER_MODE</code><br> <code class="code">KPSE_COMPILER_WARNINGS</code><br> and make sure the C compiler understands function prototypes. This is used for all generic library and program modules. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCOMMON"><span class="category">Macro: </span><span><strong>KPSE_COMMON</strong> <em>(<var>name</var>, [<var>more-options</var>])</em><a href='#index-KPSE_005fCOMMON' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Like <code>KPSE_BASIC</code> but add:<br> <code>LT_PREREQ([2.2.6])</code><br> <code>LT_INIT([win32-dll])</code><br> <code>AC_SYS_LARGEFILE</code><br> <code>AC_FUNC_FSEEKO</code><br>along with checks for frequently used functions, +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCOMMON"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_COMMON</strong> <var class="def-var-arguments">(<var class="var">name</var>, [<var class="var">more-options</var>])</var><a class="copiable-link" href='#index-KPSE_005fCOMMON'> ¶</a></span></dt> +<dd><p>Like <code class="code">KPSE_BASIC</code> but add:<br> <code class="code">LT_PREREQ([2.2.6])</code><br> <code class="code">LT_INIT([win32-dll])</code><br> <code class="code">AC_SYS_LARGEFILE</code><br> <code class="code">AC_FUNC_FSEEKO</code><br>along with checks for frequently used functions, headers, types, and structures. This is used for TeX-specific modules. </p></dd></dl> <hr> </div> -<div class="subsection" id="Macros-for-programs"> -<div class="header"> +<div class="subsection-level-extent" id="Macros-for-programs"> +<div class="nav-panel"> <p> Next: <a href="#Macros-for-compilers" accesskey="n" rel="next">Macros for compilers</a>, Previous: <a href="#General-setup-macros" accesskey="p" rel="prev">General setup macros</a>, Up: <a href="#Autoconf-macros" accesskey="u" rel="up">Autoconf macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Macros-for-programs-1"></span><h4 class="subsection">6.3.2 Macros for programs</h4> +<h4 class="subsection" id="Macros-for-programs-1">6.3.2 Macros for programs</h4> -<span id="index-macros_002c-for-programs"></span> +<a class="index-entry-id" id="index-macros_002c-for-programs"></a> <p>Macros for program checks: </p> -<dl class="def"> -<dt id="index-KPSE_005fCHECK_005fLATEX"><span class="category">Macro: </span><span><strong>KPSE_CHECK_LATEX</strong><a href='#index-KPSE_005fCHECK_005fLATEX' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Set <code>LATEX</code> to the first of <code>latex</code>, <code>elatex</code>, or -<code>lambda</code> which exists in <code>PATH</code>, or to <code>no</code> if none of -them exists. Call <code>AC_SUBST</code> for <code>LATEX</code>. The result of -this test can be overridden by setting the <code>LATEX</code> environment -variable or the cache variable <code>ac_cv_prog_LATEX</code>. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCHECK_005fLATEX"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_CHECK_LATEX</strong><a class="copiable-link" href='#index-KPSE_005fCHECK_005fLATEX'> ¶</a></span></dt> +<dd><p>Set <code class="code">LATEX</code> to the first of <code class="code">latex</code>, <code class="code">elatex</code>, or +<code class="code">lambda</code> which exists in <code class="code">PATH</code>, or to <code class="code">no</code> if none of +them exists. Call <code class="code">AC_SUBST</code> for <code class="code">LATEX</code>. The result of +this test can be overridden by setting the <code class="code">LATEX</code> environment +variable or the cache variable <code class="code">ac_cv_prog_LATEX</code>. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCHECK_005fPDFLATEX"><span class="category">Macro: </span><span><strong>KPSE_CHECK_PDFLATEX</strong><a href='#index-KPSE_005fCHECK_005fPDFLATEX' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Check for <code>pdflatex</code> in <code>PATH</code> and set <code>PDFLATEX</code>. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCHECK_005fPDFLATEX"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_CHECK_PDFLATEX</strong><a class="copiable-link" href='#index-KPSE_005fCHECK_005fPDFLATEX'> ¶</a></span></dt> +<dd><p>Check for <code class="code">pdflatex</code> in <code class="code">PATH</code> and set <code class="code">PDFLATEX</code>. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCHECK_005fPERL"><span class="category">Macro: </span><span><strong>KPSE_CHECK_PERL</strong><a href='#index-KPSE_005fCHECK_005fPERL' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Check for <code>perl</code> or <code>perl5</code> in <code>PATH</code> and set -<code>PERL</code>. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCHECK_005fPERL"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_CHECK_PERL</strong><a class="copiable-link" href='#index-KPSE_005fCHECK_005fPERL'> ¶</a></span></dt> +<dd><p>Check for <code class="code">perl</code> or <code class="code">perl5</code> in <code class="code">PATH</code> and set +<code class="code">PERL</code>. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fPROG_005fLEX"><span class="category">Macro: </span><span><strong>KPSE_PROG_LEX</strong><a href='#index-KPSE_005fPROG_005fLEX' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Call <code>AC_PROG_LEX</code> and add the flag <code>-l</code> for <code>flex</code>. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fPROG_005fLEX"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_PROG_LEX</strong><a class="copiable-link" href='#index-KPSE_005fPROG_005fLEX'> ¶</a></span></dt> +<dd><p>Call <code class="code">AC_PROG_LEX</code> and add the flag <code class="code">-l</code> for <code class="code">flex</code>. </p></dd></dl> <hr> </div> -<div class="subsection" id="Macros-for-compilers"> -<div class="header"> +<div class="subsection-level-extent" id="Macros-for-compilers"> +<div class="nav-panel"> <p> Next: <a href="#Macros-for-libraries" accesskey="n" rel="next">Macros for libraries</a>, Previous: <a href="#Macros-for-programs" accesskey="p" rel="prev">Macros for programs</a>, Up: <a href="#Autoconf-macros" accesskey="u" rel="up">Autoconf macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Macros-for-compilers-1"></span><h4 class="subsection">6.3.3 Macros for compilers</h4> +<h4 class="subsection" id="Macros-for-compilers-1">6.3.3 Macros for compilers</h4> -<span id="index-macros_002c-for-compilers"></span> +<a class="index-entry-id" id="index-macros_002c-for-compilers"></a> <p>Macros for compiler-related checks: </p> -<dl class="def"> -<dt id="index-KPSE_005fCOMPILER_005fWARNINGS"><span class="category">Macro: </span><span><strong>KPSE_COMPILER_WARNINGS</strong><a href='#index-KPSE_005fCOMPILER_005fWARNINGS' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-WARNING_005fC_005bXX_005dFLAGS"></span> +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCOMPILER_005fWARNINGS"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_COMPILER_WARNINGS</strong><a class="copiable-link" href='#index-KPSE_005fCOMPILER_005fWARNINGS'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-WARNING_005fC_005bXX_005dFLAGS"></a> <p>When using the (Objective) C/C++ compiler, set -<code>WARNING_[OBJ]C[XX]FLAGS</code> to suitable warning flags (depending on -the value given to or implied for <code>--enable-compiler-warnings</code>). -Call <code>AC_SUBST</code> for them. At present this assumes GNU compiler +<code class="code">WARNING_[OBJ]C[XX]FLAGS</code> to suitable warning flags (depending on +the value given to or implied for <code class="code">--enable-compiler-warnings</code>). +Call <code class="code">AC_SUBST</code> for them. At present this assumes GNU compiler warning options, but could be extended to others if necessary. </p> -<span id="index-kpse_005fcv_005fwarning_005fcflags"></span> -<p>This macro caches its results in the <code>kpse_cv_warning_cflags</code>, +<a class="index-entry-id" id="index-kpse_005fcv_005fwarning_005fcflags"></a> +<p>This macro caches its results in the <code class="code">kpse_cv_warning_cflags</code>, … variables. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCOMPILER_005fVISIBILITY"><span class="category">Macro: </span><span><strong>KPSE_COMPILER_VISIBILITY</strong><a href='#index-KPSE_005fCOMPILER_005fVISIBILITY' class='copiable-anchor'> ¶</a></span></dt> +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCOMPILER_005fVISIBILITY"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_COMPILER_VISIBILITY</strong><a class="copiable-link" href='#index-KPSE_005fCOMPILER_005fVISIBILITY'> ¶</a></span></dt> <dd><p>When using the C or C++ compiler, try to set -<code>VISIBILITY_C[XX]FLAGS</code> to flags to hide external symbols. Call -<code>AC_SUBST</code> for this variable. At present this only tests for -the compiler option <code>-fvisibility=hidden</code>, but could be +<code class="code">VISIBILITY_C[XX]FLAGS</code> to flags to hide external symbols. Call +<code class="code">AC_SUBST</code> for this variable. At present this only tests for +the compiler option <code class="code">-fvisibility=hidden</code>, but could be extended if necessary. </p> -<span id="index-kpse_005fcv_005fvisibility_005fc_005bxx_005dflags"></span> -<p>This macro caches its results in the <code>kpse_cv_visibility_cflags</code> -or <code>kpse_cv_visibility_cxxflags</code> variable. +<a class="index-entry-id" id="index-kpse_005fcv_005fvisibility_005fc_005bxx_005dflags"></a> +<p>This macro caches its results in the <code class="code">kpse_cv_visibility_cflags</code> +or <code class="code">kpse_cv_visibility_cxxflags</code> variable. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCXX_005fHACK"><span class="category">Macro: </span><span><strong>KPSE_CXX_HACK</strong><a href='#index-KPSE_005fCXX_005fHACK' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-static-linking-for-C_002b_002b"></span> -<span id="index-linking-C_002b_002b-libraries-statically"></span> -<span id="index-_002d_002denable_002dcxx_002druntime_002dhack"></span> -<span id="index-libstc_002b_002b_002c-statically-linking"></span> -<p>Provide the configure option <code>--enable-cxx-runtime-hack</code>. If -enabled and when using <code>g++</code>, try to statically link with -<samp>libstdc++</samp>, notably improving portability of the resulting +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCXX_005fHACK"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_CXX_HACK</strong><a class="copiable-link" href='#index-KPSE_005fCXX_005fHACK'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-static-linking-for-C_002b_002b"></a> +<a class="index-entry-id" id="index-linking-C_002b_002b-libraries-statically"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dcxx_002druntime_002dhack"></a> +<a class="index-entry-id" id="index-libstc_002b_002b_002c-statically-linking"></a> +<p>Provide the configure option <code class="code">--enable-cxx-runtime-hack</code>. If +enabled and when using <code class="code">g++</code>, try to statically link with +<samp class="file">libstdc++</samp>, notably improving portability of the resulting binary. </p> -<span id="index-kpse_005fcv_005fcxx_005fhack"></span> -<p>This macro caches its result in the <code>kpse_cv_cxx_hack</code> variable. +<a class="index-entry-id" id="index-kpse_005fcv_005fcxx_005fhack"></a> +<p>This macro caches its result in the <code class="code">kpse_cv_cxx_hack</code> variable. </p></dd></dl> <hr> </div> -<div class="subsection" id="Macros-for-libraries"> -<div class="header"> +<div class="subsection-level-extent" id="Macros-for-libraries"> +<div class="nav-panel"> <p> Next: <a href="#Macros-for-library-and-header-flags" accesskey="n" rel="next">Macros for library and header flags</a>, Previous: <a href="#Macros-for-compilers" accesskey="p" rel="prev">Macros for compilers</a>, Up: <a href="#Autoconf-macros" accesskey="u" rel="up">Autoconf macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Macros-for-libraries-1"></span><h4 class="subsection">6.3.4 Macros for libraries</h4> +<h4 class="subsection" id="Macros-for-libraries-1">6.3.4 Macros for libraries</h4> -<span id="index-macros_002c-for-libraries"></span> +<a class="index-entry-id" id="index-macros_002c-for-libraries"></a> <p>One macro for a library check: </p> -<dl class="def"> -<dt id="index-KPSE_005fLARGEFILE"><span class="category">Macro: </span><span><strong>KPSE_LARGEFILE</strong> <em>(<var>variable</var>, [<var>extra-define</var>])</em><a href='#index-KPSE_005fLARGEFILE' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Call <code>AC_SYS_LARGEFILE</code> and <code>AC_FUNC_FSEEKO</code> and append -suitable <code>-D</code> flags (optionally including -<code>-D<var>extra-define</var></code>) to <var>variable</var>. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fLARGEFILE"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_LARGEFILE</strong> <var class="def-var-arguments">(<var class="var">variable</var>, [<var class="var">extra-define</var>])</var><a class="copiable-link" href='#index-KPSE_005fLARGEFILE'> ¶</a></span></dt> +<dd><p>Call <code class="code">AC_SYS_LARGEFILE</code> and <code class="code">AC_FUNC_FSEEKO</code> and append +suitable <code class="code">-D</code> flags (optionally including +<code class="code">-D<var class="var">extra-define</var></code>) to <var class="var">variable</var>. </p></dd></dl> <hr> </div> -<div class="subsection" id="Macros-for-library-and-header-flags"> -<div class="header"> +<div class="subsection-level-extent" id="Macros-for-library-and-header-flags"> +<div class="nav-panel"> <p> Next: <a href="#Macros-for-Windows" accesskey="n" rel="next">Macros for Windows</a>, Previous: <a href="#Macros-for-libraries" accesskey="p" rel="prev">Macros for libraries</a>, Up: <a href="#Autoconf-macros" accesskey="u" rel="up">Autoconf macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Macros-for-library-and-header-flags-1"></span><h4 class="subsection">6.3.5 Macros for library and header flags</h4> +<h4 class="subsection" id="Macros-for-library-and-header-flags-1">6.3.5 Macros for library and header flags</h4> -<span id="index-macros_002c-for-library-and-header-flags"></span> -<span id="index-flags_002c-macros-for-library-and-header"></span> -<span id="index-KPSE_005fLIB_005fFLAGS"></span> -<p>Each library module <samp>libs/<var>lib</var></samp> or <samp>texk/<var>lib</var></samp> is -supplemented by a macro <code>KPSE_<var>LIB</var>_FLAGS</code> (all uppercase) +<a class="index-entry-id" id="index-macros_002c-for-library-and-header-flags"></a> +<a class="index-entry-id" id="index-flags_002c-macros-for-library-and-header"></a> +<a class="index-entry-id" id="index-KPSE_005fLIB_005fFLAGS"></a> +<p>Each library module <samp class="file">libs/<var class="var">lib</var></samp> or <samp class="file">texk/<var class="var">lib</var></samp> is +supplemented by a macro <code class="code">KPSE_<var class="var">LIB</var>_FLAGS</code> (all uppercase) that provides make variables for that library. E.g., for -<samp>libs/libpng</samp>: +<samp class="file">libs/libpng</samp>: </p> -<dl class="def"> -<dt id="index-KPSE_005fLIBPNG_005fFLAGS"><span class="category">Macro: </span><span><strong>KPSE_LIBPNG_FLAGS</strong><a href='#index-KPSE_005fLIBPNG_005fFLAGS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Provide the configure option <code>--with-system-libpng</code>. Set and -<code>AC_SUBST</code> <code>make</code> variables for modules using this library (either +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fLIBPNG_005fFLAGS"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_LIBPNG_FLAGS</strong><a class="copiable-link" href='#index-KPSE_005fLIBPNG_005fFLAGS'> ¶</a></span></dt> +<dd><p>Provide the configure option <code class="code">--with-system-libpng</code>. Set and +<code class="code">AC_SUBST</code> <code class="code">make</code> variables for modules using this library (either an installed version or from the TeX Live tree): </p> -<table> -<tr><td><code>LIBPNG_INCLUDES</code></td><td>for use in <code>CPPFLAGS</code>,</td></tr> -<tr><td><code>LIBPNG_LIBS</code></td><td>for use in <code>LDADD</code>,</td></tr> -<tr><td><code>LIBPNG_DEPEND</code></td><td>for use as a Makefile dependency,</td></tr> -<tr><td><code>LIBPNG_RULE</code></td><td>for the <code>make</code> rules to rebuild the library.</td></tr> +<table class="multitable"> +<tbody><tr><td><code class="code">LIBPNG_INCLUDES</code></td><td>for use in <code class="code">CPPFLAGS</code>,</td></tr> +<tr><td><code class="code">LIBPNG_LIBS</code></td><td>for use in <code class="code">LDADD</code>,</td></tr> +<tr><td><code class="code">LIBPNG_DEPEND</code></td><td>for use as a Makefile dependency,</td></tr> +<tr><td><code class="code">LIBPNG_RULE</code></td><td>for the <code class="code">make</code> rules to rebuild the library.</td></tr> +</tbody> </table> </dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fADD_005fFLAGS"><span class="category">Macro: </span><span><strong>KPSE_ADD_FLAGS</strong> <em>(<var>name</var>)</em><a href='#index-KPSE_005fADD_005fFLAGS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Temporarily extend <code>CPPFLAGS</code> and <code>LIBS</code> with the values required -for the library module <code><var>name</var></code>. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fADD_005fFLAGS"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_ADD_FLAGS</strong> <var class="def-var-arguments">(<var class="var">name</var>)</var><a class="copiable-link" href='#index-KPSE_005fADD_005fFLAGS'> ¶</a></span></dt> +<dd><p>Temporarily extend <code class="code">CPPFLAGS</code> and <code class="code">LIBS</code> with the values required +for the library module <code class="code"><var class="var">name</var></code>. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fRESTORE_005fFLAGS"><span class="category">Macro: </span><span><strong>KPSE_RESTORE_FLAGS</strong><a href='#index-KPSE_005fRESTORE_005fFLAGS' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Restore <code>CPPFLAGS</code> and <code>LIBS</code> to their original values. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fRESTORE_005fFLAGS"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_RESTORE_FLAGS</strong><a class="copiable-link" href='#index-KPSE_005fRESTORE_005fFLAGS'> ¶</a></span></dt> +<dd><p>Restore <code class="code">CPPFLAGS</code> and <code class="code">LIBS</code> to their original values. </p></dd></dl> -<p>As an example, the <samp>configure.ac</samp> file for a hypothetical program -<samp>utils/foo</samp> using <samp>libpng</samp>, and hence <samp>zlib</samp>, would +<p>As an example, the <samp class="file">configure.ac</samp> file for a hypothetical program +<samp class="file">utils/foo</samp> using <samp class="file">libpng</samp>, and hence <samp class="file">zlib</samp>, would contain </p><div class="example"> -<pre class="example">KPSE_ZLIB_FLAGS +<pre class="example-preformatted">KPSE_ZLIB_FLAGS KPSE_LIBPNG_FLAGS </pre></div> -<p>and its <samp>Makefile.am</samp> would be along these lines: +<p>and its <samp class="file">Makefile.am</samp> would be along these lines: </p><div class="example"> -<pre class="example">bin_PROGRAMS = foo +<pre class="example-preformatted">bin_PROGRAMS = foo AM_CPPFLAGS = ${LIBPNG_INCLUDES} ${ZLIB_INCLUDES} foo_LDADD = ${LIBPNG_LIBS} ${ZLIB_LIBS} foo_DEPENDENCIES = ${ZLIB_DEPEND} ${LIBPNG_DEPEND} @@ -1654,129 +1658,129 @@ foo_DEPENDENCIES = ${ZLIB_DEPEND} ${LIBPNG_DEPEND} @LIBPNG_RULE@ </pre></div> -<p>If it were necessary to examine whether certain <samp>zlib</samp> or -<samp>libpng</samp> features were available, <samp>configure.ac</samp> should be +<p>If it were necessary to examine whether certain <samp class="file">zlib</samp> or +<samp class="file">libpng</samp> features were available, <samp class="file">configure.ac</samp> should be continued this way: </p><div class="example"> -<pre class="example">KPSE_ADD_FLAGS([zlib]) -… # <span class="roman">tests for <samp>zlib</samp> features, if any</span> +<pre class="example-preformatted">KPSE_ADD_FLAGS([zlib]) +… # <span class="r">tests for <samp class="file">zlib</samp> features, if any</span> KPSE_ADD_FLAGS([libpng]) -… # <span class="roman">tests for <samp>libpng</samp> features</span> -KPSE_RESTORE_FLAGS # <span class="roman">restore <code>CPPFLAGS</code> and <code>LIBS</code></span> +… # <span class="r">tests for <samp class="file">libpng</samp> features</span> +KPSE_RESTORE_FLAGS # <span class="r">restore <code class="code">CPPFLAGS</code> and <code class="code">LIBS</code></span> </pre></div> <hr> </div> -<div class="subsection" id="Macros-for-Windows"> -<div class="header"> +<div class="subsection-level-extent" id="Macros-for-Windows"> +<div class="nav-panel"> <p> Previous: <a href="#Macros-for-library-and-header-flags" accesskey="p" rel="prev">Macros for library and header flags</a>, Up: <a href="#Autoconf-macros" accesskey="u" rel="up">Autoconf macros</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Macros-for-Windows-1"></span><h4 class="subsection">6.3.6 Macros for Windows</h4> +<h4 class="subsection" id="Macros-for-Windows-1">6.3.6 Macros for Windows</h4> -<span id="index-macros_002c-for-Windows"></span> -<span id="index-Windows_002c-macros-for"></span> +<a class="index-entry-id" id="index-macros_002c-for-Windows"></a> +<a class="index-entry-id" id="index-Windows_002c-macros-for"></a> <p>Windows differs in several aspects from Unix-like systems, many of them due to the lack of symbolic links. </p> -<dl class="def"> -<dt id="index-KPSE_005fCHECK_005fWIN32"><span class="category">Macro: </span><span><strong>KPSE_CHECK_WIN32</strong><a href='#index-KPSE_005fCHECK_005fWIN32' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-kpse_005fcv_005fhave_005fwin32"></span> +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCHECK_005fWIN32"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_CHECK_WIN32</strong><a class="copiable-link" href='#index-KPSE_005fCHECK_005fWIN32'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-kpse_005fcv_005fhave_005fwin32"></a> <p>Check if compiling for a Windows system. The result is either -<code>no</code> for Unix-like systems (including Cygwin), <code>mingw32</code> for -Windows with GCC, or <code>native</code> for Windows with MSVC. The result -is cached in the <code>kpse_cv_have_win32</code> variable. +<code class="code">no</code> for Unix-like systems (including Cygwin), <code class="code">mingw32</code> for +Windows with GCC, or <code class="code">native</code> for Windows with MSVC. The result +is cached in the <code class="code">kpse_cv_have_win32</code> variable. </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCOND_005fWIN32"><span class="category">Macro: </span><span><strong>KPSE_COND_WIN32</strong><a href='#index-KPSE_005fCOND_005fWIN32' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-WIN32_002c-Automake-conditional"></span> -<p>Call <code>KPSE_CHECK_WIN32</code> and define the Automake conditional -<code>WIN32</code> (<code>true</code> if the value of <code>kpse_cv_have_win32</code> is -not <code>no</code>). +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCOND_005fWIN32"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_COND_WIN32</strong><a class="copiable-link" href='#index-KPSE_005fCOND_005fWIN32'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-WIN32_002c-Automake-conditional"></a> +<p>Call <code class="code">KPSE_CHECK_WIN32</code> and define the Automake conditional +<code class="code">WIN32</code> (<code class="code">true</code> if the value of <code class="code">kpse_cv_have_win32</code> is +not <code class="code">no</code>). </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCOND_005fMINGW32"><span class="category">Macro: </span><span><strong>KPSE_COND_MINGW32</strong><a href='#index-KPSE_005fCOND_005fMINGW32' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MINGW32_002c-Automake-conditional"></span> -<p>Call <code>KPSE_COND_WIN32</code> and define the Automake conditional -<code>MINGW32</code> (<code>true</code> if the value of <code>kpse_cv_have_win32</code> is -<code>mingw32</code>). +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCOND_005fMINGW32"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_COND_MINGW32</strong><a class="copiable-link" href='#index-KPSE_005fCOND_005fMINGW32'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MINGW32_002c-Automake-conditional"></a> +<p>Call <code class="code">KPSE_COND_WIN32</code> and define the Automake conditional +<code class="code">MINGW32</code> (<code class="code">true</code> if the value of <code class="code">kpse_cv_have_win32</code> is +<code class="code">mingw32</code>). </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fCOND_005fWIN32_005fWRAP"><span class="category">Macro: </span><span><strong>KPSE_COND_WIN32_WRAP</strong><a href='#index-KPSE_005fCOND_005fWIN32_005fWRAP' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-WIN32_005fWRAP_002c-Automake-conditional"></span> -<span id="index-runscript_002eexe"></span> -<p>Call <code>KPSE_COND_WIN32</code> and define the Automake conditional -<code>WIN32_WRAP</code> (<code>true</code> if the standard Windows wrapper -(<samp>texk/texlive/w32_wrapper/runscript.exe</samp>) exists. This wrapper +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fCOND_005fWIN32_005fWRAP"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_COND_WIN32_WRAP</strong><a class="copiable-link" href='#index-KPSE_005fCOND_005fWIN32_005fWRAP'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-WIN32_005fWRAP_002c-Automake-conditional"></a> +<a class="index-entry-id" id="index-runscript_002eexe"></a> +<p>Call <code class="code">KPSE_COND_WIN32</code> and define the Automake conditional +<code class="code">WIN32_WRAP</code> (<code class="code">true</code> if the standard Windows wrapper +(<samp class="file">texk/texlive/w32_wrapper/runscript.exe</samp>) exists. This wrapper is used on Windows instead of symlinks for the “linked scripts” -(see <a href="#Linked-scripts">Linked scripts</a>). +(see <a class="pxref" href="#Linked-scripts">Linked scripts</a>). </p></dd></dl> -<dl class="def"> -<dt id="index-KPSE_005fWIN32_005fCALL"><span class="category">Macro: </span><span><strong>KPSE_WIN32_CALL</strong><a href='#index-KPSE_005fWIN32_005fCALL' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-callexe_002ec"></span> -<p>Call <code>KPSE_COND_WIN32</code> and check if the file -<samp>texk/texlive/w32_wrapper/callexe.c</samp> exists; if it does, create a -symlink in the build tree. Compiling <samp>callexe.c</samp> with -<code>-DEXEPROG='"<var>foo</var>.exe"'</code> and installing <samp>callexe.exe</samp> -as <code><var>bar</var>.exe</code> is used on Windows instead of a symlink -<code><var>bar</var>-><var>foo</var></code> for Unix-like systems. +<dl class="first-deffn first-defmac-alias-first-deffn"> +<dt class="deffn defmac-alias-deffn" id="index-KPSE_005fWIN32_005fCALL"><span class="category-def">Macro: </span><span><strong class="def-name">KPSE_WIN32_CALL</strong><a class="copiable-link" href='#index-KPSE_005fWIN32_005fCALL'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-callexe_002ec"></a> +<p>Call <code class="code">KPSE_COND_WIN32</code> and check if the file +<samp class="file">texk/texlive/w32_wrapper/callexe.c</samp> exists; if it does, create a +symlink in the build tree. Compiling <samp class="file">callexe.c</samp> with +<code class="code">-DEXEPROG='"<var class="var">foo</var>.exe"'</code> and installing <samp class="file">callexe.exe</samp> +as <code class="code"><var class="var">bar</var>.exe</code> is used on Windows instead of a symlink +<code class="code"><var class="var">bar</var>-><var class="var">foo</var></code> for Unix-like systems. </p></dd></dl> <hr> </div> </div> -<div class="section" id="Library-modules"> -<div class="header"> +<div class="section-level-extent" id="Library-modules"> +<div class="nav-panel"> <p> Next: <a href="#Program-modules" accesskey="n" rel="next">Program modules</a>, Previous: <a href="#Autoconf-macros" accesskey="p" rel="prev">Autoconf macros</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Library-modules-1"></span><h3 class="section">6.4 Library modules</h3> +<h3 class="section" id="Library-modules-1">6.4 Library modules</h3> -<span id="index-library-modules"></span> -<span id="index-modules_002c-for-libraries"></span> +<a class="index-entry-id" id="index-library-modules"></a> +<a class="index-entry-id" id="index-modules_002c-for-libraries"></a> <p>Here we discuss some specifics for a few of the libraries in TL, both for the details themselves, and as a way of illuminating the general structure and variation. </p> -<ul class="section-toc"> -<li><a href="#png-library" accesskey="1">The <code>png</code> library in <samp>libs/libpng</samp></a></li> -<li><a href="#zlib-library" accesskey="2">The <code>zlib</code> library in <samp>libs/zlib</samp></a></li> -<li><a href="#freetype-library" accesskey="3">The <code>freetype</code> library in <samp>libs/freetype2</samp></a></li> -<li><a href="#kpathsea-library" accesskey="4">The <code>kpathsea</code> library in <samp>texk/kpathsea</samp></a></li> +<ul class="mini-toc"> +<li><a href="#png-library" accesskey="1">The <code class="code">png</code> library in <samp class="file">libs/libpng</samp></a></li> +<li><a href="#zlib-library" accesskey="2">The <code class="code">zlib</code> library in <samp class="file">libs/zlib</samp></a></li> +<li><a href="#freetype-library" accesskey="3">The <code class="code">freetype</code> library in <samp class="file">libs/freetype2</samp></a></li> +<li><a href="#kpathsea-library" accesskey="4">The <code class="code">kpathsea</code> library in <samp class="file">texk/kpathsea</samp></a></li> </ul> <hr> -<div class="subsection" id="png-library"> -<div class="header"> +<div class="subsection-level-extent" id="png-library"> +<div class="nav-panel"> <p> -Next: <a href="#zlib-library" accesskey="n" rel="next">The <code>zlib</code> library in <samp>libs/zlib</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#zlib-library" accesskey="n" rel="next">The <code class="code">zlib</code> library in <samp class="file">libs/zlib</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-png-library-in-libs_002flibpng"></span><h4 class="subsection">6.4.1 The <code>png</code> library in <samp>libs/libpng</samp></h4> +<h4 class="subsection" id="The-png-library-in-libs_002flibpng">6.4.1 The <code class="code">png</code> library in <samp class="file">libs/libpng</samp></h4> -<span id="index-png-library"></span> -<span id="index-libpng-library"></span> -<p>The “generic” <code>png</code> library uses the source tree in the -subdirectory <samp>libpng-src/</samp>, with all modifications for TL -recorded in <samp>TLpatches/*</samp>. The <samp>configure.ac</samp> fragment -<samp>ac/withenable.ac</samp> contains +<a class="index-entry-id" id="index-png-library"></a> +<a class="index-entry-id" id="index-libpng-library"></a> +<p>The “generic” <code class="code">png</code> library uses the source tree in the +subdirectory <samp class="file">libpng-src/</samp>, with all modifications for TL +recorded in <samp class="file">TLpatches/*</samp>. The <samp class="file">configure.ac</samp> fragment +<samp class="file">ac/withenable.ac</samp> contains </p> <div class="example"> -<pre class="example">KPSE_WITH_LIB([libpng], [zlib]) +<pre class="example-preformatted">KPSE_WITH_LIB([libpng], [zlib]) </pre></div> <p>to specify the module name and indicate the dependency on -<code>zlib</code>. A third literal argument ‘<code>tree</code>’ would specify that +<code class="code">zlib</code>. A third literal argument ‘<code class="code">tree</code>’ would specify that the library from the TeX Live tree cannot be replaced by a system version. That not being the case here, a second fragment -<samp>ac/libpng.ac</samp> contains +<samp class="file">ac/libpng.ac</samp> contains </p> -<span id="index-KPSE_005fTRY_005fLIB"></span> +<a class="index-entry-id" id="index-KPSE_005fTRY_005fLIB"></a> <div class="example"> -<pre class="example">KPSE_TRY_LIB([libpng], +<pre class="example-preformatted">KPSE_TRY_LIB([libpng], [#include <png.h>], [png_structp png; png_voidp io; png_rw_ptr fn; png_set_read_fn(png, io, fn);]) @@ -1785,426 +1789,426 @@ png_set_read_fn(png, io, fn);]) <p>thus providing the simple C code </p> <div class="example"> -<pre class="example">#include <png.h> +<pre class="example-preformatted">#include <png.h> int main () { png_structp png; png_voidp io; png_rw_ptr fn; png_set_read_fn(png, io, fn); return 0; } </pre></div> -<span id="index-KPSE_005fTRY_005fLIBXX"></span> +<a class="index-entry-id" id="index-KPSE_005fTRY_005fLIBXX"></a> <p>which Autoconf uses to verify the usability of a system -version with C code. The analogous macro <code>KPSE_TRY_LIBXX</code> would +version with C code. The analogous macro <code class="code">KPSE_TRY_LIBXX</code> would check using C++. These fragments are included by the -<samp>configure.ac</samp> at the top level of TL -(<code>Build/source/configure.ac</code>). +<samp class="file">configure.ac</samp> at the top level of TL +(<code class="code">Build/source/configure.ac</code>). </p> -<span id="index-proxy-build-system"></span> +<a class="index-entry-id" id="index-proxy-build-system"></a> <p>For this library, like many other modules, a proxy build system for TL -is used, consisting of our own <samp>configure.ac</samp>, -<samp>Makefile.am</samp>, <samp>include/Makefile.am</samp>; the distributed build +is used, consisting of our own <samp class="file">configure.ac</samp>, +<samp class="file">Makefile.am</samp>, <samp class="file">include/Makefile.am</samp>; the distributed build system is not used. (Consequently, a few generated files and auxiliary scripts are removed from the distributed source tree.) </p> -<p>The public headers <samp>png.h</samp>, <samp>pngconf.h</samp>, and -<samp>pnglibconf.h</samp> are “installed” (as symlinks) under -<samp>include/</samp> in the build tree exactly as they are for a system -version under, e.g., <samp>/usr/include/</samp>. -</p> -<span id="index-kpse_002dlibpng_002dflags_002em4"></span> -<span id="index-KPSE_005fLIBPNG_005fFLAGS-1"></span> -<p>The module is supplemented by the file <samp>m4/kpse-libpng-flags.m4</samp> -that defines the M4 macro <code>KPSE_LIBPNG_FLAGS</code> used by all modules -depending on this library in their <samp>configure.ac</samp> to generate the -<code>make</code> variables <code>LIBPNG_INCLUDES</code> for use in -<code>CPPFLAGS</code>, <code>LIBPNG_LIBS</code> for use in <code>LDADD</code>, -<code>LIBPNG_DEPEND</code> for use as dependencies, and <code>LIBPNG_RULE</code> -for the <code>make</code> rules to rebuild the library. -</p> -<p><samp>m4/kpse-libpng-flags.m4</samp> also supplies the configure option -<code>--with-system-libpng</code>, which then uses <code>pkg-config</code> to +<p>The public headers <samp class="file">png.h</samp>, <samp class="file">pngconf.h</samp>, and +<samp class="file">pnglibconf.h</samp> are “installed” (as symlinks) under +<samp class="file">include/</samp> in the build tree exactly as they are for a system +version under, e.g., <samp class="file">/usr/include/</samp>. +</p> +<a class="index-entry-id" id="index-kpse_002dlibpng_002dflags_002em4"></a> +<a class="index-entry-id" id="index-KPSE_005fLIBPNG_005fFLAGS-1"></a> +<p>The module is supplemented by the file <samp class="file">m4/kpse-libpng-flags.m4</samp> +that defines the M4 macro <code class="code">KPSE_LIBPNG_FLAGS</code> used by all modules +depending on this library in their <samp class="file">configure.ac</samp> to generate the +<code class="code">make</code> variables <code class="code">LIBPNG_INCLUDES</code> for use in +<code class="code">CPPFLAGS</code>, <code class="code">LIBPNG_LIBS</code> for use in <code class="code">LDADD</code>, +<code class="code">LIBPNG_DEPEND</code> for use as dependencies, and <code class="code">LIBPNG_RULE</code> +for the <code class="code">make</code> rules to rebuild the library. +</p> +<p><samp class="file">m4/kpse-libpng-flags.m4</samp> also supplies the configure option +<code class="code">--with-system-libpng</code>, which then uses <code class="code">pkg-config</code> to determine the flags required for the system library. </p> <hr> </div> -<div class="subsection" id="zlib-library"> -<div class="header"> +<div class="subsection-level-extent" id="zlib-library"> +<div class="nav-panel"> <p> -Next: <a href="#freetype-library" accesskey="n" rel="next">The <code>freetype</code> library in <samp>libs/freetype2</samp></a>, Previous: <a href="#png-library" accesskey="p" rel="prev">The <code>png</code> library in <samp>libs/libpng</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#freetype-library" accesskey="n" rel="next">The <code class="code">freetype</code> library in <samp class="file">libs/freetype2</samp></a>, Previous: <a href="#png-library" accesskey="p" rel="prev">The <code class="code">png</code> library in <samp class="file">libs/libpng</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-zlib-library-in-libs_002fzlib"></span><h4 class="subsection">6.4.2 The <code>zlib</code> library in <samp>libs/zlib</samp></h4> +<h4 class="subsection" id="The-zlib-library-in-libs_002fzlib">6.4.2 The <code class="code">zlib</code> library in <samp class="file">libs/zlib</samp></h4> -<span id="index-zlib-library"></span> +<a class="index-entry-id" id="index-zlib-library"></a> -<span id="index-kpse_002dzlib_002dflags_002em4"></span> -<p>This generic library is very much analogous to <code>libpng</code>, but +<a class="index-entry-id" id="index-kpse_002dzlib_002dflags_002em4"></a> +<p>This generic library is very much analogous to <code class="code">libpng</code>, but without the dependency on any other library. The file -<samp>m4/kpse-zlib-flags.m4</samp> supplies the configure option -<code>--with-system-zlib</code>, as well as <code>--with-zlib-includes</code> and -<code>--with-zlib-libdir</code> to specify non-standard locations of the -<code>zlib</code> headers and/or library. +<samp class="file">m4/kpse-zlib-flags.m4</samp> supplies the configure option +<code class="code">--with-system-zlib</code>, as well as <code class="code">--with-zlib-includes</code> and +<code class="code">--with-zlib-libdir</code> to specify non-standard locations of the +<code class="code">zlib</code> headers and/or library. </p> <hr> </div> -<div class="subsection" id="freetype-library"> -<div class="header"> +<div class="subsection-level-extent" id="freetype-library"> +<div class="nav-panel"> <p> -Next: <a href="#kpathsea-library" accesskey="n" rel="next">The <code>kpathsea</code> library in <samp>texk/kpathsea</samp></a>, Previous: <a href="#zlib-library" accesskey="p" rel="prev">The <code>zlib</code> library in <samp>libs/zlib</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#kpathsea-library" accesskey="n" rel="next">The <code class="code">kpathsea</code> library in <samp class="file">texk/kpathsea</samp></a>, Previous: <a href="#zlib-library" accesskey="p" rel="prev">The <code class="code">zlib</code> library in <samp class="file">libs/zlib</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-freetype-library-in-libs_002ffreetype2"></span><h4 class="subsection">6.4.3 The <code>freetype</code> library in <samp>libs/freetype2</samp></h4> +<h4 class="subsection" id="The-freetype-library-in-libs_002ffreetype2">6.4.3 The <code class="code">freetype</code> library in <samp class="file">libs/freetype2</samp></h4> -<span id="index-freetype-library"></span> -<span id="index-wrapper-build-system"></span> +<a class="index-entry-id" id="index-freetype-library"></a> +<a class="index-entry-id" id="index-wrapper-build-system"></a> <p>This module uses a wrapper build system. In contrast to the proxy build described earlier, the wrapper build has an almost trivial -<samp>configure.ac</samp> and a <samp>Makefile.am</samp> which invokes the -<code>configure</code> and <code>make</code> in the distributed source, followed -by <code>make install</code> with the TL build tree as destination. In +<samp class="file">configure.ac</samp> and a <samp class="file">Makefile.am</samp> which invokes the +<code class="code">configure</code> and <code class="code">make</code> in the distributed source, followed +by <code class="code">make install</code> with the TL build tree as destination. In other words, this actually uses the build system provided by upstream (possibly patched). </p> -<span id="index-freetype_002dconfig"></span> +<a class="index-entry-id" id="index-freetype_002dconfig"></a> <p>The flags required for the system library are obtained through -<code>freetype-config</code>. +<code class="code">freetype-config</code>. </p> <hr> </div> -<div class="subsection" id="kpathsea-library"> -<div class="header"> +<div class="subsection-level-extent" id="kpathsea-library"> +<div class="nav-panel"> <p> -Previous: <a href="#freetype-library" accesskey="p" rel="prev">The <code>freetype</code> library in <samp>libs/freetype2</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#freetype-library" accesskey="p" rel="prev">The <code class="code">freetype</code> library in <samp class="file">libs/freetype2</samp></a>, Up: <a href="#Library-modules" accesskey="u" rel="up">Library modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-kpathsea-library-in-texk_002fkpathsea"></span><h4 class="subsection">6.4.4 The <code>kpathsea</code> library in <samp>texk/kpathsea</samp></h4> +<h4 class="subsection" id="The-kpathsea-library-in-texk_002fkpathsea">6.4.4 The <code class="code">kpathsea</code> library in <samp class="file">texk/kpathsea</samp></h4> -<span id="index-kpathsea-library"></span> +<a class="index-entry-id" id="index-kpathsea-library"></a> <p>This is one of the TeX-specific libraries that are maintained as -part of TeX Live (see <cite><a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Top">Kpathsea -<span class="roman">(<a href="tug.org/kpathsea">tug.org/kpathsea</a>)</span></a></cite>); the other is <code>ptexenc</code>. These +part of TeX Live (see <cite class="cite"><a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Top">Kpathsea +<span class="r">(<a class="url" href="tug.org/kpathsea">tug.org/kpathsea</a>)</span></a></cite>); the other is <code class="code">ptexenc</code>. These TeX libraries are Libtool libraries (static and/or shared) and are -installed by <code>make install</code> together with the programs. They +installed by <code class="code">make install</code> together with the programs. They are, however, not part of the TL DVD as distributed by TeX user groups, and have never been officially released for standalone use. </p> -<span id="index-_002d_002dwith_002dsystem_002dkpathsea"></span> -<p>It is possible, and probably useful for distro builds (see <a href="#Distro-builds">Distro builds</a>), to specify the configure option -<code>--with-system-kpathsea</code> in order to use a system version of the -library. Programs outside the TL tree should use <code>pkg-config</code> +<a class="index-entry-id" id="index-_002d_002dwith_002dsystem_002dkpathsea"></a> +<p>It is possible, and probably useful for distro builds (see <a class="pxref" href="#Distro-builds">Distro builds</a>), to specify the configure option +<code class="code">--with-system-kpathsea</code> in order to use a system version of the +library. Programs outside the TL tree should use <code class="code">pkg-config</code> for the required flags. </p> -<span id="index-kpathsea_002eac"></span> -<span id="index-mktex_002eac"></span> -<span id="index-_002d_002denable_002dmktextfm_002ddefault"></span> -<span id="index-mktextfm"></span> -<p>In addition to <samp>kpathsea/ac/withenable.ac</samp> and -<samp>kpathsea/ac/kpathsea.ac</samp> here there is a third fragment -<samp>kpathsea.ac/mktex.ac</samp>, included by both <samp>withenable.ac</samp> and -<samp>configure.ac</samp>, which supplies configure options such as -<code>--enable-mktextfm-default</code>. These determine the compile time -default of whether or not to run <code>mktextfm</code> (and similar) to -generate a missing <samp>.tfm</samp> (or whatever) file. In any case, -however, the command line options <code>-mktex=tfm</code> or -<code>-no-mktex=tfm</code> for the TeX-like engines override this +<a class="index-entry-id" id="index-kpathsea_002eac"></a> +<a class="index-entry-id" id="index-mktex_002eac"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dmktextfm_002ddefault"></a> +<a class="index-entry-id" id="index-mktextfm"></a> +<p>In addition to <samp class="file">kpathsea/ac/withenable.ac</samp> and +<samp class="file">kpathsea/ac/kpathsea.ac</samp> here there is a third fragment +<samp class="file">kpathsea.ac/mktex.ac</samp>, included by both <samp class="file">withenable.ac</samp> and +<samp class="file">configure.ac</samp>, which supplies configure options such as +<code class="code">--enable-mktextfm-default</code>. These determine the compile time +default of whether or not to run <code class="code">mktextfm</code> (and similar) to +generate a missing <samp class="file">.tfm</samp> (or whatever) file. In any case, +however, the command line options <code class="code">-mktex=tfm</code> or +<code class="code">-no-mktex=tfm</code> for the TeX-like engines override this default. </p> <hr> </div> </div> -<div class="section" id="Program-modules"> -<div class="header"> +<div class="section-level-extent" id="Program-modules"> +<div class="nav-panel"> <p> Next: <a href="#Extending-TeX-Live" accesskey="n" rel="next">Extending TeX Live</a>, Previous: <a href="#Library-modules" accesskey="p" rel="prev">Library modules</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Program-modules-1"></span><h3 class="section">6.5 Program modules</h3> +<h3 class="section" id="Program-modules-1">6.5 Program modules</h3> -<span id="index-program-modules"></span> -<span id="index-modules_002c-for-programs"></span> -<p>As with libraries (see <a href="#Library-modules">Library modules</a>), here we discuss the +<a class="index-entry-id" id="index-program-modules"></a> +<a class="index-entry-id" id="index-modules_002c-for-programs"></a> +<p>As with libraries (see <a class="pxref" href="#Library-modules">Library modules</a>), here we discuss the details for a few of the programs in TL. </p> -<ul class="section-toc"> -<li><a href="#t1utils-package" accesskey="1">The <code>t1utils</code> package in <samp>utils/t1utils</samp></a></li> -<li><a href="#xindy-package" accesskey="2">The <code>xindy</code> package in <samp>utils/xindy</samp></a></li> -<li><a href="#xdvik-package" accesskey="3">The <code>xdvik</code> package in <samp>texk/xdvik</samp></a></li> -<li><a href="#asymptote" accesskey="4">The subdirectory <samp>utils/asymptote</samp></a></li> +<ul class="mini-toc"> +<li><a href="#t1utils-package" accesskey="1">The <code class="code">t1utils</code> package in <samp class="file">utils/t1utils</samp></a></li> +<li><a href="#xindy-package" accesskey="2">The <code class="code">xindy</code> package in <samp class="file">utils/xindy</samp></a></li> +<li><a href="#xdvik-package" accesskey="3">The <code class="code">xdvik</code> package in <samp class="file">texk/xdvik</samp></a></li> +<li><a href="#asymptote" accesskey="4">The subdirectory <samp class="file">utils/asymptote</samp></a></li> </ul> <hr> -<div class="subsection" id="t1utils-package"> -<div class="header"> +<div class="subsection-level-extent" id="t1utils-package"> +<div class="nav-panel"> <p> -Next: <a href="#xindy-package" accesskey="n" rel="next">The <code>xindy</code> package in <samp>utils/xindy</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#xindy-package" accesskey="n" rel="next">The <code class="code">xindy</code> package in <samp class="file">utils/xindy</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-t1utils-package-in-utils_002ft1utils"></span><h4 class="subsection">6.5.1 The <code>t1utils</code> package in <samp>utils/t1utils</samp></h4> +<h4 class="subsection" id="The-t1utils-package-in-utils_002ft1utils">6.5.1 The <code class="code">t1utils</code> package in <samp class="file">utils/t1utils</samp></h4> -<span id="index-t1utils-package"></span> +<a class="index-entry-id" id="index-t1utils-package"></a> -<p>Here we use the distributed source tree <samp>t1utils-src</samp> with -modifications documented in <samp>TLpatches/*</samp> and a proxy build -system consisting of <samp>configure.ac</samp> and <samp>Makefile.am</samp>. The -fragment <samp>ac/withenable.ac</samp> contains +<p>Here we use the distributed source tree <samp class="file">t1utils-src</samp> with +modifications documented in <samp class="file">TLpatches/*</samp> and a proxy build +system consisting of <samp class="file">configure.ac</samp> and <samp class="file">Makefile.am</samp>. The +fragment <samp class="file">ac/withenable.ac</samp> contains </p> <div class="example"> -<pre class="example">KPSE_ENABLE_PROG([t1utils]) +<pre class="example-preformatted">KPSE_ENABLE_PROG([t1utils]) </pre></div> <p>specifying the module name without any dependencies, and -supplies the configure option <code>--disable-t1utils</code>. +supplies the configure option <code class="code">--disable-t1utils</code>. </p> <hr> </div> -<div class="subsection" id="xindy-package"> -<div class="header"> +<div class="subsection-level-extent" id="xindy-package"> +<div class="nav-panel"> <p> -Next: <a href="#xdvik-package" accesskey="n" rel="next">The <code>xdvik</code> package in <samp>texk/xdvik</samp></a>, Previous: <a href="#t1utils-package" accesskey="p" rel="prev">The <code>t1utils</code> package in <samp>utils/t1utils</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#xdvik-package" accesskey="n" rel="next">The <code class="code">xdvik</code> package in <samp class="file">texk/xdvik</samp></a>, Previous: <a href="#t1utils-package" accesskey="p" rel="prev">The <code class="code">t1utils</code> package in <samp class="file">utils/t1utils</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-xindy-package-in-utils_002fxindy"></span><h4 class="subsection">6.5.2 The <code>xindy</code> package in <samp>utils/xindy</samp></h4> +<h4 class="subsection" id="The-xindy-package-in-utils_002fxindy">6.5.2 The <code class="code">xindy</code> package in <samp class="file">utils/xindy</samp></h4> -<span id="index-xindy-1"></span> +<a class="index-entry-id" id="index-xindy-1"></a> -<p>This module uses the distributed source tree <samp>xindy-src/</samp> with -modifications documented in <samp>TLpatches/*</samp>, and a wrapper -<samp>configure.ac</samp> and <samp>Makefile.am</samp> that descends into -<samp>xindy-src</samp>. +<p>This module uses the distributed source tree <samp class="file">xindy-src/</samp> with +modifications documented in <samp class="file">TLpatches/*</samp>, and a wrapper +<samp class="file">configure.ac</samp> and <samp class="file">Makefile.am</samp> that descends into +<samp class="file">xindy-src</samp>. </p> -<p>The <code>xindy</code> build requires a <samp>make</samp> that supports a -<code>VPATH</code> build, can handle all targets, and does not refer to -<code>${top_srcdir}</code> or <code>${top_builddir}</code>. The fragment -<code>xindy/ac/withenable.ac</code> contains +<p>The <code class="code">xindy</code> build requires a <samp class="file">make</samp> that supports a +<code class="code">VPATH</code> build, can handle all targets, and does not refer to +<code class="code">${top_srcdir}</code> or <code class="code">${top_builddir}</code>. The fragment +<code class="code">xindy/ac/withenable.ac</code> contains </p> <div class="example"> -<pre class="example">KPSE_ENABLE_PROG([xindy], , [disable]) +<pre class="example-preformatted">KPSE_ENABLE_PROG([xindy], , [disable]) m4_include(kpse_TL[utils/xindy/ac/xindy.ac]) m4_include(kpse_TL[utils/xindy/ac/clisp.ac]) </pre></div> -<p>where <code>disable</code> in the third argument indicates that -<code>xindy</code> is only built if explicitly enabled by the user with -<code>configure --enable-xindy</code> (the need for <code>clisp</code> makes it +<p>where <code class="code">disable</code> in the third argument indicates that +<code class="code">xindy</code> is only built if explicitly enabled by the user with +<code class="code">configure --enable-xindy</code> (the need for <code class="code">clisp</code> makes it too painful to enable by default). </p> -<p>The additional fragments <samp>ac/xindy.ac</samp> and <samp>ac/clisp.ac</samp> -specify more <code>configure</code> options to be seen at the top level, -with <samp>ac/xindy.ac</samp> also included by <samp>configure.ac</samp>. +<p>The additional fragments <samp class="file">ac/xindy.ac</samp> and <samp class="file">ac/clisp.ac</samp> +specify more <code class="code">configure</code> options to be seen at the top level, +with <samp class="file">ac/xindy.ac</samp> also included by <samp class="file">configure.ac</samp>. </p> <hr> </div> -<div class="subsection" id="xdvik-package"> -<div class="header"> +<div class="subsection-level-extent" id="xdvik-package"> +<div class="nav-panel"> <p> -Next: <a href="#asymptote" accesskey="n" rel="next">The subdirectory <samp>utils/asymptote</samp></a>, Previous: <a href="#xindy-package" accesskey="p" rel="prev">The <code>xindy</code> package in <samp>utils/xindy</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#asymptote" accesskey="n" rel="next">The subdirectory <samp class="file">utils/asymptote</samp></a>, Previous: <a href="#xindy-package" accesskey="p" rel="prev">The <code class="code">xindy</code> package in <samp class="file">utils/xindy</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-xdvik-package-in-texk_002fxdvik"></span><h4 class="subsection">6.5.3 The <code>xdvik</code> package in <samp>texk/xdvik</samp></h4> +<h4 class="subsection" id="The-xdvik-package-in-texk_002fxdvik">6.5.3 The <code class="code">xdvik</code> package in <samp class="file">texk/xdvik</samp></h4> -<span id="index-xdvik"></span> +<a class="index-entry-id" id="index-xdvik"></a> <p>This package is maintained as part of the TeX Live tree with sources in -its own directory (<samp>texk/xdvik/</samp>). The fragment -<code>xdvik/ac/withenable.ac</code> contains +its own directory (<samp class="file">texk/xdvik/</samp>). The fragment +<code class="code">xdvik/ac/withenable.ac</code> contains </p> <div class="example"> -<pre class="example">dnl extra_dirs = texk/xdvik/squeeze +<pre class="example-preformatted">dnl extra_dirs = texk/xdvik/squeeze KPSE_ENABLE_PROG([xdvik], [kpathsea freetype2], [x]) m4_include(kpse_TL[texk/xdvik/ac/xdvik.ac]) </pre></div> -<span id="index-squeeze_002fconfigure_002eac"></span> -<span id="index-cross-compilation_002c-with-host-binary"></span> -<p>thus specifying dependencies on the <code>kpathsea</code>, -<code>freetype</code>, and X11 libraries. The M4 comment (following -<code>dnl</code>) signals the subsidiary <samp>squeeze/configure.ac</samp>. This -is needed because the main executable <samp>xdvi-bin</samp> (to be installed -as, e.g., <samp>xdvi-xaw</samp>) is for the <code>host</code> system whereas the -auxiliary program <samp>squeeze/squeeze</samp> has to run on the -<code>build</code> system; in a cross compilation, these differ. +<a class="index-entry-id" id="index-squeeze_002fconfigure_002eac"></a> +<a class="index-entry-id" id="index-cross-compilation_002c-with-host-binary"></a> +<p>thus specifying dependencies on the <code class="code">kpathsea</code>, +<code class="code">freetype</code>, and X11 libraries. The M4 comment (following +<code class="code">dnl</code>) signals the subsidiary <samp class="file">squeeze/configure.ac</samp>. This +is needed because the main executable <samp class="file">xdvi-bin</samp> (to be installed +as, e.g., <samp class="file">xdvi-xaw</samp>) is for the <code class="code">host</code> system whereas the +auxiliary program <samp class="file">squeeze/squeeze</samp> has to run on the +<code class="code">build</code> system; in a cross compilation, these differ. </p> -<span id="index-_002d_002dwith_002dxdvi_002dx_002dtoolkit"></span> -<p>The additional fragment <code>ac/xdvik.ac</code> is also included by -<samp>configure.ac</samp> and supplies the configure option -<code>--with-xdvi-x-toolkit</code> also seen at the top level. +<a class="index-entry-id" id="index-_002d_002dwith_002dxdvi_002dx_002dtoolkit"></a> +<p>The additional fragment <code class="code">ac/xdvik.ac</code> is also included by +<samp class="file">configure.ac</samp> and supplies the configure option +<code class="code">--with-xdvi-x-toolkit</code> also seen at the top level. </p> <hr> </div> -<div class="subsection" id="asymptote"> -<div class="header"> +<div class="subsection-level-extent" id="asymptote"> +<div class="nav-panel"> <p> -Previous: <a href="#xdvik-package" accesskey="p" rel="prev">The <code>xdvik</code> package in <samp>texk/xdvik</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#xdvik-package" accesskey="p" rel="prev">The <code class="code">xdvik</code> package in <samp class="file">texk/xdvik</samp></a>, Up: <a href="#Program-modules" accesskey="u" rel="up">Program modules</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="The-subdirectory-utils_002fasymptote"></span><h4 class="subsection">6.5.4 The subdirectory <samp>utils/asymptote</samp></h4> +<h4 class="subsection" id="The-subdirectory-utils_002fasymptote">6.5.4 The subdirectory <samp class="file">utils/asymptote</samp></h4> -<span id="index-asymptote-1"></span> -<span id="index-xasy"></span> +<a class="index-entry-id" id="index-asymptote-1"></a> +<a class="index-entry-id" id="index-xasy"></a> -<span id="index-OpenGL_002c-required-for-Asymptote"></span> -<p>This subdirectory contains the sources for <samp>asy</samp> and <samp>xasy</samp> +<a class="index-entry-id" id="index-OpenGL_002c-required-for-Asymptote"></a> +<p>This subdirectory contains the sources for <samp class="file">asy</samp> and <samp class="file">xasy</samp> but due to its complexity and prerequisites (e.g., OpenGL) it is not part of the TL build system. These programs must be built and installed independently, but are included on the TL DVD together with -their support files. See <a href="https://tug.org/texlive/build.html#asymptote">https://tug.org/texlive/build.html#asymptote</a>. +their support files. See <a class="url" href="https://tug.org/texlive/build.html#asymptote">https://tug.org/texlive/build.html#asymptote</a>. </p> <hr> </div> </div> -<div class="section" id="Extending-TeX-Live"> -<div class="header"> +<div class="section-level-extent" id="Extending-TeX-Live"> +<div class="nav-panel"> <p> Previous: <a href="#Program-modules" accesskey="p" rel="prev">Program modules</a>, Up: <a href="#Layout-and-infrastructure" accesskey="u" rel="up">Layout and infrastructure</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Extending-TeX-Live-1"></span><h3 class="section">6.6 Extending TeX Live</h3> +<h3 class="section" id="Extending-TeX-Live-1">6.6 Extending TeX Live</h3> -<span id="index-extending-TeX-Live"></span> -<span id="index-adding-to-TeX-Live"></span> +<a class="index-entry-id" id="index-extending-TeX-Live"></a> +<a class="index-entry-id" id="index-adding-to-TeX-Live"></a> <p>This section outlines the basic process for adding new packages to the TL build system. </p> -<p>In any case, a new package directory <samp>foo</samp> should contain the +<p>In any case, a new package directory <samp class="file">foo</samp> should contain the original sources, modified only with changes necessary for TL, in -<samp>foo/foo-src</samp>. The changes should be documented in -<samp>foo/TLpatches/*</samp>, and also be submitted upstream whenever -reasonable. In addition, <samp>foo/</samp> will need the usual Automake -build-related files (<samp>configure.ac</samp>, <samp>Makefile.am</samp>, etc. -Please maintain <samp>foo/ChangeLog</samp> for all TL changes. +<samp class="file">foo/foo-src</samp>. The changes should be documented in +<samp class="file">foo/TLpatches/*</samp>, and also be submitted upstream whenever +reasonable. In addition, <samp class="file">foo/</samp> will need the usual Automake +build-related files (<samp class="file">configure.ac</samp>, <samp class="file">Makefile.am</samp>, etc. +Please maintain <samp class="file">foo/ChangeLog</samp> for all TL changes. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Adding-a-new-program-module" accesskey="1">Adding a new program module</a></li> <li><a href="#Adding-a-new-engine" accesskey="2">Adding a new engine</a></li> <li><a href="#Adding-a-new-generic-library-module" accesskey="3">Adding a new generic library module</a></li> <li><a href="#Adding-a-new-TeX_002dspecific-library-module" accesskey="4">Adding a new TeX-specific library module</a></li> </ul> <hr> -<div class="subsection" id="Adding-a-new-program-module"> -<div class="header"> +<div class="subsection-level-extent" id="Adding-a-new-program-module"> +<div class="nav-panel"> <p> Next: <a href="#Adding-a-new-engine" accesskey="n" rel="next">Adding a new engine</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Adding-a-new-program-module-1"></span><h4 class="subsection">6.6.1 Adding a new program module</h4> +<h4 class="subsection" id="Adding-a-new-program-module-1">6.6.1 Adding a new program module</h4> -<span id="index-adding-a-new-program"></span> -<span id="index-program-module_002c-adding"></span> +<a class="index-entry-id" id="index-adding-a-new-program"></a> +<a class="index-entry-id" id="index-program-module_002c-adding"></a> -<span id="index-kpse_005ftexk_005fpkgs"></span> +<a class="index-entry-id" id="index-kpse_005ftexk_005fpkgs"></a> <p>A TeX-specific program module in a subdirectory -<samp>texk/<var>prog</var></samp> may use the TeX-specific libraries and is -included by adding its name <samp><var>prog</var></samp> to the M4 list -<code>kpse_texk_pkgs</code> defined in <samp>m4/kpse-pkgs.m4</samp>. +<samp class="file">texk/<var class="var">prog</var></samp> may use the TeX-specific libraries and is +included by adding its name <samp class="file"><var class="var">prog</var></samp> to the M4 list +<code class="code">kpse_texk_pkgs</code> defined in <samp class="file">m4/kpse-pkgs.m4</samp>. </p> -<span id="index-kpse_005futils_005fpkgs"></span> -<p>A generic program module in a subdirectory <samp>utils/<var>prog</var></samp> +<a class="index-entry-id" id="index-kpse_005futils_005fpkgs"></a> +<p>A generic program module in a subdirectory <samp class="file">utils/<var class="var">prog</var></samp> must not use the TeX-specific libraries and is included by adding -its name <samp><var>prog</var></samp> to the M4 list <code>kpse_utils_pkgs</code> in -<samp>m4/kpse-pkgs.m4</samp>. -</p> -<span id="index-withenable_002eac_002c-for-new-modules"></span> -<span id="index-KPSE_005fENABLE_005fPROG"></span> -<p>In either case, the subdirectory <samp>texk/<var>prog</var></samp> or -<samp>utils/<var>prog</var></samp> must provide a fragment -<samp>ac/withenable.ac</samp> that contains the M4 macro -<code>KPSE_ENABLE_PROG</code> defined in <samp>m4/kpse-setup.m4</samp> with -<code><var>prog</var></code> as the mandatory first argument and three optional +its name <samp class="file"><var class="var">prog</var></samp> to the M4 list <code class="code">kpse_utils_pkgs</code> in +<samp class="file">m4/kpse-pkgs.m4</samp>. +</p> +<a class="index-entry-id" id="index-withenable_002eac_002c-for-new-modules"></a> +<a class="index-entry-id" id="index-KPSE_005fENABLE_005fPROG"></a> +<p>In either case, the subdirectory <samp class="file">texk/<var class="var">prog</var></samp> or +<samp class="file">utils/<var class="var">prog</var></samp> must provide a fragment +<samp class="file">ac/withenable.ac</samp> that contains the M4 macro +<code class="code">KPSE_ENABLE_PROG</code> defined in <samp class="file">m4/kpse-setup.m4</samp> with +<code class="code"><var class="var">prog</var></code> as the mandatory first argument and three optional arguments: </p> -<ol> +<ol class="enumerate"> <li> a list of required libraries from the TL tree; -</li><li> a list of options: <code>disable</code> if this module is not to be -built without the configure option <code>--enable-<var>prog</var></code>, -<code>native</code> if cross compilation is not possible, <code>x</code> if the +</li><li> a list of options: <code class="code">disable</code> if this module is not to be +built without the configure option <code class="code">--enable-<var class="var">prog</var></code>, +<code class="code">native</code> if cross compilation is not possible, <code class="code">x</code> if the program requires X11 libraries; -</li><li> a comment added to the help text for the <code>configure</code> -option <code>--enable-<var>prog</var></code> or <code>--disable-<var>prog</var></code>. +</li><li> a comment added to the help text for the <code class="code">configure</code> +option <code class="code">--enable-<var class="var">prog</var></code> or <code class="code">--disable-<var class="var">prog</var></code>. </li></ol> -<p>If the module requires specific <code>configure</code> options to be seen at +<p>If the module requires specific <code class="code">configure</code> options to be seen at the top level, they should be defined in an additional fragment -<samp>ac/<var>prog</var>.ac</samp> included from <samp>ac/withenable.ac</samp> and -<samp>configure.ac</samp>. +<samp class="file">ac/<var class="var">prog</var>.ac</samp> included from <samp class="file">ac/withenable.ac</samp> and +<samp class="file">configure.ac</samp>. </p> -<span id="index-newprog_002dsrc_002c-original-source-subdirectory"></span> +<a class="index-entry-id" id="index-newprog_002dsrc_002c-original-source-subdirectory"></a> <p>Usually, the new program is maintained somewhere outside of TeX Live. In that case, as above, we put the upstream sources into a subdirectory -<samp><var>prog</var>-src</samp> (e.g., <samp>utils/newprog/newprog-src</samp>). We do -not typically run <code>configure</code> in this original <code>...-src</code> +<samp class="file"><var class="var">prog</var>-src</samp> (e.g., <samp class="file">utils/newprog/newprog-src</samp>). We do +not typically run <code class="code">configure</code> in this original <code class="code">...-src</code> directory, but only in our own directory; but we do compile using the -source files in <code>...-src</code>. +source files in <code class="code">...-src</code>. </p> <p>So, to summarize the files that must (usually) be created inside a new -TL source directory (<samp>texk/newprog</samp> or <samp>utils/newprog</samp>): +TL source directory (<samp class="file">texk/newprog</samp> or <samp class="file">utils/newprog</samp>): </p> -<dl compact="compact"> -<dt id='index-ac_002fwithenable_002eac'><span><samp>ac/withenable.ac</samp><a href='#index-ac_002fwithenable_002eac' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>The <code>KPSE_ENABLE_PROG</code> call just explained. +<dl class="ftable"> +<dt id='index-ac_002fwithenable_002eac'><span><samp class="file">ac/withenable.ac</samp><a class="copiable-link" href='#index-ac_002fwithenable_002eac'> ¶</a></span></dt> +<dd><p>The <code class="code">KPSE_ENABLE_PROG</code> call just explained. </p> </dd> -<dt id='index-configure_002eac'><span><samp>configure.ac</samp><a href='#index-configure_002eac' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-Makefile_002eam'><span><samp>Makefile.am</samp><a href='#index-Makefile_002eam' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>By merging the contents of the original <samp>configure.ac</samp> (if +<dt id='index-configure_002eac'><span><samp class="file">configure.ac</samp><a class="copiable-link" href='#index-configure_002eac'> ¶</a></span></dt> +<dt id='index-Makefile_002eam'><span><samp class="file">Makefile.am</samp><a class="copiable-link" href='#index-Makefile_002eam'> ¶</a></span></dt> +<dd><p>By merging the contents of the original <samp class="file">configure.ac</samp> (if provided) and a comparable program already in TL. In the above -example, one line that will be needed in <samp>configure.ac</samp> (can be -added before the <code>AC_CONFIG_FILES</code> at the end) is: +example, one line that will be needed in <samp class="file">configure.ac</samp> (can be +added before the <code class="code">AC_CONFIG_FILES</code> at the end) is: </p> <div class="example"> -<pre class="example">AC_SUBST([NEWPROG_TREE], [newprog-src]) +<pre class="example-preformatted">AC_SUBST([NEWPROG_TREE], [newprog-src]) </pre></div> -<p>and then use <code>@NEWPROG_TREE@</code> in -<code>Makefile.am</code> where needed. +<p>and then use <code class="code">@NEWPROG_TREE@</code> in +<code class="code">Makefile.am</code> where needed. </p> <p>In general, there is no magic recipe for this part of the job. It’s necessary to think about what needs to be done in the original vs. in TeX Live. It’s useful to look at the setup for the most comparable programs already in TL that you can find. It’s also useful to grep the -entire <samp>Build/source</samp> tree for whatever you can think of to +entire <samp class="file">Build/source</samp> tree for whatever you can think of to investigate how something is done. Most of the TL-specific macros are -defined in <samp>Build/source/m4/*</samp>. +defined in <samp class="file">Build/source/m4/*</samp>. </p> </dd> -<dt id='index-TLpatches_002fTL_002dChanges'><span><samp>TLpatches/TL-Changes</samp><a href='#index-TLpatches_002fTL_002dChanges' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-TLpatches_002fTL_002dChanges'><span><samp class="file">TLpatches/TL-Changes</samp><a class="copiable-link" href='#index-TLpatches_002fTL_002dChanges'> ¶</a></span></dt> <dd><p>First actions taken after getting the original source tree; typically removal of derived or unused common files. </p> </dd> -<dt id='index-TLpatches_002fpatch_002d_002e_002e_002e'><span><samp>TLpatches/patch-...</samp><a href='#index-TLpatches_002fpatch_002d_002e_002e_002e' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-TLpatches_002fpatch_002d_002e_002e_002e'><span><samp class="file">TLpatches/patch-...</samp><a class="copiable-link" href='#index-TLpatches_002fpatch_002d_002e_002e_002e'> ¶</a></span></dt> <dd><p>If any changes are needed to the original sources, record the patches here so they can be applied next time. Also, send them upstream so that we don’t have to maintain them forever. </p> </dd> -<dt id='index-ChangeLog'><span><samp>ChangeLog</samp><a href='#index-ChangeLog' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-ChangeLog'><span><samp class="file">ChangeLog</samp><a class="copiable-link" href='#index-ChangeLog'> ¶</a></span></dt> <dd><p>Record all TL-specific changes, now and in the future. </p> </dd> </dl> -<span id="index-autoreconf_002c-for-new-program"></span> -<p>After populating the new TL source directory (<samp>.../newprog/</samp>, in -the above), run GNU <code>autoreconf</code> there (see <a href="#Build-system-tools">Build system tools</a>). Once that works, if you are the one who’s eventually going -to commit the new package, <code>svn add</code> the necessary files, -including the generated <samp>Makefile.in aclocal.m4 configure</samp>, and -<code>svn:ignore</code> the Automake cache <samp>autom4te.cache</samp>. (This is +<a class="index-entry-id" id="index-autoreconf_002c-for-new-program"></a> +<p>After populating the new TL source directory (<samp class="file">.../newprog/</samp>, in +the above), run GNU <code class="code">autoreconf</code> there (see <a class="pxref" href="#Build-system-tools">Build system tools</a>). Once that works, if you are the one who’s eventually going +to commit the new package, <code class="code">svn add</code> the necessary files, +including the generated <samp class="file">Makefile.in aclocal.m4 configure</samp>, and +<code class="code">svn:ignore</code> the Automake cache <samp class="file">autom4te.cache</samp>. (This is so people checking out the TL source tree do not have to run any -autotools, but can simply run <code>configure</code>.) +autotools, but can simply run <code class="code">configure</code>.) </p> -<p>To reiterate: do not fail to commit the generated <samp>configure</samp> and -other files. The m4 code in <samp>kpse-pkgs.m4</samp> uses the existence of -<samp>configure</samp> to determine whether to descend into (and configure) +<p>To reiterate: do not fail to commit the generated <samp class="file">configure</samp> and +other files. The m4 code in <samp class="file">kpse-pkgs.m4</samp> uses the existence of +<samp class="file">configure</samp> to determine whether to descend into (and configure) a given subdirectory. </p> -<span id="index-reautoconf_002c-for-new-program"></span> -<p>Then, run the TL tool <code>reautoconf</code> in the top-level TL -<code>Build/source/</code> directory, to incorporate the new program into +<a class="index-entry-id" id="index-reautoconf_002c-for-new-program"></a> +<p>Then, run the TL tool <code class="code">reautoconf</code> in the top-level TL +<code class="code">Build/source/</code> directory, to incorporate the new program into the build tree. It is good to then rebuild the whole tree (e.g., using -TL’s <samp>Build/Build</samp> script) to get all the necessary files generated. +TL’s <samp class="file">Build/Build</samp> script) to get all the necessary files generated. </p> <p>It will probably fail. So then you need to keep at it until the program compiles and tests successfully. The most efficient way is to -rerun <code>autoreconf</code> as needed in the new source directory -(<code>Build/source/.../newprog</code>), then <code>make</code> in the -corresponding build directory (<code>Build/work/.../newprog</code>), then -<code>make check</code>, etc. In the end, also make sure that the whole tree +rerun <code class="code">autoreconf</code> as needed in the new source directory +(<code class="code">Build/source/.../newprog</code>), then <code class="code">make</code> in the +corresponding build directory (<code class="code">Build/work/.../newprog</code>), then +<code class="code">make check</code>, etc. In the end, also make sure that the whole tree builds from scratch. </p> <p>After final success, don’t forget to commit. (Or email the TL @@ -2212,876 +2216,876 @@ maintainers with the patch.) </p> <hr> </div> -<div class="subsection" id="Adding-a-new-engine"> -<div class="header"> +<div class="subsection-level-extent" id="Adding-a-new-engine"> +<div class="nav-panel"> <p> Next: <a href="#Adding-a-new-generic-library-module" accesskey="n" rel="next">Adding a new generic library module</a>, Previous: <a href="#Adding-a-new-program-module" accesskey="p" rel="prev">Adding a new program module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Adding-a-new-engine-1"></span><h4 class="subsection">6.6.2 Adding a new engine</h4> +<h4 class="subsection" id="Adding-a-new-engine-1">6.6.2 Adding a new engine</h4> -<span id="index-adding-a-new-engine"></span> -<span id="index-engine_002c-adding-new"></span> +<a class="index-entry-id" id="index-adding-a-new-engine"></a> +<a class="index-entry-id" id="index-engine_002c-adding-new"></a> <p>Adding a new TeX engine is not completely different from adding a program, but it’s not all that similar, either. In this case, the main -work is done by creating a new subdirectory of <samp>texk/web2c/</samp> for +work is done by creating a new subdirectory of <samp class="file">texk/web2c/</samp> for the engine. The subdirectory is conventionally named ending in -<samp>dir</samp>, like <samp>pdftexdir</samp> and <samp>xetexdir</samp>, to avoid +<samp class="file">dir</samp>, like <samp class="file">pdftexdir</samp> and <samp class="file">xetexdir</samp>, to avoid clashes with executable names. </p> <p>The source files for the new engine should be put in this -<samp><var>newengine</var>dir</samp> subdirectory. Also, a file -<samp><var>newengine</var>dir/am/<var>newengine</var>.am</samp> (e.g., -<samp>pdftexdir/am/pdftex.am</samp> is needed with the Makefile fragment +<samp class="file"><var class="var">newengine</var>dir</samp> subdirectory. Also, a file +<samp class="file"><var class="var">newengine</var>dir/am/<var class="var">newengine</var>.am</samp> (e.g., +<samp class="file">pdftexdir/am/pdftex.am</samp> is needed with the Makefile fragment needed to build it. </p> -<p>The overall <samp>web2c/Makefile.am</samp> needs to have an <samp>include</samp> -statement added to insert that <samp><var>newengine</var>.am</samp> file. +<p>The overall <samp class="file">web2c/Makefile.am</samp> needs to have an <samp class="file">include</samp> +statement added to insert that <samp class="file"><var class="var">newengine</var>.am</samp> file. </p> -<p>In <samp>web2c/ac/web2c.ac</samp>, a line needs to be added in the -definition of the <code>kpse_tex_progs</code> variable to include it in the +<p>In <samp class="file">web2c/ac/web2c.ac</samp>, a line needs to be added in the +definition of the <code class="code">kpse_tex_progs</code> variable to include it in the build. That line specifies whether the new engine is built by default, and the additional libraries requires. </p> <p>For examples of building engines in CWEB, you can check the existing -<samp>hitexdir</samp> and <samp>mplibdir</samp> directories; these are somewhat +<samp class="file">hitexdir</samp> and <samp class="file">mplibdir</samp> directories; these are somewhat simpler than LuaTeX. Of course, every engine will have its own unique features and requirements, so existing examples will only take you so far. </p> -<p>Web2c is built as one “package”, with each subdirectory’s <samp>.am</samp> -fragment inserted with an Automake <code>include</code>. This means that, -for instance, <code>$(srcdir)</code> is <samp>.../web2c</samp>, not -<samp>.../webdir/enginedir</samp>. It is a difficult setup to come to terms +<p>Web2c is built as one “package”, with each subdirectory’s <samp class="file">.am</samp> +fragment inserted with an Automake <code class="code">include</code>. This means that, +for instance, <code class="code">$(srcdir)</code> is <samp class="file">.../web2c</samp>, not +<samp class="file">.../webdir/enginedir</samp>. It is a difficult setup to come to terms with, but the alternative is to recurse into each engine subdirectory, -and that would be far worse (see <a data-manual="automake" href="https://www.gnu.org/software/automake/manual/automake.html#Directories">Directories</a> in <cite>GNU +and that would be far worse (see <a data-manual="automake" href="https://www.gnu.org/software/automake/manual/automake.html#Directories">Directories</a> in <cite class="cite">GNU Automake</cite>). </p> <hr> </div> -<div class="subsection" id="Adding-a-new-generic-library-module"> -<div class="header"> +<div class="subsection-level-extent" id="Adding-a-new-generic-library-module"> +<div class="nav-panel"> <p> Next: <a href="#Adding-a-new-TeX_002dspecific-library-module" accesskey="n" rel="next">Adding a new TeX-specific library module</a>, Previous: <a href="#Adding-a-new-engine" accesskey="p" rel="prev">Adding a new engine</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Adding-a-new-generic-library-module-1"></span><h4 class="subsection">6.6.3 Adding a new generic library module</h4> +<h4 class="subsection" id="Adding-a-new-generic-library-module-1">6.6.3 Adding a new generic library module</h4> -<span id="index-adding-a-new-generic-library"></span> -<span id="index-generic-library-module_002c-adding"></span> -<span id="index-library-module_002c-generic_002c-adding"></span> +<a class="index-entry-id" id="index-adding-a-new-generic-library"></a> +<a class="index-entry-id" id="index-generic-library-module_002c-adding"></a> +<a class="index-entry-id" id="index-library-module_002c-generic_002c-adding"></a> -<span id="index-kpse_005flibs_005fpkgs"></span> -<p>A generic library module in a subdirectory <samp>libs/<var>lib</var></samp> must +<a class="index-entry-id" id="index-kpse_005flibs_005fpkgs"></a> +<p>A generic library module in a subdirectory <samp class="file">libs/<var class="var">lib</var></samp> must not depend on TeX-specific libraries, by definition. It is -included by adding its name <samp><var>lib</var></samp> to the M4 macro -<code>kpse_libs_pkgs</code> in <samp>m4/kpse-pkgs.m4</samp>—before any other +included by adding its name <samp class="file"><var class="var">lib</var></samp> to the M4 macro +<code class="code">kpse_libs_pkgs</code> in <samp class="file">m4/kpse-pkgs.m4</samp>—before any other libraries from the TeX Live tree on which it depends. </p> -<span id="index-KPSE_005fWITH_005fLIB"></span> -<p>As with program modules, the subdirectory <samp>libs/<var>lib</var></samp> must +<a class="index-entry-id" id="index-KPSE_005fWITH_005fLIB"></a> +<p>As with program modules, the subdirectory <samp class="file">libs/<var class="var">lib</var></samp> must contain the sources and build system for the library (and any -installable support programs) and a fragment <samp>ac/withenable.ac</samp> -that contains the M4 macro <code>KPSE_WITH_LIB</code> defined in -<samp>m4/kpse-setup.m4</samp> with <code><var>lib</var></code> as the mandatory first +installable support programs) and a fragment <samp class="file">ac/withenable.ac</samp> +that contains the M4 macro <code class="code">KPSE_WITH_LIB</code> defined in +<samp class="file">m4/kpse-setup.m4</samp> with <code class="code"><var class="var">lib</var></code> as the mandatory first argument and two optional arguments: a list of required libraries from the TL tree, and a list of options: for libraries, currently there is -only one—specify <code>tree</code> if this library cannot be replaced by a +only one—specify <code class="code">tree</code> if this library cannot be replaced by a system version. </p> -<span id="index-KPSE_005fTRY_005fLIB-1"></span> -<span id="index-KPSE_005fTRY_005fLIBXX-1"></span> +<a class="index-entry-id" id="index-KPSE_005fTRY_005fLIB-1"></a> +<a class="index-entry-id" id="index-KPSE_005fTRY_005fLIBXX-1"></a> <p>If a system version can be used, a second fragment -<samp>ac/<var>lib</var>.ac</samp> is needed, containing the M4 macro -<code>KPSE_TRY_LIB</code> (or <code>KPSE_TRY_LIBXX</code>) with <code><var>lib</var></code> +<samp class="file">ac/<var class="var">lib</var>.ac</samp> is needed, containing the M4 macro +<code class="code">KPSE_TRY_LIB</code> (or <code class="code">KPSE_TRY_LIBXX</code>) with <code class="code"><var class="var">lib</var></code> as the mandatory first argument and two additional arguments for the -Autoconf macro <code>AC_LANG_PROGRAM</code> used to compile and link a small +Autoconf macro <code class="code">AC_LANG_PROGRAM</code> used to compile and link a small C (or C++) program as sanity check for using the system library. </p> -<span id="index-KPSE_005fLIB_005fFLAGS-1"></span> -<p>In addition a file <samp>m4/kpse-<var>lib</var>-flags</samp> (at the top level) -must define the M4 macro <code>KPSE_<var>LIB</var>_FLAGS</code> (all uppercase) -setting up the <code>make</code> variables <code><var>LIB</var>_INCLUDES</code>, -<code><var>LIB</var>_LIBS</code>, <code><var>LIB</var>_DEPEND</code>, and -<code><var>LIB</var>_RULE</code> with the values required for <code>CPPFLAGS</code>, -<code>LDADD</code>, dependencies, and a (multi-line) <code>make</code> rule to +<a class="index-entry-id" id="index-KPSE_005fLIB_005fFLAGS-1"></a> +<p>In addition a file <samp class="file">m4/kpse-<var class="var">lib</var>-flags</samp> (at the top level) +must define the M4 macro <code class="code">KPSE_<var class="var">LIB</var>_FLAGS</code> (all uppercase) +setting up the <code class="code">make</code> variables <code class="code"><var class="var">LIB</var>_INCLUDES</code>, +<code class="code"><var class="var">LIB</var>_LIBS</code>, <code class="code"><var class="var">LIB</var>_DEPEND</code>, and +<code class="code"><var class="var">LIB</var>_RULE</code> with the values required for <code class="code">CPPFLAGS</code>, +<code class="code">LDADD</code>, dependencies, and a (multi-line) <code class="code">make</code> rule to rebuild the library when necessary. All of that is needed for the library from the TL tree and, if supported, for a system version. </p> -<span id="index-_002d_002dwith_002dsystem_002dlib"></span> -<span id="index-KPSE_005fLIB_005fSYSTEM_005fFLAGS"></span> -<span id="index-KPSE_005fALL_005fSYSTEM_005fFLAGS"></span> -<p>If a system library is allowed, <code>KPSE_<var>LIB</var>_FLAGS</code> also -provides the configure option <code>--with-system-<var>lib</var></code> and uses -the additional M4 macro <code>KPSE_<var>LIB</var>_SYSTEM_FLAGS</code> to generate -the <code>make</code> variables for a system library. In addition, the -definition of the M4 macro <code>KPSE_ALL_SYSTEM_FLAGS</code> in -<samp>m4/kpse-pkgs.m4</samp> must be extended by the line:<br> <code>AC_REQUIRE([KPSE_<var>LIB</var>_SYSTEM_FLAGS])</code> +<a class="index-entry-id" id="index-_002d_002dwith_002dsystem_002dlib"></a> +<a class="index-entry-id" id="index-KPSE_005fLIB_005fSYSTEM_005fFLAGS"></a> +<a class="index-entry-id" id="index-KPSE_005fALL_005fSYSTEM_005fFLAGS"></a> +<p>If a system library is allowed, <code class="code">KPSE_<var class="var">LIB</var>_FLAGS</code> also +provides the configure option <code class="code">--with-system-<var class="var">lib</var></code> and uses +the additional M4 macro <code class="code">KPSE_<var class="var">LIB</var>_SYSTEM_FLAGS</code> to generate +the <code class="code">make</code> variables for a system library. In addition, the +definition of the M4 macro <code class="code">KPSE_ALL_SYSTEM_FLAGS</code> in +<samp class="file">m4/kpse-pkgs.m4</samp> must be extended by the line:<br> <code class="code">AC_REQUIRE([KPSE_<var class="var">LIB</var>_SYSTEM_FLAGS])</code> </p> <hr> </div> -<div class="subsection" id="Adding-a-new-TeX_002dspecific-library-module"> -<div class="header"> +<div class="subsection-level-extent" id="Adding-a-new-TeX_002dspecific-library-module"> +<div class="nav-panel"> <p> Previous: <a href="#Adding-a-new-generic-library-module" accesskey="p" rel="prev">Adding a new generic library module</a>, Up: <a href="#Extending-TeX-Live" accesskey="u" rel="up">Extending TeX Live</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Adding-a-new-TeX_002dspecific-library-module-1"></span><h4 class="subsection">6.6.4 Adding a new TeX-specific library module</h4> +<h4 class="subsection" id="Adding-a-new-TeX_002dspecific-library-module-1">6.6.4 Adding a new TeX-specific library module</h4> -<span id="index-adding-a-new-TeX_002dspecific-library"></span> -<span id="index-TeX_002dspecific-library-module_002c-adding"></span> -<span id="index-library-module_002c-TeX_002dspecific_002c-adding"></span> +<a class="index-entry-id" id="index-adding-a-new-TeX_002dspecific-library"></a> +<a class="index-entry-id" id="index-TeX_002dspecific-library-module_002c-adding"></a> +<a class="index-entry-id" id="index-library-module_002c-TeX_002dspecific_002c-adding"></a> <p>A TeX-specific library module in a subdirectory -<samp>texk/<var>lib</var></samp> may depend on other TeX-specific libraries +<samp class="file">texk/<var class="var">lib</var></samp> may depend on other TeX-specific libraries but must not depend on any generic library from the TL tree. It is included in the same general ways as a generic library (see the previous section), with these modifications: </p> -<ul> -<li> <span id="index-kpse_005ftexlibs_005fpkgs"></span> -The library name <code><var>lib</var></code> is added to the M4 macro -<code>kpse_texlibs_pkgs</code>, which is also in <samp>m4/kpse-pkgs.m4</samp>. +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-kpse_005ftexlibs_005fpkgs"></a> +The library name <code class="code"><var class="var">lib</var></code> is added to the M4 macro +<code class="code">kpse_texlibs_pkgs</code>, which is also in <samp class="file">m4/kpse-pkgs.m4</samp>. -</li><li> <span id="index-KPSE_005fWITH_005fTEXLIB"></span> -The fragment <code>ac/withenable.ac</code> must use <code>KPSE_WITH_TEXLIB</code>. +</li><li><a class="index-entry-id" id="index-KPSE_005fWITH_005fTEXLIB"></a> +The fragment <code class="code">ac/withenable.ac</code> must use <code class="code">KPSE_WITH_TEXLIB</code>. </li></ul> <hr> </div> </div> </div> -<div class="chapter" id="Configure-options"> -<div class="header"> +<div class="chapter-level-extent" id="Configure-options"> +<div class="nav-panel"> <p> -Next: <a href="#Coding-conventions" accesskey="n" rel="next">Coding conventions</a>, Previous: <a href="#Layout-and-infrastructure" accesskey="p" rel="prev">Layout and infrastructure</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Coding-conventions" accesskey="n" rel="next">Coding conventions</a>, Previous: <a href="#Layout-and-infrastructure" accesskey="p" rel="prev">Layout and infrastructure</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-1"></span><h2 class="chapter">7 Configure options</h2> +<h2 class="chapter" id="Configure-options-1">7 Configure options</h2> -<span id="index-configure-options"></span> +<a class="index-entry-id" id="index-configure-options"></a> <p>Corresponding to the large number of program and library modules there -are a large number <code>configure</code> options, most of which are -described here. The command<br> <code>configure --help</code><br>at the +are a large number <code class="code">configure</code> options, most of which are +described here. The command<br> <code class="code">configure --help</code><br>at the top level gives an exhaustive list of all global options and a few -important module-specific ones, whereas, e.g.,<br> <code>texk/lcdf-typetools/configure --help</code><br> also displays the -<code>lcdf-typetools</code> specific options, which are not shown at the +important module-specific ones, whereas, e.g.,<br> <code class="code">texk/lcdf-typetools/configure --help</code><br> also displays the +<code class="code">lcdf-typetools</code> specific options, which are not shown at the top level. </p> -<span id="index-environment-variables_002c-for-configure"></span> +<a class="index-entry-id" id="index-environment-variables_002c-for-configure"></a> <p>The help text also mentions several influential environment variables, but for TeX Live it is better to specify them as assignments on the command line. </p> -<p>The <samp>./Build</samp> script used to make the binaries shipped with TeX Live -invokes the top-level <code>configure</code> with a few additional options -(see <a href="#Building">Building</a>). The defaults discussed below are those for the -actual <code>configure</code> script; invoking <code>configure</code> via -<samp>./Build</samp> yields different results. +<p>The <samp class="file">./Build</samp> script used to make the binaries shipped with TeX Live +invokes the top-level <code class="code">configure</code> with a few additional options +(see <a class="pxref" href="#Building">Building</a>). The defaults discussed below are those for the +actual <code class="code">configure</code> script; invoking <code class="code">configure</code> via +<samp class="file">./Build</samp> yields different results. </p> <p>Defaults for most options are set at the top level and propagated explicitly to all subdirectories. Options specified on the command line are checked for consistency but never modified. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Global-configure-options" accesskey="1">Global configure options</a></li> <li><a href="#Program_002dspecific-configure-options" accesskey="2">Program-specific configure options</a></li> <li><a href="#Library_002dspecific-configure-options" accesskey="3">Library-specific configure options</a></li> <li><a href="#Variables-for-configure" accesskey="4">Variables for configure</a></li> </ul> <hr> -<div class="section" id="Global-configure-options"> -<div class="header"> +<div class="section-level-extent" id="Global-configure-options"> +<div class="nav-panel"> <p> Next: <a href="#Program_002dspecific-configure-options" accesskey="n" rel="next">Program-specific configure options</a>, Up: <a href="#Configure-options" accesskey="u" rel="up">Configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Global-configure-options-1"></span><h3 class="section">7.1 Global configure options</h3> +<h3 class="section" id="Global-configure-options-1">7.1 Global configure options</h3> -<span id="index-global-configure-options"></span> -<span id="index-configure-options_002c-global"></span> +<a class="index-entry-id" id="index-global-configure-options"></a> +<a class="index-entry-id" id="index-configure-options_002c-global"></a> <p>Here are the global configure options. </p> -<ul class="section-toc"> -<li><a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild" accesskey="1"><code>--disable-native-texlive-build</code></a></li> -<li><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026" accesskey="2"><code>--prefix</code>, <code>--bindir</code>, …</a></li> -<li><a href="#g_t_002d_002ddisable_002dlargefile" accesskey="3"><code>--disable-largefile</code></a></li> -<li><a href="#g_t_002d_002ddisable_002dmissing" accesskey="4"><code>--disable-missing</code></a></li> -<li><a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel" accesskey="5"><code>--enable-compiler-warnings=</code><var>level</var></a></li> -<li><a href="#g_t_002d_002denable_002dcxx_002druntime_002dhack" accesskey="6"><code>--enable-cxx-runtime-hack</code></a></li> -<li><a href="#g_t_002d_002denable_002dmaintainer_002dmode" accesskey="7"><code>--enable-maintainer-mode</code></a></li> -<li><a href="#g_t_002d_002denable_002dmultiplatform" accesskey="8"><code>--enable-multiplatform</code></a></li> -<li><a href="#g_t_002d_002denable_002dshared" accesskey="9"><code>--enable-shared</code></a></li> -<li><a href="#g_t_002d_002denable_002dsilent_002drules"><code>--enable-silent-rules</code></a></li> -<li><a href="#g_t_002d_002dwithout_002dln_002ds"><code>--without-ln-s</code></a></li> -<li><a href="#g_t_002d_002dwithout_002dx"><code>--without-x</code></a></li> +<ul class="mini-toc"> +<li><a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild" accesskey="1"><code class="code">--disable-native-texlive-build</code></a></li> +<li><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026" accesskey="2"><code class="code">--prefix</code>, <code class="code">--bindir</code>, …</a></li> +<li><a href="#g_t_002d_002ddisable_002dlargefile" accesskey="3"><code class="code">--disable-largefile</code></a></li> +<li><a href="#g_t_002d_002ddisable_002dmissing" accesskey="4"><code class="code">--disable-missing</code></a></li> +<li><a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel" accesskey="5"><code class="code">--enable-compiler-warnings=</code><var class="var">level</var></a></li> +<li><a href="#g_t_002d_002denable_002dcxx_002druntime_002dhack" accesskey="6"><code class="code">--enable-cxx-runtime-hack</code></a></li> +<li><a href="#g_t_002d_002denable_002dmaintainer_002dmode" accesskey="7"><code class="code">--enable-maintainer-mode</code></a></li> +<li><a href="#g_t_002d_002denable_002dmultiplatform" accesskey="8"><code class="code">--enable-multiplatform</code></a></li> +<li><a href="#g_t_002d_002denable_002dshared" accesskey="9"><code class="code">--enable-shared</code></a></li> +<li><a href="#g_t_002d_002denable_002dsilent_002drules"><code class="code">--enable-silent-rules</code></a></li> +<li><a href="#g_t_002d_002dwithout_002dln_002ds"><code class="code">--without-ln-s</code></a></li> +<li><a href="#g_t_002d_002dwithout_002dx"><code class="code">--without-x</code></a></li> </ul> <hr> -<div class="subsection" id="g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026" accesskey="n" rel="next"><code>--prefix</code>, <code>--bindir</code>, …</a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026" accesskey="n" rel="next"><code class="code">--prefix</code>, <code class="code">--bindir</code>, …</a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild-1"></span><h4 class="subsection">7.1.1 <code>--disable-native-texlive-build</code></h4> +<h4 class="subsection" id="g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild-1">7.1.1 <code class="code">--disable-native-texlive-build</code></h4> -<span id="index-_002d_002ddisable_002dnative_002dtexlive_002dbuild"></span> +<a class="index-entry-id" id="index-_002d_002ddisable_002dnative_002dtexlive_002dbuild"></a> <p>If enabled (the default), build for a TL binary distribution as -shipped by the TeX user groups. This requires GNU <code>make</code> and -implies <code>--enable-multiplatform</code> and -<code>--enable-cxx-runtime-hack</code> (unless they are explicitly disabled), -and enforces <code>--disable-shared</code>. +shipped by the TeX user groups. This requires GNU <code class="code">make</code> and +implies <code class="code">--enable-multiplatform</code> and +<code class="code">--enable-cxx-runtime-hack</code> (unless they are explicitly disabled), +and enforces <code class="code">--disable-shared</code>. </p> <p>If building TL for a GNU/Linux or other distribution, this should be disabled and system versions of most libraries should be used -(see <a href="#Distro-builds">Distro builds</a>). +(see <a class="pxref" href="#Distro-builds">Distro builds</a>). </p> -<span id="index-_002d_002denable_002dtexlive_002dbuild"></span> -<p>A related option, <code>--enable-texlive-build</code>, is automatically +<a class="index-entry-id" id="index-_002d_002denable_002dtexlive_002dbuild"></a> +<p>A related option, <code class="code">--enable-texlive-build</code>, is automatically passed to all subdirectories (and cannot be disabled). Subdirectories that can also be built independently from the TL tree (such as -<samp>utils/xindy</samp> and <samp>texk/dvipng</samp>) but cooperate with TL can +<samp class="file">utils/xindy</samp> and <samp class="file">texk/dvipng</samp>) but cooperate with TL can use this option to enable TL-specific adaptations, such as installation paths. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002dprefix-_002d_002dbindir-_2026"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002dprefix-_002d_002dbindir-_2026"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002ddisable_002dlargefile" accesskey="n" rel="next"><code>--disable-largefile</code></a>, Previous: <a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild" accesskey="p" rel="prev"><code>--disable-native-texlive-build</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002ddisable_002dlargefile" accesskey="n" rel="next"><code class="code">--disable-largefile</code></a>, Previous: <a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild" accesskey="p" rel="prev"><code class="code">--disable-native-texlive-build</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002dprefix_002c-_002d_002dbindir_002c-_2026"></span><h4 class="subsection">7.1.2 <code>--prefix</code>, <code>--bindir</code>, …</h4> +<h4 class="subsection" id="g_t_002d_002dprefix_002c-_002d_002dbindir_002c-_2026">7.1.2 <code class="code">--prefix</code>, <code class="code">--bindir</code>, …</h4> -<span id="index-_002d_002dprefix-configure-option"></span> -<span id="index-_002d_002dbindir-configure-option"></span> +<a class="index-entry-id" id="index-_002d_002dprefix-configure-option"></a> +<a class="index-entry-id" id="index-_002d_002dbindir-configure-option"></a> <p>These standard Autoconf options specify various installation -directories as usual. For the complete list, see <a href="#Installation-directories">Installation directories</a>. +directories as usual. For the complete list, see <a class="pxref" href="#Installation-directories">Installation directories</a>. </p> -<span id="index-DESTDIR"></span> -<p>Also as usual, all values are prefixed by the value of <code>DESTDIR</code>, -if set, on the <code>make</code> command line (see <a data-manual="automake" href="https://www.gnu.org/software/automake/manual/automake.html#Staged-Installs">Installation in a temporary location</a> in <cite>GNU Automake</cite>). +<a class="index-entry-id" id="index-DESTDIR"></a> +<p>Also as usual, all values are prefixed by the value of <code class="code">DESTDIR</code>, +if set, on the <code class="code">make</code> command line (see <a data-manual="automake" href="https://www.gnu.org/software/automake/manual/automake.html#Staged-Installs">Installation in a temporary location</a> in <cite class="cite">GNU Automake</cite>). </p> <hr> </div> -<div class="subsection" id="g_t_002d_002ddisable_002dlargefile"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002ddisable_002dlargefile"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002ddisable_002dmissing" accesskey="n" rel="next"><code>--disable-missing</code></a>, Previous: <a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026" accesskey="p" rel="prev"><code>--prefix</code>, <code>--bindir</code>, …</a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002ddisable_002dmissing" accesskey="n" rel="next"><code class="code">--disable-missing</code></a>, Previous: <a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026" accesskey="p" rel="prev"><code class="code">--prefix</code>, <code class="code">--bindir</code>, …</a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002ddisable_002dlargefile-1"></span><h4 class="subsection">7.1.3 <code>--disable-largefile</code></h4> +<h4 class="subsection" id="g_t_002d_002ddisable_002dlargefile-1">7.1.3 <code class="code">--disable-largefile</code></h4> -<span id="index-_002d_002ddisable_002dlargefile"></span> -<span id="index-large-file-support"></span> -<span id="index-LFS-_0028large-file-support_0029"></span> +<a class="index-entry-id" id="index-_002d_002ddisable_002dlargefile"></a> +<a class="index-entry-id" id="index-large-file-support"></a> +<a class="index-entry-id" id="index-LFS-_0028large-file-support_0029"></a> <p>Omit large file support (LFS), which is needed on most 32-bit Unix systems for files with 2GB or more. Regardless of this option, the -size of <code>DVI</code> and <code>GF</code> files must always be <em class='math'><2</em>GB, due +size of <code class="code">DVI</code> and <code class="code">GF</code> files must always be <em class="math"><2</em>GB, due to the file format specifications. </p> -<span id="index-size-of-PDF-and-PS-files"></span> -<span id="index-PDF-files_002c-size-of"></span> -<span id="index-PostScript-files_002c-size-of"></span> +<a class="index-entry-id" id="index-size-of-PDF-and-PS-files"></a> +<a class="index-entry-id" id="index-PDF-files_002c-size-of"></a> +<a class="index-entry-id" id="index-PostScript-files_002c-size-of"></a> <p>With LFS, there is no fixed limit on the size of PDF files created by -<samp>pdftex</samp> or PostScript files created by <samp>dvips</samp>. +<samp class="file">pdftex</samp> or PostScript files created by <samp class="file">dvips</samp>. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002ddisable_002dmissing"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002ddisable_002dmissing"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel" accesskey="n" rel="next"><code>--enable-compiler-warnings=</code><var>level</var></a>, Previous: <a href="#g_t_002d_002ddisable_002dlargefile" accesskey="p" rel="prev"><code>--disable-largefile</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel" accesskey="n" rel="next"><code class="code">--enable-compiler-warnings=</code><var class="var">level</var></a>, Previous: <a href="#g_t_002d_002ddisable_002dlargefile" accesskey="p" rel="prev"><code class="code">--disable-largefile</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002ddisable_002dmissing-1"></span><h4 class="subsection">7.1.4 <code>--disable-missing</code></h4> +<h4 class="subsection" id="g_t_002d_002ddisable_002dmissing-1">7.1.4 <code class="code">--disable-missing</code></h4> -<span id="index-_002d_002ddisable_002dmissing"></span> +<a class="index-entry-id" id="index-_002d_002ddisable_002dmissing"></a> <p>Immediately terminate the build process if a requested program or feature must be disabled, e.g., due to missing libraries. This can help when figuring out a specific (sub)set of modules to enable. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002denable_002dcxx_002druntime_002dhack" accesskey="n" rel="next"><code>--enable-cxx-runtime-hack</code></a>, Previous: <a href="#g_t_002d_002ddisable_002dmissing" accesskey="p" rel="prev"><code>--disable-missing</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002denable_002dcxx_002druntime_002dhack" accesskey="n" rel="next"><code class="code">--enable-cxx-runtime-hack</code></a>, Previous: <a href="#g_t_002d_002ddisable_002dmissing" accesskey="p" rel="prev"><code class="code">--disable-missing</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel-1"></span><h4 class="subsection">7.1.5 <code>--enable-compiler-warnings=</code><var>level</var></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel-1">7.1.5 <code class="code">--enable-compiler-warnings=</code><var class="var">level</var></h4> -<span id="index-_002d_002denable_002dcompiler_002dwarnings_003dlevel"></span> +<a class="index-entry-id" id="index-_002d_002denable_002dcompiler_002dwarnings_003dlevel"></a> <p>Enable various levels of compiler warnings for C, C++, and/or -Objective C: the <var>level</var> value can be one of: <code>no min -yes max all</code>. The default is <code>yes</code> in <code>maintainer-mode</code> -(see below) and <code>min</code> otherwise. This option defines the -variables <code>WARNING_[OBJ]C[XX]FLAGS</code>, but these variables are not +Objective C: the <var class="var">level</var> value can be one of: <code class="code">no min +yes max all</code>. The default is <code class="code">yes</code> in <code class="code">maintainer-mode</code> +(see below) and <code class="code">min</code> otherwise. This option defines the +variables <code class="code">WARNING_[OBJ]C[XX]FLAGS</code>, but these variables are not consistently used in all library and program modules. At present, these warning flags assume options from the GNU compilers. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002denable_002dcxx_002druntime_002dhack"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dcxx_002druntime_002dhack"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002denable_002dmaintainer_002dmode" accesskey="n" rel="next"><code>--enable-maintainer-mode</code></a>, Previous: <a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel" accesskey="p" rel="prev"><code>--enable-compiler-warnings=</code><var>level</var></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002denable_002dmaintainer_002dmode" accesskey="n" rel="next"><code class="code">--enable-maintainer-mode</code></a>, Previous: <a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel" accesskey="p" rel="prev"><code class="code">--enable-compiler-warnings=</code><var class="var">level</var></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dcxx_002druntime_002dhack-1"></span><h4 class="subsection">7.1.6 <code>--enable-cxx-runtime-hack</code></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dcxx_002druntime_002dhack-1">7.1.6 <code class="code">--enable-cxx-runtime-hack</code></h4> -<p>If enabled (as it is for the native TL build), when using <code>g++</code>, -try to statically link with <code>libstdc++</code>, thus improving -portability of the resulting binary. See <a href="#Macros-for-compilers">Macros for compilers</a>. +<p>If enabled (as it is for the native TL build), when using <code class="code">g++</code>, +try to statically link with <code class="code">libstdc++</code>, thus improving +portability of the resulting binary. See <a class="xref" href="#Macros-for-compilers">Macros for compilers</a>. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002denable_002dmaintainer_002dmode"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dmaintainer_002dmode"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002denable_002dmultiplatform" accesskey="n" rel="next"><code>--enable-multiplatform</code></a>, Previous: <a href="#g_t_002d_002denable_002dcxx_002druntime_002dhack" accesskey="p" rel="prev"><code>--enable-cxx-runtime-hack</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002denable_002dmultiplatform" accesskey="n" rel="next"><code class="code">--enable-multiplatform</code></a>, Previous: <a href="#g_t_002d_002denable_002dcxx_002druntime_002dhack" accesskey="p" rel="prev"><code class="code">--enable-cxx-runtime-hack</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dmaintainer_002dmode-1"></span><h4 class="subsection">7.1.7 <code>--enable-maintainer-mode</code></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dmaintainer_002dmode-1">7.1.7 <code class="code">--enable-maintainer-mode</code></h4> -<span id="index-_002d_002denable_002dmaintainer_002dmode-1"></span> -<p>Enable <samp>make</samp> rules and dependencies not useful (and sometimes +<a class="index-entry-id" id="index-_002d_002denable_002dmaintainer_002dmode-1"></a> +<p>Enable <samp class="file">make</samp> rules and dependencies not useful (and sometimes confusing) to the casual user. This requires current versions of the -GNU build tools (see <a href="#Build-system-tools">Build system tools</a>), as it automatically -rebuilds infrastructure files as needed. See <a data-manual="automake" href="https://www.gnu.org/software/automake/manual/automake.html#maintainer_002dmode"><code>missing</code> and <code>AM_MAINTAINER_MODE</code></a> in <cite>GNU Automake</cite>. +GNU build tools (see <a class="pxref" href="#Build-system-tools">Build system tools</a>), as it automatically +rebuilds infrastructure files as needed. See <a data-manual="automake" href="https://www.gnu.org/software/automake/manual/automake.html#maintainer_002dmode"><code class="code">missing</code> and <code class="code">AM_MAINTAINER_MODE</code></a> in <cite class="cite">GNU Automake</cite>. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002denable_002dmultiplatform"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dmultiplatform"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002denable_002dshared" accesskey="n" rel="next"><code>--enable-shared</code></a>, Previous: <a href="#g_t_002d_002denable_002dmaintainer_002dmode" accesskey="p" rel="prev"><code>--enable-maintainer-mode</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002denable_002dshared" accesskey="n" rel="next"><code class="code">--enable-shared</code></a>, Previous: <a href="#g_t_002d_002denable_002dmaintainer_002dmode" accesskey="p" rel="prev"><code class="code">--enable-maintainer-mode</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dmultiplatform-1"></span><h4 class="subsection">7.1.8 <code>--enable-multiplatform</code></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dmultiplatform-1">7.1.8 <code class="code">--enable-multiplatform</code></h4> -<span id="index-_002d_002denable_002dmultiplatform"></span> -<span id="index-exec_005fprefix"></span> -<span id="index-_002d_002dbindir-configure-option-1"></span> -<span id="index-_002d_002dlibdir-configure-option"></span> +<a class="index-entry-id" id="index-_002d_002denable_002dmultiplatform"></a> +<a class="index-entry-id" id="index-exec_005fprefix"></a> +<a class="index-entry-id" id="index-_002d_002dbindir-configure-option-1"></a> +<a class="index-entry-id" id="index-_002d_002dlibdir-configure-option"></a> <p>If enabled (as it is for the native TL build) and -<code>--bindir=<var>dir</var></code> or <code>--libdir=<var>dir</var></code> are not +<code class="code">--bindir=<var class="var">dir</var></code> or <code class="code">--libdir=<var class="var">dir</var></code> are not specified, install executables and libraries in per-platform -subdirectories of <samp><var>eprefix</var>/bin</samp> and -<samp><var>eprefix</var>/lib</samp> where <var>eprefix</var> is the value given or -implied for <code>exec_prefix</code>. In any case, the values for -<code>bindir</code> and <code>libdir</code> are automatically propagated to all +subdirectories of <samp class="file"><var class="var">eprefix</var>/bin</samp> and +<samp class="file"><var class="var">eprefix</var>/lib</samp> where <var class="var">eprefix</var> is the value given or +implied for <code class="code">exec_prefix</code>. In any case, the values for +<code class="code">bindir</code> and <code class="code">libdir</code> are automatically propagated to all subdirectories. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002denable_002dshared"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dshared"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002denable_002dsilent_002drules" accesskey="n" rel="next"><code>--enable-silent-rules</code></a>, Previous: <a href="#g_t_002d_002denable_002dmultiplatform" accesskey="p" rel="prev"><code>--enable-multiplatform</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002denable_002dsilent_002drules" accesskey="n" rel="next"><code class="code">--enable-silent-rules</code></a>, Previous: <a href="#g_t_002d_002denable_002dmultiplatform" accesskey="p" rel="prev"><code class="code">--enable-multiplatform</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dshared-1"></span><h4 class="subsection">7.1.9 <code>--enable-shared</code></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dshared-1">7.1.9 <code class="code">--enable-shared</code></h4> -<span id="index-_002d_002denable_002dshared"></span> +<a class="index-entry-id" id="index-_002d_002denable_002dshared"></a> <p>Build shared versions of the TeX-specific libraries such as -<samp>libkpathsea</samp>. This is not allowed for a native TL build (i.e., -<code>--disable-native-texlive-build</code> must also be specified). +<samp class="file">libkpathsea</samp>. This is not allowed for a native TL build (i.e., +<code class="code">--disable-native-texlive-build</code> must also be specified). </p> <hr> </div> -<div class="subsection" id="g_t_002d_002denable_002dsilent_002drules"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dsilent_002drules"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002dwithout_002dln_002ds" accesskey="n" rel="next"><code>--without-ln-s</code></a>, Previous: <a href="#g_t_002d_002denable_002dshared" accesskey="p" rel="prev"><code>--enable-shared</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002dwithout_002dln_002ds" accesskey="n" rel="next"><code class="code">--without-ln-s</code></a>, Previous: <a href="#g_t_002d_002denable_002dshared" accesskey="p" rel="prev"><code class="code">--enable-shared</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dsilent_002drules-1"></span><h4 class="subsection">7.1.10 <code>--enable-silent-rules</code></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dsilent_002drules-1">7.1.10 <code class="code">--enable-silent-rules</code></h4> -<span id="index-_002d_002denable_002dsilent_002drules"></span> -<span id="index-make-rules_002c-verbose-vs_002e-silent"></span> +<a class="index-entry-id" id="index-_002d_002denable_002dsilent_002drules"></a> +<a class="index-entry-id" id="index-make-rules_002c-verbose-vs_002e-silent"></a> <p>Enable the use of less verbose build rules. When using GNU -<code>make</code> (or any <code>make</code> implementation supporting nested -variable expansions), you can specify <code>V=1</code> on the <code>make</code> -command line to get more verbosity, or <code>V=0</code> to get less, +<code class="code">make</code> (or any <code class="code">make</code> implementation supporting nested +variable expansions), you can specify <code class="code">V=1</code> on the <code class="code">make</code> +command line to get more verbosity, or <code class="code">V=0</code> to get less, regardless of this option. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002dwithout_002dln_002ds"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002dwithout_002dln_002ds"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002dwithout_002dx" accesskey="n" rel="next"><code>--without-x</code></a>, Previous: <a href="#g_t_002d_002denable_002dsilent_002drules" accesskey="p" rel="prev"><code>--enable-silent-rules</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002dwithout_002dx" accesskey="n" rel="next"><code class="code">--without-x</code></a>, Previous: <a href="#g_t_002d_002denable_002dsilent_002drules" accesskey="p" rel="prev"><code class="code">--enable-silent-rules</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002dwithout_002dln_002ds-1"></span><h4 class="subsection">7.1.11 <code>--without-ln-s</code></h4> +<h4 class="subsection" id="g_t_002d_002dwithout_002dln_002ds-1">7.1.11 <code class="code">--without-ln-s</code></h4> -<span id="index-_002d_002dwithout_002dln_002ds"></span> -<p>Required when using a system without a working <code>ln -s</code> to build -binaries for a Unix-like system. However, <code>make install</code> will +<a class="index-entry-id" id="index-_002d_002dwithout_002dln_002ds"></a> +<p>Required when using a system without a working <code class="code">ln -s</code> to build +binaries for a Unix-like system. However, <code class="code">make install</code> will not create anything useful, and might fail. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002dwithout_002dx"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002dwithout_002dx"> +<div class="nav-panel"> <p> -Previous: <a href="#g_t_002d_002dwithout_002dln_002ds" accesskey="p" rel="prev"><code>--without-ln-s</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#g_t_002d_002dwithout_002dln_002ds" accesskey="p" rel="prev"><code class="code">--without-ln-s</code></a>, Up: <a href="#Global-configure-options" accesskey="u" rel="up">Global configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002dwithout_002dx-1"></span><h4 class="subsection">7.1.12 <code>--without-x</code></h4> +<h4 class="subsection" id="g_t_002d_002dwithout_002dx-1">7.1.12 <code class="code">--without-x</code></h4> -<span id="index-_002d_002dwithout_002dx"></span> +<a class="index-entry-id" id="index-_002d_002dwithout_002dx"></a> <p>Disable all programs using the X Window System. </p> <hr> </div> </div> -<div class="section" id="Program_002dspecific-configure-options"> -<div class="header"> +<div class="section-level-extent" id="Program_002dspecific-configure-options"> +<div class="nav-panel"> <p> Next: <a href="#Library_002dspecific-configure-options" accesskey="n" rel="next">Library-specific configure options</a>, Previous: <a href="#Global-configure-options" accesskey="p" rel="prev">Global configure options</a>, Up: <a href="#Configure-options" accesskey="u" rel="up">Configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Program_002dspecific-configure-options-1"></span><h3 class="section">7.2 Program-specific configure options</h3> +<h3 class="section" id="Program_002dspecific-configure-options-1">7.2 Program-specific configure options</h3> -<span id="index-program_002dspecific-configure-options"></span> -<span id="index-configure-options_002c-program_002dspecific"></span> -<p>Here are (some of) the program-specific <code>configure</code> options. +<a class="index-entry-id" id="index-program_002dspecific-configure-options"></a> +<a class="index-entry-id" id="index-configure-options_002c-program_002dspecific"></a> +<p>Here are (some of) the program-specific <code class="code">configure</code> options. </p> -<ul class="section-toc"> -<li><a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog" accesskey="1"><code>--enable-<var>prog</var></code>, <code>--disable-<var>prog</var></code></a></li> -<li><a href="#g_t_002d_002ddisable_002dall_002dpkgs" accesskey="2"><code>--disable-all-pkgs</code></a></li> -<li><a href="#Configure-options-for-texk_002fweb2c" accesskey="3">Configure options for <samp>texk/web2c</samp></a></li> -<li><a href="#Configure-options-for-texk_002fbibtex_002dx" accesskey="4">Configure options for <samp>texk/bibtex-x</samp></a></li> -<li><a href="#Configure-options-for-texk_002fdvipdfm_002dx" accesskey="5">Configure options for <samp>texk/dvipdfm-x</samp></a></li> -<li><a href="#Configure-options-for-texk_002fdvisvgm" accesskey="6">Configure options for <samp>texk/dvisvgm</samp></a></li> -<li><a href="#Configure-options-for-texk_002ftexlive" accesskey="7">Configure options for <samp>texk/texlive</samp></a></li> -<li><a href="#Configure-options-for-texk_002fxdvik" accesskey="8">Configure options for <samp>texk/xdvik</samp></a></li> -<li><a href="#Configure-options-for-utils_002fxindy" accesskey="9">Configure options for <samp>utils/xindy</samp></a></li> +<ul class="mini-toc"> +<li><a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog" accesskey="1"><code class="code">--enable-<var class="var">prog</var></code>, <code class="code">--disable-<var class="var">prog</var></code></a></li> +<li><a href="#g_t_002d_002ddisable_002dall_002dpkgs" accesskey="2"><code class="code">--disable-all-pkgs</code></a></li> +<li><a href="#Configure-options-for-texk_002fweb2c" accesskey="3">Configure options for <samp class="file">texk/web2c</samp></a></li> +<li><a href="#Configure-options-for-texk_002fbibtex_002dx" accesskey="4">Configure options for <samp class="file">texk/bibtex-x</samp></a></li> +<li><a href="#Configure-options-for-texk_002fdvipdfm_002dx" accesskey="5">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></li> +<li><a href="#Configure-options-for-texk_002fdvisvgm" accesskey="6">Configure options for <samp class="file">texk/dvisvgm</samp></a></li> +<li><a href="#Configure-options-for-texk_002ftexlive" accesskey="7">Configure options for <samp class="file">texk/texlive</samp></a></li> +<li><a href="#Configure-options-for-texk_002fxdvik" accesskey="8">Configure options for <samp class="file">texk/xdvik</samp></a></li> +<li><a href="#Configure-options-for-utils_002fxindy" accesskey="9">Configure options for <samp class="file">utils/xindy</samp></a></li> </ul> <hr> -<div class="subsection" id="g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_002d_002ddisable_002dall_002dpkgs" accesskey="n" rel="next"><code>--disable-all-pkgs</code></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_002d_002ddisable_002dall_002dpkgs" accesskey="n" rel="next"><code class="code">--disable-all-pkgs</code></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002denable_002dprog_002c-_002d_002ddisable_002dprog"></span><h4 class="subsection">7.2.1 <code>--enable-<var>prog</var></code>, <code>--disable-<var>prog</var></code></h4> +<h4 class="subsection" id="g_t_002d_002denable_002dprog_002c-_002d_002ddisable_002dprog">7.2.1 <code class="code">--enable-<var class="var">prog</var></code>, <code class="code">--disable-<var class="var">prog</var></code></h4> -<span id="index-_002d_002denable_002dprog"></span> -<span id="index-_002d_002ddisable_002dprog"></span> -<p>Do or do not build and install the program(s) of module <code><var>prog</var></code>. +<a class="index-entry-id" id="index-_002d_002denable_002dprog"></a> +<a class="index-entry-id" id="index-_002d_002ddisable_002dprog"></a> +<p>Do or do not build and install the program(s) of module <code class="code"><var class="var">prog</var></code>. </p> <hr> </div> -<div class="subsection" id="g_t_002d_002ddisable_002dall_002dpkgs"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_002d_002ddisable_002dall_002dpkgs"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-texk_002fweb2c" accesskey="n" rel="next">Configure options for <samp>texk/web2c</samp></a>, Previous: <a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog" accesskey="p" rel="prev"><code>--enable-<var>prog</var></code>, <code>--disable-<var>prog</var></code></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-texk_002fweb2c" accesskey="n" rel="next">Configure options for <samp class="file">texk/web2c</samp></a>, Previous: <a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog" accesskey="p" rel="prev"><code class="code">--enable-<var class="var">prog</var></code>, <code class="code">--disable-<var class="var">prog</var></code></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_002d_002ddisable_002dall_002dpkgs-1"></span><h4 class="subsection">7.2.2 <code>--disable-all-pkgs</code></h4> +<h4 class="subsection" id="g_t_002d_002ddisable_002dall_002dpkgs-1">7.2.2 <code class="code">--disable-all-pkgs</code></h4> -<span id="index-_002d_002ddisable_002dall_002dpkgs"></span> +<a class="index-entry-id" id="index-_002d_002ddisable_002dall_002dpkgs"></a> <p>Do not build any program modules by default—only those explicitly enabled. This is useful when one wants to work on only a single -program, which is specified with an additional <code>--enable</code> option, -e.g., <code>--enable-dvipdfm-x</code>. It’s still simplest to check out and +program, which is specified with an additional <code class="code">--enable</code> option, +e.g., <code class="code">--enable-dvipdfm-x</code>. It’s still simplest to check out and configure the whole source tree, but at least only the program you are -interested in, and its dependencies, are built. See <a href="#Build-one-package">Build one package</a>. +interested in, and its dependencies, are built. See <a class="xref" href="#Build-one-package">Build one package</a>. </p> <p>Without this option, all modules are built except those that are -explicitly disabled or specify <code>disable</code> in their -<samp>ac/withenable.ac</samp> fragment. +explicitly disabled or specify <code class="code">disable</code> in their +<samp class="file">ac/withenable.ac</samp> fragment. </p> <hr> </div> -<div class="subsection" id="Configure-options-for-texk_002fweb2c"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-texk_002fweb2c"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-texk_002fbibtex_002dx" accesskey="n" rel="next">Configure options for <samp>texk/bibtex-x</samp></a>, Previous: <a href="#g_t_002d_002ddisable_002dall_002dpkgs" accesskey="p" rel="prev"><code>--disable-all-pkgs</code></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-texk_002fbibtex_002dx" accesskey="n" rel="next">Configure options for <samp class="file">texk/bibtex-x</samp></a>, Previous: <a href="#g_t_002d_002ddisable_002dall_002dpkgs" accesskey="p" rel="prev"><code class="code">--disable-all-pkgs</code></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-texk_002fweb2c-1"></span><h4 class="subsection">7.2.3 Configure options for <samp>texk/web2c</samp></h4> +<h4 class="subsection" id="Configure-options-for-texk_002fweb2c-1">7.2.3 Configure options for <samp class="file">texk/web2c</samp></h4> -<span id="index-configure-options_002c-for-web2c"></span> +<a class="index-entry-id" id="index-configure-options_002c-for-web2c"></a> -<span id="index-_002d_002dwith_002dbanner_002dadd_003dstr"></span> -<p><code>--with-banner-add=<var>str</var></code><br>Add <code><var>str</var></code> to the -default version string (which is ‘<code>TeX Live <var>year</var></code>’ or -‘<code>Web2C <var>year</var></code>’) appended to banner lines. This is ignored +<a class="index-entry-id" id="index-_002d_002dwith_002dbanner_002dadd_003dstr"></a> +<p><code class="code">--with-banner-add=<var class="var">str</var></code><br>Add <code class="code"><var class="var">str</var></code> to the +default version string (which is ‘<code class="code">TeX Live <var class="var">year</var></code>’ or +‘<code class="code">Web2C <var class="var">year</var></code>’) appended to banner lines. This is ignored for a native TL build, but distro builds should specify, e.g., -<code>/<var>SomeDistro</var></code>. +<code class="code">/<var class="var">SomeDistro</var></code>. </p> -<span id="index-_002d_002dwith_002deditor_003dcmd"></span> -<p><code>--with-editor=<var>cmd</var></code><br>Specify the command -<code><var>cmd</var></code> to invoke from the <code>e</code> option of TeX and friends, -replacing the default <code>vi +%d '%s'</code> for Unix or <code>texworks +<a class="index-entry-id" id="index-_002d_002dwith_002deditor_003dcmd"></a> +<p><code class="code">--with-editor=<var class="var">cmd</var></code><br>Specify the command +<code class="code"><var class="var">cmd</var></code> to invoke from the <code class="code">e</code> option of TeX and friends, +replacing the default <code class="code">vi +%d '%s'</code> for Unix or <code class="code">texworks --position=%d "%s"</code> for Windows. </p> -<span id="index-_002d_002dwith_002dfontconfig_002dincludes_003ddir"></span> -<span id="index-_002d_002dwith_002dfontconfig_002dlibdir_003ddir"></span> -<p><code>--with-fontconfig-includes=<var>dir</var></code>, -<code>--with-fontconfig-libdir=<var>dir</var></code><br>Building XeTeX on -non-Mac systems requires the <code>fontconfig</code> library headers and +<a class="index-entry-id" id="index-_002d_002dwith_002dfontconfig_002dincludes_003ddir"></a> +<a class="index-entry-id" id="index-_002d_002dwith_002dfontconfig_002dlibdir_003ddir"></a> +<p><code class="code">--with-fontconfig-includes=<var class="var">dir</var></code>, +<code class="code">--with-fontconfig-libdir=<var class="var">dir</var></code><br>Building XeTeX on +non-Mac systems requires the <code class="code">fontconfig</code> library headers and code. If one or both of these options are given, the required flags are derived from them; otherwise, they are determined via -<samp>pkg-config</samp> (if present). +<samp class="file">pkg-config</samp> (if present). </p> -<span id="index-X-toolkit"></span> -<span id="index-libXt"></span> -<span id="index-Xlib"></span> -<p><code>--with-mf-x-toolkit</code><br>Use the X toolkit (<samp>libXt</samp>) for -Metafont (the default is to use the lowest-level <samp>Xlib</samp> support; +<a class="index-entry-id" id="index-X-toolkit"></a> +<a class="index-entry-id" id="index-libXt"></a> +<a class="index-entry-id" id="index-Xlib"></a> +<p><code class="code">--with-mf-x-toolkit</code><br>Use the X toolkit (<samp class="file">libXt</samp>) for +Metafont (the default is to use the lowest-level <samp class="file">Xlib</samp> support; it seems this has the best chance of working across X installations nowadays). </p> -<span id="index-_002d_002ddisable_002ddump_002dshare"></span> -<span id="index-LittleEndian-architectures"></span> -<p><code>--disable-dump-share</code><br>Make the <code>fmt</code>/<code>base</code> +<a class="index-entry-id" id="index-_002d_002ddisable_002ddump_002dshare"></a> +<a class="index-entry-id" id="index-LittleEndian-architectures"></a> +<p><code class="code">--disable-dump-share</code><br>Make the <code class="code">fmt</code>/<code class="code">base</code> dump files architecture dependent (somewhat faster on LittleEndian architectures). </p> -<span id="index-_002d_002ddisable_002dipc"></span> -<span id="index-interprocess-communication"></span> -<p><code>--disable-ipc</code><br>Disable TeX’s <code>--ipc</code> option. +<a class="index-entry-id" id="index-_002d_002ddisable_002dipc"></a> +<a class="index-entry-id" id="index-interprocess-communication"></a> +<p><code class="code">--disable-ipc</code><br>Disable TeX’s <code class="code">--ipc</code> option. </p> -<span id="index-_002d_002ddisable_002dmf_002dnowin"></span> -<span id="index-mf_002dnowin"></span> -<p><code>--disable-mf-nowin</code><br>Do not build a separate -non-graphically-capable Metafont (<samp>mf-nowin</samp>). +<a class="index-entry-id" id="index-_002d_002ddisable_002dmf_002dnowin"></a> +<a class="index-entry-id" id="index-mf_002dnowin"></a> +<p><code class="code">--disable-mf-nowin</code><br>Do not build a separate +non-graphically-capable Metafont (<samp class="file">mf-nowin</samp>). </p> -<span id="index-_002d_002ddisable_002dtex"></span> -<span id="index-_002d_002denable_002detex"></span> -<span id="index-web2c_002eac"></span> -<p><code>--disable-tex</code>, <code>--enable-etex</code>, …<br>Do not or +<a class="index-entry-id" id="index-_002d_002ddisable_002dtex"></a> +<a class="index-entry-id" id="index-_002d_002denable_002detex"></a> +<a class="index-entry-id" id="index-web2c_002eac"></a> +<p><code class="code">--disable-tex</code>, <code class="code">--enable-etex</code>, …<br>Do not or do build the various TeX, Metafont, and MetaPost engines (defaults are -defined in the fragment <samp>texk/web2c/ac/web2c.ac</samp>). +defined in the fragment <samp class="file">texk/web2c/ac/web2c.ac</samp>). </p> -<span id="index-_002d_002ddisable_002dweb_002dprogs"></span> -<p><code>--disable-web-progs</code><br>Do not build the original WEB programs -<samp>bibtex</samp>, …, <samp>weave</samp>. Useful if, e.g., you only want +<a class="index-entry-id" id="index-_002d_002ddisable_002dweb_002dprogs"></a> +<p><code class="code">--disable-web-progs</code><br>Do not build the original WEB programs +<samp class="file">bibtex</samp>, …, <samp class="file">weave</samp>. Useful if, e.g., you only want to (re)build some engines. </p> -<span id="index-_002d_002denable_002dauto_002dcore"></span> -<span id="index-preloaded-binaries"></span> -<p><code>--enable-auto-core</code><br>This option causes TeX and Metafont +<a class="index-entry-id" id="index-_002d_002denable_002dauto_002dcore"></a> +<a class="index-entry-id" id="index-preloaded-binaries"></a> +<p><code class="code">--enable-auto-core</code><br>This option causes TeX and Metafont to produce a core dump when a particular hacky filename is encountered, for use in creating preloaded binaries. This is rarely done nowadays. </p> -<span id="index-_002d_002denable_002dlibtool_002dhack"></span> -<span id="index-libtool_002c-hack-for-avoiding-excessive-linking"></span> -<span id="index-libfontconfig_002c-hack-for-avoiding-linking-dependencies"></span> -<span id="index-libexpat_002c-dependency-of-libfontconfig"></span> -<p><code>--enable-libtool-hack</code><br> +<a class="index-entry-id" id="index-_002d_002denable_002dlibtool_002dhack"></a> +<a class="index-entry-id" id="index-libtool_002c-hack-for-avoiding-excessive-linking"></a> +<a class="index-entry-id" id="index-libfontconfig_002c-hack-for-avoiding-linking-dependencies"></a> +<a class="index-entry-id" id="index-libexpat_002c-dependency-of-libfontconfig"></a> +<p><code class="code">--enable-libtool-hack</code><br> If enabled (which is the default for all platforms), prevents -<code>libtool</code> from linking explicitly with dependencies of -<samp>libfontconfig</samp> such as <samp>libexpat</samp>. +<code class="code">libtool</code> from linking explicitly with dependencies of +<samp class="file">libfontconfig</samp> such as <samp class="file">libexpat</samp>. </p> -<span id="index-_002d_002denable_002d_002awin-for-Metafont-window-support"></span> -<p><code>--enable-*win</code><br>Include various types of non-X window -support for Metafont (EPSF output, <code>mftalk</code>, old graphics +<a class="index-entry-id" id="index-_002d_002denable_002d_002awin-for-Metafont-window-support"></a> +<p><code class="code">--enable-*win</code><br>Include various types of non-X window +support for Metafont (EPSF output, <code class="code">mftalk</code>, old graphics terminals, …). </p> -<span id="index-_002d_002denable_002dtex_002dsynctex"></span> -<span id="index-_002d_002ddisable_002detex_002dsynctex"></span> -<span id="index-synctex"></span> -<p><code>--enable-tex-synctex</code>, <code>--disable-etex-synctex</code>, -…<br>Build the TeX engines with or without <code>SyncTeX</code> +<a class="index-entry-id" id="index-_002d_002denable_002dtex_002dsynctex"></a> +<a class="index-entry-id" id="index-_002d_002ddisable_002detex_002dsynctex"></a> +<a class="index-entry-id" id="index-synctex"></a> +<p><code class="code">--enable-tex-synctex</code>, <code class="code">--disable-etex-synctex</code>, +…<br>Build the TeX engines with or without <code class="code">SyncTeX</code> support; ignored for a native TeX Live build. Defaults are defined in -<samp>texk/web2c/ac/web2c.ac</samp>. +<samp class="file">texk/web2c/ac/web2c.ac</samp>. </p> -<span id="index-_002d_002ddisable_002dsynctex"></span> -<span id="index-synctex-1"></span> -<p><code>--disable-synctex</code> -<br>Do not build the <code>SyncTeX</code> library and tool. +<a class="index-entry-id" id="index-_002d_002ddisable_002dsynctex"></a> +<a class="index-entry-id" id="index-synctex-1"></a> +<p><code class="code">--disable-synctex</code> +<br>Do not build the <code class="code">SyncTeX</code> library and tool. </p> <hr> </div> -<div class="subsection" id="Configure-options-for-texk_002fbibtex_002dx"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-texk_002fbibtex_002dx"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-texk_002fdvipdfm_002dx" accesskey="n" rel="next">Configure options for <samp>texk/dvipdfm-x</samp></a>, Previous: <a href="#Configure-options-for-texk_002fweb2c" accesskey="p" rel="prev">Configure options for <samp>texk/web2c</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-texk_002fdvipdfm_002dx" accesskey="n" rel="next">Configure options for <samp class="file">texk/dvipdfm-x</samp></a>, Previous: <a href="#Configure-options-for-texk_002fweb2c" accesskey="p" rel="prev">Configure options for <samp class="file">texk/web2c</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-texk_002fbibtex_002dx-1"></span><h4 class="subsection">7.2.4 Configure options for <samp>texk/bibtex-x</samp></h4> +<h4 class="subsection" id="Configure-options-for-texk_002fbibtex_002dx-1">7.2.4 Configure options for <samp class="file">texk/bibtex-x</samp></h4> -<span id="index-configure-options_002c-for-bibtex_002dx"></span> -<span id="index-bibtex8"></span> -<span id="index-bibtexu"></span> -<span id="index-bibtex_002dx"></span> -<p>The programs <code>bibtex8</code> and <code>bibtexu</code> have been merged into the -module <code>bibtex-x</code> (extended BibTeX). +<a class="index-entry-id" id="index-configure-options_002c-for-bibtex_002dx"></a> +<a class="index-entry-id" id="index-bibtex8"></a> +<a class="index-entry-id" id="index-bibtexu"></a> +<a class="index-entry-id" id="index-bibtex_002dx"></a> +<p>The programs <code class="code">bibtex8</code> and <code class="code">bibtexu</code> have been merged into the +module <code class="code">bibtex-x</code> (extended BibTeX). </p> -<span id="index-_002d_002ddisable_002dbibtex8"></span> -<p><code>--disable-bibtex8</code><br>Do not build the <samp>bibtex8</samp> program. +<a class="index-entry-id" id="index-_002d_002ddisable_002dbibtex8"></a> +<p><code class="code">--disable-bibtex8</code><br>Do not build the <samp class="file">bibtex8</samp> program. </p> -<span id="index-_002d_002ddisable_002dbibtexu"></span> -<p><code>--disable-bibtexu</code><br>Do not build the <samp>bibtexu</samp> program -(building <samp>bibtexu</samp> requires <code>ICU</code> libraries). +<a class="index-entry-id" id="index-_002d_002ddisable_002dbibtexu"></a> +<p><code class="code">--disable-bibtexu</code><br>Do not build the <samp class="file">bibtexu</samp> program +(building <samp class="file">bibtexu</samp> requires <code class="code">ICU</code> libraries). </p> <hr> </div> -<div class="subsection" id="Configure-options-for-texk_002fdvipdfm_002dx"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-texk_002fdvipdfm_002dx"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-texk_002fdvisvgm" accesskey="n" rel="next">Configure options for <samp>texk/dvisvgm</samp></a>, Previous: <a href="#Configure-options-for-texk_002fbibtex_002dx" accesskey="p" rel="prev">Configure options for <samp>texk/bibtex-x</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-texk_002fdvisvgm" accesskey="n" rel="next">Configure options for <samp class="file">texk/dvisvgm</samp></a>, Previous: <a href="#Configure-options-for-texk_002fbibtex_002dx" accesskey="p" rel="prev">Configure options for <samp class="file">texk/bibtex-x</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-texk_002fdvipdfm_002dx-1"></span><h4 class="subsection">7.2.5 Configure options for <samp>texk/dvipdfm-x</samp></h4> +<h4 class="subsection" id="Configure-options-for-texk_002fdvipdfm_002dx-1">7.2.5 Configure options for <samp class="file">texk/dvipdfm-x</samp></h4> -<span id="index-configure-options_002c-for-dvipdfm_002dx"></span> -<span id="index-dvipdfm_002dx"></span> -<span id="index-dvipdfmx"></span> -<span id="index-xdvipdfmx"></span> +<a class="index-entry-id" id="index-configure-options_002c-for-dvipdfm_002dx"></a> +<a class="index-entry-id" id="index-dvipdfm_002dx"></a> +<a class="index-entry-id" id="index-dvipdfmx"></a> +<a class="index-entry-id" id="index-xdvipdfmx"></a> -<p>The former modules <code>dvipdfmx</code> (extended DVI to PDF converter) and -<code>xdvipdfmx</code> (the same, as used by XeTeX) have been merged into -<code>dvipdfm-x</code> at the source level. Two separate binaries are still -created by default. In addition, <samp>dvipdfm</samp> is created as a -symlink to <samp>dvipdfmx</samp>, with backward-compatible (very slightly +<p>The former modules <code class="code">dvipdfmx</code> (extended DVI to PDF converter) and +<code class="code">xdvipdfmx</code> (the same, as used by XeTeX) have been merged into +<code class="code">dvipdfm-x</code> at the source level. Two separate binaries are still +created by default. In addition, <samp class="file">dvipdfm</samp> is created as a +symlink to <samp class="file">dvipdfmx</samp>, with backward-compatible (very slightly different) behavior. </p> -<span id="index-_002d_002ddisable_002ddvipdfmx"></span> -<p><code>--disable-dvipdfmx</code><br>Do not build the <samp>dvipdfmx</samp> -program or make the <samp>dvipdfm</samp> symlink. +<a class="index-entry-id" id="index-_002d_002ddisable_002ddvipdfmx"></a> +<p><code class="code">--disable-dvipdfmx</code><br>Do not build the <samp class="file">dvipdfmx</samp> +program or make the <samp class="file">dvipdfm</samp> symlink. </p> -<span id="index-_002d_002ddisable_002dxdvipdfmx"></span> -<p><code>--disable-xdvipdfmx</code><br>Do not build the <samp>xdvipdfmx</samp> +<a class="index-entry-id" id="index-_002d_002ddisable_002dxdvipdfmx"></a> +<p><code class="code">--disable-xdvipdfmx</code><br>Do not build the <samp class="file">xdvipdfmx</samp> program. </p> <hr> </div> -<div class="subsection" id="Configure-options-for-texk_002fdvisvgm"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-texk_002fdvisvgm"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-texk_002ftexlive" accesskey="n" rel="next">Configure options for <samp>texk/texlive</samp></a>, Previous: <a href="#Configure-options-for-texk_002fdvipdfm_002dx" accesskey="p" rel="prev">Configure options for <samp>texk/dvipdfm-x</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-texk_002ftexlive" accesskey="n" rel="next">Configure options for <samp class="file">texk/texlive</samp></a>, Previous: <a href="#Configure-options-for-texk_002fdvipdfm_002dx" accesskey="p" rel="prev">Configure options for <samp class="file">texk/dvipdfm-x</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-texk_002fdvisvgm-1"></span><h4 class="subsection">7.2.6 Configure options for <samp>texk/dvisvgm</samp></h4> +<h4 class="subsection" id="Configure-options-for-texk_002fdvisvgm-1">7.2.6 Configure options for <samp class="file">texk/dvisvgm</samp></h4> -<span id="index-configure-options_002c-for-dvisvgm"></span> -<span id="index-dvisvgm"></span> +<a class="index-entry-id" id="index-configure-options_002c-for-dvisvgm"></a> +<a class="index-entry-id" id="index-dvisvgm"></a> -<span id="index-_002d_002dwith_002dsystem_002dlibgs"></span> -<p><code>--with-system-libgs</code><br>Build <samp>dvisvgm</samp> using installed -Ghostscript (<code>gs</code>) headers and library (not allowed for a native -TL build). The default is to load the <code>gs</code> library at runtime if +<a class="index-entry-id" id="index-_002d_002dwith_002dsystem_002dlibgs"></a> +<p><code class="code">--with-system-libgs</code><br>Build <samp class="file">dvisvgm</samp> using installed +Ghostscript (<code class="code">gs</code>) headers and library (not allowed for a native +TL build). The default is to load the <code class="code">gs</code> library at runtime if possible, else to disable support for PostScript specials. </p> -<span id="index-_002d_002dwithout_002dlibgs"></span> -<p><code>--without-libgs</code><br>Build <samp>dvisvgm</samp> without PostScript +<a class="index-entry-id" id="index-_002d_002dwithout_002dlibgs"></a> +<p><code class="code">--without-libgs</code><br>Build <samp class="file">dvisvgm</samp> without PostScript support at all. Because the dynamic loading just mentioned defeats all attempts at static linking, the result can crash due to library incompatibilities, e.g., on CentOS 5. </p> -<span id="index-_002d_002dwith_002dlibgs_002dincludes_002c-_002dlibdir"></span> -<p><code>--with-libgs-includes=<var>dir</var></code>, -<code>--with-libgs-libdir=<var>dir</var></code><br>Specify non-standard locations +<a class="index-entry-id" id="index-_002d_002dwith_002dlibgs_002dincludes_002c-_002dlibdir"></a> +<p><code class="code">--with-libgs-includes=<var class="var">dir</var></code>, +<code class="code">--with-libgs-libdir=<var class="var">dir</var></code><br>Specify non-standard locations of the Ghostscript headers and library. </p> <hr> </div> -<div class="subsection" id="Configure-options-for-texk_002ftexlive"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-texk_002ftexlive"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-texk_002fxdvik" accesskey="n" rel="next">Configure options for <samp>texk/xdvik</samp></a>, Previous: <a href="#Configure-options-for-texk_002fdvisvgm" accesskey="p" rel="prev">Configure options for <samp>texk/dvisvgm</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-texk_002fxdvik" accesskey="n" rel="next">Configure options for <samp class="file">texk/xdvik</samp></a>, Previous: <a href="#Configure-options-for-texk_002fdvisvgm" accesskey="p" rel="prev">Configure options for <samp class="file">texk/dvisvgm</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-texk_002ftexlive-1"></span><h4 class="subsection">7.2.7 Configure options for <samp>texk/texlive</samp></h4> +<h4 class="subsection" id="Configure-options-for-texk_002ftexlive-1">7.2.7 Configure options for <samp class="file">texk/texlive</samp></h4> -<span id="index-configure-options_002c-for-texk_002ftexlive"></span> -<span id="index-_002d_002ddisable_002dlinked_002dscripts"></span> -<p><code>--disable-linked-scripts</code><br>Do not install the “linked -scripts” (see <a href="#Linked-scripts">Linked scripts</a>), except for the TL scripts required -to run <code>texlinks</code>. +<a class="index-entry-id" id="index-configure-options_002c-for-texk_002ftexlive"></a> +<a class="index-entry-id" id="index-_002d_002ddisable_002dlinked_002dscripts"></a> +<p><code class="code">--disable-linked-scripts</code><br>Do not install the “linked +scripts” (see <a class="pxref" href="#Linked-scripts">Linked scripts</a>), except for the TL scripts required +to run <code class="code">texlinks</code>. </p> <hr> </div> -<div class="subsection" id="Configure-options-for-texk_002fxdvik"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-texk_002fxdvik"> +<div class="nav-panel"> <p> -Next: <a href="#Configure-options-for-utils_002fxindy" accesskey="n" rel="next">Configure options for <samp>utils/xindy</samp></a>, Previous: <a href="#Configure-options-for-texk_002ftexlive" accesskey="p" rel="prev">Configure options for <samp>texk/texlive</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Configure-options-for-utils_002fxindy" accesskey="n" rel="next">Configure options for <samp class="file">utils/xindy</samp></a>, Previous: <a href="#Configure-options-for-texk_002ftexlive" accesskey="p" rel="prev">Configure options for <samp class="file">texk/texlive</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-texk_002fxdvik-1"></span><h4 class="subsection">7.2.8 Configure options for <samp>texk/xdvik</samp></h4> +<h4 class="subsection" id="Configure-options-for-texk_002fxdvik-1">7.2.8 Configure options for <samp class="file">texk/xdvik</samp></h4> -<span id="index-configure-options_002c-for-xdvik"></span> -<span id="index-xdvik-1"></span> +<a class="index-entry-id" id="index-configure-options_002c-for-xdvik"></a> +<a class="index-entry-id" id="index-xdvik-1"></a> -<span id="index-_002d_002dwith_002dgs_003dfilename"></span> -<span id="index-Ghostscript-location-for-Xdvik"></span> -<p><code>--with-gs=<var>filename</var></code><br>Hardwire the location of Ghostscript -(<samp>gs</samp>) as called by Xdvik. +<a class="index-entry-id" id="index-_002d_002dwith_002dgs_003dfilename"></a> +<a class="index-entry-id" id="index-Ghostscript-location-for-Xdvik"></a> +<p><code class="code">--with-gs=<var class="var">filename</var></code><br>Hardwire the location of Ghostscript +(<samp class="file">gs</samp>) as called by Xdvik. </p> -<span id="index-_002d_002dwith_002dxdvi_002dx_002dtoolkit_003dkit"></span> -<span id="index-motif"></span> -<span id="index-xaw"></span> -<p><code>--with-xdvi-x-toolkit=<var>kit</var></code><br>Use toolkit -<code><var>kit</var></code> for <samp>xdvik</samp>, one of: <code>motif xaw xaw3d -neXtaw</code>. The default is <code>motif</code> if available, else <code>xaw</code>. +<a class="index-entry-id" id="index-_002d_002dwith_002dxdvi_002dx_002dtoolkit_003dkit"></a> +<a class="index-entry-id" id="index-motif"></a> +<a class="index-entry-id" id="index-xaw"></a> +<p><code class="code">--with-xdvi-x-toolkit=<var class="var">kit</var></code><br>Use toolkit +<code class="code"><var class="var">kit</var></code> for <samp class="file">xdvik</samp>, one of: <code class="code">motif xaw xaw3d +neXtaw</code>. The default is <code class="code">motif</code> if available, else <code class="code">xaw</code>. </p> -<span id="index-_002d_002denable_002dxi2_002dscrolling"></span> -<span id="index-XInput"></span> -<span id="index-scrolling_002c-smooth"></span> -<p><code>--enable-xi2-scrolling</code><br>Use XInput 2.1 “smooth scrolling” +<a class="index-entry-id" id="index-_002d_002denable_002dxi2_002dscrolling"></a> +<a class="index-entry-id" id="index-XInput"></a> +<a class="index-entry-id" id="index-scrolling_002c-smooth"></a> +<p><code class="code">--enable-xi2-scrolling</code><br>Use XInput 2.1 “smooth scrolling” if available (default: yes, except for a native TL build). </p> <hr> </div> -<div class="subsection" id="Configure-options-for-utils_002fxindy"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-utils_002fxindy"> +<div class="nav-panel"> <p> -Previous: <a href="#Configure-options-for-texk_002fxdvik" accesskey="p" rel="prev">Configure options for <samp>texk/xdvik</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#Configure-options-for-texk_002fxdvik" accesskey="p" rel="prev">Configure options for <samp class="file">texk/xdvik</samp></a>, Up: <a href="#Program_002dspecific-configure-options" accesskey="u" rel="up">Program-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-utils_002fxindy-1"></span><h4 class="subsection">7.2.9 Configure options for <samp>utils/xindy</samp></h4> +<h4 class="subsection" id="Configure-options-for-utils_002fxindy-1">7.2.9 Configure options for <samp class="file">utils/xindy</samp></h4> -<span id="index-configure-options_002c-for-xindy"></span> -<span id="index-xindy-2"></span> +<a class="index-entry-id" id="index-configure-options_002c-for-xindy"></a> +<a class="index-entry-id" id="index-xindy-2"></a> -<span id="index-_002d_002denable_002dxindy_002drules"></span> -<p><code>--enable-xindy-rules</code><br>Build and install <code>xindy</code> rules +<a class="index-entry-id" id="index-_002d_002denable_002dxindy_002drules"></a> +<p><code class="code">--enable-xindy-rules</code><br>Build and install <code class="code">xindy</code> rules (default: yes, except for a native TL build). </p> -<span id="index-_002d_002denable_002dxindy_002ddocs"></span> -<p><code>--enable-xindy-docs</code><br>Build and install <code>xindy</code> +<a class="index-entry-id" id="index-_002d_002denable_002dxindy_002ddocs"></a> +<p><code class="code">--enable-xindy-docs</code><br>Build and install <code class="code">xindy</code> documentation (default: yes, except for a native TL build). </p> -<span id="index-_002d_002dwith_002dclisp_002druntime_003dfilename"></span> -<span id="index-lisp_002erun_002c-lisp_002eexe"></span> -<span id="index-CLISP"></span> -<p><code>--with-clisp-runtime=<var>filename</var></code><br>Specifies the -full path for the Clisp runtime file (<samp>lisp.run</samp> or -<samp>lisp.exe</samp>) to be installed. When specified as <code>default</code> +<a class="index-entry-id" id="index-_002d_002dwith_002dclisp_002druntime_003dfilename"></a> +<a class="index-entry-id" id="index-lisp_002erun_002c-lisp_002eexe"></a> +<a class="index-entry-id" id="index-CLISP"></a> +<p><code class="code">--with-clisp-runtime=<var class="var">filename</var></code><br>Specifies the +full path for the Clisp runtime file (<samp class="file">lisp.run</samp> or +<samp class="file">lisp.exe</samp>) to be installed. When specified as <code class="code">default</code> (the default for a native TL build) the path is determined by the -Clisp executable; the value <code>system</code> (not allowed for a native TL -build, but the default otherwise) indicates that <samp>xindy</samp> will use -the installed version of <samp>clisp</samp> (which must be identical to the -one used to build <samp>xindy</samp>). +Clisp executable; the value <code class="code">system</code> (not allowed for a native TL +build, but the default otherwise) indicates that <samp class="file">xindy</samp> will use +the installed version of <samp class="file">clisp</samp> (which must be identical to the +one used to build <samp class="file">xindy</samp>). </p> <hr> </div> </div> -<div class="section" id="Library_002dspecific-configure-options"> -<div class="header"> +<div class="section-level-extent" id="Library_002dspecific-configure-options"> +<div class="nav-panel"> <p> Next: <a href="#Variables-for-configure" accesskey="n" rel="next">Variables for configure</a>, Previous: <a href="#Program_002dspecific-configure-options" accesskey="p" rel="prev">Program-specific configure options</a>, Up: <a href="#Configure-options" accesskey="u" rel="up">Configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Library_002dspecific-configure-options-1"></span><h3 class="section">7.3 Library-specific configure options</h3> +<h3 class="section" id="Library_002dspecific-configure-options-1">7.3 Library-specific configure options</h3> -<span id="index-library_002dspecific-configure-options"></span> -<span id="index-configure-options_002c-library_002dspecific"></span> -<p>Here are (some of) the library-specific <code>configure</code> options, +<a class="index-entry-id" id="index-library_002dspecific-configure-options"></a> +<a class="index-entry-id" id="index-configure-options_002c-library_002dspecific"></a> +<p>Here are (some of) the library-specific <code class="code">configure</code> options, starting with this generic one: </p> -<span id="index-_002d_002dwith_002dsystem_002dlib-1"></span> -<p><code>--with-system-<var>lib</var></code> +<a class="index-entry-id" id="index-_002d_002dwith_002dsystem_002dlib-1"></a> +<p><code class="code">--with-system-<var class="var">lib</var></code> </p> -<p>Use an installed (system) version of the library <code><var>lib</var></code>; +<p>Use an installed (system) version of the library <code class="code"><var class="var">lib</var></code>; this option exists for most libraries, but is not allowed for a native TL build. Using a system version implies also using the system -versions of all libraries that <var>lib</var> depends on. +versions of all libraries that <var class="var">lib</var> depends on. </p> -<span id="index-_002d_002dwith_002dlib_002dincludes_003ddir_002c-_002dlibdir"></span> -<p>For many libraries <code>--with-<var>lib</var>-includes=<var>dir</var></code> and -<code>--with-<var>lib</var>-libdir=<var>dir</var></code> can specify non-standard -search locations; others use <samp>pkg-config</samp> or similar to determine +<a class="index-entry-id" id="index-_002d_002dwith_002dlib_002dincludes_003ddir_002c-_002dlibdir"></a> +<p>For many libraries <code class="code">--with-<var class="var">lib</var>-includes=<var class="var">dir</var></code> and +<code class="code">--with-<var class="var">lib</var>-libdir=<var class="var">dir</var></code> can specify non-standard +search locations; others use <samp class="file">pkg-config</samp> or similar to determine the required flags. </p> -<p>The top-level <samp>configure</samp> script performs a consistency check for all +<p>The top-level <samp class="file">configure</samp> script performs a consistency check for all required system libraries and bails out if tests fail. </p> -<ul class="section-toc"> -<li><a href="#Configure-options-for-kpathsea" accesskey="1">Configure options for <code>kpathsea</code></a></li> +<ul class="mini-toc"> +<li><a href="#Configure-options-for-kpathsea" accesskey="1">Configure options for <code class="code">kpathsea</code></a></li> </ul> <hr> -<div class="subsection" id="Configure-options-for-kpathsea"> -<div class="header"> +<div class="subsection-level-extent" id="Configure-options-for-kpathsea"> +<div class="nav-panel"> <p> Up: <a href="#Library_002dspecific-configure-options" accesskey="u" rel="up">Library-specific configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configure-options-for-kpathsea-1"></span><h4 class="subsection">7.3.1 Configure options for <code>kpathsea</code></h4> +<h4 class="subsection" id="Configure-options-for-kpathsea-1">7.3.1 Configure options for <code class="code">kpathsea</code></h4> -<span id="index-configure-options_002c-for-kpathsea"></span> +<a class="index-entry-id" id="index-configure-options_002c-for-kpathsea"></a> -<p><code>--enable-<var>cmd</var>-default</code>, -<code>--disable-<var>cmd</var>-default</code><br>Determine the compile time default -for whether or not to run <var>cmd</var>, which is one of: -</p><dl compact="compact"> -<dt><span><code>mkocp</code></span></dt> +<p><code class="code">--enable-<var class="var">cmd</var>-default</code>, +<code class="code">--disable-<var class="var">cmd</var>-default</code><br>Determine the compile time default +for whether or not to run <var class="var">cmd</var>, which is one of: +</p><dl class="table"> +<dt><code class="code">mkocp</code></dt> <dd><p>(Omega compiled translation process file) </p></dd> -<dt><span><code>mkofm</code></span></dt> +<dt><code class="code">mkofm</code></dt> <dd><p>(Omega font metrics file) </p></dd> -<dt><span><code>mktexfmt</code></span></dt> +<dt><code class="code">mktexfmt</code></dt> <dd><p>(format/base dump file) </p></dd> -<dt><span><code>mktexmf</code></span></dt> +<dt><code class="code">mktexmf</code></dt> <dd><p>(Metafont source) </p></dd> -<dt><span><code>mktexpk</code></span></dt> +<dt><code class="code">mktexpk</code></dt> <dd><p>(PK bitmap font) </p></dd> -<dt><span><code>mktextex</code></span></dt> +<dt><code class="code">mktextex</code></dt> <dd><p>(TeX source) </p></dd> -<dt><span><code>mktextfm</code></span></dt> +<dt><code class="code">mktextfm</code></dt> <dd><p>(TFM file) </p></dd> </dl> <p>to generate the specified type of file dynamically. The default can be overridden by the user in any case -(see <a href="#kpathsea-library">The <code>kpathsea</code> library in <samp>texk/kpathsea</samp></a>). +(see <a class="pxref" href="#kpathsea-library">The <code class="code">kpathsea</code> library in <samp class="file">texk/kpathsea</samp></a>). </p> <hr> </div> </div> -<div class="section" id="Variables-for-configure"> -<div class="header"> +<div class="section-level-extent" id="Variables-for-configure"> +<div class="nav-panel"> <p> Previous: <a href="#Library_002dspecific-configure-options" accesskey="p" rel="prev">Library-specific configure options</a>, Up: <a href="#Configure-options" accesskey="u" rel="up">Configure options</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Variables-for-configure-1"></span><h3 class="section">7.4 Variables for configure</h3> +<h3 class="section" id="Variables-for-configure-1">7.4 Variables for configure</h3> -<span id="index-variables-for-configure"></span> -<span id="index-configure-variables"></span> +<a class="index-entry-id" id="index-variables-for-configure"></a> +<a class="index-entry-id" id="index-configure-variables"></a> -<p>The values for these variables can be specified as <code>configure</code> -arguments of the form <code><var>VAR</var>=<var>value</var></code>. They can also be +<p>The values for these variables can be specified as <code class="code">configure</code> +arguments of the form <code class="code"><var class="var">VAR</var>=<var class="var">value</var></code>. They can also be defined in the environment, but that might not work for cross compilations. </p> -<dl compact="compact"> -<dt id='index-CC'><span><code>CC</code><a href='#index-CC' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-CXX'><span><code>CXX</code><a href='#index-CXX' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-CPPFLAGS'><span><code>CPPFLAGS</code><a href='#index-CPPFLAGS' class='copiable-anchor'> ¶</a></span></dt> +<dl class="vtable"> +<dt id='index-CC'><span><code class="code">CC</code><a class="copiable-link" href='#index-CC'> ¶</a></span></dt> +<dt id='index-CXX'><span><code class="code">CXX</code><a class="copiable-link" href='#index-CXX'> ¶</a></span></dt> +<dt id='index-CPPFLAGS'><span><code class="code">CPPFLAGS</code><a class="copiable-link" href='#index-CPPFLAGS'> ¶</a></span></dt> <dd><p>And plenty more. As usual with Autoconf, these variables specify the name (or full path) of compilers, preprocessor flags, and similar. -See <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Preset-Output-Variables">Preset Output Variables</a> in <cite>GNU Autoconf</cite>. +See <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Preset-Output-Variables">Preset Output Variables</a> in <cite class="cite">GNU Autoconf</cite>. </p> </dd> -<dt id='index-CLISP-1'><span><code>CLISP</code><a href='#index-CLISP-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-clisp"></span> -<p>Name (or full path) of the <samp>clisp</samp> executable, used to build -<code>xindy</code>. +<dt id='index-CLISP-1'><span><code class="code">CLISP</code><a class="copiable-link" href='#index-CLISP-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-clisp"></a> +<p>Name (or full path) of the <samp class="file">clisp</samp> executable, used to build +<code class="code">xindy</code>. </p> </dd> -<dt id='index-FT2_005fCONFIG'><span><code>FT2_CONFIG</code><a href='#index-FT2_005fCONFIG' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-ICU_005fCONFIG'><span><code>ICU_CONFIG</code><a href='#index-ICU_005fCONFIG' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-PKG_005fCONFIG'><span><code>PKG_CONFIG</code><a href='#index-PKG_005fCONFIG' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-freetype_002dconfig-1"></span> -<span id="index-icu_002dconfig"></span> -<span id="index-libfreetype"></span> -<span id="index-ICU-libraries"></span> -<p>These specify the name (or path) for the <samp>freetype-config</samp>, -<samp>icu-config</samp>, and <samp>pkg-config</samp> commands used to determine the -flags required for system versions of <samp>libfreetype</samp>, the ICU +<dt id='index-FT2_005fCONFIG'><span><code class="code">FT2_CONFIG</code><a class="copiable-link" href='#index-FT2_005fCONFIG'> ¶</a></span></dt> +<dt id='index-ICU_005fCONFIG'><span><code class="code">ICU_CONFIG</code><a class="copiable-link" href='#index-ICU_005fCONFIG'> ¶</a></span></dt> +<dt id='index-PKG_005fCONFIG'><span><code class="code">PKG_CONFIG</code><a class="copiable-link" href='#index-PKG_005fCONFIG'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-freetype_002dconfig-1"></a> +<a class="index-entry-id" id="index-icu_002dconfig"></a> +<a class="index-entry-id" id="index-libfreetype"></a> +<a class="index-entry-id" id="index-ICU-libraries"></a> +<p>These specify the name (or path) for the <samp class="file">freetype-config</samp>, +<samp class="file">icu-config</samp>, and <samp class="file">pkg-config</samp> commands used to determine the +flags required for system versions of <samp class="file">libfreetype</samp>, the ICU libraries, and other libraries, respectively. </p> </dd> -<dt id='index-KPSEWHICH'><span><code>KPSEWHICH</code><a href='#index-KPSEWHICH' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-kpsewhich"></span> -<p>Name (or path) of an installed <samp>kpsewhich</samp> binary, used by -<code>make check</code> to determine the location of, e.g., -<samp>cmbx10.tfm</samp>. +<dt id='index-KPSEWHICH'><span><code class="code">KPSEWHICH</code><a class="copiable-link" href='#index-KPSEWHICH'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-kpsewhich"></a> +<p>Name (or path) of an installed <samp class="file">kpsewhich</samp> binary, used by +<code class="code">make check</code> to determine the location of, e.g., +<samp class="file">cmbx10.tfm</samp>. </p> </dd> -<dt id='index-MAKE'><span><code>MAKE</code><a href='#index-MAKE' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-SED'><span><code>SED</code><a href='#index-SED' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>And more. Name (or path) of the <code>make</code>, <code>sed</code>, and similar +<dt id='index-MAKE'><span><code class="code">MAKE</code><a class="copiable-link" href='#index-MAKE'> ¶</a></span></dt> +<dt id='index-SED'><span><code class="code">SED</code><a class="copiable-link" href='#index-SED'> ¶</a></span></dt> +<dd><p>And more. Name (or path) of the <code class="code">make</code>, <code class="code">sed</code>, and similar programs; used at the top level and propagated to all subdirectories. </p> </dd> -<dt id='index-PERL'><span><code>PERL</code><a href='#index-PERL' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-LATEX'><span><code>LATEX</code><a href='#index-LATEX' class='copiable-anchor'> ¶</a></span></dt> -<dt id='index-PDFLATEX'><span><code>PDFLATEX</code><a href='#index-PDFLATEX' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Name (or full path) for the <samp>perl</samp>, <samp>latex</samp>, and <samp>pdflatex</samp> -commands used, e.g., to build the <code>xindy</code> documentation. +<dt id='index-PERL'><span><code class="code">PERL</code><a class="copiable-link" href='#index-PERL'> ¶</a></span></dt> +<dt id='index-LATEX'><span><code class="code">LATEX</code><a class="copiable-link" href='#index-LATEX'> ¶</a></span></dt> +<dt id='index-PDFLATEX'><span><code class="code">PDFLATEX</code><a class="copiable-link" href='#index-PDFLATEX'> ¶</a></span></dt> +<dd><p>Name (or full path) for the <samp class="file">perl</samp>, <samp class="file">latex</samp>, and <samp class="file">pdflatex</samp> +commands used, e.g., to build the <code class="code">xindy</code> documentation. </p> </dd> </dl> @@ -3089,68 +3093,68 @@ commands used, e.g., to build the <code>xindy</code> documentation. <hr> </div> </div> -<div class="chapter" id="Coding-conventions"> -<div class="header"> +<div class="chapter-level-extent" id="Coding-conventions"> +<div class="nav-panel"> <p> -Next: <a href="#Continuous-integration" accesskey="n" rel="next">Continuous integration</a>, Previous: <a href="#Configure-options" accesskey="p" rel="prev">Configure options</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Continuous-integration" accesskey="n" rel="next">Continuous integration</a>, Previous: <a href="#Configure-options" accesskey="p" rel="prev">Configure options</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Coding-conventions-1"></span><h2 class="chapter">8 Coding conventions</h2> +<h2 class="chapter" id="Coding-conventions-1">8 Coding conventions</h2> -<span id="index-coding-conventions"></span> -<span id="index-conventions_002c-coding"></span> +<a class="index-entry-id" id="index-coding-conventions"></a> +<a class="index-entry-id" id="index-conventions_002c-coding"></a> <p>Ideally, building all of TeX Live with -<code>--enable-compiler-warnings=max</code> should produce no (GCC) compiler +<code class="code">--enable-compiler-warnings=max</code> should produce no (GCC) compiler warnings at all. In spite of considerable efforts into that direction we are still far from that goal and there are reasons that we may never fully reach it. Below are some rules about declarations of -functions or variables and the use of <code>const</code>. These rules +functions or variables and the use of <code class="code">const</code>. These rules should be applied to the code maintained in the TeX Live tree and for other packages whose maintainers are willing to accept patches. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Declarations-and-definitions" accesskey="1">Declarations and definitions</a></li> <li><a href="#Const" accesskey="2">Const</a></li> </ul> <hr> -<div class="section" id="Declarations-and-definitions"> -<div class="header"> +<div class="section-level-extent" id="Declarations-and-definitions"> +<div class="nav-panel"> <p> Next: <a href="#Const" accesskey="n" rel="next">Const</a>, Up: <a href="#Coding-conventions" accesskey="u" rel="up">Coding conventions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Declarations-and-definitions-1"></span><h3 class="section">8.1 Declarations and definitions</h3> +<h3 class="section" id="Declarations-and-definitions-1">8.1 Declarations and definitions</h3> -<span id="index-declarations-and-definitions_002c-in-source-code"></span> -<span id="index-source-code-declarations"></span> -<span id="index-ANSI-C"></span> -<span id="index-declarations-before-statements_002c-avoiding"></span> -<span id="index-C_002c-ANSI_002c-required"></span> -<span id="index-C99_002c-avoided"></span> +<a class="index-entry-id" id="index-declarations-and-definitions_002c-in-source-code"></a> +<a class="index-entry-id" id="index-source-code-declarations"></a> +<a class="index-entry-id" id="index-ANSI-C"></a> +<a class="index-entry-id" id="index-declarations-before-statements_002c-avoiding"></a> +<a class="index-entry-id" id="index-C_002c-ANSI_002c-required"></a> +<a class="index-entry-id" id="index-C99_002c-avoided"></a> -<span id="C-standards"></span><h4 class="subsubheading">C standards</h4> +<h4 class="subsubheading" id="C-standards">C standards</h4> <p>The TeX Live build system no longer supports pre-ANSI C compilers. Thus all function prototypes and definitions must conform to the ANSI C -standard (including <code>void</code> in the declaration of C functions with +standard (including <code class="code">void</code> in the declaration of C functions with no parameters). On the other hand, TL is built for a wide variety of systems, not all of which support the C99 standard. Therefore using C99 features should be avoided if that can easily be done. In particular, C code must not contain declarations after statements or C++-style comments. </p> -<span id="index-chktex"></span> -<span id="index-stpcpy"></span> +<a class="index-entry-id" id="index-chktex"></a> +<a class="index-entry-id" id="index-stpcpy"></a> <p>If some C99 (or later) constructs must be used, the module should verify that they are available and otherwise provide an alternative. -For example, the module <samp>texk/chktex</samp> uses the C99 function -<code>stpcpy()</code> that may or may not be available on a particular -system. It uses <code>AC_CHECK_DECLS([stpcpy])</code> in -<samp>configure.ac</samp> to test this, and provides a perhaps -less efficient alternative (in the file <samp>Utility.h</samp>): +For example, the module <samp class="file">texk/chktex</samp> uses the C99 function +<code class="code">stpcpy()</code> that may or may not be available on a particular +system. It uses <code class="code">AC_CHECK_DECLS([stpcpy])</code> in +<samp class="file">configure.ac</samp> to test this, and provides a perhaps +less efficient alternative (in the file <samp class="file">Utility.h</samp>): </p> <div class="example"> -<pre class="example">#if !(defined HAVE_DECL_STPCPY && HAVE_DECL_STPCPY) +<pre class="example-preformatted">#if !(defined HAVE_DECL_STPCPY && HAVE_DECL_STPCPY) static inline char *stpcpy(char *dest, const char *src) { return strcpy(dest, src) + strlen(src); @@ -3158,79 +3162,79 @@ static inline char *stpcpy(char *dest, const char *src) #endif </pre></div> -<span id="Static-functions"></span><h4 class="subsubheading">Static functions</h4> +<h4 class="subsubheading" id="Static-functions">Static functions</h4> -<span id="index-static-functions"></span> -<p>Functions used in only one file should be declared <code>static</code>; they +<a class="index-entry-id" id="index-static-functions"></a> +<p>Functions used in only one file should be declared <code class="code">static</code>; they require no prototype except in forward declarations. </p> -<span id="Extern-functions"></span><h4 class="subsubheading">Extern functions</h4> +<h4 class="subsubheading" id="Extern-functions">Extern functions</h4> -<span id="index-extern-functions"></span> -<p>Functions not declared <code>static</code>, usually because they are used in -several files, require an (<code>extern</code>) prototype in exactly one +<a class="index-entry-id" id="index-extern-functions"></a> +<p>Functions not declared <code class="code">static</code>, usually because they are used in +several files, require an (<code class="code">extern</code>) prototype in exactly one header file, which is included in the file defining the function and in all files using that function—this is the only way to guarantee consistency between definition and use. There should be no -<code>extern</code> declarations sprinkled throughout the C code (with or +<code class="code">extern</code> declarations sprinkled throughout the C code (with or without comments as to where that function is defined). </p> -<span id="Variable-declarations"></span><h4 class="subsubheading">Variable declarations</h4> +<h4 class="subsubheading" id="Variable-declarations">Variable declarations</h4> -<span id="index-variable-declarations_002c-in-source-code"></span> +<a class="index-entry-id" id="index-variable-declarations_002c-in-source-code"></a> <p>The declaration of global variables follows analogous rules: they are -either declared <code>static</code> if used in only one file or declared -<code>extern</code> in exactly one header and instantiated in exactly one +either declared <code class="code">static</code> if used in only one file or declared +<code class="code">extern</code> in exactly one header and instantiated in exactly one file. </p> <hr> </div> -<div class="section" id="Const"> -<div class="header"> +<div class="section-level-extent" id="Const"> +<div class="nav-panel"> <p> Previous: <a href="#Declarations-and-definitions" accesskey="p" rel="prev">Declarations and definitions</a>, Up: <a href="#Coding-conventions" accesskey="u" rel="up">Coding conventions</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Const-1"></span><h3 class="section">8.2 Const</h3> +<h3 class="section" id="Const-1">8.2 Const</h3> -<span id="index-const"></span> +<a class="index-entry-id" id="index-const"></a> -<p>The <code>const</code> feature of C is valuable, but easy to mis-use. +<p>The <code class="code">const</code> feature of C is valuable, but easy to mis-use. </p> -<span id="Function-parameters"></span><h4 class="subsubheading">Function parameters</h4> +<h4 class="subsubheading" id="Function-parameters">Function parameters</h4> <p>Ideally, a function parameter not modified by the function should be -declared as <code>const</code>. This is important in particular for strings -(<code>char*</code>) because the actual arguments are often string literals. -It is perfectly legitimate and safe to use a type <code>char*</code> value -for a type <code>const char*</code> variable (in an assignment, as +declared as <code class="code">const</code>. This is important in particular for strings +(<code class="code">char*</code>) because the actual arguments are often string literals. +It is perfectly legitimate and safe to use a type <code class="code">char*</code> value +for a type <code class="code">const char*</code> variable (in an assignment, as initializer, as function argument, or as return value). It is equally -safe to use a type <code>char**</code> value for a type <code>const -char*const*</code> variable, but not for a type <code>const char**</code> variable +safe to use a type <code class="code">char**</code> value for a type <code class="code">const +char*const*</code> variable, but not for a type <code class="code">const char**</code> variable since that might cause modification of a quantity supposed to be constant. </p> -<span id="index-X11-headers_002c-and-const"></span> -<span id="index-libfreetype_002c-and-const"></span> -<p>Getting all <code>const</code> qualifiers right can get quite involved but +<a class="index-entry-id" id="index-X11-headers_002c-and-const"></a> +<a class="index-entry-id" id="index-libfreetype_002c-and-const"></a> +<p>Getting all <code class="code">const</code> qualifiers right can get quite involved but can almost always be done. There are only a couple notable exceptions: the X11 headers are full of declarations that ought to use -<code>const</code> but do not; at one time, <samp>libfreetype</samp> also did not -fully specify <code>const</code>, but this has not been checked recently. +<code class="code">const</code> but do not; at one time, <samp class="file">libfreetype</samp> also did not +fully specify <code class="code">const</code>, but this has not been checked recently. </p> -<span id="What-must-be-avoided-with-const"></span><h4 class="subsubheading">What must be avoided with <code>const</code></h4> +<h4 class="subsubheading" id="What-must-be-avoided-with-const">What must be avoided with <code class="code">const</code></h4> -<span id="index-warning_002c-discards-qualifiers"></span> -<span id="index-discards-qualifiers-warning"></span> +<a class="index-entry-id" id="index-warning_002c-discards-qualifiers"></a> +<a class="index-entry-id" id="index-discards-qualifiers-warning"></a> <p>The GCC compiler warnings “assignment discards qualifiers…” and analogous warnings for “initialization”, “passing arg”, or “return” must be strenuously avoided in our own code. The only exception is when they are caused by X11 declarations or other third party code. </p> -<span id="What-should-be-avoided-with-const"></span><h4 class="subsubheading">What should be avoided with <code>const</code></h4> +<h4 class="subsubheading" id="What-should-be-avoided-with-const">What should be avoided with <code class="code">const</code></h4> -<span id="index-type-cast-from-const_002c-avoiding"></span> -<p>A type cast, e.g., from <code>const char*</code> to <code>char*</code> does not +<a class="index-entry-id" id="index-type-cast-from-const_002c-avoiding"></a> +<p>A type cast, e.g., from <code class="code">const char*</code> to <code class="code">char*</code> does not solve any problems; depending on warning options, it may only hide them. Therefore such casts should be avoided whenever possible and otherwise must be carefully analyzed to make sure that they cannot @@ -3239,118 +3243,118 @@ cause the modification of quantities supposed to be constant. <hr> </div> </div> -<div class="chapter" id="Continuous-integration"> -<div class="header"> +<div class="chapter-level-extent" id="Continuous-integration"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl" accesskey="n" rel="next">install-tl</a>, Previous: <a href="#Coding-conventions" accesskey="p" rel="prev">Coding conventions</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl" accesskey="n" rel="next">install-tl</a>, Previous: <a href="#Coding-conventions" accesskey="p" rel="prev">Coding conventions</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Continuous-integration-1"></span><h2 class="chapter">9 Continuous integration</h2> +<h2 class="chapter" id="Continuous-integration-1">9 Continuous integration</h2> -<span id="index-continuous-integration"></span> -<span id="index-Travis_002dCI"></span> +<a class="index-entry-id" id="index-continuous-integration"></a> +<a class="index-entry-id" id="index-Travis_002dCI"></a> <p>The TeX Live sources are subjected to continuous integration testing on -Travis-CI (<a href="https://travis-ci.org/TeX-Live/texlive-source">https://travis-ci.org/TeX-Live/texlive-source</a>) via a +Travis-CI (<a class="url" href="https://travis-ci.org/TeX-Live/texlive-source">https://travis-ci.org/TeX-Live/texlive-source</a>) via a git-svn mirror of the sources that is pushed to Github -(<a href="https://github.com/TeX-Live/texlive-source">https://github.com/TeX-Live/texlive-source</a>). The git-svn mirror +(<a class="url" href="https://github.com/TeX-Live/texlive-source">https://github.com/TeX-Live/texlive-source</a>). The git-svn mirror is updated (currently) at 30 minute intervals, and only the last commit pushed is tested on Travis-CI. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Transfer-from-Subversion-to-Github" accesskey="1">Transfer from Subversion to Github</a></li> <li><a href="#Automatic-update-of-the-Git-mirror" accesskey="2">Automatic update of the Git mirror</a></li> <li><a href="#CI-testing-on-Travis_002dCI" accesskey="3">CI testing on Travis-CI</a></li> <li><a href="#Releases-on-Github" accesskey="4">Releases on Github</a></li> </ul> <hr> -<div class="section" id="Transfer-from-Subversion-to-Github"> -<div class="header"> +<div class="section-level-extent" id="Transfer-from-Subversion-to-Github"> +<div class="nav-panel"> <p> Next: <a href="#Automatic-update-of-the-Git-mirror" accesskey="n" rel="next">Automatic update of the Git mirror</a>, Up: <a href="#Continuous-integration" accesskey="u" rel="up">Continuous integration</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Transfer-from-Subversion-to-Github-1"></span><h3 class="section">9.1 Transfer from Subversion to Github</h3> +<h3 class="section" id="Transfer-from-Subversion-to-Github-1">9.1 Transfer from Subversion to Github</h3> -<span id="index-git_002dsvn"></span> -<p>The git-svn program (<a href="https://git-scm.com/docs/git-svn">https://git-scm.com/docs/git-svn</a>) is used -to check out the subtree <code>Build/source</code> of the canonical +<a class="index-entry-id" id="index-git_002dsvn"></a> +<p>The git-svn program (<a class="url" href="https://git-scm.com/docs/git-svn">https://git-scm.com/docs/git-svn</a>) is used +to check out the subtree <code class="code">Build/source</code> of the canonical Subversion repository. The author index file used is not maintained in either Git or Subversion but can be provided on request. </p> <p>The initial checkout was done by invoking </p><div class="example"> -<pre class="example">git svn --authors-file usermap clone \ - svn://<var>user</var>@tug.org/texlive/trunk/Build/source +<pre class="example-preformatted">git svn --authors-file usermap clone \ + svn://<var class="var">user</var>@tug.org/texlive/trunk/Build/source </pre></div> -<p>where the <code>usermap</code> file maps Subversion user names to +<p>where the <code class="code">usermap</code> file maps Subversion user names to name and emails of the authors. Anonymous checkout is also possible: </p><div class="example"> -<pre class="example">git svn --authors-file usermap clone \ +<pre class="example-preformatted">git svn --authors-file usermap clone \ svn://tug.org/texlive/trunk/Build/source </pre></div> -<p>In the following, we will use <em>admin</em> to refer to a user who has +<p>In the following, we will use <em class="emph">admin</em> to refer to a user who has read/write access to the TeX Live subversion repository, and is also an -administrator of the ‘<code>TeX-Live</code>’ team at Github. The above -initial checkout has been carried out by <em>admin</em> on the server -<code>texlive.info</code>. -</p> -<p>On Github, a new git repository named <code>texlive-source</code> was -created by <em>admin</em> within the <code>TeX-Live</code> “organization” -(<a href="https://github.com/TeX-Live">https://github.com/TeX-Live</a>). The remote was added to the -checkout with <code>git remote add origin +administrator of the ‘<code class="code">TeX-Live</code>’ team at Github. The above +initial checkout has been carried out by <em class="emph">admin</em> on the server +<code class="code">texlive.info</code>. +</p> +<p>On Github, a new git repository named <code class="code">texlive-source</code> was +created by <em class="emph">admin</em> within the <code class="code">TeX-Live</code> “organization” +(<a class="url" href="https://github.com/TeX-Live">https://github.com/TeX-Live</a>). The remote was added to the +checkout with <code class="code">git remote add origin git@github.com:TeX-Live/texlive-source.git</code>. </p> <p>To automate the update on Github, a new ssh key was generated and -added to the <code>texlive-source</code> repository on Github as deployment +added to the <code class="code">texlive-source</code> repository on Github as deployment key. Thus, pushes using this key can only go to the -<code>texlive-source</code> repository and not anywhere else. +<code class="code">texlive-source</code> repository and not anywhere else. </p> -<p>The usage of <code>git-svn</code> requires a strict discipline to keep a +<p>The usage of <code class="code">git-svn</code> requires a strict discipline to keep a linear history in the master branch. Since we are aiming at a pure mirror facility on Github, we have decided to further restrict the -<code>master</code> branch of the <code>texlive-source</code> repository on Github -to changes by <em>admin</em>. +<code class="code">master</code> branch of the <code class="code">texlive-source</code> repository on Github +to changes by <em class="emph">admin</em>. </p> -<p>This setup allows other developers to branch off <code>master</code> and +<p>This setup allows other developers to branch off <code class="code">master</code> and push their branches to the Github repository, but all updates need to -come from the local <code>master</code> (not the one on Github) to -Subversion, back to <code>master</code> on <code>texlive.info</code>, and from +come from the local <code class="code">master</code> (not the one on Github) to +Subversion, back to <code class="code">master</code> on <code class="code">texlive.info</code>, and from there to Github. </p> <hr> </div> -<div class="section" id="Automatic-update-of-the-Git-mirror"> -<div class="header"> +<div class="section-level-extent" id="Automatic-update-of-the-Git-mirror"> +<div class="nav-panel"> <p> Next: <a href="#CI-testing-on-Travis_002dCI" accesskey="n" rel="next">CI testing on Travis-CI</a>, Previous: <a href="#Transfer-from-Subversion-to-Github" accesskey="p" rel="prev">Transfer from Subversion to Github</a>, Up: <a href="#Continuous-integration" accesskey="u" rel="up">Continuous integration</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Automatic-update-of-the-Git-mirror-1"></span><h3 class="section">9.2 Automatic update of the Git mirror</h3> +<h3 class="section" id="Automatic-update-of-the-Git-mirror-1">9.2 Automatic update of the Git mirror</h3> -<p><em>admin</em> has installed a cron job on <code>texlive.info</code> running -every 30 minute which essentially runs <code>git svn rebase</code> and -<code>git push</code> in the <code>master</code> branch of the checkout. The first +<p><em class="emph">admin</em> has installed a cron job on <code class="code">texlive.info</code> running +every 30 minute which essentially runs <code class="code">git svn rebase</code> and +<code class="code">git push</code> in the <code class="code">master</code> branch of the checkout. The first command fetches the changes from the Subversion repository and updates -the <code>master</code> branch with them, and the second pushes changes (if +the <code class="code">master</code> branch with them, and the second pushes changes (if any) to Github. </p> <hr> </div> -<div class="section" id="CI-testing-on-Travis_002dCI"> -<div class="header"> +<div class="section-level-extent" id="CI-testing-on-Travis_002dCI"> +<div class="nav-panel"> <p> Next: <a href="#Releases-on-Github" accesskey="n" rel="next">Releases on Github</a>, Previous: <a href="#Automatic-update-of-the-Git-mirror" accesskey="p" rel="prev">Automatic update of the Git mirror</a>, Up: <a href="#Continuous-integration" accesskey="u" rel="up">Continuous integration</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="CI-testing-on-Travis_002dCI-1"></span><h3 class="section">9.3 CI testing on Travis-CI</h3> +<h3 class="section" id="CI-testing-on-Travis_002dCI-1">9.3 CI testing on Travis-CI</h3> -<span id="index-travis_002eyml"></span> -<p>The <code>source</code> tree of TeX Live contains a top-level file -<code>.travis.yml</code> which controls the automatic testing on -Travis-CI. <em>admin</em> has registered with Travis-CI and allowed -access to the Github’s <code>TeX-Live</code> organization’s -<code>texlive-source</code> repository. The default settings are to build +<a class="index-entry-id" id="index-travis_002eyml"></a> +<p>The <code class="code">source</code> tree of TeX Live contains a top-level file +<code class="code">.travis.yml</code> which controls the automatic testing on +Travis-CI. <em class="emph">admin</em> has registered with Travis-CI and allowed +access to the Github’s <code class="code">TeX-Live</code> organization’s +<code class="code">texlive-source</code> repository. The default settings are to build the last commit of each push. No further action is necessary on Travis-CI. </p> @@ -3359,169 +3363,221 @@ automatically checkout the last pushed commit and try building it. </p> <hr> </div> -<div class="section" id="Releases-on-Github"> -<div class="header"> +<div class="section-level-extent" id="Releases-on-Github"> +<div class="nav-panel"> <p> Previous: <a href="#CI-testing-on-Travis_002dCI" accesskey="p" rel="prev">CI testing on Travis-CI</a>, Up: <a href="#Continuous-integration" accesskey="u" rel="up">Continuous integration</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Releases-on-Github-1"></span><h3 class="section">9.4 Releases on Github</h3> +<h3 class="section" id="Releases-on-Github-1">9.4 Releases on Github</h3> -<p>Given a git checkout of <code>texlive-source</code>: +<p>Given a git checkout of <code class="code">texlive-source</code>: </p> <div class="example"> -<pre class="example">git pull +<pre class="example-preformatted">git pull git tag build-svnNNNN git push --tags </pre></div> <p>and the result will appear at -<a href="https://github.com/TeX-Live/texlive-source/releases">https://github.com/TeX-Live/texlive-source/releases</a>. +<a class="url" href="https://github.com/TeX-Live/texlive-source/releases">https://github.com/TeX-Live/texlive-source/releases</a>. Releases can also be made manually from that web page (see -<code>tl-update-bindir</code> for hints). +<code class="code">tl-update-bindir</code> for hints). </p> <hr> </div> </div> -<div class="appendix" id="install_002dtl"> -<div class="header"> +<div class="appendix-level-extent" id="install_002dtl"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr" accesskey="n" rel="next">tlmgr</a>, Previous: <a href="#Continuous-integration" accesskey="p" rel="prev">Continuous integration</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr" accesskey="n" rel="next">tlmgr</a>, Previous: <a href="#Continuous-integration" accesskey="p" rel="prev">Continuous integration</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="install_002dtl-1"></span><h2 class="appendix">Appendix A install-tl</h2> - +<h2 class="appendix" id="install_002dtl-1">Appendix A install-tl</h2> -<ul class="section-toc"> -<li><a href="#install_002dtl-NAME" accesskey="1">NAME</a></li> -<li><a href="#install_002dtl-SYNOPSIS" accesskey="2">SYNOPSIS</a></li> -<li><a href="#install_002dtl-DESCRIPTION" accesskey="3">DESCRIPTION</a></li> +<ul class="mini-toc"> +<li><a href="#install_002dtl-NAME" accesskey="1">install-tl NAME</a></li> +<li><a href="#install_002dtl-SYNOPSIS" accesskey="2">install-tl SYNOPSIS</a></li> +<li><a href="#install_002dtl-DESCRIPTION" accesskey="3">install-tl DESCRIPTION</a></li> <li><a href="#install_002dtl-REFERENCES" accesskey="4">REFERENCES</a></li> -<li><a href="#install_002dtl-OPTIONS" accesskey="5">OPTIONS</a></li> -<li><a href="#install_002dtl-PROFILES" accesskey="6">PROFILES</a></li> -<li><a href="#install_002dtl-ENVIRONMENT-VARIABLES" accesskey="7">ENVIRONMENT VARIABLES</a></li> -<li><a href="#install_002dtl-AUTHORS-AND-COPYRIGHT" accesskey="8">AUTHORS AND COPYRIGHT</a></li> +<li><a href="#install_002dtl-EXAMPLES" accesskey="5">install-tl EXAMPLES</a></li> +<li><a href="#install_002dtl-OPTIONS" accesskey="6">install-tl OPTIONS</a></li> +<li><a href="#install_002dtl-PROFILES" accesskey="7">PROFILES</a></li> +<li><a href="#install_002dtl-ENVIRONMENT-VARIABLES" accesskey="8">ENVIRONMENT VARIABLES</a></li> +<li><a href="#install_002dtl-DIRECTORY-TREES" accesskey="9">DIRECTORY TREES</a></li> +<li><a href="#install_002dtl-BUGS">install-tl BUGS</a></li> +<li><a href="#install_002dtl-AUTHORS-AND-COPYRIGHT">AUTHORS AND COPYRIGHT</a></li> </ul> <hr> -<div class="appendixsec" id="install_002dtl-NAME"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-NAME"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-SYNOPSIS" accesskey="n" rel="next">SYNOPSIS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-SYNOPSIS" accesskey="n" rel="next">install-tl SYNOPSIS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="NAME"></span><h3 class="appendixsec">A.1 NAME</h3> +<h3 class="appendixsec" id="install_002dtl-NAME-1">A.1 install-tl NAME</h3> <p>install-tl - TeX Live cross-platform installer </p> <hr> </div> -<div class="appendixsec" id="install_002dtl-SYNOPSIS"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-SYNOPSIS"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-DESCRIPTION" accesskey="n" rel="next">DESCRIPTION</a>, Previous: <a href="#install_002dtl-NAME" accesskey="p" rel="prev">NAME</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-DESCRIPTION" accesskey="n" rel="next">install-tl DESCRIPTION</a>, Previous: <a href="#install_002dtl-NAME" accesskey="p" rel="prev">install-tl NAME</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="SYNOPSIS"></span><h3 class="appendixsec">A.2 SYNOPSIS</h3> +<h3 class="appendixsec" id="install_002dtl-SYNOPSIS-1">A.2 install-tl SYNOPSIS</h3> -<p>install-tl [<em>option</em>]... +<p>install-tl [<em class="emph">option</em>]... </p> -<p>install-tl-windows.bat [<em>option</em>]... +<p>install-tl-windows.bat [<em class="emph">option</em>]... </p> <hr> </div> -<div class="appendixsec" id="install_002dtl-DESCRIPTION"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-DESCRIPTION"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-REFERENCES" accesskey="n" rel="next">REFERENCES</a>, Previous: <a href="#install_002dtl-SYNOPSIS" accesskey="p" rel="prev">SYNOPSIS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-REFERENCES" accesskey="n" rel="next">REFERENCES</a>, Previous: <a href="#install_002dtl-SYNOPSIS" accesskey="p" rel="prev">install-tl SYNOPSIS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DESCRIPTION"></span><h3 class="appendixsec">A.3 DESCRIPTION</h3> +<h3 class="appendixsec" id="install_002dtl-DESCRIPTION-1">A.3 install-tl DESCRIPTION</h3> <p>This installer creates a runnable TeX Live installation from various media, including over the network, from local hard disk, a DVD, etc. The installer works on all platforms supported by TeX Live. For information on initially downloading TeX Live, see -<a href="https://tug.org/texlive/acquire.html">https://tug.org/texlive/acquire.html</a>. +<a class="url" href="https://tug.org/texlive/acquire.html">https://tug.org/texlive/acquire.html</a>. </p> <p>The basic idea of TeX Live installation is for you to choose one of the -top-level <em>schemes</em>, each of which is defined as a different set of -<em>collections</em> and <em>packages</em>, where a collection is a set of packages, -and a package is what contains actual files. +top-level <em class="emph">schemes</em>, each of which is defined as a different set of +<em class="emph">collections</em> and <em class="emph">packages</em>, where a collection is a set of packages, +and a package is what contains actual files. Each package is in exactly +one collection, while schemes can contain any combination of packages +and collections. </p> <p>Within the installer, you can choose a scheme, and further customize the set of collections to install, but not the set of the packages. To work -at the package level, use <code>tlmgr</code> (reference just below) after the +at the package level, use <code class="code">tlmgr</code> (reference just below) after the initial installation is complete. </p> -<p>The default is <code>scheme-full</code>, which installs everything, and this is +<p>The default is <code class="code">scheme-full</code>, which installs everything, and this is highly recommended. </p> <hr> </div> -<div class="appendixsec" id="install_002dtl-REFERENCES"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-REFERENCES"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-OPTIONS" accesskey="n" rel="next">OPTIONS</a>, Previous: <a href="#install_002dtl-DESCRIPTION" accesskey="p" rel="prev">DESCRIPTION</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-EXAMPLES" accesskey="n" rel="next">install-tl EXAMPLES</a>, Previous: <a href="#install_002dtl-DESCRIPTION" accesskey="p" rel="prev">install-tl DESCRIPTION</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="REFERENCES"></span><h3 class="appendixsec">A.4 REFERENCES</h3> +<h3 class="appendixsec" id="REFERENCES">A.4 REFERENCES</h3> <p>Post-installation configuration, package updates, and more, are -handled through <strong>tlmgr</strong>(1), the TeX Live Manager -(<a href="https://tug.org/texlive/tlmgr.html">https://tug.org/texlive/tlmgr.html</a>). +handled through <strong class="strong">tlmgr</strong>(1), the TeX Live Manager +(<a class="url" href="https://tug.org/texlive/tlmgr.html">https://tug.org/texlive/tlmgr.html</a>). </p> <p>The most up-to-date version of this installer documentation is on the -Internet at <a href="https://tug.org/texlive/doc/install-tl.html">https://tug.org/texlive/doc/install-tl.html</a>. +Internet at <a class="url" href="https://tug.org/texlive/doc/install-tl.html">https://tug.org/texlive/doc/install-tl.html</a>. +</p> +<p>For step-by-step instructions, see +<a class="url" href="https://tug.org/texlive/quickinstall.html">https://tug.org/texlive/quickinstall.html</a>. </p> <p>For the full documentation of TeX Live, see -<a href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a>. +<a class="url" href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a>. </p> <hr> </div> -<div class="appendixsec" id="install_002dtl-OPTIONS"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-EXAMPLES"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-PROFILES" accesskey="n" rel="next">PROFILES</a>, Previous: <a href="#install_002dtl-REFERENCES" accesskey="p" rel="prev">REFERENCES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-OPTIONS" accesskey="n" rel="next">install-tl OPTIONS</a>, Previous: <a href="#install_002dtl-REFERENCES" accesskey="p" rel="prev">REFERENCES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="OPTIONS"></span><h3 class="appendixsec">A.5 OPTIONS</h3> +<h3 class="appendixsec" id="install_002dtl-EXAMPLES-1">A.5 install-tl EXAMPLES</h3> + +<p>With no options, <code class="code">install-tl</code> drops you into an interactive menu where +essentially all default settings can be changed. With options, you can +initialize the settings in various ways, or perform the installation +without interaction. Some examples: +</p> +<dl class="table"> +<dt><code class="code">install-tl --paper=letter</code></dt> +<dd><a class="anchor" id="install_002dtl-install_002dtl-_002d_002dpaper_003dletter"></a> +<p>Initialize paper size setting. The only values allowed are <code class="code">letter</code> and +(the default) <code class="code">a4</code>. +</p> +</dd> +<dt><code class="code">install-tl --scheme</code> <em class="emph">scheme</em></dt> +<dd><a class="anchor" id="install_002dtl-install_002dtl-_002d_002dscheme-scheme"></a> +<p>Initialize the installation scheme; the default is <code class="code">full</code>. For a list +of schemes, see the interactive <code class="code">S</code> menu. +</p> +</dd> +<dt><code class="code">install-tl --no-interaction</code></dt> +<dd><a class="anchor" id="install_002dtl-install_002dtl-_002d_002dno_002dinteraction"></a> +<p>Perform the installation immediately after parsing options, without +entering the interactive menu. +</p> +</dd> +<dt><code class="code">install-tl --profile</code> <em class="emph">texlive.profile</em></dt> +<dd><a class="anchor" id="install_002dtl-install_002dtl-_002d_002dprofile-texlive_002eprofile"></a> +<p>Install, without interaction, according to the given TL profile file; +see <a class="ref" href="#install_002dtl-PROFILES">PROFILES</a> below. To initialize from the profile and then enter the +interactive menu, add <code class="code">--init-from-profile</code>. +</p> +</dd> +</dl> + +<p>Full documentation follows. +</p> +<hr> +</div> +<div class="appendixsec-level-extent" id="install_002dtl-OPTIONS"> +<div class="nav-panel"> +<p> +Next: <a href="#install_002dtl-PROFILES" accesskey="n" rel="next">PROFILES</a>, Previous: <a href="#install_002dtl-EXAMPLES" accesskey="p" rel="prev">install-tl EXAMPLES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<h3 class="appendixsec" id="install_002dtl-OPTIONS-1">A.6 install-tl OPTIONS</h3> <p>As usual, all options can be specified in any order, and with either a -leading <code>-</code> or <code>--</code>. An argument value can be separated from its -option by either a space or <code>=</code>. +leading <code class="code">-</code> or <code class="code">--</code>. An argument value can be separated from its +option by either a space or <code class="code">=</code>. </p> -<dl compact="compact"> -<dt><span><strong>-gui</strong> [[=]<em>module</em>]</span></dt> -<dd><span id="install_002dtl-_002dgui-_005b_005b_003d_005dmodule_005d"></span> -<p>If no <em>module</em> is given, starts the Tcl/Tk (see below) GUI installer. +<p>The options relating to customization of the installation can also be +selected in the interactive installation menus (GUI or text). </p> -<p>If <em>module</em> is given loads the given installer module. Currently the +<dl class="table"> +<dt><strong class="strong">-gui</strong> [[=]<em class="emph">module</em>]</dt> +<dd><a class="anchor" id="install_002dtl-_002dgui-_005b_005b_003d_005dmodule_005d"></a> +</dd> +<dt><strong class="strong">-no-gui</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dgui"></a> +<p>If no <em class="emph">module</em> is given, starts the Tcl/Tk (see below) GUI installer. +</p> +<p>If <em class="emph">module</em> is given loads the given installer module. Currently the following modules are supported: </p> -<dl compact="compact"> -<dt><span><code>text</code></span></dt> -<dd><span id="install_002dtl-text"></span> +<dl class="table"> +<dt><code class="code">text</code></dt> +<dd><a class="anchor" id="install_002dtl-text"></a> <p>The text mode user interface (default on Unix systems, including Macs). -Same as the <code>-no-gui</code> option. +Same as the <code class="code">-no-gui</code> option. </p> </dd> -<dt><span><code>tcl</code> (or "perltk" or "wizard" or "expert" or nothing)</span></dt> -<dd><span id="install_002dtl-tcl-_0028or-_0022perltk_0022-or-_0022wizard_0022-or-_0022expert_0022-or-nothing_0029"></span> +<dt><code class="code">tcl</code> (or "perltk" or "wizard" or "expert" or nothing)</dt> +<dd><a class="anchor" id="install_002dtl-tcl-_0028or-_0022perltk_0022-or-_0022wizard_0022-or-_0022expert_0022-or-nothing_0029"></a> <p>The Tcl/Tk user interface (default on Windows). It starts with a small number of configuration options, roughly equivalent -to what the former wizard option offers, but a button <code>Advanced</code> +to what the former wizard option offers, but a button <code class="code">Advanced</code> takes you to a screen with roughly the same options as the former -<code>perltk</code> interface. +<code class="code">perltk</code> interface. </p> </dd> </dl> -<p>The default GUI requires Tcl/Tk. This is standard on Macs (although it -is considered deprecated since Catalina) and is often already installed -on GNU/Linux, or can be easily installed through a distro package -manager. For Windows, TeX Live provides a Tcl/Tk runtime. -</p> -</dd> -<dt><span><strong>-no-gui</strong></span></dt> -<dd><span id="install_002dtl-_002dno_002dgui"></span> -<p>Use the text mode installer (default except on Windows and Macs). +<p>The default GUI requires Tcl/Tk. This was standard on Macs, but has been +removed in the latest macOS releases. It’s often already installed on +GNU/Linux, or can be easily installed through a distro package manager. +For Windows, TeX Live provides a Tcl/Tk runtime. </p> </dd> -<dt><span><strong>-lang</strong> <em>llcode</em></span></dt> -<dd><span id="install_002dtl-_002dlang-llcode"></span> +<dt><strong class="strong">-lang</strong> <em class="emph">llcode</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dlang-llcode"></a> <p>By default, the Tcl GUI uses the language detection built into Tcl/Tk. If that fails you can select a different language by giving this option with a language code (based on ISO 639-1). @@ -3533,18 +3589,18 @@ Ukrainian (uk), Vietnamese (vi), simplified Chinese (zh_CN), and traditional Chinese (zh_TW). </p> </dd> -<dt><span><strong>-repository</strong> <em>url|path</em></span></dt> -<dd><span id="install_002dtl-_002drepository-url_007cpath"></span> +<dt><strong class="strong">-repository</strong> <em class="emph">url|path</em></dt> +<dd><a class="anchor" id="install_002dtl-_002drepository-url_007cpath"></a> <p>Specify the package repository to be used as the source of the installation. In short, this can be a directory name or a url using -http(s), ftp, or scp. The documentation for <code>tlmgr</code> has the details -(<a href="https://tug.org/texlive/doc/tlmgr.html#OPTIONS">https://tug.org/texlive/doc/tlmgr.html#OPTIONS</a>). +http(s), ftp, or scp. The documentation for <code class="code">tlmgr</code> has the details +(<a class="url" href="https://tug.org/texlive/doc/tlmgr.html#OPTIONS">https://tug.org/texlive/doc/tlmgr.html#OPTIONS</a>). </p> <p>For installation, the default is to pick a mirror automatically, using -<a href="https://mirror.ctan.org/systems/texlive/tlnet">https://mirror.ctan.org/systems/texlive/tlnet</a>; the chosen mirror is -used for the entire download. You can use the special argument <code>ctan</code> -as an abbreviation for this. (See <a href="https://ctan.org">https://ctan.org</a> for more about CTAN -and its mirrors.) +<a class="url" href="https://mirror.ctan.org/systems/texlive/tlnet">https://mirror.ctan.org/systems/texlive/tlnet</a>; the chosen mirror is +then used for the entire download. You can use the special argument +<code class="code">ctan</code> as an abbreviation for this. (See <a class="url" href="https://ctan.org">https://ctan.org</a> for more +about CTAN and its mirrors.) </p> <p>After installation is complete, you can use that installation as the repository for another installation. If you chose to install less than @@ -3552,182 +3608,309 @@ the full scheme containing all packages, the list of available schemes will be adjusted accordingly. </p> </dd> -<dt><span><strong>-select-repository</strong></span></dt> -<dd><span id="install_002dtl-_002dselect_002drepository"></span> +<dt><strong class="strong">-select-repository</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dselect_002drepository"></a> <p>This option allows you to choose a particular mirror from the current -list of active CTAN mirrors. This option is supported in the <code>text</code> -and <code>gui</code> installer modes, and will also offer to install +list of active CTAN mirrors. This option is supported in the <code class="code">text</code> +and <code class="code">gui</code> installer modes, and will also offer to install from local media if available, or from a repository specified on the command line. It’s useful when the (default) automatic redirection does not choose a good host for you. </p> </dd> -<dt><span><strong>-all-options</strong></span></dt> -<dd><span id="install_002dtl-_002dall_002doptions"></span> +<dt><strong class="strong">-all-options</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dall_002doptions"></a> <p>Normally options not relevant to the current platform are not shown (e.g., when running on Unix, Windows-specific options are omitted). Giving this command line option allows configuring such "foreign" settings. </p> </dd> -<dt><span><strong>-custom-bin</strong> <em>path</em></span></dt> -<dd><span id="install_002dtl-_002dcustom_002dbin-path"></span> -<p>If you have built your own set of TeX Live binaries (perhaps because -your platform was not supported by TeX Live out of the box), this option -allows you to specify the <em>path</em> to a directory where the binaries for -the current system are present. The installation will continue as -usual, but at the end all files from <em>path</em> are copied over to -<code>bin/custom/</code> under your installation directory and this <code>bin/custom/</code> -directory is what will be added to the path for the post-install -actions. To install multiple custom binary sets, manually rename -<code>custom</code> before doing each. +<dt><strong class="strong">-custom-bin</strong> <em class="emph">path</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dcustom_002dbin-path"></a> +<p>If you have built your own set of TeX Live binaries (e.g., because +precompiled binaries were not provided by TL for your platform), this +option allows you to specify the <em class="emph">path</em> to a directory where the +binaries for the current system are present. The installation will +continue as usual, but at the end all files from <em class="emph">path</em> are copied over +to <code class="code">bin/custom/</code> under your installation directory and this +<code class="code">bin/custom/</code> directory is what will be added to the path for the +post-install actions. To install multiple custom binary sets, manually +rename <code class="code">custom</code> before doing each. </p> <p>For more information on custom binaries, see -<a href="https://tug.org/texlive/custom-bin.html">https://tug.org/texlive/custom-bin.html</a>. For general information on -building TeX Live, see <a href="https://tug.org/texlive/build.html">https://tug.org/texlive/build.html</a>. +<a class="url" href="https://tug.org/texlive/custom-bin.html">https://tug.org/texlive/custom-bin.html</a>. For general information on +building TeX Live, see <a class="url" href="https://tug.org/texlive/build.html">https://tug.org/texlive/build.html</a>. </p> </dd> -<dt><span><strong>-debug-fakenet</strong></span></dt> -<dd><span id="install_002dtl-_002ddebug_002dfakenet"></span> -<p>Pretend we’re doing a network install, for the sole purpose of testing -broken downloads via moving package files aside in a tlnet mirror. +<dt><strong class="strong">-debug-fakenet</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002ddebug_002dfakenet"></a> +<p>Pretend we’re doing a network install. This is for the sole purpose of +testing the code to handle broken downloads, via moving package files +aside in a tlnet mirror hierarchy. </p> </dd> -<dt><span><strong>-debug-translation</strong></span></dt> -<dd><span id="install_002dtl-_002ddebug_002dtranslation"></span> +<dt><strong class="strong">-debug-setup-vars</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002ddebug_002dsetup_002dvars"></a> +<p>Print final values of directory variables; for more debugging +information on how they were set, also specify <code class="code">-v</code>. +</p> +</dd> +<dt><strong class="strong">-debug-translation</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002ddebug_002dtranslation"></a> <p>In the former Perl/Tk GUI modes, this option reported any missing, or more likely untranslated, messages to standard error. Not yet implemented for the Tcl interface. Helpful for translators to see what remains to be done. </p> </dd> -<dt><span><strong>-force-platform</strong> <em>platform</em></span></dt> -<dd><span id="install_002dtl-_002dforce_002dplatform-platform"></span> -<p>Instead of auto-detecting the current platform, use <em>platform</em>. -Binaries for this platform must be present and they must actually be -runnable, or installation will fail. <code>-force-arch</code> is a synonym. +<dt><strong class="strong">-force-platform</strong> <em class="emph">platform</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dforce_002dplatform-platform"></a> +<p>Instead of auto-detecting the current platform, use <em class="emph">platform</em>. +Binaries for this platform must be present in <code class="code">bin/</code><em class="emph">platform</em><code class="code">/</code> and +they must be runnable, or installation will fail. <code class="code">-force-arch</code> is a +synonym. </p> </dd> -<dt><span><strong>-help</strong>, <strong>–help</strong>, <strong>-?</strong></span></dt> -<dd><span id="install_002dtl-_002dhelp_002c-_002d_002dhelp_002c-_002d_003f"></span> +<dt><strong class="strong">-help</strong>, <strong class="strong">--help</strong>, <strong class="strong">-?</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dhelp_002c-_002d_002dhelp_002c-_002d_003f"></a> <p>Display this help and exit. (This help is also on the web at -<a href="https://tug.org/texlive/doc/install-tl.html">https://tug.org/texlive/doc/install-tl.html</a>). Sometimes the <code>perldoc</code> -and/or <code>PAGER</code> programs on the system have problems, possibly resulting +<a class="url" href="https://tug.org/texlive/doc/install-tl.html">https://tug.org/texlive/doc/install-tl.html</a>). Sometimes the <code class="code">perldoc</code> +and/or <code class="code">PAGER</code> programs on the system have problems, possibly resulting in control characters being literally output. This can’t always be -detected, but you can set the <code>NOPERLDOC</code> environment variable and -<code>perldoc</code> will not be used. +detected, but you can set the <code class="code">NOPERLDOC</code> environment variable and +<code class="code">perldoc</code> will not be used. </p> </dd> -<dt><span><strong>-in-place</strong></span></dt> -<dd><span id="install_002dtl-_002din_002dplace"></span> +<dt><strong class="strong">-in-place</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002din_002dplace"></a> <p>This is a quick-and-dirty installation option in case you already have an rsync or svn checkout of TeX Live. It will use the checkout as-is and will just do the necessary post-install. Be warned that the file -<code>tlpkg/texlive.tlpdb</code> may be rewritten, that removal has to be done +<code class="code">tlpkg/texlive.tlpdb</code> may be rewritten, that removal has to be done manually, and that the only realistic way to maintain this installation is to redo it from time to time. This option is not available via the installer interfaces. USE AT YOUR OWN RISK. </p> </dd> -<dt><span><strong>-init-from-profile</strong> <em>profile_file</em></span></dt> -<dd><span id="install_002dtl-_002dinit_002dfrom_002dprofile-profile_005ffile"></span> -<p>Similar to <strong>-profile</strong> (see <a href="#install_002dtl-PROFILES">PROFILES</a> below), but only initializes -the installation configuration from <em>profile_file</em> and then starts a +<dt><strong class="strong">-init-from-profile</strong> <em class="emph">profile_file</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dinit_002dfrom_002dprofile-profile_005ffile"></a> +<p>Similar to <strong class="strong">-profile</strong> (see <a class="ref" href="#install_002dtl-PROFILES">PROFILES</a> below), but only initializes +the installation configuration from <em class="emph">profile_file</em> and then starts a normal interactive session. Environment variables are not ignored. </p> </dd> -<dt><span><strong>-logfile</strong> <em>file</em></span></dt> -<dd><span id="install_002dtl-_002dlogfile-file"></span> -<p>Write both all messages (informational, debugging, warnings) to <em>file</em>, +<dt><strong class="strong">-logfile</strong> <em class="emph">file</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dlogfile-file"></a> +<p>Write both all messages (informational, debugging, warnings) to <em class="emph">file</em>, in addition to standard output or standard error. </p> <p>If this option is not given, the installer will create a log file in the root of the writable installation tree, -for example, <code>/usr/local/texlive/YYYY/install-tl.log</code> for the <em>YYYY</em> +for example, <code class="code">/usr/local/texlive/YYYY/install-tl.log</code> for the <em class="emph">YYYY</em> release. </p> </dd> -<dt><span><strong>-no-cls</strong></span></dt> -<dd><span id="install_002dtl-_002dno_002dcls"></span> +<dt><strong class="strong">-no-cls</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dcls"></a> <p>For the text mode installer only: do not clear the screen when entering -a new menu (for debugging purposes). +a new menu. For debugging. +</p> +</dd> +<dt><strong class="strong">-no-continue</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dcontinue"></a> +<p>Quit early on installation failure of a non-core package. +</p> +<p>By default, a few core packages are installed first; then, a failed +installation of any other (non-core) package is noted, but does not stop +the installation. Any such failed packages are retried, once. +</p> +<p>If the retry also fails, by default the installer proceeds to completion +anyway, with the idea that it was a transient network problem and +reinstallation will succeed later. If this option is specified, and the +retry fails, the installer aborts. +</p> +</dd> +<dt><strong class="strong">-no-doc-install</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002ddoc_002dinstall"></a> +</dd> +<dt><strong class="strong">-no-src-install</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dsrc_002dinstall"></a> +<p>Do not install the documentation resp. source package files, both for +the immediate installation and for future updates. After installation, +inclusion of the doc/src files can be re-enabled via <code class="code">tlmgr</code>: +</p> +<pre class="verbatim"> tlmgr option docfiles 1 + tlmgr option srcfiles 1 +</pre> +<p>If you later find that you want the doc/src files for a package that has +been installed without them, you can get them like this (using the +<code class="code">fontspec</code> package as the example): +</p> +<pre class="verbatim"> tlmgr install --reinstall --with-doc --with-src fontspec +</pre> +<p>The source files mentioned here are those relating to TeX packages, such +as <code class="code">.dtx</code> files. The sources that are compiled to make the binaries are +available separately: see <a class="url" href="https://tug.org/texlive/svn/">https://tug.org/texlive/svn/</a>. </p> </dd> -<dt><span><strong>-no-persistent-downloads</strong></span></dt> -<dd><span id="install_002dtl-_002dno_002dpersistent_002ddownloads"></span> +<dt><strong class="strong">-no-installation</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dinstallation"></a> +<p>Do not perform any installation. This is for debugging the +initialization and setup routines without touching the disk. +</p> +</dd> +<dt><strong class="strong">-no-interaction</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dinteraction"></a> +<p>Do not enter the interactive menu; immediately perform the installation +after initialization and option parsing. Also omit the check for a +previous installation and asking about importing previous settings. +</p> </dd> -<dt><span><strong>-persistent-downloads</strong></span></dt> -<dd><span id="install_002dtl-_002dpersistent_002ddownloads"></span> +<dt><strong class="strong">-no-persistent-downloads</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dpersistent_002ddownloads"></a> +</dd> +<dt><strong class="strong">-persistent-downloads</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dpersistent_002ddownloads"></a> <p>For network installs, activating this option makes the installer try to -set up a persistent connection using the <code>Net::LWP</code> Perl module. This +set up a persistent connection using the <code class="code">LWP</code> Perl module. This opens only one connection between your computer and the server per session and reuses it, instead of initiating a new download for each package, which typically yields a significant speed-up. </p> <p>This option is turned on by default, and the installation program will -fall back to using <code>wget</code> if this is not possible. To disable usage of -LWP and persistent connections, use <code>-no-persistent-downloads</code>. +fall back to using <code class="code">wget</code> if this is not possible. To disable usage of +LWP and persistent connections, use <code class="code">-no-persistent-downloads</code>. </p> </dd> -<dt><span><strong>-no-verify-downloads</strong></span></dt> -<dd><span id="install_002dtl-_002dno_002dverify_002ddownloads"></span> -<p>By default, if a GnuPG <code>gpg</code> binary is found in PATH, downloads are +<dt><strong class="strong">-no-verify-downloads</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dno_002dverify_002ddownloads"></a> +<p>By default, if a GnuPG <code class="code">gpg</code> binary is found in PATH, downloads are verified against a cryptographic signature. This option disables such verification. The full description is in the Crytographic Verification -section of the <code>tlmgr</code> documentation, e.g., -<a href="https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION">https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION</a> +section of the <code class="code">tlmgr</code> documentation, e.g., +<a class="url" href="https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION">https://tug.org/texlive/doc/tlmgr.html#CRYPTOGRAPHIC-VERIFICATION</a> </p> </dd> -<dt><span><strong>-non-admin</strong></span></dt> -<dd><span id="install_002dtl-_002dnon_002dadmin"></span> +<dt><strong class="strong">-non-admin</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dnon_002dadmin"></a> <p>For Windows only: configure for the current user, not for all users. </p> </dd> -<dt><span><strong>-portable</strong></span></dt> -<dd><span id="install_002dtl-_002dportable"></span> -<p>Install for portable use, e.g., on a USB stick. Also selectable from -within the perltk and text installers. +<dt><strong class="strong">-paper</strong> <code class="code">a4</code><strong class="strong">|</strong><code class="code">letter</code></dt> +<dd><a class="anchor" id="install_002dtl-_002dpaper-a4_007cletter"></a> +<p>Set the default paper size for all TeX Live programs, as specified. +The default is <code class="code">a4</code>. The paper size can be set after installation with +the <code class="code">tlmgr paper</code> command. +</p> +</dd> +<dt><strong class="strong">-portable</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dportable"></a> +<p>Install for portable use, e.g., on a USB stick. See the +<code class="code">instopt_portable</code> description below for details. </p> </dd> -<dt><span><strong>-print-platform</strong></span></dt> -<dd><span id="install_002dtl-_002dprint_002dplatform"></span> +<dt><strong class="strong">-print-platform</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dprint_002dplatform"></a> <p>Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and exit. -<code>-print-arch</code> is a synonym. +<code class="code">-print-arch</code> is a synonym. </p> </dd> -<dt><span><strong>-profile</strong> <em>profile_file</em></span></dt> -<dd><span id="install_002dtl-_002dprofile-profile_005ffile"></span> -<p>Load <em>profile_file</em> and do the installation with no user interaction, +<dt><strong class="strong">-profile</strong> <em class="emph">profile_file</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dprofile-profile_005ffile"></a> +<p>Load <em class="emph">profile_file</em> and do the installation with no user interaction, that is, a batch (unattended) install. Environment variables are -ignored. See <a href="#install_002dtl-PROFILES">PROFILES</a> below. +ignored. See <a class="ref" href="#install_002dtl-PROFILES">PROFILES</a> below. </p> </dd> -<dt><span><strong>-q</strong></span></dt> -<dd><span id="install_002dtl-_002dq"></span> +<dt><strong class="strong">-q</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dq"></a> <p>Omit normal informational messages. </p> </dd> -<dt><span><strong>-scheme</strong> <em>scheme</em></span></dt> -<dd><span id="install_002dtl-_002dscheme-scheme"></span> +<dt><strong class="strong">-scheme</strong> <em class="emph">scheme</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dscheme-scheme"></a> <p>Schemes are the highest level of package grouping in TeX Live; the -default is to use the <code>full</code> scheme, which includes everything. This -option overrides that default. You can change the scheme again before -the actual installation with the usual menu. The <em>scheme</em> argument may -optionally have a prefix <code>scheme-</code>. The list of supported scheme names +default is to use the <code class="code">full</code> scheme, which includes everything. This +option overrides that default. The <em class="emph">scheme</em> argument value may +optionally have a prefix <code class="code">scheme-</code>. The list of supported scheme names depends on what your package repository provides; see the interactive menu list. </p> </dd> -<dt><span><strong>-v</strong></span></dt> -<dd><span id="install_002dtl-_002dv"></span> -<p>Include verbose debugging messages; repeat for maximum debugging: <code>-v +<dt><strong class="strong">-texdir</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexdir-dir"></a> +<p>Specify the system installation directory; the default is +<code class="code">/usr/local/texlive/YYYY</code> for release YYYY. Specifying this option also +causes the <code class="code">TEXMFLOCAL</code>, <code class="code">TEXMFSYSCONFIG</code>, and <code class="code">TEXMFSYSVAR</code> +directories to be set as subdirectories of <em class="emph">dir</em>, so they don’t have to +be set individually. +</p> +<p>There is a brief summary of these directories trees at <a class="ref" href="#install_002dtl-DIRECTORY-TREES">DIRECTORY +TREES</a> below; for details on the trees set up by default, and their +intended usage, see the main TeX Live documentation at +<a class="url" href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a>. +</p> +</dd> +<dt><strong class="strong">-texuserdir</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexuserdir-dir"></a> +<p>Specify the user installation directory; the default is +<code class="code">~/.texliveYYYY</code> (except on Macs, where there is no leading dot). +Specifying this also causes the <code class="code">TEXMFHOME</code>, <code class="code">TEXMFCONFIG</code>, and +<code class="code">TEXMFVAR</code> directories to be set as subdirectories of <em class="emph">dir</em>. +</p> +</dd> +<dt><strong class="strong">-texmflocal</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexmflocal-dir"></a> +<p>Specify the <code class="code">TEXMFLOCAL</code> directory; the default is +<code class="code">/usr/local/texlive/texmf-local</code>, that is, one level up from the main +installation. This is so locally-installed packages can be easily used +across releases, which is usually desirable. Specifying the <code class="code">-texdir</code> +option changes this, putting <code class="code">TEXMFLOCAL</code> under the main tree. The +<code class="code">-texmflocal</code> option can be used to specify an explicit directory. +</p> +<p>Anything installed here must follow the TeX directory structure (TDS), +e.g., <code class="code">TEXMFHOME/tex/latex/mypkg/mypkg.sty</code>. TDS reference: +<a class="url" href="https://tug.org/tds">https://tug.org/tds</a>. +</p> +</dd> +<dt><strong class="strong">-texmfhome</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexmfhome-dir"></a> +<p>Specify the <code class="code">TEXMFHOME</code> directory; the default is <code class="code">~/texmf</code>, except on +Macs, where it is <code class="code">~/Library/texmf</code>. Analogously to <code class="code">TEXMFLOCAL</code>, the +<code class="code">-texuserdir</code> option changes this default. +</p> +<p>Also as with <code class="code">TEXMFLOCAL</code>, anything installed here must follow the TDS. +</p> +</dd> +<dt><strong class="strong">-texmfsysconfig</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexmfsysconfig-dir"></a> +</dd> +<dt><strong class="strong">-texmfsysvar</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexmfsysvar-dir"></a> +<p>Specify the <code class="code">TEXMFSYSCONFIG</code> and <code class="code">TEXMFSYSVAR</code> system directories. +</p> +</dd> +<dt><strong class="strong">-texmfconfig</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexmfconfig-dir"></a> +</dd> +<dt><strong class="strong">-texmfvar</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="install_002dtl-_002dtexmfvar-dir"></a> +<p>Specify the <code class="code">TEXMFCONFIG</code> and <code class="code">TEXMFVAR</code> user directories. +The defaults are <code class="code">~/.texliveYYYY/texmf-{config,var}</code>, except on Macs, +where the leading dot is omitted (<code class="code">~/texliveYYYY/...</code>). +</p> +</dd> +<dt><strong class="strong">-v</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dv"></a> +<p>Include verbose debugging messages; repeat for maximum debugging: <code class="code">-v -v</code>. (Further repeats are accepted but ignored.) </p> </dd> -<dt><span><strong>-version</strong>, <strong>–version</strong></span></dt> -<dd><span id="install_002dtl-_002dversion_002c-_002d_002dversion"></span> -<p>Output version information and exit. If <code>-v</code> is also given, the +<dt><strong class="strong">-version</strong>, <strong class="strong">--version</strong></dt> +<dd><a class="anchor" id="install_002dtl-_002dversion_002c-_002d_002dversion"></a> +<p>Output version information and exit. If <code class="code">-v</code> is also given, the versions of the TeX Live modules used are also reported. </p> </dd> @@ -3735,44 +3918,45 @@ versions of the TeX Live modules used are also reported. <hr> </div> -<div class="appendixsec" id="install_002dtl-PROFILES"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-PROFILES"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-ENVIRONMENT-VARIABLES" accesskey="n" rel="next">ENVIRONMENT VARIABLES</a>, Previous: <a href="#install_002dtl-OPTIONS" accesskey="p" rel="prev">OPTIONS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-ENVIRONMENT-VARIABLES" accesskey="n" rel="next">ENVIRONMENT VARIABLES</a>, Previous: <a href="#install_002dtl-OPTIONS" accesskey="p" rel="prev">install-tl OPTIONS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PROFILES"></span><h3 class="appendixsec">A.6 PROFILES</h3> +<h3 class="appendixsec" id="PROFILES">A.7 PROFILES</h3> -<p>A <em>profile</em> file contains all the values needed to perform an -installation. After a normal installation has finished, a profile for -that exact installation is written to the file <code>tlpkg/texlive.profile</code>. -In addition, from the text menu one can select <code>P</code> to save the current -setup as a profile at any time. +<p>A <em class="emph">profile</em> file normally contains all the values needed to perform an +installation. After a normal installation has finished, a profile for +that exact installation is written to the file <code class="code">tlpkg/texlive.profile</code>. +In addition, from the text menu one can select <code class="code">P</code> to save the current +setup as a profile at any time. These are small text files; feel free to +peruse and edit them according to your needs. </p> -<p>Such a profile file can be given as the argument to <code>-profile</code>, for +<p>Such a profile file can be given as the argument to <code class="code">-profile</code>, for example to redo the exact same installation on a different system. Alternatively, you can use a custom profile, most easily created by -starting from a generated one and changing values, or an empty file, -which will take all the defaults. +starting from a generated one and changing values. An empty profile +file will cause the installer to use the defaults. </p> <p>As mentioned above, the installer only supports selection by scheme and collections, not individual packages, so packages cannot be specified in -profile files either. Use <code>tlmgr</code> to work at the package level. +profile files either. Use <code class="code">tlmgr</code> to work at the package level. </p> <p>Within a profile file, each line consists of </p> -<p><em>variable</em> [<em>value</em>] +<p><em class="emph">variable</em> [<em class="emph">value</em>] </p> -<p>except for comment lines starting with <code>#</code>. The possible variable -names are listed below. Values, when present, are either <code>0</code> or <code>1</code> +<p>except for comment lines starting with <code class="code">#</code>. The possible variable +names are listed below. Values, when present, are either <code class="code">0</code> or <code class="code">1</code> for booleans, or strings (which must be specified without any quote characters). Leading whitespace is ignored. </p> -<p>If the variable <code>selected_scheme</code> is defined and <em>no</em> collection +<p>If the variable <code class="code">selected_scheme</code> is defined and <em class="emph">no</em> collection variables at all are defined, then the collections required by the specified scheme (which might change over time) are installed, without -explicitly listing them. This eases maintenance of profile files. If -any collections are specified in a profile, though, then all desired -collections must be given explicitly. +explicitly listing them. This eases maintenance of profile files. If any +collections are specified in a profile, though, then the scheme is +ignored and all desired collections must be given explicitly. </p> <p>For example, a line </p> @@ -3780,72 +3964,79 @@ collections must be given explicitly. </pre> <p>along with definitions for the installation directories (given below under "path options") suffices to install the "small" scheme with all -default options. The schemes are described in the <code>S</code> menu in the +default options. The schemes are described in the <code class="code">S</code> menu in the text installer, or equivalent. </p> -<p>Besides <code>selected_scheme</code>, here is the list of variable names supported -in a profile: +<p>In addition to <code class="code">selected_scheme</code>, here are the other variable names +supported in a profile: </p> -<p><strong>collection options</strong> (prefix <code>collection-</code>) +<p><strong class="strong">collection options</strong> (prefix <code class="code">collection-</code>) </p> <p>Collections are specified with a variable name with the prefix -<code>collection-</code> followed by a collection name; there is no value. For -instance, <code>collection-basic</code>. The collections are described in the -<code>C</code> menu. +<code class="code">collection-</code> followed by a collection name; there is no value. For +instance, <code class="code">collection-basic</code>. The collections are described in the +<code class="code">C</code> menu. </p> <p>Schemes and collections (and packages) are ultimately defined by the -files in the <code>tlpkg/tlpsrc/</code> source directory. +files in the <code class="code">tlpkg/tlpsrc/</code> source directory. </p> -<p><strong>path options</strong> +<p><strong class="strong">path options</strong> </p> -<p>It is best to define all of these, even though they may not be used in -the installation, so as to avoid unintentionally getting a default value -that could cause problems later. +<p>It is best to define all of these, even though they may not be used in a +given installation, so as to avoid unintentionally getting a default +value that could cause problems later. </p> <pre class="verbatim"> TEXDIR - TEXMFCONFIG - TEXMFVAR - TEXMFHOME TEXMFLOCAL TEXMFSYSCONFIG TEXMFSYSVAR + TEXMFCONFIG + TEXMFVAR + TEXMFHOME </pre> -<p><strong>installer options</strong> (prefix <code>instopt_</code>) +<p><strong class="strong">installer options</strong> (prefix <code class="code">instopt_</code>) </p> -<dl compact="compact"> -<dt><span><code>instopt_adjustpath</code> (default 0 on Unix, 1 on Windows)</span></dt> -<dd><span id="install_002dtl-instopt_005fadjustpath-_0028default-0-on-Unix_002c-1-on-Windows_0029"></span> -<p>Adjust <code>PATH</code> environment variable. +<dl class="table"> +<dt><code class="code">instopt_adjustpath</code> (default 0 on Unix, 1 on Windows)</dt> +<dd><a class="anchor" id="install_002dtl-instopt_005fadjustpath-_0028default-0-on-Unix_002c-1-on-Windows_0029"></a> +<p>Adjust <code class="code">PATH</code> environment variable. </p> </dd> -<dt><span><code>instopt_adjustrepo</code> (default 1)</span></dt> -<dd><span id="install_002dtl-instopt_005fadjustrepo-_0028default-1_0029"></span> +<dt><code class="code">instopt_adjustrepo</code> (default 1)</dt> +<dd><a class="anchor" id="install_002dtl-instopt_005fadjustrepo-_0028default-1_0029"></a> <p>Set remote repository to a multiplexed CTAN mirror after installation; -see <code>-repository</code> above. +see <code class="code">-repository</code> above. </p> </dd> -<dt><span><code>instopt_letter</code> (default 0)</span></dt> -<dd><span id="install_002dtl-instopt_005fletter-_0028default-0_0029"></span> +<dt><code class="code">instopt_letter</code> (default 0)</dt> +<dd><a class="anchor" id="install_002dtl-instopt_005fletter-_0028default-0_0029"></a> <p>Set letter size paper as the default, instead of a4. </p> </dd> -<dt><span><code>instopt_portable</code> (default 0)</span></dt> -<dd><span id="install_002dtl-instopt_005fportable-_0028default-0_0029"></span> -<p>Install for portable use, e.g., on a USB stick. +<dt><code class="code">instopt_portable</code> (default 0)</dt> +<dd><a class="anchor" id="install_002dtl-instopt_005fportable-_0028default-0_0029"></a> +<p>Install for portable use, e.g., on a USB stick, without touching the +host system. Specifically, this forces the user directories +<code class="code">TEXMFHOME</code>, <code class="code">TEXMFCONFIG</code>, <code class="code">TEXMFVAR</code> to be identical to the system +directories <code class="code">TEXMFLOCAL</code>, <code class="code">TEXMFSYSCONFIG</code>, <code class="code">TEXMFSYSVAR</code>, +respectively (regardless of other options and environment variable.) +</p> +<p>In addition, on Windows, it disables the desktop integration, path +adjustment, and file associations actions usually performed. </p> </dd> -<dt><span><code>instopt_write18_restricted</code> (default 1)</span></dt> -<dd><span id="install_002dtl-instopt_005fwrite18_005frestricted-_0028default-1_0029"></span> -<p>Enable <code>\write18</code> for a restricted set of programs. +<dt><code class="code">instopt_write18_restricted</code> (default 1)</dt> +<dd><a class="anchor" id="install_002dtl-instopt_005fwrite18_005frestricted-_0028default-1_0029"></a> +<p>Enable <code class="code">\write18</code> for a restricted set of programs. </p> </dd> </dl> -<p><strong>tlpdb options</strong> (prefix <code>tlpdbopt_</code>) +<p><strong class="strong">tlpdb options</strong> (prefix <code class="code">tlpdbopt_</code>) </p> -<p>The definitive list is given in <code>tlpkg/TeXLive/TLConfig.pm</code>, in the hash -<code>%TeXLive::TLConfig::TLPDBOptions</code>, together with explanations. All -items given there <em>except</em> for <code>tlpdbopt_location</code> can be specified. +<p>The definitive list is given in <code class="code">tlpkg/TeXLive/TLConfig.pm</code>, in the hash +<code class="code">%TeXLive::TLConfig::TLPDBOptions</code>, together with explanations. All +items given there <em class="emph">except</em> for <code class="code">tlpdbopt_location</code> can be specified. Here is the current list: </p> <pre class="verbatim"> tlpdbopt_autobackup @@ -3862,149 +4053,229 @@ Here is the current list: tlpdbopt_sys_man tlpdbopt_w32_multi_user </pre> -<p><strong>platform options</strong> (prefix <code>binary_</code>) +<p><strong class="strong">platform options</strong> (prefix <code class="code">binary_</code>) </p> -<p>For each supported platform in TeX Live (directories under <code>bin/</code>), the -variable <code>binary_</code><em>PLATFORM</em> can be set with value 1. For example: +<p>For each supported platform in TeX Live (directories under <code class="code">bin/</code>), the +variable <code class="code">binary_</code><em class="emph">PLATFORM</em> can be set with value 1. For example: </p> <pre class="verbatim"> binary_x86_64-linux 1 </pre> -<p>If no <code>binary_</code> settings are made, the default is whatever the +<p>If no <code class="code">binary_</code> settings are made, the default is whatever the current machine is running. </p> <p>In releases before 2017, many profile variables had different -names (not documented here; see the <code>install-tl</code> source). They are +names (not documented here; see the <code class="code">install-tl</code> source). They are accepted and transformed to the names given above. When a profile is written, the names above are always used. </p> <p>For more details on all of the above options, consult the TeX Live -installation manual, linked from <a href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a>. +installation manual, linked from <a class="url" href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a>. </p> <hr> </div> -<div class="appendixsec" id="install_002dtl-ENVIRONMENT-VARIABLES"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-ENVIRONMENT-VARIABLES"> +<div class="nav-panel"> <p> -Next: <a href="#install_002dtl-AUTHORS-AND-COPYRIGHT" accesskey="n" rel="next">AUTHORS AND COPYRIGHT</a>, Previous: <a href="#install_002dtl-PROFILES" accesskey="p" rel="prev">PROFILES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#install_002dtl-DIRECTORY-TREES" accesskey="n" rel="next">DIRECTORY TREES</a>, Previous: <a href="#install_002dtl-PROFILES" accesskey="p" rel="prev">PROFILES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="ENVIRONMENT-VARIABLES"></span><h3 class="appendixsec">A.7 ENVIRONMENT VARIABLES</h3> +<h3 class="appendixsec" id="ENVIRONMENT-VARIABLES">A.8 ENVIRONMENT VARIABLES</h3> -<p>For ease in scripting and debugging, <code>install-tl</code> looks for the +<p>For ease in scripting and debugging, <code class="code">install-tl</code> looks for the following environment variables. They are not of interest for normal user installations. </p> -<dl compact="compact"> -<dt><span><code>TEXLIVE_DOWNLOADER</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fDOWNLOADER"></span> +<dl class="table"> +<dt><code class="code">NOPERLDOC</code></dt> +<dd><a class="anchor" id="install_002dtl-NOPERLDOC"></a> +<p>Don’t try to run the <code class="code">--help</code> message through <code class="code">perldoc</code>. +</p> +</dd> +<dt><code class="code">TEXLIVE_DOWNLOADER</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fDOWNLOADER"></a> </dd> -<dt><span><code>TL_DOWNLOAD_PROGRAM</code></span></dt> -<dd><span id="install_002dtl-TL_005fDOWNLOAD_005fPROGRAM"></span> +<dt><code class="code">TL_DOWNLOAD_PROGRAM</code></dt> +<dd><a class="anchor" id="install_002dtl-TL_005fDOWNLOAD_005fPROGRAM"></a> </dd> -<dt><span><code>TL_DOWNLOAD_ARGS</code></span></dt> -<dd><span id="install_002dtl-TL_005fDOWNLOAD_005fARGS"></span> -<p>These override the normal choice of a download program; see the <code>tlmgr</code> +<dt><code class="code">TL_DOWNLOAD_ARGS</code></dt> +<dd><a class="anchor" id="install_002dtl-TL_005fDOWNLOAD_005fARGS"></a> +<p>These override the normal choice of a download program; see the <code class="code">tlmgr</code> documentation, e.g., -<a href="https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES">https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES</a>. +<a class="url" href="https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES">https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES</a>. </p> </dd> -<dt><span><code>TEXLIVE_INSTALL_ENV_NOCHECK</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fENV_005fNOCHECK"></span> -<p>Omit the check for environment variables containing the string <code>tex</code>. +<dt><code class="code">TEXLIVE_INSTALL_ENV_NOCHECK</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fENV_005fNOCHECK"></a> +<p>Omit the check for environment variables containing the string <code class="code">tex</code>. People developing TeX-related software are likely to have many such variables. </p> </dd> -<dt><span><code>TEXLIVE_INSTALL_NO_CONTEXT_CACHE</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fCONTEXT_005fCACHE"></span> +<dt><code class="code">TEXLIVE_INSTALL_NO_CONTEXT_CACHE</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fCONTEXT_005fCACHE"></a> <p>Omit creating the ConTeXt cache. This is useful for redistributors. </p> </dd> -<dt><span><code>TEXLIVE_INSTALL_NO_RESUME</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fRESUME"></span> +<dt><code class="code">TEXLIVE_INSTALL_NO_DISKCHECK</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fDISKCHECK"></a> +<p>If set to 1, omit free disk space check. By default, if a +POSIX-compliant <code class="code">df</code> program (supporting <code class="code">-Pk</code>) is available, the +installer checks for available disk space in the selected installation +location, and will abort installation if there is insufficient disk +space, plus a margin of 100MB. An equivalent check is made on Windows +(not involving <code class="code">df</code>). +</p> +</dd> +<dt><code class="code">TEXLIVE_INSTALL_NO_RESUME</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fRESUME"></a> <p>Omit check for installing on top of a previous installation and then asking about importing previous settings. </p> </dd> -<dt><span><code>TEXLIVE_INSTALL_NO_WELCOME</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fWELCOME"></span> +<dt><code class="code">TEXLIVE_INSTALL_NO_WELCOME</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fNO_005fWELCOME"></a> <p>Omit printing the welcome message after successful installation, e.g., when testing. </p> </dd> -<dt><span><code>TEXLIVE_INSTALL_PAPER</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fPAPER"></span> +<dt><code class="code">TEXLIVE_INSTALL_PAPER</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fPAPER"></a> <p>Set the default paper size for all relevant programs; must be either -<code>letter</code> or <code>a4</code>. The default is <code>a4</code>. +<code class="code">letter</code> or <code class="code">a4</code>. The default is <code class="code">a4</code>. </p> </dd> -<dt><span><code>TEXLIVE_INSTALL_PREFIX</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fPREFIX"></span> +<dt><code class="code">TEXLIVE_INSTALL_PREFIX</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fPREFIX"></a> </dd> -<dt><span><code>TEXLIVE_INSTALL_TEXMFCONFIG</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFCONFIG"></span> +<dt><code class="code">TEXLIVE_INSTALL_TEXMFCONFIG</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFCONFIG"></a> </dd> -<dt><span><code>TEXLIVE_INSTALL_TEXMFVAR</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFVAR"></span> +<dt><code class="code">TEXLIVE_INSTALL_TEXMFVAR</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFVAR"></a> </dd> -<dt><span><code>TEXLIVE_INSTALL_TEXMFHOME</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFHOME"></span> +<dt><code class="code">TEXLIVE_INSTALL_TEXMFHOME</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFHOME"></a> </dd> -<dt><span><code>TEXLIVE_INSTALL_TEXMFLOCAL</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFLOCAL"></span> +<dt><code class="code">TEXLIVE_INSTALL_TEXMFLOCAL</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFLOCAL"></a> </dd> -<dt><span><code>TEXLIVE_INSTALL_TEXMFSYSCONFIG</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFSYSCONFIG"></span> +<dt><code class="code">TEXLIVE_INSTALL_TEXMFSYSCONFIG</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFSYSCONFIG"></a> </dd> -<dt><span><code>TEXLIVE_INSTALL_TEXMFSYSVAR</code></span></dt> -<dd><span id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFSYSVAR"></span> -<p>Specify the respective directories. <code>TEXLIVE_INSTALL_PREFIX</code> defaults -to <code>/usr/local/texlive</code>. All the defaults can be seen by running the -installer interactively and then typing <code>D</code> for the directory menu. +<dt><code class="code">TEXLIVE_INSTALL_TEXMFSYSVAR</code></dt> +<dd><a class="anchor" id="install_002dtl-TEXLIVE_005fINSTALL_005fTEXMFSYSVAR"></a> +<p>Specify the respective directories. <code class="code">TEXLIVE_INSTALL_PREFIX</code> defaults +to <code class="code">/usr/local/texlive</code>. All the defaults can be seen by running the +installer interactively and then typing <code class="code">D</code> for the directory menu. </p> -<p>To override the so-called <code>TEXDIR</code>, which defaults to the release -directory within that prefix, e.g., <code>/usr/local/texlive/2020</code>, use a -profile file (q.v.). -</p> -</dd> -<dt><span><code>NOPERLDOC</code></span></dt> -<dd><span id="install_002dtl-NOPERLDOC"></span> -<p>Don’t try to run the <code>--help</code> message through <code>perldoc</code>. +<p>The various command line options for specifying directories override +these environment variables; since specifying both is usually +accidental, a warning is given if the values are different. </p> </dd> </dl> <hr> </div> -<div class="appendixsec" id="install_002dtl-AUTHORS-AND-COPYRIGHT"> -<div class="header"> +<div class="appendixsec-level-extent" id="install_002dtl-DIRECTORY-TREES"> +<div class="nav-panel"> +<p> +Next: <a href="#install_002dtl-BUGS" accesskey="n" rel="next">install-tl BUGS</a>, Previous: <a href="#install_002dtl-ENVIRONMENT-VARIABLES" accesskey="p" rel="prev">ENVIRONMENT VARIABLES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<h3 class="appendixsec" id="DIRECTORY-TREES">A.9 DIRECTORY TREES</h3> + +<p>There are a plethora of ways to specify the plethora of directory trees +used by TeX Live. By far the simplest, and recommended, approach is not +to change anything. The defaults suffice for the vast majority of +installations. +</p> +<p>But, for the sake of explanation, here is a table of the trees and the +command line options that change them. The first group of three are +system directories, and the second group of three are user directories; +the two groups are quite analogous. +</p> +<pre class="verbatim"> +----------------+--------------------------------------+--------------+------------------+ + | tree | default | group change | single change | + +----------------+--------------------------------------+--------------+------------------+ + | TEXMFLOCAL | /usr/local/texlive/texmf-local | --texdir | --texmflocal | + | TEXMFSYSVAR | /usr/local/texlive/YYYY/texmf-var | --texdir | --texmfsysvar | + | TEXMFSYSCONFIG | /usr/local/texlive/YYYY/texmf-config | --texdir | --texmfsysconfig | + +----------------+--------------------------------------+--------------+------------------+ + | TEXMFHOME | ~/texmf | --texuserdir | --texmfhome | + | TEXMFVAR | ~/.texliveYYYY/texmf-var | --texuserdir | --texmfvar | + | TEXMFCONFIG | ~/.texliveYYYY/texmf-config | --texuserdir | --texmfconfig | + +----------------+--------------------------------------+--------------+------------------+ +</pre> +<p>In addition, as mentioned in the previous section, each tree has an +environment variable <code class="code">TEXLIVE_INSTALL_</code><em class="emph">tree</em> which overrides the +default; command line and profile settings both override environment +variable settings. +</p> +<p>The defaults vary slightly on Macs, as explained above in <a class="ref" href="#install_002dtl-OPTIONS">OPTIONS</a>. +</p> +<p>For the user trees, the default value uses <code class="code">~</code>, and this is left as a +literal <code class="code">~</code> in <code class="code">texmf.cnf</code>. That way, each user can have their own +<code class="code">TEXMFHOME</code>, etc., as intended. On the other hand, for the system +trees, if <code class="code">~</code> is used during the installation, this is assumed to +simply be a typing shorthand, and the expanded home directory is written +in <code class="code">texmf.cnf</code>, since it doesn’t make sense to have user-specific +system directories. +</p> +<p>For more on the directory trees and their intended usage, see the main +TeX Live documentation at <a class="url" href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a>. +</p> +<hr> +</div> +<div class="appendixsec-level-extent" id="install_002dtl-BUGS"> +<div class="nav-panel"> +<p> +Next: <a href="#install_002dtl-AUTHORS-AND-COPYRIGHT" accesskey="n" rel="next">AUTHORS AND COPYRIGHT</a>, Previous: <a href="#install_002dtl-DIRECTORY-TREES" accesskey="p" rel="prev">DIRECTORY TREES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<h3 class="appendixsec" id="install_002dtl-BUGS-1">A.10 install-tl BUGS</h3> + +<p>The <code class="code">install-tl</code> script copies itself into the installed tree. +Usually, it can be run from there, using the installed tree as the +source for another installation. Occasionally, however, there may be +incompatibilities in the code of the new <code class="code">install-tl</code> and the +infrastructure, resulting in (probably) inscrutable Perl errors. The +way forward is to run <code class="code">install-tl</code> out of the installer package +(<code class="code">install-tl-unx.tar.gz</code> or <code class="code">install-tl.zip</code>) instead of the +installation. Feel free to also report the issue; usually the code +can be easily synced up again. +</p> +<p>By the way, do not try to use <code class="code">install-tl</code> to adjust options or +installed packages in an existing installed tree. Use <code class="code">tlmgr</code> instead. +</p> +<hr> +</div> +<div class="appendixsec-level-extent" id="install_002dtl-AUTHORS-AND-COPYRIGHT"> +<div class="nav-panel"> <p> -Previous: <a href="#install_002dtl-ENVIRONMENT-VARIABLES" accesskey="p" rel="prev">ENVIRONMENT VARIABLES</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#install_002dtl-BUGS" accesskey="p" rel="prev">install-tl BUGS</a>, Up: <a href="#install_002dtl" accesskey="u" rel="up">install-tl</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="AUTHORS-AND-COPYRIGHT"></span><h3 class="appendixsec">A.8 AUTHORS AND COPYRIGHT</h3> +<h3 class="appendixsec" id="AUTHORS-AND-COPYRIGHT">A.11 AUTHORS AND COPYRIGHT</h3> <p>This script and its documentation were written for the TeX Live -distribution (<a href="https://tug.org/texlive">https://tug.org/texlive</a>) and both are licensed under the +distribution (<a class="url" href="https://tug.org/texlive">https://tug.org/texlive</a>) and both are licensed under the GNU General Public License Version 2 or later. </p> -<p>$Id: install-tl 62146 2022-02-22 22:48:10Z karl $ +<p>$Id: install-tl 66112 2023-02-23 23:28:27Z karl $ </p> <hr> </div> </div> -<div class="appendix" id="tlmgr"> -<div class="header"> +<div class="appendix-level-extent" id="tlmgr"> +<div class="nav-panel"> <p> -Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#install_002dtl" accesskey="p" rel="prev">install-tl</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#install_002dtl" accesskey="p" rel="prev">install-tl</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="tlmgr-1"></span><h2 class="appendix">Appendix B tlmgr</h2> - +<h2 class="appendix" id="tlmgr-1">Appendix B tlmgr</h2> -<ul class="section-toc"> -<li><a href="#tlmgr-NAME" accesskey="1">NAME</a></li> -<li><a href="#tlmgr-SYNOPSIS" accesskey="2">SYNOPSIS</a></li> -<li><a href="#tlmgr-DESCRIPTION" accesskey="3">DESCRIPTION</a></li> -<li><a href="#tlmgr-EXAMPLES" accesskey="4">EXAMPLES</a></li> -<li><a href="#tlmgr-OPTIONS" accesskey="5">OPTIONS</a></li> +<ul class="mini-toc"> +<li><a href="#tlmgr-NAME" accesskey="1">tlmgr NAME</a></li> +<li><a href="#tlmgr-SYNOPSIS" accesskey="2">tlmgr SYNOPSIS</a></li> +<li><a href="#tlmgr-DESCRIPTION" accesskey="3">tlmgr DESCRIPTION</a></li> +<li><a href="#tlmgr-EXAMPLES" accesskey="4">tlmgr EXAMPLES</a></li> +<li><a href="#tlmgr-OPTIONS" accesskey="5">tlmgr OPTIONS</a></li> <li><a href="#tlmgr-ACTIONS" accesskey="6">ACTIONS</a></li> <li><a href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR" accesskey="7">CONFIGURATION FILE FOR TLMGR</a></li> <li><a href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION" accesskey="8">CRYPTOGRAPHIC VERIFICATION</a></li> @@ -4016,134 +4287,134 @@ Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#i <li><a href="#tlmgr-AUTHORS-AND-COPYRIGHT">AUTHORS AND COPYRIGHT</a></li> </ul> <hr> -<div class="appendixsec" id="tlmgr-NAME"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-NAME"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-SYNOPSIS" accesskey="n" rel="next">SYNOPSIS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-SYNOPSIS" accesskey="n" rel="next">tlmgr SYNOPSIS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="NAME-1"></span><h3 class="appendixsec">B.1 NAME</h3> +<h3 class="appendixsec" id="tlmgr-NAME-1">B.1 tlmgr NAME</h3> <p>tlmgr - the native TeX Live Manager </p> <hr> </div> -<div class="appendixsec" id="tlmgr-SYNOPSIS"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-SYNOPSIS"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-DESCRIPTION" accesskey="n" rel="next">DESCRIPTION</a>, Previous: <a href="#tlmgr-NAME" accesskey="p" rel="prev">NAME</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-DESCRIPTION" accesskey="n" rel="next">tlmgr DESCRIPTION</a>, Previous: <a href="#tlmgr-NAME" accesskey="p" rel="prev">tlmgr NAME</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="SYNOPSIS-1"></span><h3 class="appendixsec">B.2 SYNOPSIS</h3> +<h3 class="appendixsec" id="tlmgr-SYNOPSIS-1">B.2 tlmgr SYNOPSIS</h3> -<p>tlmgr [<em>option</em>...] <em>action</em> [<em>option</em>...] [<em>operand</em>...] +<p>tlmgr [<em class="emph">option</em>...] <em class="emph">action</em> [<em class="emph">option</em>...] [<em class="emph">operand</em>...] </p> <hr> </div> -<div class="appendixsec" id="tlmgr-DESCRIPTION"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-DESCRIPTION"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-EXAMPLES" accesskey="n" rel="next">EXAMPLES</a>, Previous: <a href="#tlmgr-SYNOPSIS" accesskey="p" rel="prev">SYNOPSIS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-EXAMPLES" accesskey="n" rel="next">tlmgr EXAMPLES</a>, Previous: <a href="#tlmgr-SYNOPSIS" accesskey="p" rel="prev">tlmgr SYNOPSIS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DESCRIPTION-1"></span><h3 class="appendixsec">B.3 DESCRIPTION</h3> +<h3 class="appendixsec" id="tlmgr-DESCRIPTION-1">B.3 tlmgr DESCRIPTION</h3> -<p><strong>tlmgr</strong> manages an existing TeX Live installation, both packages and +<p><strong class="strong">tlmgr</strong> manages an existing TeX Live installation, both packages and configuration options. For information on initially downloading and -installing TeX Live, see <a href="https://tug.org/texlive/acquire.html">https://tug.org/texlive/acquire.html</a>. +installing TeX Live, see <a class="url" href="https://tug.org/texlive/acquire.html">https://tug.org/texlive/acquire.html</a>. </p> <p>The most up-to-date version of this documentation (updated nightly from the development sources) is available at -<a href="https://tug.org/texlive/tlmgr.html">https://tug.org/texlive/tlmgr.html</a>, along with procedures for updating -<code>tlmgr</code> itself and information about test versions. +<a class="url" href="https://tug.org/texlive/tlmgr.html">https://tug.org/texlive/tlmgr.html</a>, along with procedures for updating +<code class="code">tlmgr</code> itself and information about test versions. </p> -<p>TeX Live is organized into a few top-level <em>schemes</em>, each of which is -specified as a different set of <em>collections</em> and <em>packages</em>, where a +<p>TeX Live is organized into a few top-level <em class="emph">schemes</em>, each of which is +specified as a different set of <em class="emph">collections</em> and <em class="emph">packages</em>, where a collection is a set of packages, and a package is what contains actual files. Schemes typically contain a mix of collections and packages, but each package is included in exactly one collection, no more and no less. A TeX Live installation can be customized and managed at any level. </p> -<p>See <a href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a> for all the TeX Live documentation +<p>See <a class="url" href="https://tug.org/texlive/doc">https://tug.org/texlive/doc</a> for all the TeX Live documentation available. </p> <hr> </div> -<div class="appendixsec" id="tlmgr-EXAMPLES"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-EXAMPLES"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-OPTIONS" accesskey="n" rel="next">OPTIONS</a>, Previous: <a href="#tlmgr-DESCRIPTION" accesskey="p" rel="prev">DESCRIPTION</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-OPTIONS" accesskey="n" rel="next">tlmgr OPTIONS</a>, Previous: <a href="#tlmgr-DESCRIPTION" accesskey="p" rel="prev">tlmgr DESCRIPTION</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="EXAMPLES"></span><h3 class="appendixsec">B.4 EXAMPLES</h3> +<h3 class="appendixsec" id="tlmgr-EXAMPLES-1">B.4 tlmgr EXAMPLES</h3> <p>After successfully installing TeX Live, here are a few common operations -with <code>tlmgr</code>: +with <code class="code">tlmgr</code>: </p> -<dl compact="compact"> -<dt><span><code>tlmgr option repository ctan</code></span></dt> -<dd><span id="tlmgr-tlmgr-option-repository-ctan"></span> +<dl class="table"> +<dt><code class="code">tlmgr option repository ctan</code></dt> +<dd><a class="anchor" id="tlmgr-tlmgr-option-repository-ctan"></a> </dd> -<dt><span><code>tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet</code></span></dt> -<dd><span id="tlmgr-tlmgr-option-repository-https_003a_002f_002fmirror_002ectan_002eorg_002fsystems_002ftexlive_002ftlnet"></span> -<p>Tell <code>tlmgr</code> to use a nearby CTAN mirror for future updates; useful if +<dt><code class="code">tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-tlmgr-option-repository-https_003a_002f_002fmirror_002ectan_002eorg_002fsystems_002ftexlive_002ftlnet"></a> +<p>Tell <code class="code">tlmgr</code> to use a nearby CTAN mirror for future updates; useful if you installed TeX Live from the DVD image and want to have continuing -updates. The two commands are equivalent; <code>ctan</code> is just an alias for +updates. The two commands are equivalent; <code class="code">ctan</code> is just an alias for the given url. </p> -<p>Caveat: <code>mirror.ctan.org</code> resolves to many different hosts, and they +<p>Caveat: <code class="code">mirror.ctan.org</code> resolves to many different hosts, and they are not perfectly synchronized; we recommend updating only daily (at most), and not more often. You can choose a particular mirror if problems; the list of all CTAN mirrors with the status of each is at -<a href="https://ctan.org/mirrors/mirmon">https://ctan.org/mirrors/mirmon</a>. +<a class="url" href="https://ctan.org/mirrors/mirmon">https://ctan.org/mirrors/mirmon</a>. </p> </dd> -<dt><span><code>tlmgr update --list</code></span></dt> -<dd><span id="tlmgr-tlmgr-update-_002d_002dlist"></span> +<dt><code class="code">tlmgr update --list</code></dt> +<dd><a class="anchor" id="tlmgr-tlmgr-update-_002d_002dlist"></a> <p>Report what would be updated without actually updating anything. </p> </dd> -<dt><span><code>tlmgr update --all</code></span></dt> -<dd><span id="tlmgr-tlmgr-update-_002d_002dall"></span> +<dt><code class="code">tlmgr update --all</code></dt> +<dd><a class="anchor" id="tlmgr-tlmgr-update-_002d_002dall"></a> <p>Make your local TeX installation correspond to what is in the package repository (typically useful when updating from CTAN). </p> </dd> -<dt><span><code>tlmgr info</code> <em>what</em></span></dt> -<dd><span id="tlmgr-tlmgr-info-what"></span> -<p>Display detailed information about a package <em>what</em>, such as the installation -status and description, of searches for <em>what</em> in all packages. +<dt><code class="code">tlmgr info</code> <em class="emph">what</em></dt> +<dd><a class="anchor" id="tlmgr-tlmgr-info-what"></a> +<p>Display detailed information about a package <em class="emph">what</em>, such as the installation +status and description, of searches for <em class="emph">what</em> in all packages. </p> </dd> </dl> -<p>For all the capabilities and details of <code>tlmgr</code>, please read the +<p>For all the capabilities and details of <code class="code">tlmgr</code>, please read the following voluminous information. </p> <hr> </div> -<div class="appendixsec" id="tlmgr-OPTIONS"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-OPTIONS"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-ACTIONS" accesskey="n" rel="next">ACTIONS</a>, Previous: <a href="#tlmgr-EXAMPLES" accesskey="p" rel="prev">EXAMPLES</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-ACTIONS" accesskey="n" rel="next">ACTIONS</a>, Previous: <a href="#tlmgr-EXAMPLES" accesskey="p" rel="prev">tlmgr EXAMPLES</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="OPTIONS-1"></span><h3 class="appendixsec">B.5 OPTIONS</h3> +<h3 class="appendixsec" id="tlmgr-OPTIONS-1">B.5 tlmgr OPTIONS</h3> -<p>The following options to <code>tlmgr</code> are global options, not specific to +<p>The following options to <code class="code">tlmgr</code> are global options, not specific to any action. All options, whether global or action-specific, can be given anywhere on the command line, and in any order. The first non-option argument will be the main action. In all cases, -<code>--</code><em>option</em> and <code>-</code><em>option</em> are equivalent, and an <code>=</code> is optional +<code class="code">--</code><em class="emph">option</em> and <code class="code">-</code><em class="emph">option</em> are equivalent, and an <code class="code">=</code> is optional between an option name and its value. </p> -<dl compact="compact"> -<dt><span><strong>–repository</strong> <em>url|path</em></span></dt> -<dd><span id="tlmgr-_002d_002drepository-url_007cpath"></span> +<dl class="table"> +<dt><strong class="strong">--repository</strong> <em class="emph">url|path</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002drepository-url_007cpath"></a> <p>Specify the package repository from which packages should be installed or updated, either a local directory or network location, as below. This overridesthe default package repository found in the installation’s TeX Live Package Database (a.k.a. the TLPDB, which is given entirely in the -file <code>tlpkg/texlive.tlpdb</code>). +file <code class="code">tlpkg/texlive.tlpdb</code>). </p> -<p>This <code>--repository</code> option changes the location only for the current -run; to make a permanent change, use <code>option repository</code> (see the -<a href="#tlmgr-option">option</a> action). +<p>This <code class="code">--repository</code> option changes the location only for the current +run; to make a permanent change, use <code class="code">option repository</code> (see the +<a class="ref" href="#tlmgr-option">option</a> action). </p> <p>As an example, you can choose a particular CTAN mirror with something like this: @@ -4152,234 +4423,233 @@ like this: </pre> <p>Of course a real hostname and its particular top-level CTAN directory have to be specified. The list of CTAN mirrors is available at -<a href="https://ctan.org/mirrors/mirmon">https://ctan.org/mirrors/mirmon</a>. +<a class="url" href="https://ctan.org/mirrors/mirmon">https://ctan.org/mirrors/mirmon</a>. </p> <p>Here’s an example of using a local directory: </p> <pre class="verbatim"> -repository /local/TL/repository </pre> -<p>For backward compatibility and convenience, <code>--location</code> and <code>--repo</code> +<p>For backward compatibility and convenience, <code class="code">--location</code> and <code class="code">--repo</code> are accepted as aliases for this option. </p> <p>Locations can be specified as any of the following: </p> -<dl compact="compact"> -<dt><span><code>/some/local/dir</code></span></dt> -<dd><span id="tlmgr-_002fsome_002flocal_002fdir"></span> +<dl class="table"> +<dt><code class="code">/some/local/dir</code></dt> +<dd><a class="anchor" id="tlmgr-_002fsome_002flocal_002fdir"></a> </dd> -<dt><span><code>file:/some/local/dir</code></span></dt> -<dd><span id="tlmgr-file_003a_002fsome_002flocal_002fdir"></span> +<dt><code class="code">file:/some/local/dir</code></dt> +<dd><a class="anchor" id="tlmgr-file_003a_002fsome_002flocal_002fdir"></a> <p>Equivalent ways of specifying a local directory. </p> </dd> -<dt><span><code>ctan</code></span></dt> -<dd><span id="tlmgr-ctan"></span> +<dt><code class="code">ctan</code></dt> +<dd><a class="anchor" id="tlmgr-ctan"></a> </dd> -<dt><span><code>https://mirror.ctan.org/systems/texlive/tlnet</code></span></dt> -<dd><span id="tlmgr-https_003a_002f_002fmirror_002ectan_002eorg_002fsystems_002ftexlive_002ftlnet"></span> +<dt><code class="code">https://mirror.ctan.org/systems/texlive/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-https_003a_002f_002fmirror_002ectan_002eorg_002fsystems_002ftexlive_002ftlnet"></a> <p>Pick a CTAN mirror automatically, trying for one that is both nearby and up-to-date. The chosen mirror is used for the entire download. The bare -<code>ctan</code> is merely an alias for the full url. (See <a href="https://ctan.org">https://ctan.org</a> for +<code class="code">ctan</code> is merely an alias for the full url. (See <a class="url" href="https://ctan.org">https://ctan.org</a> for more about CTAN and its mirrors.) </p> </dd> -<dt><span><code>http://server/path/to/tlnet</code></span></dt> -<dd><span id="tlmgr-http_003a_002f_002fserver_002fpath_002fto_002ftlnet"></span> +<dt><code class="code">http://server/path/to/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-http_003a_002f_002fserver_002fpath_002fto_002ftlnet"></a> <p>Standard HTTP. If the (default) LWP method is used, persistent -connections are supported. TL can also use <code>curl</code> or <code>wget</code> to do the +connections are supported. TL can also use <code class="code">curl</code> or <code class="code">wget</code> to do the downloads, or an arbitrary user-specified program, as described in the -<code>tlmgr</code> documentation -(<a href="https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES">https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES</a>). +<code class="code">tlmgr</code> documentation +(<a class="url" href="https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES">https://tug.org/texlive/doc/tlmgr.html#ENVIRONMENT-VARIABLES</a>). </p> </dd> -<dt><span><code>https://server/path/to/tlnet</code></span></dt> -<dd><span id="tlmgr-https_003a_002f_002fserver_002fpath_002fto_002ftlnet"></span> +<dt><code class="code">https://server/path/to/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-https_003a_002f_002fserver_002fpath_002fto_002ftlnet"></a> <p>Again, if the (default) LWP method is used, this supports persistent -connections. Unfortunately, some versions of <code>wget</code> and <code>curl</code> do not -support https, and even when <code>wget</code> supports https, certificates may be +connections. Unfortunately, some versions of <code class="code">wget</code> and <code class="code">curl</code> do not +support https, and even when <code class="code">wget</code> supports https, certificates may be rejected even when the certificate is fine, due to a lack of local certificate roots. The simplest workaround for this problem is to use http or ftp. </p> </dd> -<dt><span><code>ftp://server/path/to/tlnet</code></span></dt> -<dd><span id="tlmgr-ftp_003a_002f_002fserver_002fpath_002fto_002ftlnet"></span> +<dt><code class="code">ftp://server/path/to/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-ftp_003a_002f_002fserver_002fpath_002fto_002ftlnet"></a> <p>If the (default) LWP method is used, persistent connections are supported. </p> </dd> -<dt><span><code>user@machine:/path/to/tlnet</code></span></dt> -<dd><span id="tlmgr-user_0040machine_003a_002fpath_002fto_002ftlnet"></span> +<dt><code class="code">user@machine:/path/to/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-user_0040machine_003a_002fpath_002fto_002ftlnet"></a> </dd> -<dt><span><code>scp://user@machine/path/to/tlnet</code></span></dt> -<dd><span id="tlmgr-scp_003a_002f_002fuser_0040machine_002fpath_002fto_002ftlnet"></span> +<dt><code class="code">scp://user@machine/path/to/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-scp_003a_002f_002fuser_0040machine_002fpath_002fto_002ftlnet"></a> </dd> -<dt><span><code>ssh://user@machine/path/to/tlnet</code></span></dt> -<dd><span id="tlmgr-ssh_003a_002f_002fuser_0040machine_002fpath_002fto_002ftlnet"></span> -<p>These forms are equivalent; they all use <code>scp</code> to transfer files. Using -<code>ssh-agent</code> is recommended. (Info: -<a href="https://en.wikipedia.org/wiki/OpenSSH">https://en.wikipedia.org/wiki/OpenSSH</a>, -<a href="https://en.wikipedia.org/wiki/Ssh-agent">https://en.wikipedia.org/wiki/Ssh-agent</a>.) +<dt><code class="code">ssh://user@machine/path/to/tlnet</code></dt> +<dd><a class="anchor" id="tlmgr-ssh_003a_002f_002fuser_0040machine_002fpath_002fto_002ftlnet"></a> +<p>These forms are equivalent; they all use <code class="code">scp</code> to transfer files. Using +<code class="code">ssh-agent</code> is recommended. (Info: +<a class="url" href="https://en.wikipedia.org/wiki/OpenSSH">https://en.wikipedia.org/wiki/OpenSSH</a>, +<a class="url" href="https://en.wikipedia.org/wiki/Ssh-agent">https://en.wikipedia.org/wiki/Ssh-agent</a>.) </p> </dd> </dl> -<p>If the repository is on the network, trailing <code>/</code> characters and/or -trailing <code>/tlpkg</code> and/or <code>/archive</code> components are ignored. +<p>If the repository is on the network, trailing <code class="code">/</code> characters and/or +trailing <code class="code">/tlpkg</code> and/or <code class="code">/archive</code> components are ignored. </p> </dd> -<dt><span><strong>–gui</strong> [<em>action</em>]</span></dt> -<dd><span id="tlmgr-_002d_002dgui-_005baction_005d"></span> -<p>Two notable GUI front-ends for <code>tlmgr</code>, <code>tlshell</code> and <code>tlcockpit</code>, +<dt><strong class="strong">--gui</strong> [<em class="emph">action</em>]</dt> +<dd><a class="anchor" id="tlmgr-_002d_002dgui-_005baction_005d"></a> +<p>Two notable GUI front-ends for <code class="code">tlmgr</code>, <code class="code">tlshell</code> and <code class="code">tlcockpit</code>, are started up as separate programs; see their own documentation. </p> -<p><code>tlmgr</code> itself has a graphical interface as well as the command line -interface. You can give the option to invoke it, <code>--gui</code>, together with +<p><code class="code">tlmgr</code> itself has a graphical interface as well as the command line +interface. You can give the option to invoke it, <code class="code">--gui</code>, together with an action to be brought directly into the respective screen of the GUI. For example, running </p> <pre class="verbatim"> tlmgr --gui update </pre> <p>starts you directly at the update screen. If no action is given, the -GUI will be started at the main screen. See <a href="#tlmgr-GUI-FOR-TLMGR">GUI FOR TLMGR</a>. +GUI will be started at the main screen. See <a class="ref" href="#tlmgr-GUI-FOR-TLMGR">GUI FOR TLMGR</a>. </p> <p>However, the native GUI requires Perl/TK, which is no longer included in -TeX Live’s Perl distribution for Windows. You may find <code>tlshell</code> or -<code>tlcockpit</code> easier to work with. +TeX Live’s Perl distribution for Windows. You may find <code class="code">tlshell</code> or +<code class="code">tlcockpit</code> easier to work with. </p> </dd> -<dt><span><strong>–gui-lang</strong> <em>llcode</em></span></dt> -<dd><span id="tlmgr-_002d_002dgui_002dlang-llcode"></span> +<dt><strong class="strong">--gui-lang</strong> <em class="emph">llcode</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dgui_002dlang-llcode"></a> <p>By default, the GUI tries to deduce your language from the environment -(on Windows via the registry, on Unix via <code>LC_MESSAGES</code>). If that fails +(on Windows via the registry, on Unix via <code class="code">LC_MESSAGES</code>). If that fails you can select a different language by giving this option with a language code (based on ISO 639-1). Currently supported (but not necessarily completely translated) are: English (en, default)<!-- /@w -->, Czech (cs)<!-- /@w -->, German (de)<!-- /@w -->, French (fr)<!-- /@w -->, Italian (it)<!-- /@w -->, -Japanese (ja)<!-- /@w -->, Dutch (nl)<!-- /@w -->, Polish (pl)<!-- /@w -->, Brazilian Portuguese <span class="nolinebreak">(pt_BR)</span><!-- /@w -->, Russian (ru)<!-- /@w -->, Slovak (sk)<!-- /@w -->, Slovenian (sl)<!-- /@w -->, Serbian (sr)<!-- /@w -->, Ukrainian (uk)<!-- /@w -->, Vietnamese (vi)<!-- /@w -->, simplified Chinese <span class="nolinebreak">(zh_CN)</span><!-- /@w -->, and traditional Chinese <span class="nolinebreak">(zh_TW)</span><!-- /@w -->. +Japanese (ja)<!-- /@w -->, Dutch (nl)<!-- /@w -->, Polish (pl)<!-- /@w -->, Brazilian Portuguese <span class="w-nolinebreak-text">(pt_BR)</span><!-- /@w -->, Russian (ru)<!-- /@w -->, Slovak (sk)<!-- /@w -->, Slovenian (sl)<!-- /@w -->, Serbian (sr)<!-- /@w -->, Ukrainian (uk)<!-- /@w -->, Vietnamese (vi)<!-- /@w -->, simplified Chinese <span class="w-nolinebreak-text">(zh_CN)</span><!-- /@w -->, and traditional Chinese <span class="w-nolinebreak-text">(zh_TW)</span><!-- /@w -->. </p> <p>tlshell shares its message catalog with tlmgr. </p> </dd> -<dt><span><strong>–command-logfile</strong> <em>file</em></span></dt> -<dd><span id="tlmgr-_002d_002dcommand_002dlogfile-file"></span> -<p><code>tlmgr</code> logs the output of all programs invoked (mktexlr, mtxrun, fmtutil, +<dt><strong class="strong">--command-logfile</strong> <em class="emph">file</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dcommand_002dlogfile-file"></a> +<p><code class="code">tlmgr</code> logs the output of all programs invoked (mktexlr, mtxrun, fmtutil, updmap) to a separate log file, by default -<code>TEXMFSYSVAR/web2c/tlmgr-commands.log</code>. This option allows you to specify a +<code class="code">TEXMFSYSVAR/web2c/tlmgr-commands.log</code>. This option allows you to specify a different file for the log. </p> </dd> -<dt><span><strong>–debug-translation</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddebug_002dtranslation"></span> -<p>In GUI mode, this switch tells <code>tlmgr</code> to report any untranslated (or +<dt><strong class="strong">--debug-translation</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddebug_002dtranslation"></a> +<p>In GUI mode, this switch tells <code class="code">tlmgr</code> to report any untranslated (or missing) messages to standard error. This can help translators to see what remains to be done. </p> </dd> -<dt><span><strong>–machine-readable</strong></span></dt> -<dd><span id="tlmgr-_002d_002dmachine_002dreadable"></span> +<dt><strong class="strong">--machine-readable</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dmachine_002dreadable"></a> <p>Instead of the normal output intended for human consumption, write (to standard output) a fixed format more suitable for machine parsing. See -the <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT">MACHINE-READABLE OUTPUT</a> section below. +the <a class="ref" href="#tlmgr-MACHINE_002dREADABLE-OUTPUT">MACHINE-READABLE OUTPUT</a> section below. </p> </dd> -<dt><span><strong>–no-execute-actions</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002dexecute_002dactions"></span> +<dt><strong class="strong">--no-execute-actions</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002dexecute_002dactions"></a> <p>Suppress the execution of the execute actions as defined in the tlpsrc files. Documented only for completeness, as this is only useful in debugging. </p> </dd> -<dt><span><strong>–package-logfile</strong> <em>file</em></span></dt> -<dd><span id="tlmgr-_002d_002dpackage_002dlogfile-file"></span> -<p><code>tlmgr</code> logs all package actions (install, remove, update, failed +<dt><strong class="strong">--package-logfile</strong> <em class="emph">file</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dpackage_002dlogfile-file"></a> +<p><code class="code">tlmgr</code> logs all package actions (install, remove, update, failed updates, failed restores) to a separate log file, by default -<code>TEXMFSYSVAR/web2c/tlmgr.log</code>. This option allows you to specify a +<code class="code">TEXMFSYSVAR/web2c/tlmgr.log</code>. This option allows you to specify a different file for the log. </p> </dd> -<dt><span><strong>–pause</strong></span></dt> -<dd><span id="tlmgr-_002d_002dpause"></span> -<p>This option makes <code>tlmgr</code> wait for user input before exiting. Useful on +<dt><strong class="strong">--pause</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dpause"></a> +<p>This option makes <code class="code">tlmgr</code> wait for user input before exiting. Useful on Windows to avoid disappearing command windows. </p> </dd> -<dt><span><strong>–persistent-downloads</strong></span></dt> -<dd><span id="tlmgr-_002d_002dpersistent_002ddownloads"></span> +<dt><strong class="strong">--persistent-downloads</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dpersistent_002ddownloads"></a> </dd> -<dt><span><strong>–no-persistent-downloads</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002dpersistent_002ddownloads"></span> +<dt><strong class="strong">--no-persistent-downloads</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002dpersistent_002ddownloads"></a> <p>For network-based installations, this option (on by default) makes -<code>tlmgr</code> try to set up a persistent connection (using the <code>LWP</code> Perl +<code class="code">tlmgr</code> try to set up a persistent connection (using the <code class="code">LWP</code> Perl module). The idea is to open and reuse only one connection per session between your computer and the server, instead of initiating a new download for each package. </p> -<p>If this is not possible, <code>tlmgr</code> will fall back to using <code>wget</code>. To -disable these persistent connections, use <code>--no-persistent-downloads</code>. +<p>If this is not possible, <code class="code">tlmgr</code> will fall back to using <code class="code">wget</code>. To +disable these persistent connections, use <code class="code">--no-persistent-downloads</code>. </p> </dd> -<dt><span><strong>–pin-file</strong></span></dt> -<dd><span id="tlmgr-_002d_002dpin_002dfile"></span> -<p>Change the pinning file location from <code>TEXMFLOCAL/tlpkg/pinning.txt</code> -(see <a href="#tlmgr-Pinning">Pinning</a> below). Documented only for completeness, as this is +<dt><strong class="strong">--pin-file</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dpin_002dfile"></a> +<p>Change the pinning file location from <code class="code">TEXMFLOCAL/tlpkg/pinning.txt</code> +(see <a class="ref" href="#tlmgr-Pinning">Pinning</a> below). Documented only for completeness, as this is only useful in debugging. </p> </dd> -<dt><span><strong>–usermode</strong></span></dt> -<dd><span id="tlmgr-_002d_002dusermode"></span> -<p>Activates user mode for this run of <code>tlmgr</code>; see <a href="#tlmgr-USER-MODE">USER MODE</a> below. +<dt><strong class="strong">--usermode</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dusermode"></a> +<p>Activates user mode for this run of <code class="code">tlmgr</code>; see <a class="ref" href="#tlmgr-USER-MODE">USER MODE</a> below. </p> </dd> -<dt><span><strong>–usertree</strong> <em>dir</em></span></dt> -<dd><span id="tlmgr-_002d_002dusertree-dir"></span> -<p>Uses <em>dir</em> for the tree in user mode; see <a href="#tlmgr-USER-MODE">USER MODE</a> below. +<dt><strong class="strong">--usertree</strong> <em class="emph">dir</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dusertree-dir"></a> +<p>Uses <em class="emph">dir</em> for the tree in user mode; see <a class="ref" href="#tlmgr-USER-MODE">USER MODE</a> below. </p> </dd> -<dt><span><strong>–verify-repo=[none|main|all]</strong></span></dt> -<dd><span id="tlmgr-_002d_002dverify_002drepo_003d_005bnone_007cmain_007call_005d"></span> -<p>Defines the level of verification done: If <code>none</code> is specified, no -verification whatsoever is done. If <code>main</code> is given and a working GnuPG -(<code>gpg</code>) binary is available, all repositories are checked, but only the -main repository is required to be signed. If <code>all</code> is given, then all -repositories need to be signed. See <a href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION">CRYPTOGRAPHIC VERIFICATION</a> below +<dt><strong class="strong">--verify-repo=[none|main|all]</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dverify_002drepo_003d_005bnone_007cmain_007call_005d"></a> +<p>Defines the level of verification done: If <code class="code">none</code> is specified, no +verification whatsoever is done. If <code class="code">main</code> is given and a working GnuPG +(<code class="code">gpg</code>) binary is available, all repositories are checked, but only the +main repository is required to be signed. If <code class="code">all</code> is given, then all +repositories need to be signed. See <a class="ref" href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION">CRYPTOGRAPHIC VERIFICATION</a> below for details. </p> </dd> </dl> <p>The standard options for TeX Live programs are also accepted: -<code>--help/-h/-?</code>, <code>--version</code>, <code>-q</code> (no informational messages), <code>-v</code> +<code class="code">--help/-h/-?</code>, <code class="code">--version</code>, <code class="code">-q</code> (no informational messages), <code class="code">-v</code> (debugging messages, can be repeated). For the details about these, see -the <code>TeXLive::TLUtils</code> documentation. +the <code class="code">TeXLive::TLUtils</code> documentation. </p> -<p>The <code>--version</code> option shows version information about the TeX Live -release and about the <code>tlmgr</code> script itself. If <code>-v</code> is also given, +<p>The <code class="code">--version</code> option shows version information about the TeX Live +release and about the <code class="code">tlmgr</code> script itself. If <code class="code">-v</code> is also given, revision number for the loaded TeX Live Perl modules are shown, too. </p> <hr> </div> -<div class="appendixsec" id="tlmgr-ACTIONS"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-ACTIONS"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR" accesskey="n" rel="next">CONFIGURATION FILE FOR TLMGR</a>, Previous: <a href="#tlmgr-OPTIONS" accesskey="p" rel="prev">OPTIONS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR" accesskey="n" rel="next">CONFIGURATION FILE FOR TLMGR</a>, Previous: <a href="#tlmgr-OPTIONS" accesskey="p" rel="prev">tlmgr OPTIONS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="ACTIONS"></span><h3 class="appendixsec">B.6 ACTIONS</h3> - +<h3 class="appendixsec" id="ACTIONS">B.6 ACTIONS</h3> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tlmgr-help" accesskey="1">help</a></li> <li><a href="#tlmgr-version" accesskey="2">version</a></li> <li><a href="#tlmgr-backup" accesskey="3">backup</a></li> -<li><a href="#tlmgr-candidates-pkg" accesskey="4">candidates <em>pkg</em></a></li> -<li><a href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" accesskey="5">check [<em>option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a></li> +<li><a href="#tlmgr-candidates-pkg" accesskey="4">candidates <em class="emph">pkg</em></a></li> +<li><a href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" accesskey="5">check [<em class="emph">option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a></li> <li><a href="#tlmgr-conf" accesskey="6">conf</a></li> -<li><a href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" accesskey="7">dump-tlpdb [<em>option</em>...] [–json]</a></li> +<li><a href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" accesskey="7">dump-tlpdb [<em class="emph">option</em>...] [--json]</a></li> <li><a href="#tlmgr-generate" accesskey="8">generate</a></li> <li><a href="#tlmgr-gui" accesskey="9">gui</a></li> <li><a href="#tlmgr-info">info</a></li> <li><a href="#tlmgr-init_002dusertree">init-usertree</a></li> -<li><a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install [<em>option</em>...] <em>pkg</em>...</a></li> +<li><a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a></li> <li><a href="#tlmgr-key">key</a></li> <li><a href="#tlmgr-list">list</a></li> <li><a href="#tlmgr-option">option</a></li> @@ -4390,101 +4660,101 @@ Next: <a href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR" accesskey="n" rel="next">CON <li><a href="#tlmgr-postaction">postaction</a></li> <li><a href="#tlmgr-print_002dplatform">print-platform</a></li> <li><a href="#tlmgr-print_002dplatform_002dinfo">print-platform-info</a></li> -<li><a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">remove [<em>option</em>...] <em>pkg</em>...</a></li> +<li><a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">remove [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a></li> <li><a href="#tlmgr-repository">repository</a></li> <li><a href="#tlmgr-restore">restore</a></li> <li><a href="#tlmgr-search">search</a></li> <li><a href="#tlmgr-shell">shell</a></li> <li><a href="#tlmgr-show">show</a></li> <li><a href="#tlmgr-uninstall">uninstall</a></li> -<li><a href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">update [<em>option</em>...] [<em>pkg</em>...]</a></li> +<li><a href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">update [<em class="emph">option</em>...] [<em class="emph">pkg</em>...]</a></li> </ul> <hr> -<div class="appendixsubsec" id="tlmgr-help"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-help"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-version" accesskey="n" rel="next">version</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="help"></span><h4 class="appendixsubsec">B.6.1 help</h4> +<h4 class="appendixsubsec" id="help">B.6.1 help</h4> -<p>Display this help information and exit (same as <code>--help</code>, and on the -web at <a href="https://tug.org/texlive/doc/tlmgr.html">https://tug.org/texlive/doc/tlmgr.html</a>). Sometimes the -<code>perldoc</code> and/or <code>PAGER</code> programs on the system have problems, +<p>Display this help information and exit (same as <code class="code">--help</code>, and on the +web at <a class="url" href="https://tug.org/texlive/doc/tlmgr.html">https://tug.org/texlive/doc/tlmgr.html</a>). Sometimes the +<code class="code">perldoc</code> and/or <code class="code">PAGER</code> programs on the system have problems, resulting in control characters being literally output. This can’t -always be detected, but you can set the <code>NOPERLDOC</code> environment -variable and <code>perldoc</code> will not be used. +always be detected, but you can set the <code class="code">NOPERLDOC</code> environment +variable and <code class="code">perldoc</code> will not be used. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-version"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-version"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-backup" accesskey="n" rel="next">backup</a>, Previous: <a href="#tlmgr-help" accesskey="p" rel="prev">help</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="version"></span><h4 class="appendixsubsec">B.6.2 version</h4> +<h4 class="appendixsubsec" id="version">B.6.2 version</h4> -<p>Gives version information (same as <code>--version</code>). +<p>Gives version information (same as <code class="code">--version</code>). </p> -<p>If <code>-v</code> has been given the revisions of the used modules are reported, too. +<p>If <code class="code">-v</code> has been given the revisions of the used modules are reported, too. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-backup"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-backup"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-candidates-pkg" accesskey="n" rel="next">candidates <em>pkg</em></a>, Previous: <a href="#tlmgr-version" accesskey="p" rel="prev">version</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-candidates-pkg" accesskey="n" rel="next">candidates <em class="emph">pkg</em></a>, Previous: <a href="#tlmgr-version" accesskey="p" rel="prev">version</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="backup"></span><h4 class="appendixsubsec">B.6.3 backup</h4> +<h4 class="appendixsubsec" id="backup">B.6.3 backup</h4> -<dl compact="compact"> -<dt><span><strong>backup [<em>option</em>...] –all</strong></span></dt> -<dd><span id="tlmgr-backup-_005boption_002e_002e_002e_005d-_002d_002dall"></span> +<dl class="table"> +<dt><strong class="strong">backup [<em class="emph">option</em>...] --all</strong></dt> +<dd><a class="anchor" id="tlmgr-backup-_005boption_002e_002e_002e_005d-_002d_002dall"></a> </dd> -<dt><span><strong>backup [<em>option</em>...] <em>pkg</em>...</strong></span></dt> -<dd><span id="tlmgr-backup-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"></span> -<p>If the <code>--clean</code> option is not specified, this action makes a backup of -the given packages, or all packages given <code>--all</code>. These backups are -saved to the value of the <code>--backupdir</code> option, if that is an existing -and writable directory. If <code>--backupdir</code> is not given, the <code>backupdir</code> +<dt><strong class="strong">backup [<em class="emph">option</em>...] <em class="emph">pkg</em>...</strong></dt> +<dd><a class="anchor" id="tlmgr-backup-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"></a> +<p>If the <code class="code">--clean</code> option is not specified, this action makes a backup of +the given packages, or all packages given <code class="code">--all</code>. These backups are +saved to the value of the <code class="code">--backupdir</code> option, if that is an existing +and writable directory. If <code class="code">--backupdir</code> is not given, the <code class="code">backupdir</code> option setting in the TLPDB is used, if present. If both are missing, no -backups are made. (The installer sets <code>backupdir</code> to -<code>.../tlpkg/backups</code>, under the TL root installation directory, so it is -usually defined; see the <a href="#tlmgr-option">option</a> description for more information.) -</p> -<p>If the <code>--clean</code> option is specified, backups are pruned (removed) -instead of saved. The optional integer value <em>N</em> may be specified to -set the number of backups that will be retained when cleaning. If <code>N</code> -is not given, the value of the <code>autobackup</code> option is used. If both are +backups are made. (The installer sets <code class="code">backupdir</code> to +<code class="code">.../tlpkg/backups</code>, under the TL root installation directory, so it is +usually defined; see the <a class="ref" href="#tlmgr-option">option</a> description for more information.) +</p> +<p>If the <code class="code">--clean</code> option is specified, backups are pruned (removed) +instead of saved. The optional integer value <em class="emph">N</em> may be specified to +set the number of backups that will be retained when cleaning. If <code class="code">N</code> +is not given, the value of the <code class="code">autobackup</code> option is used. If both are missing, an error is issued. For more details of backup pruning, see -the <code>option</code> action. +the <code class="code">option</code> action. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–backupdir</strong> <em>directory</em></span></dt> -<dd><span id="tlmgr-_002d_002dbackupdir-directory"></span> -<p>Overrides the <code>backupdir</code> option setting in the TLPDB. -The <em>directory</em> argument is required and must specify an existing, +<dl class="table"> +<dt><strong class="strong">--backupdir</strong> <em class="emph">directory</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dbackupdir-directory"></a> +<p>Overrides the <code class="code">backupdir</code> option setting in the TLPDB. +The <em class="emph">directory</em> argument is required and must specify an existing, writable directory where backups are to be placed. </p> </dd> -<dt><span><strong>–all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dall"></span> -<p>If <code>--clean</code> is not specified, make a backup of all packages in the TeX +<dt><strong class="strong">--all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dall"></a> +<p>If <code class="code">--clean</code> is not specified, make a backup of all packages in the TeX Live installation; this will take quite a lot of space and time. If -<code>--clean</code> is specified, all packages are pruned. +<code class="code">--clean</code> is specified, all packages are pruned. </p> </dd> -<dt><span><strong>–clean</strong>[=<em>N</em>]</span></dt> -<dd><span id="tlmgr-_002d_002dclean_005b_003dN_005d"></span> +<dt><strong class="strong">--clean</strong>[=<em class="emph">N</em>]</dt> +<dd><a class="anchor" id="tlmgr-_002d_002dclean_005b_003dN_005d"></a> <p>Instead of making backups, prune the backup directory of old backups, as -explained above. The optional integer argument <em>N</em> overrides the -<code>autobackup</code> option set in the TLPDB. You must use <code>--all</code> or a list +explained above. The optional integer argument <em class="emph">N</em> overrides the +<code class="code">autobackup</code> option set in the TLPDB. You must use <code class="code">--all</code> or a list of packages together with this option, as desired. </p> </dd> -<dt><span><strong>–dry-run</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddry_002drun"></span> +<dt><strong class="strong">--dry-run</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddry_002drun"></a> <p>Nothing is actually backed up or removed; instead, the actions to be performed are written to the terminal. </p> @@ -4496,76 +4766,76 @@ performed are written to the terminal. <hr> </div> -<div class="appendixsubsec" id="tlmgr-candidates-pkg"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-candidates-pkg"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" accesskey="n" rel="next">check [<em>option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a>, Previous: <a href="#tlmgr-backup" accesskey="p" rel="prev">backup</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" accesskey="n" rel="next">check [<em class="emph">option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a>, Previous: <a href="#tlmgr-backup" accesskey="p" rel="prev">backup</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="candidates-pkg"></span><h4 class="appendixsubsec">B.6.4 candidates <em>pkg</em></h4> +<h4 class="appendixsubsec" id="candidates-pkg">B.6.4 candidates <em class="emph">pkg</em></h4> -<p>Shows the available candidate repositories for package <em>pkg</em>. -See <a href="#tlmgr-MULTIPLE-REPOSITORIES">MULTIPLE REPOSITORIES</a> below. +<p>Shows the available candidate repositories for package <em class="emph">pkg</em>. +See <a class="ref" href="#tlmgr-MULTIPLE-REPOSITORIES">MULTIPLE REPOSITORIES</a> below. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-conf" accesskey="n" rel="next">conf</a>, Previous: <a href="#tlmgr-candidates-pkg" accesskey="p" rel="prev">candidates <em>pkg</em></a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-conf" accesskey="n" rel="next">conf</a>, Previous: <a href="#tlmgr-candidates-pkg" accesskey="p" rel="prev">candidates <em class="emph">pkg</em></a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d"></span><h4 class="appendixsubsec">B.6.5 check [<em>option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</h4> +<h4 class="appendixsubsec" id="check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d">B.6.5 check [<em class="emph">option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</h4> <p>Execute one (or all) check(s) of the consistency of the installation. If no problems are found, there will be no output. (To get a view of -what is being done, run <code>tlmgr -v check</code>.) +what is being done, run <code class="code">tlmgr -v check</code>.) </p> -<dl compact="compact"> -<dt><span><strong>depends</strong></span></dt> -<dd><span id="tlmgr-depends"></span> +<dl class="table"> +<dt><strong class="strong">depends</strong></dt> +<dd><a class="anchor" id="tlmgr-depends"></a> <p>Lists those packages which occur as dependencies in an installed collection, but are themselves not installed, and those packages which are not contained in any collection. </p> -<p>If you call <code>tlmgr check collections</code> this test will be carried out -instead since former versions for <code>tlmgr</code> called it that way. +<p>If you call <code class="code">tlmgr check collections</code> this test will be carried out +instead since former versions for <code class="code">tlmgr</code> called it that way. </p> </dd> -<dt><span><strong>executes</strong></span></dt> -<dd><span id="tlmgr-executes"></span> -<p>Check that the files referred to by <code>execute</code> directives in the TeX +<dt><strong class="strong">executes</strong></dt> +<dd><a class="anchor" id="tlmgr-executes"></a> +<p>Check that the files referred to by <code class="code">execute</code> directives in the TeX Live Database are present. </p> </dd> -<dt><span><strong>files</strong></span></dt> -<dd><span id="tlmgr-files"></span> -<p>Checks that all files listed in the local TLPDB (<code>texlive.tlpdb</code>) are +<dt><strong class="strong">files</strong></dt> +<dd><a class="anchor" id="tlmgr-files"></a> +<p>Checks that all files listed in the local TLPDB (<code class="code">texlive.tlpdb</code>) are actually present, and lists those missing. </p> </dd> -<dt><span><strong>runfiles</strong></span></dt> -<dd><span id="tlmgr-runfiles"></span> +<dt><strong class="strong">runfiles</strong></dt> +<dd><a class="anchor" id="tlmgr-runfiles"></a> <p>List those filenames that are occurring more than one time in the runfiles sections, except for known duplicates. </p> </dd> -<dt><span><strong>texmfdbs</strong></span></dt> -<dd><span id="tlmgr-texmfdbs"></span> -<p>Checks related to the <code>ls-R</code> files. If you have defined new trees, or -changed the <code>TEXMF</code> or <code>TEXMFDBS</code> variables, it can’t hurt to run +<dt><strong class="strong">texmfdbs</strong></dt> +<dd><a class="anchor" id="tlmgr-texmfdbs"></a> +<p>Checks related to the <code class="code">ls-R</code> files. If you have defined new trees, or +changed the <code class="code">TEXMF</code> or <code class="code">TEXMFDBS</code> variables, it can’t hurt to run this. It checks that: </p> -<dl compact="compact"> -<dt><span>- all items in <code>TEXMFDBS</code> have the <code>!!</code> prefix.</span></dt> -<dd><span id="tlmgr-_002d-all-items-in-TEXMFDBS-have-the-_0021_0021-prefix_002e"></span> +<dl class="table"> +<dt>- all items in <code class="code">TEXMFDBS</code> have the <code class="code">!!</code> prefix.</dt> +<dd><a class="anchor" id="tlmgr-_002d-all-items-in-TEXMFDBS-have-the-_0021_0021-prefix_002e"></a> </dd> -<dt><span>- all items in <code>TEXMFBDS</code> have an <code>ls-R</code> file (if they exist at all).</span></dt> -<dd><span id="tlmgr-_002d-all-items-in-TEXMFBDS-have-an-ls_002dR-file-_0028if-they-exist-at-all_0029_002e"></span> +<dt>- all items in <code class="code">TEXMFBDS</code> have an <code class="code">ls-R</code> file (if they exist at all).</dt> +<dd><a class="anchor" id="tlmgr-_002d-all-items-in-TEXMFBDS-have-an-ls_002dR-file-_0028if-they-exist-at-all_0029_002e"></a> </dd> -<dt><span>- all items in <code>TEXMF</code> with <code>!!</code> are listed in <code>TEXMFDBS</code>.</span></dt> -<dd><span id="tlmgr-_002d-all-items-in-TEXMF-with-_0021_0021-are-listed-in-TEXMFDBS_002e"></span> +<dt>- all items in <code class="code">TEXMF</code> with <code class="code">!!</code> are listed in <code class="code">TEXMFDBS</code>.</dt> +<dd><a class="anchor" id="tlmgr-_002d-all-items-in-TEXMF-with-_0021_0021-are-listed-in-TEXMFDBS_002e"></a> </dd> -<dt><span>- all items in <code>TEXMF</code> with an <code>ls-R</code> file are listed in <code>TEXMFDBS</code>.</span></dt> -<dd><span id="tlmgr-_002d-all-items-in-TEXMF-with-an-ls_002dR-file-are-listed-in-TEXMFDBS_002e"></span> +<dt>- all items in <code class="code">TEXMF</code> with an <code class="code">ls-R</code> file are listed in <code class="code">TEXMFDBS</code>.</dt> +<dd><a class="anchor" id="tlmgr-_002d-all-items-in-TEXMF-with-an-ls_002dR-file-are-listed-in-TEXMFDBS_002e"></a> </dd> </dl> @@ -4574,10 +4844,10 @@ this. It checks that: <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–use-svn</strong></span></dt> -<dd><span id="tlmgr-_002d_002duse_002dsvn"></span> -<p>Use the output of <code>svn status</code> instead of listing the files; for +<dl class="table"> +<dt><strong class="strong">--use-svn</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002duse_002dsvn"></a> +<p>Use the output of <code class="code">svn status</code> instead of listing the files; for checking the TL development repository. (This is run nightly.) </p> </dd> @@ -4585,60 +4855,60 @@ checking the TL development repository. (This is run nightly.) <hr> </div> -<div class="appendixsubsec" id="tlmgr-conf"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-conf"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" accesskey="n" rel="next">dump-tlpdb [<em>option</em>...] [–json]</a>, Previous: <a href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" accesskey="p" rel="prev">check [<em>option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" accesskey="n" rel="next">dump-tlpdb [<em class="emph">option</em>...] [--json]</a>, Previous: <a href="#tlmgr-check-_005boption_002e_002e_002e_005d-_005bdepends_007cexecutes_007cfiles_007crunfiles_007ctexmfdbs_007call_005d" accesskey="p" rel="prev">check [<em class="emph">option</em>...] [depends|executes|files|runfiles|texmfdbs|all]</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="conf"></span><h4 class="appendixsubsec">B.6.6 conf</h4> +<h4 class="appendixsubsec" id="conf">B.6.6 conf</h4> -<dl compact="compact"> -<dt><span><strong>conf [texmf|tlmgr|updmap [–conffile <em>file</em>] [–delete] [<em>key</em> [<em>value</em>]]]</strong></span></dt> -<dd><span id="tlmgr-conf-_005btexmf_007ctlmgr_007cupdmap-_005b_002d_002dconffile-file_005d-_005b_002d_002ddelete_005d-_005bkey-_005bvalue_005d_005d_005d"></span> +<dl class="table"> +<dt><strong class="strong">conf [texmf|tlmgr|updmap [--conffile <em class="emph">file</em>] [--delete] [<em class="emph">key</em> [<em class="emph">value</em>]]]</strong></dt> +<dd><a class="anchor" id="tlmgr-conf-_005btexmf_007ctlmgr_007cupdmap-_005b_002d_002dconffile-file_005d-_005b_002d_002ddelete_005d-_005bkey-_005bvalue_005d_005d_005d"></a> </dd> -<dt><span><strong>conf auxtrees [–conffile <em>file</em>] [show|add|remove] [<em>value</em>]</strong></span></dt> -<dd><span id="tlmgr-conf-auxtrees-_005b_002d_002dconffile-file_005d-_005bshow_007cadd_007cremove_005d-_005bvalue_005d"></span> -<p>With only <code>conf</code>, show general configuration information for TeX Live, +<dt><strong class="strong">conf auxtrees [--conffile <em class="emph">file</em>] [show|add|remove] [<em class="emph">value</em>]</strong></dt> +<dd><a class="anchor" id="tlmgr-conf-auxtrees-_005b_002d_002dconffile-file_005d-_005bshow_007cadd_007cremove_005d-_005bvalue_005d"></a> +<p>With only <code class="code">conf</code>, show general configuration information for TeX Live, including active configuration files, path settings, and more. This is -like running <code>texconfig conf</code>, but works on all supported platforms. +like running <code class="code">texconfig conf</code>, but works on all supported platforms. </p> -<p>With one of <code>conf texmf</code>, <code>conf tlmgr</code>, or <code>conf updmap</code>, shows all -key/value pairs (i.e., all settings) as saved in <code>ROOT/texmf.cnf</code>, the -user-specific <code>tlmgr</code> configuration file (see below), or the first -found (via <code>kpsewhich</code>) <code>updmap.cfg</code> file, respectively. +<p>With one of <code class="code">conf texmf</code>, <code class="code">conf tlmgr</code>, or <code class="code">conf updmap</code>, shows all +key/value pairs (i.e., all settings) as saved in <code class="code">ROOT/texmf.cnf</code>, the +user-specific <code class="code">tlmgr</code> configuration file (see below), or the first +found (via <code class="code">kpsewhich</code>) <code class="code">updmap.cfg</code> file, respectively. </p> -<p>If <em>key</em> is given in addition, shows the value of only that <em>key</em> in -the respective file. If option <em>–delete</em> is also given, the value in +<p>If <em class="emph">key</em> is given in addition, shows the value of only that <em class="emph">key</em> in +the respective file. If option <em class="emph">--delete</em> is also given, the value in the given configuration file is entirely removed (not just commented out). </p> -<p>If <em>value</em> is given in addition, <em>key</em> is set to <em>value</em> in the -respective file. <em>No error checking is done!</em> +<p>If <em class="emph">value</em> is given in addition, <em class="emph">key</em> is set to <em class="emph">value</em> in the +respective file. <em class="emph">No error checking is done!</em> </p> -<p>The <code>PATH</code> value shown by <code>conf</code> is as used by <code>tlmgr</code>. The -directory in which the <code>tlmgr</code> executable is found is automatically +<p>The <code class="code">PATH</code> value shown by <code class="code">conf</code> is as used by <code class="code">tlmgr</code>. The +directory in which the <code class="code">tlmgr</code> executable is found is automatically prepended to the PATH value inherited from the environment. </p> <p>Here is a practical example of changing configuration values. If the -execution of (some or all) system commands via <code>\write18</code> was left +execution of (some or all) system commands via <code class="code">\write18</code> was left enabled during installation, you can disable it afterwards: </p> <pre class="verbatim"> tlmgr conf texmf shell_escape 0 </pre> -<p>The subcommand <code>auxtrees</code> allows adding and removing arbitrary -additional texmf trees, completely under user control. <code>auxtrees show</code> -shows the list of additional trees, <code>auxtrees add</code> <em>tree</em> adds a tree -to the list, and <code>auxtrees remove</code> <em>tree</em> removes a tree from the list -(if present). The trees should not contain an <code>ls-R</code> file (or files -will not be found if the <code>ls-R</code> becomes stale). This works by -manipulating the Kpathsea variable <code>TEXMFAUXTREES</code>, in (by default) -<code>ROOT/texmf.cnf</code>. Example: +<p>The subcommand <code class="code">auxtrees</code> allows adding and removing arbitrary +additional texmf trees, completely under user control. <code class="code">auxtrees show</code> +shows the list of additional trees, <code class="code">auxtrees add</code> <em class="emph">tree</em> adds a tree +to the list, and <code class="code">auxtrees remove</code> <em class="emph">tree</em> removes a tree from the list +(if present). The trees should not contain an <code class="code">ls-R</code> file (or files +will not be found if the <code class="code">ls-R</code> becomes stale). This works by +manipulating the Kpathsea variable <code class="code">TEXMFAUXTREES</code>, in (by default) +<code class="code">ROOT/texmf.cnf</code>. Example: </p> <pre class="verbatim"> tlmgr conf auxtrees add /quick/test/tree tlmgr conf auxtrees remove /quick/test/tree </pre> <p>In all cases the configuration file can be explicitly specified via the -option <code>--conffile</code> <em>file</em>, e.g., if you don’t want to change the +option <code class="code">--conffile</code> <em class="emph">file</em>, e.g., if you don’t want to change the system-wide configuration. </p> <p>Warning: The general facility for changing configuration values is here, @@ -4651,104 +4921,104 @@ breakage is possible. <hr> </div> -<div class="appendixsubsec" id="tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-generate" accesskey="n" rel="next">generate</a>, Previous: <a href="#tlmgr-conf" accesskey="p" rel="prev">conf</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d"></span><h4 class="appendixsubsec">B.6.7 dump-tlpdb [<em>option</em>...] [–json]</h4> +<h4 class="appendixsubsec" id="dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d">B.6.7 dump-tlpdb [<em class="emph">option</em>...] [--json]</h4> <p>Dump complete local or remote TLPDB to standard output, as-is. The -output is analogous to the <code>--machine-readable</code> output; see -<a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT">MACHINE-READABLE OUTPUT</a> section. +output is analogous to the <code class="code">--machine-readable</code> output; see +<a class="ref" href="#tlmgr-MACHINE_002dREADABLE-OUTPUT">MACHINE-READABLE OUTPUT</a> section. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–local</strong></span></dt> -<dd><span id="tlmgr-_002d_002dlocal"></span> +<dl class="table"> +<dt><strong class="strong">--local</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dlocal"></a> <p>Dump the local TLPDB. </p> </dd> -<dt><span><strong>–remote</strong></span></dt> -<dd><span id="tlmgr-_002d_002dremote"></span> +<dt><strong class="strong">--remote</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dremote"></a> <p>Dump the remote TLPDB. </p> </dd> -<dt><span><strong>–json</strong></span></dt> -<dd><span id="tlmgr-_002d_002djson"></span> +<dt><strong class="strong">--json</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002djson"></a> <p>Instead of dumping the actual content, the database is dumped as -JSON. For the format of JSON output see <code>tlpkg/doc/JSON-formats.txt</code>, -format definition <code>TLPDB</code>. +JSON. For the format of JSON output see <code class="code">tlpkg/doc/JSON-formats.txt</code>, +format definition <code class="code">TLPDB</code>. </p> </dd> </dl> -<p>Exactly one of <code>--local</code> and <code>--remote</code> must be given. +<p>Exactly one of <code class="code">--local</code> and <code class="code">--remote</code> must be given. </p> <p>In either case, the first line of the output specifies the repository location, in this format: </p> <pre class="verbatim"> "location-url" "\t" location </pre> -<p>where <code>location-url</code> is the literal field name, followed by a tab, and -<em>location</em> is the file or url to the repository. +<p>where <code class="code">location-url</code> is the literal field name, followed by a tab, and +<em class="emph">location</em> is the file or url to the repository. </p> <p>Line endings may be either LF or CRLF depending on the current platform. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-generate"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-generate"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-gui" accesskey="n" rel="next">gui</a>, Previous: <a href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" accesskey="p" rel="prev">dump-tlpdb [<em>option</em>...] [–json]</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-gui" accesskey="n" rel="next">gui</a>, Previous: <a href="#tlmgr-dump_002dtlpdb-_005boption_002e_002e_002e_005d-_005b_002d_002djson_005d" accesskey="p" rel="prev">dump-tlpdb [<em class="emph">option</em>...] [--json]</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="generate"></span><h4 class="appendixsubsec">B.6.8 generate</h4> +<h4 class="appendixsubsec" id="generate">B.6.8 generate</h4> -<dl compact="compact"> -<dt><span><strong>generate [<em>option</em>...] language</strong></span></dt> -<dd><span id="tlmgr-generate-_005boption_002e_002e_002e_005d-language"></span> +<dl class="table"> +<dt><strong class="strong">generate [<em class="emph">option</em>...] language</strong></dt> +<dd><a class="anchor" id="tlmgr-generate-_005boption_002e_002e_002e_005d-language"></a> </dd> -<dt><span><strong>generate [<em>option</em>...] language.dat</strong></span></dt> -<dd><span id="tlmgr-generate-_005boption_002e_002e_002e_005d-language_002edat"></span> +<dt><strong class="strong">generate [<em class="emph">option</em>...] language.dat</strong></dt> +<dd><a class="anchor" id="tlmgr-generate-_005boption_002e_002e_002e_005d-language_002edat"></a> </dd> -<dt><span><strong>generate [<em>option</em>...] language.def</strong></span></dt> -<dd><span id="tlmgr-generate-_005boption_002e_002e_002e_005d-language_002edef"></span> +<dt><strong class="strong">generate [<em class="emph">option</em>...] language.def</strong></dt> +<dd><a class="anchor" id="tlmgr-generate-_005boption_002e_002e_002e_005d-language_002edef"></a> </dd> -<dt><span><strong>generate [<em>option</em>...] language.dat.lua</strong></span></dt> -<dd><span id="tlmgr-generate-_005boption_002e_002e_002e_005d-language_002edat_002elua"></span> +<dt><strong class="strong">generate [<em class="emph">option</em>...] language.dat.lua</strong></dt> +<dd><a class="anchor" id="tlmgr-generate-_005boption_002e_002e_002e_005d-language_002edat_002elua"></a> </dd> </dl> -<p>The <code>generate</code> action overwrites any manual changes made in the +<p>The <code class="code">generate</code> action overwrites any manual changes made in the respective files: it recreates them from scratch based on the information of the installed packages, plus local adaptions. -The TeX Live installer and <code>tlmgr</code> routinely call <code>generate</code> for +The TeX Live installer and <code class="code">tlmgr</code> routinely call <code class="code">generate</code> for all of these files. </p> -<p>For managing your own fonts, please read the <code>updmap --help</code> -information and/or <a href="https://tug.org/fonts/fontinstall.html">https://tug.org/fonts/fontinstall.html</a>. +<p>For managing your own fonts, please read the <code class="code">updmap --help</code> +information and/or <a class="url" href="https://tug.org/fonts/fontinstall.html">https://tug.org/fonts/fontinstall.html</a>. </p> -<p>For managing your own formats, please read the <code>fmtutil --help</code> +<p>For managing your own formats, please read the <code class="code">fmtutil --help</code> information. </p> -<p>In more detail: <code>generate</code> remakes any of the configuration files -<code>language.dat</code>, <code>language.def</code>, and <code>language.dat.lua</code> +<p>In more detail: <code class="code">generate</code> remakes any of the configuration files +<code class="code">language.dat</code>, <code class="code">language.def</code>, and <code class="code">language.dat.lua</code> from the information present in the local TLPDB, plus locally-maintained files. </p> -<p>The locally-maintained files are <code>language-local.dat</code>, -<code>language-local.def</code>, or <code>language-local.dat.lua</code>, -searched for in <code>TEXMFLOCAL</code> in the respective +<p>The locally-maintained files are <code class="code">language-local.dat</code>, +<code class="code">language-local.def</code>, or <code class="code">language-local.dat.lua</code>, +searched for in <code class="code">TEXMFLOCAL</code> in the respective directories. If local additions are present, the final file is made by starting with the main file, omitting any entries that the local file specifies to be disabled, and finally appending the local file. </p> -<p>(Historical note: The formerly supported <code>updmap-local.cfg</code> and -<code>fmtutil-local.cnf</code> are no longer read, since <code>updmap</code> and <code>fmtutil</code> +<p>(Historical note: The formerly supported <code class="code">updmap-local.cfg</code> and +<code class="code">fmtutil-local.cnf</code> are no longer read, since <code class="code">updmap</code> and <code class="code">fmtutil</code> now reads and supports multiple configuration files. Thus, -local additions can and should be put into an <code>updmap.cfg</code> of <code>fmtutil.cnf</code> -file in <code>TEXMFLOCAL</code>. The <code>generate updmap</code> and <code>generate fmtutil</code> actions +local additions can and should be put into an <code class="code">updmap.cfg</code> of <code class="code">fmtutil.cnf</code> +file in <code class="code">TEXMFLOCAL</code>. The <code class="code">generate updmap</code> and <code class="code">generate fmtutil</code> actions no longer exist.) </p> <p>Local files specify entries to be disabled with a comment line, namely @@ -4757,8 +5027,8 @@ one of these: <pre class="verbatim"> %!NAME --!NAME </pre> -<p>where <code>language.dat</code> and <code>language.def</code> use <code>%</code>, -and <code>language.dat.lua</code> use <code>--</code>. In all cases, the <em>name</em> is +<p>where <code class="code">language.dat</code> and <code class="code">language.def</code> use <code class="code">%</code>, +and <code class="code">language.dat.lua</code> use <code class="code">--</code>. In all cases, the <em class="emph">name</em> is the respective format name or hyphenation pattern identifier. Examples: </p> @@ -4773,39 +5043,39 @@ for the same item, if a different definition is desired. In general, except for the special disabling lines, the local files follow the same syntax as the master files. </p> -<p>The form <code>generate language</code> recreates all three files <code>language.dat</code>, -<code>language.def</code>, and <code>language.dat.lua</code>, while the forms with an +<p>The form <code class="code">generate language</code> recreates all three files <code class="code">language.dat</code>, +<code class="code">language.def</code>, and <code class="code">language.dat.lua</code>, while the forms with an extension recreates only that given language file. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–dest</strong> <em>output_file</em></span></dt> -<dd><span id="tlmgr-_002d_002ddest-output_005ffile"></span> +<dl class="table"> +<dt><strong class="strong">--dest</strong> <em class="emph">output_file</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddest-output_005ffile"></a> <p>specifies the output file (defaults to the respective location in -<code>TEXMFSYSVAR</code>). If <code>--dest</code> is given to <code>generate language</code>, it -serves as a basename onto which <code>.dat</code> will be appended for the name of -the <code>language.dat</code> output file, <code>.def</code> will be appended to the value -for the name of the <code>language.def</code> output file, and <code>.dat.lua</code> to the -name of the <code>language.dat.lua</code> file. (This is just to avoid +<code class="code">TEXMFSYSVAR</code>). If <code class="code">--dest</code> is given to <code class="code">generate language</code>, it +serves as a basename onto which <code class="code">.dat</code> will be appended for the name of +the <code class="code">language.dat</code> output file, <code class="code">.def</code> will be appended to the value +for the name of the <code class="code">language.def</code> output file, and <code class="code">.dat.lua</code> to the +name of the <code class="code">language.dat.lua</code> file. (This is just to avoid overwriting; if you want a specific name for each output file, we -recommend invoking <code>tlmgr</code> twice.) +recommend invoking <code class="code">tlmgr</code> twice.) </p> </dd> -<dt><span><strong>–localcfg</strong> <em>local_conf_file</em></span></dt> -<dd><span id="tlmgr-_002d_002dlocalcfg-local_005fconf_005ffile"></span> +<dt><strong class="strong">--localcfg</strong> <em class="emph">local_conf_file</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dlocalcfg-local_005fconf_005ffile"></a> <p>specifies the (optional) local additions (defaults to the respective -location in <code>TEXMFLOCAL</code>). +location in <code class="code">TEXMFLOCAL</code>). </p> </dd> -<dt><span><strong>–rebuild-sys</strong></span></dt> -<dd><span id="tlmgr-_002d_002drebuild_002dsys"></span> -<p>tells <code>tlmgr</code> to run necessary programs after config files have been +<dt><strong class="strong">--rebuild-sys</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002drebuild_002dsys"></a> +<p>tells <code class="code">tlmgr</code> to run necessary programs after config files have been regenerated. These are: -<code>fmtutil-sys --all</code> after <code>generate fmtutil</code>, -<code>fmtutil-sys --byhyphen .../language.dat</code> after <code>generate language.dat</code>, +<code class="code">fmtutil-sys --all</code> after <code class="code">generate fmtutil</code>, +<code class="code">fmtutil-sys --byhyphen .../language.dat</code> after <code class="code">generate language.dat</code>, and -<code>fmtutil-sys --byhyphen .../language.def</code> after <code>generate language.def</code>. +<code class="code">fmtutil-sys --byhyphen .../language.def</code> after <code class="code">generate language.def</code>. </p> <p>These subsequent calls cause the newly-generated files to actually take effect. This is not done by default since those calls are lengthy @@ -4823,42 +5093,42 @@ succession before invoking these programs. </pre> <hr> </div> -<div class="appendixsubsec" id="tlmgr-gui"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-gui"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-info" accesskey="n" rel="next">info</a>, Previous: <a href="#tlmgr-generate" accesskey="p" rel="prev">generate</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="gui"></span><h4 class="appendixsubsec">B.6.9 gui</h4> +<h4 class="appendixsubsec" id="gui">B.6.9 gui</h4> -<p>Start the graphical user interface. See <strong>GUI</strong> below. +<p>Start the graphical user interface. See <strong class="strong">GUI</strong> below. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-info"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-info"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-init_002dusertree" accesskey="n" rel="next">init-usertree</a>, Previous: <a href="#tlmgr-gui" accesskey="p" rel="prev">gui</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="info"></span><h4 class="appendixsubsec">B.6.10 info</h4> +<h4 class="appendixsubsec" id="info">B.6.10 info</h4> -<dl compact="compact"> -<dt><span><strong>info [<em>option</em>...] <em>pkg</em>...</strong></span></dt> -<dd><span id="tlmgr-info-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"></span> +<dl class="table"> +<dt><strong class="strong">info [<em class="emph">option</em>...] <em class="emph">pkg</em>...</strong></dt> +<dd><a class="anchor" id="tlmgr-info-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"></a> </dd> -<dt><span><strong>info [<em>option</em>...] collections</strong></span></dt> -<dd><span id="tlmgr-info-_005boption_002e_002e_002e_005d-collections"></span> +<dt><strong class="strong">info [<em class="emph">option</em>...] collections</strong></dt> +<dd><a class="anchor" id="tlmgr-info-_005boption_002e_002e_002e_005d-collections"></a> </dd> -<dt><span><strong>info [<em>option</em>...] schemes</strong></span></dt> -<dd><span id="tlmgr-info-_005boption_002e_002e_002e_005d-schemes"></span> +<dt><strong class="strong">info [<em class="emph">option</em>...] schemes</strong></dt> +<dd><a class="anchor" id="tlmgr-info-_005boption_002e_002e_002e_005d-schemes"></a> <p>With no argument, lists all packages available at the package -repository, prefixing those already installed with <code>i</code>. +repository, prefixing those already installed with <code class="code">i</code>. </p> -<p>With the single word <code>collections</code> or <code>schemes</code> as the argument, lists +<p>With the single word <code class="code">collections</code> or <code class="code">schemes</code> as the argument, lists the request type instead of all packages. </p> -<p>With any other arguments, display information about <em>pkg</em>: the name, +<p>With any other arguments, display information about <em class="emph">pkg</em>: the name, category, short and long description, sizes, installation status, and TeX Live -revision number. If <em>pkg</em> is not locally installed, searches in the +revision number. If <em class="emph">pkg</em> is not locally installed, searches in the remote installation source. </p> <p>For normal packages (not collections or schemes), the sizes of the four @@ -4868,76 +5138,76 @@ directly-dependent packages (but not dependent collections). For schemes, the cumulative size is also shown, including all directly-dependent collections and packages. </p> -<p>If <em>pkg</em> is not found locally or remotely, the search action is used +<p>If <em class="emph">pkg</em> is not found locally or remotely, the search action is used and lists matching packages and files. </p> <p>It also displays information taken from the TeX Catalogue, namely the package version, date, and license. Consider these, especially the package version, as approximations only, due to timing skew of the -updates of the different pieces. By contrast, the <code>revision</code> value +updates of the different pieces. By contrast, the <code class="code">revision</code> value comes directly from TL and is reliable. </p> -<p>The former actions <code>show</code> and <code>list</code> are merged into this action, +<p>The former actions <code class="code">show</code> and <code class="code">list</code> are merged into this action, but are still supported for backward compatibility. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–list</strong></span></dt> -<dd><span id="tlmgr-_002d_002dlist"></span> -<p>If the option <code>--list</code> is given with a package, the list of contained +<dl class="table"> +<dt><strong class="strong">--list</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dlist"></a> +<p>If the option <code class="code">--list</code> is given with a package, the list of contained files is also shown, including those for platform-specific dependencies. -When given with schemes and collections, <code>--list</code> outputs their +When given with schemes and collections, <code class="code">--list</code> outputs their dependencies in a similar way. </p> </dd> -<dt><span><strong>–only-installed</strong></span></dt> -<dd><span id="tlmgr-_002d_002donly_002dinstalled"></span> +<dt><strong class="strong">--only-installed</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002donly_002dinstalled"></a> <p>If this option is given, the installation source will not be used; only locally installed packages, collections, or schemes are listed. </p> </dd> -<dt><span><strong>–only-remote</strong></span></dt> -<dd><span id="tlmgr-_002d_002donly_002dremote"></span> +<dt><strong class="strong">--only-remote</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002donly_002dremote"></a> <p>Only list packages from the remote repository. Useful when checking what is available in a remote repository using -<code>tlmgr --repo ... --only-remote info</code>. Note that -<code>--only-installed</code> and <code>--only-remote</code> cannot both be specified. -</p> -</dd> -<dt><span><strong>–data <code>item1,item2,...</code></strong></span></dt> -<dd><span id="tlmgr-_002d_002ddata-item1_002citem2_002c_002e_002e_002e"></span> -<p>If the option <code>--data</code> is given, its argument must be a comma or colon -separated list of field names from: <code>name</code>, <code>category</code>, <code>localrev</code>, -<code>remoterev</code>, <code>shortdesc</code>, <code>longdesc</code>, <code>installed</code>, <code>size</code>, -<code>relocatable</code>, <code>depends</code>, <code>cat-version</code>, <code>cat-date</code>, <code>cat-license</code>, -plus various <code>cat-contact-*</code> fields (see below). -</p> -<p>The <code>cat-*</code> fields all come from the TeX Catalogue -(<a href="https://ctan.org/pkg/catalogue">https://ctan.org/pkg/catalogue</a>). For each, there are two more -variants with prefix <code>l</code> and <code>r</code>, e.g., <code>lcat-version</code> and -<code>rcat-version</code>, which indicate the local and remote information, -respectively. The variants without <code>l</code> and <code>r</code> show the most current +<code class="code">tlmgr --repo ... --only-remote info</code>. Note that +<code class="code">--only-installed</code> and <code class="code">--only-remote</code> cannot both be specified. +</p> +</dd> +<dt><strong class="strong">--data <code class="code">item1,item2,...</code></strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddata-item1_002citem2_002c_002e_002e_002e"></a> +<p>If the option <code class="code">--data</code> is given, its argument must be a comma or colon +separated list of field names from: <code class="code">name</code>, <code class="code">category</code>, <code class="code">localrev</code>, +<code class="code">remoterev</code>, <code class="code">shortdesc</code>, <code class="code">longdesc</code>, <code class="code">installed</code>, <code class="code">size</code>, +<code class="code">relocatable</code>, <code class="code">depends</code>, <code class="code">cat-version</code>, <code class="code">cat-date</code>, <code class="code">cat-license</code>, +plus various <code class="code">cat-contact-*</code> fields (see below). +</p> +<p>The <code class="code">cat-*</code> fields all come from the TeX Catalogue +(<a class="url" href="https://ctan.org/pkg/catalogue">https://ctan.org/pkg/catalogue</a>). For each, there are two more +variants with prefix <code class="code">l</code> and <code class="code">r</code>, e.g., <code class="code">lcat-version</code> and +<code class="code">rcat-version</code>, which indicate the local and remote information, +respectively. The variants without <code class="code">l</code> and <code class="code">r</code> show the most current one, which is normally the remote value. </p> <p>The requested packages’ information is listed in CSV format, one package -per line, and the column information is given by the <code>itemN</code>. The -<code>depends</code> column contains the names of all the dependencies separated -by <code>:</code> characters. +per line, and the column information is given by the <code class="code">itemN</code>. The +<code class="code">depends</code> column contains the names of all the dependencies separated +by <code class="code">:</code> characters. </p> -<p>At this writing, the <code>cat-contact-*</code> fields include: <code>home</code>, -<code>repository</code>, <code>support</code>, <code>bugs</code>, <code>announce</code>, <code>development</code>. Each +<p>At this writing, the <code class="code">cat-contact-*</code> fields include: <code class="code">home</code>, +<code class="code">repository</code>, <code class="code">support</code>, <code class="code">bugs</code>, <code class="code">announce</code>, <code class="code">development</code>. Each may be empty or a url value. A brief description is on the CTAN upload -page for new packages: <a href="https://ctan.org/upload">https://ctan.org/upload</a>. +page for new packages: <a class="url" href="https://ctan.org/upload">https://ctan.org/upload</a>. </p> </dd> -<dt><span><strong>–json</strong></span></dt> -<dd><span id="tlmgr-_002d_002djson-1"></span> -<p>In case <code>--json</code> is specified, the output is a JSON encoded array where -each array element is the JSON representation of a single <code>TLPOBJ</code> but +<dt><strong class="strong">--json</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002djson-1"></a> +<p>In case <code class="code">--json</code> is specified, the output is a JSON encoded array where +each array element is the JSON representation of a single <code class="code">TLPOBJ</code> but with additional information. For details see -<code>tlpkg/doc/JSON-formats.txt</code>, format definition: <code>TLPOBJINFO</code>. If both -<code>--json</code> and <code>--data</code> are given, <code>--json</code> takes precedence. +<code class="code">tlpkg/doc/JSON-formats.txt</code>, format definition: <code class="code">TLPOBJINFO</code>. If both +<code class="code">--json</code> and <code class="code">--data</code> are given, <code class="code">--json</code> takes precedence. </p> </dd> </dl> @@ -4947,72 +5217,72 @@ with additional information. For details see <hr> </div> -<div class="appendixsubsec" id="tlmgr-init_002dusertree"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-init_002dusertree"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="n" rel="next">install [<em>option</em>...] <em>pkg</em>...</a>, Previous: <a href="#tlmgr-info" accesskey="p" rel="prev">info</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="n" rel="next">install [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a>, Previous: <a href="#tlmgr-info" accesskey="p" rel="prev">info</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="init_002dusertree"></span><h4 class="appendixsubsec">B.6.11 init-usertree</h4> +<h4 class="appendixsubsec" id="init_002dusertree">B.6.11 init-usertree</h4> <p>Sets up a texmf tree for so-called user mode management, either the -default user tree (<code>TEXMFHOME</code>), or one specified on the command line -with <code>--usertree</code>. See <a href="#tlmgr-USER-MODE">USER MODE</a> below. +default user tree (<code class="code">TEXMFHOME</code>), or one specified on the command line +with <code class="code">--usertree</code>. See <a class="ref" href="#tlmgr-USER-MODE">USER MODE</a> below. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-key" accesskey="n" rel="next">key</a>, Previous: <a href="#tlmgr-init_002dusertree" accesskey="p" rel="prev">init-usertree</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"></span><h4 class="appendixsubsec">B.6.12 install [<em>option</em>...] <em>pkg</em>...</h4> +<h4 class="appendixsubsec" id="install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">B.6.12 install [<em class="emph">option</em>...] <em class="emph">pkg</em>...</h4> -<p>Install each <em>pkg</em> given on the command line, if it is not already -installed. It does not touch existing packages; see the <code>update</code> +<p>Install each <em class="emph">pkg</em> given on the command line, if it is not already +installed. It does not touch existing packages; see the <code class="code">update</code> action for how to get the latest version of a package. </p> -<p>By default this also installs all packages on which the given <em>pkg</em>s are +<p>By default this also installs all packages on which the given <em class="emph">pkg</em>s are dependent. Options: </p> -<dl compact="compact"> -<dt><span><strong>–dry-run</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddry_002drun-1"></span> +<dl class="table"> +<dt><strong class="strong">--dry-run</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddry_002drun-1"></a> <p>Nothing is actually installed; instead, the actions to be performed are written to the terminal. </p> </dd> -<dt><span><strong>–file</strong></span></dt> -<dd><span id="tlmgr-_002d_002dfile"></span> +<dt><strong class="strong">--file</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dfile"></a> <p>Instead of fetching a package from the installation repository, use the package files given on the command line. These files must be standard TeX Live package files (with contained tlpobj file). </p> </dd> -<dt><span><strong>–force</strong></span></dt> -<dd><span id="tlmgr-_002d_002dforce"></span> -<p>If updates to <code>tlmgr</code> itself (or other parts of the basic -infrastructure) are present, <code>tlmgr</code> will bail out and not perform the +<dt><strong class="strong">--force</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dforce"></a> +<p>If updates to <code class="code">tlmgr</code> itself (or other parts of the basic +infrastructure) are present, <code class="code">tlmgr</code> will bail out and not perform the installation unless this option is given. Not recommended. </p> </dd> -<dt><span><strong>–no-depends</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002ddepends"></span> +<dt><strong class="strong">--no-depends</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002ddepends"></a> <p>Do not install dependencies. (By default, installing a package ensures that all dependencies of this package are fulfilled.) </p> </dd> -<dt><span><strong>–no-depends-at-all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002ddepends_002dat_002dall"></span> +<dt><strong class="strong">--no-depends-at-all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002ddepends_002dat_002dall"></a> <p>Normally, when you install a package which ships binary files the respective binary package will also be installed. That is, for a -package <code>foo</code>, the package <code>foo.i386-linux</code> will also be installed on -an <code>i386-linux</code> system. This option suppresses this behavior, and also -implies <code>--no-depends</code>. Don’t use it unless you are sure of what you +package <code class="code">foo</code>, the package <code class="code">foo.i386-linux</code> will also be installed on +an <code class="code">i386-linux</code> system. This option suppresses this behavior, and also +implies <code class="code">--no-depends</code>. Don’t use it unless you are sure of what you are doing. </p> </dd> -<dt><span><strong>–reinstall</strong></span></dt> -<dd><span id="tlmgr-_002d_002dreinstall"></span> +<dt><strong class="strong">--reinstall</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dreinstall"></a> <p>Reinstall a package (including dependencies for collections) even if it already seems to be installed (i.e, is present in the TLPDB). This is useful to recover from accidental removal of files in the hierarchy. @@ -5021,17 +5291,17 @@ useful to recover from accidental removal of files in the hierarchy. (i.e., not those of category Scheme or Collection). </p> </dd> -<dt><span><strong>–with-doc</strong></span></dt> -<dd><span id="tlmgr-_002d_002dwith_002ddoc"></span> +<dt><strong class="strong">--with-doc</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dwith_002ddoc"></a> </dd> -<dt><span><strong>–with-src</strong></span></dt> -<dd><span id="tlmgr-_002d_002dwith_002dsrc"></span> -<p>While not recommended, the <code>install-tl</code> program provides an option to +<dt><strong class="strong">--with-src</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dwith_002dsrc"></a> +<p>While not recommended, the <code class="code">install-tl</code> program provides an option to omit installation of all documentation and/or source files. (By default, everything is installed.) After such an installation, you may find that you want the documentation or source files for a given package after all. You can get them by using these options in conjunction with -<code>--reinstall</code>, as in (using the <code>fontspec</code> package as the example): +<code class="code">--reinstall</code>, as in (using the <code class="code">fontspec</code> package as the example): </p> <pre class="verbatim"> tlmgr install --reinstall --with-doc --with-src fontspec </pre> @@ -5039,39 +5309,39 @@ after all. You can get them by using these options in conjunction with </dl> <p>This action does not automatically add new symlinks in system -directories; you need to run <code>tlmgr path add</code> (<a href="#tlmgr-path">path</a>) yourself if +directories; you need to run <code class="code">tlmgr path add</code> (<a class="ref" href="#tlmgr-path">path</a>) yourself if you are using this feature and want new symlinks added. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-key"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-key"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-list" accesskey="n" rel="next">list</a>, Previous: <a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="p" rel="prev">install [<em>option</em>...] <em>pkg</em>...</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-list" accesskey="n" rel="next">list</a>, Previous: <a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="p" rel="prev">install [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="key"></span><h4 class="appendixsubsec">B.6.13 key</h4> +<h4 class="appendixsubsec" id="key">B.6.13 key</h4> -<dl compact="compact"> -<dt><span><strong>key list</strong></span></dt> -<dd><span id="tlmgr-key-list"></span> +<dl class="table"> +<dt><strong class="strong">key list</strong></dt> +<dd><a class="anchor" id="tlmgr-key-list"></a> </dd> -<dt><span><strong>key add <em>file</em></strong></span></dt> -<dd><span id="tlmgr-key-add-file"></span> +<dt><strong class="strong">key add <em class="emph">file</em></strong></dt> +<dd><a class="anchor" id="tlmgr-key-add-file"></a> </dd> -<dt><span><strong>key remove <em>keyid</em></strong></span></dt> -<dd><span id="tlmgr-key-remove-keyid"></span> -<p>The action <code>key</code> allows listing, adding and removing additional GPG +<dt><strong class="strong">key remove <em class="emph">keyid</em></strong></dt> +<dd><a class="anchor" id="tlmgr-key-remove-keyid"></a> +<p>The action <code class="code">key</code> allows listing, adding and removing additional GPG keys to the set of trusted keys, that is, those that are used to verify the TeX Live databases. </p> -<p>With the <code>list</code> argument, <code>key</code> lists all keys. +<p>With the <code class="code">list</code> argument, <code class="code">key</code> lists all keys. </p> -<p>The <code>add</code> argument requires another argument, either a filename or -<code>-</code> for stdin, from which the key is added. The key is added to the -local keyring <code>GNUPGHOME/repository-keys.gpg</code>, which is normally -<code>tlpkg/gpg/repository-keys.gpg</code>. +<p>The <code class="code">add</code> argument requires another argument, either a filename or +<code class="code">-</code> for stdin, from which the key is added. The key is added to the +local keyring <code class="code">GNUPGHOME/repository-keys.gpg</code>, which is normally +<code class="code">tlpkg/gpg/repository-keys.gpg</code>. </p> -<p>The <code>remove</code> argument requires a key id and removes the requested id +<p>The <code class="code">remove</code> argument requires a key id and removes the requested id from the local keyring. </p> </dd> @@ -5079,54 +5349,54 @@ from the local keyring. <hr> </div> -<div class="appendixsubsec" id="tlmgr-list"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-list"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-option" accesskey="n" rel="next">option</a>, Previous: <a href="#tlmgr-key" accesskey="p" rel="prev">key</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="list"></span><h4 class="appendixsubsec">B.6.14 list</h4> +<h4 class="appendixsubsec" id="list">B.6.14 list</h4> -<p>Synonym for <a href="#tlmgr-info">info</a>. +<p>Synonym for <a class="ref" href="#tlmgr-info">info</a>. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-option"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-option"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-paper" accesskey="n" rel="next">paper</a>, Previous: <a href="#tlmgr-list" accesskey="p" rel="prev">list</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="option"></span><h4 class="appendixsubsec">B.6.15 option</h4> +<h4 class="appendixsubsec" id="option">B.6.15 option</h4> -<dl compact="compact"> -<dt><span><strong>option [–json] [show]</strong></span></dt> -<dd><span id="tlmgr-option-_005b_002d_002djson_005d-_005bshow_005d"></span> +<dl class="table"> +<dt><strong class="strong">option [--json] [show]</strong></dt> +<dd><a class="anchor" id="tlmgr-option-_005b_002d_002djson_005d-_005bshow_005d"></a> </dd> -<dt><span><strong>option [–json] showall|help</strong></span></dt> -<dd><span id="tlmgr-option-_005b_002d_002djson_005d-showall_007chelp"></span> +<dt><strong class="strong">option [--json] showall|help</strong></dt> +<dd><a class="anchor" id="tlmgr-option-_005b_002d_002djson_005d-showall_007chelp"></a> </dd> -<dt><span><strong>option <em>key</em> [<em>value</em>]</strong></span></dt> -<dd><span id="tlmgr-option-key-_005bvalue_005d"></span> +<dt><strong class="strong">option <em class="emph">key</em> [<em class="emph">value</em>]</strong></dt> +<dd><a class="anchor" id="tlmgr-option-key-_005bvalue_005d"></a> </dd> </dl> -<p>The first form, <code>show</code>, shows the global TeX Live settings currently -saved in the TLPDB with a short description and the <code>key</code> used for +<p>The first form, <code class="code">show</code>, shows the global TeX Live settings currently +saved in the TLPDB with a short description and the <code class="code">key</code> used for changing it in parentheses. </p> -<p>The second form, <code>showall</code>, is similar, but also shows options which -can be defined but are not currently set to any value (<code>help</code> is a +<p>The second form, <code class="code">showall</code>, is similar, but also shows options which +can be defined but are not currently set to any value (<code class="code">help</code> is a synonym). </p> -<p>Both <code>show...</code> forms take an option <code>--json</code>, which dumps the option +<p>Both <code class="code">show...</code> forms take an option <code class="code">--json</code>, which dumps the option information in JSON format. In this case, both forms dump the same data. For the format of the JSON output see -<code>tlpkg/doc/JSON-formats.txt</code>, format definition <code>TLOPTION</code>. +<code class="code">tlpkg/doc/JSON-formats.txt</code>, format definition <code class="code">TLOPTION</code>. </p> -<p>In the third form, with <em>key</em>, if <em>value</em> is not given, the setting -for <em>key</em> is displayed. If <em>value</em> is present, <em>key</em> is set to -<em>value</em>. +<p>In the third form, with <em class="emph">key</em>, if <em class="emph">value</em> is not given, the setting +for <em class="emph">key</em> is displayed. If <em class="emph">value</em> is present, <em class="emph">key</em> is set to +<em class="emph">value</em>. </p> -<p>Possible values for <em>key</em> are (run <code>tlmgr option showall</code> for +<p>Possible values for <em class="emph">key</em> are (run <code class="code">tlmgr option showall</code> for the definitive list): </p> <pre class="verbatim"> repository (default package repository), @@ -5143,134 +5413,134 @@ the definitive list): fileassocs (Windows-only: change file associations) multiuser (Windows-only: install for all users) </pre> -<p>One common use of <code>option</code> is to permanently change the installation to +<p>One common use of <code class="code">option</code> is to permanently change the installation to get further updates from the Internet, after originally installing from DVD. To do this, you can run </p> <pre class="verbatim"> tlmgr option repository https://mirror.ctan.org/systems/texlive/tlnet </pre> -<p>The <code>install-tl</code> documentation has more information about the possible -values for <code>repository</code>. (For backward compatibility, <code>location</code> can -be used as a synonym for <code>repository</code>.) +<p>The <code class="code">install-tl</code> documentation has more information about the possible +values for <code class="code">repository</code>. (For backward compatibility, <code class="code">location</code> can +be used as a synonym for <code class="code">repository</code>.) </p> -<p>If <code>formats</code> is set (this is the default), then formats are regenerated +<p>If <code class="code">formats</code> is set (this is the default), then formats are regenerated when either the engine or the format files have changed. Disable this only when you know how and want to regenerate formats yourself whenever needed (which is often, in practice). </p> -<p>The <code>postcode</code> option controls execution of per-package +<p>The <code class="code">postcode</code> option controls execution of per-package postinstallation action code. It is set by default, and again disabling is not likely to be of interest except to developers doing debugging. </p> -<p>The <code>docfiles</code> and <code>srcfiles</code> options control the installation of +<p>The <code class="code">docfiles</code> and <code class="code">srcfiles</code> options control the installation of their respective file groups (documentation, sources; grouping is approximate) per package. By default both are enabled (1). Either or both can be disabled (set to 0) if disk space is limited or for minimal testing installations, etc. When disabled, the respective files are not downloaded at all. </p> -<p>The options <code>autobackup</code> and <code>backupdir</code> determine the defaults for -the actions <code>update</code>, <code>backup</code> and <code>restore</code>. These three actions +<p>The options <code class="code">autobackup</code> and <code class="code">backupdir</code> determine the defaults for +the actions <code class="code">update</code>, <code class="code">backup</code> and <code class="code">restore</code>. These three actions need a directory in which to read or write the backups. If -<code>--backupdir</code> is not specified on the command line, the <code>backupdir</code> -option value is used (if set). The TL installer sets <code>backupdir</code> to -<code>.../tlpkg/backups</code>, under the TL root installation directory. +<code class="code">--backupdir</code> is not specified on the command line, the <code class="code">backupdir</code> +option value is used (if set). The TL installer sets <code class="code">backupdir</code> to +<code class="code">.../tlpkg/backups</code>, under the TL root installation directory. </p> -<p>The <code>autobackup</code> option (de)activates automatic generation of backups. -Its value is an integer. If the <code>autobackup</code> value is <code>-1</code>, no -backups are removed. If <code>autobackup</code> is 0 or more, it specifies the +<p>The <code class="code">autobackup</code> option (de)activates automatic generation of backups. +Its value is an integer. If the <code class="code">autobackup</code> value is <code class="code">-1</code>, no +backups are removed. If <code class="code">autobackup</code> is 0 or more, it specifies the number of backups to keep. Thus, backups are disabled if the value is -0. In the <code>--clean</code> mode of the <code>backup</code> action this option also +0. In the <code class="code">--clean</code> mode of the <code class="code">backup</code> action this option also specifies the number to be kept. The default value is 1, so that backups are made, but only one backup is kept. </p> -<p>To setup <code>autobackup</code> to <code>-1</code> on the command line, use: +<p>To setup <code class="code">autobackup</code> to <code class="code">-1</code> on the command line, use: </p> <pre class="verbatim"> tlmgr option -- autobackup -1 </pre> -<p>The <code>--</code> avoids having the <code>-1</code> treated as an option. (The <code>--</code> +<p>The <code class="code">--</code> avoids having the <code class="code">-1</code> treated as an option. (The <code class="code">--</code> stops parsing for options at the point where it appears; this is a general feature across most Unix programs.) </p> -<p>The <code>sys_bin</code>, <code>sys_man</code>, and <code>sys_info</code> options are used on Unix +<p>The <code class="code">sys_bin</code>, <code class="code">sys_man</code>, and <code class="code">sys_info</code> options are used on Unix systems to control the generation of links for executables, Info files -and man pages. See the <code>path</code> action for details. +and man pages. See the <code class="code">path</code> action for details. </p> <p>The last three options affect behavior on Windows installations. If -<code>desktop_integration</code> is set, then some packages will install items in -a sub-folder of the Start menu for <code>tlmgr gui</code>, documentation, etc. If -<code>fileassocs</code> is set, Windows file associations are made (see also the -<code>postaction</code> action). Finally, if <code>multiuser</code> is set, then adaptions +<code class="code">desktop_integration</code> is set, then some packages will install items in +a sub-folder of the Start menu for <code class="code">tlmgr gui</code>, documentation, etc. If +<code class="code">fileassocs</code> is set, Windows file associations are made (see also the +<code class="code">postaction</code> action). Finally, if <code class="code">multiuser</code> is set, then adaptions to the registry and the menus are done for all users on the system instead of only the current user. All three options are on by default. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-paper"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-paper"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-path" accesskey="n" rel="next">path</a>, Previous: <a href="#tlmgr-option" accesskey="p" rel="prev">option</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="paper"></span><h4 class="appendixsubsec">B.6.16 paper</h4> +<h4 class="appendixsubsec" id="paper">B.6.16 paper</h4> -<dl compact="compact"> -<dt><span><strong>paper [a4|letter]</strong></span></dt> -<dd><span id="tlmgr-paper-_005ba4_007cletter_005d"></span> +<dl class="table"> +<dt><strong class="strong">paper [a4|letter]</strong></dt> +<dd><a class="anchor" id="tlmgr-paper-_005ba4_007cletter_005d"></a> </dd> -<dt><span><strong><[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [<em>papersize</em>|–list]</strong>></span></dt> -<dd><span id="tlmgr-_003c_005bxdvi_007cpdftex_007cdvips_007cdvipdfmx_007ccontext_007cpsutils_005d-paper-_005bpapersize_007c_002d_002dlist_005d_003e"></span> +<dt><strong class="strong"><[xdvi|pdftex|dvips|dvipdfmx|context|psutils] paper [<em class="emph">papersize</em>|--list]</strong>></dt> +<dd><a class="anchor" id="tlmgr-_003c_005bxdvi_007cpdftex_007cdvips_007cdvipdfmx_007ccontext_007cpsutils_005d-paper-_005bpapersize_007c_002d_002dlist_005d_003e"></a> </dd> -<dt><span><strong>paper –json</strong></span></dt> -<dd><span id="tlmgr-paper-_002d_002djson"></span> +<dt><strong class="strong">paper --json</strong></dt> +<dd><a class="anchor" id="tlmgr-paper-_002d_002djson"></a> </dd> </dl> -<p>With no arguments (<code>tlmgr paper</code>), shows the default paper size setting +<p>With no arguments (<code class="code">tlmgr paper</code>), shows the default paper size setting for all known programs. </p> -<p>With one argument (e.g., <code>tlmgr paper a4</code>), sets the default for all +<p>With one argument (e.g., <code class="code">tlmgr paper a4</code>), sets the default for all known programs to that paper size. </p> <p>With a program given as the first argument and no paper size specified -(e.g., <code>tlmgr dvips paper</code>), shows the default paper size for that +(e.g., <code class="code">tlmgr dvips paper</code>), shows the default paper size for that program. </p> <p>With a program given as the first argument and a paper size as the last -argument (e.g., <code>tlmgr dvips paper a4</code>), set the default for that +argument (e.g., <code class="code">tlmgr dvips paper a4</code>), set the default for that program to that paper size. </p> -<p>With a program given as the first argument and <code>--list</code> given as the -last argument (e.g., <code>tlmgr dvips paper --list</code>), shows all valid paper +<p>With a program given as the first argument and <code class="code">--list</code> given as the +last argument (e.g., <code class="code">tlmgr dvips paper --list</code>), shows all valid paper sizes for that program. The first size shown is the default. </p> -<p>If <code>--json</code> is specified without other options, the paper setup is +<p>If <code class="code">--json</code> is specified without other options, the paper setup is dumped in JSON format. For the format of JSON output see -<code>tlpkg/doc/JSON-formats.txt</code>, format definition <code>TLPAPER</code>. +<code class="code">tlpkg/doc/JSON-formats.txt</code>, format definition <code class="code">TLPAPER</code>. </p> <p>Incidentally, this syntax of having a specific program name before the -<code>paper</code> keyword is unusual. It is inherited from the longstanding -<code>texconfig</code> script, which supports other configuration settings for -some programs, notably <code>dvips</code>. <code>tlmgr</code> does not support those extra +<code class="code">paper</code> keyword is unusual. It is inherited from the longstanding +<code class="code">texconfig</code> script, which supports other configuration settings for +some programs, notably <code class="code">dvips</code>. <code class="code">tlmgr</code> does not support those extra settings. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-path"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-path"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-pinning" accesskey="n" rel="next">pinning</a>, Previous: <a href="#tlmgr-paper" accesskey="p" rel="prev">paper</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="path"></span><h4 class="appendixsubsec">B.6.17 path</h4> +<h4 class="appendixsubsec" id="path">B.6.17 path</h4> -<dl compact="compact"> -<dt><span><strong>path [–w32mode=user|admin] add</strong></span></dt> -<dd><span id="tlmgr-path-_005b_002d_002dw32mode_003duser_007cadmin_005d-add"></span> +<dl class="table"> +<dt><strong class="strong">path [--w32mode=user|admin] add</strong></dt> +<dd><a class="anchor" id="tlmgr-path-_005b_002d_002dw32mode_003duser_007cadmin_005d-add"></a> </dd> -<dt><span><strong>path [–w32mode=user|admin] remove</strong></span></dt> -<dd><span id="tlmgr-path-_005b_002d_002dw32mode_003duser_007cadmin_005d-remove"></span> +<dt><strong class="strong">path [--w32mode=user|admin] remove</strong></dt> +<dd><a class="anchor" id="tlmgr-path-_005b_002d_002dw32mode_003duser_007cadmin_005d-remove"></a> <p>On Unix, adds or removes symlinks for executables, man pages, and info pages in the system directories specified by the respective options (see -the <a href="#tlmgr-option">option</a> description above). Does not change any initialization +the <a class="ref" href="#tlmgr-option">option</a> description above). Does not change any initialization files, either system or personal. Furthermore, any executables added or removed by future updates are not taken care of automatically; this command must be rerun as needed. @@ -5278,21 +5548,21 @@ command must be rerun as needed. <p>On Windows, the registry part where the binary directory is added or removed is determined in the following way: </p> -<p>If the user has admin rights, and the option <code>--w32mode</code> is not given, -the setting <em>w32_multi_user</em> determines the location (i.e., if it is +<p>If the user has admin rights, and the option <code class="code">--w32mode</code> is not given, +the setting <em class="emph">w32_multi_user</em> determines the location (i.e., if it is on then the system path, otherwise the user path is changed). </p> -<p>If the user has admin rights, and the option <code>--w32mode</code> is given, this +<p>If the user has admin rights, and the option <code class="code">--w32mode</code> is given, this option determines the path to be adjusted. </p> -<p>If the user does not have admin rights, and the option <code>--w32mode</code> -is not given, and the setting <em>w32_multi_user</em> is off, the user path -is changed, while if the setting <em>w32_multi_user</em> is on, a warning is +<p>If the user does not have admin rights, and the option <code class="code">--w32mode</code> +is not given, and the setting <em class="emph">w32_multi_user</em> is off, the user path +is changed, while if the setting <em class="emph">w32_multi_user</em> is on, a warning is issued that the caller does not have enough privileges. </p> -<p>If the user does not have admin rights, and the option <code>--w32mode</code> -is given, it must be <code>user</code> and the user path will be adjusted. If a -user without admin rights uses the option <code>--w32mode admin</code> a warning +<p>If the user does not have admin rights, and the option <code class="code">--w32mode</code> +is given, it must be <code class="code">user</code> and the user path will be adjusted. If a +user without admin rights uses the option <code class="code">--w32mode admin</code> a warning is issued that the caller does not have enough privileges. </p> </dd> @@ -5300,84 +5570,84 @@ is issued that the caller does not have enough privileges. <hr> </div> -<div class="appendixsubsec" id="tlmgr-pinning"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-pinning"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-platform" accesskey="n" rel="next">platform</a>, Previous: <a href="#tlmgr-path" accesskey="p" rel="prev">path</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="pinning"></span><h4 class="appendixsubsec">B.6.18 pinning</h4> +<h4 class="appendixsubsec" id="pinning">B.6.18 pinning</h4> -<p>The <code>pinning</code> action manages the pinning file, see <a href="#tlmgr-Pinning">Pinning</a> below. +<p>The <code class="code">pinning</code> action manages the pinning file, see <a class="ref" href="#tlmgr-Pinning">Pinning</a> below. </p> -<dl compact="compact"> -<dt><span><code>pinning show</code></span></dt> -<dd><span id="tlmgr-pinning-show"></span> +<dl class="table"> +<dt><code class="code">pinning show</code></dt> +<dd><a class="anchor" id="tlmgr-pinning-show"></a> <p>Shows the current pinning data. </p> </dd> -<dt><span><code>pinning add</code> <em>repo</em> <em>pkgglob</em>...</span></dt> -<dd><span id="tlmgr-pinning-add-repo-pkgglob_002e_002e_002e"></span> -<p>Pins the packages matching the <em>pkgglob</em>(s) to the repository -<em>repo</em>. +<dt><code class="code">pinning add</code> <em class="emph">repo</em> <em class="emph">pkgglob</em>...</dt> +<dd><a class="anchor" id="tlmgr-pinning-add-repo-pkgglob_002e_002e_002e"></a> +<p>Pins the packages matching the <em class="emph">pkgglob</em>(s) to the repository +<em class="emph">repo</em>. </p> </dd> -<dt><span><code>pinning remove</code> <em>repo</em> <em>pkgglob</em>...</span></dt> -<dd><span id="tlmgr-pinning-remove-repo-pkgglob_002e_002e_002e"></span> +<dt><code class="code">pinning remove</code> <em class="emph">repo</em> <em class="emph">pkgglob</em>...</dt> +<dd><a class="anchor" id="tlmgr-pinning-remove-repo-pkgglob_002e_002e_002e"></a> <p>Any packages recorded in the pinning file matching the <pkgglob>s for -the given repository <em>repo</em> are removed. +the given repository <em class="emph">repo</em> are removed. </p> </dd> -<dt><span><code>pinning remove <em>repo</em> --all</code></span></dt> -<dd><span id="tlmgr-pinning-remove-repo-_002d_002dall"></span> -<p>Remove all pinning data for repository <em>repo</em>. +<dt><code class="code">pinning remove <em class="emph">repo</em> --all</code></dt> +<dd><a class="anchor" id="tlmgr-pinning-remove-repo-_002d_002dall"></a> +<p>Remove all pinning data for repository <em class="emph">repo</em>. </p> </dd> </dl> <hr> </div> -<div class="appendixsubsec" id="tlmgr-platform"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-platform"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-postaction" accesskey="n" rel="next">postaction</a>, Previous: <a href="#tlmgr-pinning" accesskey="p" rel="prev">pinning</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="platform"></span><h4 class="appendixsubsec">B.6.19 platform</h4> +<h4 class="appendixsubsec" id="platform">B.6.19 platform</h4> -<dl compact="compact"> -<dt><span><strong>platform list|add|remove <em>platform</em>...</strong></span></dt> -<dd><span id="tlmgr-platform-list_007cadd_007cremove-platform_002e_002e_002e"></span> +<dl class="table"> +<dt><strong class="strong">platform list|add|remove <em class="emph">platform</em>...</strong></dt> +<dd><a class="anchor" id="tlmgr-platform-list_007cadd_007cremove-platform_002e_002e_002e"></a> </dd> -<dt><span><strong>platform set <em>platform</em></strong></span></dt> -<dd><span id="tlmgr-platform-set-platform"></span> +<dt><strong class="strong">platform set <em class="emph">platform</em></strong></dt> +<dd><a class="anchor" id="tlmgr-platform-set-platform"></a> </dd> -<dt><span><strong>platform set auto</strong></span></dt> -<dd><span id="tlmgr-platform-set-auto"></span> -<p><code>platform list</code> lists the TeX Live names of all the platforms -(a.k.a. architectures), (<code>i386-linux</code>, ...) available at the package +<dt><strong class="strong">platform set auto</strong></dt> +<dd><a class="anchor" id="tlmgr-platform-set-auto"></a> +<p><code class="code">platform list</code> lists the TeX Live names of all the platforms +(a.k.a. architectures), (<code class="code">i386-linux</code>, ...) available at the package repository. </p> -<p><code>platform add</code> <em>platform</em>... adds the executables for each given platform -<em>platform</em> to the installation from the repository. +<p><code class="code">platform add</code> <em class="emph">platform</em>... adds the executables for each given platform +<em class="emph">platform</em> to the installation from the repository. </p> -<p><code>platform remove</code> <em>platform</em>... removes the executables for each given -platform <em>platform</em> from the installation, but keeps the currently +<p><code class="code">platform remove</code> <em class="emph">platform</em>... removes the executables for each given +platform <em class="emph">platform</em> from the installation, but keeps the currently running platform in any case. </p> -<p><code>platform set</code> <em>platform</em> switches TeX Live to always use the given +<p><code class="code">platform set</code> <em class="emph">platform</em> switches TeX Live to always use the given platform instead of auto detection. </p> -<p><code>platform set auto</code> switches TeX Live to auto detection mode for platform. +<p><code class="code">platform set auto</code> switches TeX Live to auto detection mode for platform. </p> -<p>Platform detection is needed to select the proper <code>xz</code> and -<code>wget</code> binaries that are shipped with TeX Live. +<p>Platform detection is needed to select the proper <code class="code">xz</code> and +<code class="code">wget</code> binaries that are shipped with TeX Live. </p> -<p><code>arch</code> is a synonym for <code>platform</code>. +<p><code class="code">arch</code> is a synonym for <code class="code">platform</code>. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–dry-run</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddry_002drun-2"></span> +<dl class="table"> +<dt><strong class="strong">--dry-run</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddry_002drun-2"></a> <p>Nothing is actually installed; instead, the actions to be performed are written to the terminal. </p> @@ -5389,46 +5659,46 @@ written to the terminal. <hr> </div> -<div class="appendixsubsec" id="tlmgr-postaction"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-postaction"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-print_002dplatform" accesskey="n" rel="next">print-platform</a>, Previous: <a href="#tlmgr-platform" accesskey="p" rel="prev">platform</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="postaction"></span><h4 class="appendixsubsec">B.6.20 postaction</h4> +<h4 class="appendixsubsec" id="postaction">B.6.20 postaction</h4> -<dl compact="compact"> -<dt><span><strong>postaction [<em>option</em>...] install [shortcut|fileassoc|script] [<em>pkg</em>...]</strong></span></dt> -<dd><span id="tlmgr-postaction-_005boption_002e_002e_002e_005d-install-_005bshortcut_007cfileassoc_007cscript_005d-_005bpkg_002e_002e_002e_005d"></span> +<dl class="table"> +<dt><strong class="strong">postaction [<em class="emph">option</em>...] install [shortcut|fileassoc|script] [<em class="emph">pkg</em>...]</strong></dt> +<dd><a class="anchor" id="tlmgr-postaction-_005boption_002e_002e_002e_005d-install-_005bshortcut_007cfileassoc_007cscript_005d-_005bpkg_002e_002e_002e_005d"></a> </dd> -<dt><span><strong>postaction [<em>option</em>...] remove [shortcut|fileassoc|script] [<em>pkg</em>...]</strong></span></dt> -<dd><span id="tlmgr-postaction-_005boption_002e_002e_002e_005d-remove-_005bshortcut_007cfileassoc_007cscript_005d-_005bpkg_002e_002e_002e_005d"></span> -<p>Carry out the postaction <code>shortcut</code>, <code>fileassoc</code>, or <code>script</code> given +<dt><strong class="strong">postaction [<em class="emph">option</em>...] remove [shortcut|fileassoc|script] [<em class="emph">pkg</em>...]</strong></dt> +<dd><a class="anchor" id="tlmgr-postaction-_005boption_002e_002e_002e_005d-remove-_005bshortcut_007cfileassoc_007cscript_005d-_005bpkg_002e_002e_002e_005d"></a> +<p>Carry out the postaction <code class="code">shortcut</code>, <code class="code">fileassoc</code>, or <code class="code">script</code> given as the second required argument in install or remove mode (which is the first required argument), for either the packages given on the command -line, or for all if <code>--all</code> is given. +line, or for all if <code class="code">--all</code> is given. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–w32mode=[user|admin]</strong></span></dt> -<dd><span id="tlmgr-_002d_002dw32mode_003d_005buser_007cadmin_005d"></span> -<p>If the option <code>--w32mode</code> is given the value <code>user</code>, all actions will +<dl class="table"> +<dt><strong class="strong">--w32mode=[user|admin]</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dw32mode_003d_005buser_007cadmin_005d"></a> +<p>If the option <code class="code">--w32mode</code> is given the value <code class="code">user</code>, all actions will only be carried out in the user-accessible parts of the -registry/filesystem, while the value <code>admin</code> selects the system-wide +registry/filesystem, while the value <code class="code">admin</code> selects the system-wide parts of the registry for the file associations. If you do not have -enough permissions, using <code>--w32mode=admin</code> will not succeed. +enough permissions, using <code class="code">--w32mode=admin</code> will not succeed. </p> </dd> -<dt><span><strong>–fileassocmode=[1|2]</strong></span></dt> -<dd><span id="tlmgr-_002d_002dfileassocmode_003d_005b1_007c2_005d"></span> -<p><code>--fileassocmode</code> specifies the action for file associations. If it is +<dt><strong class="strong">--fileassocmode=[1|2]</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dfileassocmode_003d_005b1_007c2_005d"></a> +<p><code class="code">--fileassocmode</code> specifies the action for file associations. If it is set to 1 (the default), only new associations are added; if it is set to 2, all associations are set to the TeX Live programs. (See also -<code>option fileassocs</code>.) +<code class="code">option fileassocs</code>.) </p> </dd> -<dt><span><strong>–all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dall-1"></span> +<dt><strong class="strong">--all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dall-1"></a> <p>Carry out the postactions for all packages </p> </dd> @@ -5439,148 +5709,148 @@ set to 1 (the default), only new associations are added; if it is set to <hr> </div> -<div class="appendixsubsec" id="tlmgr-print_002dplatform"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-print_002dplatform"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-print_002dplatform_002dinfo" accesskey="n" rel="next">print-platform-info</a>, Previous: <a href="#tlmgr-postaction" accesskey="p" rel="prev">postaction</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="print_002dplatform"></span><h4 class="appendixsubsec">B.6.21 print-platform</h4> +<h4 class="appendixsubsec" id="print_002dplatform">B.6.21 print-platform</h4> <p>Print the TeX Live identifier for the detected platform (hardware/operating system) combination to standard output, and exit. -<code>--print-arch</code> is a synonym. +<code class="code">--print-arch</code> is a synonym. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-print_002dplatform_002dinfo"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-print_002dplatform_002dinfo"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="n" rel="next">remove [<em>option</em>...] <em>pkg</em>...</a>, Previous: <a href="#tlmgr-print_002dplatform" accesskey="p" rel="prev">print-platform</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="n" rel="next">remove [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a>, Previous: <a href="#tlmgr-print_002dplatform" accesskey="p" rel="prev">print-platform</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="print_002dplatform_002dinfo"></span><h4 class="appendixsubsec">B.6.22 print-platform-info</h4> +<h4 class="appendixsubsec" id="print_002dplatform_002dinfo">B.6.22 print-platform-info</h4> <p>Print the TeX Live platform identifier, TL platform long name, and original output from guess. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-repository" accesskey="n" rel="next">repository</a>, Previous: <a href="#tlmgr-print_002dplatform_002dinfo" accesskey="p" rel="prev">print-platform-info</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e"></span><h4 class="appendixsubsec">B.6.23 remove [<em>option</em>...] <em>pkg</em>...</h4> +<h4 class="appendixsubsec" id="remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">B.6.23 remove [<em class="emph">option</em>...] <em class="emph">pkg</em>...</h4> -<p>Remove each <em>pkg</em> specified. Removing a collection removes all package -dependencies (unless <code>--no-depends</code> is specified), but not any +<p>Remove each <em class="emph">pkg</em> specified. Removing a collection removes all package +dependencies (unless <code class="code">--no-depends</code> is specified), but not any collection dependencies of that collection. However, when removing a package, dependencies are never removed. Options: </p> -<dl compact="compact"> -<dt><span><strong>–all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dall-2"></span> -<p>Uninstalls all of TeX Live, asking for confirmation unless <code>--force</code> is +<dl class="table"> +<dt><strong class="strong">--all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dall-2"></a> +<p>Uninstalls all of TeX Live, asking for confirmation unless <code class="code">--force</code> is also specified. </p> </dd> -<dt><span><strong>–backup</strong></span></dt> -<dd><span id="tlmgr-_002d_002dbackup"></span> +<dt><strong class="strong">--backup</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dbackup"></a> </dd> -<dt><span><strong>–backupdir</strong> <em>directory</em></span></dt> -<dd><span id="tlmgr-_002d_002dbackupdir-directory-1"></span> -<p>These options behave just as with the <a data-manual="update" href="update.html#tlmgr-update-_005boption_002e_002e_002e_005d-_005b_002e_002e_002e_005d">(update)update</a> action (q.v.), except they apply to making +<dt><strong class="strong">--backupdir</strong> <em class="emph">directory</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dbackupdir-directory-1"></a> +<p>These options behave just as with the <a class="ref" href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">update</a> action (q.v.), except they apply to making backups of packages before they are removed. The default is to make such a backup, that is, to save a copy of packages before removal. </p> -<p>The <a href="#tlmgr-restore">restore</a> action explains how to restore from a backup. +<p>The <a class="ref" href="#tlmgr-restore">restore</a> action explains how to restore from a backup. </p> </dd> -<dt><span><strong>–no-depends</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002ddepends-1"></span> +<dt><strong class="strong">--no-depends</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002ddepends-1"></a> <p>Do not remove dependent packages. </p> </dd> -<dt><span><strong>–no-depends-at-all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002ddepends_002dat_002dall-1"></span> -<p>See above under <a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install</a> (and beware). +<dt><strong class="strong">--no-depends-at-all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002ddepends_002dat_002dall-1"></a> +<p>See above under <a class="ref" href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install</a> (and beware). </p> </dd> -<dt><span><strong>–force</strong></span></dt> -<dd><span id="tlmgr-_002d_002dforce-1"></span> +<dt><strong class="strong">--force</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dforce-1"></a> <p>By default, removal of a package or collection that is a dependency of another collection or scheme is not allowed. With this option, the package will be removed unconditionally. Use with care. </p> -<p>A package that has been removed using the <code>--force</code> option because it +<p>A package that has been removed using the <code class="code">--force</code> option because it is still listed in an installed collection or scheme will not be -updated, and will be mentioned as <code>forcibly removed</code> in the output of -<code>tlmgr update --list</code>. +updated, and will be mentioned as <code class="code">forcibly removed</code> in the output of +<code class="code">tlmgr update --list</code>. </p> </dd> -<dt><span><strong>–dry-run</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddry_002drun-3"></span> +<dt><strong class="strong">--dry-run</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddry_002drun-3"></a> <p>Nothing is actually removed; instead, the actions to be performed are written to the terminal. </p> </dd> </dl> -<p>Except with <code>--all</code>, this <code>remove</code> action does not automatically +<p>Except with <code class="code">--all</code>, this <code class="code">remove</code> action does not automatically remove symlinks to executables from system directories; you need to run -<code>tlmgr path remove</code> (<a href="#tlmgr-path">path</a>) yourself if you remove an individual +<code class="code">tlmgr path remove</code> (<a class="ref" href="#tlmgr-path">path</a>) yourself if you remove an individual package with a symlink in a system directory. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-repository"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-repository"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-restore" accesskey="n" rel="next">restore</a>, Previous: <a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="p" rel="prev">remove [<em>option</em>...] <em>pkg</em>...</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-restore" accesskey="n" rel="next">restore</a>, Previous: <a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e" accesskey="p" rel="prev">remove [<em class="emph">option</em>...] <em class="emph">pkg</em>...</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="repository"></span><h4 class="appendixsubsec">B.6.24 repository</h4> +<h4 class="appendixsubsec" id="repository">B.6.24 repository</h4> -<dl compact="compact"> -<dt><span><strong>repository list</strong></span></dt> -<dd><span id="tlmgr-repository-list"></span> +<dl class="table"> +<dt><strong class="strong">repository list</strong></dt> +<dd><a class="anchor" id="tlmgr-repository-list"></a> </dd> -<dt><span><strong>repository list <em>path|url|tag</em></strong></span></dt> -<dd><span id="tlmgr-repository-list-path_007curl_007ctag"></span> +<dt><strong class="strong">repository list <em class="emph">path|url|tag</em></strong></dt> +<dd><a class="anchor" id="tlmgr-repository-list-path_007curl_007ctag"></a> </dd> -<dt><span><strong>repository add <em>path</em> [<em>tag</em>]</strong></span></dt> -<dd><span id="tlmgr-repository-add-path-_005btag_005d"></span> +<dt><strong class="strong">repository add <em class="emph">path</em> [<em class="emph">tag</em>]</strong></dt> +<dd><a class="anchor" id="tlmgr-repository-add-path-_005btag_005d"></a> </dd> -<dt><span><strong>repository remove <em>path|tag</em></strong></span></dt> -<dd><span id="tlmgr-repository-remove-path_007ctag"></span> +<dt><strong class="strong">repository remove <em class="emph">path|tag</em></strong></dt> +<dd><a class="anchor" id="tlmgr-repository-remove-path_007ctag"></a> </dd> -<dt><span><strong>repository set <em>path</em>[#<em>tag</em>] [<em>path</em>[#<em>tag</em>] ...]</strong></span></dt> -<dd><span id="tlmgr-repository-set-path_005b_0023tag_005d-_005bpath_005b_0023tag_005d-_002e_002e_002e_005d"></span> +<dt><strong class="strong">repository set <em class="emph">path</em>[#<em class="emph">tag</em>] [<em class="emph">path</em>[#<em class="emph">tag</em>] ...]</strong></dt> +<dd><a class="anchor" id="tlmgr-repository-set-path_005b_0023tag_005d-_005bpath_005b_0023tag_005d-_002e_002e_002e_005d"></a> </dd> -<dt><span><strong>repository status</strong></span></dt> -<dd><span id="tlmgr-repository-status"></span> +<dt><strong class="strong">repository status</strong></dt> +<dd><a class="anchor" id="tlmgr-repository-status"></a> <p>This action manages the list of repositories. See <a data-manual="MULTIPLE_REPOSITORIES" href="MULTIPLE_REPOSITORIES.html#Top">(MULTIPLE_REPOSITORIES)</a> below for detailed explanations. </p> -<p>The first form, <code>repository list</code>, lists all configured repositories +<p>The first form, <code class="code">repository list</code>, lists all configured repositories and the respective tags if set. If a path, url, or tag is given after -the <code>list</code> keyword, it is interpreted as the source from which to +the <code class="code">list</code> keyword, it is interpreted as the source from which to initialize a TL database and lists the contained packages. This can also be an otherwise-unused repository, either local or remote. If the option -<code>--with-platforms</code> is specified in addition, for each package the +<code class="code">--with-platforms</code> is specified in addition, for each package the available platforms (if any) are also listed. </p> -<p>The form <code>repository add</code> adds a repository (optionally attaching a -tag) to the list of repositories, while <code>repository remove</code> removes a +<p>The form <code class="code">repository add</code> adds a repository (optionally attaching a +tag) to the list of repositories, while <code class="code">repository remove</code> removes a repository, either by full path/url, or by tag. </p> -<p>The form <code>repository set</code> sets the list of available repositories to +<p>The form <code class="code">repository set</code> sets the list of available repositories to the items given on the command line, overwriting previous settings. </p> -<p>The form <code>repository status</code> reports the verification status of the +<p>The form <code class="code">repository status</code> reports the verification status of the loaded repositories with the format of one repository per line with fields separated by a single space: </p> -<dl compact="compact"> -<dt><span>The tag (which can be the same as the url);</span></dt> -<dd><span id="tlmgr-The-tag-_0028which-can-be-the-same-as-the-url_0029_003b"></span> +<dl class="table"> +<dt>The tag (which can be the same as the url);</dt> +<dd><a class="anchor" id="tlmgr-The-tag-_0028which-can-be-the-same-as-the-url_0029_003b"></a> <p>= the url; </p> <p>= iff machine-readable output is specified, the verification code (a @@ -5595,7 +5865,7 @@ extending to the end of line. <p>That is, in normal (not machine-readable) output, the third field (numeric verification status) is not present. </p> -<p>In all cases, one of the repositories must be tagged as <code>main</code>; +<p>In all cases, one of the repositories must be tagged as <code class="code">main</code>; otherwise, all operations will fail! </p> </dd> @@ -5603,67 +5873,67 @@ otherwise, all operations will fail! <hr> </div> -<div class="appendixsubsec" id="tlmgr-restore"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-restore"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-search" accesskey="n" rel="next">search</a>, Previous: <a href="#tlmgr-repository" accesskey="p" rel="prev">repository</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="restore"></span><h4 class="appendixsubsec">B.6.25 restore</h4> +<h4 class="appendixsubsec" id="restore">B.6.25 restore</h4> -<dl compact="compact"> -<dt><span><strong>restore [<em>option</em>...] <em>pkg</em> [<em>rev</em>]</strong></span></dt> -<dd><span id="tlmgr-restore-_005boption_002e_002e_002e_005d-pkg-_005brev_005d"></span> +<dl class="table"> +<dt><strong class="strong">restore [<em class="emph">option</em>...] <em class="emph">pkg</em> [<em class="emph">rev</em>]</strong></dt> +<dd><a class="anchor" id="tlmgr-restore-_005boption_002e_002e_002e_005d-pkg-_005brev_005d"></a> </dd> -<dt><span><strong>restore [<em>option</em>...] –all</strong></span></dt> -<dd><span id="tlmgr-restore-_005boption_002e_002e_002e_005d-_002d_002dall"></span> +<dt><strong class="strong">restore [<em class="emph">option</em>...] --all</strong></dt> +<dd><a class="anchor" id="tlmgr-restore-_005boption_002e_002e_002e_005d-_002d_002dall"></a> <p>Restore a package from a previously-made backup. </p> -<p>If <code>--all</code> is given, try to restore the latest revision of all +<p>If <code class="code">--all</code> is given, try to restore the latest revision of all package backups found in the backup directory. </p> -<p>Otherwise, if neither <em>pkg</em> nor <em>rev</em> are given, list the available -backup revisions for all packages. With <em>pkg</em> given but no <em>rev</em>, -list all available backup revisions of <em>pkg</em>. +<p>Otherwise, if neither <em class="emph">pkg</em> nor <em class="emph">rev</em> are given, list the available +backup revisions for all packages. With <em class="emph">pkg</em> given but no <em class="emph">rev</em>, +list all available backup revisions of <em class="emph">pkg</em>. </p> -<p>When listing available packages, <code>tlmgr</code> shows the revision, and in +<p>When listing available packages, <code class="code">tlmgr</code> shows the revision, and in parenthesis the creation time if available (in format yyyy-mm-dd hh:mm). </p> -<p>If (and only if) both <em>pkg</em> and a valid revision number <em>rev</em> are +<p>If (and only if) both <em class="emph">pkg</em> and a valid revision number <em class="emph">rev</em> are specified, try to restore the package from the specified backup. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dall-3"></span> +<dl class="table"> +<dt><strong class="strong">--all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dall-3"></a> <p>Try to restore the latest revision of all package backups found in the -backup directory. Additional non-option arguments (like <em>pkg</em>) are not +backup directory. Additional non-option arguments (like <em class="emph">pkg</em>) are not allowed. </p> </dd> -<dt><span><strong>–backupdir</strong> <em>directory</em></span></dt> -<dd><span id="tlmgr-_002d_002dbackupdir-directory-2"></span> +<dt><strong class="strong">--backupdir</strong> <em class="emph">directory</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dbackupdir-directory-2"></a> <p>Specify the directory where the backups are to be found. If not given it will be taken from the configuration setting in the TLPDB. </p> </dd> -<dt><span><strong>–dry-run</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddry_002drun-4"></span> +<dt><strong class="strong">--dry-run</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddry_002drun-4"></a> <p>Nothing is actually restored; instead, the actions to be performed are written to the terminal. </p> </dd> -<dt><span><strong>–force</strong></span></dt> -<dd><span id="tlmgr-_002d_002dforce-2"></span> +<dt><strong class="strong">--force</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dforce-2"></a> <p>Don’t ask questions. </p> </dd> -<dt><span><strong>–json</strong></span></dt> -<dd><span id="tlmgr-_002d_002djson-2"></span> -<p>When listing backups, the option <code>--json</code> turn on JSON output. -The format is an array of JSON objects (<code>name</code>, <code>rev</code>, <code>date</code>). -For details see <code>tlpkg/doc/JSON-formats.txt</code>, format definition: <code>TLBACKUPS</code>. -If both <code>--json</code> and <code>--data</code> are given, <code>--json</code> takes precedence. +<dt><strong class="strong">--json</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002djson-2"></a> +<p>When listing backups, the option <code class="code">--json</code> turn on JSON output. +The format is an array of JSON objects (<code class="code">name</code>, <code class="code">rev</code>, <code class="code">date</code>). +For details see <code class="code">tlpkg/doc/JSON-formats.txt</code>, format definition: <code class="code">TLBACKUPS</code>. +If both <code class="code">--json</code> and <code class="code">--data</code> are given, <code class="code">--json</code> takes precedence. </p> </dd> </dl> @@ -5673,51 +5943,51 @@ If both <code>--json</code> and <code>--data</code> are given, <code>--json</cod <hr> </div> -<div class="appendixsubsec" id="tlmgr-search"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-search"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-shell" accesskey="n" rel="next">shell</a>, Previous: <a href="#tlmgr-restore" accesskey="p" rel="prev">restore</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="search"></span><h4 class="appendixsubsec">B.6.26 search</h4> +<h4 class="appendixsubsec" id="search">B.6.26 search</h4> -<dl compact="compact"> -<dt><span><strong>search [<em>option</em>...] <em>what</em></strong></span></dt> -<dd><span id="tlmgr-search-_005boption_002e_002e_002e_005d-what"></span> +<dl class="table"> +<dt><strong class="strong">search [<em class="emph">option</em>...] <em class="emph">what</em></strong></dt> +<dd><a class="anchor" id="tlmgr-search-_005boption_002e_002e_002e_005d-what"></a> </dd> -<dt><span><strong>search [<em>option</em>...] –file <em>what</em></strong></span></dt> -<dd><span id="tlmgr-search-_005boption_002e_002e_002e_005d-_002d_002dfile-what"></span> +<dt><strong class="strong">search [<em class="emph">option</em>...] --file <em class="emph">what</em></strong></dt> +<dd><a class="anchor" id="tlmgr-search-_005boption_002e_002e_002e_005d-_002d_002dfile-what"></a> </dd> -<dt><span><strong>search [<em>option</em>...] –all <em>what</em></strong></span></dt> -<dd><span id="tlmgr-search-_005boption_002e_002e_002e_005d-_002d_002dall-what"></span> +<dt><strong class="strong">search [<em class="emph">option</em>...] --all <em class="emph">what</em></strong></dt> +<dd><a class="anchor" id="tlmgr-search-_005boption_002e_002e_002e_005d-_002d_002dall-what"></a> <p>By default, search the names, short descriptions, and long descriptions -of all locally installed packages for the argument <em>what</em>, interpreted +of all locally installed packages for the argument <em class="emph">what</em>, interpreted as a (Perl) regular expression. </p> <p>Options: </p> -<dl compact="compact"> -<dt><span><strong>–file</strong></span></dt> -<dd><span id="tlmgr-_002d_002dfile-1"></span> -<p>List all filenames containing <em>what</em>. +<dl class="table"> +<dt><strong class="strong">--file</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dfile-1"></a> +<p>List all filenames containing <em class="emph">what</em>. </p> </dd> -<dt><span><strong>–all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dall-4"></span> +<dt><strong class="strong">--all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dall-4"></a> <p>Search everything: package names, descriptions and filenames. </p> </dd> -<dt><span><strong>–global</strong></span></dt> -<dd><span id="tlmgr-_002d_002dglobal"></span> +<dt><strong class="strong">--global</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dglobal"></a> <p>Search the TeX Live Database of the installation medium, instead of the local installation. </p> </dd> -<dt><span><strong>–word</strong></span></dt> -<dd><span id="tlmgr-_002d_002dword"></span> +<dt><strong class="strong">--word</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dword"></a> <p>Restrict the search of package names and descriptions (but not filenames) to match only full words. For example, searching for -<code>table</code> with this option will not output packages containing the word -<code>tables</code> (unless they also contain the word <code>table</code> on its own). +<code class="code">table</code> with this option will not output packages containing the word +<code class="code">tables</code> (unless they also contain the word <code class="code">table</code> on its own). </p> </dd> </dl> @@ -5727,163 +5997,163 @@ filenames) to match only full words. For example, searching for <hr> </div> -<div class="appendixsubsec" id="tlmgr-shell"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-shell"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-show" accesskey="n" rel="next">show</a>, Previous: <a href="#tlmgr-search" accesskey="p" rel="prev">search</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="shell"></span><h4 class="appendixsubsec">B.6.27 shell</h4> +<h4 class="appendixsubsec" id="shell">B.6.27 shell</h4> <p>Starts an interactive mode, where tlmgr prompts for commands. This can be used directly, or for scripting. The first line of output is -<code>protocol</code> <em>n</em>, where <em>n</em> is an unsigned number identifying the +<code class="code">protocol</code> <em class="emph">n</em>, where <em class="emph">n</em> is an unsigned number identifying the protocol version (currently 1). </p> <p>In general, tlmgr actions that can be given on the command line translate to commands in this shell mode. For example, you can say -<code>update --list</code> to see what would be updated. The TLPDB is loaded the +<code class="code">update --list</code> to see what would be updated. The TLPDB is loaded the first time it is needed (not at the beginning), and used for the rest of the session. </p> <p>Besides these actions, a few commands are specific to shell mode: </p> -<dl compact="compact"> -<dt><span>protocol</span></dt> -<dd><span id="tlmgr-protocol"></span> -<p>Print <code>protocol <em>n</em></code>, the current protocol version. +<dl class="table"> +<dt>protocol</dt> +<dd><a class="anchor" id="tlmgr-protocol"></a> +<p>Print <code class="code">protocol <em class="emph">n</em></code>, the current protocol version. </p> </dd> -<dt><span>help</span></dt> -<dd><span id="tlmgr-help-1"></span> +<dt>help</dt> +<dd><a class="anchor" id="tlmgr-help-1"></a> <p>Print pointers to this documentation. </p> </dd> -<dt><span>version</span></dt> -<dd><span id="tlmgr-version-1"></span> +<dt>version</dt> +<dd><a class="anchor" id="tlmgr-version-1"></a> <p>Print tlmgr version information. </p> </dd> -<dt><span>quit, end, bye, byebye, EOF</span></dt> -<dd><span id="tlmgr-quit_002c-end_002c-bye_002c-byebye_002c-EOF"></span> +<dt>quit, end, bye, byebye, EOF</dt> +<dd><a class="anchor" id="tlmgr-quit_002c-end_002c-bye_002c-byebye_002c-EOF"></a> <p>Exit. </p> </dd> -<dt><span>restart</span></dt> -<dd><span id="tlmgr-restart"></span> -<p>Restart <code>tlmgr shell</code> with the original command line; most useful when -developing <code>tlmgr</code>. +<dt>restart</dt> +<dd><a class="anchor" id="tlmgr-restart"></a> +<p>Restart <code class="code">tlmgr shell</code> with the original command line; most useful when +developing <code class="code">tlmgr</code>. </p> </dd> -<dt><span>load [local|remote]</span></dt> -<dd><span id="tlmgr-load-_005blocal_007cremote_005d"></span> +<dt>load [local|remote]</dt> +<dd><a class="anchor" id="tlmgr-load-_005blocal_007cremote_005d"></a> <p>Explicitly load the local or remote, respectively, TLPDB. </p> </dd> -<dt><span>save</span></dt> -<dd><span id="tlmgr-save"></span> +<dt>save</dt> +<dd><a class="anchor" id="tlmgr-save"></a> <p>Save the local TLPDB, presumably after other operations have changed it. </p> </dd> -<dt><span>get [<em>var</em>] =item set [<em>var</em> [<em>val</em>]]</span></dt> -<dd><span id="tlmgr-get-_005bvar_005d-_003ditem-set-_005bvar-_005bval_005d_005d"></span> -<p>Get the value of <em>var</em>, or set it to <em>val</em>. Possible <em>var</em> names: -<code>debug-translation</code>, <code>machine-readable</code>, <code>no-execute-actions</code>, -<code>require-verification</code>, <code>verify-downloads</code>, <code>repository</code>, and -<code>prompt</code>. All except <code>repository</code> and <code>prompt</code> are booleans, taking +<dt>get [<em class="emph">var</em>] =item set [<em class="emph">var</em> [<em class="emph">val</em>]]</dt> +<dd><a class="anchor" id="tlmgr-get-_005bvar_005d-_003ditem-set-_005bvar-_005bval_005d_005d"></a> +<p>Get the value of <em class="emph">var</em>, or set it to <em class="emph">val</em>. Possible <em class="emph">var</em> names: +<code class="code">debug-translation</code>, <code class="code">machine-readable</code>, <code class="code">no-execute-actions</code>, +<code class="code">require-verification</code>, <code class="code">verify-downloads</code>, <code class="code">repository</code>, and +<code class="code">prompt</code>. All except <code class="code">repository</code> and <code class="code">prompt</code> are booleans, taking values 0 and 1, and behave like the corresponding command line option. -The <code>repository</code> variable takes a string, and sets the remote -repository location. The <code>prompt</code> variable takes a string, and sets the +The <code class="code">repository</code> variable takes a string, and sets the remote +repository location. The <code class="code">prompt</code> variable takes a string, and sets the current default prompt. </p> -<p>If <em>var</em> or then <em>val</em> is not specified, it is prompted for. +<p>If <em class="emph">var</em> or then <em class="emph">val</em> is not specified, it is prompted for. </p> </dd> </dl> <hr> </div> -<div class="appendixsubsec" id="tlmgr-show"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-show"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-uninstall" accesskey="n" rel="next">uninstall</a>, Previous: <a href="#tlmgr-shell" accesskey="p" rel="prev">shell</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="show"></span><h4 class="appendixsubsec">B.6.28 show</h4> +<h4 class="appendixsubsec" id="show">B.6.28 show</h4> -<p>Synonym for <a href="#tlmgr-info">info</a>. +<p>Synonym for <a class="ref" href="#tlmgr-info">info</a>. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-uninstall"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-uninstall"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d" accesskey="n" rel="next">update [<em>option</em>...] [<em>pkg</em>...]</a>, Previous: <a href="#tlmgr-show" accesskey="p" rel="prev">show</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d" accesskey="n" rel="next">update [<em class="emph">option</em>...] [<em class="emph">pkg</em>...]</a>, Previous: <a href="#tlmgr-show" accesskey="p" rel="prev">show</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="uninstall"></span><h4 class="appendixsubsec">B.6.29 uninstall</h4> +<h4 class="appendixsubsec" id="uninstall">B.6.29 uninstall</h4> -<p>Synonym for <a href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">remove</a>. +<p>Synonym for <a class="ref" href="#tlmgr-remove-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">remove</a>. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d"> +<div class="nav-panel"> <p> Previous: <a href="#tlmgr-uninstall" accesskey="p" rel="prev">uninstall</a>, Up: <a href="#tlmgr-ACTIONS" accesskey="u" rel="up">ACTIONS</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d"></span><h4 class="appendixsubsec">B.6.30 update [<em>option</em>...] [<em>pkg</em>...]</h4> +<h4 class="appendixsubsec" id="update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">B.6.30 update [<em class="emph">option</em>...] [<em class="emph">pkg</em>...]</h4> <p>Updates the packages given as arguments to the latest version available -at the installation source. Either <code>--all</code> or at least one <em>pkg</em> name +at the installation source. Either <code class="code">--all</code> or at least one <em class="emph">pkg</em> name must be specified. Options: </p> -<dl compact="compact"> -<dt><span><strong>–all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dall-5"></span> -<p>Update all installed packages except for <code>tlmgr</code> itself. If updates to -<code>tlmgr</code> itself are present, this gives an error, unless also the option -<code>--force</code> or <code>--self</code> is given. (See below.) +<dl class="table"> +<dt><strong class="strong">--all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dall-5"></a> +<p>Update all installed packages except for <code class="code">tlmgr</code> itself. If updates to +<code class="code">tlmgr</code> itself are present, this gives an error, unless also the option +<code class="code">--force</code> or <code class="code">--self</code> is given. (See below.) </p> <p>In addition to updating the installed packages, during the update of a collection the local installation is (by default) synchronized to the status of the collection on the server, for both additions and removals. </p> <p>This means that if a package has been removed on the server (and thus -has also been removed from the respective collection), <code>tlmgr</code> will +has also been removed from the respective collection), <code class="code">tlmgr</code> will remove the package in the local installation. This is called “auto-remove” and is announced as such when using the option -<code>--list</code>. This auto-removal can be suppressed using the option -<code>--no-auto-remove</code> (not recommended, see option description). +<code class="code">--list</code>. This auto-removal can be suppressed using the option +<code class="code">--no-auto-remove</code> (not recommended, see option description). </p> <p>Analogously, if a package has been added to a collection on the server that is also installed locally, it will be added to the local installation. This is called “auto-install” and is announced as such -when using the option <code>--list</code>. This auto-installation can be -suppressed using the option <code>--no-auto-install</code> (also not recommended). +when using the option <code class="code">--list</code>. This auto-installation can be +suppressed using the option <code class="code">--no-auto-install</code> (also not recommended). </p> <p>An exception to the collection dependency checks (including the auto-installation of packages just mentioned) are those that have been -“forcibly removed” by you, that is, you called <code>tlmgr remove --force</code> -on them. (See the <code>remove</code> action documentation.) To reinstall any -such forcibly removed packages use <code>--reinstall-forcibly-removed</code>. +“forcibly removed” by you, that is, you called <code class="code">tlmgr remove --force</code> +on them. (See the <code class="code">remove</code> action documentation.) To reinstall any +such forcibly removed packages use <code class="code">--reinstall-forcibly-removed</code>. </p> <p>To reiterate: automatic removals and additions are entirely determined by comparison of collections. Thus, if you manually install an -individual package <code>foo</code> which is later removed from the server, -<code>tlmgr</code> will not notice and will not remove it locally. (It has to be +individual package <code class="code">foo</code> which is later removed from the server, +<code class="code">tlmgr</code> will not notice and will not remove it locally. (It has to be this way, without major rearchitecture work, because the tlpdb does not record the repository from which packages come from.) </p> <p>If you want to exclude some packages from the current update run (e.g., -due to a slow link), see the <code>--exclude</code> option below. +due to a slow link), see the <code class="code">--exclude</code> option below. </p> </dd> -<dt><span><strong>–self</strong></span></dt> -<dd><span id="tlmgr-_002d_002dself"></span> -<p>Update <code>tlmgr</code> itself (that is, the infrastructure packages) if updates +<dt><strong class="strong">--self</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dself"></a> +<p>Update <code class="code">tlmgr</code> itself (that is, the infrastructure packages) if updates to it are present. On Windows this includes updates to the private Perl interpreter shipped inside TeX Live. </p> -<p>If this option is given together with either <code>--all</code> or a list of -packages, then <code>tlmgr</code> will be updated first and, if this update +<p>If this option is given together with either <code class="code">--all</code> or a list of +packages, then <code class="code">tlmgr</code> will be updated first and, if this update succeeds, the new version will be restarted to complete the rest of the updates. </p> @@ -5895,69 +6165,69 @@ updates. # ... this last at your own risk, not recommended! </pre> </dd> -<dt><span><strong>–dry-run</strong></span></dt> -<dd><span id="tlmgr-_002d_002ddry_002drun-5"></span> +<dt><strong class="strong">--dry-run</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002ddry_002drun-5"></a> <p>Nothing is actually installed; instead, the actions to be performed are -written to the terminal. This is a more detailed report than <code>--list</code>. +written to the terminal. This is a more detailed report than <code class="code">--list</code>. </p> </dd> -<dt><span><strong>–list</strong> [<em>pkg</em>]</span></dt> -<dd><span id="tlmgr-_002d_002dlist-_005bpkg_005d"></span> +<dt><strong class="strong">--list</strong> [<em class="emph">pkg</em>]</dt> +<dd><a class="anchor" id="tlmgr-_002d_002dlist-_005bpkg_005d"></a> <p>Concisely list the packages which would be updated, newly installed, or removed, without actually changing anything. -If <code>--all</code> is also given, all available updates are listed. -If <code>--self</code> is given, but not <code>--all</code>, only updates to the +If <code class="code">--all</code> is also given, all available updates are listed. +If <code class="code">--self</code> is given, but not <code class="code">--all</code>, only updates to the critical packages (tlmgr, texlive infrastructure, perl on Windows, etc.) are listed. -If neither <code>--all</code> nor <code>--self</code> is given, and in addition no <em>pkg</em> is -given, then <code>--all</code> is assumed (thus, <code>tlmgr update --list</code> is the -same as <code>tlmgr update --list --all</code>). -If neither <code>--all</code> nor <code>--self</code> is given, but specific package names are +If neither <code class="code">--all</code> nor <code class="code">--self</code> is given, and in addition no <em class="emph">pkg</em> is +given, then <code class="code">--all</code> is assumed (thus, <code class="code">tlmgr update --list</code> is the +same as <code class="code">tlmgr update --list --all</code>). +If neither <code class="code">--all</code> nor <code class="code">--self</code> is given, but specific package names are given, those packages are checked for updates. </p> </dd> -<dt><span><strong>–exclude</strong> <em>pkg</em></span></dt> -<dd><span id="tlmgr-_002d_002dexclude-pkg"></span> -<p>Exclude <em>pkg</em> from the update process. If this option is given more +<dt><strong class="strong">--exclude</strong> <em class="emph">pkg</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dexclude-pkg"></a> +<p>Exclude <em class="emph">pkg</em> from the update process. If this option is given more than once, its arguments accumulate. </p> -<p>An argument <em>pkg</em> excludes both the package <em>pkg</em> itself and all -its related platform-specific packages <em>pkg.ARCH</em>. For example, +<p>An argument <em class="emph">pkg</em> excludes both the package <em class="emph">pkg</em> itself and all +its related platform-specific packages <em class="emph">pkg.ARCH</em>. For example, </p> <pre class="verbatim"> tlmgr update --all --exclude a2ping </pre> -<p>will not update <code>a2ping</code>, <code>a2ping.i386-linux</code>, or -any other <code>a2ping.</code><em>ARCH</em> package. +<p>will not update <code class="code">a2ping</code>, <code class="code">a2ping.i386-linux</code>, or +any other <code class="code">a2ping.</code><em class="emph">ARCH</em> package. </p> <p>If this option specifies a package that would otherwise be a candidate for auto-installation, auto-removal, or reinstallation of a forcibly -removed package, <code>tlmgr</code> quits with an error message. Excludes are not +removed package, <code class="code">tlmgr</code> quits with an error message. Excludes are not supported in these circumstances. </p> <p>This option can also be set permanently in the tlmgr config file with -the key <code>update-exclude</code>. +the key <code class="code">update-exclude</code>. </p> </dd> -<dt><span><strong>–no-auto-remove</strong> [<em>pkg</em>...]</span></dt> -<dd><span id="tlmgr-_002d_002dno_002dauto_002dremove-_005bpkg_002e_002e_002e_005d"></span> -<p>By default, <code>tlmgr</code> tries to remove packages in an existing collection -which have disappeared on the server, as described above under <code>--all</code>. +<dt><strong class="strong">--no-auto-remove</strong> [<em class="emph">pkg</em>...]</dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002dauto_002dremove-_005bpkg_002e_002e_002e_005d"></a> +<p>By default, <code class="code">tlmgr</code> tries to remove packages in an existing collection +which have disappeared on the server, as described above under <code class="code">--all</code>. This option prevents such removals, either for all packages (with -<code>--all</code>), or for just the given <em>pkg</em> names. This can lead to an +<code class="code">--all</code>), or for just the given <em class="emph">pkg</em> names. This can lead to an inconsistent TeX installation, since packages are not infrequently renamed or replaced by their authors. Therefore this is not recommended. </p> </dd> -<dt><span><strong>–no-auto-install</strong> [<em>pkg</em>...]</span></dt> -<dd><span id="tlmgr-_002d_002dno_002dauto_002dinstall-_005bpkg_002e_002e_002e_005d"></span> -<p>Under normal circumstances <code>tlmgr</code> will install packages which are new -on the server, as described above under <code>--all</code>. This option prevents +<dt><strong class="strong">--no-auto-install</strong> [<em class="emph">pkg</em>...]</dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002dauto_002dinstall-_005bpkg_002e_002e_002e_005d"></a> +<p>Under normal circumstances <code class="code">tlmgr</code> will install packages which are new +on the server, as described above under <code class="code">--all</code>. This option prevents any such automatic installation, either for all packages (with -<code>--all</code>), or the given <em>pkg</em> names. +<code class="code">--all</code>), or the given <em class="emph">pkg</em> names. </p> -<p>Furthermore, after the <code>tlmgr</code> run using this has finished, the -packages that would have been auto-installed <em>will be considered as -forcibly removed</em>. So, if <code>foobar</code> is the only new package on the +<p>Furthermore, after the <code class="code">tlmgr</code> run using this has finished, the +packages that would have been auto-installed <em class="emph">will be considered as +forcibly removed</em>. So, if <code class="code">foobar</code> is the only new package on the server, then </p> <pre class="verbatim"> tlmgr update --all --no-auto-install @@ -5971,98 +6241,98 @@ server, then option is not recommended. </p> </dd> -<dt><span><strong>–reinstall-forcibly-removed</strong></span></dt> -<dd><span id="tlmgr-_002d_002dreinstall_002dforcibly_002dremoved"></span> -<p>Under normal circumstances <code>tlmgr</code> will not install packages that have -been forcibly removed by the user; that is, removed with <code>remove ---force</code>, or whose installation was prohibited by <code>--no-auto-install</code> +<dt><strong class="strong">--reinstall-forcibly-removed</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dreinstall_002dforcibly_002dremoved"></a> +<p>Under normal circumstances <code class="code">tlmgr</code> will not install packages that have +been forcibly removed by the user; that is, removed with <code class="code">remove +--force</code>, or whose installation was prohibited by <code class="code">--no-auto-install</code> during an earlier update. </p> -<p>This option makes <code>tlmgr</code> ignore the forcible removals and re-install +<p>This option makes <code class="code">tlmgr</code> ignore the forcible removals and re-install all such packages. This can be used to completely synchronize an installation with the server’s idea of what is available: </p> <pre class="verbatim"> tlmgr update --reinstall-forcibly-removed --all </pre> </dd> -<dt><span><strong>–backup</strong></span></dt> -<dd><span id="tlmgr-_002d_002dbackup-1"></span> +<dt><strong class="strong">--backup</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dbackup-1"></a> </dd> -<dt><span><strong>–backupdir</strong> <em>directory</em></span></dt> -<dd><span id="tlmgr-_002d_002dbackupdir-directory-3"></span> -<p>These two options control the creation of backups of packages <em>before</em> +<dt><strong class="strong">--backupdir</strong> <em class="emph">directory</em></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dbackupdir-directory-3"></a> +<p>These two options control the creation of backups of packages <em class="emph">before</em> updating; that is, backing up packages as currently installed. If -neither option is given, no backup will made. If <code>--backupdir</code> is +neither option is given, no backup will made. If <code class="code">--backupdir</code> is given and specifies a writable directory then a backup will be made in -that location. If only <code>--backup</code> is given, then a backup will be made -to the directory previously set via the <a href="#tlmgr-option">option</a> action (see +that location. If only <code class="code">--backup</code> is given, then a backup will be made +to the directory previously set via the <a class="ref" href="#tlmgr-option">option</a> action (see below). If both are given then a backup will be made to the specified -<em>directory</em>. +<em class="emph">directory</em>. </p> -<p>You can also set options via the <a href="#tlmgr-option">option</a> action to automatically make +<p>You can also set options via the <a class="ref" href="#tlmgr-option">option</a> action to automatically make backups for all packages, and/or keep only a certain number of backups. </p> -<p><code>tlmgr</code> always makes a temporary backup when updating packages, in case +<p><code class="code">tlmgr</code> always makes a temporary backup when updating packages, in case of download or other failure during an update. In contrast, the purpose -of this <code>--backup</code> option is to save a persistent backup in case the -actual <em>content</em> of the update causes problems, e.g., introduces an TeX +of this <code class="code">--backup</code> option is to save a persistent backup in case the +actual <em class="emph">content</em> of the update causes problems, e.g., introduces an TeX incompatibility. </p> -<p>The <a href="#tlmgr-restore">restore</a> action explains how to restore from a backup. +<p>The <a class="ref" href="#tlmgr-restore">restore</a> action explains how to restore from a backup. </p> </dd> -<dt><span><strong>–no-depends</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002ddepends-2"></span> +<dt><strong class="strong">--no-depends</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002ddepends-2"></a> <p>If you call for updating a package normally all depending packages will also be checked for updates and updated if necessary. This switch suppresses this behavior. </p> </dd> -<dt><span><strong>–no-depends-at-all</strong></span></dt> -<dd><span id="tlmgr-_002d_002dno_002ddepends_002dat_002dall-2"></span> -<p>See above under <a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install</a> (and beware). +<dt><strong class="strong">--no-depends-at-all</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dno_002ddepends_002dat_002dall-2"></a> +<p>See above under <a class="ref" href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install</a> (and beware). </p> </dd> -<dt><span><strong>–force</strong></span></dt> -<dd><span id="tlmgr-_002d_002dforce-3"></span> -<p>Force update of normal packages, without updating <code>tlmgr</code> itself -(unless the <code>--self</code> option is also given). Not recommended. +<dt><strong class="strong">--force</strong></dt> +<dd><a class="anchor" id="tlmgr-_002d_002dforce-3"></a> +<p>Force update of normal packages, without updating <code class="code">tlmgr</code> itself +(unless the <code class="code">--self</code> option is also given). Not recommended. </p> -<p>Also, <code>update --list</code> is still performed regardless of this option. +<p>Also, <code class="code">update --list</code> is still performed regardless of this option. </p> </dd> </dl> <p>If the package on the server is older than the package already installed -(e.g., if the selected mirror is out of date), <code>tlmgr</code> does not +(e.g., if the selected mirror is out of date), <code class="code">tlmgr</code> does not downgrade. Also, packages for uninstalled platforms are not installed. </p> -<p><code>tlmgr</code> saves one copy of the main <code>texlive.tlpdb</code> file used for an +<p><code class="code">tlmgr</code> saves one copy of the main <code class="code">texlive.tlpdb</code> file used for an update with a suffix representing the repository url, as in -<code>tlpkg/texlive.tlpdb.main.</code><em>long-hash-string</em>. Thus, even when many -mirrors are used, only one main <code>tlpdb</code> backup is kept. For non-main +<code class="code">tlpkg/texlive.tlpdb.main.</code><em class="emph">long-hash-string</em>. Thus, even when many +mirrors are used, only one main <code class="code">tlpdb</code> backup is kept. For non-main repositories, which do not generally have (m)any mirrors, no pruning of backups is done. </p> <p>This action does not automatically add or remove new symlinks in system -directories; you need to run <code>tlmgr</code> <a href="#tlmgr-path">path</a> yourself if you are using +directories; you need to run <code class="code">tlmgr</code> <a class="ref" href="#tlmgr-path">path</a> yourself if you are using this feature and want new symlinks added. </p> <hr> </div> </div> -<div class="appendixsec" id="tlmgr-CONFIGURATION-FILE-FOR-TLMGR"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-CONFIGURATION-FILE-FOR-TLMGR"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION" accesskey="n" rel="next">CRYPTOGRAPHIC VERIFICATION</a>, Previous: <a href="#tlmgr-ACTIONS" accesskey="p" rel="prev">ACTIONS</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="CONFIGURATION-FILE-FOR-TLMGR"></span><h3 class="appendixsec">B.7 CONFIGURATION FILE FOR TLMGR</h3> +<h3 class="appendixsec" id="CONFIGURATION-FILE-FOR-TLMGR">B.7 CONFIGURATION FILE FOR TLMGR</h3> -<p><code>tlmgr</code> reads two configuration files: one is system-wide, in -<code>TEXMFSYSCONFIG/tlmgr/config</code>, and the other is user-specific, in -<code>TEXMFCONFIG/tlmgr/config</code>. The user-specific one is the default for -the <code>conf tlmgr</code> action. (Run <code>kpsewhich --var-value=TEXMFSYSCONFIG</code> or <code>... TEXMFCONFIG ...</code> to see the actual +<p><code class="code">tlmgr</code> reads two configuration files: one is system-wide, in +<code class="code">TEXMFSYSCONFIG/tlmgr/config</code>, and the other is user-specific, in +<code class="code">TEXMFCONFIG/tlmgr/config</code>. The user-specific one is the default for +the <code class="code">conf tlmgr</code> action. (Run <code class="code">kpsewhich +-var-value=TEXMFSYSCONFIG</code> or <code class="code">... TEXMFCONFIG ...</code> to see the actual directory names.) </p> <p>A few defaults corresponding to command-line options can be set in these @@ -6074,230 +6344,229 @@ ignored. All other lines must look like: </p> <pre class="verbatim"> key = value </pre> -<p>where the spaces are optional but the <code>=</code> is required. +<p>where the spaces are optional but the <code class="code">=</code> is required. </p> <p>The allowed keys are: </p> -<dl compact="compact"> -<dt><span><code>auto-remove =</code> 0 or 1 (default 1), same as command-line option.</span></dt> -<dd><span id="tlmgr-auto_002dremove-_003d-0-or-1-_0028default-1_0029_002c-same-as-command_002dline-option_002e"></span> +<dl class="table"> +<dt><code class="code">auto-remove =</code> 0 or 1 (default 1), same as command-line option.</dt> +<dd><a class="anchor" id="tlmgr-auto_002dremove-_003d-0-or-1-_0028default-1_0029_002c-same-as-command_002dline-option_002e"></a> </dd> -<dt><span><code>gui-expertmode =</code> 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.</span></dt> -<dd><span id="tlmgr-gui_002dexpertmode-_003d-0-or-1-_0028default-1_0029_002e-This-switches-between-the-full-GUI-and-a-simplified-GUI-with-only-the-most-common-settings_002e"></span> +<dt><code class="code">gui-expertmode =</code> 0 or 1 (default 1). This switches between the full GUI and a simplified GUI with only the most common settings.</dt> +<dd><a class="anchor" id="tlmgr-gui_002dexpertmode-_003d-0-or-1-_0028default-1_0029_002e-This-switches-between-the-full-GUI-and-a-simplified-GUI-with-only-the-most-common-settings_002e"></a> </dd> -<dt><span><code>gui-lang =</code> <em>llcode</em>, with a language code value as with the command-line option.</span></dt> -<dd><span id="tlmgr-gui_002dlang-_003d-llcode_002c-with-a-language-code-value-as-with-the-command_002dline-option_002e"></span> +<dt><code class="code">gui-lang =</code> <em class="emph">llcode</em>, with a language code value as with the command-line option.</dt> +<dd><a class="anchor" id="tlmgr-gui_002dlang-_003d-llcode_002c-with-a-language-code-value-as-with-the-command_002dline-option_002e"></a> </dd> -<dt><span><code>no-checksums =</code> 0 or 1 (default 0, see below).</span></dt> -<dd><span id="tlmgr-no_002dchecksums-_003d-0-or-1-_0028default-0_002c-see-below_0029_002e"></span> +<dt><code class="code">no-checksums =</code> 0 or 1 (default 0, see below).</dt> +<dd><a class="anchor" id="tlmgr-no_002dchecksums-_003d-0-or-1-_0028default-0_002c-see-below_0029_002e"></a> </dd> -<dt><span><code>persistent-downloads =</code> 0 or 1 (default 1), same as command-line option.</span></dt> -<dd><span id="tlmgr-persistent_002ddownloads-_003d-0-or-1-_0028default-1_0029_002c-same-as-command_002dline-option_002e"></span> +<dt><code class="code">persistent-downloads =</code> 0 or 1 (default 1), same as command-line option.</dt> +<dd><a class="anchor" id="tlmgr-persistent_002ddownloads-_003d-0-or-1-_0028default-1_0029_002c-same-as-command_002dline-option_002e"></a> </dd> -<dt><span><code>require-verification =</code> 0 or 1 (default 0), same as command-line option.</span></dt> -<dd><span id="tlmgr-require_002dverification-_003d-0-or-1-_0028default-0_0029_002c-same-as-command_002dline-option_002e"></span> +<dt><code class="code">require-verification =</code> 0 or 1 (default 0), same as command-line option.</dt> +<dd><a class="anchor" id="tlmgr-require_002dverification-_003d-0-or-1-_0028default-0_0029_002c-same-as-command_002dline-option_002e"></a> </dd> -<dt><span><code>tkfontscale =</code> <em>floating-point number</em> (default 1.0); scaling factor for fonts in the Tk-based frontends.</span></dt> -<dd><span id="tlmgr-tkfontscale-_003d-floating_002dpoint-number-_0028default-1_002e0_0029_003b-scaling-factor-for-fonts-in-the-Tk_002dbased-frontends_002e"></span> +<dt><code class="code">tkfontscale =</code> <em class="emph">floating-point number</em> (default 1.0); scaling factor for fonts in the Tk-based frontends.</dt> +<dd><a class="anchor" id="tlmgr-tkfontscale-_003d-floating_002dpoint-number-_0028default-1_002e0_0029_003b-scaling-factor-for-fonts-in-the-Tk_002dbased-frontends_002e"></a> </dd> -<dt><span><code>update-exclude =</code> <em>comma-separated list of packages</em> (no spaces allowed). Same as the command line option <code>--exclude</code> for the <code>update</code> action.</span></dt> -<dd><span id="tlmgr-update_002dexclude-_003d-comma_002dseparated-list-of-packages-_0028no-spaces-allowed_0029_002e-Same-as-the-command-line-option-_002d_002dexclude-for-the-update-action_002e"></span> +<dt><code class="code">update-exclude =</code> <em class="emph">comma-separated list of packages</em> (no spaces allowed). Same as the command line option <code class="code">--exclude</code> for the <code class="code">update</code> action.</dt> +<dd><a class="anchor" id="tlmgr-update_002dexclude-_003d-comma_002dseparated-list-of-packages-_0028no-spaces-allowed_0029_002e-Same-as-the-command-line-option-_002d_002dexclude-for-the-update-action_002e"></a> </dd> -<dt><span><code>verify-downloads =</code> 0 or 1 (default 1), same as command-line option.</span></dt> -<dd><span id="tlmgr-verify_002ddownloads-_003d-0-or-1-_0028default-1_0029_002c-same-as-command_002dline-option_002e"></span> +<dt><code class="code">verify-downloads =</code> 0 or 1 (default 1), same as command-line option.</dt> +<dd><a class="anchor" id="tlmgr-verify_002ddownloads-_003d-0-or-1-_0028default-1_0029_002c-same-as-command_002dline-option_002e"></a> </dd> </dl> <p>The system-wide config file can contain one additional key: </p> -<dl compact="compact"> -<dt><span><code>allowed-actions =</code> <em>action1</em>[,<em>action2</em>,...] The value is a comma-separated list (no spaces) of <code>tlmgr</code> actions which are allowed to be executed when <code>tlmgr</code> is invoked in system mode (that is, without <code>--usermode</code>). This allows distributors to include <code>tlmgr</code> in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn’t make sense to set this.</span></dt> -<dd><span id="tlmgr-allowed_002dactions-_003d-action1_005b_002caction2_002c_002e_002e_002e_005d-The-value-is-a-comma_002dseparated-list-_0028no-spaces_0029-of-tlmgr-actions-which-are-allowed-to-be-executed-when-tlmgr-is-invoked-in-system-mode-_0028that-is_002c-without-_002d_002dusermode_0029_002e-This-allows-distributors-to-include-tlmgr-in-their-packaging_002c-but-allow-only-a-restricted-set-of-actions-that-do-not-interfere-with-their-distro-package-manager_002e-For-native-TeX-Live-installations_002c-it-doesn_0027t-make-sense-to-set-this_002e"></span> +<dl class="table"> +<dt><code class="code">allowed-actions =</code> <em class="emph">action1</em>[,<em class="emph">action2</em>,...] The value is a comma-separated list (no spaces) of <code class="code">tlmgr</code> actions which are allowed to be executed when <code class="code">tlmgr</code> is invoked in system mode (that is, without <code class="code">--usermode</code>). This allows distributors to include <code class="code">tlmgr</code> in their packaging, but allow only a restricted set of actions that do not interfere with their distro package manager. For native TeX Live installations, it doesn’t make sense to set this.</dt> +<dd><a class="anchor" id="tlmgr-allowed_002dactions-_003d-action1_005b_002caction2_002c_002e_002e_002e_005d-The-value-is-a-comma_002dseparated-list-_0028no-spaces_0029-of-tlmgr-actions-which-are-allowed-to-be-executed-when-tlmgr-is-invoked-in-system-mode-_0028that-is_002c-without-_002d_002dusermode_0029_002e-This-allows-distributors-to-include-tlmgr-in-their-packaging_002c-but-allow-only-a-restricted-set-of-actions-that-do-not-interfere-with-their-distro-package-manager_002e-For-native-TeX-Live-installations_002c-it-doesn_0027t-make-sense-to-set-this_002e"></a> </dd> </dl> -<p>Finally, the <code>no-checksums</code> key needs more explanation. By default, +<p>Finally, the <code class="code">no-checksums</code> key needs more explanation. By default, package checksums computed and stored on the server (in the TLPDB) are compared to checksums computed locally after downloading. -<code>no-checksums</code> disables this process. The checksum algorithm is +<code class="code">no-checksums</code> disables this process. The checksum algorithm is SHA-512. Your system must have one of (looked for in this order) the -Perl <code>Digest::SHA</code> module, the <code>openssl</code> program -(<a href="https://openssl.org">https://openssl.org</a>), the <code>sha512sum</code> program (from GNU Coreutils, -<a href="https://www.gnu.org/software/coreutils">https://www.gnu.org/software/coreutils</a>), or finally the <code>shasum</code> +Perl <code class="code">Digest::SHA</code> module, the <code class="code">openssl</code> program +(<a class="url" href="https://openssl.org">https://openssl.org</a>), the <code class="code">sha512sum</code> program (from GNU Coreutils, +<a class="url" href="https://www.gnu.org/software/coreutils">https://www.gnu.org/software/coreutils</a>), or finally the <code class="code">shasum</code> program (just to support old Macs). If none of these are available, a -warning is issued and <code>tlmgr</code> proceeds without checking checksums. -<code>no-checksums</code> avoids the warning. (Incidentally, other SHA +warning is issued and <code class="code">tlmgr</code> proceeds without checking checksums. +<code class="code">no-checksums</code> avoids the warning. (Incidentally, other SHA implementations, such as the pure Perl and pure Lua modules, are much too slow to be usable in our context.) </p> <hr> </div> -<div class="appendixsec" id="tlmgr-CRYPTOGRAPHIC-VERIFICATION"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-CRYPTOGRAPHIC-VERIFICATION"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-USER-MODE" accesskey="n" rel="next">USER MODE</a>, Previous: <a href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR" accesskey="p" rel="prev">CONFIGURATION FILE FOR TLMGR</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="CRYPTOGRAPHIC-VERIFICATION"></span><h3 class="appendixsec">B.8 CRYPTOGRAPHIC VERIFICATION</h3> +<h3 class="appendixsec" id="CRYPTOGRAPHIC-VERIFICATION">B.8 CRYPTOGRAPHIC VERIFICATION</h3> -<p><code>tlmgr</code> and <code>install-tl</code> perform cryptographic verification if +<p><code class="code">tlmgr</code> and <code class="code">install-tl</code> perform cryptographic verification if possible. If verification is performed and successful, the programs -report <code>(verified)</code> after loading the TLPDB; otherwise, they report -<code>(not verified)</code>. But either way, by default the installation and/or +report <code class="code">(verified)</code> after loading the TLPDB; otherwise, they report +<code class="code">(not verified)</code>. But either way, by default the installation and/or updates proceed normally. </p> -<p>If a program named <code>gpg</code> is available (that is, found in <code>PATH</code>), by +<p>If a program named <code class="code">gpg</code> is available (that is, found in <code class="code">PATH</code>), by default cryptographic signatures will be checked: we require the main -repository be signed, but not any additional repositories. If <code>gpg</code> is +repository be signed, but not any additional repositories. If <code class="code">gpg</code> is not available, by default signatures are not checked and no verification -is carried out, but <code>tlmgr</code> still proceeds normally. +is carried out, but <code class="code">tlmgr</code> still proceeds normally. </p> <p>The behavior of the verification can be controlled by the command line -and config file option <code>verify-repo</code> which takes one of the following -values: <code>none</code>, <code>main</code>, or <code>all</code>. With <code>none</code>, no verification -whatsoever is attempted. With <code>main</code> (the default) verification is -required only for the main repository, and only if <code>gpg</code> is available; +and config file option <code class="code">verify-repo</code> which takes one of the following +values: <code class="code">none</code>, <code class="code">main</code>, or <code class="code">all</code>. With <code class="code">none</code>, no verification +whatsoever is attempted. With <code class="code">main</code> (the default) verification is +required only for the main repository, and only if <code class="code">gpg</code> is available; though attempted for all, missing signatures of subsidiary repositories -will not result in an error. Finally, in the case of <code>all</code>, <code>gpg</code> +will not result in an error. Finally, in the case of <code class="code">all</code>, <code class="code">gpg</code> must be available and all repositories need to be signed. </p> <p>In all cases, if a signature is checked and fails to verify, an error is raised. </p> <p>Cryptographic verification requires checksum checking (described just -above) to succeed, and a working GnuPG (<code>gpg</code>) program (see below for +above) to succeed, and a working GnuPG (<code class="code">gpg</code>) program (see below for search method). Then, unless cryptographic verification has been -disabled, a signature file (<code>texlive.tlpdb.*.asc</code>) of the checksum file +disabled, a signature file (<code class="code">texlive.tlpdb.*.asc</code>) of the checksum file is downloaded and the signature verified. The signature is created by the TeX Live Distribution GPG key 0x0D5E5D9106BAB6BC, which in turn is signed by Karl Berry’s key 0x0716748A30D155AD and Norbert Preining’s key 0x6CACA448860CDC13. All of these keys are obtainable from the standard key servers. </p> -<p>Additional trusted keys can be added using the <code>key</code> action. +<p>Additional trusted keys can be added using the <code class="code">key</code> action. </p> - -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tlmgr-Configuration-of-GnuPG-invocation" accesskey="1">Configuration of GnuPG invocation</a></li> </ul> <hr> -<div class="appendixsubsec" id="tlmgr-Configuration-of-GnuPG-invocation"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-Configuration-of-GnuPG-invocation"> +<div class="nav-panel"> <p> Up: <a href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION" accesskey="u" rel="up">CRYPTOGRAPHIC VERIFICATION</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Configuration-of-GnuPG-invocation"></span><h4 class="appendixsubsec">B.8.1 Configuration of GnuPG invocation</h4> +<h4 class="appendixsubsec" id="Configuration-of-GnuPG-invocation">B.8.1 Configuration of GnuPG invocation</h4> <p>The executable used for GnuPG is searched as follows: If the environment -variable <code>TL_GNUPG</code> is set, it is tested and used; otherwise <code>gpg</code> is -checked; finally <code>gpg2</code> is checked. +variable <code class="code">TL_GNUPG</code> is set, it is tested and used; otherwise <code class="code">gpg</code> is +checked; finally <code class="code">gpg2</code> is checked. </p> -<p>Further adaptation of the <code>gpg</code> invocation can be made using the two -environment variables <code>TL_GNUPGHOME</code>, which is passed to <code>gpg</code> as the -value for <code>--homedir</code>, and <code>TL_GNUPGARGS</code>, which replaces the default -options <code>--no-secmem-warning --no-permission-warning</code>. +<p>Further adaptation of the <code class="code">gpg</code> invocation can be made using the two +environment variables <code class="code">TL_GNUPGHOME</code>, which is passed to <code class="code">gpg</code> as the +value for <code class="code">--homedir</code>, and <code class="code">TL_GNUPGARGS</code>, which replaces the default +options <code class="code">--no-secmem-warning --no-permission-warning</code>. </p> <hr> </div> </div> -<div class="appendixsec" id="tlmgr-USER-MODE"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-USER-MODE"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-MULTIPLE-REPOSITORIES" accesskey="n" rel="next">MULTIPLE REPOSITORIES</a>, Previous: <a href="#tlmgr-CRYPTOGRAPHIC-VERIFICATION" accesskey="p" rel="prev">CRYPTOGRAPHIC VERIFICATION</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="USER-MODE"></span><h3 class="appendixsec">B.9 USER MODE</h3> +<h3 class="appendixsec" id="USER-MODE">B.9 USER MODE</h3> -<p><code>tlmgr</code> provides a restricted way, called “user mode”, to manage +<p><code class="code">tlmgr</code> provides a restricted way, called “user mode”, to manage arbitrary texmf trees in the same way as the main installation. For example, this allows people without write permissions on the installation location to update/install packages into a tree of their own. </p> -<p><code>tlmgr</code> is switched into user mode with the command line option -<code>--usermode</code>. It does not switch automatically, nor is there any +<p><code class="code">tlmgr</code> is switched into user mode with the command line option +<code class="code">--usermode</code>. It does not switch automatically, nor is there any configuration file setting for it. Thus, this option has to be explicitly given every time user mode is to be activated. </p> -<p>This mode of <code>tlmgr</code> works on a user tree, by default the value of the -<code>TEXMFHOME</code> variable. This can be overridden with the command line -option <code>--usertree</code>. In the following when we speak of the user tree -we mean either <code>TEXMFHOME</code> or the one given on the command line. +<p>This mode of <code class="code">tlmgr</code> works on a user tree, by default the value of the +<code class="code">TEXMFHOME</code> variable. This can be overridden with the command line +option <code class="code">--usertree</code>. In the following when we speak of the user tree +we mean either <code class="code">TEXMFHOME</code> or the one given on the command line. </p> -<p>Not all actions are allowed in user mode; <code>tlmgr</code> will warn you and not +<p>Not all actions are allowed in user mode; <code class="code">tlmgr</code> will warn you and not carry out any problematic actions. Currently not supported (and -probably will never be) is the <code>platform</code> action. The <code>gui</code> action is +probably will never be) is the <code class="code">platform</code> action. The <code class="code">gui</code> action is currently not supported, but may be in a future release. </p> -<p>Some <code>tlmgr</code> actions don’t need any write permissions and thus work the -same in user mode and normal mode. Currently these are: <code>check</code>, -<code>help</code>, <code>list</code>, <code>print-platform</code>, <code>print-platform-info</code>, <code>search</code>, -<code>show</code>, <code>version</code>. +<p>Some <code class="code">tlmgr</code> actions don’t need any write permissions and thus work the +same in user mode and normal mode. Currently these are: <code class="code">check</code>, +<code class="code">help</code>, <code class="code">list</code>, <code class="code">print-platform</code>, <code class="code">print-platform-info</code>, <code class="code">search</code>, +<code class="code">show</code>, <code class="code">version</code>. </p> <p>On the other hand, most of the actions dealing with package management do need write permissions, and thus behave differently in user mode, as -described below: <code>install</code>, <code>update</code>, <code>remove</code>, <code>option</code>, <code>paper</code>, -<code>generate</code>, <code>backup</code>, <code>restore</code>, <code>uninstall</code>, <code>symlinks</code>. -</p> -<p>Before using <code>tlmgr</code> in user mode, you have to set up the user tree -with the <code>init-usertree</code> action. This creates <em>usertree</em><code>/web2c</code> and -<em>usertree</em><code>/tlpkg/tlpobj</code>, and a minimal -<em>usertree</em><code>/tlpkg/texlive.tlpdb</code>. At that point, you can tell -<code>tlmgr</code> to do the (supported) actions by adding the <code>--usermode</code> +described below: <code class="code">install</code>, <code class="code">update</code>, <code class="code">remove</code>, <code class="code">option</code>, <code class="code">paper</code>, +<code class="code">generate</code>, <code class="code">backup</code>, <code class="code">restore</code>, <code class="code">uninstall</code>, <code class="code">symlinks</code>. +</p> +<p>Before using <code class="code">tlmgr</code> in user mode, you have to set up the user tree +with the <code class="code">init-usertree</code> action. This creates <em class="emph">usertree</em><code class="code">/web2c</code> and +<em class="emph">usertree</em><code class="code">/tlpkg/tlpobj</code>, and a minimal +<em class="emph">usertree</em><code class="code">/tlpkg/texlive.tlpdb</code>. At that point, you can tell +<code class="code">tlmgr</code> to do the (supported) actions by adding the <code class="code">--usermode</code> command line option. </p> -<p>In user mode the file <em>usertree</em><code>/tlpkg/texlive.tlpdb</code> contains only -the packages that have been installed into the user tree using <code>tlmgr</code>, +<p>In user mode the file <em class="emph">usertree</em><code class="code">/tlpkg/texlive.tlpdb</code> contains only +the packages that have been installed into the user tree using <code class="code">tlmgr</code>, plus additional options from the “virtual” package -<code>00texlive.installation</code> (similar to the main installation’s -<code>texlive.tlpdb</code>). +<code class="code">00texlive.installation</code> (similar to the main installation’s +<code class="code">texlive.tlpdb</code>). </p> <p>All actions on packages in user mode can only be carried out on packages -that are known as <code>relocatable</code>. This excludes all packages containing +that are known as <code class="code">relocatable</code>. This excludes all packages containing executables and a few other core packages. Of the 2500 or so packages currently in TeX Live the vast majority are relocatable and can be installed into a user tree. </p> <p>Description of changes of actions in user mode: </p> - -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tlmgr-User-mode-install" accesskey="1">User mode install</a></li> <li><a href="#tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update" accesskey="2">User mode backup, restore, remove, update</a></li> <li><a href="#tlmgr-User-mode-generate_002c-option_002c-paper" accesskey="3">User mode generate, option, paper</a></li> +<li><a href="#tlmgr-User-mode-logs" accesskey="4">User mode logs</a></li> </ul> <hr> -<div class="appendixsubsec" id="tlmgr-User-mode-install"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-User-mode-install"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update" accesskey="n" rel="next">User mode backup, restore, remove, update</a>, Up: <a href="#tlmgr-USER-MODE" accesskey="u" rel="up">USER MODE</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="User-mode-install"></span><h4 class="appendixsubsec">B.9.1 User mode install</h4> +<h4 class="appendixsubsec" id="User-mode-install">B.9.1 User mode install</h4> -<p>In user mode, the <code>install</code> action checks that the package and all +<p>In user mode, the <code class="code">install</code> action checks that the package and all dependencies are all either relocated or already installed in the system installation. If this is the case, it unpacks all containers to be -installed into the user tree (to repeat, that’s either <code>TEXMFHOME</code> or -the value of <code>--usertree</code>) and add the respective packages to the user -tree’s <code>texlive.tlpdb</code> (creating it if need be). +installed into the user tree (to repeat, that’s either <code class="code">TEXMFHOME</code> or +the value of <code class="code">--usertree</code>) and add the respective packages to the user +tree’s <code class="code">texlive.tlpdb</code> (creating it if need be). </p> <p>Currently installing a collection in user mode installs all dependent -packages, but in contrast to normal mode, does <em>not</em> install dependent -collections. For example, in normal mode <code>tlmgr install -collection-context</code> would install <code>collection-basic</code> and other -collections, while in user mode, <em>only</em> the packages mentioned in -<code>collection-context</code> are installed. +packages, but in contrast to normal mode, does <em class="emph">not</em> install dependent +collections. For example, in normal mode <code class="code">tlmgr install +collection-context</code> would install <code class="code">collection-basic</code> and other +collections, while in user mode, <em class="emph">only</em> the packages mentioned in +<code class="code">collection-context</code> are installed. </p> <p>If a package shipping map files is installed in user mode, a backup of -the user’s <code>updmap.cfg</code> in <code>USERTREE/web2c/</code> is made, and then this file +the user’s <code class="code">updmap.cfg</code> in <code class="code">USERTREE/web2c/</code> is made, and then this file regenerated from the list of installed packages. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-User-mode-generate_002c-option_002c-paper" accesskey="n" rel="next">User mode generate, option, paper</a>, Previous: <a href="#tlmgr-User-mode-install" accesskey="p" rel="prev">User mode install</a>, Up: <a href="#tlmgr-USER-MODE" accesskey="u" rel="up">USER MODE</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="User-mode-backup_002c-restore_002c-remove_002c-update"></span><h4 class="appendixsubsec">B.9.2 User mode backup, restore, remove, update</h4> +<h4 class="appendixsubsec" id="User-mode-backup_002c-restore_002c-remove_002c-update">B.9.2 User mode backup, restore, remove, update</h4> <p>In user mode, these actions check that all packages to be acted on are installed in the user tree before proceeding; otherwise, they behave @@ -6305,25 +6574,37 @@ just as in normal mode. </p> <hr> </div> -<div class="appendixsubsec" id="tlmgr-User-mode-generate_002c-option_002c-paper"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-User-mode-generate_002c-option_002c-paper"> +<div class="nav-panel"> <p> -Previous: <a href="#tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update" accesskey="p" rel="prev">User mode backup, restore, remove, update</a>, Up: <a href="#tlmgr-USER-MODE" accesskey="u" rel="up">USER MODE</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-User-mode-logs" accesskey="n" rel="next">User mode logs</a>, Previous: <a href="#tlmgr-User-mode-backup_002c-restore_002c-remove_002c-update" accesskey="p" rel="prev">User mode backup, restore, remove, update</a>, Up: <a href="#tlmgr-USER-MODE" accesskey="u" rel="up">USER MODE</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="User-mode-generate_002c-option_002c-paper"></span><h4 class="appendixsubsec">B.9.3 User mode generate, option, paper</h4> +<h4 class="appendixsubsec" id="User-mode-generate_002c-option_002c-paper">B.9.3 User mode generate, option, paper</h4> <p>In user mode, these actions operate only on the user tree’s -configuration files and/or <code>texlive.tlpdb</code>. +configuration files and/or <code class="code">texlive.tlpdb</code>. </p> <hr> </div> +<div class="appendixsubsec-level-extent" id="tlmgr-User-mode-logs"> +<div class="nav-panel"> +<p> +Previous: <a href="#tlmgr-User-mode-generate_002c-option_002c-paper" accesskey="p" rel="prev">User mode generate, option, paper</a>, Up: <a href="#tlmgr-USER-MODE" accesskey="u" rel="up">USER MODE</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +</div> +<h4 class="appendixsubsec" id="User-mode-logs">B.9.4 User mode logs</h4> + +<p>In user mode, <code class="code">tlmgr.log</code> and <tlmgr-commands.log> are written in the +<code class="code">TEXMFVAR/web2c/</code> directlry instead of <code class="code">TEXMFSYSVAR/web2c/</code>. +</p> +<hr> </div> -<div class="appendixsec" id="tlmgr-MULTIPLE-REPOSITORIES"> -<div class="header"> +</div> +<div class="appendixsec-level-extent" id="tlmgr-MULTIPLE-REPOSITORIES"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-GUI-FOR-TLMGR" accesskey="n" rel="next">GUI FOR TLMGR</a>, Previous: <a href="#tlmgr-USER-MODE" accesskey="p" rel="prev">USER MODE</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="MULTIPLE-REPOSITORIES"></span><h3 class="appendixsec">B.10 MULTIPLE REPOSITORIES</h3> +<h3 class="appendixsec" id="MULTIPLE-REPOSITORIES">B.10 MULTIPLE REPOSITORIES</h3> <p>The main TeX Live repository contains a vast array of packages. Nevertheless, additional local repositories can be useful to provide @@ -6332,13 +6613,13 @@ Also, alternative package repositories distribute packages that cannot or should not be included in TeX Live, for whatever reason. </p> <p>The simplest and most reliable method is to temporarily set the -installation source to any repository (with the <code>-repository</code> or -<code>option repository</code> command line options), and perform your operations. +installation source to any repository (with the <code class="code">-repository</code> or +<code class="code">option repository</code> command line options), and perform your operations. </p> <p>When you are using multiple repositories over a sustained length of time, however, explicitly switching between them becomes inconvenient. -Thus, it’s possible to tell <code>tlmgr</code> about additional repositories you -want to use. The basic command is <code>tlmgr repository add</code>. The rest of +Thus, it’s possible to tell <code class="code">tlmgr</code> about additional repositories you +want to use. The basic command is <code class="code">tlmgr repository add</code>. The rest of this section explains further. </p> <p>When using multiple repositories, one of them has to be set as the main @@ -6348,25 +6629,24 @@ installation, the previous sole repository will be set as the main repository. </p> <p>By default, even if multiple repositories are configured, packages are -<em>still</em> <em>only</em> installed from the main repository. Thus, simply +<em class="emph">still</em> <em class="emph">only</em> installed from the main repository. Thus, simply adding a second repository does not actually enable installation of anything from there. You also have to specify which packages should be taken from the new repository, by specifying so-called “pinning” rules, described next. </p> - -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tlmgr-Pinning" accesskey="1">Pinning</a></li> </ul> <hr> -<div class="appendixsubsec" id="tlmgr-Pinning"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-Pinning"> +<div class="nav-panel"> <p> Up: <a href="#tlmgr-MULTIPLE-REPOSITORIES" accesskey="u" rel="up">MULTIPLE REPOSITORIES</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Pinning"></span><h4 class="appendixsubsec">B.10.1 Pinning</h4> +<h4 class="appendixsubsec" id="Pinning">B.10.1 Pinning</h4> -<p>When a package <code>foo</code> is pinned to a repository, a package <code>foo</code> in any +<p>When a package <code class="code">foo</code> is pinned to a repository, a package <code class="code">foo</code> in any other repository, even if it has a higher revision number, will not be considered an installable candidate. </p> @@ -6381,8 +6661,8 @@ only one enabled (as is the case by default): List of repositories (with tags if set): /var/www/norbert/tlnet </pre> -<p>Ok. Let’s add the <code>tlcontrib</code> repository (this is a real -repository hosted at <a href="http://contrib.texlive.info">http://contrib.texlive.info</a>) with the tag <code>tlcontrib</code>: +<p>Ok. Let’s add the <code class="code">tlcontrib</code> repository (this is a real +repository hosted at <a class="url" href="http://contrib.texlive.info">http://contrib.texlive.info</a>) with the tag <code class="code">tlcontrib</code>: </p> <pre class="verbatim"> $ tlmgr repository add http://contrib.texlive.info/current tlcontrib </pre> @@ -6393,12 +6673,12 @@ repository hosted at <a href="http://contrib.texlive.info">http://contrib.texliv http://contrib.texlive.info/current (tlcontrib) /var/www/norbert/tlnet (main) </pre> -<p>Now we specify a pinning entry to get the package <code>classico</code> from -<code>tlcontrib</code>: +<p>Now we specify a pinning entry to get the package <code class="code">classico</code> from +<code class="code">tlcontrib</code>: </p> <pre class="verbatim"> $ tlmgr pinning add tlcontrib classico </pre> -<p>Check that we can find <code>classico</code>: +<p>Check that we can find <code class="code">classico</code>: </p> <pre class="verbatim"> $ tlmgr show classico package: classico @@ -6406,38 +6686,38 @@ repository hosted at <a href="http://contrib.texlive.info">http://contrib.texliv shortdesc: URW Classico fonts ... </pre> -<p>- install <code>classico</code>: +<p>- install <code class="code">classico</code>: </p> <pre class="verbatim"> $ tlmgr install classico tlmgr: package repositories: ... [1/1, ??:??/??:??] install: classico @tlcontrib [737k] </pre> -<p>In the output here you can see that the <code>classico</code> package has been -installed from the <code>tlcontrib</code> repository (<code>@tlcontrib</code>). +<p>In the output here you can see that the <code class="code">classico</code> package has been +installed from the <code class="code">tlcontrib</code> repository (<code class="code">@tlcontrib</code>). </p> -<p>Finally, <code>tlmgr pinning</code> also supports removing certain or all packages +<p>Finally, <code class="code">tlmgr pinning</code> also supports removing certain or all packages from a given repository: </p> <pre class="verbatim"> $ tlmgr pinning remove tlcontrib classico # remove just classico $ tlmgr pinning remove tlcontrib --all # take nothing from tlcontrib </pre> -<p>A summary of <code>tlmgr pinning</code> actions is given above. +<p>A summary of <code class="code">tlmgr pinning</code> actions is given above. </p> <hr> </div> </div> -<div class="appendixsec" id="tlmgr-GUI-FOR-TLMGR"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-GUI-FOR-TLMGR"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT" accesskey="n" rel="next">MACHINE-READABLE OUTPUT</a>, Previous: <a href="#tlmgr-MULTIPLE-REPOSITORIES" accesskey="p" rel="prev">MULTIPLE REPOSITORIES</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="GUI-FOR-TLMGR"></span><h3 class="appendixsec">B.11 GUI FOR TLMGR</h3> +<h3 class="appendixsec" id="GUI-FOR-TLMGR">B.11 GUI FOR TLMGR</h3> -<p>The graphical user interface for <code>tlmgr</code> requires Perl/Tk -<a href="https://search.cpan.org/search?query=perl%2Ftk">https://search.cpan.org/search?query=perl%2Ftk</a>. For Unix-based +<p>The graphical user interface for <code class="code">tlmgr</code> requires Perl/Tk +<a class="url" href="https://search.cpan.org/search?query=perl%2Ftk">https://search.cpan.org/search?query=perl%2Ftk</a>. For Unix-based systems Perl/Tk (as well as Perl of course) has to be installed -outside of TL. <a href="https://tug.org/texlive/distro.html#perltk">https://tug.org/texlive/distro.html#perltk</a> has a +outside of TL. <a class="url" href="https://tug.org/texlive/distro.html#perltk">https://tug.org/texlive/distro.html#perltk</a> has a list of invocations for some distros. For Windows the necessary modules are no longer shipped within TeX Live, so you’ll have to have an external Perl available that includes them. @@ -6447,83 +6727,81 @@ other tlmgr GUIs, which are: tlshell (Tcl/Tk-based), tlcockpit (Java-based) and, only on Macs, TeX Live Utility. These are invoked as separate programs. </p> -<p>The GUI mode of tlmgr is started with the invocation <code>tlmgr gui</code>; +<p>The GUI mode of tlmgr is started with the invocation <code class="code">tlmgr gui</code>; assuming Tk is loadable, the graphical user interface will be shown. The main window contains a menu bar, the main display, and a status area where messages normally shown on the console are displayed. </p> -<p>Within the main display there are three main parts: the <code>Display +<p>Within the main display there are three main parts: the <code class="code">Display configuration</code> area, the list of packages, and the action buttons. </p> <p>Also, at the top right the currently loaded repository is shown; this also acts as a button and when clicked will try to load the default -repository. To load a different repository, see the <code>tlmgr</code> menu item. +repository. To load a different repository, see the <code class="code">tlmgr</code> menu item. </p> <p>Finally, the status area at the bottom of the window gives additional information about what is going on. </p> - -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tlmgr-Main-display" accesskey="1">Main display</a></li> <li><a href="#tlmgr-Menu-bar" accesskey="2">Menu bar</a></li> <li><a href="#tlmgr-GUI-options" accesskey="3">GUI options</a></li> </ul> <hr> -<div class="appendixsubsec" id="tlmgr-Main-display"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-Main-display"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-Menu-bar" accesskey="n" rel="next">Menu bar</a>, Up: <a href="#tlmgr-GUI-FOR-TLMGR" accesskey="u" rel="up">GUI FOR TLMGR</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Main-display"></span><h4 class="appendixsubsec">B.11.1 Main display</h4> +<h4 class="appendixsubsec" id="Main-display">B.11.1 Main display</h4> - -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tlmgr-Display-configuration-area" accesskey="1">Display configuration area</a></li> <li><a href="#tlmgr-Package-list-area" accesskey="2">Package list area</a></li> <li><a href="#tlmgr-Main-display-action-buttons" accesskey="3">Main display action buttons</a></li> </ul> <hr> -<div class="appendixsubsubsec" id="tlmgr-Display-configuration-area"> -<div class="header"> +<div class="appendixsubsubsec-level-extent" id="tlmgr-Display-configuration-area"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-Package-list-area" accesskey="n" rel="next">Package list area</a>, Up: <a href="#tlmgr-Main-display" accesskey="u" rel="up">Main display</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Display-configuration-area"></span><h4 class="appendixsubsubsec">B.11.1.1 Display configuration area</h4> +<h4 class="appendixsubsubsec" id="Display-configuration-area">B.11.1.1 Display configuration area</h4> <p>The first part of the main display allows you to specify (filter) which packages are shown. By default, all are shown. Changes here are reflected right away. </p> -<dl compact="compact"> -<dt><span>Status</span></dt> -<dd><span id="tlmgr-Status"></span> +<dl class="table"> +<dt>Status</dt> +<dd><a class="anchor" id="tlmgr-Status"></a> <p>Select whether to show all packages (the default), only those installed, -only those <em>not</em> installed, or only those with update available. +only those <em class="emph">not</em> installed, or only those with update available. </p> </dd> -<dt><span>Category</span></dt> -<dd><span id="tlmgr-Category"></span> +<dt>Category</dt> +<dd><a class="anchor" id="tlmgr-Category"></a> <p>Select which categories are shown: packages, collections, and/or -schemes. These are briefly explained in the <a href="#tlmgr-DESCRIPTION">DESCRIPTION</a> section +schemes. These are briefly explained in the <a class="ref" href="#tlmgr-DESCRIPTION">DESCRIPTION</a> section above. </p> </dd> -<dt><span>Match</span></dt> -<dd><span id="tlmgr-Match"></span> +<dt>Match</dt> +<dd><a class="anchor" id="tlmgr-Match"></a> <p>Select packages matching for a specific pattern. By default, this searches both descriptions and filenames. You can also select a subset for searching. </p> </dd> -<dt><span>Selection</span></dt> -<dd><span id="tlmgr-Selection"></span> +<dt>Selection</dt> +<dd><a class="anchor" id="tlmgr-Selection"></a> <p>Select packages to those selected, those not selected, or all. Here, “selected” means that the checkbox in the beginning of the line of a package is ticked. </p> </dd> -<dt><span>Display configuration buttons</span></dt> -<dd><span id="tlmgr-Display-configuration-buttons"></span> +<dt>Display configuration buttons</dt> +<dd><a class="anchor" id="tlmgr-Display-configuration-buttons"></a> <p>To the right there are three buttons: select all packages, select none (a.k.a. deselect all), and reset all these filters to the defaults, i.e., show all available. @@ -6533,12 +6811,12 @@ i.e., show all available. <hr> </div> -<div class="appendixsubsubsec" id="tlmgr-Package-list-area"> -<div class="header"> +<div class="appendixsubsubsec-level-extent" id="tlmgr-Package-list-area"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-Main-display-action-buttons" accesskey="n" rel="next">Main display action buttons</a>, Previous: <a href="#tlmgr-Display-configuration-area" accesskey="p" rel="prev">Display configuration area</a>, Up: <a href="#tlmgr-Main-display" accesskey="u" rel="up">Main display</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Package-list-area"></span><h4 class="appendixsubsubsec">B.11.1.2 Package list area</h4> +<h4 class="appendixsubsubsec" id="Package-list-area">B.11.1.2 Package list area</h4> <p>The second are of the main display lists all installed packages. If a repository is loaded, those that are available but not installed are @@ -6549,20 +6827,20 @@ further details: the long description, included files, etc. </p> <p>Each line of the package list consists of the following items: </p> -<dl compact="compact"> -<dt><span>a checkbox</span></dt> -<dd><span id="tlmgr-a-checkbox"></span> +<dl class="table"> +<dt>a checkbox</dt> +<dd><a class="anchor" id="tlmgr-a-checkbox"></a> <p>Used to select particular packages; some of the action buttons (see below) work only on the selected packages. </p> </dd> -<dt><span>package name</span></dt> -<dd><span id="tlmgr-package-name"></span> +<dt>package name</dt> +<dd><a class="anchor" id="tlmgr-package-name"></a> <p>The name (identifier) of the package as given in the database. </p> </dd> -<dt><span>local revision (and version)</span></dt> -<dd><span id="tlmgr-local-revision-_0028and-version_0029"></span> +<dt>local revision (and version)</dt> +<dd><a class="anchor" id="tlmgr-local-revision-_0028and-version_0029"></a> <p>If the package is installed the TeX Live revision number for the installed package will be shown. If there is a catalogue version given in the database for this package, it will be shown in parentheses. @@ -6570,16 +6848,16 @@ However, the catalogue version, unlike the TL revision, is not guaranteed to reflect what is actually installed. </p> </dd> -<dt><span>remote revision (and version)</span></dt> -<dd><span id="tlmgr-remote-revision-_0028and-version_0029"></span> +<dt>remote revision (and version)</dt> +<dd><a class="anchor" id="tlmgr-remote-revision-_0028and-version_0029"></a> <p>If a repository has been loaded the revision of the package in the repository (if present) is shown. As with the local column, if a catalogue version is provided it will be displayed. And also as with the local column, the catalogue version may be stale. </p> </dd> -<dt><span>short description</span></dt> -<dd><span id="tlmgr-short-description"></span> +<dt>short description</dt> +<dd><a class="anchor" id="tlmgr-short-description"></a> <p>The short description of the package. </p> </dd> @@ -6587,19 +6865,19 @@ the local column, the catalogue version may be stale. <hr> </div> -<div class="appendixsubsubsec" id="tlmgr-Main-display-action-buttons"> -<div class="header"> +<div class="appendixsubsubsec-level-extent" id="tlmgr-Main-display-action-buttons"> +<div class="nav-panel"> <p> Previous: <a href="#tlmgr-Package-list-area" accesskey="p" rel="prev">Package list area</a>, Up: <a href="#tlmgr-Main-display" accesskey="u" rel="up">Main display</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Main-display-action-buttons"></span><h4 class="appendixsubsubsec">B.11.1.3 Main display action buttons</h4> +<h4 class="appendixsubsubsec" id="Main-display-action-buttons">B.11.1.3 Main display action buttons</h4> <p>Below the list of packages are several buttons: </p> -<dl compact="compact"> -<dt><span>Update all installed</span></dt> -<dd><span id="tlmgr-Update-all-installed"></span> -<p>This calls <code>tlmgr update --all</code>, i.e., tries to update all available +<dl class="table"> +<dt>Update all installed</dt> +<dd><a class="anchor" id="tlmgr-Update-all-installed"></a> +<p>This calls <code class="code">tlmgr update --all</code>, i.e., tries to update all available packages. Below this button is a toggle to allow reinstallation of previously removed packages as part of this action. </p> @@ -6607,29 +6885,29 @@ previously removed packages as part of this action. where the checkbox at the beginning of the package line is ticked. </p> </dd> -<dt><span>Update</span></dt> -<dd><span id="tlmgr-Update"></span> +<dt>Update</dt> +<dd><a class="anchor" id="tlmgr-Update"></a> <p>Update only the selected packages. </p> </dd> -<dt><span>Install</span></dt> -<dd><span id="tlmgr-Install"></span> -<p>Install the selected packages; acts like <code>tlmgr install</code>, i.e., also +<dt>Install</dt> +<dd><a class="anchor" id="tlmgr-Install"></a> +<p>Install the selected packages; acts like <code class="code">tlmgr install</code>, i.e., also installs dependencies. Thus, installing a collection installs all its constituent packages. </p> </dd> -<dt><span>Remove</span></dt> -<dd><span id="tlmgr-Remove"></span> -<p>Removes the selected packages; acts like <code>tlmgr remove</code>, i.e., it will +<dt>Remove</dt> +<dd><a class="anchor" id="tlmgr-Remove"></a> +<p>Removes the selected packages; acts like <code class="code">tlmgr remove</code>, i.e., it will also remove dependencies of collections (but not dependencies of normal packages). </p> </dd> -<dt><span>Backup</span></dt> -<dd><span id="tlmgr-Backup"></span> -<p>Makes a backup of the selected packages; acts like <code>tlmgr backup</code>. This -action needs the option <code>backupdir</code> set (see <code>Options -</code> General>). +<dt>Backup</dt> +<dd><a class="anchor" id="tlmgr-Backup"></a> +<p>Makes a backup of the selected packages; acts like <code class="code">tlmgr backup</code>. This +action needs the option <code class="code">backupdir</code> set (see <code class="code">Options -</code> General>). </p> </dd> </dl> @@ -6637,36 +6915,36 @@ action needs the option <code>backupdir</code> set (see <code>Options -</code> G <hr> </div> </div> -<div class="appendixsubsec" id="tlmgr-Menu-bar"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-Menu-bar"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-GUI-options" accesskey="n" rel="next">GUI options</a>, Previous: <a href="#tlmgr-Main-display" accesskey="p" rel="prev">Main display</a>, Up: <a href="#tlmgr-GUI-FOR-TLMGR" accesskey="u" rel="up">GUI FOR TLMGR</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Menu-bar"></span><h4 class="appendixsubsec">B.11.2 Menu bar</h4> +<h4 class="appendixsubsec" id="Menu-bar">B.11.2 Menu bar</h4> <p>The following entries can be found in the menu bar: </p> -<dl compact="compact"> -<dt><span><code>tlmgr</code> menu</span></dt> -<dd><span id="tlmgr-tlmgr-menu"></span> +<dl class="table"> +<dt><code class="code">tlmgr</code> menu</dt> +<dd><a class="anchor" id="tlmgr-tlmgr-menu"></a> <p>The items here load various repositories: the default as specified in the TeX Live database, the default network repository, the repository specified on the command line (if any), and an arbitrarily -manually-entered one. Also has the so-necessary <code>quit</code> operation. +manually-entered one. Also has the so-necessary <code class="code">quit</code> operation. </p> </dd> -<dt><span><code>Options menu</code></span></dt> -<dd><span id="tlmgr-Options-menu"></span> -<p>Provides access to several groups of options: <code>Paper</code> (configuration of -default paper sizes), <code>Platforms</code> (only on Unix, configuration of the -supported/installed platforms), <code>GUI Language</code> (select language used in -the GUI interface), and <code>General</code> (everything else). +<dt><code class="code">Options menu</code></dt> +<dd><a class="anchor" id="tlmgr-Options-menu"></a> +<p>Provides access to several groups of options: <code class="code">Paper</code> (configuration of +default paper sizes), <code class="code">Platforms</code> (only on Unix, configuration of the +supported/installed platforms), <code class="code">GUI Language</code> (select language used in +the GUI interface), and <code class="code">General</code> (everything else). </p> -<p>Several toggles are also here. The first is <code>Expert options</code>, which is +<p>Several toggles are also here. The first is <code class="code">Expert options</code>, which is set by default. If you turn this off, the next time you start the GUI a simplified screen will be shown that display only the most important functionality. This setting is saved in the configuration file of -<code>tlmgr</code>; see <a href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR">CONFIGURATION FILE FOR TLMGR</a> for details. +<code class="code">tlmgr</code>; see <a class="ref" href="#tlmgr-CONFIGURATION-FILE-FOR-TLMGR">CONFIGURATION FILE FOR TLMGR</a> for details. </p> <p>The other toggles are all off by default: for debugging output, to disable the automatic installation of new packages, and to disable the @@ -6675,11 +6953,11 @@ choices of what is or isn’t installed may lead to an inconsistent TeX Live installation; e.g., when a package is renamed. </p> </dd> -<dt><span><code>Actions menu</code></span></dt> -<dd><span id="tlmgr-Actions-menu"></span> +<dt><code class="code">Actions menu</code></dt> +<dd><a class="anchor" id="tlmgr-Actions-menu"></a> <p>Provides access to several actions: update the filename database (aka -<code>ls-R</code>, <code>mktexlsr</code>, <code>texhash</code>), rebuild all formats (<code>fmtutil-sys ---all</code>), update the font map database (<code>updmap-sys</code>), restore from a backup +<code class="code">ls-R</code>, <code class="code">mktexlsr</code>, <code class="code">texhash</code>), rebuild all formats (<code class="code">fmtutil-sys +--all</code>), update the font map database (<code class="code">updmap-sys</code>), restore from a backup of a package, and use of symbolic links in system directories (not on Windows). </p> @@ -6687,94 +6965,93 @@ Windows). on Windows). </p> </dd> -<dt><span><code>Help menu</code></span></dt> -<dd><span id="tlmgr-Help-menu"></span> +<dt><code class="code">Help menu</code></dt> +<dd><a class="anchor" id="tlmgr-Help-menu"></a> <p>Provides access to the TeX Live manual (also on the web at -<a href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a>) and the usual “About” box. +<a class="url" href="https://tug.org/texlive/doc.html">https://tug.org/texlive/doc.html</a>) and the usual “About” box. </p> </dd> </dl> <hr> </div> -<div class="appendixsubsec" id="tlmgr-GUI-options"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-GUI-options"> +<div class="nav-panel"> <p> Previous: <a href="#tlmgr-Menu-bar" accesskey="p" rel="prev">Menu bar</a>, Up: <a href="#tlmgr-GUI-FOR-TLMGR" accesskey="u" rel="up">GUI FOR TLMGR</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="GUI-options"></span><h4 class="appendixsubsec">B.11.3 GUI options</h4> +<h4 class="appendixsubsec" id="GUI-options">B.11.3 GUI options</h4> -<p>Some generic Perl/Tk options can be specified with <code>tlmgr gui</code> to +<p>Some generic Perl/Tk options can be specified with <code class="code">tlmgr gui</code> to control the display: </p> -<dl compact="compact"> -<dt><span><code>-background</code> <em>color</em></span></dt> -<dd><span id="tlmgr-_002dbackground-color"></span> +<dl class="table"> +<dt><code class="code">-background</code> <em class="emph">color</em></dt> +<dd><a class="anchor" id="tlmgr-_002dbackground-color"></a> <p>Set background color. </p> </dd> -<dt><span><code>-font "</code> <em>fontname</em> <em>fontsize</em> <code>"</code></span></dt> -<dd><span id="tlmgr-_002dfont-_0022-fontname-fontsize-_0022"></span> -<p>Set font, e.g., <code>tlmgr gui -font "helvetica 18"</code>. The argument to -<code>-font</code> must be quoted, i.e., passed as a single string. +<dt><code class="code">-font "</code> <em class="emph">fontname</em> <em class="emph">fontsize</em> <code class="code">"</code></dt> +<dd><a class="anchor" id="tlmgr-_002dfont-_0022-fontname-fontsize-_0022"></a> +<p>Set font, e.g., <code class="code">tlmgr gui -font "helvetica 18"</code>. The argument to +<code class="code">-font</code> must be quoted, i.e., passed as a single string. </p> </dd> -<dt><span><code>-foreground</code> <em>color</em></span></dt> -<dd><span id="tlmgr-_002dforeground-color"></span> +<dt><code class="code">-foreground</code> <em class="emph">color</em></dt> +<dd><a class="anchor" id="tlmgr-_002dforeground-color"></a> <p>Set foreground color. </p> </dd> -<dt><span><code>-geometry</code> <em>geomspec</em></span></dt> -<dd><span id="tlmgr-_002dgeometry-geomspec"></span> -<p>Set the X geometry, e.g., <code>tlmgr gui -geometry 1024x512-0+0</code> creates +<dt><code class="code">-geometry</code> <em class="emph">geomspec</em></dt> +<dd><a class="anchor" id="tlmgr-_002dgeometry-geomspec"></a> +<p>Set the X geometry, e.g., <code class="code">tlmgr gui -geometry 1024x512-0+0</code> creates the window of (approximately) the given size in the upper-right corner of the display. </p> </dd> -<dt><span><code>-xrm</code> <em>xresource</em></span></dt> -<dd><span id="tlmgr-_002dxrm-xresource"></span> -<p>Pass the arbitrary X resource string <em>xresource</em>. +<dt><code class="code">-xrm</code> <em class="emph">xresource</em></dt> +<dd><a class="anchor" id="tlmgr-_002dxrm-xresource"></a> +<p>Pass the arbitrary X resource string <em class="emph">xresource</em>. </p> </dd> </dl> <p>A few other obscure options are recognized but not mentioned here. See -the Perl/Tk documentation (<a href="https://search.cpan.org/perldoc?Tk">https://search.cpan.org/perldoc?Tk</a>) for the +the Perl/Tk documentation (<a class="url" href="https://search.cpan.org/perldoc?Tk">https://search.cpan.org/perldoc?Tk</a>) for the complete list, and any X documentation for general information. </p> <hr> </div> </div> -<div class="appendixsec" id="tlmgr-MACHINE_002dREADABLE-OUTPUT"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-MACHINE_002dREADABLE-OUTPUT"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-ENVIRONMENT-VARIABLES" accesskey="n" rel="next">ENVIRONMENT VARIABLES</a>, Previous: <a href="#tlmgr-GUI-FOR-TLMGR" accesskey="p" rel="prev">GUI FOR TLMGR</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="MACHINE_002dREADABLE-OUTPUT"></span><h3 class="appendixsec">B.12 MACHINE-READABLE OUTPUT</h3> +<h3 class="appendixsec" id="MACHINE_002dREADABLE-OUTPUT">B.12 MACHINE-READABLE OUTPUT</h3> -<p>With the <code>--machine-readable</code> option, <code>tlmgr</code> writes to stdout in the +<p>With the <code class="code">--machine-readable</code> option, <code class="code">tlmgr</code> writes to stdout in the fixed line-oriented format described here, and the usual informational messages for human consumption are written to stderr (normally they are written to stdout). The idea is that a program can get all the information it needs by reading stdout. </p> <p>Currently this option only applies to the -<a href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">update</a>, -<a href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install</a>, and -<a href="#tlmgr-option">option</a> actions. +<a class="ref" href="#tlmgr-update-_005boption_002e_002e_002e_005d-_005bpkg_002e_002e_002e_005d">update</a>, +<a class="ref" href="#tlmgr-install-_005boption_002e_002e_002e_005d-pkg_002e_002e_002e">install</a>, and +<a class="ref" href="#tlmgr-option">option</a> actions. </p> - -<ul class="section-toc"> -<li><a href="#tlmgr-Machine_002dreadable-update-and-install-output" accesskey="1">Machine-readable <code>update</code> and <code>install</code> output</a></li> -<li><a href="#tlmgr-Machine_002dreadable-option-output" accesskey="2">Machine-readable <code>option</code> output</a></li> +<ul class="mini-toc"> +<li><a href="#tlmgr-Machine_002dreadable-update-and-install-output" accesskey="1">Machine-readable <code class="code">update</code> and <code class="code">install</code> output</a></li> +<li><a href="#tlmgr-Machine_002dreadable-option-output" accesskey="2">Machine-readable <code class="code">option</code> output</a></li> </ul> <hr> -<div class="appendixsubsec" id="tlmgr-Machine_002dreadable-update-and-install-output"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-Machine_002dreadable-update-and-install-output"> +<div class="nav-panel"> <p> -Next: <a href="#tlmgr-Machine_002dreadable-option-output" accesskey="n" rel="next">Machine-readable <code>option</code> output</a>, Up: <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT" accesskey="u" rel="up">MACHINE-READABLE OUTPUT</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#tlmgr-Machine_002dreadable-option-output" accesskey="n" rel="next">Machine-readable <code class="code">option</code> output</a>, Up: <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT" accesskey="u" rel="up">MACHINE-READABLE OUTPUT</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Machine_002dreadable-update-and-install-output"></span><h4 class="appendixsubsec">B.12.1 Machine-readable <code>update</code> and <code>install</code> output</h4> +<h4 class="appendixsubsec" id="Machine_002dreadable-update-and-install-output">B.12.1 Machine-readable <code class="code">update</code> and <code class="code">install</code> output</h4> <p>The output format is as follows: </p> @@ -6786,13 +7063,13 @@ Next: <a href="#tlmgr-Machine_002dreadable-option-output" accesskey="n" rel="nex "end-of-updates" other output from post actions, not in machine readable form </pre> -<p>The header section currently has two fields: <code>location-url</code> (the +<p>The header section currently has two fields: <code class="code">location-url</code> (the repository source from which updates are being drawn), and -<code>total-bytes</code> (the total number of bytes to be downloaded). +<code class="code">total-bytes</code> (the total number of bytes to be downloaded). </p> -<p>The <em>localrev</em> and <em>serverrev</em> fields for each package are the +<p>The <em class="emph">localrev</em> and <em class="emph">serverrev</em> fields for each package are the revision numbers in the local installation and server repository, -respectively. The <em>size</em> field is the number of bytes to be +respectively. The <em class="emph">size</em> field is the number of bytes to be downloaded, i.e., the size of the compressed tar file for a network installation, not the unpacked size. The runtime and esttot fields are only present for updated and auto-install packages, and contain @@ -6801,109 +7078,109 @@ and the estimated total time. </p> <p>Line endings may be either LF or CRLF depending on the current platform. </p> -<dl compact="compact"> -<dt><span><code>location-url</code> <em>location</em></span></dt> -<dd><span id="tlmgr-location_002durl-location"></span> -<p>The <em>location</em> may be a url (including <code>file:///foo/bar/...</code>), or a -directory name (<code>/foo/bar</code>). It is the package repository from which +<dl class="table"> +<dt><code class="code">location-url</code> <em class="emph">location</em></dt> +<dd><a class="anchor" id="tlmgr-location_002durl-location"></a> +<p>The <em class="emph">location</em> may be a url (including <code class="code">file:///foo/bar/...</code>), or a +directory name (<code class="code">/foo/bar</code>). It is the package repository from which the new package information was drawn. </p> </dd> -<dt><span><code>total-bytes</code> <em>count</em></span></dt> -<dd><span id="tlmgr-total_002dbytes-count"></span> -<p>The <em>count</em> is simply a decimal number, the sum of the sizes of all the +<dt><code class="code">total-bytes</code> <em class="emph">count</em></dt> +<dd><a class="anchor" id="tlmgr-total_002dbytes-count"></a> +<p>The <em class="emph">count</em> is simply a decimal number, the sum of the sizes of all the packages that need updating or installing (which are listed subsequently). </p> </dd> </dl> -<p>Then comes a line with only the literal string <code>end-of-header</code>. +<p>Then comes a line with only the literal string <code class="code">end-of-header</code>. </p> -<p>Each following line until a line with literal string <code>end-of-updates</code> +<p>Each following line until a line with literal string <code class="code">end-of-updates</code> reports on one package. The fields on each line are separated by a tab. Here are the fields. </p> -<dl compact="compact"> -<dt><span><em>pkgname</em></span></dt> -<dd><span id="tlmgr-pkgname"></span> +<dl class="table"> +<dt><em class="emph">pkgname</em></dt> +<dd><a class="anchor" id="tlmgr-pkgname"></a> <p>The TeX Live package identifier, with a possible platform suffix for -executables. For instance, <code>pdftex</code> and <code>pdftex.i386-linux</code> are given +executables. For instance, <code class="code">pdftex</code> and <code class="code">pdftex.i386-linux</code> are given as two separate packages, one on each line. </p> </dd> -<dt><span><em>status</em></span></dt> -<dd><span id="tlmgr-status"></span> +<dt><em class="emph">status</em></dt> +<dd><a class="anchor" id="tlmgr-status"></a> <p>The status of the package update. One character, as follows: </p> -<dl compact="compact"> -<dt><span><code>d</code></span></dt> -<dd><span id="tlmgr-d"></span> +<dl class="table"> +<dt><code class="code">d</code></dt> +<dd><a class="anchor" id="tlmgr-d"></a> <p>The package was removed on the server. </p> </dd> -<dt><span><code>f</code></span></dt> -<dd><span id="tlmgr-f"></span> +<dt><code class="code">f</code></dt> +<dd><a class="anchor" id="tlmgr-f"></a> <p>The package was removed in the local installation, even though a -collection depended on it. (E.g., the user ran <code>tlmgr remove +collection depended on it. (E.g., the user ran <code class="code">tlmgr remove --force</code>.) </p> </dd> -<dt><span><code>u</code></span></dt> -<dd><span id="tlmgr-u"></span> +<dt><code class="code">u</code></dt> +<dd><a class="anchor" id="tlmgr-u"></a> <p>Normal update is needed. </p> </dd> -<dt><span><code>r</code></span></dt> -<dd><span id="tlmgr-r"></span> +<dt><code class="code">r</code></dt> +<dd><a class="anchor" id="tlmgr-r"></a> <p>Reversed non-update: the locally-installed version is newer than the version on the server. </p> </dd> -<dt><span><code>a</code></span></dt> -<dd><span id="tlmgr-a"></span> +<dt><code class="code">a</code></dt> +<dd><a class="anchor" id="tlmgr-a"></a> <p>Automatically-determined need for installation, the package is new on the server and is (most probably) part of an installed collection. </p> </dd> -<dt><span><code>i</code></span></dt> -<dd><span id="tlmgr-i"></span> +<dt><code class="code">i</code></dt> +<dd><a class="anchor" id="tlmgr-i"></a> <p>Package will be installed and isn’t present in the local installation (action install). </p> </dd> -<dt><span><code>I</code></span></dt> -<dd><span id="tlmgr-I"></span> +<dt><code class="code">I</code></dt> +<dd><a class="anchor" id="tlmgr-I"></a> <p>Package is already present but will be reinstalled (action install). </p> </dd> </dl> </dd> -<dt><span><em>localrev</em></span></dt> -<dd><span id="tlmgr-localrev"></span> -<p>The revision number of the installed package, or <code>-</code> if it is not +<dt><em class="emph">localrev</em></dt> +<dd><a class="anchor" id="tlmgr-localrev"></a> +<p>The revision number of the installed package, or <code class="code">-</code> if it is not present locally. </p> </dd> -<dt><span><em>serverrev</em></span></dt> -<dd><span id="tlmgr-serverrev"></span> -<p>The revision number of the package on the server, or <code>-</code> if it is not +<dt><em class="emph">serverrev</em></dt> +<dd><a class="anchor" id="tlmgr-serverrev"></a> +<p>The revision number of the package on the server, or <code class="code">-</code> if it is not present on the server. </p> </dd> -<dt><span><em>size</em></span></dt> -<dd><span id="tlmgr-size"></span> +<dt><em class="emph">size</em></dt> +<dd><a class="anchor" id="tlmgr-size"></a> <p>The size in bytes of the package on the server. The sum of all the -package sizes is given in the <code>total-bytes</code> header field mentioned above. +package sizes is given in the <code class="code">total-bytes</code> header field mentioned above. </p> </dd> -<dt><span><em>runtime</em></span></dt> -<dd><span id="tlmgr-runtime"></span> +<dt><em class="emph">runtime</em></dt> +<dd><a class="anchor" id="tlmgr-runtime"></a> <p>The run time since start of installations or updates. </p> </dd> -<dt><span><em>esttot</em></span></dt> -<dd><span id="tlmgr-esttot"></span> +<dt><em class="emph">esttot</em></dt> +<dd><a class="anchor" id="tlmgr-esttot"></a> <p>The estimated total time. </p> </dd> @@ -6911,18 +7188,18 @@ package sizes is given in the <code>total-bytes</code> header field mentioned ab <hr> </div> -<div class="appendixsubsec" id="tlmgr-Machine_002dreadable-option-output"> -<div class="header"> +<div class="appendixsubsec-level-extent" id="tlmgr-Machine_002dreadable-option-output"> +<div class="nav-panel"> <p> -Previous: <a href="#tlmgr-Machine_002dreadable-update-and-install-output" accesskey="p" rel="prev">Machine-readable <code>update</code> and <code>install</code> output</a>, Up: <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT" accesskey="u" rel="up">MACHINE-READABLE OUTPUT</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#tlmgr-Machine_002dreadable-update-and-install-output" accesskey="p" rel="prev">Machine-readable <code class="code">update</code> and <code class="code">install</code> output</a>, Up: <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT" accesskey="u" rel="up">MACHINE-READABLE OUTPUT</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Machine_002dreadable-option-output"></span><h4 class="appendixsubsec">B.12.2 Machine-readable <code>option</code> output</h4> +<h4 class="appendixsubsec" id="Machine_002dreadable-option-output">B.12.2 Machine-readable <code class="code">option</code> output</h4> <p>The output format is as follows: </p> <pre class="verbatim"> key "\t" value </pre> -<p>If a value is not saved in the database the string <code>(not set)</code> is shown. +<p>If a value is not saved in the database the string <code class="code">(not set)</code> is shown. </p> <p>If you are developing a program that uses this output, and find that changes would be helpful, do not hesitate to write the mailing list. @@ -6930,30 +7207,30 @@ changes would be helpful, do not hesitate to write the mailing list. <hr> </div> </div> -<div class="appendixsec" id="tlmgr-ENVIRONMENT-VARIABLES"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-ENVIRONMENT-VARIABLES"> +<div class="nav-panel"> <p> Next: <a href="#tlmgr-AUTHORS-AND-COPYRIGHT" accesskey="n" rel="next">AUTHORS AND COPYRIGHT</a>, Previous: <a href="#tlmgr-MACHINE_002dREADABLE-OUTPUT" accesskey="p" rel="prev">MACHINE-READABLE OUTPUT</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="ENVIRONMENT-VARIABLES-1"></span><h3 class="appendixsec">B.13 ENVIRONMENT VARIABLES</h3> +<h3 class="appendixsec" id="ENVIRONMENT-VARIABLES-1">B.13 ENVIRONMENT VARIABLES</h3> -<p><code>tlmgr</code> uses many of the standard TeX environment variables, as -reported by, e.g., <code>tlmgr conf</code> (<a href="#tlmgr-conf">conf</a>). +<p><code class="code">tlmgr</code> uses many of the standard TeX environment variables, as +reported by, e.g., <code class="code">tlmgr conf</code> (<a class="ref" href="#tlmgr-conf">conf</a>). </p> -<p>In addition, for ease in scripting and debugging, <code>tlmgr</code> looks for the +<p>In addition, for ease in scripting and debugging, <code class="code">tlmgr</code> looks for the following environment variables. These are not of interest for normal user installations. </p> -<dl compact="compact"> -<dt><span><code>TEXLIVE_COMPRESSOR</code></span></dt> -<dd><span id="tlmgr-TEXLIVE_005fCOMPRESSOR"></span> +<dl class="table"> +<dt><code class="code">TEXLIVE_COMPRESSOR</code></dt> +<dd><a class="anchor" id="tlmgr-TEXLIVE_005fCOMPRESSOR"></a> <p>This variable allows selecting a different compressor program for backups and intermediate rollback containers. The order of selection is: </p> -<ol> -<li> If the environment variable <code>TEXLIVE_COMPRESSOR</code> is +<ol class="enumerate"> +<li> If the environment variable <code class="code">TEXLIVE_COMPRESSOR</code> is defined, use it; abort if it doesn’t work. Possible values: -<code>lz4</code>, <code>gzip</code>, <code>xz</code>. The necessary options are added internally. +<code class="code">lz4</code>, <code class="code">gzip</code>, <code class="code">xz</code>. The necessary options are added internally. </li><li> If lz4 is available (either from the system or TL) and working, use that. @@ -6968,25 +7245,25 @@ are preferred. The unconditional use of xz for the tlnet containers is unaffected, to minimize download sizes. </p> </dd> -<dt><span><code>TEXLIVE_DOWNLOADER</code></span></dt> -<dd><span id="tlmgr-TEXLIVE_005fDOWNLOADER"></span> +<dt><code class="code">TEXLIVE_DOWNLOADER</code></dt> +<dd><a class="anchor" id="tlmgr-TEXLIVE_005fDOWNLOADER"></a> </dd> -<dt><span><code>TL_DOWNLOAD_PROGRAM</code></span></dt> -<dd><span id="tlmgr-TL_005fDOWNLOAD_005fPROGRAM"></span> +<dt><code class="code">TL_DOWNLOAD_PROGRAM</code></dt> +<dd><a class="anchor" id="tlmgr-TL_005fDOWNLOAD_005fPROGRAM"></a> </dd> -<dt><span><code>TL_DOWNLOAD_ARGS</code></span></dt> -<dd><span id="tlmgr-TL_005fDOWNLOAD_005fARGS"></span> +<dt><code class="code">TL_DOWNLOAD_ARGS</code></dt> +<dd><a class="anchor" id="tlmgr-TL_005fDOWNLOAD_005fARGS"></a> <p>These options allow selecting different download programs then the ones automatically selected by the installer. The order of selection is: </p> -<ol> -<li> If the environment variable <code>TEXLIVE_DOWNLOADER</code> is defined, use it; -abort if the specified program doesn’t work. Possible values: <code>lwp</code>, -<code>curl</code>, <code>wget</code>. The necessary options are added internally. +<ol class="enumerate"> +<li> If the environment variable <code class="code">TEXLIVE_DOWNLOADER</code> is defined, use it; +abort if the specified program doesn’t work. Possible values: <code class="code">lwp</code>, +<code class="code">curl</code>, <code class="code">wget</code>. The necessary options are added internally. -</li><li> If the environment variable <code>TL_DOWNLOAD_PROGRAM</code> is +</li><li> If the environment variable <code class="code">TL_DOWNLOAD_PROGRAM</code> is defined (can be any value), use it together with -<code>TL_DOWNLOAD_ARGS</code>; abort if it doesn’t work. +<code class="code">TL_DOWNLOAD_ARGS</code>; abort if it doesn’t work. </li><li> If LWP is available and working, use that (by far the most efficient method, as it supports persistent downloads). @@ -6997,27 +7274,27 @@ efficient method, as it supports persistent downloads). </li></ol> -<p>TL provides <code>wget</code> binaries for platforms where necessary, so some +<p>TL provides <code class="code">wget</code> binaries for platforms where necessary, so some download method should always be available. </p> </dd> -<dt><span><code>TEXLIVE_PREFER_OWN</code></span></dt> -<dd><span id="tlmgr-TEXLIVE_005fPREFER_005fOWN"></span> +<dt><code class="code">TEXLIVE_PREFER_OWN</code></dt> +<dd><a class="anchor" id="tlmgr-TEXLIVE_005fPREFER_005fOWN"></a> <p>By default, compression and download programs provided by the system, -i.e., found along <code>PATH</code> are preferred over those shipped with TeX +i.e., found along <code class="code">PATH</code> are preferred over those shipped with TeX Live. </p> <p>This can create problems with systems that are too old, and so can be -overridden by setting the environment variable <code>TEXLIVE_PREFER_OWN</code> to +overridden by setting the environment variable <code class="code">TEXLIVE_PREFER_OWN</code> to 1. In this case, executables shipped with TL will be preferred. </p> <p>Extra compression/download programs not provided by TL, such as gzip, lwp, and curl, are still checked for on the system and used if -available, per the above. <code>TEXLIVE_PREFER_OWN</code> only applies when the +available, per the above. <code class="code">TEXLIVE_PREFER_OWN</code> only applies when the program being checked for is shipped with TL, namely the lz4 and xz compressors and wget downloader. </p> -<p>Exception: on Windows, the <code>tar.exe</code> shipped with TL is always used, +<p>Exception: on Windows, the <code class="code">tar.exe</code> shipped with TL is always used, regardless of any setting. </p> </dd> @@ -7025,586 +7302,588 @@ regardless of any setting. <hr> </div> -<div class="appendixsec" id="tlmgr-AUTHORS-AND-COPYRIGHT"> -<div class="header"> +<div class="appendixsec-level-extent" id="tlmgr-AUTHORS-AND-COPYRIGHT"> +<div class="nav-panel"> <p> Previous: <a href="#tlmgr-ENVIRONMENT-VARIABLES" accesskey="p" rel="prev">ENVIRONMENT VARIABLES</a>, Up: <a href="#tlmgr" accesskey="u" rel="up">tlmgr</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="AUTHORS-AND-COPYRIGHT-1"></span><h3 class="appendixsec">B.14 AUTHORS AND COPYRIGHT</h3> +<h3 class="appendixsec" id="AUTHORS-AND-COPYRIGHT-1">B.14 AUTHORS AND COPYRIGHT</h3> <p>This script and its documentation were written for the TeX Live -distribution (<a href="https://tug.org/texlive">https://tug.org/texlive</a>) and both are licensed under the +distribution (<a class="url" href="https://tug.org/texlive">https://tug.org/texlive</a>) and both are licensed under the GNU General Public License Version 2 or later. </p> -<p>$Id: tlmgr.pl 62273 2022-02-28 08:52:17Z preining $ +<p>$Id: tlmgr.pl 65998 2023-02-21 01:33:24Z karl $ </p> <hr> </div> </div> -<div class="unnumbered" id="Index"> -<div class="header"> +<div class="unnumbered-level-extent" id="Index"> +<div class="nav-panel"> <p> -Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2022)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#tlmgr" accesskey="p" rel="prev">tlmgr</a>, Up: <a href="#Top" accesskey="u" rel="up">Building TeX Live (2023)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> +<h2 class="unnumbered" id="Index-1">Index</h2> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>$</b></a> +<div class="printindex cp-printindex"> +<table class="cp-letters-header-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>$</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>-</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a> </td></tr></table> -<table class="index-cp" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<table class="cp-entries-printindex" border="0"> +<tr><td></td><th class="entries-header-printindex">Index Entry</th><td> </td><th class="sections-header-printindex"> Section</th></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-1">$</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0024_0040-target-in-normal-make-rules"><code>$@</code> target in normal <code>make</code> rules</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0024_0040-target-in-normal-make-rules"><code class="code">$@</code> target in normal <code class="code">make</code> rules</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-2">-</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dbindir-configure-option"><code>--bindir configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026"><code>--prefix</code> <code>--bindir</code> …</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dbindir-configure-option-1"><code>--bindir configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dbuild_003dhost"><code>--build=<var>host</var></code></a>:</td><td> </td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dall_002dpackages"><code>--disable-all-packages</code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dall_002dpkgs"><code>--disable-all-pkgs</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dall_002dpkgs"><code>--disable-all-pkgs</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dbibtex8"><code>--disable-bibtex8</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp>texk/bibtex-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dbibtexu"><code>--disable-bibtexu</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp>texk/bibtex-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002ddump_002dshare"><code>--disable-dump-share</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002ddvipdfmx"><code>--disable-dvipdfmx</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp>texk/dvipdfm-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002detex_002dsynctex"><code>--disable-etex-synctex</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dipc"><code>--disable-ipc</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dlinked_002dscripts"><code>--disable-linked-scripts</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002ftexlive">Configure options for <samp>texk/texlive</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dmf_002dnowin"><code>--disable-mf-nowin</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dmissing"><code>--disable-missing</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dmissing"><code>--disable-missing</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dnative_002dtexlive_002dbuild"><code>--disable-native-texlive-build</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild"><code>--disable-native-texlive-build</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dprog"><code>--disable-<var>prog</var></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog"><code>--enable-<var>prog</var></code> <code>--disable-<var>prog</var></code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dsynctex"><code>--disable-synctex</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dtex"><code>--disable-tex</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dweb_002dprogs"><code>--disable-web-progs</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dxdvipdfmx"><code>--disable-xdvipdfmx</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp>texk/dvipdfm-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002d_002awin-for-Metafont-window-support"><code>--enable-*win <span class="roman">for Metafont window support</span></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dauto_002dcore"><code>--enable-auto-core</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dcompiler_002dwarnings_003dlevel"><code>--enable-compiler-warnings=<var>level</var></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel"><code>--enable-compiler-warnings=</code><var>level</var></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dcxx_002druntime_002dhack"><code>--enable-cxx-runtime-hack</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002detex"><code>--enable-etex</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dlibtool_002dhack"><code>--enable-libtool-hack</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dmaintainer_002dmode"><code>--enable-maintainer-mode</code></a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dmaintainer_002dmode-1"><code>--enable-maintainer-mode</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dmaintainer_002dmode"><code>--enable-maintainer-mode</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dmissing-to-ignore-dependencies"><code>--enable-missing <span class="roman">to ignore dependencies</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dmktextfm_002ddefault"><code>--enable-mktextfm-default</code></a>:</td><td> </td><td valign="top"><a href="#kpathsea-library"><code>kpathsea</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dprog"><code>--enable-<var>prog</var></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog"><code>--enable-<var>prog</var></code> <code>--disable-<var>prog</var></code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dshared"><code>--enable-shared</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dshared"><code>--enable-shared</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dsilent_002drules"><code>--enable-silent-rules</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dsilent_002drules"><code>--enable-silent-rules</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dtex_002dsynctex"><code>--enable-tex-synctex</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dtexlive_002dbuild"><code>--enable-texlive-build</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild"><code>--disable-native-texlive-build</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dxi2_002dscrolling"><code>--enable-xi2-scrolling</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dxindy_002ddocs"><code>--enable-xindy-docs</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dxindy_002drules"><code>--enable-xindy-rules</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dhost_003dhost"><code>--host=<var>host</var></code></a>:</td><td> </td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dlibdir-configure-option"><code>--libdir configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dno_002dprint_002ddirectory-GNU-make-option"><code>--no-print-directory <span class="roman">GNU make option</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-engine">Build one engine</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dprefix-configure-option"><code>--prefix configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026"><code>--prefix</code> <code>--bindir</code> …</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dbanner_002dadd_003dstr"><code>--with-banner-add=<var>str</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dclisp_002druntime_003dfilename"><code>--with-clisp-runtime=<var>filename</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002deditor_003dcmd"><code>--with-editor=<var>cmd</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dfontconfig_002dincludes_003ddir"><code>--with-fontconfig-includes=<var>dir</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dfontconfig_002dlibdir_003ddir"><code>--with-fontconfig-libdir=<var>dir</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dgs_003dfilename"><code>--with-gs=<var>filename</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dlib_002dincludes_003ddir_002c-_002dlibdir"><code>--with-<var>lib</var>-includes=<var>dir</var><span class="roman">,</span> -libdir</code></a>:</td><td> </td><td valign="top"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dlibgs_002dincludes_002c-_002dlibdir"><code>--with-libgs-includes<span class="roman">,</span> -libdir</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp>texk/dvisvgm</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dsystem_002dkpathsea"><code>--with-system-kpathsea</code></a>:</td><td> </td><td valign="top"><a href="#kpathsea-library"><code>kpathsea</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dsystem_002dlib"><code>--with-system-<var>lib</var></code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dsystem_002dlib-1"><code>--with-system-<var>lib</var></code></a>:</td><td> </td><td valign="top"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dsystem_002dlibgs"><code>--with-system-libgs</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp>texk/dvisvgm</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dxdvi_002dx_002dtoolkit"><code>--with-xdvi-x-toolkit</code></a>:</td><td> </td><td valign="top"><a href="#xdvik-package"><code>xdvik</code> package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dxdvi_002dx_002dtoolkit_003dkit"><code>--with-xdvi-x-toolkit=<var>kit</var></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dlibgs"><code>--without-libgs</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp>texk/dvisvgm</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dln_002ds"><code>--without-ln-s</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002dwithout_002dln_002ds"><code>--without-ln-s</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwithout_002dx"><code>--without-x</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002dwithout_002dx"><code>--without-x</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dC-configure-option"><code>-C configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dj-make-option"><code>-j make <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dbindir-configure-option"><code>--bindir configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026"><code class="code">--prefix</code> <code class="code">--bindir</code> …</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dbindir-configure-option-1"><code>--bindir configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dmultiplatform"><code class="code">--enable-multiplatform</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dbuild_003dhost"><code>--build=<var class="var">host</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-configuring">Cross configuring</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dall_002dpackages"><code>--disable-all-packages</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dall_002dpkgs"><code>--disable-all-pkgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dall_002dpkgs"><code class="code">--disable-all-pkgs</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dbibtex8"><code>--disable-bibtex8</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp class="file">texk/bibtex-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dbibtexu"><code>--disable-bibtexu</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp class="file">texk/bibtex-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002ddump_002dshare"><code>--disable-dump-share</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002ddvipdfmx"><code>--disable-dvipdfmx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002detex_002dsynctex"><code>--disable-etex-synctex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dipc"><code>--disable-ipc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dlargefile"><code class="code">--disable-largefile</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dlinked_002dscripts"><code>--disable-linked-scripts</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002ftexlive">Configure options for <samp class="file">texk/texlive</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dmf_002dnowin"><code>--disable-mf-nowin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dmissing"><code>--disable-missing</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dmissing"><code class="code">--disable-missing</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dnative_002dtexlive_002dbuild"><code>--disable-native-texlive-build</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild"><code class="code">--disable-native-texlive-build</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dprog"><code>--disable-<var class="var">prog</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog"><code class="code">--enable-<var class="var">prog</var></code> <code class="code">--disable-<var class="var">prog</var></code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dsynctex"><code>--disable-synctex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dtex"><code>--disable-tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dweb_002dprogs"><code>--disable-web-progs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dxdvipdfmx"><code>--disable-xdvipdfmx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002d_002awin-for-Metafont-window-support"><code>--enable-*win <span class="r">for Metafont window support</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dauto_002dcore"><code>--enable-auto-core</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dcompiler_002dwarnings_003dlevel"><code>--enable-compiler-warnings=<var class="var">level</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dcompiler_002dwarnings_003dlevel"><code class="code">--enable-compiler-warnings=</code><var class="var">level</var></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dcxx_002druntime_002dhack"><code>--enable-cxx-runtime-hack</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002detex"><code>--enable-etex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dlibtool_002dhack"><code>--enable-libtool-hack</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dmaintainer_002dmode"><code>--enable-maintainer-mode</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dmaintainer_002dmode-1"><code>--enable-maintainer-mode</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dmaintainer_002dmode"><code class="code">--enable-maintainer-mode</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dmissing-to-ignore-dependencies"><code>--enable-missing <span class="r">to ignore dependencies</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dmktextfm_002ddefault"><code>--enable-mktextfm-default</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#kpathsea-library"><code class="code">kpathsea</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dmultiplatform"><code class="code">--enable-multiplatform</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dprog"><code>--enable-<var class="var">prog</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dprog-_002d_002ddisable_002dprog"><code class="code">--enable-<var class="var">prog</var></code> <code class="code">--disable-<var class="var">prog</var></code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dshared"><code>--enable-shared</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dshared"><code class="code">--enable-shared</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dsilent_002drules"><code>--enable-silent-rules</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dsilent_002drules"><code class="code">--enable-silent-rules</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dtex_002dsynctex"><code>--enable-tex-synctex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dtexlive_002dbuild"><code>--enable-texlive-build</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dnative_002dtexlive_002dbuild"><code class="code">--disable-native-texlive-build</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dxi2_002dscrolling"><code>--enable-xi2-scrolling</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dxindy_002ddocs"><code>--enable-xindy-docs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dxindy_002drules"><code>--enable-xindy-rules</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhost_003dhost"><code>--host=<var class="var">host</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-configuring">Cross configuring</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dlibdir-configure-option"><code>--libdir configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dmultiplatform"><code class="code">--enable-multiplatform</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dno_002dprint_002ddirectory-GNU-make-option"><code>--no-print-directory <span class="r">GNU make option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-engine">Build one engine</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dprefix-configure-option"><code>--prefix configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026"><code class="code">--prefix</code> <code class="code">--bindir</code> …</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dbanner_002dadd_003dstr"><code>--with-banner-add=<var class="var">str</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dclisp_002druntime_003dfilename"><code>--with-clisp-runtime=<var class="var">filename</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002deditor_003dcmd"><code>--with-editor=<var class="var">cmd</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dfontconfig_002dincludes_003ddir"><code>--with-fontconfig-includes=<var class="var">dir</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dfontconfig_002dlibdir_003ddir"><code>--with-fontconfig-libdir=<var class="var">dir</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dgs_003dfilename"><code>--with-gs=<var class="var">filename</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dlib_002dincludes_003ddir_002c-_002dlibdir"><code>--with-<var class="var">lib</var>-includes=<var class="var">dir</var><span class="r">,</span> -libdir</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dlibgs_002dincludes_002c-_002dlibdir"><code>--with-libgs-includes<span class="r">,</span> -libdir</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp class="file">texk/dvisvgm</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dsystem_002dkpathsea"><code>--with-system-kpathsea</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#kpathsea-library"><code class="code">kpathsea</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dsystem_002dlib"><code>--with-system-<var class="var">lib</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dsystem_002dlib-1"><code>--with-system-<var class="var">lib</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dsystem_002dlibgs"><code>--with-system-libgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp class="file">texk/dvisvgm</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dxdvi_002dx_002dtoolkit"><code>--with-xdvi-x-toolkit</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#xdvik-package"><code class="code">xdvik</code> package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dxdvi_002dx_002dtoolkit_003dkit"><code>--with-xdvi-x-toolkit=<var class="var">kit</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dlibgs"><code>--without-libgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp class="file">texk/dvisvgm</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dln_002ds"><code>--without-ln-s</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002dwithout_002dln_002ds"><code class="code">--without-ln-s</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwithout_002dx"><code>--without-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002dwithout_002dx"><code class="code">--without-x</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dC-configure-option"><code>-C configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dj-make-option"><code>-j make <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-ac_002fwithenable_002eac"><code>ac/withenable.ac</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-adapting-TeX-Live-for-distros">adapting TeX Live for distros</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-adding-a-new-engine">adding a new engine</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-engine">Adding a new engine</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-adding-a-new-generic-library">adding a new generic library</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-adding-a-new-program">adding a new program</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-adding-a-new-TeX_002dspecific-library">adding a new TeX-specific library</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-adding-to-TeX-Live">adding to TeX Live</a>:</td><td> </td><td valign="top"><a href="#Extending-TeX-Live">Extending TeX Live</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-am_002f-top_002dlevel-directory"><samp>am/</samp> top-level directory</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ANSI-C">ANSI C</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ApplicationServices-Mac-framework_002c-required-by-xetex"><code>ApplicationServices</code> Mac framework, required by <code>xetex</code></a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-asymptote"><code>asymptote</code></a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-asymptote-1"><code>asymptote</code></a>:</td><td> </td><td valign="top"><a href="#asymptote"><code>asymptote</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Autoconf">Autoconf</a>:</td><td> </td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-autoconf-macros">autoconf macros</a>:</td><td> </td><td valign="top"><a href="#Autoconf-macros">Autoconf macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Automake">Automake</a>:</td><td> </td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-autoreconf_002c-for-new-program"><code>autoreconf<span class="roman">, for new program</span></code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ac_002fwithenable_002eac"><code>ac/withenable.ac</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-adapting-TeX-Live-for-distros">adapting TeX Live for distros</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-adding-a-new-engine">adding a new engine</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-engine">Adding a new engine</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-adding-a-new-generic-library">adding a new generic library</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-adding-a-new-program">adding a new program</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-adding-a-new-TeX_002dspecific-library">adding a new TeX-specific library</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-adding-to-TeX-Live">adding to TeX Live</a>:</td><td> </td><td class="printindex-index-section"><a href="#Extending-TeX-Live">Extending TeX Live</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-am_002f-top_002dlevel-directory"><samp class="file">am/</samp> top-level directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ANSI-C">ANSI C</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ApplicationServices-Mac-framework_002c-required-by-xetex"><code class="code">ApplicationServices</code> Mac framework, required by <code class="code">xetex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-asymptote"><code>asymptote</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-asymptote-1"><code>asymptote</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#asymptote"><code class="code">asymptote</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Autoconf">Autoconf</a>:</td><td> </td><td class="printindex-index-section"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-autoconf-macros">autoconf macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#Autoconf-macros">Autoconf macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Automake">Automake</a>:</td><td> </td><td class="printindex-index-section"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-autoreconf_002c-for-new-program"><code>autoreconf<span class="r">, for new program</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-biber"><code>biber</code></a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibtex_002dx"><code>bibtex-x</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp>texk/bibtex-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibtex8"><code>bibtex8</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp>texk/bibtex-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibtexu"><code>bibtexu</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp>texk/bibtex-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BSD-distro">BSD distro</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build-directory_002c-required">build directory, required</a>:</td><td> </td><td valign="top"><a href="#Building">Building</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build-iteration">build iteration</a>:</td><td> </td><td valign="top"><a href="#Build-iteration">Build iteration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build-on-demand">build on demand</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build-one-engine">build one engine</a>:</td><td> </td><td valign="top"><a href="#Build-one-engine">Build one engine</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build-one-package">build one package</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Build-script"><code>Build <span class="roman">script</span></code></a>:</td><td> </td><td valign="top"><a href="#Building">Building</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build-system_002c-design-of">build system, design of</a>:</td><td> </td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-build_002daux_002f-top_002dlevel-directory"><samp>build-aux/</samp> top-level directory</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BUILDCC_002c-BUILDCFLAGS_002c-_2026"><code>BUILDCC<span class="roman">,</span> BUILDCFLAGS<span class="roman">, …</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-building">building</a>:</td><td> </td><td valign="top"><a href="#Building">Building</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-building-a-distribution">building a distribution</a>:</td><td> </td><td valign="top"><a href="#Build-distribution">Build distribution</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-building-in-parallel">building in parallel</a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-biber"><code>biber</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibtex_002dx"><code>bibtex-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp class="file">texk/bibtex-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibtex8"><code>bibtex8</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp class="file">texk/bibtex-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibtexu"><code>bibtexu</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp class="file">texk/bibtex-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BSD-distro">BSD distro</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build-directory_002c-required">build directory, required</a>:</td><td> </td><td class="printindex-index-section"><a href="#Building">Building</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build-iteration">build iteration</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-iteration">Build iteration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build-on-demand">build on demand</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build-one-engine">build one engine</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-engine">Build one engine</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build-one-package">build one package</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Build-script"><code>Build <span class="r">script</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Building">Building</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build-system_002c-design-of">build system, design of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-build_002daux_002f-top_002dlevel-directory"><samp class="file">build-aux/</samp> top-level directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BUILDCC_002c-BUILDCFLAGS_002c-_2026"><code>BUILDCC<span class="r">,</span> BUILDCFLAGS<span class="r">, …</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-configuring">Cross configuring</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-building">building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Building">Building</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-building-a-distribution">building a distribution</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-distribution">Build distribution</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-building-in-parallel">building in parallel</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-C_002b_002b11_002c-removing-dependent-sources">C++11, removing dependent sources</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-C_002b_002b11_002c-required">C++11, required</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-C_002c-ANSI_002c-required">C, ANSI, required</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-C99_002c-avoided">C99, avoided</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cache-file_002c-for-configure">cache file, for <code>configure</code></a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cache-for-configure">cache for <code>configure</code></a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-callexe_002ec"><code>callexe.c</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CC"><code>CC</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CC_003dc_002dcompiler"><code>CC=<var>c-compiler</var></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CC_005fBUILD"><code>CC_BUILD</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ChangeLog"><code>ChangeLog</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-chktex"><code>chktex</code></a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-clisp"><code>clisp</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CLISP-1"><code>CLISP</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CLISP">CLISP</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-clisp_002c-required-by-xindy"><code>clisp</code>, required by <code>xindy</code></a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Cocoa-Mac-framework_002c-required-by-xetex"><code>Cocoa</code> Mac framework, required by <code>xetex</code></a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-coding-conventions">coding conventions</a>:</td><td> </td><td valign="top"><a href="#Coding-conventions">Coding conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compilers_002c-C-and-C_002b_002b11">compilers, C and C++11</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-config_002eguess_002c-config_002esub_002c-_2026"><code>config.guess<span class="roman">,</span> config.sub, …</code></a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options"><code>configure</code> options</a>:</td><td> </td><td valign="top"><a href="#Configure-options">Configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-bibtex_002dx"><code>configure</code> options, for <code>bibtex-x</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp>texk/bibtex-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-dvipdfm_002dx"><code>configure</code> options, for <code>dvipdfm-x</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp>texk/dvipdfm-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-dvisvgm"><code>configure</code> options, for <samp>dvisvgm</samp></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp>texk/dvisvgm</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-kpathsea"><code>configure</code> options, for <code>kpathsea</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-kpathsea">Configure options for <code>kpathsea</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-texk_002ftexlive"><code>configure</code> options, for <samp>texk/texlive</samp></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002ftexlive">Configure options for <samp>texk/texlive</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-web2c"><code>configure</code> options, for <code>web2c</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-xdvik"><code>configure</code> options, for <samp>xdvik</samp></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-for-xindy"><code>configure</code> options, for <samp>xindy</samp></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-global"><code>configure</code> options, global</a>:</td><td> </td><td valign="top"><a href="#Global-configure-options">Global configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-library_002dspecific"><code>configure</code> options, library-specific</a>:</td><td> </td><td valign="top"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-options_002c-program_002dspecific"><code>configure</code> options, program-specific</a>:</td><td> </td><td valign="top"><a href="#Program_002dspecific-configure-options">Program-specific configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-problems_002c-work-around-by-removing"><code>configure</code> problems, work around by removing</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-variables"><code>configure</code> variables</a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure_002eac"><code>configure.ac</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuring_002c-for-cross-compilation">configuring, for cross compilation</a>:</td><td> </td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-const"><code>const</code></a>:</td><td> </td><td valign="top"><a href="#Const">Const</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-continuous-integration">continuous integration</a>:</td><td> </td><td valign="top"><a href="#Continuous-integration">Continuous integration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conventions_002c-coding">conventions, coding</a>:</td><td> </td><td valign="top"><a href="#Coding-conventions">Coding conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CPPFLAGS"><code>CPPFLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross-compilation">cross compilation</a>:</td><td> </td><td valign="top"><a href="#Cross-compilation">Cross compilation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross-compilation-configuring">cross compilation configuring</a>:</td><td> </td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross-compilation-problems">cross compilation problems</a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross-compilation_002c-with-host-binary">cross compilation, with host binary</a>:</td><td> </td><td valign="top"><a href="#xdvik-package"><code>xdvik</code> package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ctangle"><code>ctangle</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CXX"><code>CXX</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CXX_003dc_002b_002b_002dcompiler"><code>CXX=<var>c++-compiler</var></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-C_002b_002b11_002c-removing-dependent-sources">C++11, removing dependent sources</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-C_002b_002b11_002c-required">C++11, required</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-C_002c-ANSI_002c-required">C, ANSI, required</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-C99_002c-avoided">C99, avoided</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cache-file_002c-for-configure">cache file, for <code class="code">configure</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cache-for-configure">cache for <code class="code">configure</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-callexe_002ec"><code>callexe.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CC"><code>CC</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CC_003dc_002dcompiler"><code>CC=<var class="var">c-compiler</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CC_005fBUILD"><code>CC_BUILD</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ChangeLog"><code>ChangeLog</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-chktex"><code>chktex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-clisp"><code>clisp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CLISP-1"><code>CLISP</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CLISP">CLISP</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-clisp_002c-required-by-xindy"><code class="code">clisp</code>, required by <code class="code">xindy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Cocoa-Mac-framework_002c-required-by-xetex"><code class="code">Cocoa</code> Mac framework, required by <code class="code">xetex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-coding-conventions">coding conventions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Coding-conventions">Coding conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compilers_002c-C-and-C_002b_002b11">compilers, C and C++11</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-config_002eguess_002c-config_002esub_002c-_2026"><code>config.guess<span class="r">,</span> config.sub, …</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options"><code class="code">configure</code> options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options">Configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-bibtex_002dx"><code class="code">configure</code> options, for <code class="code">bibtex-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fbibtex_002dx">Configure options for <samp class="file">texk/bibtex-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-dvipdfm_002dx"><code class="code">configure</code> options, for <code class="code">dvipdfm-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-dvisvgm"><code class="code">configure</code> options, for <samp class="file">dvisvgm</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp class="file">texk/dvisvgm</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-kpathsea"><code class="code">configure</code> options, for <code class="code">kpathsea</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-kpathsea">Configure options for <code class="code">kpathsea</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-texk_002ftexlive"><code class="code">configure</code> options, for <samp class="file">texk/texlive</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002ftexlive">Configure options for <samp class="file">texk/texlive</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-web2c"><code class="code">configure</code> options, for <code class="code">web2c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-xdvik"><code class="code">configure</code> options, for <samp class="file">xdvik</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-for-xindy"><code class="code">configure</code> options, for <samp class="file">xindy</samp></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-global"><code class="code">configure</code> options, global</a>:</td><td> </td><td class="printindex-index-section"><a href="#Global-configure-options">Global configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-library_002dspecific"><code class="code">configure</code> options, library-specific</a>:</td><td> </td><td class="printindex-index-section"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-options_002c-program_002dspecific"><code class="code">configure</code> options, program-specific</a>:</td><td> </td><td class="printindex-index-section"><a href="#Program_002dspecific-configure-options">Program-specific configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-problems_002c-work-around-by-removing"><code class="code">configure</code> problems, work around by removing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-variables"><code class="code">configure</code> variables</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure_002eac"><code>configure.ac</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuring_002c-for-cross-compilation">configuring, for cross compilation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-configuring">Cross configuring</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-const"><code class="code">const</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Const">Const</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-continuous-integration">continuous integration</a>:</td><td> </td><td class="printindex-index-section"><a href="#Continuous-integration">Continuous integration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conventions_002c-coding">conventions, coding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Coding-conventions">Coding conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CPPFLAGS"><code>CPPFLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross-compilation">cross compilation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-compilation">Cross compilation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross-compilation-configuring">cross compilation configuring</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-configuring">Cross configuring</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross-compilation-problems">cross compilation problems</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross-compilation_002c-with-host-binary">cross compilation, with host binary</a>:</td><td> </td><td class="printindex-index-section"><a href="#xdvik-package"><code class="code">xdvik</code> package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ctangle"><code>ctangle</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CXX"><code>CXX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CXX_003dc_002b_002b_002dcompiler"><code>CXX=<var class="var">c++-compiler</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-declarations-and-definitions_002c-in-source-code">declarations and definitions, in source code</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-declarations-before-statements_002c-avoiding">declarations before statements, avoiding</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dependencies_002c-with-several-output-files">dependencies, with several output files</a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DESTDIR"><code>DESTDIR</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026"><code>--prefix</code> <code>--bindir</code> …</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-directories_002c-for-installation">directories, for installation</a>:</td><td> </td><td valign="top"><a href="#Installation-directories">Installation directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-directories_002c-top_002dlevel">directories, top-level</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-discards-qualifiers-warning">discards qualifiers warning</a>:</td><td> </td><td valign="top"><a href="#Const">Const</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dist-and-distcheck-targets-for-make"><code>dist</code> and <code>distcheck</code> targets for <code>make</code></a>:</td><td> </td><td valign="top"><a href="#Build-distribution">Build distribution</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-distribution-tarball_002c-making">distribution tarball, making</a>:</td><td> </td><td valign="top"><a href="#Build-distribution">Build distribution</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-distro_002c-building-for">distro, building for</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvipdfm_002dx"><code>dvipdfm-x</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp>texk/dvipdfm-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvipdfmx"><code>dvipdfmx</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp>texk/dvipdfm-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvisvgm"><code>dvisvgm</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp>texk/dvisvgm</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvisvgm_002c-requires-C_002b_002b11"><code>dvisvgm</code>, requires C++11</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-declarations-and-definitions_002c-in-source-code">declarations and definitions, in source code</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-declarations-before-statements_002c-avoiding">declarations before statements, avoiding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dependencies_002c-with-several-output-files">dependencies, with several output files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DESTDIR"><code>DESTDIR</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002dprefix-_002d_002dbindir-_2026"><code class="code">--prefix</code> <code class="code">--bindir</code> …</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-directories_002c-for-installation">directories, for installation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation-directories">Installation directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-directories_002c-top_002dlevel">directories, top-level</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-discards-qualifiers-warning">discards qualifiers warning</a>:</td><td> </td><td class="printindex-index-section"><a href="#Const">Const</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dist-and-distcheck-targets-for-make"><code class="code">dist</code> and <code class="code">distcheck</code> targets for <code class="code">make</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-distribution">Build distribution</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-distribution-tarball_002c-making">distribution tarball, making</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-distribution">Build distribution</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-distro_002c-building-for">distro, building for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvipdfm_002dx"><code>dvipdfm-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvipdfmx"><code>dvipdfmx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvisvgm"><code>dvisvgm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvisvgm">Configure options for <samp class="file">texk/dvisvgm</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvisvgm_002c-requires-C_002b_002b11"><code class="code">dvisvgm</code>, requires C++11</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-engine_002c-adding-new">engine, adding new</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-engine">Adding a new engine</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-engine_002c-building-one">engine, building one</a>:</td><td> </td><td valign="top"><a href="#Build-one-engine">Build one engine</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-environment-variables_002c-for-configure">environment variables, for <code>configure</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options">Configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-exec_005fprefix"><code>exec_prefix</code></a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dmultiplatform"><code>--enable-multiplatform</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extending-TeX-Live">extending TeX Live</a>:</td><td> </td><td valign="top"><a href="#Extending-TeX-Live">Extending TeX Live</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extern-functions"><code>extern</code> functions</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-engine_002c-adding-new">engine, adding new</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-engine">Adding a new engine</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-engine_002c-building-one">engine, building one</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-engine">Build one engine</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-environment-variables_002c-for-configure">environment variables, for <code class="code">configure</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options">Configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-exec_005fprefix"><code>exec_prefix</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dmultiplatform"><code class="code">--enable-multiplatform</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extending-TeX-Live">extending TeX Live</a>:</td><td> </td><td class="printindex-index-section"><a href="#Extending-TeX-Live">Extending TeX Live</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extern-functions"><code class="code">extern</code> functions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-flags_002c-macros-for-library-and-header">flags, macros for library and header</a>:</td><td> </td><td valign="top"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontconfig-library_002c-required-by-xetex"><code>fontconfig</code> library, required by <code>xetex</code></a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-freetype-cross-compiling"><code>freetype</code> cross compiling</a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-freetype-library"><code>freetype <span class="roman">library</span></code></a>:</td><td> </td><td valign="top"><a href="#freetype-library"><code>freetype</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FreeType_002c-requires-gmake">FreeType, requires <code>gmake</code></a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-freetype_002dconfig"><code>freetype-config</code></a>:</td><td> </td><td valign="top"><a href="#freetype-library"><code>freetype</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-freetype_002dconfig-1"><code>freetype-config</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FT2_005fCONFIG"><code>FT2_CONFIG</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-flags_002c-macros-for-library-and-header">flags, macros for library and header</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontconfig-library_002c-required-by-xetex"><code class="code">fontconfig</code> library, required by <code class="code">xetex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-freetype-cross-compiling"><code class="code">freetype</code> cross compiling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-freetype-library"><code>freetype <span class="r">library</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#freetype-library"><code class="code">freetype</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FreeType_002c-requires-gmake">FreeType, requires <code class="code">gmake</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-freetype_002dconfig"><code>freetype-config</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#freetype-library"><code class="code">freetype</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-freetype_002dconfig-1"><code>freetype-config</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FT2_005fCONFIG"><code>FT2_CONFIG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-gcc_002c-default-compilers"><code>gcc<span class="roman">, default compilers</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-general-setup-macros">general setup macros</a>:</td><td> </td><td valign="top"><a href="#General-setup-macros">General setup macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-generic-library-module_002c-adding">generic library module, adding</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Ghostscript-location-for-Xdvik">Ghostscript location for Xdvik</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-git_002dsvn"><code>git-svn</code></a>:</td><td> </td><td valign="top"><a href="#Transfer-from-Subversion-to-Github">Transfer from Subversion to Github</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-global-configure-options">global <code>configure</code> options</a>:</td><td> </td><td valign="top"><a href="#Global-configure-options">Global configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gmake_002c-required"><code>gmake</code>, required</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GNU-make_002c-required">GNU <code>make</code>, required</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GNU-tools_002c-needed-for-building">GNU tools, needed for building</a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GNU_002fLinux-distro">GNU/Linux distro</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Gnulib_002c-used-for-common-files">Gnulib, used for common files</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gcc_002c-default-compilers"><code>gcc<span class="r">, default compilers</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-general-setup-macros">general setup macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#General-setup-macros">General setup macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-generic-library-module_002c-adding">generic library module, adding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Ghostscript-location-for-Xdvik">Ghostscript location for Xdvik</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-git_002dsvn"><code>git-svn</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Transfer-from-Subversion-to-Github">Transfer from Subversion to Github</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-global-configure-options">global <code class="code">configure</code> options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Global-configure-options">Global configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gmake_002c-required"><code class="code">gmake</code>, required</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU-make_002c-required">GNU <code class="code">make</code>, required</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU-tools_002c-needed-for-building">GNU tools, needed for building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GNU_002fLinux-distro">GNU/Linux distro</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Gnulib_002c-used-for-common-files">Gnulib, used for common files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-HarfBuzz_002c-requires-C_002b_002b11">HarfBuzz, requires C++11</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-HarfBuzz_002c-requires-C_002b_002b11">HarfBuzz, requires C++11</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-ICU-cross-compiling">ICU cross compiling</a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ICU-libraries">ICU libraries</a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ICU_002c-requires-C_002b_002b11">ICU, requires C++11</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-icu_002dconfig"><code>icu-config</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ICU_005fCONFIG"><code>ICU_CONFIG</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-infrastructure_002c-tools-needed-for">infrastructure, tools needed for</a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-inst_002f-top_002dlevel-directory"><samp>inst/</samp> top-level directory</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-install_002dtl_002c-TeX-Live-installer"><code>install-tl<span class="roman">, TeX Live installer</span></code></a>:</td><td> </td><td valign="top"><a href="#Installing">Installing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installation-directories">installation directories</a>:</td><td> </td><td valign="top"><a href="#Installation-directories">Installation directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installing">installing</a>:</td><td> </td><td valign="top"><a href="#Installing">Installing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-interprocess-communication">interprocess communication</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-introduction">introduction</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-iteration-through-sources_002c-by-configure-and-make">iteration through sources, by <code>configure</code> and <code>make</code></a>:</td><td> </td><td valign="top"><a href="#Build-iteration">Build iteration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ICU-cross-compiling">ICU cross compiling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ICU-libraries">ICU libraries</a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ICU_002c-requires-C_002b_002b11">ICU, requires C++11</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-icu_002dconfig"><code>icu-config</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ICU_005fCONFIG"><code>ICU_CONFIG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-infrastructure_002c-tools-needed-for">infrastructure, tools needed for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-inst_002f-top_002dlevel-directory"><samp class="file">inst/</samp> top-level directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-install_002dtl_002c-TeX-Live-installer"><code>install-tl<span class="r">, TeX Live installer</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Installing">Installing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installation-directories">installation directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation-directories">Installation directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installing">installing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installing">Installing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-interprocess-communication">interprocess communication</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-introduction">introduction</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-iteration-through-sources_002c-by-configure-and-make">iteration through sources, by <code class="code">configure</code> and <code class="code">make</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-iteration">Build iteration</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea-library"><code>kpathsea <span class="roman">library</span></code></a>:</td><td> </td><td valign="top"><a href="#kpathsea-library"><code>kpathsea</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpathsea_002eac"><code>kpathsea.ac</code></a>:</td><td> </td><td valign="top"><a href="#kpathsea-library"><code>kpathsea</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002dlibpng_002dflags_002em4"><code>kpse-libpng-flags.m4</code></a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002dpkgs_002em4"><code>kpse-pkgs.m4</code></a>:</td><td> </td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_002dzlib_002dflags_002em4"><code>kpse-zlib-flags.m4</code></a>:</td><td> </td><td valign="top"><a href="#zlib-library"><code>zlib</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpsewhich"><code>kpsewhich</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSEWHICH"><code>KPSEWHICH</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fADD_005fFLAGS"><code>KPSE_ADD_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fALL_005fSYSTEM_005fFLAGS"><code>KPSE_ALL_SYSTEM_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fBASIC"><code>KPSE_BASIC</code></a>:</td><td> </td><td valign="top"><a href="#General-setup-macros">General setup macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCHECK_005fLATEX"><code>KPSE_CHECK_LATEX</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-programs">Macros for programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCHECK_005fPDFLATEX"><code>KPSE_CHECK_PDFLATEX</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-programs">Macros for programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCHECK_005fPERL"><code>KPSE_CHECK_PERL</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-programs">Macros for programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCHECK_005fWIN32"><code>KPSE_CHECK_WIN32</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCOMMON"><code>KPSE_COMMON</code></a>:</td><td> </td><td valign="top"><a href="#General-setup-macros">General setup macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCOMPILER_005fVISIBILITY"><code>KPSE_COMPILER_VISIBILITY</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCOMPILER_005fWARNINGS"><code>KPSE_COMPILER_WARNINGS</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCOND_005fMINGW32"><code>KPSE_COND_MINGW32</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCOND_005fWIN32"><code>KPSE_COND_WIN32</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCOND_005fWIN32_005fWRAP"><code>KPSE_COND_WIN32_WRAP</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005fcv_005fcxx_005fhack"><code>kpse_cv_cxx_hack</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005fcv_005fhave_005fwin32"><code>kpse_cv_have_win32</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005fcv_005fvisibility_005fc_005bxx_005dflags"><code>kpse_cv_visibility_c[xx]flags</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005fcv_005fwarning_005fcflags"><code>kpse_cv_warning_cflags</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fCXX_005fHACK"><code>KPSE_CXX_HACK</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fENABLE_005fPROG"><code>KPSE_ENABLE_PROG</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fLARGEFILE"><code>KPSE_LARGEFILE</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-libraries">Macros for libraries</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fLIBPNG_005fFLAGS"><code>KPSE_LIBPNG_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fLIBPNG_005fFLAGS-1"><code>KPSE_LIBPNG_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005flibs_005fpkgs"><code>kpse_libs_pkgs</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fLIB_005fFLAGS"><code>KPSE_<var>LIB</var>_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fLIB_005fFLAGS-1"><code>KPSE_<var>LIB</var>_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fLIB_005fSYSTEM_005fFLAGS"><code>KPSE_<var>LIB</var>_SYSTEM_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fPROG_005fLEX"><code>KPSE_PROG_LEX</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-programs">Macros for programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fRESTORE_005fFLAGS"><code>KPSE_RESTORE_FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005ftexk_005fpkgs"><code>kpse_texk_pkgs</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005ftexlibs_005fpkgs"><code>kpse_texlibs_pkgs</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fTRY_005fLIB"><code>KPSE_TRY_LIB</code></a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fTRY_005fLIB-1"><code>KPSE_TRY_LIB</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fTRY_005fLIBXX"><code>KPSE_TRY_LIBXX</code></a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fTRY_005fLIBXX-1"><code>KPSE_TRY_LIBXX</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-kpse_005futils_005fpkgs"><code>kpse_utils_pkgs</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fWIN32_005fCALL"><code>KPSE_WIN32_CALL</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fWITH_005fLIB"><code>KPSE_WITH_LIB</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPSE_005fWITH_005fTEXLIB"><code>KPSE_WITH_TEXLIB</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea-library"><code>kpathsea <span class="r">library</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#kpathsea-library"><code class="code">kpathsea</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpathsea_002eac"><code>kpathsea.ac</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#kpathsea-library"><code class="code">kpathsea</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002dlibpng_002dflags_002em4"><code>kpse-libpng-flags.m4</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002dpkgs_002em4"><code>kpse-pkgs.m4</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_002dzlib_002dflags_002em4"><code>kpse-zlib-flags.m4</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#zlib-library"><code class="code">zlib</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpsewhich"><code>kpsewhich</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSEWHICH"><code>KPSEWHICH</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fADD_005fFLAGS"><code>KPSE_ADD_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fALL_005fSYSTEM_005fFLAGS"><code>KPSE_ALL_SYSTEM_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fBASIC"><code>KPSE_BASIC</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#General-setup-macros">General setup macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCHECK_005fLATEX"><code>KPSE_CHECK_LATEX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-programs">Macros for programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCHECK_005fPDFLATEX"><code>KPSE_CHECK_PDFLATEX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-programs">Macros for programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCHECK_005fPERL"><code>KPSE_CHECK_PERL</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-programs">Macros for programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCHECK_005fWIN32"><code>KPSE_CHECK_WIN32</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCOMMON"><code>KPSE_COMMON</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#General-setup-macros">General setup macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCOMPILER_005fVISIBILITY"><code>KPSE_COMPILER_VISIBILITY</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCOMPILER_005fWARNINGS"><code>KPSE_COMPILER_WARNINGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCOND_005fMINGW32"><code>KPSE_COND_MINGW32</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCOND_005fWIN32"><code>KPSE_COND_WIN32</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCOND_005fWIN32_005fWRAP"><code>KPSE_COND_WIN32_WRAP</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005fcv_005fcxx_005fhack"><code>kpse_cv_cxx_hack</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005fcv_005fhave_005fwin32"><code>kpse_cv_have_win32</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005fcv_005fvisibility_005fc_005bxx_005dflags"><code>kpse_cv_visibility_c[xx]flags</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005fcv_005fwarning_005fcflags"><code>kpse_cv_warning_cflags</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fCXX_005fHACK"><code>KPSE_CXX_HACK</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fENABLE_005fPROG"><code>KPSE_ENABLE_PROG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fLARGEFILE"><code>KPSE_LARGEFILE</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-libraries">Macros for libraries</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fLIBPNG_005fFLAGS"><code>KPSE_LIBPNG_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fLIBPNG_005fFLAGS-1"><code>KPSE_LIBPNG_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005flibs_005fpkgs"><code>kpse_libs_pkgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fLIB_005fFLAGS"><code>KPSE_<var class="var">LIB</var>_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fLIB_005fFLAGS-1"><code>KPSE_<var class="var">LIB</var>_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fLIB_005fSYSTEM_005fFLAGS"><code>KPSE_<var class="var">LIB</var>_SYSTEM_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fPROG_005fLEX"><code>KPSE_PROG_LEX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-programs">Macros for programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fRESTORE_005fFLAGS"><code>KPSE_RESTORE_FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005ftexk_005fpkgs"><code>kpse_texk_pkgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005ftexlibs_005fpkgs"><code>kpse_texlibs_pkgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fTRY_005fLIB"><code>KPSE_TRY_LIB</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fTRY_005fLIB-1"><code>KPSE_TRY_LIB</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fTRY_005fLIBXX"><code>KPSE_TRY_LIBXX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fTRY_005fLIBXX-1"><code>KPSE_TRY_LIBXX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kpse_005futils_005fpkgs"><code>kpse_utils_pkgs</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fWIN32_005fCALL"><code>KPSE_WIN32_CALL</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fWITH_005fLIB"><code>KPSE_WITH_LIB</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPSE_005fWITH_005fTEXLIB"><code>KPSE_WITH_TEXLIB</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-large-file-support">large file support</a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LATEX"><code>LATEX</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-layout-of-sources">layout of sources</a>:</td><td> </td><td valign="top"><a href="#Layout-and-infrastructure">Layout and infrastructure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LFS-_0028large-file-support_0029">LFS (large file support)</a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libexpat_002c-dependency-of-libfontconfig"><code>libexpat<span class="roman">, dependency of <code>libfontconfig</code></span></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libfontconfig_002c-hack-for-avoiding-linking-dependencies"><code>libfontconfig<span class="roman">, hack for avoiding linking dependencies</span></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libfreetype"><code>libfreetype</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libfreetype_002c-and-const"><code>libfreetype</code>, and <code>const</code></a>:</td><td> </td><td valign="top"><a href="#Const">Const</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libpng-library"><code>libpng <span class="roman">library</span></code></a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-library-module_002c-generic_002c-adding">library module, generic, adding</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-library-module_002c-TeX_002dspecific_002c-adding">library module, TeX-specific, adding</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-library-modules">library modules</a>:</td><td> </td><td valign="top"><a href="#Library-modules">Library modules</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-library_002dspecific-configure-options">library-specific <code>configure</code> options</a>:</td><td> </td><td valign="top"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libsigsegv_002c-required-by-xindy"><code>libsigsegv</code>, required by <code>xindy</code></a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libstc_002b_002b_002c-statically-linking"><code>libstc++<span class="roman">, statically linking</span></code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Libtool">Libtool</a>:</td><td> </td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libtool_002c-hack-for-avoiding-excessive-linking"><code>libtool<span class="roman">, hack for avoiding excessive linking</span></code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libXt"><code>libXt</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-linked-scripts">linked scripts</a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-linking-C_002b_002b-libraries-statically">linking C++ libraries statically</a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-lisp_002erun_002c-lisp_002eexe"><code>lisp.run<span class="roman">,</span> lisp.exe</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LittleEndian-architectures">LittleEndian architectures</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-large-file-support">large file support</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dlargefile"><code class="code">--disable-largefile</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LATEX"><code>LATEX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-layout-of-sources">layout of sources</a>:</td><td> </td><td class="printindex-index-section"><a href="#Layout-and-infrastructure">Layout and infrastructure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LFS-_0028large-file-support_0029">LFS (large file support)</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dlargefile"><code class="code">--disable-largefile</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libexpat_002c-dependency-of-libfontconfig"><code>libexpat<span class="r">, dependency of <code class="code">libfontconfig</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libfontconfig_002c-hack-for-avoiding-linking-dependencies"><code>libfontconfig<span class="r">, hack for avoiding linking dependencies</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libfreetype"><code>libfreetype</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libfreetype_002c-and-const"><code class="code">libfreetype</code>, and <code class="code">const</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Const">Const</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libpng-library"><code>libpng <span class="r">library</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-library-module_002c-generic_002c-adding">library module, generic, adding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-generic-library-module">Adding a new generic library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-library-module_002c-TeX_002dspecific_002c-adding">library module, TeX-specific, adding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-library-modules">library modules</a>:</td><td> </td><td class="printindex-index-section"><a href="#Library-modules">Library modules</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-library_002dspecific-configure-options">library-specific <code class="code">configure</code> options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Library_002dspecific-configure-options">Library-specific configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libsigsegv_002c-required-by-xindy"><code class="code">libsigsegv</code>, required by <code class="code">xindy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libstc_002b_002b_002c-statically-linking"><code>libstc++<span class="r">, statically linking</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Libtool">Libtool</a>:</td><td> </td><td class="printindex-index-section"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libtool_002c-hack-for-avoiding-excessive-linking"><code>libtool<span class="r">, hack for avoiding excessive linking</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libXt"><code>libXt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-linked-scripts">linked scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-linking-C_002b_002b-libraries-statically">linking C++ libraries statically</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-lisp_002erun_002c-lisp_002eexe"><code>lisp.run<span class="r">,</span> lisp.exe</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LittleEndian-architectures">LittleEndian architectures</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-m4_002f-top_002dlevel-directory"><samp>m4/</samp> top-level directory</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-for-compilers">macros, for compilers</a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-for-libraries">macros, for libraries</a>:</td><td> </td><td valign="top"><a href="#Macros-for-libraries">Macros for libraries</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-for-library-and-header-flags">macros, for library and header flags</a>:</td><td> </td><td valign="top"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-for-programs">macros, for programs</a>:</td><td> </td><td valign="top"><a href="#Macros-for-programs">Macros for programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-for-Windows">macros, for Windows</a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-general-setup">macros, general setup</a>:</td><td> </td><td valign="top"><a href="#General-setup-macros">General setup macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MAKE"><code>MAKE</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-make-_002dt"><code>make -t</code></a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-make-rules_002c-verbose-vs_002e-silent"><code>make</code> rules, verbose vs. silent</a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002denable_002dsilent_002drules"><code>--enable-silent-rules</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Makefile_002eam"><code>Makefile.am</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mf_002dnowin"><code>mf-nowin</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mingw32"><code>mingw32</code></a>:</td><td> </td><td valign="top"><a href="#Cross-configuring">Cross configuring</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MINGW32_002c-Automake-conditional"><code>MINGW32<span class="roman">, Automake conditional</span></code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktex_002eac"><code>mktex.ac</code></a>:</td><td> </td><td valign="top"><a href="#kpathsea-library"><code>kpathsea</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktextfm"><code>mktextfm</code></a>:</td><td> </td><td valign="top"><a href="#kpathsea-library"><code>kpathsea</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-modules_002c-for-libraries">modules, for libraries</a>:</td><td> </td><td valign="top"><a href="#Library-modules">Library modules</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-modules_002c-for-programs">modules, for programs</a>:</td><td> </td><td valign="top"><a href="#Program-modules">Program modules</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-motif"><code>motif</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-m4_002f-top_002dlevel-directory"><samp class="file">m4/</samp> top-level directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-for-compilers">macros, for compilers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-for-libraries">macros, for libraries</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-libraries">Macros for libraries</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-for-library-and-header-flags">macros, for library and header flags</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-library-and-header-flags">Macros for library and header flags</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-for-programs">macros, for programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-programs">Macros for programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-for-Windows">macros, for Windows</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-general-setup">macros, general setup</a>:</td><td> </td><td class="printindex-index-section"><a href="#General-setup-macros">General setup macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MAKE"><code>MAKE</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-make-_002dt"><code>make -t</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-make-rules_002c-verbose-vs_002e-silent"><code class="code">make</code> rules, verbose vs. silent</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002denable_002dsilent_002drules"><code class="code">--enable-silent-rules</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Makefile_002eam"><code>Makefile.am</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mf_002dnowin"><code>mf-nowin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mingw32"><code class="code">mingw32</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-configuring">Cross configuring</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MINGW32_002c-Automake-conditional"><code>MINGW32<span class="r">, Automake conditional</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktex_002eac"><code>mktex.ac</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#kpathsea-library"><code class="code">kpathsea</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktextfm"><code>mktextfm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#kpathsea-library"><code class="code">kpathsea</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-modules_002c-for-libraries">modules, for libraries</a>:</td><td> </td><td class="printindex-index-section"><a href="#Library-modules">Library modules</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-modules_002c-for-programs">modules, for programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Program-modules">Program modules</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-motif"><code>motif</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-native-cross-compilation">native cross compilation</a>:</td><td> </td><td valign="top"><a href="#Cross-compilation">Cross compilation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-newprog_002dsrc_002c-original-source-subdirectory"><var>newprog-src</var>, original source subdirectory</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-native-cross-compilation">native cross compilation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-compilation">Cross compilation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-newprog_002dsrc_002c-original-source-subdirectory"><var class="var">newprog-src</var>, original source subdirectory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-OBJCXX_003dobjc_002dcompiler"><code>OBJCXX=<var>objc-compiler</var></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-one-engine_002c-building">one engine, building</a>:</td><td> </td><td valign="top"><a href="#Build-one-engine">Build one engine</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-one-package_002c-building">one package, building</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OpenGL_002c-required-for-Asymptote">OpenGL, required for Asymptote</a>:</td><td> </td><td valign="top"><a href="#asymptote"><code>asymptote</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-operating-system-distribution_002c-building-for">operating system distribution, building for</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-otangle"><code>otangle</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-overall-build-process">overall build process</a>:</td><td> </td><td valign="top"><a href="#Building">Building</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OBJCXX_003dobjc_002dcompiler"><code>OBJCXX=<var class="var">objc-compiler</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-one-engine_002c-building">one engine, building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-engine">Build one engine</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-one-package_002c-building">one package, building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OpenGL_002c-required-for-Asymptote">OpenGL, required for Asymptote</a>:</td><td> </td><td class="printindex-index-section"><a href="#asymptote"><code class="code">asymptote</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-operating-system-distribution_002c-building-for">operating system distribution, building for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-otangle"><code>otangle</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-overall-build-process">overall build process</a>:</td><td> </td><td class="printindex-index-section"><a href="#Building">Building</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-parallel-build">parallel build</a>:</td><td> </td><td valign="top"><a href="#Build-in-parallel">Build in parallel</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-paths_002c-for-installation">paths, for installation</a>:</td><td> </td><td valign="top"><a href="#Installation-directories">Installation directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF-files_002c-size-of">PDF files, size of</a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDFLATEX"><code>PDFLATEX</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PERL"><code>PERL</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-perl_002c-required-by-web2c_002c-etc_002e"><code>perl</code>, required by <code>web2c</code>, etc.</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PKG_005fCONFIG"><code>PKG_CONFIG</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain_002etex_002c-not-in-source-tree"><code>plain.tex<span class="roman">, not in source tree</span></code></a>:</td><td> </td><td valign="top"><a href="#Installing">Installing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-png-library"><code>png <span class="roman">library</span></code></a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-files_002c-size-of">PostScript files, size of</a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Preining_002c-Norbert">Preining, Norbert</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-preloaded-binaries">preloaded binaries</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-prerequisites-for-building">prerequisites for building</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program-module_002c-adding">program module, adding</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program-modules">program modules</a>:</td><td> </td><td valign="top"><a href="#Program-modules">Program modules</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program_002dspecific-configure-options">program-specific <code>configure</code> options</a>:</td><td> </td><td valign="top"><a href="#Program_002dspecific-configure-options">Program-specific configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-proxy-build-system">proxy build system</a>:</td><td> </td><td valign="top"><a href="#png-library"><code>png</code> library</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Python_002c-required-by-ICU">Python, required by ICU</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-parallel-build">parallel build</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-in-parallel">Build in parallel</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-paths_002c-for-installation">paths, for installation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation-directories">Installation directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF-files_002c-size-of">PDF files, size of</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dlargefile"><code class="code">--disable-largefile</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDFLATEX"><code>PDFLATEX</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PERL"><code>PERL</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-perl_002c-required-by-web2c_002c-etc_002e"><code class="code">perl</code>, required by <code class="code">web2c</code>, etc.</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PKG_005fCONFIG"><code>PKG_CONFIG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002etex_002c-not-in-source-tree"><code>plain.tex<span class="r">, not in source tree</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Installing">Installing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-png-library"><code>png <span class="r">library</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-files_002c-size-of">PostScript files, size of</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dlargefile"><code class="code">--disable-largefile</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Preining_002c-Norbert">Preining, Norbert</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-preloaded-binaries">preloaded binaries</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-prerequisites-for-building">prerequisites for building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program-module_002c-adding">program module, adding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program-modules">program modules</a>:</td><td> </td><td class="printindex-index-section"><a href="#Program-modules">Program modules</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program_002dspecific-configure-options">program-specific <code class="code">configure</code> options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Program_002dspecific-configure-options">Program-specific configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-proxy-build-system">proxy build system</a>:</td><td> </td><td class="printindex-index-section"><a href="#png-library"><code class="code">png</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Python_002c-required-by-ICU">Python, required by ICU</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-reautoconf"><code>reautoconf</code></a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reautoconf_002c-for-new-program"><code>reautoconf<span class="roman">, for new program</span></code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-removing-build-directories">removing build directories</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-requirements-for-building">requirements for building</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-runscript_002eexe"><code>runscript.exe</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reautoconf"><code>reautoconf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reautoconf_002c-for-new-program"><code>reautoconf<span class="r">, for new program</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-removing-build-directories">removing build directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-requirements-for-building">requirements for building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-runscript_002eexe"><code>runscript.exe</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-scripts_002c-linked-and-not-maintained">scripts, linked and not maintained</a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scrolling_002c-smooth"><code>scrolling, smooth</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SED"><code>SED</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-setup-macros_002c-general">setup macros, general</a>:</td><td> </td><td valign="top"><a href="#General-setup-macros">General setup macros</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shared-libraries_002c-using-vs_002e-avoiding">shared libraries, using vs. avoiding</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-size-of-PDF-and-PS-files">size of PDF and PS files</a>:</td><td> </td><td valign="top"><a href="#g_t_002d_002ddisable_002dlargefile"><code>--disable-largefile</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-size-of-source-tree">size of source tree</a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-source-code-declarations">source code declarations</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-source-directory-building_002c-not-supported">source directory building, not supported</a>:</td><td> </td><td valign="top"><a href="#Building">Building</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-source-tree">source tree</a>:</td><td> </td><td valign="top"><a href="#Layout-and-infrastructure">Layout and infrastructure</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-squeeze"><code>squeeze</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-squeeze_002fconfigure_002eac"><code>squeeze/configure.ac</code></a>:</td><td> </td><td valign="top"><a href="#xdvik-package"><code>xdvik</code> package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-static-functions"><code>static</code> functions</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-static-linking-for-C_002b_002b">static linking for C++</a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-stpcpy"><code>stpcpy</code></a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Subversion-repository">Subversion repository</a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-support-files_002c-separate-from-build">support files, separate from build</a>:</td><td> </td><td valign="top"><a href="#Installing">Installing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-symlinks_002c-used-for-scripts">symlinks, used for scripts</a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-synctex">synctex</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-synctex-1">synctex</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system-distribution_002c-building-for">system distribution, building for</a>:</td><td> </td><td valign="top"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scripts_002c-linked-and-not-maintained">scripts, linked and not maintained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scrolling_002c-smooth"><code>scrolling, smooth</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SED"><code>SED</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-setup-macros_002c-general">setup macros, general</a>:</td><td> </td><td class="printindex-index-section"><a href="#General-setup-macros">General setup macros</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shared-libraries_002c-using-vs_002e-avoiding">shared libraries, using vs. avoiding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-size-of-PDF-and-PS-files">size of PDF and PS files</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_002d_002ddisable_002dlargefile"><code class="code">--disable-largefile</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-size-of-source-tree">size of source tree</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-source-code-declarations">source code declarations</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-source-directory-building_002c-not-supported">source directory building, not supported</a>:</td><td> </td><td class="printindex-index-section"><a href="#Building">Building</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-source-tree">source tree</a>:</td><td> </td><td class="printindex-index-section"><a href="#Layout-and-infrastructure">Layout and infrastructure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-squeeze"><code>squeeze</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-squeeze_002fconfigure_002eac"><code>squeeze/configure.ac</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#xdvik-package"><code class="code">xdvik</code> package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-static-functions"><code class="code">static</code> functions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-static-linking-for-C_002b_002b">static linking for C++</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-stpcpy"><code>stpcpy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Subversion-repository">Subversion repository</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-support-files_002c-separate-from-build">support files, separate from build</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installing">Installing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-symlinks_002c-used-for-scripts">symlinks, used for scripts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-synctex">synctex</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-synctex-1">synctex</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system-distribution_002c-building-for">system distribution, building for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Distro-builds">Distro builds</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-t1utils-package"><code>t1utils <span class="roman">package</span></code></a>:</td><td> </td><td valign="top"><a href="#t1utils-package"><code>t1utils</code> package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tangle"><code>tangle</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tests_002c-running">tests, running</a>:</td><td> </td><td valign="top"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002dspecific-library-module_002c-adding">TeX-specific library module, adding</a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texlive_002etlpdb_002c-TeX-Live-database"><code>texlive.tlpdb<span class="roman">, TeX Live database</span></code></a>:</td><td> </td><td valign="top"><a href="#Installing">Installing</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFCNF-for-running-standalone"><code>TEXMFCNF <span class="roman">for running standalone</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFROOT-for-running-standalone"><code>TEXMFROOT <span class="roman">for running standalone</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-one-package">Build one package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tie"><code>tie</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-timestamps_002c-in-repository">timestamps, in repository</a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TLpatches_002fpatch_002d_002e_002e_002e"><code>TLpatches/patch-...</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TLpatches_002fTL_002dChanges"><code>TLpatches/TL-Changes</code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tools_002c-for-building">tools, for building</a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-top_002dlevel-directories">top-level directories</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-touching-files-to-avoid-rerunning">touching files to avoid rerunning</a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Travis_002dCI">Travis-CI</a>:</td><td> </td><td valign="top"><a href="#Continuous-integration">Continuous integration</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-travis_002eyml"><code>travis.yml</code></a>:</td><td> </td><td valign="top"><a href="#CI-testing-on-Travis_002dCI">CI testing on Travis-CI</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-type-cast-from-const_002c-avoiding">type cast from const, avoiding</a>:</td><td> </td><td valign="top"><a href="#Const">Const</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-t1utils-package"><code>t1utils <span class="r">package</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#t1utils-package"><code class="code">t1utils</code> package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tangle"><code>tangle</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tests_002c-running">tests, running</a>:</td><td> </td><td class="printindex-index-section"><a href="#Overview-of-build-system">Overview of build system</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002dspecific-library-module_002c-adding">TeX-specific library module, adding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-TeX_002dspecific-library-module">Adding a new TeX-specific library module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texlive_002etlpdb_002c-TeX-Live-database"><code>texlive.tlpdb<span class="r">, TeX Live database</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Installing">Installing</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFCNF-for-running-standalone"><code>TEXMFCNF <span class="r">for running standalone</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFROOT-for-running-standalone"><code>TEXMFROOT <span class="r">for running standalone</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-one-package">Build one package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tie"><code>tie</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-timestamps_002c-in-repository">timestamps, in repository</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TLpatches_002fpatch_002d_002e_002e_002e"><code>TLpatches/patch-...</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TLpatches_002fTL_002dChanges"><code>TLpatches/TL-Changes</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tools_002c-for-building">tools, for building</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-top_002dlevel-directories">top-level directories</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-touching-files-to-avoid-rerunning">touching files to avoid rerunning</a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Travis_002dCI">Travis-CI</a>:</td><td> </td><td class="printindex-index-section"><a href="#Continuous-integration">Continuous integration</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-travis_002eyml"><code>travis.yml</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#CI-testing-on-Travis_002dCI">CI testing on Travis-CI</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-type-cast-from-const_002c-avoiding">type cast from const, avoiding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Const">Const</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-U">U</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-use_002dcommit_002dtimes_002c-Subversion"><code>use-commit-times<span class="roman">, Subversion</span></code></a>:</td><td> </td><td valign="top"><a href="#Build-system-tools">Build system tools</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-use_002dcommit_002dtimes_002c-Subversion"><code>use-commit-times<span class="r">, Subversion</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Build-system-tools">Build system tools</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-V">V</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-variable-declarations_002c-in-source-code">variable declarations, in source code</a>:</td><td> </td><td valign="top"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-variables-for-configure">variables for <code>configure</code></a>:</td><td> </td><td valign="top"><a href="#Variables-for-configure">Variables for configure</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-variable-declarations_002c-in-source-code">variable declarations, in source code</a>:</td><td> </td><td class="printindex-index-section"><a href="#Declarations-and-definitions">Declarations and definitions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-variables-for-configure">variables for <code class="code">configure</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Variables-for-configure">Variables for configure</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-warning_002c-discards-qualifiers">warning, discards qualifiers</a>:</td><td> </td><td valign="top"><a href="#Const">Const</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WARNING_005fC_005bXX_005dFLAGS"><code>WARNING_C[XX]FLAGS</code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-web2c-program"><code>web2c <span class="roman">program</span></code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-web2c_002eac"><code>web2c.ac</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-wget"><code>wget</code></a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WIN32_002c-Automake-conditional"><code>WIN32<span class="roman">, Automake conditional</span></code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WIN32_005fWRAP_002c-Automake-conditional"><code>WIN32_WRAP<span class="roman">, Automake conditional</span></code></a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Windows_002c-invoking-scripts-on">Windows, invoking scripts on</a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Windows_002c-macros-for">Windows, macros for</a>:</td><td> </td><td valign="top"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-withenable_002eac_002c-for-new-modules"><code>withenable.ac<span class="roman">, for new modules</span></code></a>:</td><td> </td><td valign="top"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Work_002f-top_002dlevel-directory"><samp>Work/</samp> top-level directory</a>:</td><td> </td><td valign="top"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-wrapper-binary-for-scripts-on-Windows">wrapper binary for scripts on Windows</a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-wrapper-build-system">wrapper build system</a>:</td><td> </td><td valign="top"><a href="#freetype-library"><code>freetype</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-warning_002c-discards-qualifiers">warning, discards qualifiers</a>:</td><td> </td><td class="printindex-index-section"><a href="#Const">Const</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WARNING_005fC_005bXX_005dFLAGS"><code>WARNING_C[XX]FLAGS</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-compilers">Macros for compilers</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-web2c-program"><code>web2c <span class="r">program</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-web2c_002eac"><code>web2c.ac</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-wget"><code>wget</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WIN32_002c-Automake-conditional"><code>WIN32<span class="r">, Automake conditional</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WIN32_005fWRAP_002c-Automake-conditional"><code>WIN32_WRAP<span class="r">, Automake conditional</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Windows_002c-invoking-scripts-on">Windows, invoking scripts on</a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Windows_002c-macros-for">Windows, macros for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Macros-for-Windows">Macros for Windows</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-withenable_002eac_002c-for-new-modules"><code>withenable.ac<span class="r">, for new modules</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Adding-a-new-program-module">Adding a new program module</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Work_002f-top_002dlevel-directory"><samp class="file">Work/</samp> top-level directory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Top_002dlevel-directories">Top-level directories</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-wrapper-binary-for-scripts-on-Windows">wrapper binary for scripts on Windows</a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-wrapper-build-system">wrapper build system</a>:</td><td> </td><td class="printindex-index-section"><a href="#freetype-library"><code class="code">freetype</code> library</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-X">X</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-X-toolkit">X toolkit</a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-X11-development_002c-required-by-X-clients">X11 development, required by X clients</a>:</td><td> </td><td valign="top"><a href="#Prerequisites">Prerequisites</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-X11-headers_002c-and-const">X11 headers, and <code>const</code></a>:</td><td> </td><td valign="top"><a href="#Const">Const</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xasy"><code>xasy</code></a>:</td><td> </td><td valign="top"><a href="#asymptote"><code>asymptote</code></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xaw"><code>xaw</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xdvik"><code>xdvik</code></a>:</td><td> </td><td valign="top"><a href="#xdvik-package"><code>xdvik</code> package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xdvik-1"><code>xdvik</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xdvipdfmx"><code>xdvipdfmx</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp>texk/dvipdfm-x</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xindy"><code>xindy</code></a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xindy-1"><code>xindy</code></a>:</td><td> </td><td valign="top"><a href="#xindy-package"><code>xindy</code> package</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xindy-2"><code>xindy</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp>utils/xindy</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xindy-cross-compiling-requires-clisp"><code>xindy</code> cross compiling requires <code>clisp</code></a>:</td><td> </td><td valign="top"><a href="#Cross-problems">Cross problems</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-XInput"><code>XInput</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp>texk/xdvik</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Xlib"><code>Xlib</code></a>:</td><td> </td><td valign="top"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp>texk/web2c</samp></a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xz"><code>xz</code></a>:</td><td> </td><td valign="top"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X-toolkit">X toolkit</a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X11-development_002c-required-by-X-clients">X11 development, required by X clients</a>:</td><td> </td><td class="printindex-index-section"><a href="#Prerequisites">Prerequisites</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X11-headers_002c-and-const">X11 headers, and <code class="code">const</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Const">Const</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xasy"><code>xasy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#asymptote"><code class="code">asymptote</code></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xaw"><code>xaw</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xdvik"><code>xdvik</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#xdvik-package"><code class="code">xdvik</code> package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xdvik-1"><code>xdvik</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xdvipdfmx"><code>xdvipdfmx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fdvipdfm_002dx">Configure options for <samp class="file">texk/dvipdfm-x</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xindy"><code>xindy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xindy-1"><code>xindy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#xindy-package"><code class="code">xindy</code> package</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xindy-2"><code>xindy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-utils_002fxindy">Configure options for <samp class="file">utils/xindy</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xindy-cross-compiling-requires-clisp"><code class="code">xindy</code> cross compiling requires <code class="code">clisp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Cross-problems">Cross problems</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-XInput"><code>XInput</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fxdvik">Configure options for <samp class="file">texk/xdvik</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Xlib"><code>Xlib</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Configure-options-for-texk_002fweb2c">Configure options for <samp class="file">texk/web2c</samp></a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xz"><code>xz</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Linked-scripts">Linked scripts</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Z">Z</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-zlib-library"><code>zlib <span class="roman">library</span></code></a>:</td><td> </td><td valign="top"><a href="#zlib-library"><code>zlib</code> library</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-zlib-library"><code>zlib <span class="r">library</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#zlib-library"><code class="code">zlib</code> library</a></td></tr> <tr><td colspan="4"> <hr></td></tr> </table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>$</b></a> +<table class="cp-letters-footer-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>$</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>-</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Z"><b>Z</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Z"><b>Z</b></a> </td></tr></table> +</div> </div> </div> -<div class="footnote"> +<div class="footnotes-segment"> <hr> <h4 class="footnotes-heading">Footnotes</h4> -<h5><a id="FOOT1" href="#DOCF1">(1)</a></h5> +<h5 class="footnote-body-heading"><a id="FOOT1" href="#DOCF1">(1)</a></h5> <p>There is one exception in TL: the -<code>tangle-sh</code> and related rules use <code>$@</code> to mean the target -name, a feature not present in all <code>make</code>s. This could be +<code class="code">tangle-sh</code> and related rules use <code class="code">$@</code> to mean the target +name, a feature not present in all <code class="code">make</code>s. This could be alleviated by laborious editing, but since there’s no way to avoid GNU -<code>make</code> for builds of the entire tree, it does not seem worth the +<code class="code">make</code> for builds of the entire tree, it does not seem worth the trouble.</p> </div> diff --git a/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.pdf b/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.pdf Binary files differindex 238aad597af..9c50a71c3ca 100644 --- a/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.pdf +++ b/Master/texmf-dist/doc/texlive/tlbuild/tlbuild.pdf diff --git a/Master/texmf-dist/doc/texlive/tlmgr.html b/Master/texmf-dist/doc/texlive/tlmgr.html index 15d338e7a8f..87f1cd025a2 100644 --- a/Master/texmf-dist/doc/texlive/tlmgr.html +++ b/Master/texmf-dist/doc/texlive/tlmgr.html @@ -2126,7 +2126,7 @@ other output from post actions, not in machine readable form</code></pre> <p>This script and its documentation were written for the TeX Live distribution (<a href="https://tug.org/texlive">https://tug.org/texlive</a>) and both are licensed under the GNU General Public License Version 2 or later.</p> -<p>$Id: tlmgr.pl 63033 2022-04-15 05:19:42Z preining $</p> +<p>$Id: tlmgr.pl 65998 2023-02-21 01:33:24Z karl $</p> </body> diff --git a/Master/texmf-dist/doc/web2c/NEWS b/Master/texmf-dist/doc/web2c/NEWS new file mode 100644 index 00000000000..c73a3e3378e --- /dev/null +++ b/Master/texmf-dist/doc/web2c/NEWS @@ -0,0 +1,518 @@ +This file records noteworthy changes. (Public domain.) + + +2023 (for TeX Live 2023) + +* (u)pTeX: now using as aliases of e(u)ptex. Also support guessing input + encodings with these and (u)pbibtex. + +* bibtex: check options early to avoid looking for texmf.cnf unnecessarily; + use max_print_line texmf.cnf variable. + +* ctangle: with option +u, transliterate UTF-8 in C source. + +* mflua{,jit}: add potrace support. + + +2022 (for TeX Live 2022, 21 March 2022) + +* new hitex engine included, which outputs HINT files for display on +mobile devices. HINT viewers for GNU/Linux, Windows, and Android are +available. + +* tangle, weave: support optional third argument to specify output file. + +* twill program for original Pascal *.web mini-indexes included. + +* across actively-extended engines + (that is, not including original (e)TeX, Aleph, hiTeX): +- new primitive \showstream to redirect \show output to a file. +- new primitives \partokenname and \partokencontext allow overriding the + name of the emitted \par token mitted at blank lines, the end of + vboxes, etc. + + +2021 (for TeX Live 2021, 23 March 2021) +* Knuth 2021 tune-up, with fixes to all of his *.web files. Overview: +https://tug.org/TUGboat/42-1/tb130knuth-tuneup21.pdf +New TeX version is 3.141592653, MF 2.71828182. + +* for all engines except original TeX: +- if \tracinglostchars >= 3, make missing characters an error (not just + a log message), and always report the character code in hex. +- if new primitive parameter \tracingstacklevels > 0, logging of macro + expansion at higher levels is truncated; also, the macro expansion + depth is indicated on \tracingmacros log lines. + +* obscure interaction sequences no longer crash. + + +2020 (for TeX Live 2020, 27 March 2020) +* \input now also accepts a group-delimited filename, e.g., +\input{foo.tex}. The usage with a standard space/token-delimited +filename is completely unchanged. + +The group-delimited name was previously implemented in LuaTeX; now it is +available in all engines. ASCII double quote characters (") are removed +from the filename, but it is otherwise left unchanged after +tokenization. This does not currently impact LaTeX's \input command, as +that is a macro redefinition of the standard \input primitive. + +* New cross-engine option -cnf-line=STR. + +* All TeX engines except tex and etex now compress (with zlib) .fmt files + (XeTeX and LuaTeX already did so). + +pTeX (and all variants): new primitives \ifjfont and \iftfont. +eptex, euptex: new primitives \Uchar, \Ucharcat, \current(x)spacingmode, + \ifincsname; revise \fontchar?? and \iffontchar. +euptex only: new primitive \currentcjktoken. + +BibTeX: now reallocates on large (>20k) field values instead of aborting. + + +2019 (for TeX Live 2019, 7 April 2019) +BibTeX: subsidiary .aux files are looked for in the directory of the +main .aux file, if not found as-is (to work better with -output-directory). + +CWEB: now comes from the CWEBbin package +(https://github.com/ascherer/cwebbin), with translation capabilities, +more language support, and more. + + +2018 (for TeX Live 2018, 14 April 2018) +* Directories in the -output-directory do not mask files by the same name. + +2017 (for TeX Live 2017, 19 May 2017) +2016 (for TeX Live 2016, 21 May 2016) +2015 (for TeX Live 2015, 21 May 2015) +2014 (for TeX Live 2014, 24 May 2014) +2013 (for TeX Live 2013, 30 May 2013) +* Doc changes and bug fixes. + +2012 (for TeX Live 2012, 1 July 2012) +* upTeX and e-upTeX Japanese engines added. + +2011 (for TeX Live 2011, 5 July 2011) +* epTeX Japanese engine added. + +2010 (for TeX Live 2010, 4 June 2010) +* BibTeX line-breaking bug fix in bibtex.web. +* pTeX Japanese engine added. + +2009 (for TeX Live 2009, 13 October 2009) +* --shell-restricted aka shell_escape=p for restricted shell access. +* --enable-write18 and --disable-write18 accepted as synonyms for + --shell-escape and --no-shell-escape, for compatibility with MiKTeX. +* Omega removed; use Aleph. +* Build system now automake-based. + +7.5.7 (for TeX Live 2008, 7 July 2008) +* Include Knuth's 2008 updates. +* Include LuaTeX. +* Include SyncTeX. +* Plenty of pdfTeX and MetaPost updates. +* Pool strings now compiled into the binaries instead of .pool files. +* autoconf support finally modernized. + +7.5.6 (for TeX Live 2006-07, 30 December 2006) +* Include XeTeX. +* pdfTeX and MetaPost updates. + +7.5.5 (26 June 2005) +* BibTeX: dynamically resize the buffer (and related arrays). +* MP: Version 0.9 +* mpware: Brought to the equivalent of version 0.9. +* e-TeX, Aleph, pdfeTeX: You can use -ini -etex to start etex mode now + instead of prepending an asterisk. + +7.5.4 (6 February 2005) +* TeX: \ifeof18 is false if \write18 is enabled. +* MF, MP: Prevent pathological code from overflowing the "serial number" + counter for independent variables. + +7.5.3 (28 November 2004) +* ctie: New program, from Julian Gilbey. +* TeX, MF, MP: We now save the name of the engine in the dump, in + order to be able to give better error messages in case a dump + written by another engine is being read. +* TeX, MF, MP: We now dump the xord, xchr, and xprn arrays, so if + if a TCX file was loaded in INI mode, that will be retained + when the dump is loaded. (Doesn't apply to Omega family.) +* TeX, MF, MP: Add -8bit option, which makes all characters + printable by default. Note that a TCX file can change this. + (Doesn't apply to Omega family.) +* TeX, MF, MP: In TCX files, a third number (0 or 1) can be + used to set printability. (Doesn't apply to Omega family.) +* TeX: Include encTeX extension. +* mft: Allow more than one -style option. +* pdfxTeX: New. +* DVItoMP: Now supports color specials, like those added by the + colordvi package. Note that this feature should be considered + experimental, and may change in the future. +* PATGEN: Peter Breitenlohner fixed some typos in text in patgen.web. + +7.5.2 (19 February 2003) +* e-TeX: Remove last bits of support for installing it as 'tex'. +* Makefile fixes. + +7.5.1 (17 February 2003) +* New upstream sources from Knuth. +* Lots of little fixes to the new makefiles. + +7.5.0 (15 February 2003) +* Use libtool. +* Use e-TeX, pdfeTeX as the engine for the latex, pdflatex format. + +7.4.6 (7 February 2003) +* Makefile structure changed. +* e-Omega: New + +7.4.5 (28 January 2003) +* TeX: Obey locale setting only for terminal and log file. +* METAFONT, MetaPost: Do not care about locale settings at all. + +7.4.4 (16 January 2003) +* TeX: Increase maximum size of max_strings, main_memory, and pool_size. + +7.4.3 (11 January 2003) +* CWEB: Add --help and --version options. +* CWEB: Support both .w and and .web suffixes. +* CWEB: When adding #line directives, put in the path, not just the filename. + +7.4.2 (23 December 2002) +* Minor fixes to makefiles. + +7.4.1 (20 December 2002) +* cweave: Fixed hangs caused by wrong argument order in two prototypes. + +7.4.0 (14 December 2002) +* Using 7.4.x numbers now because the interface of kpathsea has changed in + ABI-incompatible ways. +* share/*: Stop shipping fontmap files and tcx files in the web2c tarball. +* CWEB: Add protypes to code through the change files. +* BibTeX: Names ending in 'aux' were not handled correctly. +* METAPost: Handle date and time privitives correctly, instead of having + them give the date of the mem file. + +7.3.11 (13 November 2002) +* BibTeX: purify$ would strip characters with code >= 128 from its argument. + This has now changed to just passing them through. This should have no + effect if you don't use such characters in the input, but may result in + different output otherwise. Note that other aspects, like proper sorting + of such characters are not handled at all. +* CWEB: Increase the maximum length of the names of the input files. + +7.3.10 (11 November 2002) +* Added the CWEB programs. Thanks to Wlodek Bzyl. + +7.3.9 (22 October 2002) +* TeX, METAFONT, METAPost: Add --jobname option to set the jobname. This + supercedes the use of --fmt, --efmt, --mem, and --base to set the name of + the format to be dumped in ini mode. +* TANGLE: New options --length, --lowercase, --uppercase, --mixedcase, + --underline, --strict, --loose. These affect the output generated by + tangle. + +7.3.8 (11 October 2002) +* BibTeX: do not split \% in an output line. +* TeX: mention active extensions. +* TeX: change name/banner if extensions that break strict compatibility with + Knuth's TeX are active. +* web2c: splitup now uses a command-line switch to determine how after + how many lines it should split the sources. + +7.3.7 (27 November 2001) +* Minor release, again incorporates internal changes to help Omega. +* Update of the fontmaps. + +7.3.6 (18 November 2001) +* Minor release, again incorporates internal changes to help Omega. +* TeX, METAFONT, MetaPost: + New option --recorder which enables a filename recorder. A file + with extension .fls is created which contains the names of the + files opened for reading or writing. + +7.3.5 (10 November 2001) +* Minor release, incorporate many changes due to developments of Omega. + These are mainly internal. + +7.3.4 (30 October 2001) +* Minor release, incorporates most of the features also in TeX-live 6, + which is known as release 7.3.3.1. +* TANGLE: As an extension, you can define parametric macros where '[' and ']' + delimit the argument. +* MFT: Support METAPOST sources. +* MPTO: Add -tex=program option. Buffer is now configurable. + +7.3.3 (5 August 2000) +* Minor release. +* METAFONT: Obey buf_size from texmf.cnf instead of using a hard-coded value. + +7.3.2 (19 April 2000) +* Minor release containing bugfixes for 7.3.1. Web2C 7.3.1 was not released + on CTAN, only in teTeX 1.0 +* The TeX-live 5 CD contains Web2C 7.3.1x, which is based on the 7.3.1 release + and contains some changes that have yet to be merged into the main tree. In + particular, the code for "C-style" error messages and the code for source + specials has not been merged yet. + +7.3.1 (30 May 1999) +* Minor release containing bugfixes for 7.3. Web2C 7.3 was not released + on CTAN, only on the TeX-live 4 CD. + +7.3 (26 March 1999) +* New upstream sources from Knuth. +* TeX, METAFONT, MetaPost: + (Re)introduction of TCX files. +* Increased capacity of several programs. +* Support for pdfeTeX added. +* Long-standing bugs in VFtoPL and TFtoPL, which led to corrupted TFM + files being generated, have been fixed. + +7.2 (15 March 1998) +* New upstream version of MetaPost: 0.64. +* TeX, METAFONT, MetaPost: + Allow for more restrictions on the files written by \openout. +* TeX, METAFONT, MetaPost: + New option --interaction, which can be used to set batchmode, nonstopmode, + scrollmode, or errorstopmode. Thus we can replace a construct like + tex '\batchmode \input foo' + with + tex --interaction=batchmode foo + and have a %&format line select the correct format. +* When %&format selects a format, the search paths are changed to conform + to that format. +* TeX, METAFONT, MetaPost: + During an "ini" run, the name of the format to be dumped can be set with + the --fmt/--efmt/--base/--mem options. +* web2c: Extensive support for building e-TeX, Omega, a PDFTeX. +* web2c: The manual pages are back. + +7.1 (10 November 1997) +* Some MSDOS/Win32 support added to the sources. +* BibTeX: increased capacity. +* VPtoVF: Increased capacity. +* TeX, METAFONT, MetaPost: + - File foo.bar.tex results in \jobname foo.bar, hence foo.bar.{log,dvi,...}. + This as opposed to foo and foo.{log,dvi,...} which it how it used to be in + version 6. In 7.0 situation was confusing, as the heuristics used would + sometimes result in the extension being stripped, sometimes not. +* TeX: + - The -extend-jobname option has been removed. + - Printing of non-ASCII characters in diagnostics, code by Bernd Raichle. + - All three of LF, CR, and CRLF are recognized end-of-line tokens. +* web2c: + - Some support for e-TeX added to convert. + +7.0 (6 February 1997) +* Update from Knuth for tex, mf, dvitype, pltotf, vptovf, and tangle, + John Hobby's MetaPost (and support programs) included, + update from P. Breitenlohner to dvicopy 1.5 and patgen 2.3. +* Update for kpathsea 3.0. +* Texinfo manual written. +* Amiga, OS/2, Windows NT support in the sources. +* TeX: + - if -shell-escape or shell_escape in texmf.cnf is enabled, + \write18{str} passes str to system(3) for processing by sh. + - MLTeX extensions (\charsubdef, etc.) can be enabled at runtime. + - Many array sizes can be set dynamically, in texmf.cnf. + - MakeTeXTFM installed and enabled by default. + - IPC communications to an external program for incremental DVI reading. + - texfonts.map applies to TFM files, as originally intended. + - More than 256 fonts are allowed. + - DVI comment (with timestamp) can be overridden. + - tex.web's consistency checks on .fmt files restored. +* Metafont: + - A few array sizes can be set dynamically, in texmf.cnf. + - X11 support disabled by default; configure --with-x to enable it. + - MakeTeXMF enabled and installed by default. +* TeX, Metafont, MetaPost: + - If the first line of the main input file starts with %&, the rest of + the line is used as the fmt/base/mem file (if it can be found), + except that %&ini means initex/inimf/inimpost. + - One binary: initex/mf/mpost capabilities merged with virtex/mf/mpost. + - New option -progname sets program name independently of argv[0]. + - Eight-bit filenames are output correctly in ^^ notation, instead of + always being simplified to ^^@. + - MakeTeX* scripts can be named and disabled via texmf.cnf. + - MakeTeX* scripts are silent if \batchmode is in effect. + - TEXMFINI environment variable checked for pool/fmt/base/mem lookups. + - \openout (TeX) and write (MP) by default will not write to files + whose names start with `.'. + - ``Small'' versions no longer supported without source hacking. + - Length bug regarding single non-ASCII characters in MF and MP fixed. +* BibTeX: + - Some arrays dynamically reallocated as needed, other sizes increased. + - Default behavior is verbose; new -terse option changes that. + - Statistics are written to the .blg file. + - Does not look at TEXINPUTS to find .bst files, but does check + TEXBIB (after BIBINPUTS). + - Does not interactively ask for the top-level .aux name. +* All programs: + - Supply default extensions and default output files. + - Support the standard --help and --version options. + - Filenames not arbitrarily restricted in length. + - Output written in the current directory, not the directory of + an input file. (Most interesting for tangle.) + - Times-Roman etc. work as font names, via texfonts.map and subsidiaries. +* dvitype prints decimal opcode numbers with --show-opcodes. +* bibtex and gftodvi never interactively ask for filenames; + dvitype and dvicopy do not enter interactive dialogues. +* mft looks in MFTINPUTS, not TEXINPUTS. +* Configuration: + - Optional features are enabled via configure --with-* and --enable-* + options. Run configure --help. + - There is no small TeX, Metafont, or MetaPost. If you want it, you'll + have to change the change files, #define SMALL* yourself, and do + whatever else is necessary yourself. +* Source hierarchy substantially simplified. +* Web2c: + - Support for ifndef...endifn, a la ifdef. + - Support for const expressions. + - Can generate ANSI code. + +Version 6.1 (3 February 1994) +* foo.bar found before foo.tex (found before foo). +* configure links sun.c to sun-sunview.c if SUNWIN is defined. +* -DLONG_64_BITS is supplied automatically (if appropriate). +* Various changes for configure --srcdir. +* Sample MakeTeX* scripts included. + +Version 6.0 (24 January 1994) +* Default paths changed. +* Update for TeX 3.1415, etc. +* Change to use the kpathsea library, a la dvipsk and xdvik. + +* TeX's \openin command invokes MakeTeXTeX just like \input. + +* TeX & Metafont: + - 16-byte values can be dumped, thus allowing native `long' on the DEC Alpha. + - But 32-bit integers are used if sharable format files are desired, + even on 64-bit machines. + - Interrupts are accepted when waiting for input. + +* Online output support in Metafont for Regis terminals and the NeXT. +* gftopk can handle characters with up to 100,000 rows. +* vftovp's -charcode-format=ascii works properly. +* patgen doesn't give bizarre numeric output where it should be text. + +* configuration: + - -lX11 is used for OpenWindows. + - The MakeTeX... scripts are individually selectable by default, and + can always be invoked if certain environment variables are set. + - The subdirectory trick using st_nlink can be turned off. + +* Makefiles: + - man/Makefile doesn't remove itself at `clean'. + - {tex,mf}/clean-tr[ia]p doesn't reinstall a {tex,mf}d.h with the test + constants. + - web2c/Makefile removes lex and yacc output at `clean'. + - mkdirchain invoked as an absolute filename. + +* web2c: + - sync is no longer invoked; instead the Makefiles touch texd.h and + mfd.h after they are finished. + +Version 5.851d (22 February 1993) + +* A file `texfonts.map' allows arbitrary mapping of font names (as given + to, for instance, \font) to filenames. + +* Metafont & TeX: + - If a .tex, .tfm, or .mf file can't be found, MakeTeX{TeX,TFM,MF} is + invoked before giving up, as in dvips' MakeTeXPK. + - Sharable format/base files load faster on LittleEndian machines. + - TEXMFOUTPUT is only used for those files which can't be written in + the current directory, instead of all files after the first such. + Its usage is also reflected in the `... written on ...' messages at + the end of the run. + - If the DISPLAY environment variable is set, Metafont assumes you are + running under X11 for the purposes of online output (instead of + relying on the TERM or MFTERM envvar). + - Checks for write errors on DVI/GF output. + - Unusual glue values no longer make TeX dump core on some systems. + +* BibTeX: + - The cross-reference feature works as documented (I had foolishly + changed the default value of min_crossrefs to eliminate it). + - New option -min-crossrefs=<number> to change it dynamically. + - New option -verbose; without it, normal reportage is eliminated. + - Maximum number of .bib files increased to 100. + - Non-printable-ASCII characters in .bib files are preserved. + +* TeXware: + - tftopl adds a default extension `.tfm' to the input file if necessary. + +* web2c: + - Unsigned types are used where possible to represent Pascal + subranges. Among other things, this eliminates a system dependency + in creating format/base files (small_number was defined as `schar', + which varies between systems). + +* configuration: + - Unpacks into web2c-<version> instead of src-<version>.*. + - site.h merged into lib/c-auto.h.in and ./Makefile.in. + - sed is used instead of patch to make the ``small'' change files. + - sed is used instead of ed to make the trip/trap files. + - The configure script looks in more directories for the X libraries + and include files, and is generated from the latest version of Autoconf. + - mfware and texware directories merged into the others. + - The web2c version is defined in one place, so system information can + be added to the banners more easily. + +* Makefiles: + - Makefiles in subdirectories are created by configure. + - $(srcdir) (i.e., compiling in a different directory) is closer to working. + - Stamp files are not used at the top level, or for {tex,mf}/convert. + - New targets install-data and install-exec, to only install + architecture-(in)dependent files. + +* PROBLEMS.W2C has some notes on compiling and using these programs + under DOS, contributed by melvin@math.psu.edu. + +* The man pages have been significantly updated and improved by + beebe@math.utah.edu. + +* The original web files haven't changed. + +Release 4.893b: +* Include patches from Tim to web2c to turn off the verbose output, + unless -d is supplied to web2c. +* Change $(AR) in the MFwindow Makefile to `ar'. +* Try to get the base file from the program name in Metafont, as well in + TeX. Implication: mf.script and tex.script are no longer supplied, + since a link to plain.{base,fmt} named {mf,tex}.{base,fmt} suffices. + `make install' doesn't create these links, since they only need to be + done once. +* Move some stuff from site.h that should never be changed to a new + file, defaults.h. Add a new definition, SIGNAL_HANDLER_RETURN_TYPE, to + site.h, to get rid of the warnings in {tex,mf}/extra.c. +* Use a sed script, contributed by eggert@twinsun.com, instead of the + awk script, at the beginning of the pipeline. +* Fix an unsigned comparison problem in pltotf, that made cc produce + infinite ligature loops when converting trip.pl. +* Change threshold in Metafont, and f in tftopl, so broken C compilers + (like some versions of pcc) don't get confused. +* Port vftovp and vptovf. Move pktogf and pktype to fontutil. +* Allow more than 500 kern pairs in pltotf. +* Change the first parameter to {mf,extra}/extra.c to *filename from + filename[]. +* Use a better hack for the mutually recursive procedures in pltotf et al., + from Tor Lillqvist <tml@hemuli.atk.vtt.fi>. + +Release 2.993+1.9 = 4.893a: +Sebastian contributed the updates to ctex.ch, tftopl.ch, and pltotf.ch. +Karl did the cmf.ch update. + +Release 3.0: +Brings everything up to the new 8-bit versions. +Almost every file has changed at least somewhat, so I'm not going to +list all the changes. Here are some highlights: +* char is now 0..255 instead of 0..127 in *.defines. +* `packed' is no longer ignored as part of an identifier (e.g., `packed_trie'). +* new Makefiles to make it easier to do the trip/trap test, and with all + the support programs integrated. +* ctex.ch has a hack to get around trie_op_hash being an array with a + negative lower bound. +* pltotf.ch has a hack to get around mutually recursive routines. diff --git a/Master/texmf-dist/doc/web2c/web2c.html b/Master/texmf-dist/doc/web2c/web2c.html index 719e5679d72..a6f21871d30 100644 --- a/Master/texmf-dist/doc/web2c/web2c.html +++ b/Master/texmf-dist/doc/web2c/web2c.html @@ -1,12 +1,12 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<!DOCTYPE html> <html> -<!-- Created by GNU Texinfo 6.8, https://www.gnu.org/software/texinfo/ --> +<!-- Created by GNU Texinfo 7.0.2, https://www.gnu.org/software/texinfo/ --> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"> <!-- This file documents the installation and use of the programs in Web2c, an implementation of Donald Knuth's TeX system. -Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, +Copyright © 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007, 2008, 2009, 2010-2022 Karl Berry & Olaf Weber. Permission is granted to make and distribute verbatim copies of this @@ -38,21 +38,18 @@ except that this permission notice may be stated in a translation --> <link href="#Introduction" rel="next" title="Introduction"> <style type="text/css"> <!-- -a.copiable-anchor {visibility: hidden; text-decoration: none; line-height: 0em} -a.summary-letter {text-decoration: none} -blockquote.indentedblock {margin-right: 0em} -div.display {margin-left: 3.2em} +a.copiable-link {visibility: hidden; text-decoration: none; line-height: 0em} +a.summary-letter-printindex {text-decoration: none} div.example {margin-left: 3.2em} -kbd {font-style: oblique} -pre.display {font-family: inherit} -pre.format {font-family: inherit} -pre.menu-comment {font-family: serif} -pre.menu-preformatted {font-family: serif} -span.nolinebreak {white-space: nowrap} -span.roman {font-family: initial; font-weight: normal} -span.sansserif {font-family: sans-serif; font-weight: normal} -span:hover a.copiable-anchor {visibility: visible} -ul.no-bullet {list-style: none} +kbd.kbd {font-style: oblique} +span.r {font-family: initial; font-weight: normal; font-style: normal} +span:hover a.copiable-link {visibility: visible} +td.printindex-index-entry {vertical-align: top} +td.printindex-index-section {vertical-align: top} +th.entries-header-printindex {text-align:left} +th.sections-header-printindex {text-align:left} +ul.mark-bullet {list-style-type: disc} +ul.toc-numbered-mark {list-style: none} --> </style> @@ -60,7 +57,6 @@ ul.no-bullet {list-style: none} </head> <body lang="en"> -<h1 class="settitle" align="center">Web2c: A TeX implementation</h1> @@ -71,70 +67,70 @@ ul.no-bullet {list-style: none} -<div class="top" id="Top"> -<div class="header"> +<div class="top-level-extent" id="Top"> +<div class="nav-panel"> <p> Next: <a href="#Introduction" accesskey="n" rel="next">Introduction</a>, Up: <a href="http://tug.org/texinfohtml" accesskey="u" rel="up">(dir)</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Web2c"></span><h1 class="top">Web2c</h1> +<h1 class="top" id="Web2c">Web2c</h1> <p>This document describes how to install and use the programs in the Web2c implementation of the TeX system, especially for Unix systems. It -corresponds to Web2c version 2022, released in -January 2022. +corresponds to Web2c version 2023, released in +February 2022. </p> -<div class="Contents_element" id="SEC_Contents"> +<div class="element-contents" id="SEC_Contents"> <h2 class="contents-heading">Table of Contents</h2> <div class="contents"> -<ul class="no-bullet"> +<ul class="toc-numbered-mark"> <li><a id="toc-Introduction-1" href="#Introduction">1 Introduction</a></li> <li><a id="toc-Installation-1" href="#Installation">2 Installation</a> - <ul class="no-bullet"> - <li><a id="toc-configure-options-1" href="#configure-options">2.1 <code>configure</code> options</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-configure-options-1" href="#configure-options">2.1 <code class="code">configure</code> options</a></li> <li><a id="toc-Compile_002dtime-options-1" href="#Compile_002dtime-options">2.2 Compile-time options</a></li> <li><a id="toc-Additional-targets-1" href="#Additional-targets">2.3 Additional targets</a></li> <li><a id="toc-Trip_002c-trap_002c-and-mptrap_003a-Torture-tests" href="#Triptrap">2.4 Trip, trap, and mptrap: Torture tests</a></li> </ul></li> <li><a id="toc-Commonalities-1" href="#Commonalities">3 Commonalities</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Option-conventions-1" href="#Option-conventions">3.1 Option conventions</a></li> <li><a id="toc-Common-options-1" href="#Common-options">3.2 Common options</a></li> <li><a id="toc-Path-searching-1" href="#Path-searching">3.3 Path searching</a></li> <li><a id="toc-Output-file-location-1" href="#Output-file-location">3.4 Output file location</a></li> </ul></li> <li><a id="toc-Three-programs_003a-Metafont_002c-MetaPost_002c-and-TeX" href="#Three-programs">4 Three programs: Metafont, MetaPost, and TeX</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Runtime-options-1" href="#Runtime-options">4.1 Runtime options</a></li> <li><a id="toc-Initial-and-virgin-1" href="#Initial-and-virgin">4.2 Initial and virgin</a></li> <li><a id="toc-Memory-dumps-1" href="#Memory-dumps">4.3 Memory dumps</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Creating-memory-dumps-1" href="#Creating-memory-dumps">4.3.1 Creating memory dumps</a></li> <li><a id="toc-Determining-the-memory-dump-to-use-1" href="#Determining-the-memory-dump-to-use">4.3.2 Determining the memory dump to use</a></li> <li><a id="toc-Hardware-and-memory-dumps-1" href="#Hardware-and-memory-dumps">4.3.3 Hardware and memory dumps</a></li> </ul></li> <li><a id="toc-Editor-invocation-1" href="#Editor-invocation">4.4 Editor invocation</a></li> - <li><a id="toc-_005cinput-filenames-1" href="#g_t_005cinput-filenames">4.5 <code>\input</code> filenames</a> - <ul class="no-bullet"> - <li><a id="toc-_005cinput-quoted-filename_003a-_005cinput-_0022some-name_0022" href="#g_t_005cinput-quoted-filename">4.5.1 <code>\input</code> quoted filename: <code>\input "some name"</code></a></li> - <li><a id="toc-_005cinput-braced-filename_003a-_005cinput_007bsome-name_007d" href="#g_t_005cinput-braced-filename">4.5.2 <code>\input</code> braced filename: <code>\input{some name}</code></a></li> - <li><a id="toc-_005cinput-filename-caveats-1" href="#g_t_005cinput-filename-caveats">4.5.3 <code>\input</code> filename caveats</a></li> + <li><a id="toc-_005cinput-filenames-1" href="#g_t_005cinput-filenames">4.5 <code class="code">\input</code> filenames</a> + <ul class="toc-numbered-mark"> + <li><a id="toc-_005cinput-quoted-filename_003a-_005cinput-_0022some-name_0022" href="#g_t_005cinput-quoted-filename">4.5.1 <code class="code">\input</code> quoted filename: <code class="code">\input "some name"</code></a></li> + <li><a id="toc-_005cinput-braced-filename_003a-_005cinput_007bsome-name_007d" href="#g_t_005cinput-braced-filename">4.5.2 <code class="code">\input</code> braced filename: <code class="code">\input{some name}</code></a></li> + <li><a id="toc-_005cinput-filename-caveats-1" href="#g_t_005cinput-filename-caveats">4.5.3 <code class="code">\input</code> filename caveats</a></li> </ul></li> </ul></li> <li><a id="toc-TeX_003a-Typesetting" href="#TeX">5 TeX: Typesetting</a> - <ul class="no-bullet"> - <li><a id="toc-tex-invocation-1" href="#tex-invocation">5.1 <code>tex</code> invocation</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-tex-invocation-1" href="#tex-invocation">5.1 <code class="code">tex</code> invocation</a></li> <li><a id="toc-Initial-TeX-1" href="#Initial-TeX">5.2 Initial TeX</a></li> <li><a id="toc-Formats-1" href="#Formats">5.3 Formats</a></li> <li><a id="toc-Languages-and-hyphenation-1" href="#Languages-and-hyphenation">5.4 Languages and hyphenation</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-MLTeX_003a-Multi_002dlingual-TeX" href="#MLTeX">5.4.1 MLTeX: Multi-lingual TeX</a> - <ul class="no-bullet"> - <li><a id="toc-_005ccharsubdef_003a-Character-substitutions" href="#g_t_005ccharsubdef">5.4.1.1 <code>\charsubdef</code>: Character substitutions</a></li> - <li><a id="toc-_005ctracingcharsubdef_003a-Substitution-diagnostics" href="#g_t_005ctracingcharsubdef">5.4.1.2 <code>\tracingcharsubdef</code>: Substitution diagnostics</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-_005ccharsubdef_003a-Character-substitutions" href="#g_t_005ccharsubdef">5.4.1.1 <code class="code">\charsubdef</code>: Character substitutions</a></li> + <li><a id="toc-_005ctracingcharsubdef_003a-Substitution-diagnostics" href="#g_t_005ctracingcharsubdef">5.4.1.2 <code class="code">\tracingcharsubdef</code>: Substitution diagnostics</a></li> </ul></li> <li><a id="toc-TCX-files_003a-Character-translations" href="#TCX-files">5.4.2 TCX files: Character translations</a></li> <li><a id="toc-Patgen_003a-Creating-hyphenation-patterns" href="#patgen-invocation">5.4.3 Patgen: Creating hyphenation patterns</a></li> @@ -144,8 +140,8 @@ January 2022. <li><a id="toc-Extended-TeX-engines" href="#TeX-extensions">5.7 Extended TeX engines</a></li> </ul></li> <li><a id="toc-Metafont_003a-Creating-typeface-families" href="#Metafont">6 Metafont: Creating typeface families</a> - <ul class="no-bullet"> - <li><a id="toc-mf-invocation-1" href="#mf-invocation">6.1 <code>mf</code> invocation</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-mf-invocation-1" href="#mf-invocation">6.1 <code class="code">mf</code> invocation</a></li> <li><a id="toc-Initial-Metafont-1" href="#Initial-Metafont">6.2 Initial Metafont</a></li> <li><a id="toc-Modes_003a-Device-definitions-for-Metafont" href="#Modes">6.3 Modes: Device definitions for Metafont</a></li> <li><a id="toc-Online-Metafont-graphics-1" href="#Online-Metafont-graphics">6.4 Online Metafont graphics</a></li> @@ -153,32 +149,32 @@ January 2022. <li><a id="toc-MFT_003a-Prettyprinting-Metafont-source" href="#mft-invocation">6.6 MFT: Prettyprinting Metafont source</a></li> </ul></li> <li><a id="toc-MetaPost_003a-Generating-PostScript" href="#MetaPost">7 MetaPost: Generating PostScript</a> - <ul class="no-bullet"> - <li><a id="toc-mpost-invocation-1" href="#mpost-invocation">7.1 <code>mpost</code> invocation</a></li> + <ul class="toc-numbered-mark"> + <li><a id="toc-mpost-invocation-1" href="#mpost-invocation">7.1 <code class="code">mpost</code> invocation</a></li> <li><a id="toc-Initial-MetaPost-1" href="#Initial-MetaPost">7.2 Initial MetaPost</a></li> <li><a id="toc-DVItoMP_003a-DVI-to-MPX-conversion" href="#dvitomp-invocation">7.3 DVItoMP: DVI to MPX conversion</a></li> </ul></li> <li><a id="toc-BibTeX_003a-Bibliographies" href="#BibTeX">8 BibTeX: Bibliographies</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-BibTeX-invocation" href="#bibtex-invocation">8.1 BibTeX invocation</a></li> <li><a id="toc-Basic-BibTeX-style-files-1" href="#Basic-BibTeX-style-files">8.2 Basic BibTeX style files</a></li> </ul></li> <li><a id="toc-WEB_003a-Literate-programming" href="#WEB">9 WEB: Literate programming</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Tangle_003a-Translate-WEB-to-Pascal" href="#tangle-invocation">9.1 Tangle: Translate WEB to Pascal</a></li> <li><a id="toc-Weave_003a-Translate-WEB-to-TeX" href="#weave-invocation">9.2 Weave: Translate WEB to TeX</a></li> <li><a id="toc-Pooltype_003a-Display-WEB-pool-files" href="#pooltype-invocation">9.3 Pooltype: Display WEB pool files</a></li> </ul></li> <li><a id="toc-DVI-utilities-1" href="#DVI-utilities">10 DVI utilities</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-DVIcopy_003a-Canonicalize-virtual-font-references" href="#dvicopy-invocation">10.1 DVIcopy: Canonicalize virtual font references</a></li> <li><a id="toc-DVItype_003a-Plain-text-transliteration-of-DVI-files" href="#dvitype-invocation">10.2 DVItype: Plain text transliteration of DVI files</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-DVItype-output-example" href="#dvitype-output-example">10.2.1 DVItype output example</a></li> </ul></li> </ul></li> <li><a id="toc-Font-utilities-1" href="#Font-utilities">11 Font utilities</a> - <ul class="no-bullet"> + <ul class="toc-numbered-mark"> <li><a id="toc-Font-file-formats-1" href="#Font-file-formats">11.1 Font file formats</a></li> <li><a id="toc-GFtoPK_003a-Generic-to-packed-font-conversion" href="#gftopk-invocation">11.2 GFtoPK: Generic to packed font conversion</a></li> <li><a id="toc-PKtoGF_003a-Packed-to-generic-font-conversion" href="#pktogf-invocation">11.3 PKtoGF: Packed to generic font conversion</a></li> @@ -197,45 +193,45 @@ January 2022. </div> </div> <hr> -<div class="chapter" id="Introduction"> -<div class="header"> +<div class="chapter-level-extent" id="Introduction"> +<div class="nav-panel"> <p> Next: <a href="#Installation" accesskey="n" rel="next">Installation</a>, Previous: <a href="#Top" accesskey="p" rel="prev">Web2c</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Introduction-1"></span><h2 class="chapter">1 Introduction</h2> +<h2 class="chapter" id="Introduction-1">1 Introduction</h2> -<span id="index-introduction"></span> +<a class="index-entry-id" id="index-introduction"></a> -<p>This manual corresponds to version 2022 of Web2c, released in -January 2022. +<p>This manual corresponds to version 2023 of Web2c, released in +February 2022. </p> -<span id="index-Knuth_002c-Donald-E_002e"></span> -<span id="index-TeX_002c-Web2c-implementation-of"></span> -<span id="index-Hobby_002c-John"></span> -<span id="index-Breitenlohner_002c-Peter"></span> -<p><em>Web2c</em> (also spelled Web2C) is the name of a TeX +<a class="index-entry-id" id="index-Knuth_002c-Donald-E_002e"></a> +<a class="index-entry-id" id="index-TeX_002c-Web2c-implementation-of"></a> +<a class="index-entry-id" id="index-Hobby_002c-John"></a> +<a class="index-entry-id" id="index-Breitenlohner_002c-Peter"></a> +<p><em class="dfn">Web2c</em> (also spelled Web2C) is the name of a TeX implementation, originally for Unix, but now also running under -Windows and other operating systems. By <em>TeX implementation</em>, +Windows and other operating systems. By <em class="dfn">TeX implementation</em>, we mean all of the standard programs developed by the Stanford TeX project led by Donald E. Knuth: Metafont, DVItype, GFtoDVI, BibTeX, Tangle, etc., as well as TeX itself. Other programs are also included: DVIcopy, written by Peter Breitenlohner, MetaPost and its utilities (derived from Metafont), by John Hobby, and many more. </p> -<span id="index-translation-from-WEB-to-C"></span> -<span id="index-strategy_002c-overall"></span> +<a class="index-entry-id" id="index-translation-from-WEB-to-C"></a> +<a class="index-entry-id" id="index-strategy_002c-overall"></a> <p>General strategy: Web2c works, as its name implies, by translating the WEB source in which TeX is written into C source code. Its output is not self-contained, however; it makes extensive use of many macros and -functions in a library (the <samp>web2c/lib</samp> directory in the sources). +functions in a library (the <samp class="file">web2c/lib</samp> directory in the sources). Therefore, it will not work without change on an arbitrary WEB program. </p> -<span id="index-licensing-terms"></span> -<span id="index-freedom-of-Web2c"></span> -<span id="index-ice-cream"></span> +<a class="index-entry-id" id="index-licensing-terms"></a> +<a class="index-entry-id" id="index-freedom-of-Web2c"></a> +<a class="index-entry-id" id="index-ice-cream"></a> <p>Availability: All of Web2c is freely available—“free” both in the sense of no cost (free ice cream) and of having the source code to -modify and/or redistribute (free speech). See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>, for the practical details of how to obtain Web2c. +modify and/or redistribute (free speech). See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite class="cite">Kpathsea</cite>, for the practical details of how to obtain Web2c. </p> <p>Different parts of the Web2c distribution have different licensing terms, however, reflecting the different circumstances of their @@ -244,20 +240,20 @@ practical implication for redistributors of Web2c is that most of the executables are covered by the GNU General Public License or GNU Lesser General Public License, and therefore anyone who gets a binary distribution must also be able to get the sources, as explained by the -terms of the GPL (<a href="https://gnu.org/licenses/">https://gnu.org/licenses/</a>). The GPL covers the -Web2c executables, including <code>tex</code>, because the Free Software +terms of the GPL (<a class="url" href="https://gnu.org/licenses/">https://gnu.org/licenses/</a>). The GPL covers the +Web2c executables, including <code class="code">tex</code>, because the Free Software Foundation sponsored the initial development of the Kpathsea library that Web2c uses. The basic source files from Stanford, however, have their own copyright terms or are in the public domain, and are not covered by the GPL. </p> -<span id="index-history"></span> -<span id="index-Rokicki_002c-Tomas"></span> -<span id="index-Trickey_002c-Howard"></span> -<span id="index-Curtis_002c-Pavel"></span> -<span id="index-Morgan_002c-Tim"></span> -<span id="index-Berry_002c-Karl"></span> -<span id="index-Weber_002c-Olaf"></span> +<a class="index-entry-id" id="index-history"></a> +<a class="index-entry-id" id="index-Rokicki_002c-Tomas"></a> +<a class="index-entry-id" id="index-Trickey_002c-Howard"></a> +<a class="index-entry-id" id="index-Curtis_002c-Pavel"></a> +<a class="index-entry-id" id="index-Morgan_002c-Tim"></a> +<a class="index-entry-id" id="index-Berry_002c-Karl"></a> +<a class="index-entry-id" id="index-Weber_002c-Olaf"></a> <p>History: Tomas Rokicki originated the TeX-to-C system in 1987, working from the first change files for TeX under Unix, which were done primarily by Howard Trickey and Pavel Curtis. Tim Morgan then @@ -268,20 +264,20 @@ started using the shorter name Web2c. In 1997, Olaf Weber took over, and then in 2006, Karl started taking care of it again. No significant development or changes have been needed for many years, though dozens of other people have contributed in many ways; their -names are listed in the <samp>ChangeLog</samp> files. +names are listed in the <samp class="file">ChangeLog</samp> files. </p> -<span id="index-teTeX-distribution"></span> +<a class="index-entry-id" id="index-teTeX-distribution"></a> <p>Originally, Web2c was distributed as its own package, alongside the original web programs from Stanford and other components. It was also the basis for the teTeX distribution (now discontinued). Around 2004, the packaging focus shifted entirely to the TeX Live -distribution (<a href="https://tug.org/texlive/">https://tug.org/texlive/</a>), though the same Web2c +distribution (<a class="url" href="https://tug.org/texlive/">https://tug.org/texlive/</a>), though the same Web2c is at the heart of the release. </p> -<span id="index-acknowledgements"></span> -<span id="index-Martin_002c-Rick"></span> -<span id="index-Morris_002c-Bob"></span> -<span id="index-Stallman_002c-Richard"></span> +<a class="index-entry-id" id="index-acknowledgements"></a> +<a class="index-entry-id" id="index-Martin_002c-Rick"></a> +<a class="index-entry-id" id="index-Morris_002c-Bob"></a> +<a class="index-entry-id" id="index-Stallman_002c-Richard"></a> <p>Other acknowledgements by Karl: The University of Massachusetts at Boston (particularly Rick Martin and Bob Morris) provided computers and ftp access to me for many years. Richard Stallman at the Free Software @@ -290,256 +286,256 @@ Foundation employed me while I wrote the original path searching library without which I cannot imagine developing Web2c.) And, of course, TeX would not exist in the first place without Donald E. Knuth. </p> -<span id="index-reading_002c-additional"></span> -<p>Further reading: See <a href="#References">References</a>. +<a class="index-entry-id" id="index-reading_002c-additional"></a> +<p>Further reading: See <a class="xref" href="#References">References</a>. </p> <hr> </div> -<div class="chapter" id="Installation"> -<div class="header"> +<div class="chapter-level-extent" id="Installation"> +<div class="nav-panel"> <p> Next: <a href="#Commonalities" accesskey="n" rel="next">Commonalities</a>, Previous: <a href="#Introduction" accesskey="p" rel="prev">Introduction</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Installation-1"></span><h2 class="chapter">2 Installation</h2> +<h2 class="chapter" id="Installation-1">2 Installation</h2> -<span id="index-configuration"></span> -<span id="index-compilation"></span> -<span id="index-installation"></span> +<a class="index-entry-id" id="index-configuration"></a> +<a class="index-entry-id" id="index-compilation"></a> +<a class="index-entry-id" id="index-installation"></a> -<p>(A copy of this chapter is in the distribution file <samp>web2c/INSTALL</samp>.) +<p>(A copy of this chapter is in the distribution file <samp class="file">web2c/INSTALL</samp>.) </p> <p>Installing Web2c is mostly the same as installing any other Kpathsea-using program. Therefore, for the basic steps involved, -see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite>Kpathsea</cite>. (A copy is in the file -<samp>kpathsea/INSTALL</samp>.) +see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite class="cite">Kpathsea</cite>. (A copy is in the file +<samp class="file">kpathsea/INSTALL</samp>.) </p> <p>One peculiarity to Web2c is that the source distribution comes in two -files: <samp>web.tar.gz</samp> and <samp>web2c.tar.gz</samp>. You must retrieve and +files: <samp class="file">web.tar.gz</samp> and <samp class="file">web2c.tar.gz</samp>. You must retrieve and unpack them both. (We have two because the former archive contains the very large and seldom-changing original WEB source files.) -See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>. +See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite class="cite">Kpathsea</cite>. </p> -<span id="index-mpost_002c-reason-for-name-change"></span> +<a class="index-entry-id" id="index-mpost_002c-reason-for-name-change"></a> <p>Another peculiarity is the MetaPost program. Although it has been -installed previously as <code>mp</code>, as of Web2c 7.0 the installed name is -now <code>mpost</code>, to avoid conflict with the <code>mp</code> program that does +installed previously as <code class="code">mp</code>, as of Web2c 7.0 the installed name is +now <code class="code">mpost</code>, to avoid conflict with the <code class="code">mp</code> program that does prettyprinting. This approach was recommended by the MetaPost author, John Hobby. If you as the TeX administrator wish to make it available under its shorter name as well, you will have to set up a link or some such yourself. And of course individual users can do the same. </p> <p>For solutions to common installation problems and information on how to -report a bug, see the file <samp>kpathsea/BUGS</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite>Kpathsea</cite>). See also the Web2c home page, -<a href="http://www.tug.org/web2c">http://www.tug.org/web2c</a>. +report a bug, see the file <samp class="file">kpathsea/BUGS</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Bugs">Bugs</a> in <cite class="cite">Kpathsea</cite>). See also the Web2c home page, +<a class="url" href="http://www.tug.org/web2c">http://www.tug.org/web2c</a>. </p> <p>Points worth repeating: </p> -<ul> -<li> <span id="index-directory-structure"></span> -<span id="index-basic-fonts-and-macros"></span> -<span id="index-fonts_002c-basic"></span> -<span id="index-macros_002c-basic"></span> +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-directory-structure"></a> +<a class="index-entry-id" id="index-basic-fonts-and-macros"></a> +<a class="index-entry-id" id="index-fonts_002c-basic"></a> +<a class="index-entry-id" id="index-macros_002c-basic"></a> Before starting the standard compilation and installation you must install the basic fonts, macros, and other library files. -See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite>Kpathsea</cite>. +See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Installation">Installation</a> in <cite class="cite">Kpathsea</cite>. -</li><li> If you do not wish to use the standard file locations, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Changing-search-paths">Changing -search paths</a> in <cite>Kpathsea</cite>. +</li><li>If you do not wish to use the standard file locations, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Changing-search-paths">Changing +search paths</a> in <cite class="cite">Kpathsea</cite>. -</li><li> Some Web2c features are enabled or disabled at <code>configure</code> time, +</li><li>Some Web2c features are enabled or disabled at <code class="code">configure</code> time, as described in the first section below. </li></ul> -<ul class="section-toc"> -<li><a href="#configure-options" accesskey="1"><code>configure</code> options</a></li> +<ul class="mini-toc"> +<li><a href="#configure-options" accesskey="1"><code class="code">configure</code> options</a></li> <li><a href="#Compile_002dtime-options" accesskey="2">Compile-time options</a></li> <li><a href="#Additional-targets" accesskey="3">Additional targets</a></li> <li><a href="#Triptrap" accesskey="4">Trip, trap, and mptrap: Torture tests</a></li> </ul> <hr> -<div class="section" id="configure-options"> -<div class="header"> +<div class="section-level-extent" id="configure-options"> +<div class="nav-panel"> <p> Next: <a href="#Compile_002dtime-options" accesskey="n" rel="next">Compile-time options</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="configure-options-1"></span><h3 class="section">2.1 <code>configure</code> options</h3> +<h3 class="section" id="configure-options-1">2.1 <code class="code">configure</code> options</h3> -<span id="index-configuration_002c-compile_002dtime"></span> -<span id="index-compile_002dtime-options"></span> -<span id="index-configure-_002d_002dwith_002f_002d_002denable-options"></span> -<p>This section gives pointers to descriptions of the ‘<samp>--with</samp>’ and -‘<samp>--enable</samp>’ <code>configure</code> arguments that Web2c accepts. Some are +<a class="index-entry-id" id="index-configuration_002c-compile_002dtime"></a> +<a class="index-entry-id" id="index-compile_002dtime-options"></a> +<a class="index-entry-id" id="index-configure-_002d_002dwith_002f_002d_002denable-options"></a> +<p>This section gives pointers to descriptions of the ‘<samp class="samp">--with</samp>’ and +‘<samp class="samp">--enable</samp>’ <code class="code">configure</code> arguments that Web2c accepts. Some are specific to Web2c, others are generic to all Kpathsea-using programs. </p> -<p>For a list of all the options <code>configure</code> accepts, run -‘<samp>configure --help</samp>’. The generic options are listed first, and the +<p>For a list of all the options <code class="code">configure</code> accepts, run +‘<samp class="samp">configure --help</samp>’. The generic options are listed first, and the package-specific options come last. </p> <p>For a description of the generic options (which mainly allow you to -specify installation directories) and basic <code>configure</code> usage, -see <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Invoking-configure">Running <code>configure</code> scripts</a> in <cite>Autoconf</cite>, a copy is in the file <samp>kpathsea/CONFIGURE</samp>. +specify installation directories) and basic <code class="code">configure</code> usage, +see <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Invoking-configure">Running <code class="code">configure</code> scripts</a> in <cite class="cite">Autoconf</cite>, a copy is in the file <samp class="file">kpathsea/CONFIGURE</samp>. </p> -<dl compact="compact"> -<dt><span>‘<samp>--disable-dump-share</samp>’</span></dt> +<dl class="table"> +<dt>‘<samp class="samp">--disable-dump-share</samp>’</dt> <dd><p>Do not make fmt/base/mem files sharable across different endian -architectures. See <a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>. +architectures. See <a class="xref" href="#Hardware-and-memory-dumps">Hardware and memory dumps</a>. </p> </dd> -<dt><span>‘<samp>--without-maketexmf-default</samp>’</span></dt> -<dt><span>‘<samp>--without-maketexpk-default</samp>’</span></dt> -<dt><span>‘<samp>--without-maketextfm-default</samp>’</span></dt> -<dt><span>‘<samp>--with-maketextex-default</samp>’</span></dt> +<dt>‘<samp class="samp">--without-maketexmf-default</samp>’</dt> +<dt>‘<samp class="samp">--without-maketexpk-default</samp>’</dt> +<dt>‘<samp class="samp">--without-maketextfm-default</samp>’</dt> +<dt>‘<samp class="samp">--with-maketextex-default</samp>’</dt> <dd><p>Enable or disable the dynamic generation programs. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#mktex-configuration">mktex -configuration</a> in <cite>Kpathsea</cite>. The defaults are the inverse of -the options, i.e., everything is enabled except <code>mktextex</code>. +configuration</a> in <cite class="cite">Kpathsea</cite>. The defaults are the inverse of +the options, i.e., everything is enabled except <code class="code">mktextex</code>. </p> </dd> -<dt><span>‘<samp>--enable-shared</samp>’</span></dt> -<dd><p>Build Kpathsea as a shared library. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Shared-library">Shared library</a> in <cite>Kpathsea</cite>. +<dt>‘<samp class="samp">--enable-shared</samp>’</dt> +<dd><p>Build Kpathsea as a shared library. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Shared-library">Shared library</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> -<dt><span>‘<samp>--with-editor=<var>cmd</var></samp>’</span></dt> -<dd><p>Change the default editor invoked by the ‘<samp>e</samp>’ interactive command. -See <a href="#Editor-invocation">Editor invocation</a>. +<dt>‘<samp class="samp">--with-editor=<var class="var">cmd</var></samp>’</dt> +<dd><p>Change the default editor invoked by the ‘<samp class="samp">e</samp>’ interactive command. +See <a class="xref" href="#Editor-invocation">Editor invocation</a>. </p> </dd> -<dt><span>‘<samp>--with-epsfwin</samp>’</span></dt> -<dt><span>‘<samp>--with-hp2627win</samp>’</span></dt> -<dt><span>‘<samp>--with-mftalkwin</samp>’</span></dt> -<dt><span>‘<samp>--with-nextwin</samp>’</span></dt> -<dt><span>‘<samp>--with-regiswin</samp>’</span></dt> -<dt><span>‘<samp>--with-suntoolswin</samp>’</span></dt> -<dt><span>‘<samp>--with-tektronixwin</samp>’</span></dt> -<dt><span>‘<samp>--with-unitermwin</samp>’</span></dt> -<dt><span>‘<samp>--with-x</samp>’</span></dt> -<dt><span>‘<samp>--with-x-toolkit=KIT</samp>’</span></dt> -<dt><span>‘<samp>--with-x11win</samp>’</span></dt> -<dt><span>‘<samp>--with-x11</samp>’</span></dt> +<dt>‘<samp class="samp">--with-epsfwin</samp>’</dt> +<dt>‘<samp class="samp">--with-hp2627win</samp>’</dt> +<dt>‘<samp class="samp">--with-mftalkwin</samp>’</dt> +<dt>‘<samp class="samp">--with-nextwin</samp>’</dt> +<dt>‘<samp class="samp">--with-regiswin</samp>’</dt> +<dt>‘<samp class="samp">--with-suntoolswin</samp>’</dt> +<dt>‘<samp class="samp">--with-tektronixwin</samp>’</dt> +<dt>‘<samp class="samp">--with-unitermwin</samp>’</dt> +<dt>‘<samp class="samp">--with-x</samp>’</dt> +<dt>‘<samp class="samp">--with-x-toolkit=KIT</samp>’</dt> +<dt>‘<samp class="samp">--with-x11win</samp>’</dt> +<dt>‘<samp class="samp">--with-x11</samp>’</dt> <dd><p>Define Metafont graphics support; by default, no graphics support is -enabled. See <a href="#Online-Metafont-graphics">Online Metafont graphics</a>. +enabled. See <a class="xref" href="#Online-Metafont-graphics">Online Metafont graphics</a>. </p> </dd> -<dt><span>‘<samp>--x-includes=<var>dir</var></samp>’</span></dt> -<dt><span>‘<samp>--x-libraries=<var>dir</var></samp>’</span></dt> +<dt>‘<samp class="samp">--x-includes=<var class="var">dir</var></samp>’</dt> +<dt>‘<samp class="samp">--x-libraries=<var class="var">dir</var></samp>’</dt> <dd><p>Define the locations of the X11 include files and libraries; by default, -<code>configure</code> does its best to guess). See <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Optional-Features">Optional Features</a> in <cite>Autoconf</cite>. A copy is in <samp>kpathsea/CONFIGURE</samp>. +<code class="code">configure</code> does its best to guess). See <a data-manual="autoconf" href="https://www.gnu.org/software/autoconf/manual/autoconf.html#Optional-Features">Optional Features</a> in <cite class="cite">Autoconf</cite>. A copy is in <samp class="file">kpathsea/CONFIGURE</samp>. </p></dd> </dl> <hr> </div> -<div class="section" id="Compile_002dtime-options"> -<div class="header"> +<div class="section-level-extent" id="Compile_002dtime-options"> +<div class="nav-panel"> <p> -Next: <a href="#Additional-targets" accesskey="n" rel="next">Additional targets</a>, Previous: <a href="#configure-options" accesskey="p" rel="prev"><code>configure</code> options</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Additional-targets" accesskey="n" rel="next">Additional targets</a>, Previous: <a href="#configure-options" accesskey="p" rel="prev"><code class="code">configure</code> options</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Compile_002dtime-options-1"></span><h3 class="section">2.2 Compile-time options</h3> +<h3 class="section" id="Compile_002dtime-options-1">2.2 Compile-time options</h3> -<span id="index-compile_002dtime-options-1"></span> -<span id="index-_0023define-options"></span> -<span id="index-_002dD-compiler-options"></span> -<p>In addition to the <code>configure</code> options listed in the previous +<a class="index-entry-id" id="index-compile_002dtime-options-1"></a> +<a class="index-entry-id" id="index-_0023define-options"></a> +<a class="index-entry-id" id="index-_002dD-compiler-options"></a> +<p>In addition to the <code class="code">configure</code> options listed in the previous section, there are a few things that can be affected at compile-time -with C definitions, rather than with <code>configure</code>. Using any of +with C definitions, rather than with <code class="code">configure</code>. Using any of these is unusual. </p> -<p>To specify extra compiler flags (‘<samp>-D<var>name</var></samp>’ in this case), the +<p>To specify extra compiler flags (‘<samp class="samp">-D<var class="var">name</var></samp>’ in this case), the simplest thing to do is: </p><div class="example"> -<pre class="example">make XCFLAGS="<var>ccoptions</var>" +<pre class="example-preformatted">make XCFLAGS="<var class="var">ccoptions</var>" </pre></div> -<p>You can also set the <code>CFLAGS</code> environment variable before -running <code>configure</code>. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#configure-environment">configure environment</a> in <cite>Kpathsea</cite>. +<p>You can also set the <code class="code">CFLAGS</code> environment variable before +running <code class="code">configure</code>. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#configure-environment">configure environment</a> in <cite class="cite">Kpathsea</cite>. </p> <p>Anyway, here are the possibilities: </p> -<dl compact="compact"> -<dt id='index-FIXPT'><span>‘<samp>-DFIXPT</samp>’<a href='#index-FIXPT' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-DNO_MF_ASM</samp>’</span></dt> -<dd><span id="index-fixed_002dpoint-arithmetic"></span> -<span id="index-floating_002dpoint-arithmetic"></span> -<span id="index-assembly-language-routines"></span> -<span id="index-fraction-routines"></span> +<dl class="table"> +<dt id='index-FIXPT'><span>‘<samp class="samp">-DFIXPT</samp>’<a class="copiable-link" href='#index-FIXPT'> ¶</a></span></dt> +<dt>‘<samp class="samp">-DNO_MF_ASM</samp>’</dt> +<dd><a class="index-entry-id" id="index-fixed_002dpoint-arithmetic"></a> +<a class="index-entry-id" id="index-floating_002dpoint-arithmetic"></a> +<a class="index-entry-id" id="index-assembly-language-routines"></a> +<a class="index-entry-id" id="index-fraction-routines"></a> <p>Use the original WEB fixed-point routines for Metafont and MetaPost arithmetic calculations regarding fractions. By default, assembly-language routines are used on x86 hardware with GNU C (unless -‘<samp>NO_MF_ASM</samp>’ is defined), and floating-point routines are used +‘<samp class="samp">NO_MF_ASM</samp>’ is defined), and floating-point routines are used otherwise. </p> </dd> -<dt id='index-IPC_005fDEBUG'><span>‘<samp>-DIPC_DEBUG</samp>’<a href='#index-IPC_005fDEBUG' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Report on various interprocess communication activities. See <a href="#IPC-and-TeX">IPC and TeX</a>. +<dt id='index-IPC_005fDEBUG'><span>‘<samp class="samp">-DIPC_DEBUG</samp>’<a class="copiable-link" href='#index-IPC_005fDEBUG'> ¶</a></span></dt> +<dd><p>Report on various interprocess communication activities. See <a class="xref" href="#IPC-and-TeX">IPC and TeX</a>. </p></dd> </dl> <hr> </div> -<div class="section" id="Additional-targets"> -<div class="header"> +<div class="section-level-extent" id="Additional-targets"> +<div class="nav-panel"> <p> Next: <a href="#Triptrap" accesskey="n" rel="next">Trip, trap, and mptrap: Torture tests</a>, Previous: <a href="#Compile_002dtime-options" accesskey="p" rel="prev">Compile-time options</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Additional-targets-1"></span><h3 class="section">2.3 Additional targets</h3> +<h3 class="section" id="Additional-targets-1">2.3 Additional targets</h3> -<span id="index-additional-Make-targets"></span> -<span id="index-targets_002c-additional-Make"></span> -<span id="index-Make-targets_002c-additional"></span> +<a class="index-entry-id" id="index-additional-Make-targets"></a> +<a class="index-entry-id" id="index-targets_002c-additional-Make"></a> +<a class="index-entry-id" id="index-Make-targets_002c-additional"></a> <p>Web2c has several Make targets besides the standard ones. You can invoke these either in the top level directory of the source distribution (the -one containing <samp>kpathsea/</samp> and <samp>web2c/</samp>), or in the -<samp>web2c/</samp> directory. +one containing <samp class="file">kpathsea/</samp> and <samp class="file">web2c/</samp>), or in the +<samp class="file">web2c/</samp> directory. </p> -<dl compact="compact"> -<dt id='index-c_002dsources-Makefile-target'><span>‘<samp>c-sources</samp>’<a href='#index-c_002dsources-Makefile-target' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-non_002dUnix-system_002c-compiling-on"></span> +<dl class="table"> +<dt id='index-c_002dsources-Makefile-target'><span>‘<samp class="samp">c-sources</samp>’<a class="copiable-link" href='#index-c_002dsources-Makefile-target'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-non_002dUnix-system_002c-compiling-on"></a> <p>Make only the C files, translated from the Web sources, presumably because you want to take them to a non-Unix machine. </p> </dd> -<dt id='index-formats-Make-target'><span>‘<samp>formats</samp>’<a href='#index-formats-Make-target' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>install-formats</samp>’</span></dt> -<dd><span id="index-install_002dformats-Make-target"></span> -<p>Make or install all the memory dumps (see <a href="#Memory-dumps">Memory dumps</a>). By -default, the standard plain formats plus <samp>latex.fmt</samp> are made. You -can add other formats by redefining the <code>fmts</code>, <code>bases</code>, and -<code>mems</code> variables. See the top of <samp>web2c/Makefile</samp> for the +<dt id='index-formats-Make-target'><span>‘<samp class="samp">formats</samp>’<a class="copiable-link" href='#index-formats-Make-target'> ¶</a></span></dt> +<dt>‘<samp class="samp">install-formats</samp>’</dt> +<dd><a class="index-entry-id" id="index-install_002dformats-Make-target"></a> +<p>Make or install all the memory dumps (see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). By +default, the standard plain formats plus <samp class="file">latex.fmt</samp> are made. You +can add other formats by redefining the <code class="code">fmts</code>, <code class="code">bases</code>, and +<code class="code">mems</code> variables. See the top of <samp class="file">web2c/Makefile</samp> for the possibilities. </p> </dd> -<dt id='index-fmts-Make-target'><span>‘<samp>fmts</samp>’<a href='#index-fmts-Make-target' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>install-fmts</samp>’</span></dt> -<dd><span id="index-install_002dfmts-Make-target"></span> -<p>Make or install the TeX <samp>.fmt</samp> files. See <a href="#Initial-TeX">Initial TeX</a>. +<dt id='index-fmts-Make-target'><span>‘<samp class="samp">fmts</samp>’<a class="copiable-link" href='#index-fmts-Make-target'> ¶</a></span></dt> +<dt>‘<samp class="samp">install-fmts</samp>’</dt> +<dd><a class="index-entry-id" id="index-install_002dfmts-Make-target"></a> +<p>Make or install the TeX <samp class="file">.fmt</samp> files. See <a class="xref" href="#Initial-TeX">Initial TeX</a>. </p> </dd> -<dt id='index-bases-Make-target'><span>‘<samp>bases</samp>’<a href='#index-bases-Make-target' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>install-bases</samp>’</span></dt> -<dd><span id="index-install_002dbases-Make-target"></span> +<dt id='index-bases-Make-target'><span>‘<samp class="samp">bases</samp>’<a class="copiable-link" href='#index-bases-Make-target'> ¶</a></span></dt> +<dt>‘<samp class="samp">install-bases</samp>’</dt> +<dd><a class="index-entry-id" id="index-install_002dbases-Make-target"></a> -<p>Make or install the Metafont <samp>.base</samp> files. See <a href="#Initial-Metafont">Initial Metafont</a>. +<p>Make or install the Metafont <samp class="file">.base</samp> files. See <a class="xref" href="#Initial-Metafont">Initial Metafont</a>. </p> </dd> -<dt id='index-mems-Make-target'><span>‘<samp>mems</samp>’<a href='#index-mems-Make-target' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>install-mems</samp>’</span></dt> -<dd><span id="index-install_002dmems-Make-target"></span> -<p>Make or install the MetaPost <samp>.mem</samp> files. See <a href="#Initial-MetaPost">Initial MetaPost</a>. +<dt id='index-mems-Make-target'><span>‘<samp class="samp">mems</samp>’<a class="copiable-link" href='#index-mems-Make-target'> ¶</a></span></dt> +<dt>‘<samp class="samp">install-mems</samp>’</dt> +<dd><a class="index-entry-id" id="index-install_002dmems-Make-target"></a> +<p>Make or install the MetaPost <samp class="file">.mem</samp> files. See <a class="xref" href="#Initial-MetaPost">Initial MetaPost</a>. </p> </dd> -<dt id='index-triptrap-Make-target'><span>‘<samp>triptrap</samp>’<a href='#index-triptrap-Make-target' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>trip</samp>’</span></dt> -<dt><span>‘<samp>trap</samp>’</span></dt> -<dt><span>‘<samp>mptrap</samp>’</span></dt> -<dd><span id="index-trip-Make-target"></span> -<span id="index-trap-Make-target"></span> -<span id="index-mptrap-Make-target"></span> +<dt id='index-triptrap-Make-target'><span>‘<samp class="samp">triptrap</samp>’<a class="copiable-link" href='#index-triptrap-Make-target'> ¶</a></span></dt> +<dt>‘<samp class="samp">trip</samp>’</dt> +<dt>‘<samp class="samp">trap</samp>’</dt> +<dt>‘<samp class="samp">mptrap</samp>’</dt> +<dd><a class="index-entry-id" id="index-trip-Make-target"></a> +<a class="index-entry-id" id="index-trap-Make-target"></a> +<a class="index-entry-id" id="index-mptrap-Make-target"></a> <p>To run the torture tests for TeX, Metafont, and MetaPost (respectively). See the next section. </p> @@ -549,118 +545,118 @@ possibilities. <hr> </div> -<div class="section" id="Triptrap"> -<div class="header"> +<div class="section-level-extent" id="Triptrap"> +<div class="nav-panel"> <p> Previous: <a href="#Additional-targets" accesskey="p" rel="prev">Additional targets</a>, Up: <a href="#Installation" accesskey="u" rel="up">Installation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Trip_002c-trap_002c-and-mptrap_003a-Torture-tests"></span><h3 class="section">2.4 Trip, trap, and mptrap: Torture tests</h3> +<h3 class="section" id="Trip_002c-trap_002c-and-mptrap_003a-Torture-tests">2.4 Trip, trap, and mptrap: Torture tests</h3> -<span id="index-Gruff_002c-Billy-Goat"></span> -<span id="index-trip-test"></span> -<span id="index-trap-test"></span> -<span id="index-mptrap-test"></span> -<span id="index-torture-tests"></span> +<a class="index-entry-id" id="index-Gruff_002c-Billy-Goat"></a> +<a class="index-entry-id" id="index-trip-test"></a> +<a class="index-entry-id" id="index-trap-test"></a> +<a class="index-entry-id" id="index-mptrap-test"></a> +<a class="index-entry-id" id="index-torture-tests"></a> -<span id="index-tripman_002etex"></span> -<span id="index-trapman_002etex"></span> -<span id="index-mptrap_002ereadme"></span> +<a class="index-entry-id" id="index-tripman_002etex"></a> +<a class="index-entry-id" id="index-trapman_002etex"></a> +<a class="index-entry-id" id="index-mptrap_002ereadme"></a> <p>To validate your TeX, Metafont, and MetaPost executables, run -‘<samp>make triptrap</samp>’. This runs the trip, trap, and mptrap “torture -tests”. See the files <samp>triptrap/tripman.tex</samp>, -<samp>triptrap/trapman.tex</samp>, and <samp>triptrap/mptrap.readme</samp> for +‘<samp class="samp">make triptrap</samp>’. This runs the trip, trap, and mptrap “torture +tests”. See the files <samp class="file">triptrap/tripman.tex</samp>, +<samp class="file">triptrap/trapman.tex</samp>, and <samp class="file">triptrap/mptrap.readme</samp> for detailed information and background on the tests. </p> <p>The differences between your executables’ behavior and the standard values will show up on your terminal. The usual differences (these are all acceptable) are: </p> -<ul> -<li> string usage and table sizes; -</li><li> glue set ratios; -</li><li> ‘<samp>down4</samp>’, ‘<samp>right4</samp>’, and ‘<samp>y4</samp>’ commands in DVItype output; -</li><li> dates and times. +<ul class="itemize mark-bullet"> +<li>string usage and table sizes; +</li><li>glue set ratios; +</li><li>‘<samp class="samp">down4</samp>’, ‘<samp class="samp">right4</samp>’, and ‘<samp class="samp">y4</samp>’ commands in DVItype output; +</li><li>dates and times. </li></ul> <p>Any other differences are trouble. The most common culprit in the past has been compiler bugs, especially when optimizing. -See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#TeX-or-Metafont-failing">TeX or Metafont failing</a> in <cite>Kpathsea</cite>. +See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#TeX-or-Metafont-failing">TeX or Metafont failing</a> in <cite class="cite">Kpathsea</cite>. </p> -<p>The files <samp>trip.diffs</samp>, <samp>mftrap.diffs</samp>, and -<samp>mptrap.diffs</samp> in the <samp>triptrap</samp> directory show the standard +<p>The files <samp class="file">trip.diffs</samp>, <samp class="file">mftrap.diffs</samp>, and +<samp class="file">mptrap.diffs</samp> in the <samp class="file">triptrap</samp> directory show the standard diffs against the original output. If you diff your diffs against these files, you should come up clean. For example </p><div class="example"> -<pre class="example">make trip >&mytrip.diffs +<pre class="example-preformatted">make trip >&mytrip.diffs diff triptrap/trip.diffs mytrip.diffs </pre></div> -<p>To run the tests separately, use the targets <code>trip</code>, <code>trap</code>, -and <code>mptrap</code>. +<p>To run the tests separately, use the targets <code class="code">trip</code>, <code class="code">trap</code>, +and <code class="code">mptrap</code>. </p> <p>To run simple tests for all the programs as well as the torture tests, -run ‘<samp>make check</samp>’. You can compare the output to the distributed -file <samp>tests/check.log</samp> if you like. +run ‘<samp class="samp">make check</samp>’. You can compare the output to the distributed +file <samp class="file">tests/check.log</samp> if you like. </p> <hr> </div> </div> -<div class="chapter" id="Commonalities"> -<div class="header"> +<div class="chapter-level-extent" id="Commonalities"> +<div class="nav-panel"> <p> Next: <a href="#Three-programs" accesskey="n" rel="next">Three programs: Metafont, MetaPost, and TeX</a>, Previous: <a href="#Installation" accesskey="p" rel="prev">Installation</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Commonalities-1"></span><h2 class="chapter">3 Commonalities</h2> +<h2 class="chapter" id="Commonalities-1">3 Commonalities</h2> -<span id="index-commonalities"></span> +<a class="index-entry-id" id="index-commonalities"></a> <p>Many aspects of the TeX system are the same among more than one program, so we describe those pieces together, here. </p> <p>Another kind of commonality is the extensions to TeX that are -available across all the engines; see <a href="#TeX-extensions">Extended TeX engines</a>. +available across all the engines; see <a class="pxref" href="#TeX-extensions">Extended TeX engines</a>. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Option-conventions" accesskey="1">Option conventions</a></li> <li><a href="#Common-options" accesskey="2">Common options</a></li> <li><a href="#Path-searching" accesskey="3">Path searching</a></li> <li><a href="#Output-file-location" accesskey="4">Output file location</a></li> </ul> <hr> -<div class="section" id="Option-conventions"> -<div class="header"> +<div class="section-level-extent" id="Option-conventions"> +<div class="nav-panel"> <p> Next: <a href="#Common-options" accesskey="n" rel="next">Common options</a>, Up: <a href="#Commonalities" accesskey="u" rel="up">Commonalities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Option-conventions-1"></span><h3 class="section">3.1 Option conventions</h3> +<h3 class="section" id="Option-conventions-1">3.1 Option conventions</h3> -<span id="index-option-conventions"></span> -<span id="index-conventions-for-options_002c"></span> +<a class="index-entry-id" id="index-option-conventions"></a> +<a class="index-entry-id" id="index-conventions-for-options_002c"></a> -<span id="index-getopt_005flong_005fonly"></span> +<a class="index-entry-id" id="index-getopt_005flong_005fonly"></a> <p>To provide a clean and consistent behavior, we chose to have all these -programs use the GNU function <code>getopt_long_only</code> to parse command +programs use the GNU function <code class="code">getopt_long_only</code> to parse command lines. However, we do use in a restricted mode, where all the options have to come before the rest of the arguments. </p> -<span id="index-_002d-starts-option-names"></span> -<span id="index-_002d_002d-starts-option-names"></span> +<a class="index-entry-id" id="index-_002d-starts-option-names"></a> +<a class="index-entry-id" id="index-_002d_002d-starts-option-names"></a> <p>As a result, you can: -</p><ul> -<li> use ‘<samp>-</samp>’ or ‘<samp>--</samp>’ to start an option name; +</p><ul class="itemize mark-bullet"> +<li>use ‘<samp class="samp">-</samp>’ or ‘<samp class="samp">--</samp>’ to start an option name; -</li><li> use any unambiguous abbreviation for an option name; +</li><li>use any unambiguous abbreviation for an option name; -</li><li> separate option names and values with either ‘<samp>=</samp>’ or one or more +</li><li>separate option names and values with either ‘<samp class="samp">=</samp>’ or one or more spaces; -</li><li> <span id="index-_002d-starting-a-filename"></span> -<span id="index-filenames-starting-with-_002d"></span> +</li><li><a class="index-entry-id" id="index-_002d-starting-a-filename"></a> +<a class="index-entry-id" id="index-filenames-starting-with-_002d"></a> use filenames that would otherwise look like options by putting them -after an option ‘<samp>--</samp>’. +after an option ‘<samp class="samp">--</samp>’. </li></ul> <p>By convention, non-option arguments, if specified, generally define the @@ -670,44 +666,44 @@ name of an input file, as documented for each program. last value that counts. </p> <p>For example, the following command line specifies the options -‘<samp>foo</samp>’, ‘<samp>bar</samp>’, and ‘<samp>verbose</samp>’; gives the value ‘<samp>baz</samp>’ -to the ‘<samp>abc</samp>’ option, and the value ‘<samp>xyz</samp>’ to the ‘<samp>quux</samp>’ -option; and specifies the filename <samp>-myfile-</samp>. +‘<samp class="samp">foo</samp>’, ‘<samp class="samp">bar</samp>’, and ‘<samp class="samp">verbose</samp>’; gives the value ‘<samp class="samp">baz</samp>’ +to the ‘<samp class="samp">abc</samp>’ option, and the value ‘<samp class="samp">xyz</samp>’ to the ‘<samp class="samp">quux</samp>’ +option; and specifies the filename <samp class="file">-myfile-</samp>. </p> <div class="example"> -<pre class="example">-foo --bar -verb -abc=baz -quux karl --quux xyz -- -myfile- +<pre class="example-preformatted">-foo --bar -verb -abc=baz -quux karl --quux xyz -- -myfile- </pre></div> <hr> </div> -<div class="section" id="Common-options"> -<div class="header"> +<div class="section-level-extent" id="Common-options"> +<div class="nav-panel"> <p> Next: <a href="#Path-searching" accesskey="n" rel="next">Path searching</a>, Previous: <a href="#Option-conventions" accesskey="p" rel="prev">Option conventions</a>, Up: <a href="#Commonalities" accesskey="u" rel="up">Commonalities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Common-options-1"></span><h3 class="section">3.2 Common options</h3> +<h3 class="section" id="Common-options-1">3.2 Common options</h3> -<span id="index-common-options"></span> -<p>All of these programs accept the standard GNU ‘<samp>--help</samp>’ and -‘<samp>--version</samp>’ options, and several programs accept -‘<samp>--verbose</samp>’. Rather than writing identical descriptions for +<a class="index-entry-id" id="index-common-options"></a> +<p>All of these programs accept the standard GNU ‘<samp class="samp">--help</samp>’ and +‘<samp class="samp">--version</samp>’ options, and several programs accept +‘<samp class="samp">--verbose</samp>’. Rather than writing identical descriptions for every program, they are described here. </p> -<dl compact="compact"> -<dt id='index-_002d_002dhelp-common-option'><span>‘<samp>--help</samp>’<a href='#index-_002d_002dhelp-common-option' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-help_002c-online"></span> +<dl class="table"> +<dt id='index-_002d_002dhelp-common-option'><span>‘<samp class="samp">--help</samp>’<a class="copiable-link" href='#index-_002d_002dhelp-common-option'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-help_002c-online"></a> <p>Print a usage message listing basic usage and all available options to standard output, then exit successfully. </p> </dd> -<dt id='index-_002d_002dverbose-common-option'><span>‘<samp>--verbose</samp>’<a href='#index-_002d_002dverbose-common-option' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-verbosity_002c-enabling"></span> +<dt id='index-_002d_002dverbose-common-option'><span>‘<samp class="samp">--verbose</samp>’<a class="copiable-link" href='#index-_002d_002dverbose-common-option'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-verbosity_002c-enabling"></a> <p>Print progress reports to standard output. </p> </dd> -<dt id='index-_002d_002dversion-common-option'><span>‘<samp>--version</samp>’<a href='#index-_002d_002dversion-common-option' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-version-number_002c-finding"></span> +<dt id='index-_002d_002dversion-common-option'><span>‘<samp class="samp">--version</samp>’<a class="copiable-link" href='#index-_002d_002dversion-common-option'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-version-number_002c-finding"></a> <p>Print the version number to standard output, then exit successfully. </p></dd> </dl> @@ -715,133 +711,133 @@ standard output, then exit successfully. <p>TeX, Metafont, and MetaPost have a number of additional options in common: </p> -<dl compact="compact"> -<dt id='index-_002dcnf_002dline'><span>‘<samp>-cnf-line=<var>str</var></samp>’<a href='#index-_002dcnf_002dline' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Parse <var>str</var> as if it were a line in the <samp>texmf.cnf</samp> +<dl class="table"> +<dt id='index-_002dcnf_002dline'><span>‘<samp class="samp">-cnf-line=<var class="var">str</var></samp>’<a class="copiable-link" href='#index-_002dcnf_002dline'> ¶</a></span></dt> +<dd><p>Parse <var class="var">str</var> as if it were a line in the <samp class="file">texmf.cnf</samp> configuration file, overriding all other settings. See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Path-searching-options">Path -searching options</a> in <cite>Kpathsea</cite>. +searching options</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> -<dt id='index-_002dno_002dfile_002dline_002derror'><span>‘<samp>-file-line-error</samp>’<a href='#index-_002dno_002dfile_002dline_002derror' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002dfile_002dline_002derror"></span> +<dt id='index-_002dno_002dfile_002dline_002derror'><span>‘<samp class="samp">-file-line-error</samp>’<a class="copiable-link" href='#index-_002dno_002dfile_002dline_002derror'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002dfile_002dline_002derror"></a> </dd> -<dt><span>‘<samp>-no-file-line-error</samp>’</span></dt> -<dd><span id="index-_002dfile_002dline_002derror_002dstyle"></span> -<span id="index-changing-error-messages-style"></span> +<dt>‘<samp class="samp">-no-file-line-error</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dfile_002dline_002derror_002dstyle"></a> +<a class="index-entry-id" id="index-changing-error-messages-style"></a> <p>Change (or do not change) the way error messages are printed. The alternate style looks like error messages from many compilers and is easier to parse for some editors that invoke TeX. This option used -to be called ‘<samp>-file-line-error-style</samp>’. +to be called ‘<samp class="samp">-file-line-error-style</samp>’. </p> </dd> -<dt id='index-_002dfmt_003ddumpname'><span>‘<samp>-fmt=<var>dumpname</var></samp>’<a href='#index-_002dfmt_003ddumpname' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-base=<var>dumpname</var></samp>’</span></dt> -<dt><span>‘<samp>-mem=<var>dumpname</var></samp>’</span></dt> -<dd><span id="index-_002dbase_003ddumpname"></span> -<span id="index-_002dmem_003ddumpname"></span> -<span id="index-dump-file"></span> -<p>Use <var>dumpname</var> instead of the program name or a ‘<samp>%&</samp>’ line to -determine the name of the memory dump file read (‘<samp>fmt</samp>’ for TeX, -‘<samp>base</samp>’ for Metafont, ‘<samp>mem</samp>’ for MetaPost). See <a href="#Memory-dumps">Memory dumps</a>. Also sets the program name to <var>dumpname</var> if no -‘<samp>-progname</samp>’ option was given. +<dt id='index-_002dfmt_003ddumpname'><span>‘<samp class="samp">-fmt=<var class="var">dumpname</var></samp>’<a class="copiable-link" href='#index-_002dfmt_003ddumpname'> ¶</a></span></dt> +<dt>‘<samp class="samp">-base=<var class="var">dumpname</var></samp>’</dt> +<dt>‘<samp class="samp">-mem=<var class="var">dumpname</var></samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dbase_003ddumpname"></a> +<a class="index-entry-id" id="index-_002dmem_003ddumpname"></a> +<a class="index-entry-id" id="index-dump-file"></a> +<p>Use <var class="var">dumpname</var> instead of the program name or a ‘<samp class="samp">%&</samp>’ line to +determine the name of the memory dump file read (‘<samp class="samp">fmt</samp>’ for TeX, +‘<samp class="samp">base</samp>’ for Metafont, ‘<samp class="samp">mem</samp>’ for MetaPost). See <a class="xref" href="#Memory-dumps">Memory dumps</a>. Also sets the program name to <var class="var">dumpname</var> if no +‘<samp class="samp">-progname</samp>’ option was given. </p> </dd> -<dt id='index-_002dhalt_002don_002derror'><span>‘<samp>-halt-on-error</samp>’<a href='#index-_002dhalt_002don_002derror' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-stopping-at-the-first-error"></span> +<dt id='index-_002dhalt_002don_002derror'><span>‘<samp class="samp">-halt-on-error</samp>’<a class="copiable-link" href='#index-_002dhalt_002don_002derror'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-stopping-at-the-first-error"></a> <p>Stop processing and exit when an error occurs, as opposed to the normal process of trying to recover and continue. </p> </dd> -<dt id='index-_002dini'><span>‘<samp>-ini</samp>’<a href='#index-_002dini' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-program-names_002c-special"></span> -<span id="index-initial-form_002c-enabling"></span> -<p>Enable the “initial” form of the program (see <a href="#Initial-and-virgin">Initial and virgin</a>). This is implicitly set if the program name is <code>initex</code> -resp. <code>inimf</code>. +<dt id='index-_002dini'><span>‘<samp class="samp">-ini</samp>’<a class="copiable-link" href='#index-_002dini'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-program-names_002c-special"></a> +<a class="index-entry-id" id="index-initial-form_002c-enabling"></a> +<p>Enable the “initial” form of the program (see <a class="pxref" href="#Initial-and-virgin">Initial and virgin</a>). This is implicitly set if the program name is <code class="code">initex</code> +resp. <code class="code">inimf</code>. </p> </dd> -<dt id='index-_002dinteraction_003dstring'><span>‘<samp>-interaction=<var>string</var></samp>’<a href='#index-_002dinteraction_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-interaction-mode"></span> -<p>Set the interaction mode from the command line. The <var>string</var> must -be one of ‘<samp>batchmode</samp>’, ‘<samp>nonstopmode</samp>’, ‘<samp>scrollmode</samp>’, or -‘<samp>errorstopmode</samp>’. +<dt id='index-_002dinteraction_003dstring'><span>‘<samp class="samp">-interaction=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002dinteraction_003dstring'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-interaction-mode"></a> +<p>Set the interaction mode from the command line. The <var class="var">string</var> must +be one of ‘<samp class="samp">batchmode</samp>’, ‘<samp class="samp">nonstopmode</samp>’, ‘<samp class="samp">scrollmode</samp>’, or +‘<samp class="samp">errorstopmode</samp>’. </p> </dd> -<dt id='index-_002djobname_003dstring'><span>‘<samp>-jobname=<var>string</var></samp>’<a href='#index-_002djobname_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-job-name"></span> -<p>Set the job name to <var>string</var>, instead of deriving it from the name +<dt id='index-_002djobname_003dstring'><span>‘<samp class="samp">-jobname=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002djobname_003dstring'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-job-name"></a> +<p>Set the job name to <var class="var">string</var>, instead of deriving it from the name of the input file. </p> </dd> -<dt id='index-_002dkpathsea_002ddebug_003dnumber'><span>‘<samp>-kpathsea-debug=<var>number</var></samp>’<a href='#index-_002dkpathsea_002ddebug_003dnumber' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-KPATHSEA_005fDEBUG"></span> -<span id="index-debugging-flags_002c-specifying"></span> -<span id="index-path-searching-debugging"></span> -<p>Set path searching debugging flags according to the bits of <var>number</var> -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite>Kpathsea</cite>). You can also specify this in -<code>KPATHSEA_DEBUG</code> environment variable (for all Web2c programs). -(The command line value overrides.) The most useful value is ‘<samp>-1</samp>’, +<dt id='index-_002dkpathsea_002ddebug_003dnumber'><span>‘<samp class="samp">-kpathsea-debug=<var class="var">number</var></samp>’<a class="copiable-link" href='#index-_002dkpathsea_002ddebug_003dnumber'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-KPATHSEA_005fDEBUG"></a> +<a class="index-entry-id" id="index-debugging-flags_002c-specifying"></a> +<a class="index-entry-id" id="index-path-searching-debugging"></a> +<p>Set path searching debugging flags according to the bits of <var class="var">number</var> +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Debugging">Debugging</a> in <cite class="cite">Kpathsea</cite>). You can also specify this in +<code class="code">KPATHSEA_DEBUG</code> environment variable (for all Web2c programs). +(The command line value overrides.) The most useful value is ‘<samp class="samp">-1</samp>’, to get all available output. </p> </dd> -<dt id='index-_002doutput_002ddirectory'><span>‘<samp>-output-directory=<var>dirname</var></samp>’<a href='#index-_002doutput_002ddirectory' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-output-directory_002c-specifying"></span> -<p>Specify the directory <var>dirname</var> to which output files are written. -Also look for input files in <var>dirname</var> first, before looking along -the normal search path. See <a href="#Output-file-location">Output file location</a>. +<dt id='index-_002doutput_002ddirectory'><span>‘<samp class="samp">-output-directory=<var class="var">dirname</var></samp>’<a class="copiable-link" href='#index-_002doutput_002ddirectory'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-output-directory_002c-specifying"></a> +<p>Specify the directory <var class="var">dirname</var> to which output files are written. +Also look for input files in <var class="var">dirname</var> first, before looking along +the normal search path. See <a class="xref" href="#Output-file-location">Output file location</a>. </p> </dd> -<dt id='index-_002dno_002dparse_002dfirst_002dline'><span>‘<samp>-parse-first-line</samp>’<a href='#index-_002dno_002dparse_002dfirst_002dline' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002dparse_002dfirst_002dline"></span> +<dt id='index-_002dno_002dparse_002dfirst_002dline'><span>‘<samp class="samp">-parse-first-line</samp>’<a class="copiable-link" href='#index-_002dno_002dparse_002dfirst_002dline'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002dparse_002dfirst_002dline"></a> </dd> -<dt><span>‘<samp>-no-parse-first-line</samp>’</span></dt> -<dd><span id="index-parsing-the-first-line"></span> +<dt>‘<samp class="samp">-no-parse-first-line</samp>’</dt> +<dd><a class="index-entry-id" id="index-parsing-the-first-line"></a> <p>Check or disable checking whether the first line of the main input -file starts with ‘<samp>%&</samp>’, and parse it if it does. This line can be +file starts with ‘<samp class="samp">%&</samp>’, and parse it if it does. This line can be used specify the format and/or a TCX file. </p> </dd> -<dt id='index-_002dprogname_003dstring'><span>‘<samp>-progname=<var>string</var></samp>’<a href='#index-_002dprogname_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-binaries_002c-linking"></span> -<span id="index-linking-binaries"></span> -<span id="index-program-names_002c-special-1"></span> -<p>Set program (and memory dump) name to <var>string</var>. This may affect the -search paths and other values used (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>). Using this option is equivalent to making a link named -<var>string</var> to the binary and then invoking the binary under that -name. See <a href="#Memory-dumps">Memory dumps</a>. +<dt id='index-_002dprogname_003dstring'><span>‘<samp class="samp">-progname=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002dprogname_003dstring'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-binaries_002c-linking"></a> +<a class="index-entry-id" id="index-linking-binaries"></a> +<a class="index-entry-id" id="index-program-names_002c-special-1"></a> +<p>Set program (and memory dump) name to <var class="var">string</var>. This may affect the +search paths and other values used (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>). Using this option is equivalent to making a link named +<var class="var">string</var> to the binary and then invoking the binary under that +name. See <a class="xref" href="#Memory-dumps">Memory dumps</a>. </p> </dd> -<dt id='index-_002drecorder'><span>‘<samp>-recorder</samp>’<a href='#index-_002drecorder' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-file-recorder"></span> +<dt id='index-_002drecorder'><span>‘<samp class="samp">-recorder</samp>’<a class="copiable-link" href='#index-_002drecorder'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-file-recorder"></a> <p>Enable the filename recorder. This makes the program save a list of the -opened files into a file with (by default) extension ‘<samp>.fls</samp>’. For -Aleph, this option is always on, and the file has extension ‘<samp>.ofl</samp>’. +opened files into a file with (by default) extension ‘<samp class="samp">.fls</samp>’. For +Aleph, this option is always on, and the file has extension ‘<samp class="samp">.ofl</samp>’. </p> -<p>Ordinarily, the ‘<samp>.fls</samp>’ file is written to the same location as -the ‘<samp>.log</samp>’ file, for example, respecting -<samp>-output-directory</samp> if it is given (see <a href="#Output-file-location">Output file location</a>). However, if TeX processing is done on the command line -(or in response to the ‘<samp>**</samp>’ prompt), the ‘<samp>.fls</samp>’ might be +<p>Ordinarily, the ‘<samp class="samp">.fls</samp>’ file is written to the same location as +the ‘<samp class="samp">.log</samp>’ file, for example, respecting +<samp class="option">-output-directory</samp> if it is given (see <a class="pxref" href="#Output-file-location">Output file location</a>). However, if TeX processing is done on the command line +(or in response to the ‘<samp class="samp">**</samp>’ prompt), the ‘<samp class="samp">.fls</samp>’ might be written to the current directory, or include an integer (the current -pid), as in <samp>texput1234.fls</samp>. You can use <samp>-jobname</samp> to +pid), as in <samp class="file">texput1234.fls</samp>. You can use <samp class="option">-jobname</samp> to explicitly set the basename. </p> </dd> -<dt id='index-_002dtranslate_002dfile_003dtcxfile'><span>‘<samp>-translate-file=<var>tcxfile</var></samp>’<a href='#index-_002dtranslate_002dfile_003dtcxfile' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-translation-file-for-TeX_002c-specifying"></span> -<span id="index-_002etcx-character-translation-files"></span> -<span id="index-first-line-of-the-main-input-file"></span> -<p>Use <var>tcxfile</var> to define which characters are printable and translations +<dt id='index-_002dtranslate_002dfile_003dtcxfile'><span>‘<samp class="samp">-translate-file=<var class="var">tcxfile</var></samp>’<a class="copiable-link" href='#index-_002dtranslate_002dfile_003dtcxfile'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-translation-file-for-TeX_002c-specifying"></a> +<a class="index-entry-id" id="index-_002etcx-character-translation-files"></a> +<a class="index-entry-id" id="index-first-line-of-the-main-input-file"></a> +<p>Use <var class="var">tcxfile</var> to define which characters are printable and translations between the internal and external character sets. Moreover, -<var>tcxfile</var> can be explicitly declared in the first line of the main -input file ‘<samp>%& -translate-file=<var>tcxfile</var></samp>’. +<var class="var">tcxfile</var> can be explicitly declared in the first line of the main +input file ‘<samp class="samp">%& -translate-file=<var class="var">tcxfile</var></samp>’. This is the recommended method for portability reasons. -See <a href="#TCX-files">TCX files: Character translations</a>. +See <a class="xref" href="#TCX-files">TCX files: Character translations</a>. </p> </dd> -<dt id='index-_002d8bit'><span>‘<samp>-8bit</samp>’<a href='#index-_002d8bit' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-8-bit-clean"></span> -<span id="index-8-bit-clean-output_002c-specifying"></span> +<dt id='index-_002d8bit'><span>‘<samp class="samp">-8bit</samp>’<a class="copiable-link" href='#index-_002d8bit'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-8-bit-clean"></a> +<a class="index-entry-id" id="index-8-bit-clean-output_002c-specifying"></a> <p>This option specifies that by default all characters should be -considered printable. If ‘<samp>-translate-file</samp>’ was given as well, +considered printable. If ‘<samp class="samp">-translate-file</samp>’ was given as well, then the TCX file may mark characters as non-printable. This is a no-op in engines natively supporting Unicode. </p> @@ -851,76 +847,76 @@ no-op in engines natively supporting Unicode. <hr> </div> -<div class="section" id="Path-searching"> -<div class="header"> +<div class="section-level-extent" id="Path-searching"> +<div class="nav-panel"> <p> Next: <a href="#Output-file-location" accesskey="n" rel="next">Output file location</a>, Previous: <a href="#Common-options" accesskey="p" rel="prev">Common options</a>, Up: <a href="#Commonalities" accesskey="u" rel="up">Commonalities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Path-searching-1"></span><h3 class="section">3.3 Path searching</h3> +<h3 class="section" id="Path-searching-1">3.3 Path searching</h3> -<span id="index-path-searching"></span> +<a class="index-entry-id" id="index-path-searching"></a> -<span id="index-texmf_002ecnf"></span> -<span id="index-configuration-file-reading"></span> +<a class="index-entry-id" id="index-texmf_002ecnf"></a> +<a class="index-entry-id" id="index-configuration-file-reading"></a> <p>All of the Web2c programs, including TeX, which do path searching use the Kpathsea routines to do so. The precise names of the environment and configuration file variables which get searched for particular file formatted are therefore documented in the Kpathsea manual -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>). Reading -<samp>texmf.cnf</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>), invoking -<code>mktex…</code> scripts (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#mktex-scripts">mktex scripts</a> in <cite>Kpathsea</cite>), and so on are all handled by Kpathsea. +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>). Reading +<samp class="file">texmf.cnf</samp> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>), invoking +<code class="code">mktex…</code> scripts (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#mktex-scripts">mktex scripts</a> in <cite class="cite">Kpathsea</cite>), and so on are all handled by Kpathsea. </p> -<span id="index-font-aliases"></span> -<span id="index-aliases-for-fonts"></span> -<span id="index-texfonts_002emap"></span> +<a class="index-entry-id" id="index-font-aliases"></a> +<a class="index-entry-id" id="index-aliases-for-fonts"></a> +<a class="index-entry-id" id="index-texfonts_002emap"></a> <p>The programs which read fonts make use of another Kpathsea feature: -<samp>texfonts.map</samp>, which allows arbitrary aliases for the actual names -of font files; for example, ‘<samp>Times-Roman</samp>’ for ‘<samp>ptmr8r.tfm</samp>’. -The distributed (and installed by default) <samp>texfonts.map</samp> includes +<samp class="file">texfonts.map</samp>, which allows arbitrary aliases for the actual names +of font files; for example, ‘<samp class="samp">Times-Roman</samp>’ for ‘<samp class="samp">ptmr8r.tfm</samp>’. +The distributed (and installed by default) <samp class="file">texfonts.map</samp> includes aliases for many widely available PostScript fonts by their PostScript names. </p> <hr> </div> -<div class="section" id="Output-file-location"> -<div class="header"> +<div class="section-level-extent" id="Output-file-location"> +<div class="nav-panel"> <p> Previous: <a href="#Path-searching" accesskey="p" rel="prev">Path searching</a>, Up: <a href="#Commonalities" accesskey="u" rel="up">Commonalities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Output-file-location-1"></span><h3 class="section">3.4 Output file location</h3> +<h3 class="section" id="Output-file-location-1">3.4 Output file location</h3> -<span id="index-output-file-location"></span> -<span id="index-current-directory_002c-used-for-output"></span> -<span id="index-_002e_002c-used-for-output"></span> +<a class="index-entry-id" id="index-output-file-location"></a> +<a class="index-entry-id" id="index-current-directory_002c-used-for-output"></a> +<a class="index-entry-id" id="index-_002e_002c-used-for-output"></a> <p>All the programs generally follow the usual convention for output files. Namely, they are placed in the directory current when the program is run, regardless of any input file location; or, in a few cases, output is to standard output. </p> -<p>For example, if you run ‘<samp>tex /tmp/foo</samp>’, for example, the output -will be in <samp>./foo.dvi</samp> and <samp>./foo.log</samp>, not -<samp>/tmp/foo.dvi</samp> and <samp>/tmp/foo.log</samp>. +<p>For example, if you run ‘<samp class="samp">tex /tmp/foo</samp>’, for example, the output +will be in <samp class="file">./foo.dvi</samp> and <samp class="file">./foo.log</samp>, not +<samp class="file">/tmp/foo.dvi</samp> and <samp class="file">/tmp/foo.log</samp>. </p> -<span id="index-_002doutput_002ddirectory-1"></span> -<span id="index-output-directory_002c-specifying-1"></span> -<span id="index-readonly-directory_002c-running-TeX-in"></span> -<p>You can use the ‘<samp>-output-directory</samp>’ option to cause all output +<a class="index-entry-id" id="index-_002doutput_002ddirectory-1"></a> +<a class="index-entry-id" id="index-output-directory_002c-specifying-1"></a> +<a class="index-entry-id" id="index-readonly-directory_002c-running-TeX-in"></a> +<p>You can use the ‘<samp class="samp">-output-directory</samp>’ option to cause all output files that would normally be written in the current directory to be -written in the specified directory instead. See <a href="#Common-options">Common options</a>. +written in the specified directory instead. See <a class="xref" href="#Common-options">Common options</a>. </p> -<span id="index-TEXMFOUTPUT_002c-used-if-_002e-unwritable"></span> -<span id="index-readonly-directory_002c-running-TeX-in-1"></span> -<p>If the current directory is not writable, and ‘<samp>-output-directory</samp>’ +<a class="index-entry-id" id="index-TEXMFOUTPUT_002c-used-if-_002e-unwritable"></a> +<a class="index-entry-id" id="index-readonly-directory_002c-running-TeX-in-1"></a> +<p>If the current directory is not writable, and ‘<samp class="samp">-output-directory</samp>’ is not specified, the main programs (TeX, Metafont, MetaPost, and BibTeX) make an exception: if the config file or environment -variable value <code>TEXMFOUTPUT</code> is set (it is not by default), +variable value <code class="code">TEXMFOUTPUT</code> is set (it is not by default), output files are written to the directory specified. </p> -<span id="index-TEXMFOUTPUT_002c-used-for-reading"></span> -<p><code>TEXMFOUTPUT</code> is also checked for input files, as TeX often +<a class="index-entry-id" id="index-TEXMFOUTPUT_002c-used-for-reading"></a> +<p><code class="code">TEXMFOUTPUT</code> is also checked for input files, as TeX often generates files that need to be subsequently read; for input, no -suffixes (such as ‘<samp>.tex</samp>’) are added by default and no exhaustive +suffixes (such as ‘<samp class="samp">.tex</samp>’) are added by default and no exhaustive path searching is done, the input name is simply checked as given. </p> @@ -928,17 +924,17 @@ simply checked as given. <hr> </div> </div> -<div class="chapter" id="Three-programs"> -<div class="header"> +<div class="chapter-level-extent" id="Three-programs"> +<div class="nav-panel"> <p> Next: <a href="#TeX" accesskey="n" rel="next">TeX: Typesetting</a>, Previous: <a href="#Commonalities" accesskey="p" rel="prev">Commonalities</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Three-programs_003a-Metafont_002c-MetaPost_002c-and-TeX"></span><h2 class="chapter">4 Three programs: Metafont, MetaPost, and TeX</h2> +<h2 class="chapter" id="Three-programs_003a-Metafont_002c-MetaPost_002c-and-TeX">4 Three programs: Metafont, MetaPost, and TeX</h2> -<span id="index-three-programs"></span> -<span id="index-TeX_002c-Metafont_002c-and-MetaPost"></span> -<span id="index-Metafont_002c-MetaPost_002c-and-TeX"></span> -<span id="index-MetaPost_002c-TeX_002c-and-Metafont"></span> +<a class="index-entry-id" id="index-three-programs"></a> +<a class="index-entry-id" id="index-TeX_002c-Metafont_002c-and-MetaPost"></a> +<a class="index-entry-id" id="index-Metafont_002c-MetaPost_002c-and-TeX"></a> +<a class="index-entry-id" id="index-MetaPost_002c-TeX_002c-and-Metafont"></a> <p>TeX, Metafont, and MetaPost have a number of features in common. Besides the ones here, command-line options and other commonalities @@ -946,58 +942,58 @@ are described in the previous section. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Runtime-options" accesskey="1">Runtime options</a></li> <li><a href="#Initial-and-virgin" accesskey="2">Initial and virgin</a></li> <li><a href="#Memory-dumps" accesskey="3">Memory dumps</a></li> <li><a href="#Editor-invocation" accesskey="4">Editor invocation</a></li> -<li><a href="#g_t_005cinput-filenames" accesskey="5"><code>\input</code> filenames</a></li> +<li><a href="#g_t_005cinput-filenames" accesskey="5"><code class="code">\input</code> filenames</a></li> </ul> <hr> -<div class="section" id="Runtime-options"> -<div class="header"> +<div class="section-level-extent" id="Runtime-options"> +<div class="nav-panel"> <p> Next: <a href="#Initial-and-virgin" accesskey="n" rel="next">Initial and virgin</a>, Up: <a href="#Three-programs" accesskey="u" rel="up">Three programs: Metafont, MetaPost, and TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Runtime-options-1"></span><h3 class="section">4.1 Runtime options</h3> +<h3 class="section" id="Runtime-options-1">4.1 Runtime options</h3> -<span id="index-runtime-options"></span> +<a class="index-entry-id" id="index-runtime-options"></a> -<span id="index-configuration-file-values"></span> -<span id="index-array-sizes"></span> -<span id="index-texmf_002ecnf-1"></span> +<a class="index-entry-id" id="index-configuration-file-values"></a> +<a class="index-entry-id" id="index-array-sizes"></a> +<a class="index-entry-id" id="index-texmf_002ecnf-1"></a> <p>Besides the configure- and compile-time options described in the -installation section (see <a href="#Installation">Installation</a>), you can control a number -of parameters in the <samp>texmf.cnf</samp> runtime file read by Kpathsea -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite>Kpathsea</cite>). +installation section (see <a class="pxref" href="#Installation">Installation</a>), you can control a number +of parameters in the <samp class="file">texmf.cnf</samp> runtime file read by Kpathsea +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Config-files">Config files</a> in <cite class="cite">Kpathsea</cite>). </p> -<p>The main purpose of <samp>texmf.cnf</samp> is to specify search paths, but +<p>The main purpose of <samp class="file">texmf.cnf</samp> is to specify search paths, but array sizes and other options are also set there. Most are rather obscure. Here are a few of the more interesting values: </p> -<dl compact="compact"> -<dt id='index-main_005fmemory'><span>‘<samp>main_memory</samp>’<a href='#index-main_005fmemory' class='copiable-anchor'> ¶</a></span></dt> +<dl class="vtable"> +<dt id='index-main_005fmemory'><span>‘<samp class="samp">main_memory</samp>’<a class="copiable-link" href='#index-main_005fmemory'> ¶</a></span></dt> <dd><p>Total words of memory available, for TeX, Metafont, and MetaPost. Must remake the format file after changing. </p> </dd> -<dt id='index-extra_005fmem_005fbot'><span>‘<samp>extra_mem_bot</samp>’<a href='#index-extra_005fmem_005fbot' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-boxes_002c-memory-for"></span> -<span id="index-glue_002c-memory-for"></span> -<span id="index-breakpoints_002c-memory-for"></span> -<span id="index-PiCTeX_002c-increasing-memory-for"></span> +<dt id='index-extra_005fmem_005fbot'><span>‘<samp class="samp">extra_mem_bot</samp>’<a class="copiable-link" href='#index-extra_005fmem_005fbot'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-boxes_002c-memory-for"></a> +<a class="index-entry-id" id="index-glue_002c-memory-for"></a> +<a class="index-entry-id" id="index-breakpoints_002c-memory-for"></a> +<a class="index-entry-id" id="index-PiCTeX_002c-increasing-memory-for"></a> <p>Extra space for “large” TeX data structures (default 0): boxes, glue, breakpoints, et al. If you use PiCTeX, you may well want to set this. </p> </dd> -<dt id='index-expand_005fdepth'><span>‘<samp>expand_depth</samp>’<a href='#index-expand_005fdepth' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-recursive-expansion-limit"></span> -<span id="index-expansion-limit_002c-recursive"></span> -<span id="index-runtime-stack-overflow"></span> -<span id="index-overflow_002c-of-runtime-stack"></span> -<span id="index-segmentation-fault"></span> -<span id="index-SIGSEGV"></span> +<dt id='index-expand_005fdepth'><span>‘<samp class="samp">expand_depth</samp>’<a class="copiable-link" href='#index-expand_005fdepth'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-recursive-expansion-limit"></a> +<a class="index-entry-id" id="index-expansion-limit_002c-recursive"></a> +<a class="index-entry-id" id="index-runtime-stack-overflow"></a> +<a class="index-entry-id" id="index-overflow_002c-of-runtime-stack"></a> +<a class="index-entry-id" id="index-segmentation-fault"></a> +<a class="index-entry-id" id="index-SIGSEGV"></a> <p>Limit on recursive expansion calls before TeX aborts (default 10000). If a TeX program does an unterminated recursive expansion, TeX will dutifully expand macros until the system’s runtime stack @@ -1006,27 +1002,27 @@ parameter was introduced to minimize the chance of that unpleasant (though not dangerous) crash, instead allowing TeX to quit with a more informative message. </p> -<span id="index-libsigsegv-library"></span> +<a class="index-entry-id" id="index-libsigsegv-library"></a> <p>The crash can still happen, though, if the system has an exceptionally small memory allocation for its stack. There is no quantitative way to determine the limit, and it does not seem worth implementing system-dependent heuristics to guess at the number, since it’s highly improbable that any real TeX code will ever need more than 10000 recursive expansions (it has never happened). For the same reason, -using the libsigsegv library (<a href="https://gnu.org/s/libsigsegv">https://gnu.org/s/libsigsegv</a>) does +using the libsigsegv library (<a class="url" href="https://gnu.org/s/libsigsegv">https://gnu.org/s/libsigsegv</a>) does not seem worth the effort. </p> </dd> -<dt id='index-texmf_005fcasefold_005fsearch'><span>‘<samp>texmf_casefold_search</samp>’<a href='#index-texmf_005fcasefold_005fsearch' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Casefolding-search">Casefolding search</a> in <cite>Kpathsea</cite>. +<dt id='index-texmf_005fcasefold_005fsearch'><span>‘<samp class="samp">texmf_casefold_search</samp>’<a class="copiable-link" href='#index-texmf_005fcasefold_005fsearch'> ¶</a></span></dt> +<dd><p>See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Casefolding-search">Casefolding search</a> in <cite class="cite">Kpathsea</cite>. </p> </dd> </dl> -<span id="index-array-limit_002c-fixed"></span> -<span id="index-swap-space_002c-as-array-limit"></span> -<span id="index-reallocation-of-arrays"></span> -<span id="index-dynamic-array-allocation"></span> +<a class="index-entry-id" id="index-array-limit_002c-fixed"></a> +<a class="index-entry-id" id="index-swap-space_002c-as-array-limit"></a> +<a class="index-entry-id" id="index-reallocation-of-arrays"></a> +<a class="index-entry-id" id="index-dynamic-array-allocation"></a> <p>Ideally all arrays would be dynamically expanded as necessary, so the only limiting factor would be the amount of swap space available, or some configurable limit much larger than can currently be supported. @@ -1038,52 +1034,52 @@ compile-time limits in previous versions, and truly dynamic arrays. (On the other hand, the Web2c BibTeX implementation does do true dynamic reallocation of some arrays.) </p> -<span id="index-modifying-texmf_002ecnf-in-TeX-Live"></span> -<span id="index-location-of-texmf_002ecnf-in-TeX-Live"></span> +<a class="index-entry-id" id="index-modifying-texmf_002ecnf-in-TeX-Live"></a> +<a class="index-entry-id" id="index-location-of-texmf_002ecnf-in-TeX-Live"></a> <p>Nowadays there is rarely a reason to modify the values. But if you do -wish to modify <samp>texmf.cnf</samp>, in TeX Live the best approach is +wish to modify <samp class="file">texmf.cnf</samp>, in TeX Live the best approach is to put your changes, and only your changes at the top of the TL -installation tree. That is, if the system <samp>texmf.cnf</samp> is +installation tree. That is, if the system <samp class="file">texmf.cnf</samp> is installed in -<samp>/some/path/to/texlive/YYYY/texmf-dist/web2c/texmf.cnf</samp> is put -your custom settings in <samp>/some/path/to/texlive/YYY/texmf.cnf</samp>, -where <var>YYYY</var> is the year of installation (if you use that +<samp class="file">/some/path/to/texlive/YYYY/texmf-dist/web2c/texmf.cnf</samp> is put +your custom settings in <samp class="file">/some/path/to/texlive/YYY/texmf.cnf</samp>, +where <var class="var">YYYY</var> is the year of installation (if you use that subdirectory; it’s the default). That way, unrelated changes to the -system <samp>texmf.cnf</samp> can happen with normal updates, without +system <samp class="file">texmf.cnf</samp> can happen with normal updates, without affecting your local values. </p> <hr> </div> -<div class="section" id="Initial-and-virgin"> -<div class="header"> +<div class="section-level-extent" id="Initial-and-virgin"> +<div class="nav-panel"> <p> Next: <a href="#Memory-dumps" accesskey="n" rel="next">Memory dumps</a>, Previous: <a href="#Runtime-options" accesskey="p" rel="prev">Runtime options</a>, Up: <a href="#Three-programs" accesskey="u" rel="up">Three programs: Metafont, MetaPost, and TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Initial-and-virgin-1"></span><h3 class="section">4.2 Initial and virgin</h3> +<h3 class="section" id="Initial-and-virgin-1">4.2 Initial and virgin</h3> -<span id="index-executables_002c-shared-initial-and-virgin"></span> +<a class="index-entry-id" id="index-executables_002c-shared-initial-and-virgin"></a> <p>The TeX and Metafont programs each have two main variants, called -<em>initial</em> and <em>virgin</em>. MetaPost no longer makes this +<em class="dfn">initial</em> and <em class="dfn">virgin</em>. MetaPost no longer makes this distinction. </p> <p>The initial form is enabled if: -</p><ol> -<li> <span id="index-_002dini-1"></span> -the ‘<samp>-ini</samp>’ option was specified; or -</li><li> the program name is <samp>initex</samp> resp. <samp>inimf</samp>; or -</li><li> the first line of the main input file is ‘<samp>%&ini</samp>’; +</p><ol class="enumerate"> +<li> <a class="index-entry-id" id="index-_002dini-1"></a> +the ‘<samp class="samp">-ini</samp>’ option was specified; or +</li><li> the program name is <samp class="file">initex</samp> resp. <samp class="file">inimf</samp>; or +</li><li> the first line of the main input file is ‘<samp class="samp">%&ini</samp>’; </li></ol> <p>otherwise, the virgin form is used. </p> -<span id="index-virgin-programs"></span> -<span id="index-production-use"></span> -<p>The <em>virgin</em> form is the one generally invoked for production use. -The first thing it does is read a memory dump (see <a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>), and then proceeds on with the main job. +<a class="index-entry-id" id="index-virgin-programs"></a> +<a class="index-entry-id" id="index-production-use"></a> +<p>The <em class="dfn">virgin</em> form is the one generally invoked for production use. +The first thing it does is read a memory dump (see <a class="pxref" href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a>), and then proceeds on with the main job. </p> -<span id="index-initial-programs"></span> -<span id="index-initializations_002c-lengthy"></span> -<p>The <em>initial</em> form is generally used only to create memory dumps +<a class="index-entry-id" id="index-initial-programs"></a> +<a class="index-entry-id" id="index-initializations_002c-lengthy"></a> +<p>The <em class="dfn">initial</em> form is generally used only to create memory dumps (see the next section). It starts up more slowly than the virgin form, because it must do lengthy initializations that are encapsulated in the memory dump file. @@ -1091,47 +1087,47 @@ memory dump file. <hr> </div> -<div class="section" id="Memory-dumps"> -<div class="header"> +<div class="section-level-extent" id="Memory-dumps"> +<div class="nav-panel"> <p> Next: <a href="#Editor-invocation" accesskey="n" rel="next">Editor invocation</a>, Previous: <a href="#Initial-and-virgin" accesskey="p" rel="prev">Initial and virgin</a>, Up: <a href="#Three-programs" accesskey="u" rel="up">Three programs: Metafont, MetaPost, and TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Memory-dumps-1"></span><h3 class="section">4.3 Memory dumps</h3> +<h3 class="section" id="Memory-dumps-1">4.3 Memory dumps</h3> -<span id="index-memory-dumps"></span> +<a class="index-entry-id" id="index-memory-dumps"></a> -<span id="index-dumping-memory"></span> -<span id="index-macros_002c-predefining-in-memory-dumps"></span> -<span id="index-predefined-macros-and-memory-dumps"></span> +<a class="index-entry-id" id="index-dumping-memory"></a> +<a class="index-entry-id" id="index-macros_002c-predefining-in-memory-dumps"></a> +<a class="index-entry-id" id="index-predefined-macros-and-memory-dumps"></a> <p>In typical use, TeX and Metafont require a large number of -macros to be predefined; therefore, they support <em>memory dump</em> +macros to be predefined; therefore, they support <em class="dfn">memory dump</em> files, which can be read much more efficiently than ordinary source code. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Creating-memory-dumps" accesskey="1">Creating memory dumps</a></li> <li><a href="#Determining-the-memory-dump-to-use" accesskey="2">Determining the memory dump to use</a></li> <li><a href="#Hardware-and-memory-dumps" accesskey="3">Hardware and memory dumps</a></li> </ul> <hr> -<div class="subsection" id="Creating-memory-dumps"> -<div class="header"> +<div class="subsection-level-extent" id="Creating-memory-dumps"> +<div class="nav-panel"> <p> Next: <a href="#Determining-the-memory-dump-to-use" accesskey="n" rel="next">Determining the memory dump to use</a>, Up: <a href="#Memory-dumps" accesskey="u" rel="up">Memory dumps</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Creating-memory-dumps-1"></span><h4 class="subsection">4.3.1 Creating memory dumps</h4> +<h4 class="subsection" id="Creating-memory-dumps-1">4.3.1 Creating memory dumps</h4> -<span id="index-memory-dumps_002c-creating"></span> -<span id="index-creating-memory-dumps"></span> -<span id="index-writing-memory-dumps"></span> +<a class="index-entry-id" id="index-memory-dumps_002c-creating"></a> +<a class="index-entry-id" id="index-creating-memory-dumps"></a> +<a class="index-entry-id" id="index-writing-memory-dumps"></a> <p>The programs all create memory dumps in slightly idiosyncratic (thought substantially similar) way, so we describe the details in separate sections (references below). The basic idea is to run the initial -version of the program (see <a href="#Initial-and-virgin">Initial and virgin</a>), read the source -file to define the macros, and then execute the <code>\dump</code> primitive. +version of the program (see <a class="pxref" href="#Initial-and-virgin">Initial and virgin</a>), read the source +file to define the macros, and then execute the <code class="code">\dump</code> primitive. </p> <p>Also, each program uses a different filename extension for its memory dumps, since although they are completely analogous they are not @@ -1141,13 +1137,13 @@ example). <p>Here is a list of filename extensions with references to examples of creating memory dumps: </p> -<dl compact="compact"> -<dt><span>TeX</span></dt> -<dd><p>(‘<samp>.fmt</samp>’) See <a href="#Initial-TeX">Initial TeX</a>. +<dl class="table"> +<dt>TeX</dt> +<dd><p>(‘<samp class="samp">.fmt</samp>’) See <a class="xref" href="#Initial-TeX">Initial TeX</a>. </p> </dd> -<dt><span>Metafont</span></dt> -<dd><p>(‘<samp>.base</samp>’) See <a href="#Initial-Metafont">Initial Metafont</a>. +<dt>Metafont</dt> +<dd><p>(‘<samp class="samp">.base</samp>’) See <a class="xref" href="#Initial-Metafont">Initial Metafont</a>. </p></dd> </dl> @@ -1160,55 +1156,55 @@ difficulties. <hr> </div> -<div class="subsection" id="Determining-the-memory-dump-to-use"> -<div class="header"> +<div class="subsection-level-extent" id="Determining-the-memory-dump-to-use"> +<div class="nav-panel"> <p> Next: <a href="#Hardware-and-memory-dumps" accesskey="n" rel="next">Hardware and memory dumps</a>, Previous: <a href="#Creating-memory-dumps" accesskey="p" rel="prev">Creating memory dumps</a>, Up: <a href="#Memory-dumps" accesskey="u" rel="up">Memory dumps</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Determining-the-memory-dump-to-use-1"></span><h4 class="subsection">4.3.2 Determining the memory dump to use</h4> +<h4 class="subsection" id="Determining-the-memory-dump-to-use-1">4.3.2 Determining the memory dump to use</h4> -<span id="index-memory-dump-to-use_002c-determining"></span> -<span id="index-fmt-file_002c-determining"></span> -<span id="index-base-file_002c-determining"></span> -<span id="index-mem-file_002c-determining"></span> +<a class="index-entry-id" id="index-memory-dump-to-use_002c-determining"></a> +<a class="index-entry-id" id="index-fmt-file_002c-determining"></a> +<a class="index-entry-id" id="index-base-file_002c-determining"></a> +<a class="index-entry-id" id="index-mem-file_002c-determining"></a> -<p>The virgin form (see <a href="#Initial-and-virgin">Initial and virgin</a>) of each program always +<p>The virgin form (see <a class="pxref" href="#Initial-and-virgin">Initial and virgin</a>) of each program always reads a memory dump before processing normal source input. All three programs determine the memory dump to use in the same way: </p> -<ol> -<li> If the first non-option command-line argument begins with ‘<samp>&</samp>’, the +<ol class="enumerate"> +<li> If the first non-option command-line argument begins with ‘<samp class="samp">&</samp>’, the program uses the remainder of that argument as the memory dump name. -For example, running ‘<samp>tex \&super</samp>’ reads <samp>super.fmt</samp>. (The -backslash protects the ‘<samp>&</samp>’ against interpretation by the shell.) +For example, running ‘<samp class="samp">tex \&super</samp>’ reads <samp class="file">super.fmt</samp>. (The +backslash protects the ‘<samp class="samp">&</samp>’ against interpretation by the shell.) -</li><li> <span id="index-_002dfmt_003dfmt"></span> -<span id="index-_002dbase_003dbase"></span> -If the ‘<samp>-fmt</samp>’ resp. ‘<samp>-base</samp>’ option is +</li><li> <a class="index-entry-id" id="index-_002dfmt_003dfmt"></a> +<a class="index-entry-id" id="index-_002dbase_003dbase"></a> +If the ‘<samp class="samp">-fmt</samp>’ resp. ‘<samp class="samp">-base</samp>’ option is specified, its value is used. -</li><li> <span id="index-_002dprogname_003dstring-1"></span> -If the ‘<samp>-progname</samp>’ option is specified, its value is used. +</li><li> <a class="index-entry-id" id="index-_002dprogname_003dstring-1"></a> +If the ‘<samp class="samp">-progname</samp>’ option is specified, its value is used. -</li><li> <span id="index-_0025_0026-magic-number"></span> +</li><li> <a class="index-entry-id" id="index-_0025_0026-magic-number"></a> If the first line of the main input file (which must be specified on the -command line, not in response to ‘<samp>**</samp>’) is <code>%&<var>dump</var></code>, and -<var>dump</var> is an existing memory dump of the appropriate type, -<var>dump</var> is used. +command line, not in response to ‘<samp class="samp">**</samp>’) is <code class="code">%&<var class="var">dump</var></code>, and +<var class="var">dump</var> is an existing memory dump of the appropriate type, +<var class="var">dump</var> is used. <p>The first line of the main input file can also specify which character -translation file is to be used: <code>%&-translate-file=<var>tcxfile</var></code> -(see <a href="#TCX-files">TCX files: Character translations</a>). +translation file is to be used: <code class="code">%&-translate-file=<var class="var">tcxfile</var></code> +(see <a class="pxref" href="#TCX-files">TCX files: Character translations</a>). </p> -<p>These two roles can be combined: <code>%&<var>dump</var> --translate-file=<var>tcxfile</var></code>. If this is done, the name of the dump +<p>These two roles can be combined: <code class="code">%&<var class="var">dump</var> +-translate-file=<var class="var">tcxfile</var></code>. If this is done, the name of the dump must be given first. </p> -</li><li> <span id="index-program-name_002c-determines-memory-dump"></span> -<span id="index-links-to-binaries"></span> +</li><li> <a class="index-entry-id" id="index-program-name_002c-determines-memory-dump"></a> +<a class="index-entry-id" id="index-links-to-binaries"></a> Otherwise, the program uses the program invocation name, most commonly -<samp>tex</samp> resp. <samp>mf</samp>. For example, if <samp>latex</samp> is a link -to <samp>tex</samp>, and the user runs ‘<samp>latex foo</samp>’, <samp>latex.fmt</samp> +<samp class="file">tex</samp> resp. <samp class="file">mf</samp>. For example, if <samp class="file">latex</samp> is a link +to <samp class="file">tex</samp>, and the user runs ‘<samp class="samp">latex foo</samp>’, <samp class="file">latex.fmt</samp> will be used. </li></ol> @@ -1216,46 +1212,46 @@ will be used. <hr> </div> -<div class="subsection" id="Hardware-and-memory-dumps"> -<div class="header"> +<div class="subsection-level-extent" id="Hardware-and-memory-dumps"> +<div class="nav-panel"> <p> Previous: <a href="#Determining-the-memory-dump-to-use" accesskey="p" rel="prev">Determining the memory dump to use</a>, Up: <a href="#Memory-dumps" accesskey="u" rel="up">Memory dumps</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Hardware-and-memory-dumps-1"></span><h4 class="subsection">4.3.3 Hardware and memory dumps</h4> - -<span id="index-hardware-and-memory-dumps"></span> -<span id="index-memory-dumps-and-hardware"></span> -<span id="index-sharing-memory-dumps"></span> -<span id="index-fmt-files_002c-sharing"></span> -<span id="index-base-files_002c-sharing"></span> -<span id="index-mem-files_002c-sharing"></span> - -<span id="index-LittleEndian-machines"></span> -<span id="index-BigEndian-machines"></span> -<span id="index-endian-dependencies"></span> -<span id="index-machine-dependencies"></span> -<span id="index-architecture-dependencies"></span> -<span id="index-dependencies_002c-hardware"></span> -<span id="index-32_002dbit-architecture"></span> -<span id="index-64_002dbit-architecture"></span> -<span id="index-long-data-type_002c-size-of"></span> +<h4 class="subsection" id="Hardware-and-memory-dumps-1">4.3.3 Hardware and memory dumps</h4> + +<a class="index-entry-id" id="index-hardware-and-memory-dumps"></a> +<a class="index-entry-id" id="index-memory-dumps-and-hardware"></a> +<a class="index-entry-id" id="index-sharing-memory-dumps"></a> +<a class="index-entry-id" id="index-fmt-files_002c-sharing"></a> +<a class="index-entry-id" id="index-base-files_002c-sharing"></a> +<a class="index-entry-id" id="index-mem-files_002c-sharing"></a> + +<a class="index-entry-id" id="index-LittleEndian-machines"></a> +<a class="index-entry-id" id="index-BigEndian-machines"></a> +<a class="index-entry-id" id="index-endian-dependencies"></a> +<a class="index-entry-id" id="index-machine-dependencies"></a> +<a class="index-entry-id" id="index-architecture-dependencies"></a> +<a class="index-entry-id" id="index-dependencies_002c-hardware"></a> +<a class="index-entry-id" id="index-32_002dbit-architecture"></a> +<a class="index-entry-id" id="index-64_002dbit-architecture"></a> +<a class="index-entry-id" id="index-long-data-type_002c-size-of"></a> <p>By default, memory dump files are sharable between architectures of different types; specifically, on machines of different endianness -(see <a data-manual="libc" href="https://www.gnu.org/software/libc/manual/html_mono/libc.html#Byte-order">Byte order</a> in <cite>GNU C Library</cite>) and with different word -sizes (4-byte <code>long</code> vs. 8-byte <code>long</code>). This is a +(see <a data-manual="libc" href="https://www.gnu.org/software/libc/manual/html_mono/libc.html#Byte-order">Byte order</a> in <cite class="cite">GNU C Library</cite>) and with different word +sizes (4-byte <code class="code">long</code> vs. 8-byte <code class="code">long</code>). This is a feature of the Web2c implementation, and is not true of all TeX implementations. </p> -<span id="index-tl_002dcheck_002dfmtshare"></span> -<p>The script <code>tl-check-fmtshare</code> in the TeX Live source tree -(<samp>Master/tlpkg/bin</samp>) provides a relatively easy way to test that -a <samp>.fmt</samp> built on the local host can be loaded by a TeX engine +<a class="index-entry-id" id="index-tl_002dcheck_002dfmtshare"></a> +<p>The script <code class="code">tl-check-fmtshare</code> in the TeX Live source tree +(<samp class="file">Master/tlpkg/bin</samp>) provides a relatively easy way to test that +a <samp class="file">.fmt</samp> built on the local host can be loaded by a TeX engine built on some remote host. </p> -<span id="index-byte-swapping"></span> -<span id="index-swapping-bytes"></span> -<span id="index-_002d_002ddisable_002ddump_002dshare-configure-option"></span> -<p>If you specify ‘<samp>--disable-dump-share</samp>’ to <code>configure</code>, +<a class="index-entry-id" id="index-byte-swapping"></a> +<a class="index-entry-id" id="index-swapping-bytes"></a> +<a class="index-entry-id" id="index-_002d_002ddisable_002ddump_002dshare-configure-option"></a> +<p>If you specify ‘<samp class="samp">--disable-dump-share</samp>’ to <code class="code">configure</code>, however, memory dumps will be endian-dependent. The reason to do this is speed. To achieve endian-independence, the reading of memory dumps on LittleEndian architectures, such as PC’s and DEC architectures, is @@ -1265,34 +1261,34 @@ share memory dumps across all platforms at a site far outweighs the speed loss. But if you’re trying to squeeze out every possible bit of performance, you may wish to do this. </p> -<span id="index-floating_002dpoint-values"></span> -<span id="index-glue-ratio-representations"></span> -<p>TeXnically, even without ‘<samp>--disable-dump-share</samp>’, sharing of -<samp>.fmt</samp> files cannot be guaranteed to work. Floating-point values +<a class="index-entry-id" id="index-floating_002dpoint-values"></a> +<a class="index-entry-id" id="index-glue-ratio-representations"></a> +<p>TeXnically, even without ‘<samp class="samp">--disable-dump-share</samp>’, sharing of +<samp class="file">.fmt</samp> files cannot be guaranteed to work. Floating-point values are always written in native format, and hence will generally not be readable across platforms. Fortunately, TeX uses floating point only to represent glue ratios, and none of the common formats (plain, LaTeX, AMSTeX, …) do any glue setting at -<samp>.fmt</samp>-creation time. Metafont does not use floating point in +<samp class="file">.fmt</samp>-creation time. Metafont does not use floating point in any dumped value at all. </p> -<span id="index-date-and-time_002c-in-memory-dumps"></span> -<span id="index-time-and-date_002c-in-memory-dumps"></span> -<span id="index-memory-dumps_002c-contain-date-and-time"></span> +<a class="index-entry-id" id="index-date-and-time_002c-in-memory-dumps"></a> +<a class="index-entry-id" id="index-time-and-date_002c-in-memory-dumps"></a> +<a class="index-entry-id" id="index-memory-dumps_002c-contain-date-and-time"></a> <p>Incidentally, different memory dump files will never compare equal byte-for-byte, because the programs dump the current date and time. So don’t be alarmed by a few bytes difference. </p> -<span id="index-Harbison_002c-Samuel-P_002e"></span> -<span id="index-Steele-Jr_002e_002c-Guy-L_002e"></span> +<a class="index-entry-id" id="index-Harbison_002c-Samuel-P_002e"></a> +<a class="index-entry-id" id="index-Steele-Jr_002e_002c-Guy-L_002e"></a> <p>If you don’t know what endianness your machine is, and you’re curious, -here is a little C program to tell you. (The <code>configure</code> script -contains a similar program.) This is from the book <cite>C: A Reference +here is a little C program to tell you. (The <code class="code">configure</code> script +contains a similar program.) This is from the book <cite class="cite">C: A Reference Manual</cite>, by Samuel P. Harbison and Guy L. Steele -Jr. (see <a href="#References">References</a>). +Jr. (see <a class="pxref" href="#References">References</a>). </p> <div class="example"> -<pre class="example">main () +<pre class="example-preformatted">main () { /* Are we little or big endian? From Harbison&Steele. */ union @@ -1312,129 +1308,129 @@ Jr. (see <a href="#References">References</a>). } </pre></div> -<p>You can add <code>printf("long %d\n", sizeof(long));</code> to see the size -of the <code>long</code> data type. +<p>You can add <code class="code">printf("long %d\n", sizeof(long));</code> to see the size +of the <code class="code">long</code> data type. </p> <hr> </div> </div> -<div class="section" id="Editor-invocation"> -<div class="header"> +<div class="section-level-extent" id="Editor-invocation"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_005cinput-filenames" accesskey="n" rel="next"><code>\input</code> filenames</a>, Previous: <a href="#Memory-dumps" accesskey="p" rel="prev">Memory dumps</a>, Up: <a href="#Three-programs" accesskey="u" rel="up">Three programs: Metafont, MetaPost, and TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_005cinput-filenames" accesskey="n" rel="next"><code class="code">\input</code> filenames</a>, Previous: <a href="#Memory-dumps" accesskey="p" rel="prev">Memory dumps</a>, Up: <a href="#Three-programs" accesskey="u" rel="up">Three programs: Metafont, MetaPost, and TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Editor-invocation-1"></span><h3 class="section">4.4 Editor invocation</h3> +<h3 class="section" id="Editor-invocation-1">4.4 Editor invocation</h3> -<span id="index-editor-invoked-at-error"></span> -<span id="index-errors_002c-editor-invoked-at"></span> -<span id="index-e-response-at-error-prompt"></span> +<a class="index-entry-id" id="index-editor-invoked-at-error"></a> +<a class="index-entry-id" id="index-errors_002c-editor-invoked-at"></a> +<a class="index-entry-id" id="index-e-response-at-error-prompt"></a> <p>TeX, Metafont, and MetaPost all (by default) stop and ask for user intervention at an error. If the input came from a file, and the user -responds with <kbd>e</kbd> or <kbd>E</kbd>, the program invokes an editor. -</p> -<span id="index-TEXEDIT"></span> -<span id="index-MFEDIT"></span> -<span id="index-MPEDIT"></span> -<span id="index-_002d_002dwith_002deditor_003dcmd"></span> -<span id="index-texmf_002ecnf-for-editors"></span> -<p>Specifying ‘<samp>--with-editor=<var>cmd</var></samp>’ to <code>configure</code> sets the -default editor command string to <var>cmd</var>. The environment -variables/configuration values <code>TEXEDIT</code>, <code>MFEDIT</code>, and -<code>MPEDIT</code> (respectively) override this. If ‘<samp>--with-editor</samp>’ is -not specified, the default is <code>vi +%d %s</code> on Unix, and an +responds with <kbd class="kbd">e</kbd> or <kbd class="kbd">E</kbd>, the program invokes an editor. +</p> +<a class="index-entry-id" id="index-TEXEDIT"></a> +<a class="index-entry-id" id="index-MFEDIT"></a> +<a class="index-entry-id" id="index-MPEDIT"></a> +<a class="index-entry-id" id="index-_002d_002dwith_002deditor_003dcmd"></a> +<a class="index-entry-id" id="index-texmf_002ecnf-for-editors"></a> +<p>Specifying ‘<samp class="samp">--with-editor=<var class="var">cmd</var></samp>’ to <code class="code">configure</code> sets the +default editor command string to <var class="var">cmd</var>. The environment +variables/configuration values <code class="code">TEXEDIT</code>, <code class="code">MFEDIT</code>, and +<code class="code">MPEDIT</code> (respectively) override this. If ‘<samp class="samp">--with-editor</samp>’ is +not specified, the default is <code class="code">vi +%d %s</code> on Unix, and an invocation of the TeXworks editor on Windows. (See -<samp>texmf.cnf</samp> for the precise values.) +<samp class="file">texmf.cnf</samp> for the precise values.) </p> -<p>In this string, ‘<samp>%d</samp>’ is replaced by the line number of the error, -and ‘<samp>%s</samp>’ is replaced by the name of the current input file. +<p>In this string, ‘<samp class="samp">%d</samp>’ is replaced by the line number of the error, +and ‘<samp class="samp">%s</samp>’ is replaced by the name of the current input file. </p> <hr> </div> -<div class="section" id="g_t_005cinput-filenames"> -<div class="header"> +<div class="section-level-extent" id="g_t_005cinput-filenames"> +<div class="nav-panel"> <p> Previous: <a href="#Editor-invocation" accesskey="p" rel="prev">Editor invocation</a>, Up: <a href="#Three-programs" accesskey="u" rel="up">Three programs: Metafont, MetaPost, and TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_005cinput-filenames-1"></span><h3 class="section">4.5 <code>\input</code> filenames</h3> +<h3 class="section" id="g_t_005cinput-filenames-1">4.5 <code class="code">\input</code> filenames</h3> -<span id="index-input-filenames"></span> -<span id="index-filename-conventions_002c-in-input-files"></span> -<span id="index-_005cinput-filenames"></span> +<a class="index-entry-id" id="index-input-filenames"></a> +<a class="index-entry-id" id="index-filename-conventions_002c-in-input-files"></a> +<a class="index-entry-id" id="index-_005cinput-filenames"></a> <p>TeX, Metafont, and MetaPost source programs can all read other source -files with the <code>\input</code> (TeX) and <code>input</code> (MF and MP) +files with the <code class="code">\input</code> (TeX) and <code class="code">input</code> (MF and MP) primitives: </p><div class="example"> -<pre class="example">\input <var>name</var> % in TeX +<pre class="example-preformatted">\input <var class="var">name</var> % in TeX </pre></div> -<span id="index-space_002dterminated-filenames"></span> -<span id="index-whitespace_002dterminated-filenames"></span> -<span id="index-terminator-for-filenames"></span> -<p>The file <var>name</var> can always be terminated with whitespace; for -Metafont and MetaPost, the statement terminator ‘<samp>;</samp>’ also works. +<a class="index-entry-id" id="index-space_002dterminated-filenames"></a> +<a class="index-entry-id" id="index-whitespace_002dterminated-filenames"></a> +<a class="index-entry-id" id="index-terminator-for-filenames"></a> +<p>The file <var class="var">name</var> can always be terminated with whitespace; for +Metafont and MetaPost, the statement terminator ‘<samp class="samp">;</samp>’ also works. (LaTeX and other macro packages provide other interfaces to -<code>\input</code> that allow different notation; here we are concerned only +<code class="code">\input</code> that allow different notation; here we are concerned only with the primitive operation.) </p> <p>As (allowed) extensions to standard TeX, Web2c also supports -specifying the filename in double quotes (<code>"some name"</code>) and in -braces (<code>{some name}</code>), which is convenient for filenames +specifying the filename in double quotes (<code class="code">"some name"</code>) and in +braces (<code class="code">{some name}</code>), which is convenient for filenames containing spaces or other special characters, as described in the sections below. </p> <p>In all cases, space tokens are ignored after the filename is read. </p> -<span id="index-_0022-character_002c-ignored-in-filenames"></span> -<span id="index-double-quote-character_002c-ignored-in-filenames"></span> -<p>Also, double quote (<code>"</code>) characters are ignored within the -filename; there is no way to read files whose names contain a <code>"</code>. +<a class="index-entry-id" id="index-_0022-character_002c-ignored-in-filenames"></a> +<a class="index-entry-id" id="index-double-quote-character_002c-ignored-in-filenames"></a> +<p>Also, double quote (<code class="code">"</code>) characters are ignored within the +filename; there is no way to read files whose names contain a <code class="code">"</code>. </p> -<span id="index-portable-filenames"></span> +<a class="index-entry-id" id="index-portable-filenames"></a> <p>However, for maximal portability of your document across systems, use -only the characters ‘<samp>a</samp>’–‘<samp>z</samp>’, ‘<samp>0</samp>’–‘<samp>9</samp>’, and at -most one ‘<samp>.</samp>’. Do not use anything but simple filenames, since +only the characters ‘<samp class="samp">a</samp>’–‘<samp class="samp">z</samp>’, ‘<samp class="samp">0</samp>’–‘<samp class="samp">9</samp>’, and at +most one ‘<samp class="samp">.</samp>’. Do not use anything but simple filenames, since directory separators vary among systems; instead, add the necessary directories to the appropriate search path. </p> -<ul class="section-toc"> -<li><a href="#g_t_005cinput-quoted-filename" accesskey="1"><code>\input</code> quoted filename: <code>\input "some name"</code></a></li> -<li><a href="#g_t_005cinput-braced-filename" accesskey="2"><code>\input</code> braced filename: <code>\input{some name}</code></a></li> -<li><a href="#g_t_005cinput-filename-caveats" accesskey="3"><code>\input</code> filename caveats</a></li> +<ul class="mini-toc"> +<li><a href="#g_t_005cinput-quoted-filename" accesskey="1"><code class="code">\input</code> quoted filename: <code class="code">\input "some name"</code></a></li> +<li><a href="#g_t_005cinput-braced-filename" accesskey="2"><code class="code">\input</code> braced filename: <code class="code">\input{some name}</code></a></li> +<li><a href="#g_t_005cinput-filename-caveats" accesskey="3"><code class="code">\input</code> filename caveats</a></li> </ul> <hr> -<div class="subsection" id="g_t_005cinput-quoted-filename"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_005cinput-quoted-filename"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_005cinput-braced-filename" accesskey="n" rel="next"><code>\input</code> braced filename: <code>\input{some name}</code></a>, Up: <a href="#g_t_005cinput-filenames" accesskey="u" rel="up"><code>\input</code> filenames</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_005cinput-braced-filename" accesskey="n" rel="next"><code class="code">\input</code> braced filename: <code class="code">\input{some name}</code></a>, Up: <a href="#g_t_005cinput-filenames" accesskey="u" rel="up"><code class="code">\input</code> filenames</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_005cinput-quoted-filename_003a-_005cinput-_0022some-name_0022"></span><h4 class="subsection">4.5.1 <code>\input</code> quoted filename: <code>\input "some name"</code></h4> +<h4 class="subsection" id="g_t_005cinput-quoted-filename_003a-_005cinput-_0022some-name_0022">4.5.1 <code class="code">\input</code> quoted filename: <code class="code">\input "some name"</code></h4> -<span id="index-_005cinput-quoted-filename"></span> -<span id="index-quoted-filename-for-_005cinput"></span> +<a class="index-entry-id" id="index-_005cinput-quoted-filename"></a> +<a class="index-entry-id" id="index-quoted-filename-for-_005cinput"></a> <p>As of Web2c version 7.5.3 (2004), double-quote characters can be used to include spaces or other special characters. In typical use, the -‘<samp>"</samp>’ characters surround the entire filename: +‘<samp class="samp">"</samp>’ characters surround the entire filename: </p><div class="example"> -<pre class="example">\input "filename with spaces" +<pre class="example-preformatted">\input "filename with spaces" </pre></div> <p>Technically, the quote characters can be used inside the name, and can enclose any characters, as in: </p><div class="example"> -<pre class="example">\input filename" "with" "spaces +<pre class="example-preformatted">\input filename" "with" "spaces </pre></div> <p>One more point. In LaTeX, the quotes are needed inside the braces -of its <code>\input</code> macro, thus: +of its <code class="code">\input</code> macro, thus: </p><div class="example"> -<pre class="example">\input{a b} % fails +<pre class="example-preformatted">\input{a b} % fails \input{"a b"} % ok </pre></div> @@ -1443,26 +1439,26 @@ of its <code>\input</code> macro, thus: <hr> </div> -<div class="subsection" id="g_t_005cinput-braced-filename"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_005cinput-braced-filename"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_005cinput-filename-caveats" accesskey="n" rel="next"><code>\input</code> filename caveats</a>, Previous: <a href="#g_t_005cinput-quoted-filename" accesskey="p" rel="prev"><code>\input</code> quoted filename: <code>\input "some name"</code></a>, Up: <a href="#g_t_005cinput-filenames" accesskey="u" rel="up"><code>\input</code> filenames</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_005cinput-filename-caveats" accesskey="n" rel="next"><code class="code">\input</code> filename caveats</a>, Previous: <a href="#g_t_005cinput-quoted-filename" accesskey="p" rel="prev"><code class="code">\input</code> quoted filename: <code class="code">\input "some name"</code></a>, Up: <a href="#g_t_005cinput-filenames" accesskey="u" rel="up"><code class="code">\input</code> filenames</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_005cinput-braced-filename_003a-_005cinput_007bsome-name_007d"></span><h4 class="subsection">4.5.2 <code>\input</code> braced filename: <code>\input{some name}</code></h4> +<h4 class="subsection" id="g_t_005cinput-braced-filename_003a-_005cinput_007bsome-name_007d">4.5.2 <code class="code">\input</code> braced filename: <code class="code">\input{some name}</code></h4> -<span id="index-_005cinput-braced-_0028grouped_0029-filename"></span> -<span id="index-braced-filename-for-_005cinput"></span> -<span id="index-group_002ddelimited-filename-for-_005cinput"></span> +<a class="index-entry-id" id="index-_005cinput-braced-_0028grouped_0029-filename"></a> +<a class="index-entry-id" id="index-braced-filename-for-_005cinput"></a> +<a class="index-entry-id" id="index-group_002ddelimited-filename-for-_005cinput"></a> -<p>As of Web2c 2020, <code>\input</code> filenames in TeX engines (this does +<p>As of Web2c 2020, <code class="code">\input</code> filenames in TeX engines (this does not apply in Metafont and MetaPost) can also be specified within a TeX group, typically curly braces. For example: </p><div class="example"> -<pre class="example">\input{filename with spaces} +<pre class="example-preformatted">\input{filename with spaces} </pre></div> <p>As always with TeX, the brace characters are not hardwired; what -counts is the category code: the first token after the <code>\input</code> +counts is the category code: the first token after the <code class="code">\input</code> must be of catcode 1 (begin group), and it is matched with the next character of catcode 2 (end group). </p> @@ -1470,96 +1466,96 @@ next character of catcode 2 (end group). characters. </p> <p>As with all forms of filenames, following spaces are ignored (after -the end group), and double quote (<code>"</code>) characters are ignored +the end group), and double quote (<code class="code">"</code>) characters are ignored within the filename. </p> <hr> </div> -<div class="subsection" id="g_t_005cinput-filename-caveats"> -<div class="header"> +<div class="subsection-level-extent" id="g_t_005cinput-filename-caveats"> +<div class="nav-panel"> <p> -Previous: <a href="#g_t_005cinput-braced-filename" accesskey="p" rel="prev"><code>\input</code> braced filename: <code>\input{some name}</code></a>, Up: <a href="#g_t_005cinput-filenames" accesskey="u" rel="up"><code>\input</code> filenames</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#g_t_005cinput-braced-filename" accesskey="p" rel="prev"><code class="code">\input</code> braced filename: <code class="code">\input{some name}</code></a>, Up: <a href="#g_t_005cinput-filenames" accesskey="u" rel="up"><code class="code">\input</code> filenames</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_005cinput-filename-caveats-1"></span><h4 class="subsection">4.5.3 <code>\input</code> filename caveats</h4> +<h4 class="subsection" id="g_t_005cinput-filename-caveats-1">4.5.3 <code class="code">\input</code> filename caveats</h4> -<span id="index-_005cinput-filename-caveats"></span> -<span id="index-caveats-for-_005cinput-filenames"></span> -<span id="index-tokenization_002c-and-_005cinput-filenames"></span> -<span id="index-expansion_002c-and-_005cinput-filenames"></span> -<span id="index-multiple-spaces_002c-and-_005cinput-filenames"></span> -<span id="index-tabs_002c-and-_005cinput-filenames"></span> -<p>The quoting mechanisms just described come into play <em>after</em> +<a class="index-entry-id" id="index-_005cinput-filename-caveats"></a> +<a class="index-entry-id" id="index-caveats-for-_005cinput-filenames"></a> +<a class="index-entry-id" id="index-tokenization_002c-and-_005cinput-filenames"></a> +<a class="index-entry-id" id="index-expansion_002c-and-_005cinput-filenames"></a> +<a class="index-entry-id" id="index-multiple-spaces_002c-and-_005cinput-filenames"></a> +<a class="index-entry-id" id="index-tabs_002c-and-_005cinput-filenames"></a> +<p>The quoting mechanisms just described come into play <em class="emph">after</em> TeX has tokenized and expanded the input. So, multiple spaces and tabs will generally be seen as a single space, active characters such -as ‘<samp>~</samp>’ are expanded first (generally causing an error), and so +as ‘<samp class="samp">~</samp>’ are expanded first (generally causing an error), and so on. More examples below. </p> -<span id="index-NUL_002c-not-allowed-in-filenames"></span> -<span id="index-eight_002dbit-characters-in-filenames"></span> -<span id="index-meta-characters-in-filenames"></span> +<a class="index-entry-id" id="index-NUL_002c-not-allowed-in-filenames"></a> +<a class="index-entry-id" id="index-eight_002dbit-characters-in-filenames"></a> +<a class="index-entry-id" id="index-meta-characters-in-filenames"></a> <p>On the other hand, various C library routines and Unix itself use the null byte (character code zero, ASCII NUL) to terminate strings. So filenames in Web2c cannot contain nulls, even though TeX itself does not treat NUL specially. </p> -<span id="index-_007e-expansion-in-filenames"></span> -<span id="index-_0024-expansion-in-filenames"></span> -<p>Finally, the present Web2c implementation does ‘<samp>~</samp>’ and ‘<samp>$</samp>’ -expansion on <var>name</var>, unlike Knuth’s original implementation. +<a class="index-entry-id" id="index-_007e-expansion-in-filenames"></a> +<a class="index-entry-id" id="index-_0024-expansion-in-filenames"></a> +<p>Finally, the present Web2c implementation does ‘<samp class="samp">~</samp>’ and ‘<samp class="samp">$</samp>’ +expansion on <var class="var">name</var>, unlike Knuth’s original implementation. Thus: </p><div class="example"> -<pre class="example">\input ~jsmith/$foo.bar +<pre class="example-preformatted">\input ~jsmith/$foo.bar </pre></div> <p>will dereference the environment variable or Kpathsea config file -value ‘<samp>foo</samp>’ and read that file, extended with ‘<samp>.bar</samp>’, in -user ‘<samp>jsmith</samp>’’s home directory. You can also use braces in the -variable expansion, as in ‘<samp>${foo}bar</samp>’, if you want to follow -the variable name with a letter, numeral, or ‘<samp>_</samp>’. +value ‘<samp class="samp">foo</samp>’ and read that file, extended with ‘<samp class="samp">.bar</samp>’, in +user ‘<samp class="samp">jsmith</samp>’’s home directory. You can also use braces in the +variable expansion, as in ‘<samp class="samp">${foo}bar</samp>’, if you want to follow +the variable name with a letter, numeral, or ‘<samp class="samp">_</samp>’. </p> <p>(So another way to get a program to read a filename containing whitespace is to define an environment variable and dereference it.) </p> -<span id="index-_005cstring_002c-and-_005cinput-filenames"></span> +<a class="index-entry-id" id="index-_005cstring_002c-and-_005cinput-filenames"></a> <p>In all the common TeX formats (plain TeX, LaTeX, ConTeXt, -AMSTeX, …), the characters ‘<samp>~</samp>’ and ‘<samp>$</samp>’ have special +AMSTeX, …), the characters ‘<samp class="samp">~</samp>’ and ‘<samp class="samp">$</samp>’ have special category codes, so to actually use these in a document you have to -change their catcodes or use <code>\string</code>. +change their catcodes or use <code class="code">\string</code>. </p> <hr> </div> </div> </div> -<div class="chapter" id="TeX"> -<div class="header"> +<div class="chapter-level-extent" id="TeX"> +<div class="nav-panel"> <p> Next: <a href="#Metafont" accesskey="n" rel="next">Metafont: Creating typeface families</a>, Previous: <a href="#Three-programs" accesskey="p" rel="prev">Three programs: Metafont, MetaPost, and TeX</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="TeX_003a-Typesetting"></span><h2 class="chapter">5 TeX: Typesetting</h2> +<h2 class="chapter" id="TeX_003a-Typesetting">5 TeX: Typesetting</h2> -<span id="index-TeX_002c-description-of"></span> -<span id="index-typesetting"></span> -<span id="index-mathematical-typesetting"></span> +<a class="index-entry-id" id="index-TeX_002c-description-of"></a> +<a class="index-entry-id" id="index-typesetting"></a> +<a class="index-entry-id" id="index-mathematical-typesetting"></a> <p>TeX is a typesetting system: it was especially designed to handle complex mathematics, as well as most ordinary text typesetting. </p> -<span id="index-batch-languages"></span> -<span id="index-word-processor_002c-not"></span> +<a class="index-entry-id" id="index-batch-languages"></a> +<a class="index-entry-id" id="index-word-processor_002c-not"></a> <p>TeX is a batch language, like C or Pascal, and not an interactive “word processor”: you compile a TeX input file into a corresponding device-independent (DVI) file (and then translate the DVI file to the commands for a particular output device). This approach has both considerable disadvantages and considerable advantages. For a complete -description of the TeX language, see <cite>The TeXbook</cite> -(see <a href="#References">References</a>). Many other books on TeX, introductory and +description of the TeX language, see <cite class="cite">The TeXbook</cite> +(see <a class="pxref" href="#References">References</a>). Many other books on TeX, introductory and otherwise, are available. </p> -<ul class="section-toc"> -<li><a href="#tex-invocation" accesskey="1"><code>tex</code> invocation</a></li> +<ul class="mini-toc"> +<li><a href="#tex-invocation" accesskey="1"><code class="code">tex</code> invocation</a></li> <li><a href="#Initial-TeX" accesskey="2">Initial TeX</a></li> <li><a href="#Formats" accesskey="3">Formats</a></li> <li><a href="#Languages-and-hyphenation" accesskey="4">Languages and hyphenation</a></li> @@ -1568,200 +1564,200 @@ otherwise, are available. <li><a href="#TeX-extensions" accesskey="7">Extended TeX engines</a></li> </ul> <hr> -<div class="section" id="tex-invocation"> -<div class="header"> +<div class="section-level-extent" id="tex-invocation"> +<div class="nav-panel"> <p> Next: <a href="#Initial-TeX" accesskey="n" rel="next">Initial TeX</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="tex-invocation-1"></span><h3 class="section">5.1 <code>tex</code> invocation</h3> +<h3 class="section" id="tex-invocation-1">5.1 <code class="code">tex</code> invocation</h3> -<span id="index-tex"></span> -<span id="index-TeX_002c-invocation"></span> +<a class="index-entry-id" id="index-tex"></a> +<a class="index-entry-id" id="index-TeX_002c-invocation"></a> -<p>TeX (usually invoked as <code>tex</code>) formats the given text and +<p>TeX (usually invoked as <code class="code">tex</code>) formats the given text and commands, and outputs a corresponding device-independent representation of the typeset document. This section merely describes the options available in the Web2c implementation. For a complete description of -the TeX typesetting language, see <cite>The TeXbook</cite> -(see <a href="#References">References</a>). +the TeX typesetting language, see <cite class="cite">The TeXbook</cite> +(see <a class="pxref" href="#References">References</a>). </p> <p>TeX, Metafont, and MetaPost process the command line (described here) and determine their memory dump (fmt) file in the same way -(see <a href="#Memory-dumps">Memory dumps</a>). Synopses: +(see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). Synopses: </p> <div class="example"> -<pre class="example">tex [<var>option</var>]… [<var>texname</var>[.tex]] [<var>tex-commands</var>] -tex [<var>option</var>]… \<var>first-line</var> -tex [<var>option</var>]… &<var>fmt</var> <var>args</var> +<pre class="example-preformatted">tex [<var class="var">option</var>]… [<var class="var">texname</var>[.tex]] [<var class="var">tex-commands</var>] +tex [<var class="var">option</var>]… \<var class="var">first-line</var> +tex [<var class="var">option</var>]… &<var class="var">fmt</var> <var class="var">args</var> </pre></div> -<span id="index-_002etex"></span> -<span id="index-TeX_002c-input-files-found"></span> -<p>TeX searches the usual places for the main input file <var>texname</var> -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>), extending -<var>texname</var> with <samp>.tex</samp> if necessary. To see all the -relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to -‘<samp>-1</samp>’ before running the program. +<a class="index-entry-id" id="index-_002etex"></a> +<a class="index-entry-id" id="index-TeX_002c-input-files-found"></a> +<p>TeX searches the usual places for the main input file <var class="var">texname</var> +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>), extending +<var class="var">texname</var> with <samp class="file">.tex</samp> if necessary. To see all the +relevant paths, set the environment variable <code class="code">KPATHSEA_DEBUG</code> to +‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>After <var>texname</var> is read, TeX processes any remaining -<var>tex-commands</var> on the command line as regular TeX input. Also, +<p>After <var class="var">texname</var> is read, TeX processes any remaining +<var class="var">tex-commands</var> on the command line as regular TeX input. Also, if the first non-option argument begins with a TeX escape character -(usually <code>\</code>), TeX processes all non-option command-line +(usually <code class="code">\</code>), TeX processes all non-option command-line arguments as a line of regular TeX input. </p> <p>If no arguments or options are specified, TeX prompts for an -input file name with ‘<samp>**</samp>’. +input file name with ‘<samp class="samp">**</samp>’. </p> -<span id="index-texput"></span> +<a class="index-entry-id" id="index-texput"></a> <p>TeX writes the main DVI output to the file -<samp><var>basetexname</var>.dvi</samp>, where <var>basetexname</var> is the basename of -<var>texname</var>, or ‘<samp>texput</samp>’ if no input file was specified. A DVI +<samp class="file"><var class="var">basetexname</var>.dvi</samp>, where <var class="var">basetexname</var> is the basename of +<var class="var">texname</var>, or ‘<samp class="samp">texput</samp>’ if no input file was specified. A DVI file is a device-independent binary representation of your TeX document. The idea is that after running TeX, you translate the DVI file using a separate program to the commands for a particular output device, such as a PostScript printer -(see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Introduction</a> in <cite>Dvips</cite>) or an X Window System display +(see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Introduction</a> in <cite class="cite">Dvips</cite>) or an X Window System display (see xdvi(1)). </p> -<span id="index-EC-fonts"></span> -<span id="index-mktextfM_002c-disabling"></span> -<span id="index-_005cfont-and-dynamic-generation"></span> +<a class="index-entry-id" id="index-EC-fonts"></a> +<a class="index-entry-id" id="index-mktextfM_002c-disabling"></a> +<a class="index-entry-id" id="index-_005cfont-and-dynamic-generation"></a> <p>TeX also reads TFM files for any fonts you load in your document with -the <code>\font</code> primitive. By default, it runs an external program -named <samp>mktextfm</samp> to create any nonexistent TFM files. You can +the <code class="code">\font</code> primitive. By default, it runs an external program +named <samp class="file">mktextfm</samp> to create any nonexistent TFM files. You can disable this at configure-time or runtime (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#mktex-configuration">mktex -configuration</a> in <cite>Kpathsea</cite>). This is enabled mostly for the +configuration</a> in <cite class="cite">Kpathsea</cite>). This is enabled mostly for the sake of the EC fonts, which can be generated at any size. </p> -<span id="index-_005copenout-and-security"></span> -<span id="index-security_002c-and-_005copenout"></span> -<span id="index-output-files_002c-written-by-TeX-programs"></span> -<span id="index-Trojan-horses-and-TeX-programs"></span> -<span id="index-dot-files_002c-written-by-TeX-programs"></span> -<span id="index-security_002c-and-output-files"></span> -<p>TeX can write output files, via the <code>\openout</code> primitive; this opens +<a class="index-entry-id" id="index-_005copenout-and-security"></a> +<a class="index-entry-id" id="index-security_002c-and-_005copenout"></a> +<a class="index-entry-id" id="index-output-files_002c-written-by-TeX-programs"></a> +<a class="index-entry-id" id="index-Trojan-horses-and-TeX-programs"></a> +<a class="index-entry-id" id="index-dot-files_002c-written-by-TeX-programs"></a> +<a class="index-entry-id" id="index-security_002c-and-output-files"></a> +<p>TeX can write output files, via the <code class="code">\openout</code> primitive; this opens a security hole vulnerable to Trojan horse attack: an unwitting user could -run a TeX program that overwrites, say, <samp>~/.rhosts</samp>. (MetaPost has -a <code>write</code> primitive with similar implications). To alleviate this and -similar problems the functions <code>kpathsea_out_name_ok</code> and -<code>kpathsea_in_name_ok</code> from the Kpathsea library (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Calling-sequence">Calling -sequence</a> in <cite>Kpathsea</cite>) are used to determine if a given filename +run a TeX program that overwrites, say, <samp class="file">~/.rhosts</samp>. (MetaPost has +a <code class="code">write</code> primitive with similar implications). To alleviate this and +similar problems the functions <code class="code">kpathsea_out_name_ok</code> and +<code class="code">kpathsea_in_name_ok</code> from the Kpathsea library (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Calling-sequence">Calling +sequence</a> in <cite class="cite">Kpathsea</cite>) are used to determine if a given filename is acceptable to be opened for output or input, depending on the setting of -the configuration variables <code>openout_any</code> and <code>openin_any</code>: -‘<samp>a</samp>’ (for “any”, the default for <code>openin_any</code>), ‘<samp>r</samp>’ (for -“restricted”), or ‘<samp>p</samp>’ (for “paranoid”, the default for -<code>openout_any</code>). +the configuration variables <code class="code">openout_any</code> and <code class="code">openin_any</code>: +‘<samp class="samp">a</samp>’ (for “any”, the default for <code class="code">openin_any</code>), ‘<samp class="samp">r</samp>’ (for +“restricted”), or ‘<samp class="samp">p</samp>’ (for “paranoid”, the default for +<code class="code">openout_any</code>). </p> -<p>In any case, all <code>\openout</code> filenames are recorded in the log file, +<p>In any case, all <code class="code">\openout</code> filenames are recorded in the log file, except those opened on the first line of input, which is processed when the log file has not yet been opened. </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt><span>‘<samp>-enc</samp>’</span></dt> -<dt><span>‘<samp>-[no]-file-line-error</samp>’</span></dt> -<dt><span>‘<samp>-fmt=<var>fmtname</var></samp>’</span></dt> -<dt><span>‘<samp>-halt-on-error</samp>’</span></dt> -<dt><span>‘<samp>-ini</samp>’</span></dt> -<dt><span>‘<samp>-interaction=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-ipc</samp>’</span></dt> -<dt><span>‘<samp>-ipc-start</samp>’</span></dt> -<dt><span>‘<samp>-jobname=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-kpathsea-debug=<var>number</var></samp>’</span></dt> -<dt><span>‘<samp>-[no]parse-first-line</samp>’</span></dt> -<dt><span>‘<samp>-output-directory</samp>’</span></dt> -<dt><span>‘<samp>-progname=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-recorder</samp>’</span></dt> -<dt><span>‘<samp>-translate-file=<var>tcxfile</var></samp>’</span></dt> -<dt><span>‘<samp>-8bit</samp>’</span></dt> +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt>‘<samp class="samp">-enc</samp>’</dt> +<dt>‘<samp class="samp">-[no]-file-line-error</samp>’</dt> +<dt>‘<samp class="samp">-fmt=<var class="var">fmtname</var></samp>’</dt> +<dt>‘<samp class="samp">-halt-on-error</samp>’</dt> +<dt>‘<samp class="samp">-ini</samp>’</dt> +<dt>‘<samp class="samp">-interaction=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-ipc</samp>’</dt> +<dt>‘<samp class="samp">-ipc-start</samp>’</dt> +<dt>‘<samp class="samp">-jobname=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-kpathsea-debug=<var class="var">number</var></samp>’</dt> +<dt>‘<samp class="samp">-[no]parse-first-line</samp>’</dt> +<dt>‘<samp class="samp">-output-directory</samp>’</dt> +<dt>‘<samp class="samp">-progname=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-recorder</samp>’</dt> +<dt>‘<samp class="samp">-translate-file=<var class="var">tcxfile</var></samp>’</dt> +<dt>‘<samp class="samp">-8bit</samp>’</dt> <dd><p>These options are common to TeX, Metafont, and MetaPost. -See <a href="#Common-options">Common options</a>. +See <a class="xref" href="#Common-options">Common options</a>. </p> </dd> -<dt id='index-_002denc'><span>‘<samp>-enc</samp>’<a href='#index-_002denc' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Unicode-input"></span> -<span id="index-UTF_002d8-input"></span> -<p>Enable encTeX extensions, such as <code>\mubyte</code>. This can be used +<dt id='index-_002denc'><span>‘<samp class="samp">-enc</samp>’<a class="copiable-link" href='#index-_002denc'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Unicode-input"></a> +<a class="index-entry-id" id="index-UTF_002d8-input"></a> +<p>Enable encTeX extensions, such as <code class="code">\mubyte</code>. This can be used to support the Unicode UTF-8 input encoding, although using an engine with native Unicode support is more common nowadays. -<a href="http://www.olsak.net/enctex.html">http://www.olsak.net/enctex.html</a>. +<a class="url" href="http://www.olsak.net/enctex.html">http://www.olsak.net/enctex.html</a>. </p> </dd> -<dt id='index-_002dipc'><span>‘<samp>-ipc</samp>’<a href='#index-_002dipc' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-ipc-start</samp>’</span></dt> -<dd><span id="index-_002dipc_002dstart"></span> -<span id="index-_002d_002denable_002dipc-configure-option"></span> +<dt id='index-_002dipc'><span>‘<samp class="samp">-ipc</samp>’<a class="copiable-link" href='#index-_002dipc'> ¶</a></span></dt> +<dt>‘<samp class="samp">-ipc-start</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dipc_002dstart"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dipc-configure-option"></a> <p>With either option, TeX writes its DVI output to a socket as well as -to the usual <samp>.dvi</samp> file. With ‘<samp>-ipc-start</samp>’, TeX also -opens a server program at the other end to read the output. See <a href="#IPC-and-TeX">IPC and TeX</a>. +to the usual <samp class="file">.dvi</samp> file. With ‘<samp class="samp">-ipc-start</samp>’, TeX also +opens a server program at the other end to read the output. See <a class="xref" href="#IPC-and-TeX">IPC and TeX</a>. </p> -<p>These options are available only if the ‘<samp>--enable-ipc</samp>’ option was -specified to <code>configure</code> during installation of Web2c. +<p>These options are available only if the ‘<samp class="samp">--enable-ipc</samp>’ option was +specified to <code class="code">configure</code> during installation of Web2c. </p> </dd> -<dt id='index-_002dmktex_003dfiletype'><span>‘<samp>-mktex=<var>filetype</var></samp>’<a href='#index-_002dmktex_003dfiletype' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-no-mktex=<var>filetype</var></samp>’</span></dt> -<dd><span id="index-_002dno_002dmktex_003dfiletype"></span> -<p>Turn on or off the ‘<samp>mktex</samp>’ script associated with <var>filetype</var>. -For TeX proper, <var>filetype</var> can only be ‘<samp>tex</samp>’ and -‘<samp>tfm</samp>’, but for pdfTeX and luaTeX, it can also be ‘<samp>pk</samp>’. +<dt id='index-_002dmktex_003dfiletype'><span>‘<samp class="samp">-mktex=<var class="var">filetype</var></samp>’<a class="copiable-link" href='#index-_002dmktex_003dfiletype'> ¶</a></span></dt> +<dt>‘<samp class="samp">-no-mktex=<var class="var">filetype</var></samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dno_002dmktex_003dfiletype"></a> +<p>Turn on or off the ‘<samp class="samp">mktex</samp>’ script associated with <var class="var">filetype</var>. +For TeX proper, <var class="var">filetype</var> can only be ‘<samp class="samp">tex</samp>’ and +‘<samp class="samp">tfm</samp>’, but for pdfTeX and luaTeX, it can also be ‘<samp class="samp">pk</samp>’. </p> </dd> -<dt id='index-_002dmltex'><span>‘<samp>-mltex</samp>’<a href='#index-_002dmltex' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-MLTeX_002c-enabling"></span> -<span id="index-program-names_002c-special-2"></span> -<p>If we are <code>INITEX</code> (see <a href="#Initial-and-virgin">Initial and virgin</a>), enable MLTeX -extensions such as <code>\charsubdef</code>. Implicitly set if the program -name is <code>mltex</code>. See <a href="#MLTeX">MLTeX</a>. +<dt id='index-_002dmltex'><span>‘<samp class="samp">-mltex</samp>’<a class="copiable-link" href='#index-_002dmltex'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-MLTeX_002c-enabling"></a> +<a class="index-entry-id" id="index-program-names_002c-special-2"></a> +<p>If we are <code class="code">INITEX</code> (see <a class="pxref" href="#Initial-and-virgin">Initial and virgin</a>), enable MLTeX +extensions such as <code class="code">\charsubdef</code>. Implicitly set if the program +name is <code class="code">mltex</code>. See <a class="xref" href="#MLTeX">MLTeX</a>. </p> </dd> -<dt id='index-_002doutput_002dcomment_003dstring'><span>‘<samp>-output-comment=<var>string</var></samp>’<a href='#index-_002doutput_002dcomment_003dstring' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-output_005fcomment-for-DVI-files"></span> -<span id="index-DVI-comment_002c-specifying"></span> -<span id="index-regression-testing"></span> -<p>Use <var>string</var> as the DVI file comment. Ordinarily, this comment +<dt id='index-_002doutput_002dcomment_003dstring'><span>‘<samp class="samp">-output-comment=<var class="var">string</var></samp>’<a class="copiable-link" href='#index-_002doutput_002dcomment_003dstring'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-output_005fcomment-for-DVI-files"></a> +<a class="index-entry-id" id="index-DVI-comment_002c-specifying"></a> +<a class="index-entry-id" id="index-regression-testing"></a> +<p>Use <var class="var">string</var> as the DVI file comment. Ordinarily, this comment records the date and time of the TeX run, but if you are doing regression testing, you may not want the DVI file to have this spurious difference. This is also taken from the environment variable and -config file value ‘<samp>output_comment</samp>’. +config file value ‘<samp class="samp">output_comment</samp>’. </p> </dd> -<dt id='index-_002dshell_002drestricted'><span>‘<samp>-shell-escape</samp>’<a href='#index-_002dshell_002drestricted' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002dshell_002descape"></span> +<dt id='index-_002dshell_002drestricted'><span>‘<samp class="samp">-shell-escape</samp>’<a class="copiable-link" href='#index-_002dshell_002drestricted'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002dshell_002descape"></a> </dd> -<dt><span>‘<samp>-no-shell-escape</samp>’</span></dt> -<dd><span id="index-_002dno_002dshell_002descape"></span> +<dt>‘<samp class="samp">-no-shell-escape</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dno_002dshell_002descape"></a> </dd> -<dt><span>‘<samp>-shell-restricted</samp>’</span></dt> +<dt>‘<samp class="samp">-shell-restricted</samp>’</dt> <dd><p>Enable, or disable, or enable with restrictions the -<code>\write18{<var>shell-command</var>}</code> feature for external executing -shell commands. See <a href="#Shell-escapes">Shell escapes</a>. +<code class="code">\write18{<var class="var">shell-command</var>}</code> feature for external executing +shell commands. See <a class="xref" href="#Shell-escapes">Shell escapes</a>. </p> </dd> -<dt id='index-_002ddisable_002dwrite18'><span>‘<samp>-enable-write18</samp>’<a href='#index-_002ddisable_002dwrite18' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002denable_002dwrite18"></span> +<dt id='index-_002ddisable_002dwrite18'><span>‘<samp class="samp">-enable-write18</samp>’<a class="copiable-link" href='#index-_002ddisable_002dwrite18'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002denable_002dwrite18"></a> </dd> -<dt><span>‘<samp>-disable-write18</samp>’</span></dt> -<dd><p>Synonyms for <samp>-shell-escape</samp> and <samp>-no-shell-escape</samp>, for +<dt>‘<samp class="samp">-disable-write18</samp>’</dt> +<dd><p>Synonyms for <samp class="option">-shell-escape</samp> and <samp class="option">-no-shell-escape</samp>, for compatibility with MiKTeX. (MiKTeX also accepts both pairs of -options.) See <a href="#Shell-escapes">Shell escapes</a>. +options.) See <a class="xref" href="#Shell-escapes">Shell escapes</a>. </p> </dd> -<dt id='index-generating-source-specials'><span>‘<samp>-src-specials</samp>’<a href='#index-generating-source-specials' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-src-specials=<var>string</var></samp>’</span></dt> +<dt id='index-generating-source-specials'><span>‘<samp class="samp">-src-specials</samp>’<a class="copiable-link" href='#index-generating-source-specials'> ¶</a></span></dt> +<dt>‘<samp class="samp">-src-specials=<var class="var">string</var></samp>’</dt> <dd><p>This option makes TeX output specific source information using -‘<samp>\special</samp>’ commands in the DVI file. These ‘<samp>\special</samp>’ track +‘<samp class="samp">\special</samp>’ commands in the DVI file. These ‘<samp class="samp">\special</samp>’ track the current file name and line number. </p> -<p>Using the first form of this option, the ‘<samp>\special</samp>’ commands are +<p>Using the first form of this option, the ‘<samp class="samp">\special</samp>’ commands are inserted automatically. </p> -<p>In the second form of the option, <var>string</var> is -a comma separated list of the following values: ‘<samp>cr</samp>’, -‘<samp>display</samp>’, ‘<samp>hbox</samp>’, ‘<samp>math</samp>’, ‘<samp>par</samp>’, ‘<samp>parend</samp>’, -‘<samp>vbox</samp>’. You can use this list to specify where you want TeX to -output such commands. For example, ‘<samp>-src-specials=cr,math</samp>’ will +<p>In the second form of the option, <var class="var">string</var> is +a comma separated list of the following values: ‘<samp class="samp">cr</samp>’, +‘<samp class="samp">display</samp>’, ‘<samp class="samp">hbox</samp>’, ‘<samp class="samp">math</samp>’, ‘<samp class="samp">par</samp>’, ‘<samp class="samp">parend</samp>’, +‘<samp class="samp">vbox</samp>’. You can use this list to specify where you want TeX to +output such commands. For example, ‘<samp class="samp">-src-specials=cr,math</samp>’ will output source information every line and every math formula. </p> <p>These commands can be used with the appropriate DVI viewer and text @@ -1769,16 +1765,16 @@ editor to switch from the current position in the editor to the same position in the viewer and back from the viewer to the editor. </p> -<p>This option works by inserting ‘<samp>\special</samp>’ commands into the token +<p>This option works by inserting ‘<samp class="samp">\special</samp>’ commands into the token stream, and thus in principle these additional tokens can be recovered or seen by the tricky-enough macros. If you run across a case, let us know, because this counts as a bug. However, such bugs are very hard to fix, requiring significant changes to TeX, so please don’t count on it. </p> -<p>Redefining ‘<samp>\special</samp>’ will not affect the functioning of this +<p>Redefining ‘<samp class="samp">\special</samp>’ will not affect the functioning of this option. The commands inserted into the token stream are -hard-coded to always use the ‘<samp>\special</samp>’ primitive. +hard-coded to always use the ‘<samp class="samp">\special</samp>’ primitive. </p> <p>TeX does not pass the trip test when this option is enabled. </p> @@ -1788,131 +1784,131 @@ hard-coded to always use the ‘<samp>\special</samp>’ primitive. <hr> </div> -<div class="section" id="Initial-TeX"> -<div class="header"> +<div class="section-level-extent" id="Initial-TeX"> +<div class="nav-panel"> <p> -Next: <a href="#Formats" accesskey="n" rel="next">Formats</a>, Previous: <a href="#tex-invocation" accesskey="p" rel="prev"><code>tex</code> invocation</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Formats" accesskey="n" rel="next">Formats</a>, Previous: <a href="#tex-invocation" accesskey="p" rel="prev"><code class="code">tex</code> invocation</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Initial-TeX-1"></span><h3 class="section">5.2 Initial TeX</h3> +<h3 class="section" id="Initial-TeX-1">5.2 Initial TeX</h3> -<span id="index-initial-TeX"></span> -<span id="index-TeX_002c-initial"></span> +<a class="index-entry-id" id="index-initial-TeX"></a> +<a class="index-entry-id" id="index-TeX_002c-initial"></a> -<span id="index-_002efmt"></span> -<span id="index-fmt-files"></span> -<p>The <em>initial</em> form of TeX is invoked by ‘<samp>tex -ini</samp>’. It -does lengthy initializations avoided by the “virgin” (<code>vir</code>) -form, so as to be capable of dumping ‘<samp>.fmt</samp>’ files (see <a href="#Memory-dumps">Memory dumps</a>). For a detailed comparison of virgin and initial forms, -see <a href="#Initial-and-virgin">Initial and virgin</a>. +<a class="index-entry-id" id="index-_002efmt"></a> +<a class="index-entry-id" id="index-fmt-files"></a> +<p>The <em class="dfn">initial</em> form of TeX is invoked by ‘<samp class="samp">tex -ini</samp>’. It +does lengthy initializations avoided by the “virgin” (<code class="code">vir</code>) +form, so as to be capable of dumping ‘<samp class="samp">.fmt</samp>’ files (see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). For a detailed comparison of virgin and initial forms, +see <a class="pxref" href="#Initial-and-virgin">Initial and virgin</a>. </p> -<p>For a list of options and other information, see <a href="#tex-invocation"><code>tex</code> invocation</a>. +<p>For a list of options and other information, see <a class="pxref" href="#tex-invocation"><code class="code">tex</code> invocation</a>. </p> -<span id="index-plain_002efmt"></span> -<span id="index-tex_002efmt"></span> -<span id="index-format-files"></span> +<a class="index-entry-id" id="index-plain_002efmt"></a> +<a class="index-entry-id" id="index-tex_002efmt"></a> +<a class="index-entry-id" id="index-format-files"></a> <p>Unlike Metafont and MetaPost, many format files are commonly used with TeX. The standard one implementing the features described in the -<cite>TeXbook</cite> is ‘<samp>plain.fmt</samp>’, also known as ‘<samp>tex.fmt</samp>’ -(again, see <a href="#Memory-dumps">Memory dumps</a>). It is created by default during +<cite class="cite">TeXbook</cite> is ‘<samp class="samp">plain.fmt</samp>’, also known as ‘<samp class="samp">tex.fmt</samp>’ +(again, see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). It is created by default during installation, but you can also do so by hand if necessary (e.g., if an -update to <samp>plain.tex</samp> is issued): +update to <samp class="file">plain.tex</samp> is issued): </p><div class="example"> -<pre class="example">tex -ini '\input plain \dump' +<pre class="example-preformatted">tex -ini '\input plain \dump' </pre></div> <p>(The quotes prevent interpretation of the backslashes from the shell.) -Then install the resulting <samp>plain.fmt</samp> in ‘<samp>$(fmtdir)</samp>’ -(<samp>/usr/local/share/texmf/web2c</samp> by default), and link -<samp>tex.fmt</samp> to it. +Then install the resulting <samp class="file">plain.fmt</samp> in ‘<samp class="samp">$(fmtdir)</samp>’ +(<samp class="file">/usr/local/share/texmf/web2c</samp> by default), and link +<samp class="file">tex.fmt</samp> to it. </p> <p>The necessary invocation for generating a format file differs for each format, so instructions that come with the format should explain. The -top-level <samp>web2c</samp> Makefile has targets for making most common -formats: <tt>plain latex amstex texinfo eplain</tt>. See <a href="#Formats">Formats</a>, for +top-level <samp class="file">web2c</samp> Makefile has targets for making most common +formats: <code class="t">plain latex amstex texinfo eplain</code>. See <a class="xref" href="#Formats">Formats</a>, for more details on TeX formats. </p> <hr> </div> -<div class="section" id="Formats"> -<div class="header"> +<div class="section-level-extent" id="Formats"> +<div class="nav-panel"> <p> Next: <a href="#Languages-and-hyphenation" accesskey="n" rel="next">Languages and hyphenation</a>, Previous: <a href="#Initial-TeX" accesskey="p" rel="prev">Initial TeX</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Formats-1"></span><h3 class="section">5.3 Formats</h3> +<h3 class="section" id="Formats-1">5.3 Formats</h3> -<span id="index-formats-for-TeX"></span> -<span id="index-TeX_002c-format-packages-for"></span> -<span id="index-macro-packages_002c-major-TeX"></span> +<a class="index-entry-id" id="index-formats-for-TeX"></a> +<a class="index-entry-id" id="index-TeX_002c-format-packages-for"></a> +<a class="index-entry-id" id="index-macro-packages_002c-major-TeX"></a> -<p>TeX <em>formats</em> are large collections of macros, often dumped -into a <samp>.fmt</samp> file (see <a href="#Memory-dumps">Memory dumps</a>) by <code>tex -ini</code> -(see <a href="#Initial-TeX">Initial TeX</a>). A number of formats are in reasonably +<p>TeX <em class="dfn">formats</em> are large collections of macros, often dumped +into a <samp class="file">.fmt</samp> file (see <a class="pxref" href="#Memory-dumps">Memory dumps</a>) by <code class="code">tex -ini</code> +(see <a class="pxref" href="#Initial-TeX">Initial TeX</a>). A number of formats are in reasonably widespread use, and the Web2c Makefile has targets to make the versions current at the time of release. You can change which formats are -automatically built by setting the <code>fmts</code> Make variable; by default, -only the ‘<samp>plain</samp>’ and ‘<samp>latex</samp>’ formats are made. +automatically built by setting the <code class="code">fmts</code> Make variable; by default, +only the ‘<samp class="samp">plain</samp>’ and ‘<samp class="samp">latex</samp>’ formats are made. </p> <p>Nowadays, the formats are generally installed and updated as part of a larger TeX distribution, such as TeX Live -(<a href="https://tug.org/texlive">https://tug.org/texlive</a>). +(<a class="url" href="https://tug.org/texlive">https://tug.org/texlive</a>). </p> -<dl compact="compact"> -<dt id='index-LaTeX'><span><tt>latex</tt><a href='#index-LaTeX' class='copiable-anchor'> ¶</a></span></dt> +<dl class="table"> +<dt id='index-LaTeX'><span><code class="t">latex</code><a class="copiable-link" href='#index-LaTeX'> ¶</a></span></dt> <dd><p>The most widely used format. The current release is named ‘LaTeX2e’; new versions are released approximately every six months, with patches issued as needed. The old release was called ‘LaTeX 2.09’, and is no longer maintained or supported. LaTeX attempts to provide generic markup instructions, such as “emphasize”, instead of specific typesetting instructions, such as -“use the 10pt Computer Modern italic font”. The LaTeX home -page: <a href="https://www.latex-project.org">https://www.latex-project.org</a>. +“use the 10<span class="dmn">pt</span> Computer Modern italic font”. The LaTeX home +page: <a class="url" href="https://www.latex-project.org">https://www.latex-project.org</a>. </p> </dd> -<dt id='index-ConTeXt'><span><tt>context</tt><a href='#index-ConTeXt' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-ConTeXt'><span><code class="t">context</code><a class="copiable-link" href='#index-ConTeXt'> ¶</a></span></dt> <dd><p>ConTeXt is an independent macro package which has a basic document structuring approach similar to LaTeX. It also supports creating interactive PDF files and has integrated MetaPost support, among many other interesting features. The ConTeXt home page: -<a href="http://www.pragma-ade.com">http://www.pragma-ade.com</a>. +<a class="url" href="http://www.pragma-ade.com">http://www.pragma-ade.com</a>. </p> </dd> -<dt id='index-AMSTeX'><span><tt>amstex</tt><a href='#index-AMSTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-American-Mathematical-Society_002c-typesetting-system"></span> -<span id="index-Mathematical-Reviews"></span> +<dt id='index-AMSTeX'><span><code class="t">amstex</code><a class="copiable-link" href='#index-AMSTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-American-Mathematical-Society_002c-typesetting-system"></a> +<a class="index-entry-id" id="index-Mathematical-Reviews"></a> <p>The official typesetting system of the American Mathematical Society. Like LaTeX, it encourages generic markup commands. The AMS also provides many LaTeX packages for authors who prefer LaTeX. Taken together, they are used to produce nearly all AMS publications, e.g., -<cite>Mathematical Reviews</cite>. The AMSTeX home page: -<a href="https://www.ams.org/tex">https://www.ams.org/tex</a>. +<cite class="cite">Mathematical Reviews</cite>. The AMSTeX home page: +<a class="url" href="https://www.ams.org/tex">https://www.ams.org/tex</a>. </p> </dd> -<dt id='index-Texinfo'><span><tt>texinfo</tt><a href='#index-Texinfo' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Info-format"></span> -<span id="index-Free-Software-Foundation-documentation-system"></span> +<dt id='index-Texinfo'><span><code class="t">texinfo</code><a class="copiable-link" href='#index-Texinfo'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Info-format"></a> +<a class="index-entry-id" id="index-Free-Software-Foundation-documentation-system"></a> <p>The documentation system developed and maintained by the Free Software Foundation for their software manuals. It can be automatically converted into plain text, a machine-readable on-line format called ‘info’, HTML, etc. The Texinfo home page: -<a href="https://www.gnu.org/software/texinfo">https://www.gnu.org/software/texinfo</a>. +<a class="url" href="https://www.gnu.org/software/texinfo">https://www.gnu.org/software/texinfo</a>. </p> </dd> -<dt id='index-Eplain'><span><tt>eplain</tt><a href='#index-Eplain' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-expanded-plain-format"></span> +<dt id='index-Eplain'><span><code class="t">eplain</code><a class="copiable-link" href='#index-Eplain'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-expanded-plain-format"></a> <p>The “expanded plain” format provides various common features (e.g., symbolic cross-referencing, tables of contents, indexing, citations using BibTeX), for those authors who prefer to handle their own high-level formatting. The Eplain home page: -<a href="https://tug.org/eplain">https://tug.org/eplain</a>. +<a class="url" href="https://tug.org/eplain">https://tug.org/eplain</a>. </p> </dd> -<dt id='index-SliTeX'><span><tt>slitex</tt><a href='#index-SliTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-slides_002c-producing"></span> -<span id="index-beamer_002c-package"></span> +<dt id='index-SliTeX'><span><code class="t">slitex</code><a class="copiable-link" href='#index-SliTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-slides_002c-producing"></a> +<a class="index-entry-id" id="index-beamer_002c-package"></a> <p>An obsolete LaTeX 2.09 format for making slides. It is replaced by -the ‘<samp>slides</samp>’ document class, although the ‘<samp>beamer</samp>’ package +the ‘<samp class="samp">slides</samp>’ document class, although the ‘<samp class="samp">beamer</samp>’ package is the most commonly method for making slides nowadays. The Beamer -page on CTAN: <a href="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</a>. +page on CTAN: <a class="url" href="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer</a>. </p> </dd> </dl> @@ -1920,43 +1916,43 @@ page on CTAN: <a href="https://ctan.org/pkg/beamer">https://ctan.org/pkg/beamer< <hr> </div> -<div class="section" id="Languages-and-hyphenation"> -<div class="header"> +<div class="section-level-extent" id="Languages-and-hyphenation"> +<div class="nav-panel"> <p> Next: <a href="#Shell-escapes" accesskey="n" rel="next">Shell escapes</a>, Previous: <a href="#Formats" accesskey="p" rel="prev">Formats</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Languages-and-hyphenation-1"></span><h3 class="section">5.4 Languages and hyphenation</h3> +<h3 class="section" id="Languages-and-hyphenation-1">5.4 Languages and hyphenation</h3> -<span id="index-language-support-in-TeX"></span> -<span id="index-human-languages_002c-supported-in-TeX"></span> -<span id="index-hyphenation-and-languages"></span> +<a class="index-entry-id" id="index-language-support-in-TeX"></a> +<a class="index-entry-id" id="index-human-languages_002c-supported-in-TeX"></a> +<a class="index-entry-id" id="index-hyphenation-and-languages"></a> -<p>TeX supports most natural languages. See also <a href="#TeX-extensions">TeX extensions</a>. +<p>TeX supports most natural languages. See also <a class="ref" href="#TeX-extensions">TeX extensions</a>. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#MLTeX" accesskey="1">MLTeX: Multi-lingual TeX</a></li> <li><a href="#TCX-files" accesskey="2">TCX files: Character translations</a></li> <li><a href="#patgen-invocation" accesskey="3">Patgen: Creating hyphenation patterns</a></li> </ul> <hr> -<div class="subsection" id="MLTeX"> -<div class="header"> +<div class="subsection-level-extent" id="MLTeX"> +<div class="nav-panel"> <p> Next: <a href="#TCX-files" accesskey="n" rel="next">TCX files: Character translations</a>, Up: <a href="#Languages-and-hyphenation" accesskey="u" rel="up">Languages and hyphenation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="MLTeX_003a-Multi_002dlingual-TeX"></span><h4 class="subsection">5.4.1 MLTeX: Multi-lingual TeX</h4> +<h4 class="subsection" id="MLTeX_003a-Multi_002dlingual-TeX">5.4.1 MLTeX: Multi-lingual TeX</h4> -<span id="index-mltex"></span> -<span id="index-Multi_002dlingual-TeX"></span> +<a class="index-entry-id" id="index-mltex"></a> +<a class="index-entry-id" id="index-Multi_002dlingual-TeX"></a> -<span id="index-Ferguson_002c-Michael"></span> -<span id="index-Raichle_002c-Bernd"></span> -<span id="index-accents_002c-hyphenating-words-with"></span> -<span id="index-glyph-substitutions"></span> -<span id="index-substitutions-of-font-glyphs"></span> -<p>Multi-lingual TeX (<code>mltex</code>) is an extension of TeX originally +<a class="index-entry-id" id="index-Ferguson_002c-Michael"></a> +<a class="index-entry-id" id="index-Raichle_002c-Bernd"></a> +<a class="index-entry-id" id="index-accents_002c-hyphenating-words-with"></a> +<a class="index-entry-id" id="index-glyph-substitutions"></a> +<a class="index-entry-id" id="index-substitutions-of-font-glyphs"></a> +<p>Multi-lingual TeX (<code class="code">mltex</code>) is an extension of TeX originally written by Michael Ferguson and now updated and maintained by Bernd Raichle. With the advent of Unicode, it has become obsolete, though it is still supported in Web2c in the event of bugs or compilation @@ -1965,7 +1961,7 @@ bugs. <p>MLTeX allows the use of non-existing glyphs in a font by declaring glyph substitutions. These are restricted to substitutions of an accented character glyph, which need not be defined in the current -font, by its appropriate <code>\accent</code> construction using a base and +font, by its appropriate <code class="code">\accent</code> construction using a base and accent character glyph, which do have to exist in the current font. This substitution is automatically done behind the scenes, if necessary, and thus MLTeX additionally supports hyphenation of @@ -1973,12 +1969,12 @@ words containing an accented character glyph for fonts missing this glyph (e.g., Computer Modern). Standard TeX suppresses hyphenation in this case. </p> -<p>MLTeX works at <samp>.fmt</samp>-creation time: the basic idea is to -specify the ‘<samp>-mltex</samp>’ option to TeX when you <code>\dump</code> a +<p>MLTeX works at <samp class="file">.fmt</samp>-creation time: the basic idea is to +specify the ‘<samp class="samp">-mltex</samp>’ option to TeX when you <code class="code">\dump</code> a format. Then, when you subsequently invoke TeX and read that -<code>.fmt</code> file, the MLTeX features described below will be enabled. +<code class="code">.fmt</code> file, the MLTeX features described below will be enabled. </p> -<p>Generally, you use special macro files to create an MLTeX <code>.fmt</code> +<p>Generally, you use special macro files to create an MLTeX <code class="code">.fmt</code> file. </p> <p>The sections below describe the two new primitives that MLTeX defines. @@ -1986,114 +1982,114 @@ Aside from these, MLTeX is completely compatible with standard TeX. </p> -<ul class="section-toc"> -<li><a href="#g_t_005ccharsubdef" accesskey="1"><code>\charsubdef</code>: Character substitutions</a></li> -<li><a href="#g_t_005ctracingcharsubdef" accesskey="2"><code>\tracingcharsubdef</code>: Substitution diagnostics</a></li> +<ul class="mini-toc"> +<li><a href="#g_t_005ccharsubdef" accesskey="1"><code class="code">\charsubdef</code>: Character substitutions</a></li> +<li><a href="#g_t_005ctracingcharsubdef" accesskey="2"><code class="code">\tracingcharsubdef</code>: Substitution diagnostics</a></li> </ul> <hr> -<div class="subsubsection" id="g_t_005ccharsubdef"> -<div class="header"> +<div class="subsubsection-level-extent" id="g_t_005ccharsubdef"> +<div class="nav-panel"> <p> -Next: <a href="#g_t_005ctracingcharsubdef" accesskey="n" rel="next"><code>\tracingcharsubdef</code>: Substitution diagnostics</a>, Up: <a href="#MLTeX" accesskey="u" rel="up">MLTeX: Multi-lingual TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#g_t_005ctracingcharsubdef" accesskey="n" rel="next"><code class="code">\tracingcharsubdef</code>: Substitution diagnostics</a>, Up: <a href="#MLTeX" accesskey="u" rel="up">MLTeX: Multi-lingual TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_005ccharsubdef_003a-Character-substitutions"></span><h4 class="subsubsection">5.4.1.1 <code>\charsubdef</code>: Character substitutions</h4> +<h4 class="subsubsection" id="g_t_005ccharsubdef_003a-Character-substitutions">5.4.1.1 <code class="code">\charsubdef</code>: Character substitutions</h4> -<span id="index-_005ccharsubdef-and-MLTeX"></span> +<a class="index-entry-id" id="index-_005ccharsubdef-and-MLTeX"></a> -<p>The most important primitive MLTeX adds is <code>\charsubdef</code>, used -in a way reminiscent of <code>\chardef</code>: +<p>The most important primitive MLTeX adds is <code class="code">\charsubdef</code>, used +in a way reminiscent of <code class="code">\chardef</code>: </p><div class="example"> -<pre class="example">\charsubdef <var>composite</var> [=] <var>accent</var> <var>base</var> +<pre class="example-preformatted">\charsubdef <var class="var">composite</var> [=] <var class="var">accent</var> <var class="var">base</var> </pre></div> -<p>Each of <var>composite</var>, <var>accent</var>, and <var>base</var> are font glyph -numbers, expressed in the usual TeX syntax: <tt>`\e</tt> symbolically, -<tt>'145</tt> for octal, <tt>"65</tt> for hex, <tt>101</tt> for decimal. +<p>Each of <var class="var">composite</var>, <var class="var">accent</var>, and <var class="var">base</var> are font glyph +numbers, expressed in the usual TeX syntax: <code class="t">`\e</code> symbolically, +<code class="t">'145</code> for octal, <code class="t">"65</code> for hex, <code class="t">101</code> for decimal. </p> -<p>MLTeX’s <code>\charsubdef</code> declares how to construct an accented +<p>MLTeX’s <code class="code">\charsubdef</code> declares how to construct an accented character glyph (not necessarily existing in the current font) using two character glyphs (that do exist). Thus it defines whether a character -glyph code, either typed as a single character or using the <code>\char</code> -primitive, will be mapped to a font glyph or to an <code>\accent</code> glyph +glyph code, either typed as a single character or using the <code class="code">\char</code> +primitive, will be mapped to a font glyph or to an <code class="code">\accent</code> glyph construction. </p> <p>For example, if you assume glyph code 138 -<span id="index-e_002dcircumflex"></span> +<a class="index-entry-id" id="index-e_002dcircumflex"></a> (decimal) for an e-circumflex and you are using the Computer Modern fonts, which have the circumflex accent in position 18 and lowercase ‘e’ in the usual ASCII position 101 -decimal, you would use <code>\charsubdef</code> as follows: +decimal, you would use <code class="code">\charsubdef</code> as follows: </p> <div class="example"> -<pre class="example">\charsubdef 138 = 18 101 +<pre class="example-preformatted">\charsubdef 138 = 18 101 </pre></div> <p>For the plain TeX format to make use of this substitution, you have -to redefine the circumflex accent macro <code>\^</code> in such a way that if -its argument is character ‘e’ the expansion <code>\char138 </code> is used -instead of <code>\accent18 e</code>. Similar <code>\charsubdef</code> declaration +to redefine the circumflex accent macro <code class="code">\^</code> in such a way that if +its argument is character ‘e’ the expansion <code class="code">\char138 </code> is used +instead of <code class="code">\accent18 e</code>. Similar <code class="code">\charsubdef</code> declaration and macro redefinitions have to be done for all other accented characters. </p> -<p>To disable a previous <code>\charsubdef <var>c</var></code>, redefine <var>c</var> +<p>To disable a previous <code class="code">\charsubdef <var class="var">c</var></code>, redefine <var class="var">c</var> as a pair of zeros. For example: </p><div class="example"> -<pre class="example">\charsubdef '321 = 0 0 % disable N tilde +<pre class="example-preformatted">\charsubdef '321 = 0 0 % disable N tilde </pre></div> -<span id="index-N-tilde"></span> -<p>(Octal <tt>'321</tt> is the ISO Latin-1 value for the Spanish N tilde.) +<a class="index-entry-id" id="index-N-tilde"></a> +<p>(Octal <code class="t">'321</code> is the ISO Latin-1 value for the Spanish N tilde.) </p> -<p><code>\charsubdef</code> commands should only be given once. Although in -principle you can use <code>\charsubdef</code> at any time, the result is -unspecified. If <code>\charsubdef</code> declarations are changed, usually +<p><code class="code">\charsubdef</code> commands should only be given once. Although in +principle you can use <code class="code">\charsubdef</code> at any time, the result is +unspecified. If <code class="code">\charsubdef</code> declarations are changed, usually either incorrect character dimensions will be used or MLTeX will output missing character warnings. (The substitution of a -<code>\charsubdef</code> is used by TeX when appending the character node +<code class="code">\charsubdef</code> is used by TeX when appending the character node to the current horizontal list, to compute the width of a horizontal box -when the box gets packed, and when building the <code>\accent</code> -construction at <code>\shipout</code>-time. In summary, the substitution is +when the box gets packed, and when building the <code class="code">\accent</code> +construction at <code class="code">\shipout</code>-time. In summary, the substitution is accessed often, so changing it is not desirable, nor generally useful.) </p> <hr> </div> -<div class="subsubsection" id="g_t_005ctracingcharsubdef"> -<div class="header"> +<div class="subsubsection-level-extent" id="g_t_005ctracingcharsubdef"> +<div class="nav-panel"> <p> -Previous: <a href="#g_t_005ccharsubdef" accesskey="p" rel="prev"><code>\charsubdef</code>: Character substitutions</a>, Up: <a href="#MLTeX" accesskey="u" rel="up">MLTeX: Multi-lingual TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Previous: <a href="#g_t_005ccharsubdef" accesskey="p" rel="prev"><code class="code">\charsubdef</code>: Character substitutions</a>, Up: <a href="#MLTeX" accesskey="u" rel="up">MLTeX: Multi-lingual TeX</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="g_t_005ctracingcharsubdef_003a-Substitution-diagnostics"></span><h4 class="subsubsection">5.4.1.2 <code>\tracingcharsubdef</code>: Substitution diagnostics</h4> +<h4 class="subsubsection" id="g_t_005ctracingcharsubdef_003a-Substitution-diagnostics">5.4.1.2 <code class="code">\tracingcharsubdef</code>: Substitution diagnostics</h4> -<span id="index-_005ctracingcharsubdef-and-MLTeX"></span> -<span id="index-redefined-character-substitutions"></span> -<p>To help diagnose problems with ‘<samp>\charsubdef</samp>’, MLTeX provides a -new primitive parameter, <code>\tracingcharsubdef</code>. If positive, every -use of <code>\charsubdef</code> will be reported. This can help track down +<a class="index-entry-id" id="index-_005ctracingcharsubdef-and-MLTeX"></a> +<a class="index-entry-id" id="index-redefined-character-substitutions"></a> +<p>To help diagnose problems with ‘<samp class="samp">\charsubdef</samp>’, MLTeX provides a +new primitive parameter, <code class="code">\tracingcharsubdef</code>. If positive, every +use of <code class="code">\charsubdef</code> will be reported. This can help track down when a character is redefined. </p> -<span id="index-_005ctracinglostchars-and-MLTeX"></span> -<p>In addition, if the TeX parameter <code>\tracinglostchars</code> is 100 or +<a class="index-entry-id" id="index-_005ctracinglostchars-and-MLTeX"></a> +<p>In addition, if the TeX parameter <code class="code">\tracinglostchars</code> is 100 or more, the character substitutions actually performed at -<code>\shipout</code>-time will be recorded. +<code class="code">\shipout</code>-time will be recorded. </p> <hr> </div> </div> -<div class="subsection" id="TCX-files"> -<div class="header"> +<div class="subsection-level-extent" id="TCX-files"> +<div class="nav-panel"> <p> Next: <a href="#patgen-invocation" accesskey="n" rel="next">Patgen: Creating hyphenation patterns</a>, Previous: <a href="#MLTeX" accesskey="p" rel="prev">MLTeX: Multi-lingual TeX</a>, Up: <a href="#Languages-and-hyphenation" accesskey="u" rel="up">Languages and hyphenation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="TCX-files_003a-Character-translations"></span><h4 class="subsection">5.4.2 TCX files: Character translations</h4> +<h4 class="subsection" id="TCX-files_003a-Character-translations">5.4.2 TCX files: Character translations</h4> -<span id="index-TCX-character-translation-files"></span> -<span id="index-_002etcx-character-translation-files-1"></span> -<span id="index-character-translation-files"></span> +<a class="index-entry-id" id="index-TCX-character-translation-files"></a> +<a class="index-entry-id" id="index-_002etcx-character-translation-files-1"></a> +<a class="index-entry-id" id="index-character-translation-files"></a> -<span id="index-international-characters"></span> -<span id="index-8_002dbit-characters"></span> -<span id="index-accented-character"></span> +<a class="index-entry-id" id="index-international-characters"></a> +<a class="index-entry-id" id="index-8_002dbit-characters"></a> +<a class="index-entry-id" id="index-accented-character"></a> <p>TCX (TeX character translation) files help TeX support direct input of 8-bit international characters if fonts containing those characters are being used. Specifically, they map an input (keyboard) @@ -2102,7 +2098,7 @@ ASCII). </p> <p>Of the various proposals for handling more than one input encoding, TCX files were chosen because they follow Knuth’s original ideas for -the use of the ‘<samp>xchr</samp>’ and ‘<samp>xord</samp>’ tables. He ventured that +the use of the ‘<samp class="samp">xchr</samp>’ and ‘<samp class="samp">xord</samp>’ tables. He ventured that these would be changed in the WEB source in order to adjust the actual version to a given environment. It turns out, however, that recompiling the WEB sources is not as simple a task as Knuth may have @@ -2117,44 +2113,44 @@ the worst case, failure to do so correctly may result in subtle errors in the typeset output. But we feel the benefits outweigh these disadvantages. </p> -<p>This is entirely independent of the MLTeX extension (see <a href="#MLTeX">MLTeX: Multi-lingual TeX</a>): +<p>This is entirely independent of the MLTeX extension (see <a class="pxref" href="#MLTeX">MLTeX: Multi-lingual TeX</a>): whereas a TCX file defines how an input keyboard character is mapped to TeX’s internal code, MLTeX defines substitutions for a -non-existing character glyph in a font with a <code>\accent</code> +non-existing character glyph in a font with a <code class="code">\accent</code> construction made out of two separate character glyphs. TCX files involve no new primitives; it is not possible to specify that an input (keyboard) character maps to more than one character. </p> -<span id="index-WEB2C_002c-search-path-for-TCX-files"></span> +<a class="index-entry-id" id="index-WEB2C_002c-search-path-for-TCX-files"></a> <p>Information on specifying TCX files: </p> -<ul> -<li> The best way to specify a TCX file is to list it explicitly in the +<ul class="itemize mark-bullet"> +<li>The best way to specify a TCX file is to list it explicitly in the first line of the main document: <div class="example"> -<pre class="example">%& -translate-file=<var>tcxfile</var> +<pre class="example-preformatted">%& -translate-file=<var class="var">tcxfile</var> </pre></div> -</li><li> You can also specify a TCX file to be used on a particular TeX run -with the command-line option ‘<samp>-translate-file=<var>tcxfile</var></samp>’. +</li><li>You can also specify a TCX file to be used on a particular TeX run +with the command-line option ‘<samp class="samp">-translate-file=<var class="var">tcxfile</var></samp>’. -</li><li> TCX files are searched for along the <code>WEB2C</code> path. +</li><li>TCX files are searched for along the <code class="code">WEB2C</code> path. -</li><li> Initial TeX (see <a href="#Initial-TeX">Initial TeX</a>) ignores TCX files. +</li><li>Initial TeX (see <a class="pxref" href="#Initial-TeX">Initial TeX</a>) ignores TCX files. </li></ul> -<span id="index-il1_002dt1_002etcx"></span> -<span id="index-il2_002dt1_002etcx"></span> -<span id="index-empty_002etcx"></span> -<span id="index-Cork-encoding-and-ISO-input"></span> -<span id="index-T1-encoding-and-ISO-input"></span> +<a class="index-entry-id" id="index-il1_002dt1_002etcx"></a> +<a class="index-entry-id" id="index-il2_002dt1_002etcx"></a> +<a class="index-entry-id" id="index-empty_002etcx"></a> +<a class="index-entry-id" id="index-Cork-encoding-and-ISO-input"></a> +<a class="index-entry-id" id="index-T1-encoding-and-ISO-input"></a> <p>The Web2c distribution comes with a number of TCX files. Two -important ones are <samp>il1-t1.tcx</samp> and <samp>il2-t1.tcx</samp>, which +important ones are <samp class="file">il1-t1.tcx</samp> and <samp class="file">il2-t1.tcx</samp>, which support ISO Latin 1 and ISO Latin 2, respectively, with Cork-encoded fonts (a.k.a. the LaTeX T1 encoding). TCX files for Czech, Polish, and Slovak are also provided. </p> -<p>One other notable TCX file is <samp>empty.tcx</samp>, which is, well, +<p>One other notable TCX file is <samp class="file">empty.tcx</samp>, which is, well, empty. Its purpose is to reset Web2C’s behavior to the default (only visible ASCII being printable, as described below) when a format was dumped with another TCX being active—which is in fact the case for @@ -2162,80 +2158,80 @@ everything but plain TeX in the TeX Live and other distributions. Thus: </p> <div class="example"> -<pre class="example">latex somefile8.tex +<pre class="example-preformatted">latex somefile8.tex ⇒ terminal etc. output with 8-bit chars latex --translate-file=empty.tcx somefile8.tex ⇒ terminal etc. output with ^^ notation </pre></div> -<span id="index-syntax-of-TCX-files"></span> +<a class="index-entry-id" id="index-syntax-of-TCX-files"></a> <p>Syntax of TCX files: -</p><ol> -<li> <span id="index-blank-lines_002c-in-TCX-files"></span> +</p><ol class="enumerate"> +<li> <a class="index-entry-id" id="index-blank-lines_002c-in-TCX-files"></a> Line-oriented. Blank lines are ignored. -</li><li> <span id="index-whitespace_002c-in-TCX-files"></span> +</li><li> <a class="index-entry-id" id="index-whitespace_002c-in-TCX-files"></a> Whitespace is ignored except as a separator. -</li><li> <span id="index-comments_002c-in-TCX-files"></span> -Comments start with ‘<samp>%</samp>’ and continue to the end of the line. +</li><li> <a class="index-entry-id" id="index-comments_002c-in-TCX-files"></a> +Comments start with ‘<samp class="samp">%</samp>’ and continue to the end of the line. </li><li> Otherwise, a line consists of one or two character codes, optionally -followed by 0 or 1. The last number indicates whether <var>dest</var> is +followed by 0 or 1. The last number indicates whether <var class="var">dest</var> is considered printable. <div class="example"> -<pre class="example"><var>src</var> [<var>dest</var> [<var>prnt</var>]] +<pre class="example-preformatted"><var class="var">src</var> [<var class="var">dest</var> [<var class="var">prnt</var>]] </pre></div> -</li><li> <span id="index-character-codes_002c-in-TCX-files"></span> -<span id="index-octal-character-codes_002c-in-TCX-files"></span> -<span id="index-hex-character-codes_002c-in-TCX-files"></span> -<span id="index-decimal-character-codes_002c-in-TCX-files"></span> -Each character code may be specified in octal with a leading ‘<samp>0</samp>’, -hexadecimal with a leading ‘<samp>0x</samp>’, or decimal otherwise. Values must +</li><li> <a class="index-entry-id" id="index-character-codes_002c-in-TCX-files"></a> +<a class="index-entry-id" id="index-octal-character-codes_002c-in-TCX-files"></a> +<a class="index-entry-id" id="index-hex-character-codes_002c-in-TCX-files"></a> +<a class="index-entry-id" id="index-decimal-character-codes_002c-in-TCX-files"></a> +Each character code may be specified in octal with a leading ‘<samp class="samp">0</samp>’, +hexadecimal with a leading ‘<samp class="samp">0x</samp>’, or decimal otherwise. Values must be between 0 and 255, inclusive (decimal). -</li><li> If the <var>dest</var> code is not specified, it is taken to be the same as -<var>src</var>. +</li><li> If the <var class="var">dest</var> code is not specified, it is taken to be the same as +<var class="var">src</var>. -</li><li> If the same <var>src</var> code is specified more than once, it is the last +</li><li> If the same <var class="var">src</var> code is specified more than once, it is the last definition that counts. </li></ol> -<span id="index-printable-characters_002c-specifying"></span> -<span id="index-_005e_005e-notation_002c-avoiding"></span> +<a class="index-entry-id" id="index-printable-characters_002c-specifying"></a> +<a class="index-entry-id" id="index-_005e_005e-notation_002c-avoiding"></a> <p>Finally, here’s what happens: when TeX sees an input character with -code <var>src</var>, it 1) changes <var>src</var> to <var>dest</var>; and 2) makes the -<var>dest</var> code “printable”, i.e., printed as-is in diagnostics and the -log file rather than in ‘<samp>^^</samp>’ notation. +code <var class="var">src</var>, it 1) changes <var class="var">src</var> to <var class="var">dest</var>; and 2) makes the +<var class="var">dest</var> code “printable”, i.e., printed as-is in diagnostics and the +log file rather than in ‘<samp class="samp">^^</samp>’ notation. </p> <p>By default, no characters are translated, and character codes between 32 and 126 inclusive (decimal) are printable. </p> <p>Specifying translations for the printable ASCII characters (codes 32–127) will yield unpredictable results. Additionally you shouldn’t -make the following characters printable: <code>^^I</code> (TAB), <code>^^J</code> -(line feed), <code>^^M</code> (carriage return), and <code>^^?</code> (delete), +make the following characters printable: <code class="code">^^I</code> (TAB), <code class="code">^^J</code> +(line feed), <code class="code">^^M</code> (carriage return), and <code class="code">^^?</code> (delete), since TeX uses them in various ways. </p> -<span id="index-font-character-code_002c-translating"></span> -<span id="index-keyboard-character-code_002c-translating"></span> +<a class="index-entry-id" id="index-font-character-code_002c-translating"></a> +<a class="index-entry-id" id="index-keyboard-character-code_002c-translating"></a> <p>Thus, the idea is to specify the input (keyboard) character code for -<var>src</var>, and the output (font) character code for <var>dest</var>. +<var class="var">src</var>, and the output (font) character code for <var class="var">dest</var>. </p> -<span id="index-interaction-between-TCX-files-and-_002d8bit_002e"></span> +<a class="index-entry-id" id="index-interaction-between-TCX-files-and-_002d8bit_002e"></a> <p>By default, only the printable ASCII characters are considered printable -by TeX. If you specify the ‘<samp>-8bit</samp>’ option, all characters are -considered printable by default. If you specify both the ‘<samp>-8bit</samp>’ +by TeX. If you specify the ‘<samp class="samp">-8bit</samp>’ option, all characters are +considered printable by default. If you specify both the ‘<samp class="samp">-8bit</samp>’ option and a TCX file, then the TCX can set specific characters to be non-printable. </p> <p>Both the specified TCX encoding and whether characters are printable -are saved in the dump files (like <samp>tex.fmt</samp>). So by giving these -options in combination with ‘<samp>-ini</samp>’, you control the defaults seen +are saved in the dump files (like <samp class="file">tex.fmt</samp>). So by giving these +options in combination with ‘<samp class="samp">-ini</samp>’, you control the defaults seen by anyone who uses the resulting dump file. </p> -<p>When loading a dump, if the ‘<samp>-8bit</samp>’ option was given, then all +<p>When loading a dump, if the ‘<samp class="samp">-8bit</samp>’ option was given, then all characters become printable by default. </p> <p>When loading a dump, if a TCX file was specified, then the TCX data from @@ -2244,140 +2240,140 @@ the dump is ignored and the data from the file used instead. <hr> </div> -<div class="subsection" id="patgen-invocation"> -<div class="header"> +<div class="subsection-level-extent" id="patgen-invocation"> +<div class="nav-panel"> <p> Previous: <a href="#TCX-files" accesskey="p" rel="prev">TCX files: Character translations</a>, Up: <a href="#Languages-and-hyphenation" accesskey="u" rel="up">Languages and hyphenation</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Patgen_003a-Creating-hyphenation-patterns"></span><h4 class="subsection">5.4.3 Patgen: Creating hyphenation patterns</h4> +<h4 class="subsection" id="Patgen_003a-Creating-hyphenation-patterns">5.4.3 Patgen: Creating hyphenation patterns</h4> -<span id="index-patgen"></span> -<span id="index-hyphenation-patterns_002c-creating"></span> -<span id="index-languages_002c-hyphenation-rules-for"></span> +<a class="index-entry-id" id="index-patgen"></a> +<a class="index-entry-id" id="index-hyphenation-patterns_002c-creating"></a> +<a class="index-entry-id" id="index-languages_002c-hyphenation-rules-for"></a> <p>Patgen creates hyphenation patterns from dictionary files for use with TeX. Synopsis: </p> <div class="example"> -<pre class="example">patgen <var>dictionary</var> <var>patterns</var> <var>output</var> <var>translate</var> +<pre class="example-preformatted">patgen <var class="var">dictionary</var> <var class="var">patterns</var> <var class="var">output</var> <var class="var">translate</var> </pre></div> <p>Each argument is a filename. No path searching is done. The output is -written to the file <var>output</var>. +written to the file <var class="var">output</var>. </p> <p>In addition, Patgen prompts interactively for other values. </p> -<p>For more information, see <cite>Word hy-phen-a-tion by com-put-er</cite> by -Frank Liang (see <a href="#References">References</a>), and also the <samp>patgen.web</samp> source file. +<p>For more information, see <cite class="cite">Word hy-phen-a-tion by com-put-er</cite> by +Frank Liang (see <a class="pxref" href="#References">References</a>), and also the <samp class="file">patgen.web</samp> source file. </p> -<p>The only options are ‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>). </p> <hr> </div> </div> -<div class="section" id="Shell-escapes"> -<div class="header"> +<div class="section-level-extent" id="Shell-escapes"> +<div class="nav-panel"> <p> Next: <a href="#IPC-and-TeX" accesskey="n" rel="next">IPC and TeX</a>, Previous: <a href="#Languages-and-hyphenation" accesskey="p" rel="prev">Languages and hyphenation</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Shell-escapes-1"></span><h3 class="section">5.5 Shell escapes</h3> +<h3 class="section" id="Shell-escapes-1">5.5 Shell escapes</h3> -<span id="index-shell-commands-in-TeX"></span> -<span id="index-security_002c-and-shell-escapes"></span> -<span id="index-restricted-shell-escapes"></span> -<span id="index-system-command"></span> -<span id="index-shell_005fescape-enabling-in-TeX"></span> -<span id="index-_005cimmediate_005cwrite18"></span> -<span id="index-_005cwrite18-shell-escape-extension"></span> -<span id="index-system-C-library-function"></span> -<span id="index-texmf_002ecnf-for-shell-escapes"></span> +<a class="index-entry-id" id="index-shell-commands-in-TeX"></a> +<a class="index-entry-id" id="index-security_002c-and-shell-escapes"></a> +<a class="index-entry-id" id="index-restricted-shell-escapes"></a> +<a class="index-entry-id" id="index-system-command"></a> +<a class="index-entry-id" id="index-shell_005fescape-enabling-in-TeX"></a> +<a class="index-entry-id" id="index-_005cimmediate_005cwrite18"></a> +<a class="index-entry-id" id="index-_005cwrite18-shell-escape-extension"></a> +<a class="index-entry-id" id="index-system-C-library-function"></a> +<a class="index-entry-id" id="index-texmf_002ecnf-for-shell-escapes"></a> -<p>TeX can execute <em>shell escapes</em>, that is, arbitrary shell +<p>TeX can execute <em class="dfn">shell escapes</em>, that is, arbitrary shell commands. Although tremendously useful, this also has obvious security implications. Therefore, as of TeX Live 2009, a -<em>restricted</em> mode for shell escapes is the default mode of +<em class="dfn">restricted</em> mode for shell escapes is the default mode of operation, which allows executing only certain commands, as specified -in the <samp>texmf.cnf</samp> configuration file. +in the <samp class="file">texmf.cnf</samp> configuration file. </p> -<ul> -<li> Unrestricted shell escapes are allowed if the option -<samp>--shell-escape</samp> is specified, or if the environment variable -or config file value <code>shell_escape</code> is set to ‘<samp>t</samp>’ or -‘<samp>y</samp>’ and ‘<samp>1</samp>’. +<ul class="itemize mark-bullet"> +<li>Unrestricted shell escapes are allowed if the option +<samp class="option">--shell-escape</samp> is specified, or if the environment variable +or config file value <code class="code">shell_escape</code> is set to ‘<samp class="samp">t</samp>’ or +‘<samp class="samp">y</samp>’ and ‘<samp class="samp">1</samp>’. -</li><li> Restricted shell escapes are allowed if <code>shell_escape</code> is set to -‘<samp>p</samp>’. This is the default. +</li><li>Restricted shell escapes are allowed if <code class="code">shell_escape</code> is set to +‘<samp class="samp">p</samp>’. This is the default. -</li><li> Shell escapes are completely disabled if <samp>--no-shell-escape</samp> is -specified, or if <code>shell_escape</code> is set to anything else. +</li><li>Shell escapes are completely disabled if <samp class="option">--no-shell-escape</samp> is +specified, or if <code class="code">shell_escape</code> is set to anything else. </li></ul> <p>When enabled, the TeX construct to execute a system command is -<code>\write18{<var>shell-command</var>}</code>; for example: +<code class="code">\write18{<var class="var">shell-command</var>}</code>; for example: </p> <div class="example"> -<pre class="example">\write18{echo "hello, world"} +<pre class="example-preformatted">\write18{echo "hello, world"} </pre></div> -<span id="index-_005coutput-routine_002c-and-_005cwrite"></span> -<p>From TeX’s point of view, this is a normal <code>\write</code> command, +<a class="index-entry-id" id="index-_005coutput-routine_002c-and-_005cwrite"></a> +<p>From TeX’s point of view, this is a normal <code class="code">\write</code> command, and is therefore subject to the usual TeX expansions. Also, the -system call either happens during the ‘<samp>\output</samp>’ routine or right -away, according to the absence or presence of the <code>\immediate</code> -prefix, as usual for <code>\write</code>. +system call either happens during the ‘<samp class="samp">\output</samp>’ routine or right +away, according to the absence or presence of the <code class="code">\immediate</code> +prefix, as usual for <code class="code">\write</code>. </p> -<span id="index-exit-status_002c-of-shell-escape"></span> -<p>The <var>shell-command</var> string is passed to the command shell (via the -C library function <code>system</code>). The output of <var>shell-command</var> +<a class="index-entry-id" id="index-exit-status_002c-of-shell-escape"></a> +<p>The <var class="var">shell-command</var> string is passed to the command shell (via the +C library function <code class="code">system</code>). The output of <var class="var">shell-command</var> is not diverted anywhere, so it will not appear in the log file, or anywhere but the terminal output. The exit status of the system call is also not available to TeX. </p> <p>In unrestricted mode, the argument is simply passed straight to -<code>system</code> unaltered. +<code class="code">system</code> unaltered. </p> -<p>In restricted mode, ASCII double quote characters (<tt>"</tt>) should -always be used in the argument to <code>\write18</code> where quoting of +<p>In restricted mode, ASCII double quote characters (<code class="verb">"</code>) should +always be used in the argument to <code class="code">\write18</code> where quoting of arguments is needed, as in the example above. This is to achieve some measure of system independence. On Unix systems, these are replaced -with single quote (<tt>'</tt>) characters to avoid insecure further +with single quote (<code class="verb">'</code>) characters to avoid insecure further expansion. Care is also taken on Windows to avoid additional -expansions (from, e.g., <tt>`...`</tt>). Mismatched quotation marks +expansions (from, e.g., <code class="verb">`...`</code>). Mismatched quotation marks in the command string result in a diagnostic message in the log file; no execution is performed. </p> -<span id="index-shell_005fescape_005fcommands"></span> +<a class="index-entry-id" id="index-shell_005fescape_005fcommands"></a> <p>After quotation processing, if the first word (delimited by a space or tab) of the command is in the list specified by the -<code>shell_escape_commands</code> configuration value, the command is +<code class="code">shell_escape_commands</code> configuration value, the command is executed. Otherwise it is not. In any case, a message is written to the log file. </p> -<p>The <code>shell_escape_commands</code> value is a comma-separated list of +<p>The <code class="code">shell_escape_commands</code> value is a comma-separated list of words. Whitespace is significant, and typically should not be -present. The default definition in <samp>texmf.cnf</samp> looks like this, +present. The default definition in <samp class="file">texmf.cnf</samp> looks like this, but with more commands included: </p> <div class="example"> -<pre class="example">shell_escape_commands = bibtex,kpsewhich,repstopdf,... +<pre class="example-preformatted">shell_escape_commands = bibtex,kpsewhich,repstopdf,... </pre></div> -<span id="index-pipes_002c-reading-and-writing"></span> -<span id="index-_005copenin_002c-and-pipes"></span> -<span id="index-_005cinput_002c-and-pipes"></span> -<span id="index-_005copenout_002c-and-pipes"></span> -<span id="index-_005cpdfshellescape"></span> -<p>pdfTeX and luaTeX support reading (via <code>\input</code> and -<code>\openin</code>) and writing (via <code>\openout</code>) from pipes if the -first character is ‘<samp>|</samp>’. The following command is then treated -exactly the same as the argument to <code>\write18</code>. In these -engines, the primitive variable <code>\pdfshellescape</code> is set to 0 if +<a class="index-entry-id" id="index-pipes_002c-reading-and-writing"></a> +<a class="index-entry-id" id="index-_005copenin_002c-and-pipes"></a> +<a class="index-entry-id" id="index-_005cinput_002c-and-pipes"></a> +<a class="index-entry-id" id="index-_005copenout_002c-and-pipes"></a> +<a class="index-entry-id" id="index-_005cpdfshellescape"></a> +<p>pdfTeX and luaTeX support reading (via <code class="code">\input</code> and +<code class="code">\openin</code>) and writing (via <code class="code">\openout</code>) from pipes if the +first character is ‘<samp class="samp">|</samp>’. The following command is then treated +exactly the same as the argument to <code class="code">\write18</code>. In these +engines, the primitive variable <code class="code">\pdfshellescape</code> is set to 0 if shell escapes are disabled, 1 if they are enabled, and 2 if they are enabled with restrictions. </p> -<span id="index-web-environments_002c-and-security"></span> +<a class="index-entry-id" id="index-web-environments_002c-and-security"></a> <p>The purpose of this feature is to make it possible for TeX documents to perform useful external actions in the common case of an individual user running a known document on his or her own machine. @@ -2387,24 +2383,24 @@ considered untrustworthy, shell escapes should be completely disabled. <hr> </div> -<div class="section" id="IPC-and-TeX"> -<div class="header"> +<div class="section-level-extent" id="IPC-and-TeX"> +<div class="nav-panel"> <p> Next: <a href="#TeX-extensions" accesskey="n" rel="next">Extended TeX engines</a>, Previous: <a href="#Shell-escapes" accesskey="p" rel="prev">Shell escapes</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="IPC-and-TeX-1"></span><h3 class="section">5.6 IPC and TeX</h3> +<h3 class="section" id="IPC-and-TeX-1">5.6 IPC and TeX</h3> -<span id="index-IPC"></span> -<span id="index-sockets"></span> +<a class="index-entry-id" id="index-IPC"></a> +<a class="index-entry-id" id="index-sockets"></a> <p>(If anyone uses this feature and needs documentation, write -<a href="mailto:tex-k@tug.org">tex-k@tug.org</a>.) +<a class="email" href="mailto:tex-k@tug.org">tex-k@tug.org</a>.) </p> -<p>This functionality is available only if the ‘<samp>--enable-ipc</samp>’ option -was specified to <code>configure</code> during installation of Web2c -(see <a href="#Installation">Installation</a>). +<p>This functionality is available only if the ‘<samp class="samp">--enable-ipc</samp>’ option +was specified to <code class="code">configure</code> during installation of Web2c +(see <a class="pxref" href="#Installation">Installation</a>). </p> -<span id="index-IPC_005fDEBUG-1"></span> -<p>If you define <code>IPC_DEBUG</code> before compilation (e.g., with ‘<samp>make +<a class="index-entry-id" id="index-IPC_005fDEBUG-1"></a> +<p>If you define <code class="code">IPC_DEBUG</code> before compilation (e.g., with ‘<samp class="samp">make XCFLAGS=-DIPC_DEBUG</samp>’), TeX will print messages to standard error about its socket operations. This may be helpful if you are, well, debugging. @@ -2412,104 +2408,104 @@ debugging. <hr> </div> -<div class="section" id="TeX-extensions"> -<div class="header"> +<div class="section-level-extent" id="TeX-extensions"> +<div class="nav-panel"> <p> Previous: <a href="#IPC-and-TeX" accesskey="p" rel="prev">IPC and TeX</a>, Up: <a href="#TeX" accesskey="u" rel="up">TeX: Typesetting</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Extended-TeX-engines"></span><h3 class="section">5.7 Extended TeX engines</h3> +<h3 class="section" id="Extended-TeX-engines">5.7 Extended TeX engines</h3> -<span id="index-extensions-to-TeX"></span> -<span id="index-TeX_002c-extensions-to"></span> +<a class="index-entry-id" id="index-extensions-to-TeX"></a> +<a class="index-entry-id" id="index-TeX_002c-extensions-to"></a> <p>The base TeX program has been extended in many ways. </p> -<span id="index-cross_002dengine-functionality"></span> +<a class="index-entry-id" id="index-cross_002dengine-functionality"></a> <p>There has been a substantial effort to make a set of extended functionality available across all actively-updated engines, so that formats, notably LaTeX, can rely on it. A list of this common -extended functionality is in a <cite>LaTeX News</cite> article, -<a href="https://www.latex-project.org/news/latex2e-news/ltnews31.pdf">https://www.latex-project.org/news/latex2e-news/ltnews31.pdf</a>. +extended functionality is in a <cite class="cite">LaTeX News</cite> article, +<a class="url" href="https://www.latex-project.org/news/latex2e-news/ltnews31.pdf">https://www.latex-project.org/news/latex2e-news/ltnews31.pdf</a>. For engines in TeX Live, the detailed documentation for these primitives is mostly in the pdfTeX manual -(<a href="http://pdftex.org">http://pdftex.org</a>). +(<a class="url" href="http://pdftex.org">http://pdftex.org</a>). </p> <p>In addition, each engine (naturally) has its own particular features, described in its own manual. Here’s a partial list of the engines. </p> -<dl compact="compact"> -<dt id='index-e_002dTeX'><span>e-TeX<a href='#index-e_002dTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-primitives_002c-new"></span> +<dl class="table"> +<dt id='index-e_002dTeX'><span>e-TeX<a class="copiable-link" href='#index-e_002dTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-primitives_002c-new"></a> <p>Adds many new primitives, including right-to-left typesetting and more -registers. Now frozen. More info: <a href="https://ctan.org/pkg/etex">https://ctan.org/pkg/etex</a>. +registers. Now frozen. More info: <a class="url" href="https://ctan.org/pkg/etex">https://ctan.org/pkg/etex</a>. </p> </dd> -<dt id='index-Aleph'><span>Aleph<a href='#index-Aleph' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Omega"></span> -<span id="index-Unicode"></span> +<dt id='index-Aleph'><span>Aleph<a class="copiable-link" href='#index-Aleph'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Omega"></a> +<a class="index-entry-id" id="index-Unicode"></a> <p>This adds Unicode support, right-to-left typesetting, and more, based on the Omega engine, with the e-TeX and other extensions. Aleph is maintained only for serious bug fixes and does not include the common functionality mentioned above. More info: -<a href="https://ctan.org/pkg/aleph">https://ctan.org/pkg/aleph</a>, <a href="https://ctan.org/pkg/omega">https://ctan.org/pkg/omega</a>. +<a class="url" href="https://ctan.org/pkg/aleph">https://ctan.org/pkg/aleph</a>, <a class="url" href="https://ctan.org/pkg/omega">https://ctan.org/pkg/omega</a>. </p> </dd> -<dt id='index-pdfTeX'><span>pdfTeX<a href='#index-pdfTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-PDF"></span> -<span id="index-micro_002dtypography"></span> -<span id="index-hypertext"></span> -<span id="index-etex-is-pdfTeX"></span> +<dt id='index-pdfTeX'><span>pdfTeX<a class="copiable-link" href='#index-pdfTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-PDF"></a> +<a class="index-entry-id" id="index-micro_002dtypography"></a> +<a class="index-entry-id" id="index-hypertext"></a> +<a class="index-entry-id" id="index-etex-is-pdfTeX"></a> <p>Can produce PDF as well as DVI files. It also incorporates the e-TeX extensions, new primitives for hypertext and micro-typography, reading/writing from pipes, and much more. In -TeX Live, the command <code>etex</code> invokes pdfTeX to make all +TeX Live, the command <code class="command">etex</code> invokes pdfTeX to make all these additions available with DVI output. Home page: -<a href="http://pdftex.org">http://pdftex.org</a>. +<a class="url" href="http://pdftex.org">http://pdftex.org</a>. </p> </dd> -<dt id='index-LuaTeX'><span>LuaTeX<a href='#index-LuaTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Lua"></span> -<span id="index-UTF_002d8-input_002c-native"></span> -<span id="index-OpenType-support"></span> -<span id="index-TrueType-support"></span> -<span id="index-system-fonts_002c-using"></span> -<p>Embeds the Lua programming language (<a href="http://lua.org">http://lua.org</a>) and opens +<dt id='index-LuaTeX'><span>LuaTeX<a class="copiable-link" href='#index-LuaTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Lua"></a> +<a class="index-entry-id" id="index-UTF_002d8-input_002c-native"></a> +<a class="index-entry-id" id="index-OpenType-support"></a> +<a class="index-entry-id" id="index-TrueType-support"></a> +<a class="index-entry-id" id="index-system-fonts_002c-using"></a> +<p>Embeds the Lua programming language (<a class="url" href="http://lua.org">http://lua.org</a>) and opens up the TeX typesetting engine to control from Lua, starting from the pdfTeX capabilities as a base. Also natively supports UTF-8 input, the OpenType and TrueType font formats, and use of system -fonts. Home page: <a href="http://luatex.org">http://luatex.org</a>. +fonts. Home page: <a class="url" href="http://luatex.org">http://luatex.org</a>. </p> </dd> -<dt id='index-XeTeX'><span>XeTeX<a href='#index-XeTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Unicode-input_002c-native"></span> +<dt id='index-XeTeX'><span>XeTeX<a class="copiable-link" href='#index-XeTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Unicode-input_002c-native"></a> <p>Combines support for Unicode input, the OpenType and TrueType font formats, and use of system fonts with the capabilities of pdfTeX, with the exception of the font expansion part of micro-typography. -Home page: <a href="https://tug.org/xetex">https://tug.org/xetex</a>. +Home page: <a class="url" href="https://tug.org/xetex">https://tug.org/xetex</a>. </p> </dd> -<dt id='index-hiTeX'><span>hiTeX<a href='#index-hiTeX' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-HINT-_0028Hint-Is-Not-TeX_0029"></span> +<dt id='index-hiTeX'><span>hiTeX<a class="copiable-link" href='#index-hiTeX'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-HINT-_0028Hint-Is-Not-TeX_0029"></a> <p>Outputs its own HINT format, which is designed for reading technical documents on mobile devices. More info: -<a href="https://ctan.org/pkg/hitex">https://ctan.org/pkg/hitex</a>. +<a class="url" href="https://ctan.org/pkg/hitex">https://ctan.org/pkg/hitex</a>. </p> </dd> -<dt id='index-pTeX'><span>pTeX<a href='#index-pTeX' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>upTeX</span></dt> -<dd><span id="index-upTeX"></span> +<dt id='index-pTeX'><span>pTeX<a class="copiable-link" href='#index-pTeX'> ¶</a></span></dt> +<dt>upTeX</dt> +<dd><a class="index-entry-id" id="index-upTeX"></a> <p>With additional support for Japanese; pTeX was the original engine, and upTeX has native Unicode support and thus is more useful for -Chinese and Korean. More info: <a href="https://ctan.org/pkg/ptex">https://ctan.org/pkg/ptex</a>, -<a href="https://ctan.org/pkg/uptex">https://ctan.org/pkg/uptex</a>. +Chinese and Korean. More info: <a class="url" href="https://ctan.org/pkg/ptex">https://ctan.org/pkg/ptex</a>, +<a class="url" href="https://ctan.org/pkg/uptex">https://ctan.org/pkg/uptex</a>. </p> </dd> -<dt id='index-epTeX'><span>epTeX<a href='#index-epTeX' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>eupTeX</span></dt> -<dd><span id="index-eupTeX"></span> +<dt id='index-epTeX'><span>epTeX<a class="copiable-link" href='#index-epTeX'> ¶</a></span></dt> +<dt>eupTeX</dt> +<dd><a class="index-entry-id" id="index-eupTeX"></a> <p>Further extends pTeX and upTeX with the e-TeX extensions. -More info: <a href="https://ctan.org/pkg/eptex">https://ctan.org/pkg/eptex</a>, -<a href="https://ctan.org/pkg/euptex">https://ctan.org/pkg/euptex</a>. +More info: <a class="url" href="https://ctan.org/pkg/eptex">https://ctan.org/pkg/eptex</a>, +<a class="url" href="https://ctan.org/pkg/euptex">https://ctan.org/pkg/euptex</a>. </p> </dd> </dl> @@ -2518,18 +2514,18 @@ More info: <a href="https://ctan.org/pkg/eptex">https://ctan.org/pkg/eptex</a>, <hr> </div> </div> -<div class="chapter" id="Metafont"> -<div class="header"> +<div class="chapter-level-extent" id="Metafont"> +<div class="nav-panel"> <p> Next: <a href="#MetaPost" accesskey="n" rel="next">MetaPost: Generating PostScript</a>, Previous: <a href="#TeX" accesskey="p" rel="prev">TeX: Typesetting</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Metafont_003a-Creating-typeface-families"></span><h2 class="chapter">6 Metafont: Creating typeface families</h2> +<h2 class="chapter" id="Metafont_003a-Creating-typeface-families">6 Metafont: Creating typeface families</h2> -<span id="index-Metafont"></span> -<span id="index-typeface-families"></span> -<span id="index-geometric-designs"></span> -<span id="index-shapes"></span> -<span id="index-font-design"></span> +<a class="index-entry-id" id="index-Metafont"></a> +<a class="index-entry-id" id="index-typeface-families"></a> +<a class="index-entry-id" id="index-geometric-designs"></a> +<a class="index-entry-id" id="index-shapes"></a> +<a class="index-entry-id" id="index-font-design"></a> <p>Metafont is a system for producing shapes; it was designed for producing complete typeface families, but it can also produce geometric designs, @@ -2542,13 +2538,13 @@ lines or curves. This approach has both considerable disadvantages (people unfamiliar with conventional programming languages will be unlikely to find it usable) and considerable advantages (you can make your design intentions specific and parameterizable). For a complete -description of the Metafont language, see <cite>The METAFONTbook</cite> -(see <a href="#References">References</a>). +description of the Metafont language, see <cite class="cite">The METAFONTbook</cite> +(see <a class="pxref" href="#References">References</a>). </p> -<ul class="section-toc"> -<li><a href="#mf-invocation" accesskey="1"><code>mf</code> invocation</a></li> +<ul class="mini-toc"> +<li><a href="#mf-invocation" accesskey="1"><code class="code">mf</code> invocation</a></li> <li><a href="#Initial-Metafont" accesskey="2">Initial Metafont</a></li> <li><a href="#Modes" accesskey="3">Modes: Device definitions for Metafont</a></li> <li><a href="#Online-Metafont-graphics" accesskey="4">Online Metafont graphics</a></li> @@ -2556,478 +2552,478 @@ description of the Metafont language, see <cite>The METAFONTbook</cite> <li><a href="#mft-invocation" accesskey="6">MFT: Prettyprinting Metafont source</a></li> </ul> <hr> -<div class="section" id="mf-invocation"> -<div class="header"> +<div class="section-level-extent" id="mf-invocation"> +<div class="nav-panel"> <p> Next: <a href="#Initial-Metafont" accesskey="n" rel="next">Initial Metafont</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="mf-invocation-1"></span><h3 class="section">6.1 <code>mf</code> invocation</h3> +<h3 class="section" id="mf-invocation-1">6.1 <code class="code">mf</code> invocation</h3> -<span id="index-mf"></span> -<span id="index-Metafont-invocation"></span> +<a class="index-entry-id" id="index-mf"></a> +<a class="index-entry-id" id="index-Metafont-invocation"></a> -<p>Metafont (usually invoked as <code>mf</code>) reads character definitions +<p>Metafont (usually invoked as <code class="code">mf</code>) reads character definitions specified in the Metafont programming language, and outputs the corresponding font. This section merely describes the options available in the Web2c implementation. For a complete description of the Metafont -language, see <cite>The Metafontbook</cite> (see <a href="#References">References</a>). +language, see <cite class="cite">The Metafontbook</cite> (see <a class="pxref" href="#References">References</a>). </p> <p>Metafont processes its command line and determines its memory dump (base) file in a way exactly analogous to MetaPost and TeX -(see <a href="#tex-invocation"><code>tex</code> invocation</a>, and see <a href="#Memory-dumps">Memory dumps</a>). Synopses: +(see <a class="pxref" href="#tex-invocation"><code class="code">tex</code> invocation</a>, and see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). Synopses: </p> <div class="example"> -<pre class="example">mf [<var>option</var>]… [<var>mfname</var>[.mf]] [<var>mf-commands</var>] -mf [<var>option</var>]… \<var>first-line</var> -mf [<var>option</var>]… &<var>base</var> <var>args</var> +<pre class="example-preformatted">mf [<var class="var">option</var>]… [<var class="var">mfname</var>[.mf]] [<var class="var">mf-commands</var>] +mf [<var class="var">option</var>]… \<var class="var">first-line</var> +mf [<var class="var">option</var>]… &<var class="var">base</var> <var class="var">args</var> </pre></div> <p>Most commonly, a Metafont invocation looks like this: </p><div class="example"> -<pre class="example">mf '\mode:=<var>mode</var>; mag:=<var>magnification</var>; input <var>mfname</var>' +<pre class="example-preformatted">mf '\mode:=<var class="var">mode</var>; mag:=<var class="var">magnification</var>; input <var class="var">mfname</var>' </pre></div> <p>(The single quotes avoid unwanted interpretation by the shell.) </p> -<span id="index-_002emf"></span> -<span id="index-Metafont-input-files"></span> -<span id="index-EC-fonts-1"></span> -<span id="index-mktexmf_002c-disabling"></span> -<p>Metafont searches the usual places for the main input file <var>mfname</var> -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>), extending -<var>mfname</var> with <samp>.mf</samp> if necessary. To see all the relevant -paths, set the environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ +<a class="index-entry-id" id="index-_002emf"></a> +<a class="index-entry-id" id="index-Metafont-input-files"></a> +<a class="index-entry-id" id="index-EC-fonts-1"></a> +<a class="index-entry-id" id="index-mktexmf_002c-disabling"></a> +<p>Metafont searches the usual places for the main input file <var class="var">mfname</var> +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>), extending +<var class="var">mfname</var> with <samp class="file">.mf</samp> if necessary. To see all the relevant +paths, set the environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. By default, Metafont runs an external -program named <samp>mktexmf</samp> to create any nonexistent Metafont source +program named <samp class="file">mktexmf</samp> to create any nonexistent Metafont source files you input. You can disable this at configure-time or runtime -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#mktex-configuration">mktex configuration</a> in <cite>Kpathsea</cite>). This is mostly +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#mktex-configuration">mktex configuration</a> in <cite class="cite">Kpathsea</cite>). This is mostly for the sake of the EC fonts, which can be generated at any size. </p> -<span id="index-_002ennngf-generic-fonts"></span> -<span id="index-mfput"></span> -<span id="index-GF-output"></span> -<span id="index-GF-files_002c-output-by-Metafont"></span> -<span id="index-PK-files_002c-not-output-by-Metafont"></span> +<a class="index-entry-id" id="index-_002ennngf-generic-fonts"></a> +<a class="index-entry-id" id="index-mfput"></a> +<a class="index-entry-id" id="index-GF-output"></a> +<a class="index-entry-id" id="index-GF-files_002c-output-by-Metafont"></a> +<a class="index-entry-id" id="index-PK-files_002c-not-output-by-Metafont"></a> <p>Metafont writes the main GF output to the file -<samp><var>basemfname</var>.<var>nnn</var>gf</samp>, where <var>nnn</var> is the font -resolution in pixels per inch, and <var>basemfname</var> is the basename of -<var>mfname</var>, or ‘<samp>mfput</samp>’ if no input file was specified. A GF file +<samp class="file"><var class="var">basemfname</var>.<var class="var">nnn</var>gf</samp>, where <var class="var">nnn</var> is the font +resolution in pixels per inch, and <var class="var">basemfname</var> is the basename of +<var class="var">mfname</var>, or ‘<samp class="samp">mfput</samp>’ if no input file was specified. A GF file contains bitmaps of the actual character shapes. Usually GF files are -converted immediately to PK files with GFtoPK (see <a href="#gftopk-invocation">GFtoPK: Generic to packed font conversion</a>), since PK files contain equivalent information, but are +converted immediately to PK files with GFtoPK (see <a class="pxref" href="#gftopk-invocation">GFtoPK: Generic to packed font conversion</a>), since PK files contain equivalent information, but are more compact. (Metafont output in GF format rather than PK for only historical reasons.) </p> -<span id="index-_002etfm-output"></span> -<span id="index-TFM-files_002c-output-by-Metafont"></span> +<a class="index-entry-id" id="index-_002etfm-output"></a> +<a class="index-entry-id" id="index-TFM-files_002c-output-by-Metafont"></a> <p>Metafont also usually writes a metric file in TFM format to -<samp><var>basemfname</var>.tfm</samp>. A TFM file contains character dimensions, +<samp class="file"><var class="var">basemfname</var>.tfm</samp>. A TFM file contains character dimensions, kerns, and ligatures, and spacing parameters. TeX reads only this -<tt>.tfm</tt> file, not the GF file. -</p> -<span id="index-mode-needed-to-run-Metafont"></span> -<span id="index-proof-mode"></span> -<span id="index-2602gf"></span> -<span id="index-_002e2602gf"></span> -<p>The <var>mode</var> in the example command above is a name referring to a -device definition (see <a href="#Modes">Modes: Device definitions for Metafont</a>); for example, <code>localfont</code> or -<code>ljfour</code>. These device definitions must generally be precompiled -into the base file. If you leave this out, the default is <code>proof</code> -mode, as stated in <cite>The Metafontbook</cite>, in which Metafont outputs at -a resolution of 2602dpi; this is usually not what you want. The -remedy is simply to assign a different mode—<code>localfont</code>, for +<code class="t">.tfm</code> file, not the GF file. +</p> +<a class="index-entry-id" id="index-mode-needed-to-run-Metafont"></a> +<a class="index-entry-id" id="index-proof-mode"></a> +<a class="index-entry-id" id="index-2602gf"></a> +<a class="index-entry-id" id="index-_002e2602gf"></a> +<p>The <var class="var">mode</var> in the example command above is a name referring to a +device definition (see <a class="pxref" href="#Modes">Modes: Device definitions for Metafont</a>); for example, <code class="code">localfont</code> or +<code class="code">ljfour</code>. These device definitions must generally be precompiled +into the base file. If you leave this out, the default is <code class="code">proof</code> +mode, as stated in <cite class="cite">The Metafontbook</cite>, in which Metafont outputs at +a resolution of 2602<span class="dmn">dpi</span>; this is usually not what you want. The +remedy is simply to assign a different mode—<code class="code">localfont</code>, for example. </p> -<p>The <var>magnification</var> assignment in the example command above is a -magnification factor; for example, if the device is 600dpi and you -specify <code>mag:=2</code>, Metafont will produce output at 1200dpi. -Very often, the <var>magnification</var> is an expression such as -<code>magstep(.5)</code>, corresponding to a TeX “magstep”, which are +<p>The <var class="var">magnification</var> assignment in the example command above is a +magnification factor; for example, if the device is 600<span class="dmn">dpi</span> and you +specify <code class="code">mag:=2</code>, Metafont will produce output at 1200<span class="dmn">dpi</span>. +Very often, the <var class="var">magnification</var> is an expression such as +<code class="code">magstep(.5)</code>, corresponding to a TeX “magstep”, which are factors of </p> <p>After running Metafont, you can use the font in a TeX document as usual. For example: </p><div class="example"> -<pre class="example">\font\myfont = newfont +<pre class="example-preformatted">\font\myfont = newfont \myfont Now I am typesetting in my new font (minimum hamburgers). </pre></div> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt><span>‘<samp>-[no]-file-line-error</samp>’</span></dt> -<dt><span>‘<samp>-fmt=<var>fmtname</var></samp>’</span></dt> -<dt><span>‘<samp>-halt-on-error</samp>’</span></dt> -<dt><span>‘<samp>-ini</samp>’</span></dt> -<dt><span>‘<samp>-interaction=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-jobname=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-kpathsea-debug=<var>number</var></samp>’</span></dt> -<dt><span>‘<samp>-[no]parse-first-line</samp>’</span></dt> -<dt><span>‘<samp>-output-directory</samp>’</span></dt> -<dt><span>‘<samp>-progname=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-recorder</samp>’</span></dt> -<dt><span>‘<samp>-translate-file=<var>tcxfile</var></samp>’</span></dt> -<dt><span>‘<samp>-8bit</samp>’</span></dt> +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt>‘<samp class="samp">-[no]-file-line-error</samp>’</dt> +<dt>‘<samp class="samp">-fmt=<var class="var">fmtname</var></samp>’</dt> +<dt>‘<samp class="samp">-halt-on-error</samp>’</dt> +<dt>‘<samp class="samp">-ini</samp>’</dt> +<dt>‘<samp class="samp">-interaction=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-jobname=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-kpathsea-debug=<var class="var">number</var></samp>’</dt> +<dt>‘<samp class="samp">-[no]parse-first-line</samp>’</dt> +<dt>‘<samp class="samp">-output-directory</samp>’</dt> +<dt>‘<samp class="samp">-progname=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-recorder</samp>’</dt> +<dt>‘<samp class="samp">-translate-file=<var class="var">tcxfile</var></samp>’</dt> +<dt>‘<samp class="samp">-8bit</samp>’</dt> <dd><p>These options are common to TeX, Metafont, and MetaPost. -See <a href="#Common-options">Common options</a>. +See <a class="xref" href="#Common-options">Common options</a>. </p> </dd> -<dt id='index-_002dmktex_003dfiletype-1'><span>‘<samp>-mktex=<var>filetype</var></samp>’<a href='#index-_002dmktex_003dfiletype-1' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-no-mktex=<var>filetype</var></samp>’</span></dt> -<dd><span id="index-_002dno_002dmktex_003dfiletype-1"></span> -<p>Turn on or off the ‘<samp>mktex</samp>’ script associated with <var>filetype</var>. -The only value that makes sense for <var>filetype</var> is ‘<samp>mf</samp>’. +<dt id='index-_002dmktex_003dfiletype-1'><span>‘<samp class="samp">-mktex=<var class="var">filetype</var></samp>’<a class="copiable-link" href='#index-_002dmktex_003dfiletype-1'> ¶</a></span></dt> +<dt>‘<samp class="samp">-no-mktex=<var class="var">filetype</var></samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dno_002dmktex_003dfiletype-1"></a> +<p>Turn on or off the ‘<samp class="samp">mktex</samp>’ script associated with <var class="var">filetype</var>. +The only value that makes sense for <var class="var">filetype</var> is ‘<samp class="samp">mf</samp>’. </p></dd> </dl> <hr> </div> -<div class="section" id="Initial-Metafont"> -<div class="header"> +<div class="section-level-extent" id="Initial-Metafont"> +<div class="nav-panel"> <p> -Next: <a href="#Modes" accesskey="n" rel="next">Modes: Device definitions for Metafont</a>, Previous: <a href="#mf-invocation" accesskey="p" rel="prev"><code>mf</code> invocation</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#Modes" accesskey="n" rel="next">Modes: Device definitions for Metafont</a>, Previous: <a href="#mf-invocation" accesskey="p" rel="prev"><code class="code">mf</code> invocation</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Initial-Metafont-1"></span><h3 class="section">6.2 Initial Metafont</h3> +<h3 class="section" id="Initial-Metafont-1">6.2 Initial Metafont</h3> -<span id="index-initial-Metafont"></span> -<span id="index-Metafont_002c-initial"></span> +<a class="index-entry-id" id="index-initial-Metafont"></a> +<a class="index-entry-id" id="index-Metafont_002c-initial"></a> -<span id="index-_002ebase"></span> -<span id="index-base-files"></span> -<p><code>inimf</code> is the “initial” form of Metafont, which does lengthy -initializations avoided by the “virgin” (<code>vir</code>) form, so as to -be capable of dumping ‘<samp>.base</samp>’ files (see <a href="#Memory-dumps">Memory dumps</a>). For -a detailed comparison of virgin and initial forms, see <a href="#Initial-and-virgin">Initial and virgin</a>. +<a class="index-entry-id" id="index-_002ebase"></a> +<a class="index-entry-id" id="index-base-files"></a> +<p><code class="code">inimf</code> is the “initial” form of Metafont, which does lengthy +initializations avoided by the “virgin” (<code class="code">vir</code>) form, so as to +be capable of dumping ‘<samp class="samp">.base</samp>’ files (see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). For +a detailed comparison of virgin and initial forms, see <a class="ref" href="#Initial-and-virgin">Initial and virgin</a>. </p> -<p>For a list of options and other information, see <a href="#mf-invocation"><code>mf</code> invocation</a>. +<p>For a list of options and other information, see <a class="ref" href="#mf-invocation"><code class="code">mf</code> invocation</a>. </p> -<span id="index-plain_002ebase"></span> -<span id="index-mf_002ebase"></span> +<a class="index-entry-id" id="index-plain_002ebase"></a> +<a class="index-entry-id" id="index-mf_002ebase"></a> <p>The only memory dump file commonly used with Metafont is the default -‘<samp>plain.base</samp>’, also known as ‘<samp>mf.base</samp>’ (again, see <a href="#Memory-dumps">Memory dumps</a>). It is created by default during installation, but you can also +‘<samp class="samp">plain.base</samp>’, also known as ‘<samp class="samp">mf.base</samp>’ (again, see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). It is created by default during installation, but you can also do so by hand if necessary (e.g., if a Metafont update is issued): </p><div class="example"> -<pre class="example">mf -ini '\input plain; input modes; dump' +<pre class="example-preformatted">mf -ini '\input plain; input modes; dump' </pre></div> <p>(The quotes prevent interpretation of the backslashes from the shell.) -Then install the resulting <samp>plain.base</samp> in ‘<samp>$(basedir)</samp>’ -(<samp>/usr/local/share/texmf/web2c</samp> by default), and link -<samp>mf.base</samp> to it. -</p> -<p>For an explanation of the additional <samp>modes.mf</samp> file, -see <a href="#Modes">Modes: Device definitions for Metafont</a>. This file has no counterpart in TeX or MetaPost. -</p> -<span id="index-cmmf_002ebase-not-recommended"></span> -<span id="index-cm_002ebase"></span> -<span id="index-cmbase_002emf"></span> -<span id="index-Computer-Modern-macros"></span> -<span id="index-base-files_002c-plain-only"></span> +Then install the resulting <samp class="file">plain.base</samp> in ‘<samp class="samp">$(basedir)</samp>’ +(<samp class="file">/usr/local/share/texmf/web2c</samp> by default), and link +<samp class="file">mf.base</samp> to it. +</p> +<p>For an explanation of the additional <samp class="file">modes.mf</samp> file, +see <a class="ref" href="#Modes">Modes: Device definitions for Metafont</a>. This file has no counterpart in TeX or MetaPost. +</p> +<a class="index-entry-id" id="index-cmmf_002ebase-not-recommended"></a> +<a class="index-entry-id" id="index-cm_002ebase"></a> +<a class="index-entry-id" id="index-cmbase_002emf"></a> +<a class="index-entry-id" id="index-Computer-Modern-macros"></a> +<a class="index-entry-id" id="index-base-files_002c-plain-only"></a> <p>In the past, it was sometimes useful to create a base file -<samp>cmmf.base</samp> (a.k.a. <samp>cm.base</samp>), with the Computer Modern +<samp class="file">cmmf.base</samp> (a.k.a. <samp class="file">cm.base</samp>), with the Computer Modern macros also included in the base file. Nowadays, however, the -additional time required to read <samp>cmbase.mf</samp> is exceedingly small, +additional time required to read <samp class="file">cmbase.mf</samp> is exceedingly small, usually not enough to be worth the administrative hassle of updating the -<samp>cmmf.base</samp> file when you install a new version of <samp>modes.mf</samp>. -<span id="index-type-design_002c-personal"></span> +<samp class="file">cmmf.base</samp> file when you install a new version of <samp class="file">modes.mf</samp>. +<a class="index-entry-id" id="index-type-design_002c-personal"></a> People actually working on a typeface may still find it worthwhile to create their own base file, of course. </p> <hr> </div> -<div class="section" id="Modes"> -<div class="header"> +<div class="section-level-extent" id="Modes"> +<div class="nav-panel"> <p> Next: <a href="#Online-Metafont-graphics" accesskey="n" rel="next">Online Metafont graphics</a>, Previous: <a href="#Initial-Metafont" accesskey="p" rel="prev">Initial Metafont</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Modes_003a-Device-definitions-for-Metafont"></span><h3 class="section">6.3 Modes: Device definitions for Metafont</h3> +<h3 class="section" id="Modes_003a-Device-definitions-for-Metafont">6.3 Modes: Device definitions for Metafont</h3> -<span id="index-modes-file-needed-for-Metafont"></span> -<span id="index-base-files_002c-need-mode-definitions"></span> -<span id="index-device-definitions_002c-for-Metafont"></span> -<span id="index-printer-characteristics_002c-for-Metafont"></span> +<a class="index-entry-id" id="index-modes-file-needed-for-Metafont"></a> +<a class="index-entry-id" id="index-base-files_002c-need-mode-definitions"></a> +<a class="index-entry-id" id="index-device-definitions_002c-for-Metafont"></a> +<a class="index-entry-id" id="index-printer-characteristics_002c-for-Metafont"></a> <p>Running Metafont and creating Metafont base files requires information -that TeX and MetaPost do not: <em>mode</em> definitions which specify +that TeX and MetaPost do not: <em class="dfn">mode</em> definitions which specify device characteristics, so Metafont can properly rasterize the shapes. </p> -<span id="index-modes_002emf-recommended-modes-file"></span> +<a class="index-entry-id" id="index-modes_002emf-recommended-modes-file"></a> <p>When making a base file, a file containing modes for locally-available -devices should be input after <samp>plain.mf</samp>. One commonly used file -is <a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>; it includes all known +devices should be input after <samp class="file">plain.mf</samp>. One commonly used file +is <a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>; it includes all known definitions. </p> -<span id="index-small-Metafont-memory-and-modes"></span> -<span id="index-mode_005fdef"></span> -<span id="index-mode_005fsetup"></span> +<a class="index-entry-id" id="index-small-Metafont-memory-and-modes"></a> +<a class="index-entry-id" id="index-mode_005fdef"></a> +<a class="index-entry-id" id="index-mode_005fsetup"></a> <p>If, however, for some reason you have decreased the memory available in -your Metafont, you may need to copy <samp>modes.mf</samp> and remove the +your Metafont, you may need to copy <samp class="file">modes.mf</samp> and remove the definitions irrelevant to you (probably most of them) instead of using it directly. (Or, if you’re a Metafont hacker, maybe you can suggest a -way to redefine <code>mode_def</code> and/or <code>mode_setup</code>; right now, the +way to redefine <code class="code">mode_def</code> and/or <code class="code">mode_setup</code>; right now, the amount of memory used is approximately four times the total length of -the <code>mode_def</code> names, and that’s a lot.) +the <code class="code">mode_def</code> names, and that’s a lot.) </p> -<p>If you have a device not included in <samp>modes.mf</samp>, please see +<p>If you have a device not included in <samp class="file">modes.mf</samp>, please see comments in that file for how to create the new definition, and please -send the definition to <a href="mailto:tex-fonts@math.utah.edu">tex-fonts@math.utah.edu</a> to get it included -in the next release of <samp>modes.mf</samp>. +send the definition to <a class="email" href="mailto:tex-fonts@math.utah.edu">tex-fonts@math.utah.edu</a> to get it included +in the next release of <samp class="file">modes.mf</samp>. </p> -<span id="index-smode-and-dynamic-Metafont-mode-definition"></span> -<span id="index-dynamic-Metafont-mode-definitions-with-smode"></span> +<a class="index-entry-id" id="index-smode-and-dynamic-Metafont-mode-definition"></a> +<a class="index-entry-id" id="index-dynamic-Metafont-mode-definitions-with-smode"></a> <p>Usually, when you run Metafont you must supply the name of a mode that was dumped in the base file. But you can also define the mode characteristics dynamically, by invoking Metafont with an assignment to -<code>smode</code> instead of <code>mode</code>, like this: +<code class="code">smode</code> instead of <code class="code">mode</code>, like this: </p><div class="example"> -<pre class="example">mf '\smode:="newmode.mf"; mag:=<var>magnification</var>; input <var>mfname</var>' +<pre class="example-preformatted">mf '\smode:="newmode.mf"; mag:=<var class="var">magnification</var>; input <var class="var">mfname</var>' </pre></div> <p>This is most useful when you are working on the definition of a new mode. </p> -<p>The <var>magnification</var> and <var>mfname</var> arguments are explained in -<a href="#mf-invocation"><code>mf</code> invocation</a>. In the file <samp>newmode.mf</samp>, you should have the -following (with no <code>mode_def</code> or <code>enddef</code>), if you are using -<samp>modes.mf</samp> conventions: +<p>The <var class="var">magnification</var> and <var class="var">mfname</var> arguments are explained in +<a class="ref" href="#mf-invocation"><code class="code">mf</code> invocation</a>. In the file <samp class="file">newmode.mf</samp>, you should have the +following (with no <code class="code">mode_def</code> or <code class="code">enddef</code>), if you are using +<samp class="file">modes.mf</samp> conventions: </p><div class="example"> -<pre class="example">mode_param (pixels_per_inch, <var>dpi</var>); -mode_param (blacker, <var>b</var>); -mode_param (fillin, <var>f</var>); -mode_param (o_correction, <var>o</var>); +<pre class="example-preformatted">mode_param (pixels_per_inch, <var class="var">dpi</var>); +mode_param (blacker, <var class="var">b</var>); +mode_param (fillin, <var class="var">f</var>); +mode_param (o_correction, <var class="var">o</var>); mode_common_setup_; </pre></div> -<p>(Of course, you should use real numbers for <var>dpi</var>, <var>b</var>, <var>f</var>, -and <var>o</var>.) +<p>(Of course, you should use real numbers for <var class="var">dpi</var>, <var class="var">b</var>, <var class="var">f</var>, +and <var class="var">o</var>.) </p> -<p>For more information on the use of <code>smode</code>, or if you are not using -<samp>modes.mf</samp>, see page 269 of <cite>The Metafontbook</cite>. +<p>For more information on the use of <code class="code">smode</code>, or if you are not using +<samp class="file">modes.mf</samp>, see page 269 of <cite class="cite">The Metafontbook</cite>. </p> <hr> </div> -<div class="section" id="Online-Metafont-graphics"> -<div class="header"> +<div class="section-level-extent" id="Online-Metafont-graphics"> +<div class="nav-panel"> <p> Next: <a href="#gftodvi-invocation" accesskey="n" rel="next">GFtoDVI: Character proofs of fonts</a>, Previous: <a href="#Modes" accesskey="p" rel="prev">Modes: Device definitions for Metafont</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Online-Metafont-graphics-1"></span><h3 class="section">6.4 Online Metafont graphics</h3> +<h3 class="section" id="Online-Metafont-graphics-1">6.4 Online Metafont graphics</h3> -<span id="index-online-Metafont-graphics"></span> -<span id="index-Metafont-graphics"></span> +<a class="index-entry-id" id="index-online-Metafont-graphics"></a> +<a class="index-entry-id" id="index-Metafont-graphics"></a> <p>The Web2c implementation of Metafont can do online graphics with a number of devices. (See the Metafont manual for more information about how to draw on your screen.) By default, no graphics support is enabled. </p> -<span id="index-MFTERM"></span> -<span id="index-TERM"></span> -<p>Metafont examines the <code>MFTERM</code> environment variable or config file -value at runtime, or the <code>TERM</code> environment variable if -<code>MFTERM</code> is not set, to determine the device support to use. +<a class="index-entry-id" id="index-MFTERM"></a> +<a class="index-entry-id" id="index-TERM"></a> +<p>Metafont examines the <code class="code">MFTERM</code> environment variable or config file +value at runtime, or the <code class="code">TERM</code> environment variable if +<code class="code">MFTERM</code> is not set, to determine the device support to use. Naturally, only the devices for which support has been compiled in can be selected. </p> -<p>Here is a table of the possibilities, showing the <code>MFTERM</code> value -and the corresponding <code>configure</code> option(s) in parentheses. +<p>Here is a table of the possibilities, showing the <code class="code">MFTERM</code> value +and the corresponding <code class="code">configure</code> option(s) in parentheses. </p> -<dl compact="compact"> -<dt id='index-epsf'><span><code>epsf</code><a href='#index-epsf' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Herberts_002c-Mathias"></span> -<span id="index-_002d_002denable_002depsfwin"></span> -<p>(‘<samp>--enable-epsfwin</samp>’) Pseudo-window server for Encapsulated -PostScript (see <samp>web2c/window/epsf.c</samp>). This device produces an +<dl class="vtable"> +<dt id='index-epsf'><span><code class="code">epsf</code><a class="copiable-link" href='#index-epsf'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Herberts_002c-Mathias"></a> +<a class="index-entry-id" id="index-_002d_002denable_002depsfwin"></a> +<p>(‘<samp class="samp">--enable-epsfwin</samp>’) Pseudo-window server for Encapsulated +PostScript (see <samp class="file">web2c/window/epsf.c</samp>). This device produces an EPS file containing the graphics which would be displayed online on other devices. The name of the EPS file defaults to metafont.eps but can be changed by setting the MFEPSF environment variable to the new filename. Contributed by Mathias Herberts. </p> </dd> -<dt id='index-hp2627'><span><code>hp2627</code><a href='#index-hp2627' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002d_002denable_002dhp2627win"></span> -<p>(‘<samp>--enable-hp2627win</samp>’) HP2627a color graphics terminals. +<dt id='index-hp2627'><span><code class="code">hp2627</code><a class="copiable-link" href='#index-hp2627'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002d_002denable_002dhp2627win"></a> +<p>(‘<samp class="samp">--enable-hp2627win</samp>’) HP2627a color graphics terminals. </p> </dd> -<dt id='index-mftalk'><span><code>mftalk</code><a href='#index-mftalk' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002d_002denable_002dmftalkwin"></span> -<p>(‘<samp>--enable-mftalkwin</samp>’) Generic window server (see -<samp>web2c/window/mftalk.c</samp>). +<dt id='index-mftalk'><span><code class="code">mftalk</code><a class="copiable-link" href='#index-mftalk'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002d_002denable_002dmftalkwin"></a> +<p>(‘<samp class="samp">--enable-mftalkwin</samp>’) Generic window server (see +<samp class="file">web2c/window/mftalk.c</samp>). </p> </dd> -<dt id='index-next'><span><code>next</code><a href='#index-next' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-DrawingServant"></span> -<span id="index-_002d_002denable_002dnext"></span> -<p>(‘<samp>--enable-next</samp>’) NeXT window system. This requires a separate -program, called <code>DrawingServant</code>, available separately. See the -<samp>web2c/window/next.c</samp>. +<dt id='index-next'><span><code class="code">next</code><a class="copiable-link" href='#index-next'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-DrawingServant"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dnext"></a> +<p>(‘<samp class="samp">--enable-next</samp>’) NeXT window system. This requires a separate +program, called <code class="code">DrawingServant</code>, available separately. See the +<samp class="file">web2c/window/next.c</samp>. </p> </dd> -<dt id='index-regis'><span><code>regis</code><a href='#index-regis' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002d_002denable_002dregiswin"></span> -<span id="index-Regis-graphics-support"></span> -<p>(‘<samp>--enable-regiswin</samp>’) Regis terminals. +<dt id='index-regis'><span><code class="code">regis</code><a class="copiable-link" href='#index-regis'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002d_002denable_002dregiswin"></a> +<a class="index-entry-id" id="index-Regis-graphics-support"></a> +<p>(‘<samp class="samp">--enable-regiswin</samp>’) Regis terminals. </p> </dd> -<dt id='index-sun'><span><code>sun</code><a href='#index-sun' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-SunView"></span> -<span id="index-Suntools"></span> -<span id="index-_002d_002denable_002dsuntoolswin"></span> -<span id="index-sun_002dgfx_002ec"></span> -<p>(‘<samp>--enable-suntoolswin</samp>’) The old Suntools (not any flavor of X) -window system. (You can get the even older SunWindows <code>gfx</code> system -by using <samp>sun-gfx.c</samp>.) +<dt id='index-sun'><span><code class="code">sun</code><a class="copiable-link" href='#index-sun'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-SunView"></a> +<a class="index-entry-id" id="index-Suntools"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dsuntoolswin"></a> +<a class="index-entry-id" id="index-sun_002dgfx_002ec"></a> +<p>(‘<samp class="samp">--enable-suntoolswin</samp>’) The old Suntools (not any flavor of X) +window system. (You can get the even older SunWindows <code class="code">gfx</code> system +by using <samp class="file">sun-gfx.c</samp>.) </p> </dd> -<dt id='index-tek'><span><code>tek</code><a href='#index-tek' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Tektronix"></span> -<span id="index-_002d_002denable_002dtektronixwin"></span> -<p>(‘<samp>--enable-tektronixwin</samp>’) Tektronix terminals. +<dt id='index-tek'><span><code class="code">tek</code><a class="copiable-link" href='#index-tek'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Tektronix"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dtektronixwin"></a> +<p>(‘<samp class="samp">--enable-tektronixwin</samp>’) Tektronix terminals. </p> -<span id="index-Poole_002c-Simon"></span> +<a class="index-entry-id" id="index-Poole_002c-Simon"></a> </dd> -<dt id='index-uniterm'><span><code>uniterm</code><a href='#index-uniterm' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-Tektronix-4014"></span> -<span id="index-_002d_002denable_002dunitermwin"></span> -<p>(‘<samp>--enable-unitermwin</samp>’) Uniterm, Simon Poole’s emulator of a smart +<dt id='index-uniterm'><span><code class="code">uniterm</code><a class="copiable-link" href='#index-uniterm'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-Tektronix-4014"></a> +<a class="index-entry-id" id="index-_002d_002denable_002dunitermwin"></a> +<p>(‘<samp class="samp">--enable-unitermwin</samp>’) Uniterm, Simon Poole’s emulator of a smart Tektronix 4014 terminal. This may work with regular Tektronix terminals -as well; it’s faster than the driver ‘<samp>--enable-tektronixwin</samp>’ selects. +as well; it’s faster than the driver ‘<samp class="samp">--enable-tektronixwin</samp>’ selects. </p> -<span id="index-NO_005fX11WIN"></span> -<span id="index-Xt"></span> -<span id="index-Xlib"></span> +<a class="index-entry-id" id="index-NO_005fX11WIN"></a> +<a class="index-entry-id" id="index-Xt"></a> +<a class="index-entry-id" id="index-Xlib"></a> </dd> -<dt id='index-xterm'><span><code>xterm</code><a href='#index-xterm' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-_002d_002dwith_002dx"></span> -<p>‘<samp>--with-x</samp>’ The X window system (version 11). -</p> -<span id="index-_002d_002dwith_002dmf_002dx_002dtoolkit_003dkit"></span> -<span id="index-toolkits_002c-X"></span> -<span id="index-X-toolkits-and-Metafont"></span> -<span id="index-Xt-support"></span> -<span id="index-Xlib-support"></span> +<dt id='index-xterm'><span><code class="code">xterm</code><a class="copiable-link" href='#index-xterm'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-_002d_002dwith_002dx"></a> +<p>‘<samp class="samp">--with-x</samp>’ The X window system (version 11). +</p> +<a class="index-entry-id" id="index-_002d_002dwith_002dmf_002dx_002dtoolkit_003dkit"></a> +<a class="index-entry-id" id="index-toolkits_002c-X"></a> +<a class="index-entry-id" id="index-X-toolkits-and-Metafont"></a> +<a class="index-entry-id" id="index-Xt-support"></a> +<a class="index-entry-id" id="index-Xlib-support"></a> <p>There are two variants of the X11 support, one that works with the Xt toolkit, and another that works directly with Xlib. The Xt support is more efficient and has more functionality, so it is the default. If you -must use the Xlib support, use ‘<samp>configure --with-x +must use the Xlib support, use ‘<samp class="samp">configure --with-x --with-kf-x-toolkit=no</samp>’. </p> -<span id="index-_002d_002ddisable_002dmf_002dnowin"></span> -<span id="index-non_002dwindows_002dcapable-Metafont"></span> -<p>Specify ‘<samp>--disable-mf-nowin</samp>’ in order not to build a separate -non-windows-capable Metafont executable <code>mf-nowin</code> (or -<code>mf-nowin.exe</code>). -</p> -<span id="index-X-resources"></span> -<span id="index-X-class-name-for-Metafont"></span> -<span id="index-class-name-for-Metafont"></span> -<span id="index-geometry-for-Metafont"></span> -<span id="index-Metafont-geometry"></span> -<span id="index-_002eXdefaults"></span> -<span id="index-_002eXresources"></span> -<span id="index-_002dgeometry_002c-supported-with-Xt"></span> -<p>You cannot specify any of the usual X options (e.g., ‘<samp>-geometry</samp>’) +<a class="index-entry-id" id="index-_002d_002ddisable_002dmf_002dnowin"></a> +<a class="index-entry-id" id="index-non_002dwindows_002dcapable-Metafont"></a> +<p>Specify ‘<samp class="samp">--disable-mf-nowin</samp>’ in order not to build a separate +non-windows-capable Metafont executable <code class="code">mf-nowin</code> (or +<code class="code">mf-nowin.exe</code>). +</p> +<a class="index-entry-id" id="index-X-resources"></a> +<a class="index-entry-id" id="index-X-class-name-for-Metafont"></a> +<a class="index-entry-id" id="index-class-name-for-Metafont"></a> +<a class="index-entry-id" id="index-geometry-for-Metafont"></a> +<a class="index-entry-id" id="index-Metafont-geometry"></a> +<a class="index-entry-id" id="index-_002eXdefaults"></a> +<a class="index-entry-id" id="index-_002eXresources"></a> +<a class="index-entry-id" id="index-_002dgeometry_002c-supported-with-Xt"></a> +<p>You cannot specify any of the usual X options (e.g., ‘<samp class="samp">-geometry</samp>’) on the Metafont command line, but you can specify X resources in your -<samp>~/.Xdefaults</samp> or <samp>~/.Xresources</samp> file. The class name is -<code>Metafont</code>. If you’re using the Xt support, all the usual X toolkit +<samp class="file">~/.Xdefaults</samp> or <samp class="file">~/.Xresources</samp> file. The class name is +<code class="code">Metafont</code>. If you’re using the Xt support, all the usual X toolkit resources are supported. If you’re using the Xlib support, only the -<code>geometry</code> resource is supported. +<code class="code">geometry</code> resource is supported. </p> -<span id="index-DISPLAY"></span> +<a class="index-entry-id" id="index-DISPLAY"></a> <p>You specify the X display to which Metafont connects in the -<code>DISPLAY</code> environment variable, as usual. +<code class="code">DISPLAY</code> environment variable, as usual. </p> </dd> </dl> -<span id="index-Metafont-online-support_002c-new-devices"></span> -<span id="index-new-graphics-support-for-Metafont"></span> -<span id="index-texmfmp_002ec"></span> +<a class="index-entry-id" id="index-Metafont-online-support_002c-new-devices"></a> +<a class="index-entry-id" id="index-new-graphics-support-for-Metafont"></a> +<a class="index-entry-id" id="index-texmfmp_002ec"></a> <p>Writing support for a new device is straightforward. Aside from defining -the basic drawing routines that Metafont uses (see <samp>mf.web</samp>), you +the basic drawing routines that Metafont uses (see <samp class="file">mf.web</samp>), you only have to add another entry to the tables on the last page of -<samp>web2c/lib/texmfmp.c</samp>. Or you can write an independent program and -use MFtalk (see <samp>web2c/window/mftalk.c</samp>). +<samp class="file">web2c/lib/texmfmp.c</samp>. Or you can write an independent program and +use MFtalk (see <samp class="file">web2c/window/mftalk.c</samp>). </p> <hr> </div> -<div class="section" id="gftodvi-invocation"> -<div class="header"> +<div class="section-level-extent" id="gftodvi-invocation"> +<div class="nav-panel"> <p> Next: <a href="#mft-invocation" accesskey="n" rel="next">MFT: Prettyprinting Metafont source</a>, Previous: <a href="#Online-Metafont-graphics" accesskey="p" rel="prev">Online Metafont graphics</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="GFtoDVI_003a-Character-proofs-of-fonts"></span><h3 class="section">6.5 GFtoDVI: Character proofs of fonts</h3> +<h3 class="section" id="GFtoDVI_003a-Character-proofs-of-fonts">6.5 GFtoDVI: Character proofs of fonts</h3> -<span id="index-gftodvi"></span> -<span id="index-character-proofs-of-fonts"></span> -<span id="index-font-proofs"></span> -<span id="index-proof-sheets_002c-of-fonts"></span> +<a class="index-entry-id" id="index-gftodvi"></a> +<a class="index-entry-id" id="index-character-proofs-of-fonts"></a> +<a class="index-entry-id" id="index-font-proofs"></a> +<a class="index-entry-id" id="index-proof-sheets_002c-of-fonts"></a> -<p>GFtoDVI makes <em>proof sheets</em> from a GF bitmap file as output by, for -example, Metafont (see <a href="#Metafont">Metafont: Creating typeface families</a>). This is an indispensable aid for +<p>GFtoDVI makes <em class="dfn">proof sheets</em> from a GF bitmap file as output by, for +example, Metafont (see <a class="pxref" href="#Metafont">Metafont: Creating typeface families</a>). This is an indispensable aid for font designers or Metafont hackers. Synopsis: </p> <div class="example"> -<pre class="example">gftodvi [<var>option</var>]… <var>gfname</var>[gf] +<pre class="example-preformatted">gftodvi [<var class="var">option</var>]… <var class="var">gfname</var>[gf] </pre></div> -<p>The font <var>gfname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph -lookup</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running +<p>The font <var class="var">gfname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph +lookup</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>The suffix ‘<samp>gf</samp>’ is supplied if not already present. This suffix is -not an extension, no ‘<samp>.</samp>’ precedes it; for instance, <samp>cmr10.600gf</samp>. +<p>The suffix ‘<samp class="samp">gf</samp>’ is supplied if not already present. This suffix is +not an extension, no ‘<samp class="samp">.</samp>’ precedes it; for instance, <samp class="file">cmr10.600gf</samp>. </p> -<p>The output filename is the basename of <var>gfname</var> extended with -<samp>.dvi</samp>, e.g., ‘<samp>gftodvi /wherever/foo.600gf</samp>’ creates -<samp>./foo.dvi</samp>. +<p>The output filename is the basename of <var class="var">gfname</var> extended with +<samp class="file">.dvi</samp>, e.g., ‘<samp class="samp">gftodvi /wherever/foo.600gf</samp>’ creates +<samp class="file">./foo.dvi</samp>. </p> -<p>The characters from <var>gfname</var> appear one per page in the DVI output, +<p>The characters from <var class="var">gfname</var> appear one per page in the DVI output, with labels, titles, and annotations, as specified in Appendix H -(Hardcopy Proofs) of <cite>The Metafontbook</cite>. +(Hardcopy Proofs) of <cite class="cite">The Metafontbook</cite>. </p> -<p>GFtoDVI uses several fonts besides <var>gfname</var> itself: +<p>GFtoDVI uses several fonts besides <var class="var">gfname</var> itself: </p> -<ul> -<li> <span id="index-gray-font"></span> -<em>gray font</em> (default <samp>gray</samp>): for the pixels that actually make +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-gray-font"></a> +<em class="dfn">gray font</em> (default <samp class="file">gray</samp>): for the pixels that actually make up the character. Simply using black is not right, since then labels, key points, and other information could not be shown. -</li><li> <span id="index-title-font"></span> -<em>title font</em> (default <samp>cmr8</samp>): for the header information at +</li><li><a class="index-entry-id" id="index-title-font"></a> +<em class="dfn">title font</em> (default <samp class="file">cmr8</samp>): for the header information at the top of each output page. -</li><li> <span id="index-label-font"></span> -<em>label font</em> (default <samp>cmtt10</samp>): for the labels on key points +</li><li><a class="index-entry-id" id="index-label-font"></a> +<em class="dfn">label font</em> (default <samp class="file">cmtt10</samp>): for the labels on key points of the figure. -</li><li> <span id="index-slant-font"></span> -<em>slant font</em> (no default): for diagonal lines, which are otherwise +</li><li><a class="index-entry-id" id="index-slant-font"></a> +<em class="dfn">slant font</em> (no default): for diagonal lines, which are otherwise simulated using horizontal and vertical rules. </li></ul> -<p>To change the default fonts, you must use <code>special</code> commands in -your Metafont source file, typically via commands like <code>slantfont +<p>To change the default fonts, you must use <code class="code">special</code> commands in +your Metafont source file, typically via commands like <code class="code">slantfont slantlj4</code>. There is no default slant font since no one printer is suitable as a default. You can make your own by copying one of the existing files, such as -<samp>.../fonts/source/public/misc/slantlj4.mf</samp> and then running -<code>mf</code> on it. +<samp class="file">.../fonts/source/public/misc/slantlj4.mf</samp> and then running +<code class="command">mf</code> on it. </p> -<p>For testing purposes, you may it useful to run <code>mf-nowin rtest</code> -(hit RETURN when it stops) to get a <samp>gf</samp> file of a thorn glyph. -Or use <code>mf</code> instead of <code>mf-nowin</code> to have the glyph(s) -displayed on the screen. After that, <code>gftodvi rtest.2602gf</code> -should produce <samp>rtest.dvi</samp>, which you process as usual. +<p>For testing purposes, you may it useful to run <code class="code">mf-nowin rtest</code> +(hit RETURN when it stops) to get a <samp class="file">gf</samp> file of a thorn glyph. +Or use <code class="command">mf</code> instead of <code class="command">mf-nowin</code> to have the glyph(s) +displayed on the screen. After that, <code class="code">gftodvi rtest.2602gf</code> +should produce <samp class="file">rtest.dvi</samp>, which you process as usual. </p> <p>The program accepts the following option, as well as the standard -‘<samp>-verbose</samp>’, ‘<samp>-help</samp>’, and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): +‘<samp class="samp">-verbose</samp>’, ‘<samp class="samp">-help</samp>’, and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): </p> -<dl compact="compact"> -<dt id='index-_002doverflow_002dlabel_002doffset_003dpoints'><span>‘<samp>-overflow-label-offset=<var>points</var></samp>’<a href='#index-_002doverflow_002dlabel_002doffset_003dpoints' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-overflow-label-offset"></span> -<span id="index-offset-for-overflow-labels"></span> -<p>Typeset the so-called overflow labels, if any, <var>points</var> TeX +<dl class="table"> +<dt id='index-_002doverflow_002dlabel_002doffset_003dpoints'><span>‘<samp class="samp">-overflow-label-offset=<var class="var">points</var></samp>’<a class="copiable-link" href='#index-_002doverflow_002dlabel_002doffset_003dpoints'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-overflow-label-offset"></a> +<a class="index-entry-id" id="index-offset-for-overflow-labels"></a> +<p>Typeset the so-called overflow labels, if any, <var class="var">points</var> TeX points from the right edge of the character bounding box. The default is a little over two inches (ten million scaled points, to be precise). Overflow equations are used to locate coordinates when their actual @@ -3038,33 +3034,33 @@ position is too crowded with other information. <hr> </div> -<div class="section" id="mft-invocation"> -<div class="header"> +<div class="section-level-extent" id="mft-invocation"> +<div class="nav-panel"> <p> Previous: <a href="#gftodvi-invocation" accesskey="p" rel="prev">GFtoDVI: Character proofs of fonts</a>, Up: <a href="#Metafont" accesskey="u" rel="up">Metafont: Creating typeface families</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="MFT_003a-Prettyprinting-Metafont-source"></span><h3 class="section">6.6 MFT: Prettyprinting Metafont source</h3> +<h3 class="section" id="MFT_003a-Prettyprinting-Metafont-source">6.6 MFT: Prettyprinting Metafont source</h3> -<span id="index-mft"></span> -<span id="index-Metafont-source_002c-prettyprinting"></span> -<span id="index-prettyprinting-Metafont-source"></span> -<span id="index-TeX_002c-creating-from-Metafont"></span> +<a class="index-entry-id" id="index-mft"></a> +<a class="index-entry-id" id="index-Metafont-source_002c-prettyprinting"></a> +<a class="index-entry-id" id="index-prettyprinting-Metafont-source"></a> +<a class="index-entry-id" id="index-TeX_002c-creating-from-Metafont"></a> -<span id="index-mftmac_002etex"></span> +<a class="index-entry-id" id="index-mftmac_002etex"></a> <p>MFT translates a Metafont program into a TeX document suitable for typesetting, with the aid of TeX macros defined in the file -<samp>mftmac.tex</samp>. Synopsis: +<samp class="file">mftmac.tex</samp>. Synopsis: </p> <div class="example"> -<pre class="example">mft [<var>option</var>]… <var>mfname</var>[.mf] +<pre class="example-preformatted">mft [<var class="var">option</var>]… <var class="var">mfname</var>[.mf] </pre></div> -<p>MFT searches the usual places for <var>mfname</var> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file -formats</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running -the program. The output goes to the basename of <var>mfname</var> extended -with <samp>.tex</samp>, e.g., ‘<samp>mft /wherever/foo.mf</samp>’ creates -<samp>./foo.tex</samp>. +<p>MFT searches the usual places for <var class="var">mfname</var> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file +formats</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running +the program. The output goes to the basename of <var class="var">mfname</var> extended +with <samp class="file">.tex</samp>, e.g., ‘<samp class="samp">mft /wherever/foo.mf</samp>’ creates +<samp class="file">./foo.tex</samp>. </p> <p>Line breaks in the input are carried over into the output; moreover, blank spaces at the beginning of a line are converted to quads of @@ -3073,75 +3069,75 @@ indentation and line breaks. Each line of input is translated independently of the others. </p> <p>Further control is allowed via Metafont comments: -<span id="index-comments_002c-MFT-control"></span> -</p><ul> -<li> Metafont comments following a single ‘<samp>%</samp>’ should be valid TeX +<a class="index-entry-id" id="index-comments_002c-MFT-control"></a> +</p><ul class="itemize mark-bullet"> +<li>Metafont comments following a single ‘<samp class="samp">%</samp>’ should be valid TeX input. But Metafont material can be included within vertical bars in a comment; this will be translated by MFT as if it were regular Metafont -code. For example, a comment like ‘<samp>% |x2r| is the tip of the bowl</samp>’ -will be translated into the TeX ‘<samp>% $x_{2r}$ is the …</samp>’, -i.e., the ‘<samp>x2r</samp>’ is treated as an identifier. +code. For example, a comment like ‘<samp class="samp">% |x2r| is the tip of the bowl</samp>’ +will be translated into the TeX ‘<samp class="samp">% $x_{2r}$ is the …</samp>’, +i.e., the ‘<samp class="samp">x2r</samp>’ is treated as an identifier. -</li><li> ‘<samp>%%</samp>’ indicates that the remainder of an input line should be copied +</li><li>‘<samp class="samp">%%</samp>’ indicates that the remainder of an input line should be copied verbatim to the output. This is typically used to introduce additional TeX material at the beginning or an MFT job, e.g. code to modify the -standard layout or the formatting macros defined in <samp>mftmac.tex</samp>, -or to add a line saying ‘<samp>%%\bye</samp>’ at the end of the job. (MFT +standard layout or the formatting macros defined in <samp class="file">mftmac.tex</samp>, +or to add a line saying ‘<samp class="samp">%%\bye</samp>’ at the end of the job. (MFT doesn’t add this automatically in order to allow processing several files produces by MFT in the same TeX job.) -</li><li> ‘<samp>%%% <var>token1</var> <var>other-tokens</var></samp>’ -introduces a change in MFT’s formatting rules; all the <var>other-tokens</var> +</li><li>‘<samp class="samp">%%% <var class="var">token1</var> <var class="var">other-tokens</var></samp>’ +introduces a change in MFT’s formatting rules; all the <var class="var">other-tokens</var> will henceforth be translated according to the current conventions for -<var>token1</var>. The tokens must be symbolic (i.e., not +<var class="var">token1</var>. The tokens must be symbolic (i.e., not numeric or string tokens). For example, the input line <div class="example"> -<pre class="example">%%% addto fill draw filldraw +<pre class="example-preformatted">%%% addto fill draw filldraw </pre></div> -<p>says to format the ‘<samp>fill</samp>’, ‘<samp>draw</samp>’, and ‘<samp>filldraw</samp>’ -operations of plain Metafont just like the primitive token ‘<samp>addto</samp>’, +<p>says to format the ‘<samp class="samp">fill</samp>’, ‘<samp class="samp">draw</samp>’, and ‘<samp class="samp">filldraw</samp>’ +operations of plain Metafont just like the primitive token ‘<samp class="samp">addto</samp>’, i.e., in boldface type. Without such reformatting commands, MFT would -treat ‘<samp>fill</samp>’ like an ordinary tag or variable name. In fact, you -need a ‘<samp>%%%</samp>’ command even to get parentheses to act like +treat ‘<samp class="samp">fill</samp>’ like an ordinary tag or variable name. In fact, you +need a ‘<samp class="samp">%%%</samp>’ command even to get parentheses to act like delimiters. </p> -</li><li> ‘<samp>%%%%</samp>’ introduces an MFT comment, i.e., MFT ignores the remainder +</li><li>‘<samp class="samp">%%%%</samp>’ introduces an MFT comment, i.e., MFT ignores the remainder of such a line. -</li><li> Five or more ‘<samp>%</samp>’ signs should not be used. +</li><li>Five or more ‘<samp class="samp">%</samp>’ signs should not be used. </li></ul> -<span id="index-Knuth_002c-Donald-E_002e-1"></span> -<p>(The above description was edited from <samp>mft.web</samp>, written by +<a class="index-entry-id" id="index-Knuth_002c-Donald-E_002e-1"></a> +<p>(The above description was edited from <samp class="file">mft.web</samp>, written by D.E. Knuth<!-- /@w -->.) </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dchange_003dchfile'><span>‘<samp>-change=<var>chfile</var>[.ch]</samp>’<a href='#index-_002dchange_003dchfile' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-change-files_002c-and-MFT"></span> -<p>Apply the change file <var>chfile</var> as with Tangle and Weave -(see <a href="#WEB">WEB: Literate programming</a>). +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dchange_003dchfile'><span>‘<samp class="samp">-change=<var class="var">chfile</var>[.ch]</samp>’<a class="copiable-link" href='#index-_002dchange_003dchfile'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-change-files_002c-and-MFT"></a> +<p>Apply the change file <var class="var">chfile</var> as with Tangle and Weave +(see <a class="pxref" href="#WEB">WEB: Literate programming</a>). </p> </dd> -<dt id='index-_002dstyle_003dmftfile'><span>‘<samp>-style=<var>mftfile</var>[.mft]</samp>’<a href='#index-_002dstyle_003dmftfile' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-style-files"></span> -<span id="index-plain_002emft"></span> -<p>Read <var>mftfile</var> before anything else; a MFT style file typically +<dt id='index-_002dstyle_003dmftfile'><span>‘<samp class="samp">-style=<var class="var">mftfile</var>[.mft]</samp>’<a class="copiable-link" href='#index-_002dstyle_003dmftfile'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-style-files"></a> +<a class="index-entry-id" id="index-plain_002emft"></a> +<p>Read <var class="var">mftfile</var> before anything else; a MFT style file typically contains only MFT directives as described above. The default style file -is named <samp>plain.mft</samp>, which defines this properly for programs +is named <samp class="file">plain.mft</samp>, which defines this properly for programs using plain Metafont. The MFT files is searched along the -<code>MFTINPUTS</code> path; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>. +<code class="code">MFTINPUTS</code> path; see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>. </p> -<span id="index-cmbase_002emft"></span> -<span id="index-e_002emft"></span> -<span id="index-Computer-Modern-Typefaces_002c-production-of"></span> -<p>Other examples of MFT style files are <samp>cmbase.mft</samp>, which defines -formatting rules for the macros defined in <samp>cm.base</samp>, and -<samp>e.mft</samp>, which was used in the production of Knuth’s Volume <!-- /@w -->E, -<cite>Computer Modern Typefaces</cite>. +<a class="index-entry-id" id="index-cmbase_002emft"></a> +<a class="index-entry-id" id="index-e_002emft"></a> +<a class="index-entry-id" id="index-Computer-Modern-Typefaces_002c-production-of"></a> +<p>Other examples of MFT style files are <samp class="file">cmbase.mft</samp>, which defines +formatting rules for the macros defined in <samp class="file">cm.base</samp>, and +<samp class="file">e.mft</samp>, which was used in the production of Knuth’s Volume <!-- /@w -->E, +<cite class="cite">Computer Modern Typefaces</cite>. </p> -<span id="index-MetaPost-source_002c-prettyprinting"></span> +<a class="index-entry-id" id="index-MetaPost-source_002c-prettyprinting"></a> <p>Using an appropriate MFT style file, it is also possible to configure MFT for typesetting MetaPost sources. However, MFT does not search the usual places for MetaPost input files. @@ -3156,200 +3152,200 @@ configure TeX to print these properly. <hr> </div> </div> -<div class="chapter" id="MetaPost"> -<div class="header"> +<div class="chapter-level-extent" id="MetaPost"> +<div class="nav-panel"> <p> Next: <a href="#BibTeX" accesskey="n" rel="next">BibTeX: Bibliographies</a>, Previous: <a href="#Metafont" accesskey="p" rel="prev">Metafont: Creating typeface families</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="MetaPost_003a-Generating-PostScript"></span><h2 class="chapter">7 MetaPost: Generating PostScript</h2> +<h2 class="chapter" id="MetaPost_003a-Generating-PostScript">7 MetaPost: Generating PostScript</h2> -<span id="index-MetaPost"></span> -<span id="index-PostScript-meets-Metafont"></span> -<span id="index-Metafont-meets-PostScript"></span> -<span id="index-technical-illustrations_002c-creating"></span> +<a class="index-entry-id" id="index-MetaPost"></a> +<a class="index-entry-id" id="index-PostScript-meets-Metafont"></a> +<a class="index-entry-id" id="index-Metafont-meets-PostScript"></a> +<a class="index-entry-id" id="index-technical-illustrations_002c-creating"></a> <p>MetaPost is a picture-drawing language similar to Metafont -(see <a href="#Metafont">Metafont: Creating typeface families</a>), but instead of outputting bitmaps in a “font”, it +(see <a class="pxref" href="#Metafont">Metafont: Creating typeface families</a>), but instead of outputting bitmaps in a “font”, it outputs PostScript commands. It’s primarily intended for creating technical illustrations, but can also be used to create PostScript or -OpenType fonts (<a href="https://ctan.org/pkg/metatype1">https://ctan.org/pkg/metatype1</a>). +OpenType fonts (<a class="url" href="https://ctan.org/pkg/metatype1">https://ctan.org/pkg/metatype1</a>). </p> -<span id="index-troff_002c-supported-in-MetaPost"></span> +<a class="index-entry-id" id="index-troff_002c-supported-in-MetaPost"></a> <p>MetaPost also provides for arbitrary integration of text and graphics in a natural way, using any typesetter (TeX and Troff are both supported) and a number of other subsidiary programs, described below. </p> -<ul class="section-toc"> -<li><a href="#mpost-invocation" accesskey="1"><code>mpost</code> invocation</a></li> +<ul class="mini-toc"> +<li><a href="#mpost-invocation" accesskey="1"><code class="code">mpost</code> invocation</a></li> <li><a href="#Initial-MetaPost" accesskey="2">Initial MetaPost</a></li> <li><a href="#dvitomp-invocation" accesskey="3">DVItoMP: DVI to MPX conversion</a></li> </ul> <hr> -<div class="section" id="mpost-invocation"> -<div class="header"> +<div class="section-level-extent" id="mpost-invocation"> +<div class="nav-panel"> <p> Next: <a href="#Initial-MetaPost" accesskey="n" rel="next">Initial MetaPost</a>, Up: <a href="#MetaPost" accesskey="u" rel="up">MetaPost: Generating PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="mpost-invocation-1"></span><h3 class="section">7.1 <code>mpost</code> invocation</h3> +<h3 class="section" id="mpost-invocation-1">7.1 <code class="code">mpost</code> invocation</h3> -<span id="index-mpost"></span> -<span id="index-MetaPost-invocation"></span> +<a class="index-entry-id" id="index-mpost"></a> +<a class="index-entry-id" id="index-MetaPost-invocation"></a> -<span id="index-mpman_002epdf"></span> -<p>MetaPost (installed as <code>mpost</code>) reads a series of pictures +<a class="index-entry-id" id="index-mpman_002epdf"></a> +<p>MetaPost (installed as <code class="code">mpost</code>) reads a series of pictures specified in the MetaPost programming language, and outputs corresponding PostScript code. This section merely describes the options available in the Web2c implementation. For a complete description of the MetaPost language, see AT&T technical report -CSTR-162, generally available in <samp><var>texmf</var>/doc/metapost/</samp>, -where <var>texmf</var> is the root of TeX directory structure. -The MetaPost home page: <a href="https://tug.org/metapost">https://tug.org/metapost</a>. +CSTR-162, generally available in <samp class="file"><var class="var">texmf</var>/doc/metapost/</samp>, +where <var class="var">texmf</var> is the root of TeX directory structure. +The MetaPost home page: <a class="url" href="https://tug.org/metapost">https://tug.org/metapost</a>. </p> -<span id="index-mpgraph_002epdf"></span> +<a class="index-entry-id" id="index-mpgraph_002epdf"></a> <p>Also, a standard MetaPost package for drawing graphs is documented in -AT&T technical report CSTR-164, available as the file <samp>mpgraph.ps</samp>, -generally stored alongside <samp>mpman.ps</samp>. +AT&T technical report CSTR-164, available as the file <samp class="file">mpgraph.ps</samp>, +generally stored alongside <samp class="file">mpman.ps</samp>. </p> <p>MetaPost processes its command line and determines its memory dump -(mem) file in a way analogous to Metafont and TeX (see <a href="#tex-invocation"><code>tex</code> invocation</a>, and see <a href="#Memory-dumps">Memory dumps</a>). +(mem) file in a way analogous to Metafont and TeX (see <a class="pxref" href="#tex-invocation"><code class="code">tex</code> invocation</a>, and see <a class="pxref" href="#Memory-dumps">Memory dumps</a>). Synopses: </p> <div class="example"> -<pre class="example">mpost [<var>option</var>]… [<var>mpname</var>[.mp]] [<var>mp-commands</var>] -mpost [<var>option</var>]… \<var>first-line</var> -mpost [<var>option</var>]… &<var>mem</var> <var>args</var> +<pre class="example-preformatted">mpost [<var class="var">option</var>]… [<var class="var">mpname</var>[.mp]] [<var class="var">mp-commands</var>] +mpost [<var class="var">option</var>]… \<var class="var">first-line</var> +mpost [<var class="var">option</var>]… &<var class="var">mem</var> <var class="var">args</var> </pre></div> -<span id="index-_002emp"></span> -<span id="index-MetaPost-input-files"></span> -<p>MetaPost searches the usual places for the main input file <var>mpname</var> -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>), extending -<var>mpname</var> with <samp>.mp</samp> if necessary. To see all the relevant -paths, set the environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ +<a class="index-entry-id" id="index-_002emp"></a> +<a class="index-entry-id" id="index-MetaPost-input-files"></a> +<p>MetaPost searches the usual places for the main input file <var class="var">mpname</var> +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>), extending +<var class="var">mpname</var> with <samp class="file">.mp</samp> if necessary. To see all the relevant +paths, set the environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<span id="index-beginfig"></span> -<span id="index-_002ennn-PostScript-figures"></span> -<span id="index-_002etfm-output-1"></span> -<span id="index-mpout"></span> -<span id="index-TFM-files_002c-output-by-MetaPost"></span> -<span id="index-PostScript-output"></span> +<a class="index-entry-id" id="index-beginfig"></a> +<a class="index-entry-id" id="index-_002ennn-PostScript-figures"></a> +<a class="index-entry-id" id="index-_002etfm-output-1"></a> +<a class="index-entry-id" id="index-mpout"></a> +<a class="index-entry-id" id="index-TFM-files_002c-output-by-MetaPost"></a> +<a class="index-entry-id" id="index-PostScript-output"></a> <p>MetaPost writes its PostScript output to a series of files -<samp><var>basempname</var>.<var>nnn</var></samp> (or perhaps -<samp><var>basempname</var>.ps</samp>, very occasionally -<samp><var>basempname</var>.tfm</samp>), where <var>nnn</var> are the figure numbers -specified in the input, typically to the <code>beginfig</code> macro, and -<var>basempname</var> is the basename of <var>mpname</var>, or ‘<samp>mpout</samp>’ if no -input file was specified. MetaPost uses the ‘<samp>.ps</samp>’ extension when -the figure number is out of range, e.g., if you say <code>beginfig(-1)</code>. +<samp class="file"><var class="var">basempname</var>.<var class="var">nnn</var></samp> (or perhaps +<samp class="file"><var class="var">basempname</var>.ps</samp>, very occasionally +<samp class="file"><var class="var">basempname</var>.tfm</samp>), where <var class="var">nnn</var> are the figure numbers +specified in the input, typically to the <code class="code">beginfig</code> macro, and +<var class="var">basempname</var> is the basename of <var class="var">mpname</var>, or ‘<samp class="samp">mpout</samp>’ if no +input file was specified. MetaPost uses the ‘<samp class="samp">.ps</samp>’ extension when +the figure number is out of range, e.g., if you say <code class="code">beginfig(-1)</code>. </p> <p>You can use the output files as figures in a TeX document just as with any other PostScript figures. For example, with this TeX command: </p><div class="example"> -<pre class="example">\special{psfile="<var>filename</var>"} +<pre class="example-preformatted">\special{psfile="<var class="var">filename</var>"} </pre></div> -<p>or by using <samp>epsf.tex</samp> (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#EPSF-macros">EPSF macros</a> in <cite>Dvips</cite>). +<p>or by using <samp class="file">epsf.tex</samp> (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#EPSF-macros">EPSF macros</a> in <cite class="cite">Dvips</cite>). </p> -<span id="index-btex-for-MetaPost-labels"></span> -<span id="index-etex-for-MetaPost-labels"></span> +<a class="index-entry-id" id="index-btex-for-MetaPost-labels"></a> +<a class="index-entry-id" id="index-etex-for-MetaPost-labels"></a> <p>The MetaPost construct </p><div class="example"> -<pre class="example">btex … <var>tex-input</var> … etex +<pre class="example-preformatted">btex … <var class="var">tex-input</var> … etex </pre></div> <p>generates a MetaPost picture expression corresponding to -<var>tex-input</var>. +<var class="var">tex-input</var>. </p> <p>The construct </p><div class="example"> -<pre class="example">verbatimtex … <var>tex-input</var> … etex +<pre class="example-preformatted">verbatimtex … <var class="var">tex-input</var> … etex </pre></div> -<p>simply passes the <var>tex-input</var> through to +<p>simply passes the <var class="var">tex-input</var> through to TeX. For example, if you are using LaTeX, your MetaPost input file -must start with a <code>verbatimtex</code> block that gives the necessary -<code>\documentclass</code> (or <code>\documentstyle</code>) -<code>\begin{document}</code> command. You will also need to set the -environment variable <code>TEX</code> to ‘<samp>latex</samp>’. +must start with a <code class="code">verbatimtex</code> block that gives the necessary +<code class="code">\documentclass</code> (or <code class="code">\documentstyle</code>) +<code class="code">\begin{document}</code> command. You will also need to set the +environment variable <code class="code">TEX</code> to ‘<samp class="samp">latex</samp>’. </p> -<p><var>tex-input</var> need not be specifically TeX input; it could also be -Troff. In that case, you will need the ‘<samp>-m pictures</samp>’ Troff macro +<p><var class="var">tex-input</var> need not be specifically TeX input; it could also be +Troff. In that case, you will need the ‘<samp class="samp">-m pictures</samp>’ Troff macro package (unfortunately absent from many Troff implementations), or an -equivalent such as the ‘<samp>-m pspic</samp>’ macros from GNU groff described +equivalent such as the ‘<samp class="samp">-m pspic</samp>’ macros from GNU groff described in grops(1). </p> -<span id="index-PostScript-fonts_002c-and-Troff"></span> -<span id="index-Troff_002c-and-MetaPost"></span> -<span id="index-Computer-Modern-fonts_002c-and-Troff"></span> +<a class="index-entry-id" id="index-PostScript-fonts_002c-and-Troff"></a> +<a class="index-entry-id" id="index-Troff_002c-and-MetaPost"></a> +<a class="index-entry-id" id="index-Computer-Modern-fonts_002c-and-Troff"></a> <p>Naturally, you must use fonts that are supported by the typesetter; specifically, you’ll probably want to use standard PostScript fonts with Troff. And only the TeX system understands Computer Modern or other Metafont fonts; you can also use PostScript fonts with TeX, of course. </p> -<span id="index-mproof_002etex"></span> -<span id="index-downloading-of-fonts-for-MetaPost-labels"></span> -<span id="index-font-downloading-for-MetaPost-labels"></span> +<a class="index-entry-id" id="index-mproof_002etex"></a> +<a class="index-entry-id" id="index-downloading-of-fonts-for-MetaPost-labels"></a> +<a class="index-entry-id" id="index-font-downloading-for-MetaPost-labels"></a> <p>MetaPost-generated PostScript figures which do use Computer Modern fonts for labels cannot be directly previewed or printed. Instead, you must include them in a TeX document and run the resulting DVI file through Dvips to arrange for the downloading of the required fonts (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Fonts-in-figures">Fonts -in figures</a> in <cite>Dvips</cite>). To help with this, the MetaPost -distribution provides a small TeX file <samp>mproof.tex</samp> which is +in figures</a> in <cite class="cite">Dvips</cite>). To help with this, the MetaPost +distribution provides a small TeX file <samp class="file">mproof.tex</samp> which is typically called as: </p><div class="example"> -<pre class="example">tex mproof <var>mp-output-files</var>... ; dvips mproof -o +<pre class="example-preformatted">tex mproof <var class="var">mp-output-files</var>... ; dvips mproof -o </pre></div> -<p>The resulting file <samp>mproof.ps</samp> can then be printed or previewed. +<p>The resulting file <samp class="file">mproof.ps</samp> can then be printed or previewed. </p> -<span id="index-prologues_002c-and-EPSF-output"></span> -<span id="index-psfonts_002emap_002c-read-by-MetaPost"></span> +<a class="index-entry-id" id="index-prologues_002c-and-EPSF-output"></a> +<a class="index-entry-id" id="index-psfonts_002emap_002c-read-by-MetaPost"></a> <p>To generate EPSF files, set the internal MetaPost variable -<code>prologues</code> positive. To make the output files self-contained, use +<code class="code">prologues</code> positive. To make the output files self-contained, use only standard PostScript fonts. MetaPost reads the same -<samp>psfonts.map</samp> file as Dvips, to determine PostScript fonts that -need to be downloaded (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#psfonts_002emap">psfonts.map</a> in <cite>Dvips</cite>). +<samp class="file">psfonts.map</samp> file as Dvips, to determine PostScript fonts that +need to be downloaded (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#psfonts_002emap">psfonts.map</a> in <cite class="cite">Dvips</cite>). </p> -<span id="index-PDF_002c-and-_002emps-files"></span> -<span id="index-_002emps-files-and-PDF"></span> +<a class="index-entry-id" id="index-PDF_002c-and-_002emps-files"></a> +<a class="index-entry-id" id="index-_002emps-files-and-PDF"></a> <p>It is possible for pdfTeX to read MetaPost output directly; this is in contrast to general EPSF files, which have to be converted for use with PDF output. The easiest way is to name the MetaPost output files -with the <code>.mps</code> extension. Then the LaTeX -<code>\includegraphics</code> command, for example, will be able to read +with the <code class="code">.mps</code> extension. Then the LaTeX +<code class="code">\includegraphics</code> command, for example, will be able to read them, even when outputting PDF. </p> -<span id="index-security_002c-and-write"></span> -<p>MetaPost can write output files, via the <code>write</code> primitive; this -opens a security hole. See <a href="#tex-invocation"><code>tex</code> invocation</a>. +<a class="index-entry-id" id="index-security_002c-and-write"></a> +<p>MetaPost can write output files, via the <code class="code">write</code> primitive; this +opens a security hole. See <a class="xref" href="#tex-invocation"><code class="code">tex</code> invocation</a>. </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt><span>‘<samp>-[no]-file-line-error</samp>’</span></dt> -<dt><span>‘<samp>-fmt=<var>fmtname</var></samp>’</span></dt> -<dt><span>‘<samp>-halt-on-error</samp>’</span></dt> -<dt><span>‘<samp>-ini</samp>’</span></dt> -<dt><span>‘<samp>-interaction=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-jobname=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-kpathsea-debug=<var>number</var></samp>’</span></dt> -<dt><span>‘<samp>-[no]parse-first-line</samp>’</span></dt> -<dt><span>‘<samp>-output-directory</samp>’</span></dt> -<dt><span>‘<samp>-progname=<var>string</var></samp>’</span></dt> -<dt><span>‘<samp>-recorder</samp>’</span></dt> -<dt><span>‘<samp>-translate-file=<var>tcxfile</var></samp>’</span></dt> -<dt><span>‘<samp>-8bit</samp>’</span></dt> +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt>‘<samp class="samp">-[no]-file-line-error</samp>’</dt> +<dt>‘<samp class="samp">-fmt=<var class="var">fmtname</var></samp>’</dt> +<dt>‘<samp class="samp">-halt-on-error</samp>’</dt> +<dt>‘<samp class="samp">-ini</samp>’</dt> +<dt>‘<samp class="samp">-interaction=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-jobname=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-kpathsea-debug=<var class="var">number</var></samp>’</dt> +<dt>‘<samp class="samp">-[no]parse-first-line</samp>’</dt> +<dt>‘<samp class="samp">-output-directory</samp>’</dt> +<dt>‘<samp class="samp">-progname=<var class="var">string</var></samp>’</dt> +<dt>‘<samp class="samp">-recorder</samp>’</dt> +<dt>‘<samp class="samp">-translate-file=<var class="var">tcxfile</var></samp>’</dt> +<dt>‘<samp class="samp">-8bit</samp>’</dt> <dd><p>These options are common to TeX, Metafont, and MetaPost. -See <a href="#Common-options">Common options</a>. +See <a class="xref" href="#Common-options">Common options</a>. </p> </dd> -<dt id='index-_002dT'><span>‘<samp>-T</samp>’<a href='#index-_002dT' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-troff</samp>’</span></dt> -<dd><span id="index-_002dtroff"></span> -<span id="index-prologues"></span> -<p>Set the <code>prologues</code> internal variable to <code>1</code>. +<dt id='index-_002dT'><span>‘<samp class="samp">-T</samp>’<a class="copiable-link" href='#index-_002dT'> ¶</a></span></dt> +<dt>‘<samp class="samp">-troff</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dtroff"></a> +<a class="index-entry-id" id="index-prologues"></a> +<p>Set the <code class="code">prologues</code> internal variable to <code class="code">1</code>. </p> </dd> -<dt id='index-_002dtex_003dtexprogram'><span>‘<samp>-tex=<var>texprogram</var></samp>’<a href='#index-_002dtex_003dtexprogram' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>When this option is given, the program <var>texprogram</var> is used to +<dt id='index-_002dtex_003dtexprogram'><span>‘<samp class="samp">-tex=<var class="var">texprogram</var></samp>’<a class="copiable-link" href='#index-_002dtex_003dtexprogram'> ¶</a></span></dt> +<dd><p>When this option is given, the program <var class="var">texprogram</var> is used to typeset the labels. </p> </dd> @@ -3358,186 +3354,186 @@ typeset the labels. <hr> </div> -<div class="section" id="Initial-MetaPost"> -<div class="header"> +<div class="section-level-extent" id="Initial-MetaPost"> +<div class="nav-panel"> <p> -Next: <a href="#dvitomp-invocation" accesskey="n" rel="next">DVItoMP: DVI to MPX conversion</a>, Previous: <a href="#mpost-invocation" accesskey="p" rel="prev"><code>mpost</code> invocation</a>, Up: <a href="#MetaPost" accesskey="u" rel="up">MetaPost: Generating PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> +Next: <a href="#dvitomp-invocation" accesskey="n" rel="next">DVItoMP: DVI to MPX conversion</a>, Previous: <a href="#mpost-invocation" accesskey="p" rel="prev"><code class="code">mpost</code> invocation</a>, Up: <a href="#MetaPost" accesskey="u" rel="up">MetaPost: Generating PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Initial-MetaPost-1"></span><h3 class="section">7.2 Initial MetaPost</h3> +<h3 class="section" id="Initial-MetaPost-1">7.2 Initial MetaPost</h3> -<span id="index-initial-MetaPost"></span> -<span id="index-MetaPost_002c-initial"></span> +<a class="index-entry-id" id="index-initial-MetaPost"></a> +<a class="index-entry-id" id="index-MetaPost_002c-initial"></a> <p>As of MetaPost 1.504 (TeX Live 2011), MetaPost no longer dumps -<samp>.mem</samp> files (see <a href="#Memory-dumps">Memory dumps</a>) and does not distinguish -virgin and initial forms (see <a href="#Initial-and-virgin">Initial and virgin</a>). Instead, the +<samp class="file">.mem</samp> files (see <a class="pxref" href="#Memory-dumps">Memory dumps</a>) and does not distinguish +virgin and initial forms (see <a class="pxref" href="#Initial-and-virgin">Initial and virgin</a>). Instead, the “initial” file name is read in its source form—that is, -<samp>mpost.mp</samp> when the program is invoked as <code>mpost</code>. +<samp class="file">mpost.mp</samp> when the program is invoked as <code class="command">mpost</code>. </p> -<p>For a list of options and other information, see <a href="#mpost-invocation"><code>mpost</code> invocation</a>. +<p>For a list of options and other information, see <a class="ref" href="#mpost-invocation"><code class="code">mpost</code> invocation</a>. </p> -<span id="index-Metafont_002c-compatibility-in-MetaPost"></span> -<span id="index-plain-Metafont_002c-compatibility-in-MetaPost"></span> -<span id="index-MetaPost-and-plain-Metafont-compatibility"></span> -<span id="index-mfplain"></span> +<a class="index-entry-id" id="index-Metafont_002c-compatibility-in-MetaPost"></a> +<a class="index-entry-id" id="index-plain-Metafont_002c-compatibility-in-MetaPost"></a> +<a class="index-entry-id" id="index-MetaPost-and-plain-Metafont-compatibility"></a> +<a class="index-entry-id" id="index-mfplain"></a> <p>MetaPost provides a format with all the features of plain Metafont, -called <samp>mfplain</samp>. You can use that in the same way; just run -<code>mfplain</code> instead of <code>mpost</code>. This lets you directly +called <samp class="file">mfplain</samp>. You can use that in the same way; just run +<code class="command">mfplain</code> instead of <code class="command">mpost</code>. This lets you directly process Metafont source files with MetaPost, producing character proofs (one file for each character) similar to those produced with -Metafont in proof mode and GFtoDVI (see <a href="#gftodvi-invocation">GFtoDVI: Character proofs of fonts</a>). +Metafont in proof mode and GFtoDVI (see <a class="pxref" href="#gftodvi-invocation">GFtoDVI: Character proofs of fonts</a>). </p> <hr> </div> -<div class="section" id="dvitomp-invocation"> -<div class="header"> +<div class="section-level-extent" id="dvitomp-invocation"> +<div class="nav-panel"> <p> Previous: <a href="#Initial-MetaPost" accesskey="p" rel="prev">Initial MetaPost</a>, Up: <a href="#MetaPost" accesskey="u" rel="up">MetaPost: Generating PostScript</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DVItoMP_003a-DVI-to-MPX-conversion"></span><h3 class="section">7.3 DVItoMP: DVI to MPX conversion</h3> +<h3 class="section" id="DVItoMP_003a-DVI-to-MPX-conversion">7.3 DVItoMP: DVI to MPX conversion</h3> -<span id="index-dvitomp"></span> -<span id="index-DVI-files_002c-converting-to-MPX"></span> -<span id="index-MPX-files_002c-converting-from-DVI-files"></span> +<a class="index-entry-id" id="index-dvitomp"></a> +<a class="index-entry-id" id="index-DVI-files_002c-converting-to-MPX"></a> +<a class="index-entry-id" id="index-MPX-files_002c-converting-from-DVI-files"></a> <p>DVItoMP converts DVI files into low-level MetaPost commands in a so-called MPX file. Synopsis: </p> <div class="example"> -<pre class="example">dvitomp <var>dvifile</var>[.dvi] [<var>mpxfile</var>[.mpx]] +<pre class="example-preformatted">dvitomp <var class="var">dvifile</var>[.dvi] [<var class="var">mpxfile</var>[.mpx]] </pre></div> -<p>If <var>mpxfile</var> is not specified, the output goes to the basename of -<var>dvifile</var> extended with <samp>.mpx</samp>, e.g., ‘<samp>dvitomp -/wherever/foo.dvi</samp>’ creates <samp>./foo.mpx</samp>. +<p>If <var class="var">mpxfile</var> is not specified, the output goes to the basename of +<var class="var">dvifile</var> extended with <samp class="file">.mpx</samp>, e.g., ‘<samp class="samp">dvitomp +/wherever/foo.dvi</samp>’ creates <samp class="file">./foo.mpx</samp>. </p> -<span id="index-color_002c-in-DVItoMP"></span> -<p>DVItoMP supports Dvips-style color specials, such as ‘<samp>color push -<var>name</var></samp>’ and ‘<samp>color pop</samp>’, outputting them as <code>withcolor</code> +<a class="index-entry-id" id="index-color_002c-in-DVItoMP"></a> +<p>DVItoMP supports Dvips-style color specials, such as ‘<samp class="samp">color push +<var class="var">name</var></samp>’ and ‘<samp class="samp">color pop</samp>’, outputting them as <code class="code">withcolor</code> MetaPost commands. </p> -<p>The only options are ‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>). </p> <hr> </div> </div> -<div class="chapter" id="BibTeX"> -<div class="header"> +<div class="chapter-level-extent" id="BibTeX"> +<div class="nav-panel"> <p> Next: <a href="#WEB" accesskey="n" rel="next">WEB: Literate programming</a>, Previous: <a href="#MetaPost" accesskey="p" rel="prev">MetaPost: Generating PostScript</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="BibTeX_003a-Bibliographies"></span><h2 class="chapter">8 BibTeX: Bibliographies</h2> +<h2 class="chapter" id="BibTeX_003a-Bibliographies">8 BibTeX: Bibliographies</h2> -<span id="index-bibliographies_002c-creating"></span> -<span id="index-BibTeX"></span> +<a class="index-entry-id" id="index-bibliographies_002c-creating"></a> +<a class="index-entry-id" id="index-BibTeX"></a> <p>BibTeX automates much of the job of typesetting bibliographies, and makes bibliography entries reusable in many different contexts. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#bibtex-invocation" accesskey="1">BibTeX invocation</a></li> <li><a href="#Basic-BibTeX-style-files" accesskey="2">Basic BibTeX style files</a></li> </ul> <hr> -<div class="section" id="bibtex-invocation"> -<div class="header"> +<div class="section-level-extent" id="bibtex-invocation"> +<div class="nav-panel"> <p> Next: <a href="#Basic-BibTeX-style-files" accesskey="n" rel="next">Basic BibTeX style files</a>, Up: <a href="#BibTeX" accesskey="u" rel="up">BibTeX: Bibliographies</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="BibTeX-invocation"></span><h3 class="section">8.1 BibTeX invocation</h3> +<h3 class="section" id="BibTeX-invocation">8.1 BibTeX invocation</h3> -<span id="index-bibtex"></span> +<a class="index-entry-id" id="index-bibtex"></a> -<span id="index-_002ebbl-bibliography-files"></span> -<span id="index-_002eaux-cross_002dreference-files"></span> -<span id="index-_002ebib-bibliography-databases"></span> -<p>BibTeX creates a printable bibliography (<samp>.bbl</samp>) file from -references in a <samp>.aux</samp> file, generally written by TeX or -LaTeX. The <samp>.bbl</samp> file is then incorporated on a subsequent -run. The basic bibliographic information comes from <samp>.bib</samp> files, -and a BibTeX style (<samp>.bst</samp>) file controls the precise contents -of the <samp>.bbl</samp> file. Synopsis: +<a class="index-entry-id" id="index-_002ebbl-bibliography-files"></a> +<a class="index-entry-id" id="index-_002eaux-cross_002dreference-files"></a> +<a class="index-entry-id" id="index-_002ebib-bibliography-databases"></a> +<p>BibTeX creates a printable bibliography (<samp class="file">.bbl</samp>) file from +references in a <samp class="file">.aux</samp> file, generally written by TeX or +LaTeX. The <samp class="file">.bbl</samp> file is then incorporated on a subsequent +run. The basic bibliographic information comes from <samp class="file">.bib</samp> files, +and a BibTeX style (<samp class="file">.bst</samp>) file controls the precise contents +of the <samp class="file">.bbl</samp> file. Synopsis: </p> <div class="example"> -<pre class="example">bibtex [<var>option</var>]… <var>auxfile</var>[.aux] +<pre class="example-preformatted">bibtex [<var class="var">option</var>]… <var class="var">auxfile</var>[.aux] </pre></div> -<span id="index-_002eblg-BibTeX-log-file"></span> -<span id="index-log-file_002c-BibTeX"></span> -<p>The output goes to the basename of <var>auxfile</var> extended with -<samp>.bbl</samp>; for example, ‘<samp>bibtex /wherever/foo.aux</samp>’ creates -<samp>./foo.bbl</samp>. BibTeX also writes a log file to the basename of -<var>auxfile</var> extended with ‘<samp>.blg</samp>’. -</p> -<span id="index-_005cbibliography"></span> -<span id="index-_005cbibliographystyle"></span> -<span id="index-TEXBIB_002c-search-path-for-bib-files"></span> -<span id="index-BIBINPUTS_002c-search-path-for-bib-files"></span> -<span id="index-BSTINPUTS_002c-search-path-for-bst-files"></span> -<p>The names of the <samp>.bib</samp> and <samp>.bst</samp> files are specified in the -<samp>.aux</samp> file as well, via the <samp>\bibliography</samp> and -<samp>\bibliographystyle</samp> (La)TeX macros. BibTeX searches for -<samp>.bib</samp> files using the <code>BIBINPUTS</code> and <code>TEXBIB</code> paths, -and for <samp>.bst</samp> files using <code>BSTINPUTS</code> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file -formats</a> in <cite>Kpathsea</cite>). It does no path searching for -<samp>.aux</samp> files. +<a class="index-entry-id" id="index-_002eblg-BibTeX-log-file"></a> +<a class="index-entry-id" id="index-log-file_002c-BibTeX"></a> +<p>The output goes to the basename of <var class="var">auxfile</var> extended with +<samp class="file">.bbl</samp>; for example, ‘<samp class="samp">bibtex /wherever/foo.aux</samp>’ creates +<samp class="file">./foo.bbl</samp>. BibTeX also writes a log file to the basename of +<var class="var">auxfile</var> extended with ‘<samp class="samp">.blg</samp>’. +</p> +<a class="index-entry-id" id="index-_005cbibliography"></a> +<a class="index-entry-id" id="index-_005cbibliographystyle"></a> +<a class="index-entry-id" id="index-TEXBIB_002c-search-path-for-bib-files"></a> +<a class="index-entry-id" id="index-BIBINPUTS_002c-search-path-for-bib-files"></a> +<a class="index-entry-id" id="index-BSTINPUTS_002c-search-path-for-bst-files"></a> +<p>The names of the <samp class="file">.bib</samp> and <samp class="file">.bst</samp> files are specified in the +<samp class="file">.aux</samp> file as well, via the <samp class="file">\bibliography</samp> and +<samp class="file">\bibliographystyle</samp> (La)TeX macros. BibTeX searches for +<samp class="file">.bib</samp> files using the <code class="code">BIBINPUTS</code> and <code class="code">TEXBIB</code> paths, +and for <samp class="file">.bst</samp> files using <code class="code">BSTINPUTS</code> (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file +formats</a> in <cite class="cite">Kpathsea</cite>). It does no path searching for +<samp class="file">.aux</samp> files. </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dterse'><span>‘<samp>-terse</samp>’<a href='#index-_002dterse' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-terse-output"></span> -<span id="index-verbose-BibTeX-output_002c-suppressing"></span> +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dterse'><span>‘<samp class="samp">-terse</samp>’<a class="copiable-link" href='#index-_002dterse'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-terse-output"></a> +<a class="index-entry-id" id="index-verbose-BibTeX-output_002c-suppressing"></a> <p>Suppress the program banner and progress reports normally output. </p> </dd> -<dt id='index-_002dmin_002dcrossrefs_003dn'><span>‘<samp>-min-crossrefs=<var>n</var></samp>’<a href='#index-_002dmin_002dcrossrefs_003dn' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-cross_002dreferenced-bibliography-items"></span> -<span id="index-bibliography-items_002c-cross_002dreferenced"></span> -<p>If at least <var>n</var> (2 by default) bibliography entries refer to another -entry <var>e</var> via their <code>crossref</code> field, include <var>e</var> in the -<tt>.bbl</tt> file, even if it was not explicitly referenced in the <tt>.aux</tt> -file. For example, <var>e</var> might be a conference proceedings as a whole, +<dt id='index-_002dmin_002dcrossrefs_003dn'><span>‘<samp class="samp">-min-crossrefs=<var class="var">n</var></samp>’<a class="copiable-link" href='#index-_002dmin_002dcrossrefs_003dn'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-cross_002dreferenced-bibliography-items"></a> +<a class="index-entry-id" id="index-bibliography-items_002c-cross_002dreferenced"></a> +<p>If at least <var class="var">n</var> (2 by default) bibliography entries refer to another +entry <var class="var">e</var> via their <code class="code">crossref</code> field, include <var class="var">e</var> in the +<code class="t">.bbl</code> file, even if it was not explicitly referenced in the <code class="t">.aux</code> +file. For example, <var class="var">e</var> might be a conference proceedings as a whole, with the cross-referencing entries being individual articles published in the proceedings. </p> <p>If you want to avoid these automatic inclusions altogether, make -<var>n</var> a sufficiently large number, and be sure to remove any -previous <tt>.aux</tt> and <tt>.bbl</tt> files. Otherwise the option may +<var class="var">n</var> a sufficiently large number, and be sure to remove any +previous <code class="t">.aux</code> and <code class="t">.bbl</code> files. Otherwise the option may appear to have no effect, since BibTeX will have added the citation -for <var>e</var> to the <tt>.aux</tt>, and nothing will remove it. +for <var class="var">e</var> to the <code class="t">.aux</code>, and nothing will remove it. </p> </dd> </dl> <p>See also: -</p><dl compact="compact"> -<dt id='index-btxdoc_002etex'><span><samp>btxdoc.tex</samp><a href='#index-btxdoc_002etex' class='copiable-anchor'> ¶</a></span></dt> +</p><dl class="table"> +<dt id='index-btxdoc_002etex'><span><samp class="file">btxdoc.tex</samp><a class="copiable-link" href='#index-btxdoc_002etex'> ¶</a></span></dt> <dd><p>Basic LaTeXable documentation for general BibTeX users. </p> </dd> -<dt id='index-btxhak_002etex'><span><samp>btxhak.tex</samp><a href='#index-btxhak_002etex' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-style-design_002c-for-BibTeX"></span> +<dt id='index-btxhak_002etex'><span><samp class="file">btxhak.tex</samp><a class="copiable-link" href='#index-btxhak_002etex'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-style-design_002c-for-BibTeX"></a> <p>LaTeXable documentation for style designers. </p> </dd> -<dt id='index-btxdoc_002ebib'><span><samp>btxdoc.bib</samp><a href='#index-btxdoc_002ebib' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-btxdoc_002ebib'><span><samp class="file">btxdoc.bib</samp><a class="copiable-link" href='#index-btxdoc_002ebib'> ¶</a></span></dt> <dd><p>BibTeX database file for the two above documents. </p> </dd> -<dt id='index-xampl_002ebib'><span><samp>xampl.bib</samp><a href='#index-xampl_002ebib' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-xampl_002ebib'><span><samp class="file">xampl.bib</samp><a class="copiable-link" href='#index-xampl_002ebib'> ¶</a></span></dt> <dd><p>Example database file with all the standard entry types. </p> </dd> -<dt id='index-ftp_002emath_002eutah_002eedu'><span><samp><a href="ftp://ftp.math.utah.edu/pub/tex/bib/">ftp://ftp.math.utah.edu/pub/tex/bib/</a></samp><a href='#index-ftp_002emath_002eutah_002eedu' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-BibTeX-collection"></span> -<span id="index-TUGboat-bibliography"></span> -<span id="index-TeX_002c-bibliographies-for"></span> -<p>A very large <samp>.bib</samp> and <samp>.bst</samp> collection, including +<dt id='index-ftp_002emath_002eutah_002eedu'><span><samp class="file"><a class="url" href="ftp://ftp.math.utah.edu/pub/tex/bib/">ftp://ftp.math.utah.edu/pub/tex/bib/</a></samp><a class="copiable-link" href='#index-ftp_002emath_002eutah_002eedu'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-BibTeX-collection"></a> +<a class="index-entry-id" id="index-TUGboat-bibliography"></a> +<a class="index-entry-id" id="index-TeX_002c-bibliographies-for"></a> +<p>A very large <samp class="file">.bib</samp> and <samp class="file">.bst</samp> collection, including references for all the standard TeX books and a complete bibliography for TUGboat. </p></dd> @@ -3546,61 +3542,61 @@ for TUGboat. <hr> </div> -<div class="section" id="Basic-BibTeX-style-files"> -<div class="header"> +<div class="section-level-extent" id="Basic-BibTeX-style-files"> +<div class="nav-panel"> <p> Previous: <a href="#bibtex-invocation" accesskey="p" rel="prev">BibTeX invocation</a>, Up: <a href="#BibTeX" accesskey="u" rel="up">BibTeX: Bibliographies</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Basic-BibTeX-style-files-1"></span><h3 class="section">8.2 Basic BibTeX style files</h3> +<h3 class="section" id="Basic-BibTeX-style-files-1">8.2 Basic BibTeX style files</h3> -<span id="index-basic-BibTeX-style-files"></span> -<span id="index-BibTeX-style-files"></span> +<a class="index-entry-id" id="index-basic-BibTeX-style-files"></a> +<a class="index-entry-id" id="index-BibTeX-style-files"></a> <p>Here are descriptions of the four standard and four semi-standard basic -BibTeX styles. <samp><var>CTAN:</var>/biblio/bibtex</samp> contains these and -many more (for CTAN info, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>). +BibTeX styles. <samp class="file"><var class="var">CTAN:</var>/biblio/bibtex</samp> contains these and +many more (for CTAN info, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite class="cite">Kpathsea</cite>). </p> -<dl compact="compact"> -<dt id='index-plain_002ebst'><span><code>plain</code><a href='#index-plain_002ebst' class='copiable-anchor'> ¶</a></span></dt> +<dl class="table"> +<dt id='index-plain_002ebst'><span><code class="code">plain</code><a class="copiable-link" href='#index-plain_002ebst'> ¶</a></span></dt> <dd><p>Sorts entries alphabetically, with numeric labels. Generally formatted -according to van Leunen’s <cite>A Handbook for Scholars</cite>. The other -style files listed here are based on <code>plain</code>. +according to van Leunen’s <cite class="cite">A Handbook for Scholars</cite>. The other +style files listed here are based on <code class="code">plain</code>. </p> </dd> -<dt id='index-abbrv_002ebst'><span><code>abbrv</code><a href='#index-abbrv_002ebst' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-abbrv_002ebst'><span><code class="code">abbrv</code><a class="copiable-link" href='#index-abbrv_002ebst'> ¶</a></span></dt> <dd><p>First names, month names, and journal names are abbreviated. </p> </dd> -<dt id='index-acm_002ebst'><span><code>acm</code><a href='#index-acm_002ebst' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-acm_002ebst'><span><code class="code">acm</code><a class="copiable-link" href='#index-acm_002ebst'> ¶</a></span></dt> <dd><p>Names are printed in small caps. </p> </dd> -<dt id='index-alpha_002ebst'><span><code>alpha</code><a href='#index-alpha_002ebst' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Alphanumeric labels, e.g., ‘<samp>Knu66</samp>’. +<dt id='index-alpha_002ebst'><span><code class="code">alpha</code><a class="copiable-link" href='#index-alpha_002ebst'> ¶</a></span></dt> +<dd><p>Alphanumeric labels, e.g., ‘<samp class="samp">Knu66</samp>’. </p> </dd> -<dt id='index-apalike_002ebst'><span><code>apalike</code><a href='#index-apalike_002ebst' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-apalike_002ebst'><span><code class="code">apalike</code><a class="copiable-link" href='#index-apalike_002ebst'> ¶</a></span></dt> <dd><p>No labels at all; instead, the year appears in parentheses after the author. -Use this in conjunction with <samp>apalike.tex</samp> (plain TeX) or -<samp>apalike.sty</samp> (LaTeX), which also changes the citations in the -text to be ‘<samp>(<var>author</var>, <var>year</var>)</samp>’. +Use this in conjunction with <samp class="file">apalike.tex</samp> (plain TeX) or +<samp class="file">apalike.sty</samp> (LaTeX), which also changes the citations in the +text to be ‘<samp class="samp">(<var class="var">author</var>, <var class="var">year</var>)</samp>’. </p> </dd> -<dt id='index-ieeetr_002ebst'><span><code>ieeetr</code><a href='#index-ieeetr_002ebst' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Numeric labels, entries in citation order, <small>IEEE</small> abbreviations, +<dt id='index-ieeetr_002ebst'><span><code class="code">ieeetr</code><a class="copiable-link" href='#index-ieeetr_002ebst'> ¶</a></span></dt> +<dd><p>Numeric labels, entries in citation order, <small class="sc">IEEE</small> abbreviations, article titles in quotes. </p> </dd> -<dt id='index-siam_002ebst'><span><code>siam</code><a href='#index-siam_002ebst' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Numeric labels, alphabetic order, <cite>Math. Reviews</cite> +<dt id='index-siam_002ebst'><span><code class="code">siam</code><a class="copiable-link" href='#index-siam_002ebst'> ¶</a></span></dt> +<dd><p>Numeric labels, alphabetic order, <cite class="cite">Math. Reviews</cite> abbreviations, names in small caps. </p> </dd> -<dt id='index-unsrt_002ebst'><span><code>unsrt</code><a href='#index-unsrt_002ebst' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-unsrt_002ebst'><span><code class="code">unsrt</code><a class="copiable-link" href='#index-unsrt_002ebst'> ¶</a></span></dt> <dd><p>Lists entries in citation order, i.e., unsorted. </p> </dd> -<dt><span><code>btxbst.doc</code></span></dt> +<dt><code class="code">btxbst.doc</code></dt> <dd><p>The template file and documentation for the standard styles. </p> </dd> @@ -3610,122 +3606,122 @@ abbreviations, names in small caps. <hr> </div> </div> -<div class="chapter" id="WEB"> -<div class="header"> +<div class="chapter-level-extent" id="WEB"> +<div class="nav-panel"> <p> Next: <a href="#DVI-utilities" accesskey="n" rel="next">DVI utilities</a>, Previous: <a href="#BibTeX" accesskey="p" rel="prev">BibTeX: Bibliographies</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="WEB_003a-Literate-programming"></span><h2 class="chapter">9 WEB: Literate programming</h2> +<h2 class="chapter" id="WEB_003a-Literate-programming">9 WEB: Literate programming</h2> -<span id="index-WEB"></span> -<span id="index-literate-programming"></span> +<a class="index-entry-id" id="index-WEB"></a> +<a class="index-entry-id" id="index-literate-programming"></a> -<p><em>WEB</em> languages allow you to write a single source file that can +<p><em class="dfn">WEB</em> languages allow you to write a single source file that can produce both a compilable program and a well-formatted document describing the program in as much detail as you wish to prepare. -Writing in this kind of dual-purpose language is called <em>literate -programming</em>. (The Usenet newsgroup <samp>comp.programming.literate</samp> +Writing in this kind of dual-purpose language is called <em class="dfn">literate +programming</em>. (The Usenet newsgroup <samp class="file">comp.programming.literate</samp> is devoted to this subject.) </p> -<span id="index-webman_002etex"></span> -<span id="index-Spiderweb"></span> -<span id="index-Cweb"></span> -<span id="index-CWEB"></span> -<span id="index-Awk_002c-WEB-for"></span> -<span id="index-Ada_002c-WEB-for"></span> -<span id="index-Troff_002c-WEB-for"></span> +<a class="index-entry-id" id="index-webman_002etex"></a> +<a class="index-entry-id" id="index-Spiderweb"></a> +<a class="index-entry-id" id="index-Cweb"></a> +<a class="index-entry-id" id="index-CWEB"></a> +<a class="index-entry-id" id="index-Awk_002c-WEB-for"></a> +<a class="index-entry-id" id="index-Ada_002c-WEB-for"></a> +<a class="index-entry-id" id="index-Troff_002c-WEB-for"></a> <p>WEB-like languages have been implemented with many pairs of base -languages: Cweb provides C and Troff (see <a href="#References">References</a>); CWEB provides -C and TeX (<samp><var>CTAN:</var>/web/c_cpp/cweb</samp>); Spiderweb provides C, +languages: Cweb provides C and Troff (see <a class="pxref" href="#References">References</a>); CWEB provides +C and TeX (<samp class="file"><var class="var">CTAN:</var>/web/c_cpp/cweb</samp>); Spiderweb provides C, C++, Awk, Ada, many others, and TeX -(<samp><var>CTAN:</var>/web/spiderweb</samp>); and, of course, the original WEB +(<samp class="file"><var class="var">CTAN:</var>/web/spiderweb</samp>); and, of course, the original WEB provides Pascal and TeX, the implementation languages for the original TeX, Metafont, MetaPost, and related programs to come from the TeX project at Stanford. </p> -<p>The original WEB language is documented in the file <samp>webman.tex</samp>, -which is included in the <a href="ftp://ftp.tug.org/tex/lib.tar.gz">ftp://ftp.tug.org/tex/lib.tar.gz</a> archive +<p>The original WEB language is documented in the file <samp class="file">webman.tex</samp>, +which is included in the <a class="url" href="ftp://ftp.tug.org/tex/lib.tar.gz">ftp://ftp.tug.org/tex/lib.tar.gz</a> archive (and available in many other places, of course). </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#tangle-invocation" accesskey="1">Tangle: Translate WEB to Pascal</a></li> <li><a href="#weave-invocation" accesskey="2">Weave: Translate WEB to TeX</a></li> <li><a href="#pooltype-invocation" accesskey="3">Pooltype: Display WEB pool files</a></li> </ul> <hr> -<div class="section" id="tangle-invocation"> -<div class="header"> +<div class="section-level-extent" id="tangle-invocation"> +<div class="nav-panel"> <p> Next: <a href="#weave-invocation" accesskey="n" rel="next">Weave: Translate WEB to TeX</a>, Up: <a href="#WEB" accesskey="u" rel="up">WEB: Literate programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Tangle_003a-Translate-WEB-to-Pascal"></span><h3 class="section">9.1 Tangle: Translate WEB to Pascal</h3> +<h3 class="section" id="Tangle_003a-Translate-WEB-to-Pascal">9.1 Tangle: Translate WEB to Pascal</h3> -<span id="index-tangle"></span> -<span id="index-Pascal_002c-creating-from-WEB"></span> -<span id="index-WEB-programs_002c-compiling"></span> +<a class="index-entry-id" id="index-tangle"></a> +<a class="index-entry-id" id="index-Pascal_002c-creating-from-WEB"></a> +<a class="index-entry-id" id="index-WEB-programs_002c-compiling"></a> <p>Tangle creates a compilable Pascal program from a WEB source file -(see <a href="#WEB">WEB: Literate programming</a>). Synopsis: +(see <a class="pxref" href="#WEB">WEB: Literate programming</a>). Synopsis: </p> <div class="example"> -<pre class="example">tangle [<var>option</var>]… <var>webfile</var>[.web] [<var>changefile</var>[.ch]] +<pre class="example-preformatted">tangle [<var class="var">option</var>]… <var class="var">webfile</var>[.web] [<var class="var">changefile</var>[.ch]] </pre></div> -<span id="index-change-files_002c-and-Tangle"></span> -<p>The Pascal output is written to the basename of <var>webfile</var> extended -with ‘<samp>.p</samp>’; for example, ‘<samp>tangle /wherever/foo.web</samp>’ creates -<samp>./foo.p</samp>. Tangle applies <var>changefile</var> to <var>webfile</var> before +<a class="index-entry-id" id="index-change-files_002c-and-Tangle"></a> +<p>The Pascal output is written to the basename of <var class="var">webfile</var> extended +with ‘<samp class="samp">.p</samp>’; for example, ‘<samp class="samp">tangle /wherever/foo.web</samp>’ creates +<samp class="file">./foo.p</samp>. Tangle applies <var class="var">changefile</var> to <var class="var">webfile</var> before writing the output; by default, there is no change file. </p> -<span id="index-pool-file_002c-writing"></span> -<span id="index-string-pool_002c-writing"></span> +<a class="index-entry-id" id="index-pool-file_002c-writing"></a> +<a class="index-entry-id" id="index-string-pool_002c-writing"></a> <p>If the program makes use of the WEB string facility, Tangle writes the -string pool to the basename of <var>webfile</var> extended with ‘<samp>.pool</samp>’. +string pool to the basename of <var class="var">webfile</var> extended with ‘<samp class="samp">.pool</samp>’. </p> <p>The Pascal output is packed into lines of 72 characters or less, with the only concession to readability being the termination of lines at semicolons when this can be done conveniently. </p> <p>The program accepts the following options, as well as the standard -‘<samp>--help</samp>’ and ‘<samp>--version</samp>’ (see <a href="#Common-options">Common options</a>): +‘<samp class="samp">--help</samp>’ and ‘<samp class="samp">--version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): </p> -<dl compact="compact"> -<dt id='index-_002dlength_003dnumber'><span>‘<samp>-length=<var>number</var></samp>’<a href='#index-_002dlength_003dnumber' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-identifier-length"></span> +<dl class="table"> +<dt id='index-_002dlength_003dnumber'><span>‘<samp class="samp">-length=<var class="var">number</var></samp>’<a class="copiable-link" href='#index-_002dlength_003dnumber'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-identifier-length"></a> <p>The number of characters that are considered significant in an identifier. Whether underline characters are counted depends on the -‘<samp>-underline</samp>’ option. The default value is 32, the original tangle +‘<samp class="samp">-underline</samp>’ option. The default value is 32, the original tangle used 7, but this proved too restrictive for use by Web2c. </p> </dd> -<dt id='index-_002dlowercase'><span>‘<samp>-lowercase</samp>’<a href='#index-_002dlowercase' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-mixedcase</samp>’</span></dt> -<dt><span>‘<samp>-uppercase</samp>’</span></dt> -<dd><span id="index-_002dmixedcase"></span> -<span id="index-_002duppercase"></span> -<span id="index-identifier-case"></span> +<dt id='index-_002dlowercase'><span>‘<samp class="samp">-lowercase</samp>’<a class="copiable-link" href='#index-_002dlowercase'> ¶</a></span></dt> +<dt>‘<samp class="samp">-mixedcase</samp>’</dt> +<dt>‘<samp class="samp">-uppercase</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dmixedcase"></a> +<a class="index-entry-id" id="index-_002duppercase"></a> +<a class="index-entry-id" id="index-identifier-case"></a> <p>These options specify the case of identifiers in the output of tangle. -If ‘<samp>-uppercase</samp>’ (‘<samp>-lowercase</samp>’) is specified, tangle will +If ‘<samp class="samp">-uppercase</samp>’ (‘<samp class="samp">-lowercase</samp>’) is specified, tangle will convert all identifiers to uppercase (lowercase). The default is -‘<samp>-mixedcase</samp>’, which specifies that the case will not be changed. +‘<samp class="samp">-mixedcase</samp>’, which specifies that the case will not be changed. </p> </dd> -<dt id='index-_002dunderline'><span>‘<samp>-underline</samp>’<a href='#index-_002dunderline' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-identifiers-with-underlines"></span> +<dt id='index-_002dunderline'><span>‘<samp class="samp">-underline</samp>’<a class="copiable-link" href='#index-_002dunderline'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-identifiers-with-underlines"></a> <p>When this option is given, tangle does not strip underline characters from identifiers. </p> </dd> -<dt id='index-_002dloose'><span>‘<samp>-loose</samp>’<a href='#index-_002dloose' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>-strict</samp>’</span></dt> -<dd><span id="index-_002dstrict"></span> -<span id="index-identifier-collisions"></span> +<dt id='index-_002dloose'><span>‘<samp class="samp">-loose</samp>’<a class="copiable-link" href='#index-_002dloose'> ¶</a></span></dt> +<dt>‘<samp class="samp">-strict</samp>’</dt> +<dd><a class="index-entry-id" id="index-_002dstrict"></a> +<a class="index-entry-id" id="index-identifier-collisions"></a> <p>These options specify how strict tangle must be when checking -identifiers for equality. The default is ‘<samp>-loose</samp>’, which means +identifiers for equality. The default is ‘<samp class="samp">-loose</samp>’, which means that tangle will follow the rules set by the case-smashing and underline -options above. If ‘<samp>-strict</samp>’ is set, then identifiers will always +options above. If ‘<samp class="samp">-strict</samp>’ is set, then identifiers will always be stripped of underlines and converted to uppercase before checking whether they collide. </p> @@ -3734,85 +3730,85 @@ whether they collide. <hr> </div> -<div class="section" id="weave-invocation"> -<div class="header"> +<div class="section-level-extent" id="weave-invocation"> +<div class="nav-panel"> <p> Next: <a href="#pooltype-invocation" accesskey="n" rel="next">Pooltype: Display WEB pool files</a>, Previous: <a href="#tangle-invocation" accesskey="p" rel="prev">Tangle: Translate WEB to Pascal</a>, Up: <a href="#WEB" accesskey="u" rel="up">WEB: Literate programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Weave_003a-Translate-WEB-to-TeX"></span><h3 class="section">9.2 Weave: Translate WEB to TeX</h3> +<h3 class="section" id="Weave_003a-Translate-WEB-to-TeX">9.2 Weave: Translate WEB to TeX</h3> -<span id="index-weave"></span> -<span id="index-TeX_002c-creating-from-WEB"></span> -<span id="index-WEB-programs_002c-typesetting"></span> -<span id="index-prettyprinting-WEB-programs"></span> +<a class="index-entry-id" id="index-weave"></a> +<a class="index-entry-id" id="index-TeX_002c-creating-from-WEB"></a> +<a class="index-entry-id" id="index-WEB-programs_002c-typesetting"></a> +<a class="index-entry-id" id="index-prettyprinting-WEB-programs"></a> -<p>Weave creates a TeX document from a WEB source file (see <a href="#WEB">WEB: Literate programming</a>), -assuming various macros defined in <samp>webmac.tex</samp>. It takes care of +<p>Weave creates a TeX document from a WEB source file (see <a class="pxref" href="#WEB">WEB: Literate programming</a>), +assuming various macros defined in <samp class="file">webmac.tex</samp>. It takes care of typographic details such as page layout, indentation, and italicizing identifiers. It also automatically gathers and outputs extensive cross-reference information. Synopsis: </p> <div class="example"> -<pre class="example">weave [<var>option</var>]… <var>webfile</var>[.web] [<var>changefile</var>[.ch]] +<pre class="example-preformatted">weave [<var class="var">option</var>]… <var class="var">webfile</var>[.web] [<var class="var">changefile</var>[.ch]] </pre></div> -<span id="index-change-files_002c-and-Weave"></span> -<p>The output is to the basename of <var>webfile</var> extended with -‘<samp>.tex</samp>’; for example, ‘<samp>weave /wherever/foo.web</samp>’ creates -<samp>./foo.tex</samp>. Weave applies <var>changefile</var> to <var>webfile</var> +<a class="index-entry-id" id="index-change-files_002c-and-Weave"></a> +<p>The output is to the basename of <var class="var">webfile</var> extended with +‘<samp class="samp">.tex</samp>’; for example, ‘<samp class="samp">weave /wherever/foo.web</samp>’ creates +<samp class="file">./foo.tex</samp>. Weave applies <var class="var">changefile</var> to <var class="var">webfile</var> before writing the output; by default, there is no change file. </p> <p>The program accepts the following option, as well as the standard -‘<samp>-verbose</samp>’, ‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dx'><span>‘<samp>-x</samp>’<a href='#index-_002dx' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-cross_002dreferences_002c-omitting"></span> -<span id="index-CONTENTS_002etex"></span> -<span id="index-webmac_002etex"></span> +‘<samp class="samp">-verbose</samp>’, ‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dx'><span>‘<samp class="samp">-x</samp>’<a class="copiable-link" href='#index-_002dx'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-cross_002dreferences_002c-omitting"></a> +<a class="index-entry-id" id="index-CONTENTS_002etex"></a> +<a class="index-entry-id" id="index-webmac_002etex"></a> <p>Omit the cross-reference information: the index, the list of WEB module -names, and the table of contents (an empty <samp>CONTENTS.tex</samp> file will +names, and the table of contents (an empty <samp class="file">CONTENTS.tex</samp> file will still be written when the Weave output file is processed by TeX using -the default <samp>webmac.tex</samp>, though). +the default <samp class="file">webmac.tex</samp>, though). </p></dd> </dl> -<p>Conventionally, WEB programmers should define the TeX <code>\title</code> +<p>Conventionally, WEB programmers should define the TeX <code class="code">\title</code> macro at the beginning of the source file. Also, to get output of only -changed modules, one can say <code>\let\maybe=\iffalse</code> (usually as the +changed modules, one can say <code class="code">\let\maybe=\iffalse</code> (usually as the first change in the change file). </p> <hr> </div> -<div class="section" id="pooltype-invocation"> -<div class="header"> +<div class="section-level-extent" id="pooltype-invocation"> +<div class="nav-panel"> <p> Previous: <a href="#weave-invocation" accesskey="p" rel="prev">Weave: Translate WEB to TeX</a>, Up: <a href="#WEB" accesskey="u" rel="up">WEB: Literate programming</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Pooltype_003a-Display-WEB-pool-files"></span><h3 class="section">9.3 Pooltype: Display WEB pool files</h3> +<h3 class="section" id="Pooltype_003a-Display-WEB-pool-files">9.3 Pooltype: Display WEB pool files</h3> -<span id="index-pooltype"></span> -<span id="index-type-programs_002c-pool"></span> -<span id="index-string-numbers_002c-displaying"></span> -<span id="index-WEB-pool-files_002c-displaying"></span> +<a class="index-entry-id" id="index-pooltype"></a> +<a class="index-entry-id" id="index-type-programs_002c-pool"></a> +<a class="index-entry-id" id="index-string-numbers_002c-displaying"></a> +<a class="index-entry-id" id="index-WEB-pool-files_002c-displaying"></a> -<p>Pooltype shows the so-called <em>string number</em> of each string in a WEB -pool file (see <a href="#WEB">WEB: Literate programming</a>), as output by Tangle (see <a href="#tangle-invocation">Tangle: Translate WEB to Pascal</a>), including the first 256 strings corresponding to the +<p>Pooltype shows the so-called <em class="dfn">string number</em> of each string in a WEB +pool file (see <a class="pxref" href="#WEB">WEB: Literate programming</a>), as output by Tangle (see <a class="pxref" href="#tangle-invocation">Tangle: Translate WEB to Pascal</a>), including the first 256 strings corresponding to the possible input characters. Pooltype primarily serves as an example of WEB conventions to implementors of the TeX system. Synopsis: </p> <div class="example"> -<pre class="example">pooltype [<var>option</var>]… <var>poolfile</var>[.pool] +<pre class="example-preformatted">pooltype [<var class="var">option</var>]… <var class="var">poolfile</var>[.pool] </pre></div> -<p>No path searching is done for <var>poolfile</var>. Output is to standard +<p>No path searching is done for <var class="var">poolfile</var>. Output is to standard output. </p> -<p>The only options are ‘<samp>--help</samp>’ and ‘<samp>--version</samp>’ (see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">--help</samp>’ and ‘<samp class="samp">--version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>). </p> -<p>As an example of the output, here is the (edited) output for <samp>tex.pool</samp>: +<p>As an example of the output, here is the (edited) output for <samp class="file">tex.pool</samp>: </p><div class="example"> -<pre class="example">0: "^^@" +<pre class="example-preformatted">0: "^^@" 1: "^^A" … 255: "^^ff" @@ -3822,10 +3818,10 @@ output. (23617 characters in all.) </pre></div> -<span id="index-representation-of-strings"></span> -<span id="index-string-representation"></span> +<a class="index-entry-id" id="index-representation-of-strings"></a> +<a class="index-entry-id" id="index-string-representation"></a> <p>In Metafont and MetaPost, the first 256 characters are actually -represented as single bytes (i.e., themselves), not in the ‘<samp>^^</samp>’ +represented as single bytes (i.e., themselves), not in the ‘<samp class="samp">^^</samp>’ notation. Consider Pooltype as showing the results after conversion for output. </p> @@ -3833,102 +3829,102 @@ output. <hr> </div> </div> -<div class="chapter" id="DVI-utilities"> -<div class="header"> +<div class="chapter-level-extent" id="DVI-utilities"> +<div class="nav-panel"> <p> Next: <a href="#Font-utilities" accesskey="n" rel="next">Font utilities</a>, Previous: <a href="#WEB" accesskey="p" rel="prev">WEB: Literate programming</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DVI-utilities-1"></span><h2 class="chapter">10 DVI utilities</h2> +<h2 class="chapter" id="DVI-utilities-1">10 DVI utilities</h2> -<span id="index-DVI-utilities"></span> +<a class="index-entry-id" id="index-DVI-utilities"></a> -<p>TeX outputs a file in <em>DVI</em> (DeVice Independent) format as a +<p>TeX outputs a file in <em class="dfn">DVI</em> (DeVice Independent) format as a compact representation of the original document. DVI files can be translated to meet the requirements of a real physical device, such as -PostScript printers (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Introduction</a> in <cite>Dvips</cite>), PCL +PostScript printers (see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Introduction</a> in <cite class="cite">Dvips</cite>), PCL printers (see dvilj(1)), and X displays (see xdvi(1)). In fact, DVI translators are available for virtually all common devices: see -<samp><var>CTAN:</var>/dviware</samp> (for CTAN info, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>). +<samp class="file"><var class="var">CTAN:</var>/dviware</samp> (for CTAN info, see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite class="cite">Kpathsea</cite>). </p> -<span id="index-dvitype_002eweb"></span> -<span id="index-DVI-format-definition"></span> +<a class="index-entry-id" id="index-dvitype_002eweb"></a> +<a class="index-entry-id" id="index-DVI-format-definition"></a> <p>For the precise definition of the DVI file format, see (for example) the -source file <samp>web2c/dvitype.web</samp>. +source file <samp class="file">web2c/dvitype.web</samp>. </p> <p>The DVI-processing programs in the Web2c distribution are not device drivers; they perform generic utility functions. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#dvicopy-invocation" accesskey="1">DVIcopy: Canonicalize virtual font references</a></li> <li><a href="#dvitype-invocation" accesskey="2">DVItype: Plain text transliteration of DVI files</a></li> </ul> <hr> -<div class="section" id="dvicopy-invocation"> -<div class="header"> +<div class="section-level-extent" id="dvicopy-invocation"> +<div class="nav-panel"> <p> Next: <a href="#dvitype-invocation" accesskey="n" rel="next">DVItype: Plain text transliteration of DVI files</a>, Up: <a href="#DVI-utilities" accesskey="u" rel="up">DVI utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DVIcopy_003a-Canonicalize-virtual-font-references"></span><h3 class="section">10.1 DVIcopy: Canonicalize virtual font references</h3> +<h3 class="section" id="DVIcopy_003a-Canonicalize-virtual-font-references">10.1 DVIcopy: Canonicalize virtual font references</h3> -<span id="index-dvicopy"></span> -<span id="index-virtual-fonts_002c-expanding"></span> +<a class="index-entry-id" id="index-dvicopy"></a> +<a class="index-entry-id" id="index-virtual-fonts_002c-expanding"></a> <p>DVIcopy reads a DVI file, expands any references to virtual fonts -(see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite>Dvips</cite>) to base fonts, and writes the +(see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite class="cite">Dvips</cite>) to base fonts, and writes the resulting DVI file. Thus you can use virtual fonts even if your DVI processor does not support them, by passing the documents through DVIcopy first. Synopsis: </p> <div class="example"> -<pre class="example">dvicopy [<var>option</var>]… [<var>indvi</var>[.dvi] [<var>outdvi</var>[.dvi]]] +<pre class="example-preformatted">dvicopy [<var class="var">option</var>]… [<var class="var">indvi</var>[.dvi] [<var class="var">outdvi</var>[.dvi]]] </pre></div> -<p>DVIcopy reads standard input if <var>indvi</var> is not specified, and writes -standard output if <var>outdvi</var> is not specified. +<p>DVIcopy reads standard input if <var class="var">indvi</var> is not specified, and writes +standard output if <var class="var">outdvi</var> is not specified. </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dmagnification_003dinteger'><span>‘<samp>-magnification=<var>integer</var></samp>’<a href='#index-_002dmagnification_003dinteger' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-magnification"></span> -<span id="index-_005cmag"></span> -<p>Override existing magnification in <var>indvi</var> with <var>integer</var>; 1000 +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dmagnification_003dinteger'><span>‘<samp class="samp">-magnification=<var class="var">integer</var></samp>’<a class="copiable-link" href='#index-_002dmagnification_003dinteger'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-magnification"></a> +<a class="index-entry-id" id="index-_005cmag"></a> +<p>Override existing magnification in <var class="var">indvi</var> with <var class="var">integer</var>; 1000 specifies no magnification. This is equivalent to setting TeX’s -<code>\mag</code> parameter. +<code class="code">\mag</code> parameter. </p> </dd> -<dt id='index-_002dmax_002dpages_003dn'><span>‘<samp>-max-pages=<var>n</var></samp>’<a href='#index-_002dmax_002dpages_003dn' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Process <var>n</var> pages; default is one million. +<dt id='index-_002dmax_002dpages_003dn'><span>‘<samp class="samp">-max-pages=<var class="var">n</var></samp>’<a class="copiable-link" href='#index-_002dmax_002dpages_003dn'> ¶</a></span></dt> +<dd><p>Process <var class="var">n</var> pages; default is one million. </p> </dd> -<dt id='index-_002dpage_002dstart_003dpage_002dspec'><span>‘<samp>-page-start=<var>page-spec</var></samp>’<a href='#index-_002dpage_002dstart_003dpage_002dspec' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-starting-page"></span> -<span id="index-page_002c-starting"></span> -<span id="index-_005ccountn"></span> -<p>Start at the first page matching <var>page-spec</var>, which is one or more +<dt id='index-_002dpage_002dstart_003dpage_002dspec'><span>‘<samp class="samp">-page-start=<var class="var">page-spec</var></samp>’<a class="copiable-link" href='#index-_002dpage_002dstart_003dpage_002dspec'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-starting-page"></a> +<a class="index-entry-id" id="index-page_002c-starting"></a> +<a class="index-entry-id" id="index-_005ccountn"></a> +<p>Start at the first page matching <var class="var">page-spec</var>, which is one or more (signed) integers separated by periods, corresponding to TeX’s -<code>\count0…9</code> parameters at <code>\shipout</code> time; ‘<samp>*</samp>’ -matches anything. Examples: ‘<samp>3</samp>’, ‘<samp>1.*.-4</samp>’. +<code class="code">\count0…9</code> parameters at <code class="code">\shipout</code> time; ‘<samp class="samp">*</samp>’ +matches anything. Examples: ‘<samp class="samp">3</samp>’, ‘<samp class="samp">1.*.-4</samp>’. </p></dd> </dl> <hr> </div> -<div class="section" id="dvitype-invocation"> -<div class="header"> +<div class="section-level-extent" id="dvitype-invocation"> +<div class="nav-panel"> <p> Previous: <a href="#dvicopy-invocation" accesskey="p" rel="prev">DVIcopy: Canonicalize virtual font references</a>, Up: <a href="#DVI-utilities" accesskey="u" rel="up">DVI utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DVItype_003a-Plain-text-transliteration-of-DVI-files"></span><h3 class="section">10.2 DVItype: Plain text transliteration of DVI files</h3> +<h3 class="section" id="DVItype_003a-Plain-text-transliteration-of-DVI-files">10.2 DVItype: Plain text transliteration of DVI files</h3> -<span id="index-dvitype-DVI-validation"></span> -<span id="index-conversion_002c-DVI-to-plain-text"></span> -<span id="index-plain-text_002c-converting-DVI-to"></span> -<span id="index-human_002dreadable-text_002c-converting-DVI-to"></span> -<span id="index-type-programs_002c-DVI"></span> -<span id="index-validation_002c-of-DVI-files"></span> +<a class="index-entry-id" id="index-dvitype-DVI-validation"></a> +<a class="index-entry-id" id="index-conversion_002c-DVI-to-plain-text"></a> +<a class="index-entry-id" id="index-plain-text_002c-converting-DVI-to"></a> +<a class="index-entry-id" id="index-human_002dreadable-text_002c-converting-DVI-to"></a> +<a class="index-entry-id" id="index-type-programs_002c-DVI"></a> +<a class="index-entry-id" id="index-validation_002c-of-DVI-files"></a> <p>DVItype translates a DeVice Independent (DVI) file (as output by TeX, for example) to a plain text file that humans can read. It also serves @@ -3936,91 +3932,91 @@ as a DVI-validating program, i.e., if DVItype can read a file, it’s correct. Synopsis: </p> <div class="example"> -<pre class="example">dvitype [<var>option</var>]… <var>dvifile</var>[.dvi] +<pre class="example-preformatted">dvitype [<var class="var">option</var>]… <var class="var">dvifile</var>[.dvi] </pre></div> <p>DVItype does not read any bitmap files, but it does read TFM files for -fonts referenced in <var>dvifile</var>. The usual places are searched -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>). To see all the -relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to -‘<samp>-1</samp>’ before running the program. +fonts referenced in <var class="var">dvifile</var>. The usual places are searched +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>). To see all the +relevant paths, set the environment variable <code class="code">KPATHSEA_DEBUG</code> to +‘<samp class="samp">-1</samp>’ before running the program. </p> <p>Output goes to standard output. </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002ddpi_003dreal'><span>‘<samp>-dpi=<var>real</var></samp>’<a href='#index-_002ddpi_003dreal' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Do pixel movement calculations at <var>real</var> pixels per inch; default +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002ddpi_003dreal'><span>‘<samp class="samp">-dpi=<var class="var">real</var></samp>’<a class="copiable-link" href='#index-_002ddpi_003dreal'> ¶</a></span></dt> +<dd><p>Do pixel movement calculations at <var class="var">real</var> pixels per inch; default 300.0. </p> </dd> -<dt id='index-_002dmagnification_003dinteger-1'><span>‘<samp>-magnification=<var>integer</var></samp>’<a href='#index-_002dmagnification_003dinteger-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-magnification-1"></span> -<span id="index-_005cmag-1"></span> -<p>Override existing magnification in <var>indvi</var> with <var>integer</var>; 1000 +<dt id='index-_002dmagnification_003dinteger-1'><span>‘<samp class="samp">-magnification=<var class="var">integer</var></samp>’<a class="copiable-link" href='#index-_002dmagnification_003dinteger-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-magnification-1"></a> +<a class="index-entry-id" id="index-_005cmag-1"></a> +<p>Override existing magnification in <var class="var">indvi</var> with <var class="var">integer</var>; 1000 specifies no magnification. This is equivalent to setting TeX’s -<code>\mag</code> parameter. +<code class="code">\mag</code> parameter. </p> </dd> -<dt id='index-_002dmax_002dpages_003dn-1'><span>‘<samp>-max-pages=<var>n</var></samp>’<a href='#index-_002dmax_002dpages_003dn-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Process <var>n</var> pages; default is one million. +<dt id='index-_002dmax_002dpages_003dn-1'><span>‘<samp class="samp">-max-pages=<var class="var">n</var></samp>’<a class="copiable-link" href='#index-_002dmax_002dpages_003dn-1'> ¶</a></span></dt> +<dd><p>Process <var class="var">n</var> pages; default is one million. </p> </dd> -<dt id='index-_002doutput_002dlevel_003dn'><span>‘<samp>-output-level=<var>n</var></samp>’<a href='#index-_002doutput_002dlevel_003dn' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002doutput_002dlevel_003dn'><span>‘<samp class="samp">-output-level=<var class="var">n</var></samp>’<a class="copiable-link" href='#index-_002doutput_002dlevel_003dn'> ¶</a></span></dt> <dd><p>Verbosity level of output, from 0 to 4 (default 4): -</p><ul> -<li> 0: Global document information only. -</li><li> 1: Most DVI commands included, and typeset characters summarized. -</li><li> 2: Character and movement commands explicitly included. -</li><li> 3: DVI stack and current position calculations included. -</li><li> 4: Same information as level 3, but DVItype does random positioning +</p><ul class="itemize mark-bullet"> +<li>0: Global document information only. +</li><li>1: Most DVI commands included, and typeset characters summarized. +</li><li>2: Character and movement commands explicitly included. +</li><li>3: DVI stack and current position calculations included. +</li><li>4: Same information as level 3, but DVItype does random positioning in the file, reading the DVI postamble first. </li></ul> </dd> -<dt id='index-_002dpage_002dstart_003dpage_002dspec-1'><span>‘<samp>-page-start=<var>page-spec</var></samp>’<a href='#index-_002dpage_002dstart_003dpage_002dspec-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-starting-page-1"></span> -<span id="index-page_002c-starting-1"></span> -<span id="index-_005ccountn-1"></span> -<p>Start at the first page matching <var>page-spec</var>, which is one or more +<dt id='index-_002dpage_002dstart_003dpage_002dspec-1'><span>‘<samp class="samp">-page-start=<var class="var">page-spec</var></samp>’<a class="copiable-link" href='#index-_002dpage_002dstart_003dpage_002dspec-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-starting-page-1"></a> +<a class="index-entry-id" id="index-page_002c-starting-1"></a> +<a class="index-entry-id" id="index-_005ccountn-1"></a> +<p>Start at the first page matching <var class="var">page-spec</var>, which is one or more (signed) integers separated by periods, corresponding to TeX’s -<code>\count0…9</code> parameters at <code>\shipout</code> time; ‘<samp>*</samp>’ -matches anything. Examples: ‘<samp>1</samp>’, ‘<samp>5.*.-9</samp>’. +<code class="code">\count0…9</code> parameters at <code class="code">\shipout</code> time; ‘<samp class="samp">*</samp>’ +matches anything. Examples: ‘<samp class="samp">1</samp>’, ‘<samp class="samp">5.*.-9</samp>’. </p> </dd> -<dt id='index-_002dshow_002dopcodes'><span>‘<samp>-show-opcodes</samp>’<a href='#index-_002dshow_002dopcodes' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-opcodes_002c-showing-DVI"></span> -<span id="index-DVI-opcodes_002c-showing"></span> -<span id="index-debugging-DVI-utilities"></span> +<dt id='index-_002dshow_002dopcodes'><span>‘<samp class="samp">-show-opcodes</samp>’<a class="copiable-link" href='#index-_002dshow_002dopcodes'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-opcodes_002c-showing-DVI"></a> +<a class="index-entry-id" id="index-DVI-opcodes_002c-showing"></a> +<a class="index-entry-id" id="index-debugging-DVI-utilities"></a> <p>Show numeric opcode values (in decimal) for DVI commands, in braces after the command name. This can help in debugging DVI utilities. We use decimal because in the DVI format documentation (in -<samp>dvitype.web</samp>, among others) the opcodes are shown in decimal. +<samp class="file">dvitype.web</samp>, among others) the opcodes are shown in decimal. </p></dd> </dl> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#dvitype-output-example" accesskey="1">DVItype output example</a></li> </ul> <hr> -<div class="subsection" id="dvitype-output-example"> -<div class="header"> +<div class="subsection-level-extent" id="dvitype-output-example"> +<div class="nav-panel"> <p> Up: <a href="#dvitype-invocation" accesskey="u" rel="up">DVItype: Plain text transliteration of DVI files</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="DVItype-output-example"></span><h4 class="subsection">10.2.1 DVItype output example</h4> +<h4 class="subsection" id="DVItype-output-example">10.2.1 DVItype output example</h4> -<span id="index-dvitype-output-example"></span> +<a class="index-entry-id" id="index-dvitype-output-example"></a> <p>As an example of the output from DVItype (see section above), here is -its (abridged) translation of the <samp>story.dvi</samp> resulting from -running the example in <cite>The TeXbook</cite>, with -‘<samp>-output-level=4</samp>’ and ‘<samp>-show-opcodes</samp>’ on. +its (abridged) translation of the <samp class="file">story.dvi</samp> resulting from +running the example in <cite class="cite">The TeXbook</cite>, with +‘<samp class="samp">-output-level=4</samp>’ and ‘<samp class="samp">-show-opcodes</samp>’ on. </p> <div class="example"> -<pre class="example">… +<pre class="example-preformatted">… Options selected: Starting page = * Maximum number of pages = 1000000 @@ -4075,21 +4071,21 @@ level 0:(h=0,v=43725786,w=0,x=0,y=0,z=0,hh=0,vv=2770) <p>Explanation: </p> -<ul> -<li> The DVItype options are recorded at the beginning, followed by +<ul class="itemize mark-bullet"> +<li>The DVItype options are recorded at the beginning, followed by global information about the document, including fonts used. -</li><li> Each DVI command is preceded by its byte position in the file -(‘<samp>42:</samp>’, ‘<samp>87:</samp>’, …), and (because of the -‘<samp>-show-opcodes</samp>’) followed by its decimal opcode value in braces -(‘<samp>{141}</samp>’, ‘<samp>{142}</samp>’, …). +</li><li>Each DVI command is preceded by its byte position in the file +(‘<samp class="samp">42:</samp>’, ‘<samp class="samp">87:</samp>’, …), and (because of the +‘<samp class="samp">-show-opcodes</samp>’) followed by its decimal opcode value in braces +(‘<samp class="samp">{141}</samp>’, ‘<samp class="samp">{142}</samp>’, …). -</li><li> The ‘<samp>level</samp>’ lines record information about the DVI stack; ‘<samp>h</samp>’ -and ‘<samp>v</samp>’ define the current position in DVI units, while ‘<samp>hh</samp>’ -and ‘<samp>vv</samp>’ are the same in pixels. +</li><li>The ‘<samp class="samp">level</samp>’ lines record information about the DVI stack; ‘<samp class="samp">h</samp>’ +and ‘<samp class="samp">v</samp>’ define the current position in DVI units, while ‘<samp class="samp">hh</samp>’ +and ‘<samp class="samp">vv</samp>’ are the same in pixels. -</li><li> Text sequences are summarized in brackets, as in ‘<samp>[A SHORT -STORY]</samp>’ and the ‘<samp>[ 1]</samp>’. +</li><li>Text sequences are summarized in brackets, as in ‘<samp class="samp">[A SHORT +STORY]</samp>’ and the ‘<samp class="samp">[ 1]</samp>’. </li></ul> @@ -4097,31 +4093,31 @@ STORY]</samp>’ and the ‘<samp>[ 1]</samp>’. </div> </div> </div> -<div class="chapter" id="Font-utilities"> -<div class="header"> +<div class="chapter-level-extent" id="Font-utilities"> +<div class="nav-panel"> <p> Next: <a href="#Legalisms" accesskey="n" rel="next">Legalisms</a>, Previous: <a href="#DVI-utilities" accesskey="p" rel="prev">DVI utilities</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Font-utilities-1"></span><h2 class="chapter">11 Font utilities</h2> +<h2 class="chapter" id="Font-utilities-1">11 Font utilities</h2> -<span id="index-font-utilities"></span> +<a class="index-entry-id" id="index-font-utilities"></a> <p>The Web2c programs described here convert between various TeX-related font formats; the first section below briefly describes the formats. GFtoPK is the only one that is routinely used, as Metafont outputs GF format, but it’s most efficient for device drivers to use PK. </p> -<span id="index-pktype_002eweb"></span> -<span id="index-gftype_002eweb"></span> -<span id="index-PK-format-definition"></span> -<span id="index-GF-format-definition"></span> +<a class="index-entry-id" id="index-pktype_002eweb"></a> +<a class="index-entry-id" id="index-gftype_002eweb"></a> +<a class="index-entry-id" id="index-PK-format-definition"></a> +<a class="index-entry-id" id="index-GF-format-definition"></a> <p>The precise definitions of the PK, GF, TFM, PL, VF, and VPL formats mentioned below are in the source files that read them; -<samp>pktype.web</samp>, <samp>gftype.web</samp>, <samp>tftopl.web</samp>, etc. +<samp class="file">pktype.web</samp>, <samp class="file">gftype.web</samp>, <samp class="file">tftopl.web</samp>, etc. </p> -<ul class="section-toc"> +<ul class="mini-toc"> <li><a href="#Font-file-formats" accesskey="1">Font file formats</a></li> <li><a href="#gftopk-invocation" accesskey="2">GFtoPK: Generic to packed font conversion</a></li> <li><a href="#pktogf-invocation" accesskey="3">PKtoGF: Packed to generic font conversion</a></li> @@ -4134,25 +4130,25 @@ mentioned below are in the source files that read them; <li><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></li> </ul> <hr> -<div class="section" id="Font-file-formats"> -<div class="header"> +<div class="section-level-extent" id="Font-file-formats"> +<div class="nav-panel"> <p> Next: <a href="#gftopk-invocation" accesskey="n" rel="next">GFtoPK: Generic to packed font conversion</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Font-file-formats-1"></span><h3 class="section">11.1 Font file formats</h3> +<h3 class="section" id="Font-file-formats-1">11.1 Font file formats</h3> -<span id="index-font-file-formats"></span> -<span id="index-file-formats-for-fonts"></span> +<a class="index-entry-id" id="index-font-file-formats"></a> +<a class="index-entry-id" id="index-file-formats-for-fonts"></a> -<p>For another perspective on this, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Font-concepts">Font concepts</a> in <cite>Dvips</cite>. +<p>For another perspective on this, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Font-concepts">Font concepts</a> in <cite class="cite">Dvips</cite>. </p> <p>Font files come in several varieties, with suffixes like: </p><div class="example"> -<pre class="example">.tfm .*pk .*gf .*pxl<span class="roman"> (obsolete)</span> .pl .mf .vf .vpl +<pre class="example-preformatted">.tfm .*pk .*gf .*pxl<span class="r"> (obsolete)</span> .pl .mf .vf .vpl </pre></div> <p>Each represents a file format. </p> -<span id="index-TFM-files_002c-explained"></span> +<a class="index-entry-id" id="index-TFM-files_002c-explained"></a> <p>A TFM (TeX font metric) file is a compact binary file that contains information about each character in a font, about combinations of characters within that font, and about the font as a whole. The font @@ -4162,10 +4158,10 @@ described below, TFM font files contain no information about the shapes of characters. They describe rectangular areas and combinations thereof, but not what will eventually be printed in those areas. </p> -<span id="index-scaling-of-fonts"></span> -<span id="index-optical-font-scaling"></span> -<span id="index-geometric-font-scaling"></span> -<span id="index-PostScript_002c-and-font-scaling"></span> +<a class="index-entry-id" id="index-scaling-of-fonts"></a> +<a class="index-entry-id" id="index-optical-font-scaling"></a> +<a class="index-entry-id" id="index-geometric-font-scaling"></a> +<a class="index-entry-id" id="index-PostScript_002c-and-font-scaling"></a> <p>Since TeX does scaling calculations, one TFM file serves for all magnifications of a given typeface. On the other hand, the best printed results are obtained when magnified (or reduced fonts) are not produced @@ -4174,21 +4170,21 @@ with each size a separate design (as done with Computer Modern and the EC fonts, for example); then a separate TFM file is needed for each size. </p> -<span id="index-DVI-files_002c-explained"></span> +<a class="index-entry-id" id="index-DVI-files_002c-explained"></a> <p>At any rate, TeX produces a DVI (DeVice Independent) file from your source document. In order to print DVI files on real devices, you need font files defining digitized character shapes and other data. Then previewers and printer-driver programs can translate your DVI files into something usable by your monitor or printer. Bitmap fonts come with -suffixes such as ‘<samp>.600pk</samp>’ or ‘<samp>.600gf</samp>’ or ‘<samp>.3000pxl</samp>’, where -the ‘<samp>600</samp>’ is the horizontal dots-per-inch resolution at which the -font was produced, and the ‘<samp>pk</samp>’ or ‘<samp>gf</samp>’ or ‘<samp>pxl</samp>’ +suffixes such as ‘<samp class="samp">.600pk</samp>’ or ‘<samp class="samp">.600gf</samp>’ or ‘<samp class="samp">.3000pxl</samp>’, where +the ‘<samp class="samp">600</samp>’ is the horizontal dots-per-inch resolution at which the +font was produced, and the ‘<samp class="samp">pk</samp>’ or ‘<samp class="samp">gf</samp>’ or ‘<samp class="samp">pxl</samp>’ indicates the font format. Outline fonts in PostScript Type 1 format -have suffixes such as ‘<samp>.pfa</samp>’ or ‘<samp>.pfb</samp>’. +have suffixes such as ‘<samp class="samp">.pfa</samp>’ or ‘<samp class="samp">.pfb</samp>’. </p> -<span id="index-PXL-files_002c-explained"></span> -<span id="index-PK-files_002c-explained"></span> -<span id="index-GF-files_002c-explained"></span> +<a class="index-entry-id" id="index-PXL-files_002c-explained"></a> +<a class="index-entry-id" id="index-PK-files_002c-explained"></a> +<a class="index-entry-id" id="index-GF-files_002c-explained"></a> <p>Fonts in pk (packed) format are in the tightly packed raster format that is pretty much the standard today. They take up less space than fonts in the gf (generic font) format that Metafont generates, and far less @@ -4196,129 +4192,129 @@ space than fonts in pxl format. Fonts in pxl format take up gross amounts of disk space and permit only 128 characters. They are obsolete. </p> -<span id="index-PL-files_002c-explained"></span> -<p>Font files with the ‘<samp>.pl</samp>’ (property list) suffix are the plain text -(human-readable) analog of the binary ‘<samp>.tfm</samp>’ files. +<a class="index-entry-id" id="index-PL-files_002c-explained"></a> +<p>Font files with the ‘<samp class="samp">.pl</samp>’ (property list) suffix are the plain text +(human-readable) analog of the binary ‘<samp class="samp">.tfm</samp>’ files. The TFtoPL and PLtoTF programs convert between the two formats -(see <a href="#tftopl-invocation">TFtoPL: TeX font metric to property list conversion</a> and <a href="#pltotf-invocation">PLtoTF: Property list to TeX font metric conversion</a>). +(see <a class="pxref" href="#tftopl-invocation">TFtoPL: TeX font metric to property list conversion</a> and <a class="ref" href="#pltotf-invocation">PLtoTF: Property list to TeX font metric conversion</a>). </p> -<p>Font files with the ‘<samp>.mf</samp>’ suffix are in Metafont source format. +<p>Font files with the ‘<samp class="samp">.mf</samp>’ suffix are in Metafont source format. These are the files used by Metafont to generate rastered fonts for specific typefaces at specific magnifications for the specific resolution and type of mapping used by your device. </p> -<span id="index-virtual_002dfonts_002eknuth"></span> -<span id="index-virtualfonts_002etxt"></span> -<p>The suffix ‘<samp>.vf</samp>’ identifies “virtual font” files, for which -‘<samp>.vpl</samp>’ is the human-readable analog. See See <a href="#vftovp-invocation">VFtoVP: Virtual font to virtual property lists</a>, -and <a href="#vptovf-invocation">VPtoVF: Virtual property lists to virtual font</a>. For further discussion of virtual fonts, -see <samp><var>CTAN:</var>/doc/virtual-fonts.knuth</samp>, -<samp><var>CTAN:</var>/help/virtualfonts.txt</samp>, and <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite>Dvips</cite>. +<a class="index-entry-id" id="index-virtual_002dfonts_002eknuth"></a> +<a class="index-entry-id" id="index-virtualfonts_002etxt"></a> +<p>The suffix ‘<samp class="samp">.vf</samp>’ identifies “virtual font” files, for which +‘<samp class="samp">.vpl</samp>’ is the human-readable analog. See See <a class="xref" href="#vftovp-invocation">VFtoVP: Virtual font to virtual property lists</a>, +and <a class="ref" href="#vptovf-invocation">VPtoVF: Virtual property lists to virtual font</a>. For further discussion of virtual fonts, +see <samp class="file"><var class="var">CTAN:</var>/doc/virtual-fonts.knuth</samp>, +<samp class="file"><var class="var">CTAN:</var>/help/virtualfonts.txt</samp>, and <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite class="cite">Dvips</cite>. </p> -<span id="index-MacKay_002c-Pierre"></span> -<span id="index-Tachikawa_002c-Elizabeth"></span> +<a class="index-entry-id" id="index-MacKay_002c-Pierre"></a> +<a class="index-entry-id" id="index-Tachikawa_002c-Elizabeth"></a> <p>(This section is based on documentation in the original Unix TeX distribution by Pierre MacKay and Elizabeth Tachikawa.) </p> <hr> </div> -<div class="section" id="gftopk-invocation"> -<div class="header"> +<div class="section-level-extent" id="gftopk-invocation"> +<div class="nav-panel"> <p> Next: <a href="#pktogf-invocation" accesskey="n" rel="next">PKtoGF: Packed to generic font conversion</a>, Previous: <a href="#Font-file-formats" accesskey="p" rel="prev">Font file formats</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="GFtoPK_003a-Generic-to-packed-font-conversion"></span><h3 class="section">11.2 GFtoPK: Generic to packed font conversion</h3> +<h3 class="section" id="GFtoPK_003a-Generic-to-packed-font-conversion">11.2 GFtoPK: Generic to packed font conversion</h3> -<span id="index-gftopk"></span> -<span id="index-conversion_002c-GF-to-PK"></span> -<span id="index-PK_002c-converting-GF-to"></span> -<span id="index-GF_002c-converting-to-PK"></span> +<a class="index-entry-id" id="index-gftopk"></a> +<a class="index-entry-id" id="index-conversion_002c-GF-to-PK"></a> +<a class="index-entry-id" id="index-PK_002c-converting-GF-to"></a> +<a class="index-entry-id" id="index-GF_002c-converting-to-PK"></a> <p>GFtoPK converts a generic font (GF) file output by, for example, -Metafont (see <a href="#mf-invocation"><code>mf</code> invocation</a>) to a packed font (PK) file. PK files +Metafont (see <a class="pxref" href="#mf-invocation"><code class="code">mf</code> invocation</a>) to a packed font (PK) file. PK files are considerably smaller than the corresponding gf files, so they are generally the bitmap font format of choice. Some DVI-processing programs, notably Dvips, only support PK files and not GF files. Synopsis: </p> <div class="example"> -<pre class="example">gftopk [<var>option</var>]… <var>gfname</var>.<var>dpi</var>[gf] [<var>pkfile</var>] +<pre class="example-preformatted">gftopk [<var class="var">option</var>]… <var class="var">gfname</var>.<var class="var">dpi</var>[gf] [<var class="var">pkfile</var>] </pre></div> -<p>The font <var>gfname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph -lookup</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running +<p>The font <var class="var">gfname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph +lookup</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>The suffix ‘<samp>gf</samp>’ is supplied if not already present. This suffix is -not an extension; no ‘<samp>.</samp>’ precedes it: for instance, -<samp>cmr10.600gf</samp>. +<p>The suffix ‘<samp class="samp">gf</samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp class="samp">.</samp>’ precedes it: for instance, +<samp class="file">cmr10.600gf</samp>. </p> -<p>If <var>pkfile</var> is not specified, the output is written to the basename -of ‘<samp><var>gfname</var>.<var>dpi</var>pk</samp>’, e.g., ‘<samp>gftopk -/wherever/cmr10.600gf</samp>’ creates <samp>./cmr10.600pk</samp>. +<p>If <var class="var">pkfile</var> is not specified, the output is written to the basename +of ‘<samp class="samp"><var class="var">gfname</var>.<var class="var">dpi</var>pk</samp>’, e.g., ‘<samp class="samp">gftopk +/wherever/cmr10.600gf</samp>’ creates <samp class="file">./cmr10.600pk</samp>. </p> -<p>The only options are ‘<samp>--verbose</samp>’, ‘<samp>--help</samp>’, and -‘<samp>--version</samp>’ (see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">--verbose</samp>’, ‘<samp class="samp">--help</samp>’, and +‘<samp class="samp">--version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>). </p> <hr> </div> -<div class="section" id="pktogf-invocation"> -<div class="header"> +<div class="section-level-extent" id="pktogf-invocation"> +<div class="nav-panel"> <p> Next: <a href="#pktype-invocation" accesskey="n" rel="next">PKtype: Plain text transliteration of packed fonts</a>, Previous: <a href="#gftopk-invocation" accesskey="p" rel="prev">GFtoPK: Generic to packed font conversion</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PKtoGF_003a-Packed-to-generic-font-conversion"></span><h3 class="section">11.3 PKtoGF: Packed to generic font conversion</h3> +<h3 class="section" id="PKtoGF_003a-Packed-to-generic-font-conversion">11.3 PKtoGF: Packed to generic font conversion</h3> -<span id="index-pktogf"></span> -<span id="index-conversion_002c-PK-to-GF"></span> -<span id="index-GF_002c-converting-PK-to"></span> -<span id="index-PK_002c-converting-to-GF"></span> +<a class="index-entry-id" id="index-pktogf"></a> +<a class="index-entry-id" id="index-conversion_002c-PK-to-GF"></a> +<a class="index-entry-id" id="index-GF_002c-converting-PK-to"></a> +<a class="index-entry-id" id="index-PK_002c-converting-to-GF"></a> <p>PKtoGF converts a packed font (PK) file to a generic font (GF) file. Since PK format is much more compact than GF format, the most likely -reason to do this is to run GFtype (see <a href="#gftype-invocation">GFtype: Plain text transliteration of generic fonts</a>) on the +reason to do this is to run GFtype (see <a class="pxref" href="#gftype-invocation">GFtype: Plain text transliteration of generic fonts</a>) on the result, so you can see the bitmap images. Also, a few old utility programs do not support PK format. Synopsis: </p> <div class="example"> -<pre class="example">pktogf [<var>option</var>]… <var>pkname</var>.<var>dpi</var>[pk] [<var>gffile</var>] +<pre class="example-preformatted">pktogf [<var class="var">option</var>]… <var class="var">pkname</var>.<var class="var">dpi</var>[pk] [<var class="var">gffile</var>] </pre></div> -<p>The font <var>pkname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph -lookup</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running +<p>The font <var class="var">pkname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph +lookup</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>The suffix ‘<samp>pk</samp>’ is supplied if not already present. This suffix is -not an extension; no ‘<samp>.</samp>’ precedes it: for instance, -<samp>cmr10.600pk</samp>. +<p>The suffix ‘<samp class="samp">pk</samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp class="samp">.</samp>’ precedes it: for instance, +<samp class="file">cmr10.600pk</samp>. </p> -<p>If <var>gffile</var> is not specified, the output is written to the basename -of ‘<samp><var>pkname</var>.<var>dpi</var>gf</samp>’, e.g., ‘<samp>pktogf -/wherever/cmr10.600pk</samp>’ creates <samp>./cmr10.600gf</samp>. +<p>If <var class="var">gffile</var> is not specified, the output is written to the basename +of ‘<samp class="samp"><var class="var">pkname</var>.<var class="var">dpi</var>gf</samp>’, e.g., ‘<samp class="samp">pktogf +/wherever/cmr10.600pk</samp>’ creates <samp class="file">./cmr10.600gf</samp>. </p> -<p>The only options are ‘<samp>--verbose</samp>’, ‘<samp>--help</samp>’, and -‘<samp>--version</samp>’ (see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">--verbose</samp>’, ‘<samp class="samp">--help</samp>’, and +‘<samp class="samp">--version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>). </p> <hr> </div> -<div class="section" id="pktype-invocation"> -<div class="header"> +<div class="section-level-extent" id="pktype-invocation"> +<div class="nav-panel"> <p> Next: <a href="#gftype-invocation" accesskey="n" rel="next">GFtype: Plain text transliteration of generic fonts</a>, Previous: <a href="#pktogf-invocation" accesskey="p" rel="prev">PKtoGF: Packed to generic font conversion</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PKtype_003a-Plain-text-transliteration-of-packed-fonts"></span><h3 class="section">11.4 PKtype: Plain text transliteration of packed fonts</h3> +<h3 class="section" id="PKtype_003a-Plain-text-transliteration-of-packed-fonts">11.4 PKtype: Plain text transliteration of packed fonts</h3> -<span id="index-pktype-PK-validation"></span> -<span id="index-conversion_002c-PK-to-plain-text"></span> -<span id="index-plain-text_002c-converting-PK-to"></span> -<span id="index-human_002dreadable-text_002c-converting-PK-to"></span> -<span id="index-type-programs_002c-PK"></span> -<span id="index-validation_002c-of-PK-files"></span> +<a class="index-entry-id" id="index-pktype-PK-validation"></a> +<a class="index-entry-id" id="index-conversion_002c-PK-to-plain-text"></a> +<a class="index-entry-id" id="index-plain-text_002c-converting-PK-to"></a> +<a class="index-entry-id" id="index-human_002dreadable-text_002c-converting-PK-to"></a> +<a class="index-entry-id" id="index-type-programs_002c-PK"></a> +<a class="index-entry-id" id="index-validation_002c-of-PK-files"></a> <p>PKtype translates a packed font (PK) bitmap file (as output by GFtoPK, for example) to a plain text file that humans can read. It also serves @@ -4326,29 +4322,29 @@ as a PK-validating program, i.e., if PKtype can read a file, it’s correct. Synopsis: </p> <div class="example"> -<pre class="example">pktype <var>pkname</var>.<var>dpi</var>[pk] +<pre class="example-preformatted">pktype <var class="var">pkname</var>.<var class="var">dpi</var>[pk] </pre></div> -<p>The font <var>pkname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph -lookup</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running +<p>The font <var class="var">pkname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph +lookup</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>The suffix ‘<samp>pk</samp>’ is supplied if not already present. This suffix is -not an extension; no ‘<samp>.</samp>’ precedes it: for instance, <samp>cmr10.600pk</samp>. +<p>The suffix ‘<samp class="samp">pk</samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp class="samp">.</samp>’ precedes it: for instance, <samp class="file">cmr10.600pk</samp>. </p> <p>The translation is written to standard output. </p> -<p>The only options are ‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ -(see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ +(see <a class="pxref" href="#Common-options">Common options</a>). </p> <p>As an example of the output, here is the (abridged) translation of the -letter ‘K’ in ‘<samp>cmr10</samp>’, as rendered at 600dpi with the mode -‘<samp>ljfour</samp>’ from <a href="modes.mf">modes.mf</a> (available from -<samp>ftp://ftp.tug.org/tex/modes.mf</samp>). +letter ‘K’ in ‘<samp class="samp">cmr10</samp>’, as rendered at 600<span class="dmn">dpi</span> with the mode +‘<samp class="samp">ljfour</samp>’ from <a class="url" href="modes.mf">modes.mf</a> (available from +<samp class="file">ftp://ftp.tug.org/tex/modes.mf</samp>). </p> -<div class="example"> -<pre class="example">955: Flag byte = 184 Character = 75 Packet length = 174 +<div class="example smallexample"> +<pre class="example-preformatted">955: Flag byte = 184 Character = 75 Packet length = 174 Dynamic packing variable = 11 TFM width = 815562 dx = 4259840 Height = 57 Width = 57 X-offset = -3 Y-offset = 56 @@ -4359,67 +4355,67 @@ letter ‘K’ in ‘<samp>cmr10</samp>’, as rendered at 600dp <p>Explanation: </p> -<dl compact="compact"> -<dt id='index-byte-position'><span>‘<samp>955</samp>’<a href='#index-byte-position' class='copiable-anchor'> ¶</a></span></dt> +<dl class="table"> +<dt id='index-byte-position'><span>‘<samp class="samp">955</samp>’<a class="copiable-link" href='#index-byte-position'> ¶</a></span></dt> <dd><p>The byte position in the file where this character starts. </p> </dd> -<dt id='index-flag-byte'><span>‘<samp>Flag byte</samp>’<a href='#index-flag-byte' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>Dynamic packing variable</samp>’</span></dt> -<dd><span id="index-dynamic-packing-variable"></span> +<dt id='index-flag-byte'><span>‘<samp class="samp">Flag byte</samp>’<a class="copiable-link" href='#index-flag-byte'> ¶</a></span></dt> +<dt>‘<samp class="samp">Dynamic packing variable</samp>’</dt> +<dd><a class="index-entry-id" id="index-dynamic-packing-variable"></a> <p>Related to the packing for this character; see the source code. </p> </dd> -<dt id='index-character-codes_002c-in-PKtype-output'><span>‘<samp>Character</samp>’<a href='#index-character-codes_002c-in-PKtype-output' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-character-codes_002c-in-PKtype-output'><span>‘<samp class="samp">Character</samp>’<a class="copiable-link" href='#index-character-codes_002c-in-PKtype-output'> ¶</a></span></dt> <dd><p>The character code, in decimal. </p> </dd> -<dt id='index-packet-length'><span>‘<samp>Packet length</samp>’<a href='#index-packet-length' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-packet-length'><span>‘<samp class="samp">Packet length</samp>’<a class="copiable-link" href='#index-packet-length'> ¶</a></span></dt> <dd><p>The total length of this character definition, in bytes. </p> </dd> -<dt id='index-TFM-width-of-characters'><span>‘<samp>TFM width</samp>’<a href='#index-TFM-width-of-characters' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-device_002dindependent-width"></span> -<span id="index-width_002c-device_002dindependent"></span> +<dt id='index-TFM-width-of-characters'><span>‘<samp class="samp">TFM width</samp>’<a class="copiable-link" href='#index-TFM-width-of-characters'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-device_002dindependent-width"></a> +<a class="index-entry-id" id="index-width_002c-device_002dindependent"></a> <p>The device-independent (TFM) width of this character. It is 2^24 times the ratio of the true width to the font’s design size. </p> </dd> -<dt id='index-horizontal-escapement'><span>‘<samp>dx</samp>’<a href='#index-horizontal-escapement' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-escapement_002c-horizontal"></span> -<span id="index-scaled-pixels"></span> -<span id="index-dx-horizontal-escapement"></span> -<p>The device-dependent width, in <em>scaled pixels</em>, i.e., units of +<dt id='index-horizontal-escapement'><span>‘<samp class="samp">dx</samp>’<a class="copiable-link" href='#index-horizontal-escapement'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-escapement_002c-horizontal"></a> +<a class="index-entry-id" id="index-scaled-pixels"></a> +<a class="index-entry-id" id="index-dx-horizontal-escapement"></a> +<p>The device-dependent width, in <em class="dfn">scaled pixels</em>, i.e., units of horizontal pixels times 2^16. </p> </dd> -<dt id='index-height_002c-in-pixels'><span>‘<samp>Height</samp>’<a href='#index-height_002c-in-pixels' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>Width</samp>’</span></dt> -<dd><span id="index-pixel-height"></span> -<span id="index-pixel-width"></span> -<span id="index-width_002c-in-pixels"></span> +<dt id='index-height_002c-in-pixels'><span>‘<samp class="samp">Height</samp>’<a class="copiable-link" href='#index-height_002c-in-pixels'> ¶</a></span></dt> +<dt>‘<samp class="samp">Width</samp>’</dt> +<dd><a class="index-entry-id" id="index-pixel-height"></a> +<a class="index-entry-id" id="index-pixel-width"></a> +<a class="index-entry-id" id="index-width_002c-in-pixels"></a> <p>The bitmap height and width, in pixels. </p> </dd> -<dt id='index-x-offset'><span>‘<samp>X-offset</samp>’<a href='#index-x-offset' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>Y-offset</samp>’</span></dt> -<dd><span id="index-y-offset"></span> -<span id="index-origin"></span> -<span id="index-reference-pixel"></span> -<span id="index-side-bearings"></span> -<span id="index-left-side-bearing"></span> -<span id="index-right-side-bearing"></span> +<dt id='index-x-offset'><span>‘<samp class="samp">X-offset</samp>’<a class="copiable-link" href='#index-x-offset'> ¶</a></span></dt> +<dt>‘<samp class="samp">Y-offset</samp>’</dt> +<dd><a class="index-entry-id" id="index-y-offset"></a> +<a class="index-entry-id" id="index-origin"></a> +<a class="index-entry-id" id="index-reference-pixel"></a> +<a class="index-entry-id" id="index-side-bearings"></a> +<a class="index-entry-id" id="index-left-side-bearing"></a> +<a class="index-entry-id" id="index-right-side-bearing"></a> <p>Horizontal and vertical offset from the upper left pixel to the reference (origin) pixel for this character, in pixels (right and down -are positive). The <em>reference pixel</em> is the pixel that occupies the +are positive). The <em class="dfn">reference pixel</em> is the pixel that occupies the unit square in Metafont; the Metafont reference point is the lower left hand corner of this pixel. Put another way, the x-offset is the negative of the left side bearing; the right side bearing is the horizontal escapement minus the bitmap width plus the x-offset. </p> </dd> -<dt id='index-run-length-encoded-bitmaps'><span>‘<samp>[2]23(16)…</samp>’<a href='#index-run-length-encoded-bitmaps' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-repeated-rows"></span> +<dt id='index-run-length-encoded-bitmaps'><span>‘<samp class="samp">[2]23(16)…</samp>’<a class="copiable-link" href='#index-run-length-encoded-bitmaps'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-repeated-rows"></a> <p>Finally, run lengths of black pixels alternate with parenthesized run lengths of white pixels, and brackets indicate a repeated row. </p></dd> @@ -4428,19 +4424,19 @@ lengths of white pixels, and brackets indicate a repeated row. <hr> </div> -<div class="section" id="gftype-invocation"> -<div class="header"> +<div class="section-level-extent" id="gftype-invocation"> +<div class="nav-panel"> <p> Next: <a href="#tftopl-invocation" accesskey="n" rel="next">TFtoPL: TeX font metric to property list conversion</a>, Previous: <a href="#pktype-invocation" accesskey="p" rel="prev">PKtype: Plain text transliteration of packed fonts</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="GFtype_003a-Plain-text-transliteration-of-generic-fonts"></span><h3 class="section">11.5 GFtype: Plain text transliteration of generic fonts</h3> +<h3 class="section" id="GFtype_003a-Plain-text-transliteration-of-generic-fonts">11.5 GFtype: Plain text transliteration of generic fonts</h3> -<span id="index-gftype-GF-validation"></span> -<span id="index-conversion_002c-GF-to-plain-text"></span> -<span id="index-plain-text_002c-converting-GF-to"></span> -<span id="index-human_002dreadable-text_002c-converting-GF-to"></span> -<span id="index-type-programs_002c-GF"></span> -<span id="index-validation_002c-of-GF-files"></span> +<a class="index-entry-id" id="index-gftype-GF-validation"></a> +<a class="index-entry-id" id="index-conversion_002c-GF-to-plain-text"></a> +<a class="index-entry-id" id="index-plain-text_002c-converting-GF-to"></a> +<a class="index-entry-id" id="index-human_002dreadable-text_002c-converting-GF-to"></a> +<a class="index-entry-id" id="index-type-programs_002c-GF"></a> +<a class="index-entry-id" id="index-validation_002c-of-GF-files"></a> <p>GFtype translates a generic font (GF) bitmap file (as output by Metafont, for example) to a plain text file that humans can read. It @@ -4448,43 +4444,43 @@ also serves as a GF-validating program, i.e., if GFtype can read a file, it’s correct. Synopsis: </p> <div class="example"> -<pre class="example">gftype [<var>option</var>]… <var>gfname</var>.<var>dpi</var>[gf] +<pre class="example-preformatted">gftype [<var class="var">option</var>]… <var class="var">gfname</var>.<var class="var">dpi</var>[gf] </pre></div> -<p>The font <var>gfname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph -lookup</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running +<p>The font <var class="var">gfname</var> is searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Glyph-lookup">Glyph +lookup</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>The suffix ‘<samp>gf</samp>’ is supplied if not already present. This suffix is -not an extension; no ‘<samp>.</samp>’ precedes it: for instance, <samp>cmr10.600gf</samp>. +<p>The suffix ‘<samp class="samp">gf</samp>’ is supplied if not already present. This suffix is +not an extension; no ‘<samp class="samp">.</samp>’ precedes it: for instance, <samp class="file">cmr10.600gf</samp>. </p> <p>The translation is written to standard output. </p> <p>The program accepts the following options, as well as the standard -‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dimages'><span>‘<samp>-images</samp>’<a href='#index-_002dimages' class='copiable-anchor'> ¶</a></span></dt> +‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dimages'><span>‘<samp class="samp">-images</samp>’<a class="copiable-link" href='#index-_002dimages'> ¶</a></span></dt> <dd><p>Show the characters’ bitmaps using asterisks and spaces. </p> </dd> -<dt id='index-_002dmnemonics'><span>‘<samp>-mnemonics</samp>’<a href='#index-_002dmnemonics' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-_002dmnemonics'><span>‘<samp class="samp">-mnemonics</samp>’<a class="copiable-link" href='#index-_002dmnemonics'> ¶</a></span></dt> <dd><p>Translate all commands in the GF file. </p></dd> </dl> <p>As an example of the output, here is the (abridged) translation of the -letter ‘K’ in ‘<samp>cmr10</samp>’, as rendered at 600dpi with the mode -‘<samp>ljfour</samp>’ from <samp>modes.mf</samp> (available from -<a href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>), with both ‘<samp>-mnemonics</samp>’ and -‘<samp>-images</samp>’ enabled. +letter ‘K’ in ‘<samp class="samp">cmr10</samp>’, as rendered at 600<span class="dmn">dpi</span> with the mode +‘<samp class="samp">ljfour</samp>’ from <samp class="file">modes.mf</samp> (available from +<a class="url" href="ftp://ftp.tug.org/tex/modes.mf">ftp://ftp.tug.org/tex/modes.mf</a>), with both ‘<samp class="samp">-mnemonics</samp>’ and +‘<samp class="samp">-images</samp>’ enabled. </p> <p>GFtype outputs the information about a character in two places: a main definition and a one-line summary at the end. We show both. Here is the main definition: </p> <div class="example"> -<pre class="example">2033: beginning of char 75: 3<=m<=60 0<=n<=56 +<pre class="example-preformatted">2033: beginning of char 75: 3<=m<=60 0<=n<=56 (initially n=56) paint (0)24(12)20 2043: newrow 0 (n=55) paint 24(12)20 2047: newrow 0 (n=54) paint 24(12)20 @@ -4499,7 +4495,7 @@ main definition: 2265: newrow 0 (n=1) paint 24(11)22 2269: newrow 0 (n=0) paint 24(11)22 2273: eoc -</pre><pre class="example">.<--This pixel's lower left corner is at (3,57) in METAFONT coordinates +</pre><div class="group"><pre class="example-preformatted">.<--This pixel's lower left corner is at (3,57) in METAFONT coordinates ************************ ******************** ************************ ******************** ************************ ******************** @@ -4514,41 +4510,41 @@ main definition: ************************ ********************** ************************ ********************** .<--This pixel's upper left corner is at (3,0) in METAFONT coordinates -</pre></div> +</pre></div></div> <p>Explanation: </p> -<dl compact="compact"> -<dt id='index-byte-position-1'><span>‘<samp>2033</samp>’<a href='#index-byte-position-1' class='copiable-anchor'> ¶</a></span></dt> -<dt><span>‘<samp>2043</samp>’</span></dt> -<dt><span>‘<samp>…</samp>’</span></dt> +<dl class="table"> +<dt id='index-byte-position-1'><span>‘<samp class="samp">2033</samp>’<a class="copiable-link" href='#index-byte-position-1'> ¶</a></span></dt> +<dt>‘<samp class="samp">2043</samp>’</dt> +<dt>‘<samp class="samp">…</samp>’</dt> <dd><p>The byte position in the file where each GF command starts. </p> </dd> -<dt id='index-character-codes_002c-in-GFtype-output'><span>‘<samp>beginning of char 75</samp>’<a href='#index-character-codes_002c-in-GFtype-output' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-character-codes_002c-in-GFtype-output'><span>‘<samp class="samp">beginning of char 75</samp>’<a class="copiable-link" href='#index-character-codes_002c-in-GFtype-output'> ¶</a></span></dt> <dd><p>The character code, in decimal. </p> </dd> -<dt id='index-left-side-bearing-1'><span>‘<samp>3<=m<=60 0<=n<=56</samp>’<a href='#index-left-side-bearing-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-right-side-bearing-1"></span> -<span id="index-side-bearings-1"></span> +<dt id='index-left-side-bearing-1'><span>‘<samp class="samp">3<=m<=60 0<=n<=56</samp>’<a class="copiable-link" href='#index-left-side-bearing-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-right-side-bearing-1"></a> +<a class="index-entry-id" id="index-side-bearings-1"></a> <p>The character’s bitmap lies between 3 and 60 (inclusive) horizontally, -and between 0 and 56 (inclusive) vertically. (<em class='math'>m</em> is a column -position and <em class='math'>n</em> is a row position.) Thus, 3 is the left side +and between 0 and 56 (inclusive) vertically. (<em class="math">m</em> is a column +position and <em class="math">n</em> is a row position.) Thus, 3 is the left side bearing. The right side bearing is the horizontal escapement (given -below) minus the maximum <em class='math'>m</em>. +below) minus the maximum <em class="math">m</em>. </p> </dd> -<dt id='index-run-length-encoded-bitmaps-1'><span>‘<samp>(initially n=56) paint (0)24(12)20</samp>’<a href='#index-run-length-encoded-bitmaps-1' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-run-length-encoded-bitmaps-1'><span>‘<samp class="samp">(initially n=56) paint (0)24(12)20</samp>’<a class="copiable-link" href='#index-run-length-encoded-bitmaps-1'> ¶</a></span></dt> <dd><p>The first row of pixels: 0 white pixels, 24 black pixels, 12 white pixels, etc. </p> </dd> -<dt id='index-newrow-GF-command'><span>‘<samp>newrow 0 (n=55) paint 24(12)20</samp>’<a href='#index-newrow-GF-command' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-newrow-GF-command'><span>‘<samp class="samp">newrow 0 (n=55) paint 24(12)20</samp>’<a class="copiable-link" href='#index-newrow-GF-command'> ¶</a></span></dt> <dd><p>The second row of pixels, with zero leading white pixels on the row. </p> </dd> -<dt id='index-eoc-GF-command'><span>‘<samp>eoc</samp>’<a href='#index-eoc-GF-command' class='copiable-anchor'> ¶</a></span></dt> +<dt id='index-eoc-GF-command'><span>‘<samp class="samp">eoc</samp>’<a class="copiable-link" href='#index-eoc-GF-command'> ¶</a></span></dt> <dd><p>The end of the main character definition. </p> </dd> @@ -4557,34 +4553,34 @@ pixels, etc. <p>Here is the GF postamble information that GFtype outputs at the end: </p> <div class="example"> -<pre class="example">Character 75: dx 4259840 (65), width 815562 (64.57289), loc 2033 +<pre class="example-preformatted">Character 75: dx 4259840 (65), width 815562 (64.57289), loc 2033 </pre></div> <p>Explanation: </p> -<dl compact="compact"> -<dt id='index-horizontal-escapement-1'><span>‘<samp>dx</samp>’<a href='#index-horizontal-escapement-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-escapement_002c-horizontal-1"></span> -<span id="index-vertical-escapement"></span> -<span id="index-escapement_002c-vertical"></span> -<span id="index-scaled-pixels-1"></span> -<span id="index-dx-horizontal-escapement-1"></span> -<span id="index-dy-vertical-escapement"></span> -<p>The device-dependent width, in <em>scaled pixels</em>, i.e., units of -horizontal pixels times 2^16. The ‘<samp>(65)</samp>’ is simply the same number +<dl class="table"> +<dt id='index-horizontal-escapement-1'><span>‘<samp class="samp">dx</samp>’<a class="copiable-link" href='#index-horizontal-escapement-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-escapement_002c-horizontal-1"></a> +<a class="index-entry-id" id="index-vertical-escapement"></a> +<a class="index-entry-id" id="index-escapement_002c-vertical"></a> +<a class="index-entry-id" id="index-scaled-pixels-1"></a> +<a class="index-entry-id" id="index-dx-horizontal-escapement-1"></a> +<a class="index-entry-id" id="index-dy-vertical-escapement"></a> +<p>The device-dependent width, in <em class="dfn">scaled pixels</em>, i.e., units of +horizontal pixels times 2^16. The ‘<samp class="samp">(65)</samp>’ is simply the same number rounded. If the vertical escapement is nonzero, it would appear here as -a ‘<samp>dy</samp>’ value. +a ‘<samp class="samp">dy</samp>’ value. </p> </dd> -<dt id='index-TFM-width-of-characters-1'><span>‘<samp>width</samp>’<a href='#index-TFM-width-of-characters-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><span id="index-device_002dindependent-width-1"></span> -<span id="index-width_002c-device_002dindependent-1"></span> +<dt id='index-TFM-width-of-characters-1'><span>‘<samp class="samp">width</samp>’<a class="copiable-link" href='#index-TFM-width-of-characters-1'> ¶</a></span></dt> +<dd><a class="index-entry-id" id="index-device_002dindependent-width-1"></a> +<a class="index-entry-id" id="index-width_002c-device_002dindependent-1"></a> <p>The device-independent (TFM) width of this character. It is 2^24 times the ratio of the true width to the font’s design size. The -‘<samp>64.57289</samp>’ is the same number converted to pixels. +‘<samp class="samp">64.57289</samp>’ is the same number converted to pixels. </p> </dd> -<dt><span>‘<samp>loc</samp>’</span></dt> +<dt>‘<samp class="samp">loc</samp>’</dt> <dd><p>The byte position in the file where this character starts. </p> </dd> @@ -4593,69 +4589,69 @@ times the ratio of the true width to the font’s design size. The <hr> </div> -<div class="section" id="tftopl-invocation"> -<div class="header"> +<div class="section-level-extent" id="tftopl-invocation"> +<div class="nav-panel"> <p> Next: <a href="#pltotf-invocation" accesskey="n" rel="next">PLtoTF: Property list to TeX font metric conversion</a>, Previous: <a href="#gftype-invocation" accesskey="p" rel="prev">GFtype: Plain text transliteration of generic fonts</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="TFtoPL_003a-TeX-font-metric-to-property-list-conversion"></span><h3 class="section">11.6 TFtoPL: TeX font metric to property list conversion</h3> +<h3 class="section" id="TFtoPL_003a-TeX-font-metric-to-property-list-conversion">11.6 TFtoPL: TeX font metric to property list conversion</h3> -<span id="index-tftopl"></span> -<span id="index-conversion_002c-TFM-to-property-list"></span> -<span id="index-validation_002c-of-TFM-files"></span> -<span id="index-property-list_002c-converting-TFM-to"></span> -<span id="index-human_002dreadable-text_002c-converting-TFM-to"></span> -<span id="index-plain-text_002c-converting-TFM-to"></span> +<a class="index-entry-id" id="index-tftopl"></a> +<a class="index-entry-id" id="index-conversion_002c-TFM-to-property-list"></a> +<a class="index-entry-id" id="index-validation_002c-of-TFM-files"></a> +<a class="index-entry-id" id="index-property-list_002c-converting-TFM-to"></a> +<a class="index-entry-id" id="index-human_002dreadable-text_002c-converting-TFM-to"></a> +<a class="index-entry-id" id="index-plain-text_002c-converting-TFM-to"></a> <p>TFtoPL translates a TeX font metric (TFM, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric -files</a> in <cite>Dvips</cite>) file (as output by Metafont, for example) to -<em>property list format</em> (a list of parenthesized items describing the +files</a> in <cite class="cite">Dvips</cite>) file (as output by Metafont, for example) to +<em class="dfn">property list format</em> (a list of parenthesized items describing the font) that humans can edit or read. This program is mostly used by people debugging TeX implementations, writing font utilities, etc. Synopsis: </p> <div class="example"> -<pre class="example">tftopl [<var>option</var>]… <var>tfmname</var>[.tfm] [<var>plfile</var>[.pl]] +<pre class="example-preformatted">tftopl [<var class="var">option</var>]… <var class="var">tfmname</var>[.tfm] [<var class="var">plfile</var>[.pl]] </pre></div> -<p>The font <var>tfmname</var> (extended with ‘<samp>.tfm</samp>’ if necessary) is -searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>). To see all the relevant paths, set the -environment variable <code>KPATHSEA_DEBUG</code> to ‘<samp>-1</samp>’ before running +<p>The font <var class="var">tfmname</var> (extended with ‘<samp class="samp">.tfm</samp>’ if necessary) is +searched for in the usual places (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>). To see all the relevant paths, set the +environment variable <code class="code">KPATHSEA_DEBUG</code> to ‘<samp class="samp">-1</samp>’ before running the program. </p> -<p>If <var>plfile</var> (which is extended with ‘<samp>.pl</samp>’ if necessary) is not +<p>If <var class="var">plfile</var> (which is extended with ‘<samp class="samp">.pl</samp>’ if necessary) is not specified, the property list file is written to standard output. The property list file can be converted back to TFM format by the companion program TFtoPL (see the next section). </p> <p>The program accepts the following option, as well as the standard -‘<samp>-verbose</samp>’, ‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dcharcode_002dformat_003dtype'><span>‘<samp>-charcode-format=<var>type</var></samp>’<a href='#index-_002dcharcode_002dformat_003dtype' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output character codes in the PL file according to <var>type</var>: either -‘<samp>octal</samp>’ or ‘<samp>ascii</samp>’. Default is ‘<samp>ascii</samp>’ for letters and +‘<samp class="samp">-verbose</samp>’, ‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dcharcode_002dformat_003dtype'><span>‘<samp class="samp">-charcode-format=<var class="var">type</var></samp>’<a class="copiable-link" href='#index-_002dcharcode_002dformat_003dtype'> ¶</a></span></dt> +<dd><p>Output character codes in the PL file according to <var class="var">type</var>: either +‘<samp class="samp">octal</samp>’ or ‘<samp class="samp">ascii</samp>’. Default is ‘<samp class="samp">ascii</samp>’ for letters and digits, octal for all other characters. Exception: if the font’s coding -scheme starts with ‘<samp>TeX math sy</samp>’ or ‘<samp>TeX math ex</samp>’, all +scheme starts with ‘<samp class="samp">TeX math sy</samp>’ or ‘<samp class="samp">TeX math ex</samp>’, all character codes are output in octal. </p> -<p>In ‘<samp>ascii</samp>’ format, character codes that correspond to graphic +<p>In ‘<samp class="samp">ascii</samp>’ format, character codes that correspond to graphic characters, except for left and right parentheses, are output as a -‘<samp>C</samp>’ followed by the single character: ‘<samp>C K</samp>’, for example. In -octal format, character codes are output as the letter ‘<samp>O</samp>’ followed -by octal digits, as in ‘<samp>O 113</samp>’ for ‘<samp>K</samp>’. +‘<samp class="samp">C</samp>’ followed by the single character: ‘<samp class="samp">C K</samp>’, for example. In +octal format, character codes are output as the letter ‘<samp class="samp">O</samp>’ followed +by octal digits, as in ‘<samp class="samp">O 113</samp>’ for ‘<samp class="samp">K</samp>’. </p> -<p>‘<samp>octal</samp>’ format is useful for symbol and other non-alphabetic fonts, +<p>‘<samp class="samp">octal</samp>’ format is useful for symbol and other non-alphabetic fonts, where using ASCII characters for the character codes is merely confusing. </p></dd> </dl> -<span id="index-property-list-format"></span> +<a class="index-entry-id" id="index-property-list-format"></a> <p>As an example of the output, here is the (abridged) property list -translation of <samp>cmr10.tfm</samp>: +translation of <samp class="file">cmr10.tfm</samp>: </p> <div class="example"> -<pre class="example">(FAMILY CMR) +<pre class="example-preformatted">(FAMILY CMR) (FACE O 352) (CODINGSCHEME TEX TEXT) (DESIGNSIZE R 10.0) @@ -4703,46 +4699,46 @@ translation of <samp>cmr10.tfm</samp>: </pre></div> <p>As you can see, the general format is a list of parenthesized -<em>properties</em>, nested where necessary. -</p> -<ul> -<li> <span id="index-FAMILY-property"></span> -<span id="index-FACE-property"></span> -<span id="index-headerbyte-information"></span> -The first few items (<code>FAMILY</code>, <code>FACE</code>, and so on) are -the so-called <em>headerbyte</em> information from Metafont, giving general +<em class="dfn">properties</em>, nested where necessary. +</p> +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-FAMILY-property"></a> +<a class="index-entry-id" id="index-FACE-property"></a> +<a class="index-entry-id" id="index-headerbyte-information"></a> +The first few items (<code class="code">FAMILY</code>, <code class="code">FACE</code>, and so on) are +the so-called <em class="dfn">headerbyte</em> information from Metafont, giving general information about the font. -</li><li> <span id="index-FAMILY-property-1"></span> -<span id="index-_005cfontdimen"></span> -The <code>FONTDIMEN</code> property defines the TeX <code>\fontdimen</code> +</li><li><a class="index-entry-id" id="index-FAMILY-property-1"></a> +<a class="index-entry-id" id="index-_005cfontdimen"></a> +The <code class="code">FONTDIMEN</code> property defines the TeX <code class="code">\fontdimen</code> values. -</li><li> <span id="index-LIGTABLE-property"></span> -<span id="index-LABEL-property"></span> -<span id="index-LIG-property"></span> -<span id="index-KRN-property"></span> -<span id="index-ligature-table_002c-in-TFM-files"></span> -<span id="index-kerning-table_002c-in-TFM-files"></span> -<span id="index-design_002dsize-units"></span> -The <code>LIGTABLE</code> property defines the ligature and kerning table. -<code>LIG</code> properties define ligatures: in the example above, an -‘<samp>f</samp>’ (in the ‘<samp>LABEL</samp>’) followed by an ‘<samp>i</samp>’ is a ligature, +</li><li><a class="index-entry-id" id="index-LIGTABLE-property"></a> +<a class="index-entry-id" id="index-LABEL-property"></a> +<a class="index-entry-id" id="index-LIG-property"></a> +<a class="index-entry-id" id="index-KRN-property"></a> +<a class="index-entry-id" id="index-ligature-table_002c-in-TFM-files"></a> +<a class="index-entry-id" id="index-kerning-table_002c-in-TFM-files"></a> +<a class="index-entry-id" id="index-design_002dsize-units"></a> +The <code class="code">LIGTABLE</code> property defines the ligature and kerning table. +<code class="code">LIG</code> properties define ligatures: in the example above, an +‘<samp class="samp">f</samp>’ (in the ‘<samp class="samp">LABEL</samp>’) followed by an ‘<samp class="samp">i</samp>’ is a ligature, i.e., a typesetting program like TeX replaces those two consecutive characters by the character at position octal ’014 in the current -font—presumably the ‘fi’ ligature. <code>KRN</code> properties define -kerns: if an ‘<samp>f</samp>’ is followed by character octal ’047 (an +font—presumably the ‘fi’ ligature. <code class="code">KRN</code> properties define +kerns: if an ‘<samp class="samp">f</samp>’ is followed by character octal ’047 (an apostrophe), TeX inserts a small amount of space between them: 0.077779 times the design size the font was loaded at (about three-quarters of a printer’s point by default in this case, or .001 inches). -</li><li> <span id="index-CHARACTER-property"></span> -<span id="index-CHARWD-property"></span> -<span id="index-CHARHT-property"></span> -<span id="index-CHARDP-property"></span> -<span id="index-CHARIC-property"></span> -The <code>CHARACTER</code> property defines the dimensions of a character: its +</li><li><a class="index-entry-id" id="index-CHARACTER-property"></a> +<a class="index-entry-id" id="index-CHARWD-property"></a> +<a class="index-entry-id" id="index-CHARHT-property"></a> +<a class="index-entry-id" id="index-CHARDP-property"></a> +<a class="index-entry-id" id="index-CHARIC-property"></a> +The <code class="code">CHARACTER</code> property defines the dimensions of a character: its width, height, depth, and italic correction, also in design-size units, as explained in the previous item. For our example ‘f’, the depth is zero, so that property is omitted. TFtoPL also inserts any kerns and @@ -4753,97 +4749,97 @@ ligatures for this character as a comment. <hr> </div> -<div class="section" id="pltotf-invocation"> -<div class="header"> +<div class="section-level-extent" id="pltotf-invocation"> +<div class="nav-panel"> <p> Next: <a href="#vftovp-invocation" accesskey="n" rel="next">VFtoVP: Virtual font to virtual property lists</a>, Previous: <a href="#tftopl-invocation" accesskey="p" rel="prev">TFtoPL: TeX font metric to property list conversion</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="PLtoTF_003a-Property-list-to-TeX-font-metric-conversion"></span><h3 class="section">11.7 PLtoTF: Property list to TeX font metric conversion</h3> +<h3 class="section" id="PLtoTF_003a-Property-list-to-TeX-font-metric-conversion">11.7 PLtoTF: Property list to TeX font metric conversion</h3> -<span id="index-pltotf"></span> -<span id="index-conversion_002c-property-list-to-TFM"></span> -<span id="index-TFM-files_002c-converting-property-lists-to"></span> -<span id="index-machine_002dreadable_002c-converting-property-lists-to"></span> +<a class="index-entry-id" id="index-pltotf"></a> +<a class="index-entry-id" id="index-conversion_002c-property-list-to-TFM"></a> +<a class="index-entry-id" id="index-TFM-files_002c-converting-property-lists-to"></a> +<a class="index-entry-id" id="index-machine_002dreadable_002c-converting-property-lists-to"></a> <p>PLtoTF translates a property list file (as output by TFtoPL, for -example) to TeX font metric (TFM, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>) +example) to TeX font metric (TFM, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>) format. It’s much easier for both programs and humans to create the (plain text) property list files and let PLtoTF take care of creating the binary TFM equivalent than to output TFM files directly. Synopsis: </p> <div class="example"> -<pre class="example">pltotf [<var>option</var>]… <var>plfile</var>[.pl] [<var>tfmfile</var>[.tfm]] +<pre class="example-preformatted">pltotf [<var class="var">option</var>]… <var class="var">plfile</var>[.pl] [<var class="var">tfmfile</var>[.tfm]] </pre></div> -<p>If <var>tfmfile</var> (extended with ‘<samp>.tfm</samp>’ if necessary) is +<p>If <var class="var">tfmfile</var> (extended with ‘<samp class="samp">.tfm</samp>’ if necessary) is not specified, the TFM file is written to the basename of -‘<samp><var>plfile</var>.tfm</samp>’, e.g., ‘<samp>pltotf /wherever/cmr10.pl</samp>’ creates -<samp>./cmr10.tfm</samp>. (Since TFM files are binary, writing to standard +‘<samp class="samp"><var class="var">plfile</var>.tfm</samp>’, e.g., ‘<samp class="samp">pltotf /wherever/cmr10.pl</samp>’ creates +<samp class="file">./cmr10.tfm</samp>. (Since TFM files are binary, writing to standard output by default is undesirable.) </p> -<p>The only options are ‘<samp>-verbose</samp>’, ‘<samp>-help</samp>’, and -‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">-verbose</samp>’, ‘<samp class="samp">-help</samp>’, and +‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>). </p> <p>For an example of property list format, see the previous section. </p> <hr> </div> -<div class="section" id="vftovp-invocation"> -<div class="header"> +<div class="section-level-extent" id="vftovp-invocation"> +<div class="nav-panel"> <p> Next: <a href="#vptovf-invocation" accesskey="n" rel="next">VPtoVF: Virtual property lists to virtual font</a>, Previous: <a href="#pltotf-invocation" accesskey="p" rel="prev">PLtoTF: Property list to TeX font metric conversion</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="VFtoVP_003a-Virtual-font-to-virtual-property-lists"></span><h3 class="section">11.8 VFtoVP: Virtual font to virtual property lists</h3> +<h3 class="section" id="VFtoVP_003a-Virtual-font-to-virtual-property-lists">11.8 VFtoVP: Virtual font to virtual property lists</h3> -<span id="index-vftovp"></span> -<span id="index-conversion_002c-VF-to-VPL"></span> -<span id="index-validation_002c-of-VF-files"></span> -<span id="index-property-list_002c-converting-VF-to-virtual"></span> -<span id="index-human_002dreadable-text_002c-converting-VF-to"></span> -<span id="index-plain-text_002c-converting-VF-to"></span> +<a class="index-entry-id" id="index-vftovp"></a> +<a class="index-entry-id" id="index-conversion_002c-VF-to-VPL"></a> +<a class="index-entry-id" id="index-validation_002c-of-VF-files"></a> +<a class="index-entry-id" id="index-property-list_002c-converting-VF-to-virtual"></a> +<a class="index-entry-id" id="index-human_002dreadable-text_002c-converting-VF-to"></a> +<a class="index-entry-id" id="index-plain-text_002c-converting-VF-to"></a> <p>VFtoVP translates a virtual font metric (VF, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual -fonts</a> in <cite>Dvips</cite>) file and its accompanying TeX font metric (TFM, -see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>) file (as output by VPtoVF, for -example) to <em>virtual property list format</em> (a list of parenthesized +fonts</a> in <cite class="cite">Dvips</cite>) file and its accompanying TeX font metric (TFM, +see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>) file (as output by VPtoVF, for +example) to <em class="dfn">virtual property list format</em> (a list of parenthesized items describing the virtual font) that humans can edit or read. This program is mostly used by people debugging virtual font utilities. Synopsis: </p> <div class="example"> -<pre class="example">vftovp [<var>option</var>]… <var>vfname</var>[.vf] [<var>tfmname</var>[.tfm] [<var>vplfile</var>[.vpl]]] +<pre class="example-preformatted">vftovp [<var class="var">option</var>]… <var class="var">vfname</var>[.vf] [<var class="var">tfmname</var>[.tfm] [<var class="var">vplfile</var>[.vpl]]] </pre></div> -<p>The fonts <var>vfname</var> and <var>tfmname</var> (extended with ‘<samp>.vf</samp>’ and -‘<samp>.tfm</samp>’ if necessary) are searched for in the usual places -(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite>Kpathsea</cite>). To see all the -relevant paths, set the environment variable <code>KPATHSEA_DEBUG</code> to -‘<samp>-1</samp>’ before running the program. If <var>tfmname</var> is not -specified, <var>vfname</var> (without a trailing ‘<samp>.vf</samp>’) is used. +<p>The fonts <var class="var">vfname</var> and <var class="var">tfmname</var> (extended with ‘<samp class="samp">.vf</samp>’ and +‘<samp class="samp">.tfm</samp>’ if necessary) are searched for in the usual places +(see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Supported-file-formats">Supported file formats</a> in <cite class="cite">Kpathsea</cite>). To see all the +relevant paths, set the environment variable <code class="code">KPATHSEA_DEBUG</code> to +‘<samp class="samp">-1</samp>’ before running the program. If <var class="var">tfmname</var> is not +specified, <var class="var">vfname</var> (without a trailing ‘<samp class="samp">.vf</samp>’) is used. </p> -<p>If <var>vplfile</var> (extended with ‘<samp>.vpl</samp>’ if necessary) is +<p>If <var class="var">vplfile</var> (extended with ‘<samp class="samp">.vpl</samp>’ if necessary) is not specified, the property list file is written to standard output. The property list file can be converted back to VF and TFM format by the companion program VFtoVP (see the next section). </p> <p>The program accepts the following option, as well as the standard -‘<samp>-verbose</samp>’, ‘<samp>-help</samp>’ and ‘<samp>-version</samp>’ (see <a href="#Common-options">Common options</a>): -</p><dl compact="compact"> -<dt id='index-_002dcharcode_002dformat_003dtype-1'><span>‘<samp>-charcode-format=<var>type</var></samp>’<a href='#index-_002dcharcode_002dformat_003dtype-1' class='copiable-anchor'> ¶</a></span></dt> -<dd><p>Output character codes in the PL file according to <var>type</var>: either -‘<samp>octal</samp>’ or ‘<samp>ascii</samp>’. Default is ‘<samp>ascii</samp>’ for letters and +‘<samp class="samp">-verbose</samp>’, ‘<samp class="samp">-help</samp>’ and ‘<samp class="samp">-version</samp>’ (see <a class="pxref" href="#Common-options">Common options</a>): +</p><dl class="table"> +<dt id='index-_002dcharcode_002dformat_003dtype-1'><span>‘<samp class="samp">-charcode-format=<var class="var">type</var></samp>’<a class="copiable-link" href='#index-_002dcharcode_002dformat_003dtype-1'> ¶</a></span></dt> +<dd><p>Output character codes in the PL file according to <var class="var">type</var>: either +‘<samp class="samp">octal</samp>’ or ‘<samp class="samp">ascii</samp>’. Default is ‘<samp class="samp">ascii</samp>’ for letters and digits, octal for all other characters. Exception: if the font’s coding -scheme starts with ‘<samp>TeX math sy</samp>’ or ‘<samp>TeX math ex</samp>’, all +scheme starts with ‘<samp class="samp">TeX math sy</samp>’ or ‘<samp class="samp">TeX math ex</samp>’, all character codes are output in octal. </p> -<p>In ‘<samp>ascii</samp>’ format, character codes that correspond to graphic +<p>In ‘<samp class="samp">ascii</samp>’ format, character codes that correspond to graphic characters, except for left and right parentheses, are output as a -‘<samp>C</samp>’ followed by the single character: ‘<samp>C K</samp>’, for example. In -octal format, character codes are output as the letter ‘<samp>O</samp>’ followed -by octal digits, as in ‘<samp>O 113</samp>’ for ‘<samp>K</samp>’. +‘<samp class="samp">C</samp>’ followed by the single character: ‘<samp class="samp">C K</samp>’, for example. In +octal format, character codes are output as the letter ‘<samp class="samp">O</samp>’ followed +by octal digits, as in ‘<samp class="samp">O 113</samp>’ for ‘<samp class="samp">K</samp>’. </p> -<p>‘<samp>octal</samp>’ format is useful for symbol and other non-alphabetic fonts, +<p>‘<samp class="samp">octal</samp>’ format is useful for symbol and other non-alphabetic fonts, where using ASCII characters for the character codes is merely confusing. </p></dd> @@ -4852,206 +4848,206 @@ confusing. <hr> </div> -<div class="section" id="vptovf-invocation"> -<div class="header"> +<div class="section-level-extent" id="vptovf-invocation"> +<div class="nav-panel"> <p> Next: <a href="#Font-utilities-available-elsewhere" accesskey="n" rel="next">Font utilities available elsewhere</a>, Previous: <a href="#vftovp-invocation" accesskey="p" rel="prev">VFtoVP: Virtual font to virtual property lists</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="VPtoVF_003a-Virtual-property-lists-to-virtual-font"></span><h3 class="section">11.9 VPtoVF: Virtual property lists to virtual font</h3> +<h3 class="section" id="VPtoVF_003a-Virtual-property-lists-to-virtual-font">11.9 VPtoVF: Virtual property lists to virtual font</h3> -<span id="index-vptovf"></span> -<span id="index-conversion_002c-property-list-to-VF"></span> -<span id="index-VF-files_002c-converting-property-lists-to"></span> -<span id="index-machine_002dreadable_002c-converting-property-lists-to-1"></span> +<a class="index-entry-id" id="index-vptovf"></a> +<a class="index-entry-id" id="index-conversion_002c-property-list-to-VF"></a> +<a class="index-entry-id" id="index-VF-files_002c-converting-property-lists-to"></a> +<a class="index-entry-id" id="index-machine_002dreadable_002c-converting-property-lists-to-1"></a> <p>VPtoVF translates a virtual property list file (as output by VFtoVP, for -example) to virtual font (VF, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite>Dvips</cite>) and -TeX font metric (TFM, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite>Dvips</cite>) files. +example) to virtual font (VF, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Virtual-fonts">Virtual fonts</a> in <cite class="cite">Dvips</cite>) and +TeX font metric (TFM, see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Metric-files">Metric files</a> in <cite class="cite">Dvips</cite>) files. It’s much easier for both programs and humans to create the (plain text) property list files and let VPtoVF take care of creating the binary VF and TFM equivalents than to output them directly. Synopsis: </p> <div class="example"> -<pre class="example">vptovf [<var>option</var>]… <var>vplfile</var>[.vpl] [<var>vffile</var>[.vf] [<var>tfmfile</var>[.tfm]]] +<pre class="example-preformatted">vptovf [<var class="var">option</var>]… <var class="var">vplfile</var>[.vpl] [<var class="var">vffile</var>[.vf] [<var class="var">tfmfile</var>[.tfm]]] </pre></div> -<p>If <var>vffile</var> (extended with ‘<samp>.vf</samp>’ if necessary) is not +<p>If <var class="var">vffile</var> (extended with ‘<samp class="samp">.vf</samp>’ if necessary) is not specified, the VF output is written to the basename of -‘<samp><var>vplfile</var>.vf</samp>’; similarly for <var>tfmfile</var>. For example, -‘<samp>vptovf /wherever/ptmr.vpl</samp>’ creates <samp>./ptmr.vf</samp> and -<samp>./ptmr.tfm</samp>. +‘<samp class="samp"><var class="var">vplfile</var>.vf</samp>’; similarly for <var class="var">tfmfile</var>. For example, +‘<samp class="samp">vptovf /wherever/ptmr.vpl</samp>’ creates <samp class="file">./ptmr.vf</samp> and +<samp class="file">./ptmr.tfm</samp>. </p> -<p>The only options are ‘<samp>-verbose</samp>’, ‘<samp>-help</samp>’, and ‘<samp>-version</samp>’ -(see <a href="#Common-options">Common options</a>). +<p>The only options are ‘<samp class="samp">-verbose</samp>’, ‘<samp class="samp">-help</samp>’, and ‘<samp class="samp">-version</samp>’ +(see <a class="pxref" href="#Common-options">Common options</a>). </p> <hr> </div> -<div class="section" id="Font-utilities-available-elsewhere"> -<div class="header"> +<div class="section-level-extent" id="Font-utilities-available-elsewhere"> +<div class="nav-panel"> <p> Previous: <a href="#vptovf-invocation" accesskey="p" rel="prev">VPtoVF: Virtual property lists to virtual font</a>, Up: <a href="#Font-utilities" accesskey="u" rel="up">Font utilities</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Font-utilities-available-elsewhere-1"></span><h3 class="section">11.10 Font utilities available elsewhere</h3> +<h3 class="section" id="Font-utilities-available-elsewhere-1">11.10 Font utilities available elsewhere</h3> -<span id="index-font-utilities_002c-non_002dWeb2c"></span> +<a class="index-entry-id" id="index-font-utilities_002c-non_002dWeb2c"></a> <p>The Web2c complement of font utilities merely implements a few basic conversions. Many other more sophisticated font utilities exist; most -are in <samp><var>CTAN:</var>/fonts/utilities</samp> (for CTAN info, -see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite>Kpathsea</cite>). Here are some of the most +are in <samp class="file"><var class="var">CTAN:</var>/fonts/utilities</samp> (for CTAN info, +see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#unixtex_002eftp">unixtex.ftp</a> in <cite class="cite">Kpathsea</cite>). Here are some of the most commonly-requested items: </p> -<ul> -<li> <span id="index-AFM-to-TFM-conversion"></span> -<span id="index-afm2tfm"></span> -<span id="index-afmtopl"></span> -AFM (Adobe font metric) to TFM conversion: see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Invoking-afm2tfm">Invoking afm2tfm</a> in <cite>Dvips</cite>, and <samp><var>CTAN:</var>/fonts/utilities/afmtopl</samp>. +<ul class="itemize mark-bullet"> +<li><a class="index-entry-id" id="index-AFM-to-TFM-conversion"></a> +<a class="index-entry-id" id="index-afm2tfm"></a> +<a class="index-entry-id" id="index-afmtopl"></a> +AFM (Adobe font metric) to TFM conversion: see <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Invoking-afm2tfm">Invoking afm2tfm</a> in <cite class="cite">Dvips</cite>, and <samp class="file"><var class="var">CTAN:</var>/fonts/utilities/afmtopl</samp>. -</li><li> <span id="index-X-bitmap-fonts"></span> -<span id="index-BDF-and-GF-conversion"></span> +</li><li><a class="index-entry-id" id="index-X-bitmap-fonts"></a> +<a class="index-entry-id" id="index-BDF-and-GF-conversion"></a> BDF (the X bitmap format) conversion: -<a href="ftp://ftp.tug.org/tex/bdf.tar.gz">ftp://ftp.tug.org/tex/bdf.tar.gz</a>. +<a class="url" href="ftp://ftp.tug.org/tex/bdf.tar.gz">ftp://ftp.tug.org/tex/bdf.tar.gz</a>. -</li><li> <span id="index-metatype1"></span> -<span id="index-Latin-Modern"></span> +</li><li><a class="index-entry-id" id="index-metatype1"></a> +<a class="index-entry-id" id="index-Latin-Modern"></a> Creating fonts using MetaPost: MetaType1. -<a href="ftp://bop.eps.gda.pl/pub/metatype1">ftp://bop.eps.gda.pl/pub/metatype1</a>. This is used to create -the excellent Latin Modern font family (<samp><var>CTAN:</var>/fonts/lm</samp>), +<a class="url" href="ftp://bop.eps.gda.pl/pub/metatype1">ftp://bop.eps.gda.pl/pub/metatype1</a>. This is used to create +the excellent Latin Modern font family (<samp class="file"><var class="var">CTAN:</var>/fonts/lm</samp>), which extends Computer Modern to a vast repertoire of scripts. -</li><li> <span id="index-editing-of-bitmap-fonts"></span> -<span id="index-xbfe_002c-bitmap-font-editor"></span> -<span id="index-xfed_002c-bitmap-font-editor"></span> -<span id="index-xfedor_002c-bitmap-font-editor"></span> -<span id="index-gftopxl"></span> -<span id="index-chtopx"></span> -<span id="index-pxtoch"></span> +</li><li><a class="index-entry-id" id="index-editing-of-bitmap-fonts"></a> +<a class="index-entry-id" id="index-xbfe_002c-bitmap-font-editor"></a> +<a class="index-entry-id" id="index-xfed_002c-bitmap-font-editor"></a> +<a class="index-entry-id" id="index-xfedor_002c-bitmap-font-editor"></a> +<a class="index-entry-id" id="index-gftopxl"></a> +<a class="index-entry-id" id="index-chtopx"></a> +<a class="index-entry-id" id="index-pxtoch"></a> Editing of bitmap fonts: Xbfe from the GNU font utilities mentioned below; the X BDF-editing programs available from -<a href="ftp://ftp.x.org/R5contrib/xfed.tar.Z">ftp://ftp.x.org/R5contrib/xfed.tar.Z</a> and -<a href="ftp://ftp.x.org/R5contrib/xfedor.tar.Z">ftp://ftp.x.org/R5contrib/xfedor.tar.Z</a>; and finally, if your -fonts have only 128 characters, you can use the old <code>gftopxl</code>, -<code>pxtoch</code>, and <code>chtopx</code> programs from -<a href="ftp://ftp.tug.org/tex/web">ftp://ftp.tug.org/tex/web</a>. - -</li><li> <span id="index-fontforge"></span> -<span id="index-pfaedit"></span> -Editing of outline fonts: FontForge, <a href="fontforge.sourceforge.net">fontforge.sourceforge.net</a>. +<a class="url" href="ftp://ftp.x.org/R5contrib/xfed.tar.Z">ftp://ftp.x.org/R5contrib/xfed.tar.Z</a> and +<a class="url" href="ftp://ftp.x.org/R5contrib/xfedor.tar.Z">ftp://ftp.x.org/R5contrib/xfedor.tar.Z</a>; and finally, if your +fonts have only 128 characters, you can use the old <code class="code">gftopxl</code>, +<code class="code">pxtoch</code>, and <code class="code">chtopx</code> programs from +<a class="url" href="ftp://ftp.tug.org/tex/web">ftp://ftp.tug.org/tex/web</a>. + +</li><li><a class="index-entry-id" id="index-fontforge"></a> +<a class="index-entry-id" id="index-pfaedit"></a> +Editing of outline fonts: FontForge, <a class="url" href="fontforge.sourceforge.net">fontforge.sourceforge.net</a>. This is a very elaborate program with support for many outline formats (Type 1, OpenType, TrueType, …), and many advanced font editing features. -</li><li> <span id="index-PK-bitmaps-from-PostScript"></span> -<span id="index-PostScript-to-PK-bitmaps"></span> -<span id="index-gsftopk"></span> -<span id="index-ps2pk"></span> -PK bitmaps from PostScript outline fonts: gsftopk from the ‘<samp>xdvi</samp>’ -distribution. Alternatively, <code>ps2pk</code>, from -<samp><var>CTAN:</var>/fonts/utilities/ps2pk</samp>. - -</li><li> <span id="index-Type-1-conversion"></span> -<span id="index-PFA-and-PFB-conversion"></span> -<span id="index-PostScript-Type-1-font-conversion"></span> +</li><li><a class="index-entry-id" id="index-PK-bitmaps-from-PostScript"></a> +<a class="index-entry-id" id="index-PostScript-to-PK-bitmaps"></a> +<a class="index-entry-id" id="index-gsftopk"></a> +<a class="index-entry-id" id="index-ps2pk"></a> +PK bitmaps from PostScript outline fonts: gsftopk from the ‘<samp class="samp">xdvi</samp>’ +distribution. Alternatively, <code class="code">ps2pk</code>, from +<samp class="file"><var class="var">CTAN:</var>/fonts/utilities/ps2pk</samp>. + +</li><li><a class="index-entry-id" id="index-Type-1-conversion"></a> +<a class="index-entry-id" id="index-PFA-and-PFB-conversion"></a> +<a class="index-entry-id" id="index-PostScript-Type-1-font-conversion"></a> PostScript Type 1 font format conversion (i.e., between PFA and PFB -formats): <a href="https://www.lcdf.org/type">https://www.lcdf.org/type</a>. +formats): <a class="url" href="https://www.lcdf.org/type">https://www.lcdf.org/type</a>. -</li><li> <span id="index-autotrace"></span> -<span id="index-potrace"></span> +</li><li><a class="index-entry-id" id="index-autotrace"></a> +<a class="index-entry-id" id="index-potrace"></a> Tracing bitmaps to fitted outlines: Autotrace -(<a href="http://autotrace.sourceforge.net">http://autotrace.sourceforge.net</a>), Potrace -(<a href="http://potrace.sourceforge.net">http://potrace.sourceforge.net</a>). For Metafont fonts, either of -the two programs <code>mftrace</code> -(<a href="http://www.xs4all.nl/~hanwen/mftrace">http://www.xs4all.nl/~hanwen/mftrace</a>) or <code>textrace</code> -(<a href="http://textrace.sourceforge.net">http://textrace.sourceforge.net</a>) make the job easier. - -</li><li> <span id="index-virtual-font-creation"></span> -<span id="index-fontinst_002c-for-creating-virtual-fonts"></span> -Virtual font creation: <a href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>. +(<a class="url" href="http://autotrace.sourceforge.net">http://autotrace.sourceforge.net</a>), Potrace +(<a class="url" href="http://potrace.sourceforge.net">http://potrace.sourceforge.net</a>). For Metafont fonts, either of +the two programs <code class="code">mftrace</code> +(<a class="url" href="http://www.xs4all.nl/~hanwen/mftrace">http://www.xs4all.nl/~hanwen/mftrace</a>) or <code class="code">textrace</code> +(<a class="url" href="http://textrace.sourceforge.net">http://textrace.sourceforge.net</a>) make the job easier. + +</li><li><a class="index-entry-id" id="index-virtual-font-creation"></a> +<a class="index-entry-id" id="index-fontinst_002c-for-creating-virtual-fonts"></a> +Virtual font creation: <a class="url" href="https://ctan.org/pkg/fontinst">https://ctan.org/pkg/fontinst</a>. </li></ul> <hr> </div> </div> -<div class="appendix" id="Legalisms"> -<div class="header"> +<div class="appendix-level-extent" id="Legalisms"> +<div class="nav-panel"> <p> Next: <a href="#References" accesskey="n" rel="next">References</a>, Previous: <a href="#Font-utilities" accesskey="p" rel="prev">Font utilities</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Legalisms-1"></span><h2 class="appendix">Appendix A Legalisms</h2> +<h2 class="appendix" id="Legalisms-1">Appendix A Legalisms</h2> -<span id="index-legalisms"></span> -<span id="index-copyright-notices"></span> -<span id="index-permissions_002c-legal"></span> +<a class="index-entry-id" id="index-legalisms"></a> +<a class="index-entry-id" id="index-copyright-notices"></a> +<a class="index-entry-id" id="index-permissions_002c-legal"></a> <p>In general, each file has its own copyright notice stating the copying permissions for that file. Following is a summary. </p> <p>The Stanford TeX programs and Web2c system itself are in the public -domain (<a href="https://tug.org/texlive/copying.html">https://tug.org/texlive/copying.html</a>). The sources may +domain (<a class="url" href="https://tug.org/texlive/copying.html">https://tug.org/texlive/copying.html</a>). The sources may be copied verbatim, or used as the starting point of new software under different names; however, per the wishes of the authors, they -should be modified only through a <samp>.ch</samp> file, but this is in the +should be modified only through a <samp class="file">.ch</samp> file, but this is in the nature of a development request rather than a legal requirement. </p> <p>MLTeX, pdfTeX, LuaTeX, XeTeX, and all the other derived engines have used various license terms for their additions to the -base code, often the GPL (see <a href="https://www.gnu.org/licenses/#GPL">https://www.gnu.org/licenses/#GPL</a>) -or (for example) the file <samp>web2c/pdftexdir/COPYINGv2</samp>. They also +base code, often the GPL (see <a class="url" href="https://www.gnu.org/licenses/#GPL">https://www.gnu.org/licenses/#GPL</a>) +or (for example) the file <samp class="file">web2c/pdftexdir/COPYINGv2</samp>. They also mostly make use of additional libraries with their own (compatible) terms. Please see each program’s sources. </p> <p>The Kpathsea library is covered by the GNU Lesser General Public -License (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Introduction">Introduction</a> in <cite>Kpathsea</cite>). Therefore, the -<em>binaries</em> resulting from a standard Web2c compilation are also +License (see <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Introduction">Introduction</a> in <cite class="cite">Kpathsea</cite>). Therefore, the +<em class="emph">binaries</em> resulting from a standard Web2c compilation are also covered by the LGPL; so if you (re)distribute the binaries, you must also (offer to) distribute the complete source that went into those -binaries. See <a href="https://gnu.org/licenses/#LGPL">https://gnu.org/licenses/#LGPL</a> or the file -<samp>kpathsea/COPYING.LESSERv2</samp>. +binaries. See <a class="url" href="https://gnu.org/licenses/#LGPL">https://gnu.org/licenses/#LGPL</a> or the file +<samp class="file">kpathsea/COPYING.LESSERv2</samp>. </p> <hr> </div> -<div class="appendix" id="References"> -<div class="header"> +<div class="appendix-level-extent" id="References"> +<div class="nav-panel"> <p> Next: <a href="#Index" accesskey="n" rel="next">Index</a>, Previous: <a href="#Legalisms" accesskey="p" rel="prev">Legalisms</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="References-1"></span><h2 class="appendix">Appendix B References</h2> +<h2 class="appendix" id="References-1">Appendix B References</h2> -<span id="index-references"></span> -<span id="index-bibliography"></span> +<a class="index-entry-id" id="index-references"></a> +<a class="index-entry-id" id="index-bibliography"></a> -<ol> -<li> Kpathsea: See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Top">Introduction</a> in <cite>Kpathsea</cite>. +<ol class="enumerate"> +<li> Kpathsea: See <a data-manual="kpathsea" href="https://tug.org/texinfohtml/kpathsea.html#Top">Introduction</a> in <cite class="cite">Kpathsea</cite>. -</li><li> Dvips and Afm2tfm: See <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Introduction</a> in <cite>Dvips</cite>. +</li><li> Dvips and Afm2tfm: See <a data-manual="dvips" href="https://tug.org/texinfohtml/dvips.html#Top">Introduction</a> in <cite class="cite">Dvips</cite>. -</li><li> The TeX Users Group: <a href="https://tug.org">https://tug.org</a>. For an introduction -to the TeX system, see <a href="https://tug.org/begin.html">https://tug.org/begin.html</a>. +</li><li> The TeX Users Group: <a class="url" href="https://tug.org">https://tug.org</a>. For an introduction +to the TeX system, see <a class="url" href="https://tug.org/begin.html">https://tug.org/begin.html</a>. </li><li> TUGboat, the principal journal for the TeX world: -<a href="https://tug.org/TUGboat">https://tug.org/TUGboat</a>. +<a class="url" href="https://tug.org/TUGboat">https://tug.org/TUGboat</a>. </li><li> TeX and computer typesetting in general:<br> -<a href="ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib">ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib</a>. +<a class="url" href="ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib">ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib</a>. </li><li> For a bibliography of formal articles and technical reports on the -TeX project, see the books <cite>TeX: The Program</cite> or -<cite>Metafont: The Program</cite> cited below. +TeX project, see the books <cite class="cite">TeX: The Program</cite> or +<cite class="cite">Metafont: The Program</cite> cited below. </li><li> [Bil87] Neenie Billawala. Write-white printing engines and tuning fonts with Metafont. -<cite>TUGboat</cite>, 8(1):29–32, April 1987. -<a href="https://tug.org/TUGboat/tb08-1/tb17billawala.pdf">https://tug.org/TUGboat/tb08-1/tb17billawala.pdf</a>. +<cite class="cite">TUGboat</cite>, 8(1):29–32, April 1987. +<a class="url" href="https://tug.org/TUGboat/tb08-1/tb17billawala.pdf">https://tug.org/TUGboat/tb08-1/tb17billawala.pdf</a>. </li><li> [Hob89] John D. Hobby. A Metafont-like system with PS output. -<cite>TUGboat</cite>, 10(4):505–512, December 1989. -<a href="https://tug.org/metapost">https://tug.org/metapost</a>. +<cite class="cite">TUGboat</cite>, 10(4):505–512, December 1989. +<a class="url" href="https://tug.org/metapost">https://tug.org/metapost</a>. </li><li> [Hob92] John D. Hobby. @@ -5065,16 +5061,16 @@ Technical Report CSTR-164, AT&T Bell Laboratories, 1993. </li><li> [HS91] Samuel P. Harbison and Guy L. Steele Jr. -<cite>C—A Reference Manual</cite>. +<cite class="cite">C—A Reference Manual</cite>. Prentice-Hall, Upper Saddle River, NJ 07458, USA, third edition, 1991. An authoritative reference to the C programming language, and a good companion to Kernighan and Ritchie. </li><li> [KL93] Donald E. Knuth and Silvio Levy. -<cite>The CWEB System of Structured Documentation, Version 3.0</cite>. +<cite class="cite">The CWEB System of Structured Documentation, Version 3.0</cite>. Addison-Wesley, Reading, MA, USA, 1993. -<a href="https://ctan.org/pkg/cweb">https://ctan.org/pkg/cweb</a>. +<a class="url" href="https://ctan.org/pkg/cweb">https://ctan.org/pkg/cweb</a>. </li><li> [Knu84] Donald E. Knuth. @@ -5090,53 +5086,53 @@ Report No. STAN-CS-86-1095, Stanford University, Department of Computer </li><li> [Knu86b] Donald E. Knuth. -<cite>The TeXbook</cite>, volume A of <cite>Computers and Typesetting</cite>. +<cite class="cite">The TeXbook</cite>, volume A of <cite class="cite">Computers and Typesetting</cite>. Addison-Wesley, Reading, MA, USA, 1986. </li><li> [Knu86c] Donald E. Knuth. -<cite>TeX: The Program</cite>, volume B of <cite>Computers and Typesetting</cite>. +<cite class="cite">TeX: The Program</cite>, volume B of <cite class="cite">Computers and Typesetting</cite>. Addison-Wesley, Reading, MA, USA, 1986. </li><li> [Knu86d] Donald E. Knuth. -<cite>The METAFONTbook</cite>, volume C of <cite>Computers and Typesetting</cite>. +<cite class="cite">The METAFONTbook</cite>, volume C of <cite class="cite">Computers and Typesetting</cite>. Addison-Wesley, Reading, MA, USA, 1986. </li><li> [Knu86e] Donald E. Knuth. -<cite>METAFONT: The Program</cite>, volume D of <cite>Computers and +<cite class="cite">METAFONT: The Program</cite>, volume D of <cite class="cite">Computers and Typesetting</cite>. Addison-Wesley, Reading, MA, USA, 1986. </li><li> [Knu86f] Donald E. Knuth. -<cite>Computer Modern Typefaces</cite>, volume E of <cite>Computers and +<cite class="cite">Computer Modern Typefaces</cite>, volume E of <cite class="cite">Computers and Typesetting</cite>. Addison-Wesley, Reading, MA, USA, 1986. </li><li> [Knu89] Donald E. Knuth. The errors of TeX. -<cite>Software—Practice and Experience</cite>, 19(7):607–681, July +<cite class="cite">Software—Practice and Experience</cite>, 19(7):607–681, July 1989. This is an updated version of Knuth:1988:ET. </li><li> [Knu90] Donald Knuth. Virtual Fonts: More Fun for Grand Wizards. -<cite>TUGboat</cite>, 11(1):13–23, April 1990. -<a href="https://tug.org/TUGboat/tb11-1/tb27knut.pdf">https://tug.org/TUGboat/tb11-1/tb27knut.pdf</a>. +<cite class="cite">TUGboat</cite>, 11(1):13–23, April 1990. +<a class="url" href="https://tug.org/TUGboat/tb11-1/tb27knut.pdf">https://tug.org/TUGboat/tb11-1/tb27knut.pdf</a>. </li><li> [Knu92] Donald E. Knuth. -<cite>Literate Programming</cite>. +<cite class="cite">Literate Programming</cite>. CSLI Lecture Notes Number 27. Stanford University Center for the Study of Language and Information, Stanford, CA, USA, 1992. </li><li> [Lam94] Leslie Lamport. -<cite>LaTeX: A Document Preparation System: User’s Guide and Reference +<cite class="cite">LaTeX: A Document Preparation System: User’s Guide and Reference Manual</cite>. Addison-Wesley, Reading, MA, USA, second edition, 1994. Reprinted with corrections, 1996. @@ -5145,13 +5141,13 @@ Reprinted with corrections, 1996. Franklin Mark Liang. Word hy-phen-a-tion by com-put-er. Technical Report STAN-CS-83-977, Stanford University, August 1983. -<a href="https://tug.org/docs/liang/liang-thesis.pdf">https://tug.org/docs/liang/liang-thesis.pdf</a>. +<a class="url" href="https://tug.org/docs/liang/liang-thesis.pdf">https://tug.org/docs/liang/liang-thesis.pdf</a>. </li><li> [Mac91] Pierre A. MacKay. Looking at the pixels: Quality control for 300 dpi laser printer fonts, especially Metafonts. -In Robert A. Morris and Jacques Andre, editors, <cite>Raster Imaging and +In Robert A. Morris and Jacques Andre, editors, <cite class="cite">Raster Imaging and Digital Typography II—Papers from the second RIDT meeting, held in Boston, Oct. 14–16, 1991</cite>, pages 205–215, New York, 1991. Cambridge University Press. @@ -5162,1096 +5158,1098 @@ In Robert A. Morris and Jacques Andre, editors, <cite>Raster Imaging and <hr> </div> -<div class="unnumbered" id="Index"> -<div class="header"> +<div class="unnumbered-level-extent" id="Index"> +<div class="nav-panel"> <p> Previous: <a href="#References" accesskey="p" rel="prev">References</a>, Up: <a href="#Top" accesskey="u" rel="up">Web2c</a> [<a href="#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="#Index" title="Index" rel="index">Index</a>]</p> </div> -<span id="Index-1"></span><h2 class="unnumbered">Index</h2> +<h2 class="unnumbered" id="Index-1">Index</h2> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>"</b></a> +<div class="printindex cp-printindex"> +<table class="cp-letters-header-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>"</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>#</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>#</b></a> -<a class="summary-letter" href="#Index_cp_symbol-3"><b>$</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>$</b></a> -<a class="summary-letter" href="#Index_cp_symbol-4"><b>%</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>%</b></a> -<a class="summary-letter" href="#Index_cp_symbol-5"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>-</b></a> -<a class="summary-letter" href="#Index_cp_symbol-6"><b>.</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>.</b></a> -<a class="summary-letter" href="#Index_cp_symbol-7"><b>2</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>2</b></a> -<a class="summary-letter" href="#Index_cp_symbol-8"><b>3</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>3</b></a> -<a class="summary-letter" href="#Index_cp_symbol-9"><b>6</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>6</b></a> -<a class="summary-letter" href="#Index_cp_symbol-10"><b>8</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>8</b></a> -<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>\</b></a> -<a class="summary-letter" href="#Index_cp_symbol-12"><b>^</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>^</b></a> -<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>~</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-J"><b>J</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-J"><b>J</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Y"><b>Y</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Y"><b>Y</b></a> </td></tr></table> -<table class="index-cp" border="0"> -<tr><td></td><th align="left">Index Entry</th><td> </td><th align="left"> Section</th></tr> +<table class="cp-entries-printindex" border="0"> +<tr><td></td><th class="entries-header-printindex">Index Entry</th><td> </td><th class="sections-header-printindex"> Section</th></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-1">"</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0022-character_002c-ignored-in-filenames"><code>"</code> character, ignored in filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0022-character_002c-ignored-in-filenames"><code class="code">"</code> character, ignored in filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-2">#</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0023define-options">‘<samp>#define</samp>’ options</a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0023define-options">‘<samp class="samp">#define</samp>’ options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-3">$</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0024-expansion-in-filenames"><code>$ <span class="roman">expansion in filenames</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0024-expansion-in-filenames"><code>$ <span class="r">expansion in filenames</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-4">%</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_0025_0026-magic-number"><code>%& <span class="roman">magic number</span></code></a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_0025_0026-magic-number"><code>%& <span class="r">magic number</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-5">-</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d-starting-a-filename"><code>- <span class="roman">starting a filename</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d-starts-option-names"><code>- <span class="roman">starts option names</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002d-starts-option-names"><code>-- <span class="roman">starts option names</span></code></a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002ddump_002dshare-configure-option"><code>--disable-dump-share configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002ddisable_002dmf_002dnowin"><code>--disable-mf-nowin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002depsfwin"><code>--enable-epsfwin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dhp2627win"><code>--enable-hp2627win</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dipc-configure-option"><code>--enable-ipc configure <span class="roman">option</span></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dmftalkwin"><code>--enable-mftalkwin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dnext"><code>--enable-next</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dregiswin"><code>--enable-regiswin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dsuntoolswin"><code>--enable-suntoolswin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dtektronixwin"><code>--enable-tektronixwin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002denable_002dunitermwin"><code>--enable-unitermwin</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dhelp-common-option"><code>--help <span class="roman">common option</span></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dverbose-common-option"><code>--verbose <span class="roman">common option</span></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dversion-common-option"><code>--version <span class="roman">common option</span></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002deditor_003dcmd"><code>--with-editor=<var>cmd</var></code></a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dmf_002dx_002dtoolkit_003dkit"><code>--with-mf-x-toolkit=<var>kit</var></code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d_002dwith_002dx"><code>--with-x</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002d8bit"><code>-8bit</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dbase_003dbase"><code>-base=<var>base</var></code></a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dbase_003ddumpname"><code>-base=<var>dumpname</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dchange_003dchfile"><code>-change=<var>chfile</var></code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dcharcode_002dformat_003dtype"><code>-charcode-format=<var>type</var></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dcharcode_002dformat_003dtype-1"><code>-charcode-format=<var>type</var></code></a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dcnf_002dline"><code>-cnf-line</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dD-compiler-options"><code>-D <span class="roman">compiler options</span></code></a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ddisable_002dwrite18"><code>-disable-write18</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ddpi_003dreal"><code>-dpi=<var>real</var></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002denable_002dwrite18"><code>-enable-write18</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002denc"><code>-enc</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dfile_002dline_002derror"><code>-file-line-error</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dfile_002dline_002derror_002dstyle"><code>-file-line-error-style</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dfmt_003ddumpname"><code>-fmt=<var>dumpname</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dfmt_003dfmt"><code>-fmt=<var>fmt</var></code></a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dgeometry_002c-supported-with-Xt"><code>-geometry<span class="roman">, supported with Xt</span></code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dhalt_002don_002derror"><code>-halt-on-error</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dimages"><code>-images</code></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dini"><code>-ini</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dini-1"><code>-ini</code></a>:</td><td> </td><td valign="top"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dinteraction_003dstring"><code>-interaction=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dipc"><code>-ipc</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dipc_002dstart"><code>-ipc-start</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002djobname_003dstring"><code>-jobname=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dkpathsea_002ddebug_003dnumber"><code>-kpathsea-debug=<var>number</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dlength_003dnumber"><code>-length=<var>number</var></code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dloose"><code>-loose</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dlowercase"><code>-lowercase</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmagnification_003dinteger"><code>-magnification=<var>integer</var></code></a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmagnification_003dinteger-1"><code>-magnification=<var>integer</var></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmax_002dpages_003dn"><code>-max-pages=<var>n</var></code></a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmax_002dpages_003dn-1"><code>-max-pages=<var>n</var></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmem_003ddumpname"><code>-mem=<var>dumpname</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmin_002dcrossrefs_003dn"><code>-min-crossrefs=<var>n</var></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmixedcase"><code>-mixedcase</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmktex_003dfiletype"><code>-mktex=<var>filetype</var></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmktex_003dfiletype-1"><code>-mktex=<var>filetype</var></code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmltex"><code>-mltex</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dmnemonics"><code>-mnemonics</code></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dno_002dfile_002dline_002derror"><code>-no-file-line-error</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dno_002dmktex_003dfiletype"><code>-no-mktex=<var>filetype</var></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dno_002dmktex_003dfiletype-1"><code>-no-mktex=<var>filetype</var></code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dno_002dparse_002dfirst_002dline"><code>-no-parse-first-line</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dno_002dshell_002descape"><code>-no-shell-escape</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002doutput_002dcomment_003dstring"><code>-output-comment=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002doutput_002ddirectory"><code>-output-directory</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002doutput_002ddirectory-1"><code>-output-directory</code></a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002doutput_002dlevel_003dn"><code>-output-level=<var>n</var></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002doverflow_002dlabel_002doffset_003dpoints"><code>-overflow-label-offset=<var>points</var></code></a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dpage_002dstart_003dpage_002dspec"><code>-page-start=<var>page-spec</var></code></a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dpage_002dstart_003dpage_002dspec-1"><code>-page-start=<var>page-spec</var></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dparse_002dfirst_002dline"><code>-parse-first-line</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dprogname_003dstring"><code>-progname=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dprogname_003dstring-1"><code>-progname=<var>string</var></code></a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002drecorder"><code>-recorder</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dshell_002descape"><code>-shell-escape</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dshell_002drestricted"><code>-shell-restricted</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dshow_002dopcodes"><code>-show-opcodes</code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dstrict"><code>-strict</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dstyle_003dmftfile"><code>-style=<var>mftfile</var></code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dT"><code>-T</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dterse"><code>-terse</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dtex_003dtexprogram"><code>-tex=<var>texprogram</var></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dtranslate_002dfile_003dtcxfile"><code>-translate-file=<var>tcxfile</var></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dtroff"><code>-troff</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dunderline"><code>-underline</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002duppercase"><code>-uppercase</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002dx"><code>-x</code></a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d-starting-a-filename"><code>- <span class="r">starting a filename</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d-starts-option-names"><code>- <span class="r">starts option names</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002d-starts-option-names"><code>-- <span class="r">starts option names</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002ddump_002dshare-configure-option"><code>--disable-dump-share configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002ddisable_002dmf_002dnowin"><code>--disable-mf-nowin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002depsfwin"><code>--enable-epsfwin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dhp2627win"><code>--enable-hp2627win</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dipc-configure-option"><code>--enable-ipc configure <span class="r">option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dmftalkwin"><code>--enable-mftalkwin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dnext"><code>--enable-next</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dregiswin"><code>--enable-regiswin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dsuntoolswin"><code>--enable-suntoolswin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dtektronixwin"><code>--enable-tektronixwin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002denable_002dunitermwin"><code>--enable-unitermwin</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dhelp-common-option"><code>--help <span class="r">common option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dverbose-common-option"><code>--verbose <span class="r">common option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dversion-common-option"><code>--version <span class="r">common option</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002deditor_003dcmd"><code>--with-editor=<var class="var">cmd</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dmf_002dx_002dtoolkit_003dkit"><code>--with-mf-x-toolkit=<var class="var">kit</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d_002dwith_002dx"><code>--with-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002d8bit"><code>-8bit</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dbase_003dbase"><code>-base=<var class="var">base</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dbase_003ddumpname"><code>-base=<var class="var">dumpname</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dchange_003dchfile"><code>-change=<var class="var">chfile</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dcharcode_002dformat_003dtype"><code>-charcode-format=<var class="var">type</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dcharcode_002dformat_003dtype-1"><code>-charcode-format=<var class="var">type</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dcnf_002dline"><code>-cnf-line</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dD-compiler-options"><code>-D <span class="r">compiler options</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ddisable_002dwrite18"><code>-disable-write18</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ddpi_003dreal"><code>-dpi=<var class="var">real</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002denable_002dwrite18"><code>-enable-write18</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002denc"><code>-enc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dfile_002dline_002derror"><code>-file-line-error</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dfile_002dline_002derror_002dstyle"><code>-file-line-error-style</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dfmt_003ddumpname"><code>-fmt=<var class="var">dumpname</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dfmt_003dfmt"><code>-fmt=<var class="var">fmt</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dgeometry_002c-supported-with-Xt"><code>-geometry<span class="r">, supported with Xt</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dhalt_002don_002derror"><code>-halt-on-error</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dimages"><code>-images</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dini"><code>-ini</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dini-1"><code>-ini</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dinteraction_003dstring"><code>-interaction=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dipc"><code>-ipc</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dipc_002dstart"><code>-ipc-start</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002djobname_003dstring"><code>-jobname=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dkpathsea_002ddebug_003dnumber"><code>-kpathsea-debug=<var class="var">number</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dlength_003dnumber"><code>-length=<var class="var">number</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dloose"><code>-loose</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dlowercase"><code>-lowercase</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmagnification_003dinteger"><code>-magnification=<var class="var">integer</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmagnification_003dinteger-1"><code>-magnification=<var class="var">integer</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmax_002dpages_003dn"><code>-max-pages=<var class="var">n</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmax_002dpages_003dn-1"><code>-max-pages=<var class="var">n</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmem_003ddumpname"><code>-mem=<var class="var">dumpname</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmin_002dcrossrefs_003dn"><code>-min-crossrefs=<var class="var">n</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmixedcase"><code>-mixedcase</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmktex_003dfiletype"><code>-mktex=<var class="var">filetype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmktex_003dfiletype-1"><code>-mktex=<var class="var">filetype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmltex"><code>-mltex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dmnemonics"><code>-mnemonics</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dno_002dfile_002dline_002derror"><code>-no-file-line-error</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dno_002dmktex_003dfiletype"><code>-no-mktex=<var class="var">filetype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dno_002dmktex_003dfiletype-1"><code>-no-mktex=<var class="var">filetype</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dno_002dparse_002dfirst_002dline"><code>-no-parse-first-line</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dno_002dshell_002descape"><code>-no-shell-escape</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002doutput_002dcomment_003dstring"><code>-output-comment=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002doutput_002ddirectory"><code>-output-directory</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002doutput_002ddirectory-1"><code>-output-directory</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002doutput_002dlevel_003dn"><code>-output-level=<var class="var">n</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002doverflow_002dlabel_002doffset_003dpoints"><code>-overflow-label-offset=<var class="var">points</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dpage_002dstart_003dpage_002dspec"><code>-page-start=<var class="var">page-spec</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dpage_002dstart_003dpage_002dspec-1"><code>-page-start=<var class="var">page-spec</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dparse_002dfirst_002dline"><code>-parse-first-line</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dprogname_003dstring"><code>-progname=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dprogname_003dstring-1"><code>-progname=<var class="var">string</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002drecorder"><code>-recorder</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dshell_002descape"><code>-shell-escape</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dshell_002drestricted"><code>-shell-restricted</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dshow_002dopcodes"><code>-show-opcodes</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dstrict"><code>-strict</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dstyle_003dmftfile"><code>-style=<var class="var">mftfile</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dT"><code>-T</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dterse"><code>-terse</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dtex_003dtexprogram"><code>-tex=<var class="var">texprogram</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dtranslate_002dfile_003dtcxfile"><code>-translate-file=<var class="var">tcxfile</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dtroff"><code>-troff</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dunderline"><code>-underline</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002duppercase"><code>-uppercase</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002dx"><code>-x</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-6">.</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002e_002c-used-for-output"><code>.<span class="roman">, used for output</span></code></a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002e2602gf"><code>.2602gf</code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eaux-cross_002dreference-files"><code>.aux <span class="roman">cross-reference files</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebase"><code>.base</code></a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebbl-bibliography-files"><code>.bbl <span class="roman">bibliography files</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ebib-bibliography-databases"><code>.bib <span class="roman">bibliography databases</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eblg-BibTeX-log-file"><code>.blg <span class="roman">BibTeX log file</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002efmt"><code>.fmt</code></a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emf"><code>.mf</code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emp"><code>.mp</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002emps-files-and-PDF"><code>.mps</code> files and PDF</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ennn-PostScript-figures"><code>.<var>nnn</var> <span class="roman">PostScript figures</span></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002ennngf-generic-fonts"><code>.<var>nnn</var>gf <span class="roman">generic fonts</span></code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etcx-character-translation-files"><code>.tcx <span class="roman">character translation files</span></code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etcx-character-translation-files-1"><code>.tcx <span class="roman">character translation files</span></code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etex"><code>.tex</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etfm-output"><code>.tfm <span class="roman">output</span></code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002etfm-output-1"><code>.tfm <span class="roman">output</span></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eXdefaults"><code>.Xdefaults</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_002eXresources"><code>.Xresources</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e_002c-used-for-output"><code>.<span class="r">, used for output</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002e2602gf"><code>.2602gf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eaux-cross_002dreference-files"><code>.aux <span class="r">cross-reference files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebase"><code>.base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebbl-bibliography-files"><code>.bbl <span class="r">bibliography files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ebib-bibliography-databases"><code>.bib <span class="r">bibliography databases</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eblg-BibTeX-log-file"><code>.blg <span class="r">BibTeX log file</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002efmt"><code>.fmt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emf"><code>.mf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emp"><code>.mp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002emps-files-and-PDF"><code class="code">.mps</code> files and PDF</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ennn-PostScript-figures"><code>.<var class="var">nnn</var> <span class="r">PostScript figures</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002ennngf-generic-fonts"><code>.<var class="var">nnn</var>gf <span class="r">generic fonts</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etcx-character-translation-files"><code>.tcx <span class="r">character translation files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etcx-character-translation-files-1"><code>.tcx <span class="r">character translation files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etex"><code>.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etfm-output"><code>.tfm <span class="r">output</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002etfm-output-1"><code>.tfm <span class="r">output</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eXdefaults"><code>.Xdefaults</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_002eXresources"><code>.Xresources</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-7">2</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-2602gf"><code>2602gf</code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-2602gf"><code>2602gf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-8">3</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-32_002dbit-architecture">32-bit architecture</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-32_002dbit-architecture">32-bit architecture</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-9">6</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-64_002dbit-architecture">64-bit architecture</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-64_002dbit-architecture">64-bit architecture</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-10">8</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-8-bit-clean">8 bit clean</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-8-bit-clean-output_002c-specifying"><code>8 bit clean output, specifying</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-8_002dbit-characters">8-bit characters</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8-bit-clean">8 bit clean</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8-bit-clean-output_002c-specifying"><code>8 bit clean output, specifying</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-8_002dbit-characters">8-bit characters</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-11">\</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cbibliography"><code>\bibliography</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cbibliographystyle"><code>\bibliographystyle</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005ccharsubdef-and-MLTeX"><code>\charsubdef <span class="roman">and MLTeX</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005ccharsubdef">\charsubdef</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005ccountn"><code>\count<var>n</var></code></a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005ccountn-1"><code>\count<var>n</var></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cfont-and-dynamic-generation"><code>\font <span class="roman">and dynamic generation</span></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cfontdimen"><code>\fontdimen</code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cimmediate_005cwrite18"><code>\immediate\write18</code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cinput-braced-_0028grouped_0029-filename"><code>\input</code> braced (grouped) filename</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-braced-filename">\input braced filename</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cinput-filename-caveats"><code>\input</code> filename caveats</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cinput-filenames"><code>\input <span class="roman">filenames</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cinput-quoted-filename"><code>\input</code> quoted filename</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-quoted-filename">\input quoted filename</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cinput_002c-and-pipes"><code>\input<span class="roman">, and pipes</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cmag"><code>\mag</code></a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cmag-1"><code>\mag</code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005copenin_002c-and-pipes"><code>\openin<span class="roman">, and pipes</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005copenout-and-security"><code>\openout <span class="roman">and security</span></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005copenout_002c-and-pipes"><code>\openout<span class="roman">, and pipes</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005coutput-routine_002c-and-_005cwrite"><code>\output <span class="roman">routine, and <code>\write</code></span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cpdfshellescape"><code>\pdfshellescape</code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cstring_002c-and-_005cinput-filenames"><code>\string<span class="roman">, and <code>\input filenames</code></span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005ctracingcharsubdef-and-MLTeX"><code>\tracingcharsubdef <span class="roman">and MLTeX</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005ctracinglostchars-and-MLTeX"><code>\tracinglostchars <span class="roman">and MLTeX</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005cwrite18-shell-escape-extension"><code>\write18 <span class="roman">shell escape extension</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cbibliography"><code>\bibliography</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cbibliographystyle"><code>\bibliographystyle</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ccharsubdef-and-MLTeX"><code>\charsubdef <span class="r">and MLTeX</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005ccharsubdef">\charsubdef</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ccountn"><code>\count<var class="var">n</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ccountn-1"><code>\count<var class="var">n</var></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cfont-and-dynamic-generation"><code>\font <span class="r">and dynamic generation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cfontdimen"><code>\fontdimen</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cimmediate_005cwrite18"><code>\immediate\write18</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cinput-braced-_0028grouped_0029-filename"><code class="code">\input</code> braced (grouped) filename</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-braced-filename">\input braced filename</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cinput-filename-caveats"><code class="code">\input</code> filename caveats</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cinput-filenames"><code>\input <span class="r">filenames</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cinput-quoted-filename"><code class="code">\input</code> quoted filename</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-quoted-filename">\input quoted filename</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cinput_002c-and-pipes"><code>\input<span class="r">, and pipes</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cmag"><code>\mag</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cmag-1"><code>\mag</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005copenin_002c-and-pipes"><code>\openin<span class="r">, and pipes</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005copenout-and-security"><code>\openout <span class="r">and security</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005copenout_002c-and-pipes"><code>\openout<span class="r">, and pipes</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005coutput-routine_002c-and-_005cwrite"><code>\output <span class="r">routine, and <code class="code">\write</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cpdfshellescape"><code>\pdfshellescape</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cstring_002c-and-_005cinput-filenames"><code>\string<span class="r">, and <code class="code">\input filenames</code></span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ctracingcharsubdef-and-MLTeX"><code>\tracingcharsubdef <span class="r">and MLTeX</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005ctracinglostchars-and-MLTeX"><code>\tracinglostchars <span class="r">and MLTeX</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005cwrite18-shell-escape-extension"><code>\write18 <span class="r">shell escape extension</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-12">^</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_005e_005e-notation_002c-avoiding"><code>^^ <span class="roman">notation, avoiding</span></code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_005e_005e-notation_002c-avoiding"><code>^^ <span class="r">notation, avoiding</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_symbol-13">~</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-_007e-expansion-in-filenames"><code>~ <span class="roman">expansion in filenames</span></code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-_007e-expansion-in-filenames"><code>~ <span class="r">expansion in filenames</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-A">A</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-abbrv_002ebst"><code>abbrv.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-accented-character">accented character</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-accents_002c-hyphenating-words-with">accents, hyphenating words with</a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-acknowledgements">acknowledgements</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-acm_002ebst"><code>acm.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Ada_002c-WEB-for">Ada, WEB for</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-additional-Make-targets">additional Make targets</a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-AFM-to-TFM-conversion">AFM to TFM conversion</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-afm2tfm"><code>afm2tfm</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-afmtopl"><code>afmtopl</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Aleph">Aleph</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-aliases-for-fonts">aliases for fonts</a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-alpha_002ebst"><code>alpha.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-American-Mathematical-Society_002c-typesetting-system">American Mathematical Society, typesetting system</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-AMSTeX">AMSTeX</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-apalike_002ebst"><code>apalike.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-architecture-dependencies">architecture dependencies</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-array-limit_002c-fixed">array limit, fixed</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-array-sizes">array sizes</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-assembly-language-routines">assembly language routines</a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-autotrace"><code>autotrace</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Awk_002c-WEB-for">Awk, WEB for</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-abbrv_002ebst"><code>abbrv.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-accented-character">accented character</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-accents_002c-hyphenating-words-with">accents, hyphenating words with</a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-acknowledgements">acknowledgements</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-acm_002ebst"><code>acm.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Ada_002c-WEB-for">Ada, WEB for</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-additional-Make-targets">additional Make targets</a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-AFM-to-TFM-conversion">AFM to TFM conversion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-afm2tfm"><code>afm2tfm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-afmtopl"><code>afmtopl</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Aleph">Aleph</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-aliases-for-fonts">aliases for fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-alpha_002ebst"><code>alpha.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-American-Mathematical-Society_002c-typesetting-system">American Mathematical Society, typesetting system</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-AMSTeX">AMSTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-apalike_002ebst"><code>apalike.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-architecture-dependencies">architecture dependencies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-array-limit_002c-fixed">array limit, fixed</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-array-sizes">array sizes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-assembly-language-routines">assembly language routines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-autotrace"><code>autotrace</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Awk_002c-WEB-for">Awk, WEB for</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-B">B</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-file_002c-determining">base file, determining</a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-files">base files</a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-files_002c-need-mode-definitions">base files, need mode definitions</a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-files_002c-plain-only">base files, plain only</a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-base-files_002c-sharing">base files, sharing</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bases-Make-target"><code>bases <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-basic-BibTeX-style-files">basic BibTeX style files</a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-basic-fonts-and-macros">basic fonts and macros</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-batch-languages">batch languages</a>:</td><td> </td><td valign="top"><a href="#TeX">TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BDF-and-GF-conversion">BDF and GF conversion</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-beamer_002c-package"><code>beamer<span class="roman">, package</span></code></a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-beginfig"><code>beginfig</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BIBINPUTS_002c-search-path-for-bib-files"><code>BIBINPUTS<span class="roman">, search path for bib files</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibliographies_002c-creating">bibliographies, creating</a>:</td><td> </td><td valign="top"><a href="#BibTeX">BibTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibliography">bibliography</a>:</td><td> </td><td valign="top"><a href="#References">References</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibliography-items_002c-cross_002dreferenced">bibliography items, cross-referenced</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-bibtex"><code>bibtex</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BibTeX">BibTeX</a>:</td><td> </td><td valign="top"><a href="#BibTeX">BibTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BibTeX-collection">BibTeX collection</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BibTeX-style-files">BibTeX style files</a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BigEndian-machines">BigEndian machines</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-binaries_002c-linking">binaries, linking</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-blank-lines_002c-in-TCX-files">blank lines, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-boxes_002c-memory-for">boxes, memory for</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-braced-filename-for-_005cinput">braced filename for <code>\input</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-braced-filename">\input braced filename</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-breakpoints_002c-memory-for">breakpoints, memory for</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Breitenlohner_002c-Peter">Breitenlohner, Peter</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-BSTINPUTS_002c-search-path-for-bst-files"><code>BSTINPUTS<span class="roman">, search path for bst files</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-btex-for-MetaPost-labels"><code>btex <span class="roman">for MetaPost labels</span></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-btxdoc_002ebib"><code>btxdoc.bib</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-btxdoc_002etex"><code>btxdoc.tex</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-btxhak_002etex"><code>btxhak.tex</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-byte-position">byte position</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-byte-position-1">byte position</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-byte-swapping">byte swapping</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-file_002c-determining">base file, determining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-files">base files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-files_002c-need-mode-definitions">base files, need mode definitions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-files_002c-plain-only">base files, plain only</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-base-files_002c-sharing">base files, sharing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bases-Make-target"><code>bases <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-basic-BibTeX-style-files">basic BibTeX style files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-basic-fonts-and-macros">basic fonts and macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-batch-languages">batch languages</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX">TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BDF-and-GF-conversion">BDF and GF conversion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-beamer_002c-package"><code>beamer<span class="r">, package</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-beginfig"><code>beginfig</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Berry_002c-Karl">Berry, Karl</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BIBINPUTS_002c-search-path-for-bib-files"><code>BIBINPUTS<span class="r">, search path for bib files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibliographies_002c-creating">bibliographies, creating</a>:</td><td> </td><td class="printindex-index-section"><a href="#BibTeX">BibTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibliography">bibliography</a>:</td><td> </td><td class="printindex-index-section"><a href="#References">References</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibliography-items_002c-cross_002dreferenced">bibliography items, cross-referenced</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-bibtex"><code>bibtex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BibTeX">BibTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#BibTeX">BibTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BibTeX-collection">BibTeX collection</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BibTeX-style-files">BibTeX style files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BigEndian-machines">BigEndian machines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-binaries_002c-linking">binaries, linking</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-blank-lines_002c-in-TCX-files">blank lines, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-boxes_002c-memory-for">boxes, memory for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-braced-filename-for-_005cinput">braced filename for <code class="code">\input</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-braced-filename">\input braced filename</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-breakpoints_002c-memory-for">breakpoints, memory for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Breitenlohner_002c-Peter">Breitenlohner, Peter</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-BSTINPUTS_002c-search-path-for-bst-files"><code>BSTINPUTS<span class="r">, search path for bst files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-btex-for-MetaPost-labels"><code>btex <span class="r">for MetaPost labels</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-btxdoc_002ebib"><code>btxdoc.bib</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-btxdoc_002etex"><code>btxdoc.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-btxhak_002etex"><code>btxhak.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-byte-position">byte position</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-byte-position-1">byte position</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-byte-swapping">byte swapping</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-C">C</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-c_002dsources-Makefile-target"><code>c-sources <span class="roman">Makefile target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-caveats-for-_005cinput-filenames">caveats for <code>\input</code> filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-change-files_002c-and-MFT">change files, and MFT</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-change-files_002c-and-Tangle">change files, and Tangle</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-change-files_002c-and-Weave">change files, and Weave</a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-changing-error-messages-style">changing error messages style</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-codes_002c-in-GFtype-output">character codes, in GFtype output</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-codes_002c-in-PKtype-output">character codes, in PKtype output</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-codes_002c-in-TCX-files">character codes, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-proofs-of-fonts">character proofs of fonts</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CHARACTER-property"><code>CHARACTER <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-character-translation-files">character translation files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CHARDP-property"><code>CHARDP <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CHARHT-property"><code>CHARHT <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CHARIC-property"><code>CHARIC <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CHARWD-property"><code>CHARWD <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-chtopx"><code>chtopx</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-class-name-for-Metafont">class name for Metafont</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cm_002ebase"><code>cm.base</code></a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cmbase_002emf"><code>cmbase.mf</code></a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cmbase_002emft"><code>cmbase.mft</code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cmmf_002ebase-not-recommended"><code>cmmf.base <span class="roman">not recommended</span></code></a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-color_002c-in-DVItoMP">color, in DVItoMP</a>:</td><td> </td><td valign="top"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-in-TCX-files">comments, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-comments_002c-MFT-control">comments, MFT control</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-common-options">common options</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-commonalities">commonalities</a>:</td><td> </td><td valign="top"><a href="#Commonalities">Commonalities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compilation">compilation</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compile_002dtime-options">compile-time options</a>:</td><td> </td><td valign="top"><a href="#configure-options">configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-compile_002dtime-options-1">compile-time options</a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Computer-Modern-fonts_002c-and-Troff">Computer Modern fonts, and Troff</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Computer-Modern-macros">Computer Modern macros</a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Computer-Modern-Typefaces_002c-production-of"><cite>Computer Modern Typefaces</cite>, production of</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration">configuration</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file-reading">configuration file reading</a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration-file-values">configuration file values</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configuration_002c-compile_002dtime">configuration, compile-time</a>:</td><td> </td><td valign="top"><a href="#configure-options">configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-configure-_002d_002dwith_002f_002d_002denable-options"><code>configure --with/--enable <span class="roman">options</span></code></a>:</td><td> </td><td valign="top"><a href="#configure-options">configure options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CONTENTS_002etex"><code>CONTENTS.tex</code></a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ConTeXt">ConTeXt</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conventions-for-options_002c">conventions for options,</a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-DVI-to-plain-text">conversion, DVI to plain text</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-GF-to-PK">conversion, GF to PK</a>:</td><td> </td><td valign="top"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-GF-to-plain-text">conversion, GF to plain text</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-PK-to-GF">conversion, PK to GF</a>:</td><td> </td><td valign="top"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-PK-to-plain-text">conversion, PK to plain text</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-property-list-to-TFM">conversion, property list to TFM</a>:</td><td> </td><td valign="top"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-property-list-to-VF">conversion, property list to VF</a>:</td><td> </td><td valign="top"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-TFM-to-property-list">conversion, TFM to property list</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-conversion_002c-VF-to-VPL">conversion, VF to VPL</a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-copyright-notices">copyright notices</a>:</td><td> </td><td valign="top"><a href="#Legalisms">Legalisms</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Cork-encoding-and-ISO-input">Cork encoding and ISO input</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-creating-memory-dumps">creating memory dumps</a>:</td><td> </td><td valign="top"><a href="#Creating-memory-dumps">Creating memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross_002dengine-functionality">cross-engine functionality</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross_002dreferenced-bibliography-items">cross-referenced bibliography items</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-cross_002dreferences_002c-omitting">cross-references, omitting</a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-current-directory_002c-used-for-output">current directory, used for output</a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Curtis_002c-Pavel">Curtis, Pavel</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Cweb">Cweb</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-CWEB">CWEB</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-c_002dsources-Makefile-target"><code>c-sources <span class="r">Makefile target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-caveats-for-_005cinput-filenames">caveats for <code class="code">\input</code> filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-change-files_002c-and-MFT">change files, and MFT</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-change-files_002c-and-Tangle">change files, and Tangle</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-change-files_002c-and-Weave">change files, and Weave</a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-changing-error-messages-style">changing error messages style</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-codes_002c-in-GFtype-output">character codes, in GFtype output</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-codes_002c-in-PKtype-output">character codes, in PKtype output</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-codes_002c-in-TCX-files">character codes, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-proofs-of-fonts">character proofs of fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CHARACTER-property"><code>CHARACTER <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-character-translation-files">character translation files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CHARDP-property"><code>CHARDP <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CHARHT-property"><code>CHARHT <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CHARIC-property"><code>CHARIC <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CHARWD-property"><code>CHARWD <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-chtopx"><code>chtopx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-class-name-for-Metafont">class name for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cm_002ebase"><code>cm.base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cmbase_002emf"><code>cmbase.mf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cmbase_002emft"><code>cmbase.mft</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cmmf_002ebase-not-recommended"><code>cmmf.base <span class="r">not recommended</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-color_002c-in-DVItoMP">color, in DVItoMP</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-in-TCX-files">comments, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-comments_002c-MFT-control">comments, MFT control</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-common-options">common options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-commonalities">commonalities</a>:</td><td> </td><td class="printindex-index-section"><a href="#Commonalities">Commonalities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compilation">compilation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compile_002dtime-options">compile-time options</a>:</td><td> </td><td class="printindex-index-section"><a href="#configure-options">configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-compile_002dtime-options-1">compile-time options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern-fonts_002c-and-Troff">Computer Modern fonts, and Troff</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern-macros">Computer Modern macros</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Computer-Modern-Typefaces_002c-production-of"><cite class="cite">Computer Modern Typefaces</cite>, production of</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration">configuration</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-reading">configuration file reading</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration-file-values">configuration file values</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configuration_002c-compile_002dtime">configuration, compile-time</a>:</td><td> </td><td class="printindex-index-section"><a href="#configure-options">configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-configure-_002d_002dwith_002f_002d_002denable-options"><code>configure --with/--enable <span class="r">options</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#configure-options">configure options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CONTENTS_002etex"><code>CONTENTS.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ConTeXt">ConTeXt</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conventions-for-options_002c">conventions for options,</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-DVI-to-plain-text">conversion, DVI to plain text</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-GF-to-PK">conversion, GF to PK</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-GF-to-plain-text">conversion, GF to plain text</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-PK-to-GF">conversion, PK to GF</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-PK-to-plain-text">conversion, PK to plain text</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-property-list-to-TFM">conversion, property list to TFM</a>:</td><td> </td><td class="printindex-index-section"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-property-list-to-VF">conversion, property list to VF</a>:</td><td> </td><td class="printindex-index-section"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-TFM-to-property-list">conversion, TFM to property list</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-conversion_002c-VF-to-VPL">conversion, VF to VPL</a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-copyright-notices">copyright notices</a>:</td><td> </td><td class="printindex-index-section"><a href="#Legalisms">Legalisms</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Cork-encoding-and-ISO-input">Cork encoding and ISO input</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-creating-memory-dumps">creating memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Creating-memory-dumps">Creating memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross_002dengine-functionality">cross-engine functionality</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross_002dreferenced-bibliography-items">cross-referenced bibliography items</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-cross_002dreferences_002c-omitting">cross-references, omitting</a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-current-directory_002c-used-for-output">current directory, used for output</a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Curtis_002c-Pavel">Curtis, Pavel</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Cweb">Cweb</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-CWEB">CWEB</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-D">D</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-date-and-time_002c-in-memory-dumps">date and time, in memory dumps</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-DVI-utilities">debugging DVI utilities</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-debugging-flags_002c-specifying">debugging flags, specifying</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-decimal-character-codes_002c-in-TCX-files">decimal character codes, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dependencies_002c-hardware">dependencies, hardware</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-design_002dsize-units">design-size units</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-device-definitions_002c-for-Metafont">device definitions, for Metafont</a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-device_002dindependent-width">device-independent width</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-device_002dindependent-width-1">device-independent width</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-directory-structure">directory structure</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DISPLAY"><code>DISPLAY</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dot-files_002c-written-by-TeX-programs">dot files, written by TeX programs</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-double-quote-character_002c-ignored-in-filenames">double quote character, ignored in filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-downloading-of-fonts-for-MetaPost-labels">downloading of fonts for MetaPost labels</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DrawingServant"><code>DrawingServant</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dump-file">dump file</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dumping-memory">dumping memory</a>:</td><td> </td><td valign="top"><a href="#Memory-dumps">Memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-comment_002c-specifying">DVI comment, specifying</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-files_002c-converting-to-MPX">DVI files, converting to MPX</a>:</td><td> </td><td valign="top"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-files_002c-explained">DVI files, explained</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-format-definition">DVI format definition</a>:</td><td> </td><td valign="top"><a href="#DVI-utilities">DVI utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-opcodes_002c-showing">DVI opcodes, showing</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-DVI-utilities">DVI utilities</a>:</td><td> </td><td valign="top"><a href="#DVI-utilities">DVI utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvicopy"><code>dvicopy</code></a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvitomp"><code>dvitomp</code></a>:</td><td> </td><td valign="top"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvitype-DVI-validation"><code>dvitype <span class="roman">DVI validation</span></code></a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvitype-output-example">dvitype output example</a>:</td><td> </td><td valign="top"><a href="#dvitype-output-example">dvitype output example</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dvitype_002eweb"><code>dvitype.web</code></a>:</td><td> </td><td valign="top"><a href="#DVI-utilities">DVI utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dx-horizontal-escapement">dx <span class="roman">horizontal escapement</span></a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dx-horizontal-escapement-1">dx <span class="roman">horizontal escapement</span></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dy-vertical-escapement">dy <span class="roman">vertical escapement</span></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dynamic-array-allocation">dynamic array allocation</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dynamic-Metafont-mode-definitions-with-smode">dynamic Metafont mode definitions with <code>smode</code></a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-dynamic-packing-variable">dynamic packing variable</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-date-and-time_002c-in-memory-dumps">date and time, in memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-DVI-utilities">debugging DVI utilities</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-debugging-flags_002c-specifying">debugging flags, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-decimal-character-codes_002c-in-TCX-files">decimal character codes, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dependencies_002c-hardware">dependencies, hardware</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-design_002dsize-units">design-size units</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-device-definitions_002c-for-Metafont">device definitions, for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-device_002dindependent-width">device-independent width</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-device_002dindependent-width-1">device-independent width</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-directory-structure">directory structure</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DISPLAY"><code>DISPLAY</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dot-files_002c-written-by-TeX-programs">dot files, written by TeX programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-double-quote-character_002c-ignored-in-filenames">double quote character, ignored in filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-downloading-of-fonts-for-MetaPost-labels">downloading of fonts for MetaPost labels</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DrawingServant"><code>DrawingServant</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dump-file">dump file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dumping-memory">dumping memory</a>:</td><td> </td><td class="printindex-index-section"><a href="#Memory-dumps">Memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-comment_002c-specifying">DVI comment, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-files_002c-converting-to-MPX">DVI files, converting to MPX</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-files_002c-explained">DVI files, explained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-format-definition">DVI format definition</a>:</td><td> </td><td class="printindex-index-section"><a href="#DVI-utilities">DVI utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-opcodes_002c-showing">DVI opcodes, showing</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-DVI-utilities">DVI utilities</a>:</td><td> </td><td class="printindex-index-section"><a href="#DVI-utilities">DVI utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvicopy"><code>dvicopy</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvitomp"><code>dvitomp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvitype-DVI-validation"><code>dvitype <span class="r">DVI validation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvitype-output-example">dvitype output example</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-output-example">dvitype output example</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dvitype_002eweb"><code>dvitype.web</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#DVI-utilities">DVI utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dx-horizontal-escapement">dx <span class="r">horizontal escapement</span></a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dx-horizontal-escapement-1">dx <span class="r">horizontal escapement</span></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dy-vertical-escapement">dy <span class="r">vertical escapement</span></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-array-allocation">dynamic array allocation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-Metafont-mode-definitions-with-smode">dynamic Metafont mode definitions with <code class="code">smode</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-dynamic-packing-variable">dynamic packing variable</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-E">E</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-e-response-at-error-prompt"><code>e <span class="roman">response at error prompt</span></code></a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-e_002dcircumflex">e-circumflex</a>:</td><td> </td><td valign="top"><a href="#g_t_005ccharsubdef">\charsubdef</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-e_002dTeX">e-TeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-e_002emft"><code>e.mft</code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-EC-fonts">EC fonts</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-EC-fonts-1">EC fonts</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-editing-of-bitmap-fonts">editing of bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-editor-invoked-at-error">editor invoked at error</a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-eight_002dbit-characters-in-filenames">eight-bit characters in filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-empty_002etcx"><code>empty.tcx</code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-endian-dependencies">endian dependencies</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-eoc-GF-command"><code>eoc <span class="roman">GF command</span></code></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Eplain">Eplain</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-epsf"><code>epsf</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-epTeX">epTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-errors_002c-editor-invoked-at">errors, editor invoked at</a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-escapement_002c-horizontal">escapement, horizontal</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-escapement_002c-horizontal-1">escapement, horizontal</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-escapement_002c-vertical">escapement, vertical</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-etex-for-MetaPost-labels"><code>etex <span class="roman">for MetaPost labels</span></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-etex-is-pdfTeX"><code>etex <span class="roman">is pdfTeX</span></code></a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-eupTeX">eupTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-executables_002c-shared-initial-and-virgin">executables, shared initial and virgin</a>:</td><td> </td><td valign="top"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-exit-status_002c-of-shell-escape">exit status, of shell escape</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expanded-plain-format">expanded plain format</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expand_005fdepth"><code>expand_depth</code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion-limit_002c-recursive">expansion limit, recursive</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-expansion_002c-and-_005cinput-filenames">expansion, and <code>\input</code> filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extensions-to-TeX">extensions to TeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-extra_005fmem_005fbot"><code>extra_mem_bot</code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-e-response-at-error-prompt"><code>e <span class="r">response at error prompt</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-e_002dcircumflex">e-circumflex</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005ccharsubdef">\charsubdef</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-e_002dTeX">e-TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-e_002emft"><code>e.mft</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EC-fonts">EC fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-EC-fonts-1">EC fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-editing-of-bitmap-fonts">editing of bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-editor-invoked-at-error">editor invoked at error</a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-eight_002dbit-characters-in-filenames">eight-bit characters in filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-empty_002etcx"><code>empty.tcx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-endian-dependencies">endian dependencies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-eoc-GF-command"><code>eoc <span class="r">GF command</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Eplain">Eplain</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-epsf"><code>epsf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-epTeX">epTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-errors_002c-editor-invoked-at">errors, editor invoked at</a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-escapement_002c-horizontal">escapement, horizontal</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-escapement_002c-horizontal-1">escapement, horizontal</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-escapement_002c-vertical">escapement, vertical</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-etex-for-MetaPost-labels"><code>etex <span class="r">for MetaPost labels</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-etex-is-pdfTeX"><code>etex <span class="r">is pdfTeX</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-eupTeX">eupTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-executables_002c-shared-initial-and-virgin">executables, shared initial and virgin</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-exit-status_002c-of-shell-escape">exit status, of shell escape</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expanded-plain-format">expanded plain format</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expand_005fdepth"><code>expand_depth</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion-limit_002c-recursive">expansion limit, recursive</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-expansion_002c-and-_005cinput-filenames">expansion, and <code class="code">\input</code> filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extensions-to-TeX">extensions to TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-extra_005fmem_005fbot"><code>extra_mem_bot</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-F">F</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-FACE-property"><code>FACE <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FAMILY-property"><code>FAMILY <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FAMILY-property-1"><code>FAMILY <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Ferguson_002c-Michael">Ferguson, Michael</a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-file-formats-for-fonts">file formats for fonts</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-file-recorder">file recorder</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filename-conventions_002c-in-input-files">filename conventions, in input files</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-filenames-starting-with-_002d">filenames starting with ‘<samp>-</samp>’</a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-first-line-of-the-main-input-file">first line of the main input file</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fixed_002dpoint-arithmetic">fixed-point arithmetic</a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-FIXPT"><code>FIXPT</code></a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-flag-byte">flag byte</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-floating_002dpoint-arithmetic">floating-point arithmetic</a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-floating_002dpoint-values">floating-point values</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmt-file_002c-determining">fmt file, determining</a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmt-files">fmt files</a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmt-files_002c-sharing">fmt files, sharing</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fmts-Make-target"><code>fmts <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-aliases">font aliases</a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-character-code_002c-translating">font character code, translating</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-design">font design</a>:</td><td> </td><td valign="top"><a href="#Metafont">Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-downloading-for-MetaPost-labels">font downloading for MetaPost labels</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-file-formats">font file formats</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-proofs">font proofs</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-utilities">font utilities</a>:</td><td> </td><td valign="top"><a href="#Font-utilities">Font utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-font-utilities_002c-non_002dWeb2c">font utilities, non-Web2c</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontforge"><code>fontforge</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fontinst_002c-for-creating-virtual-fonts"><code>fontinst<span class="roman">, for creating virtual fonts</span></code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fonts_002c-basic">fonts, basic</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-format-files">format files</a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-formats-for-TeX">formats for TeX</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-formats-Make-target"><code>formats <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-fraction-routines">fraction routines</a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Free-Software-Foundation-documentation-system">Free Software Foundation documentation system</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-freedom-of-Web2c">freedom of Web2c</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ftp_002emath_002eutah_002eedu"><code>ftp.math.utah.edu</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FACE-property"><code>FACE <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FAMILY-property"><code>FAMILY <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FAMILY-property-1"><code>FAMILY <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Ferguson_002c-Michael">Ferguson, Michael</a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-file-formats-for-fonts">file formats for fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-file-recorder">file recorder</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filename-conventions_002c-in-input-files">filename conventions, in input files</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-filenames-starting-with-_002d">filenames starting with ‘<samp class="samp">-</samp>’</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-first-line-of-the-main-input-file">first line of the main input file</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fixed_002dpoint-arithmetic">fixed-point arithmetic</a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-FIXPT"><code>FIXPT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-flag-byte">flag byte</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-floating_002dpoint-arithmetic">floating-point arithmetic</a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-floating_002dpoint-values">floating-point values</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmt-file_002c-determining">fmt file, determining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmt-files">fmt files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmt-files_002c-sharing">fmt files, sharing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fmts-Make-target"><code>fmts <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-aliases">font aliases</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-character-code_002c-translating">font character code, translating</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-design">font design</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metafont">Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-downloading-for-MetaPost-labels">font downloading for MetaPost labels</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-file-formats">font file formats</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-proofs">font proofs</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-utilities">font utilities</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities">Font utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-font-utilities_002c-non_002dWeb2c">font utilities, non-Web2c</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontforge"><code>fontforge</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fontinst_002c-for-creating-virtual-fonts"><code>fontinst<span class="r">, for creating virtual fonts</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fonts_002c-basic">fonts, basic</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-format-files">format files</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-formats-for-TeX">formats for TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-formats-Make-target"><code>formats <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-fraction-routines">fraction routines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Free-Software-Foundation-documentation-system">Free Software Foundation documentation system</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-freedom-of-Web2c">freedom of Web2c</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ftp_002emath_002eutah_002eedu"><code>ftp.math.utah.edu</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-G">G</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-generating-source-specials">generating source specials</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-geometric-designs">geometric designs</a>:</td><td> </td><td valign="top"><a href="#Metafont">Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-geometric-font-scaling">geometric font scaling</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-geometry-for-Metafont">geometry for Metafont</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-getopt_005flong_005fonly"><code>getopt_long_only</code></a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GF-files_002c-explained">GF files, explained</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GF-files_002c-output-by-Metafont">GF files, output by Metafont</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GF-format-definition">GF format definition</a>:</td><td> </td><td valign="top"><a href="#Font-utilities">Font utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GF-output">GF output</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GF_002c-converting-PK-to">GF, converting PK to</a>:</td><td> </td><td valign="top"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-GF_002c-converting-to-PK">GF, converting to PK</a>:</td><td> </td><td valign="top"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gftodvi"><code>gftodvi</code></a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gftopk"><code>gftopk</code></a>:</td><td> </td><td valign="top"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gftopxl"><code>gftopxl</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gftype-GF-validation"><code>gftype <span class="roman">GF validation</span></code></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gftype_002eweb"><code>gftype.web</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities">Font utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glue-ratio-representations">glue ratio representations</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glue_002c-memory-for">glue, memory for</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-glyph-substitutions">glyph substitutions</a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gray-font">gray font</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-group_002ddelimited-filename-for-_005cinput">group-delimited filename for <code>\input</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-braced-filename">\input braced filename</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Gruff_002c-Billy-Goat">Gruff, Billy Goat</a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-gsftopk"><code>gsftopk</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-generating-source-specials">generating source specials</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-geometric-designs">geometric designs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metafont">Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-geometric-font-scaling">geometric font scaling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-geometry-for-Metafont">geometry for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-getopt_005flong_005fonly"><code>getopt_long_only</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GF-files_002c-explained">GF files, explained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GF-files_002c-output-by-Metafont">GF files, output by Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GF-format-definition">GF format definition</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities">Font utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GF-output">GF output</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GF_002c-converting-PK-to">GF, converting PK to</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-GF_002c-converting-to-PK">GF, converting to PK</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gftodvi"><code>gftodvi</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gftopk"><code>gftopk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gftopxl"><code>gftopxl</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gftype-GF-validation"><code>gftype <span class="r">GF validation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gftype_002eweb"><code>gftype.web</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities">Font utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glue-ratio-representations">glue ratio representations</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glue_002c-memory-for">glue, memory for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-glyph-substitutions">glyph substitutions</a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gray-font">gray font</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-group_002ddelimited-filename-for-_005cinput">group-delimited filename for <code class="code">\input</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-braced-filename">\input braced filename</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Gruff_002c-Billy-Goat">Gruff, Billy Goat</a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-gsftopk"><code>gsftopk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-H">H</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Harbison_002c-Samuel-P_002e">Harbison, Samuel P.</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hardware-and-memory-dumps">hardware and memory dumps</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-headerbyte-information"><code>headerbyte <span class="roman">information</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-height_002c-in-pixels">height, in pixels</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-help_002c-online">help, online</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Herberts_002c-Mathias">Herberts, Mathias</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hex-character-codes_002c-in-TCX-files">hex character codes, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-HINT-_0028Hint-Is-Not-TeX_0029">HINT (Hint Is Not TeX)</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-history">history</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hiTeX">hiTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Hobby_002c-John">Hobby, John</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-horizontal-escapement">horizontal escapement</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-horizontal-escapement-1">horizontal escapement</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hp2627"><code>hp2627</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-human-languages_002c-supported-in-TeX">human languages, supported in TeX</a>:</td><td> </td><td valign="top"><a href="#Languages-and-hyphenation">Languages and hyphenation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-human_002dreadable-text_002c-converting-DVI-to">human-readable text, converting DVI to</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-human_002dreadable-text_002c-converting-GF-to">human-readable text, converting GF to</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-human_002dreadable-text_002c-converting-PK-to">human-readable text, converting PK to</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-human_002dreadable-text_002c-converting-TFM-to">human-readable text, converting TFM to</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-human_002dreadable-text_002c-converting-VF-to">human-readable text, converting VF to</a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hypertext">hypertext</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hyphenation-and-languages">hyphenation and languages</a>:</td><td> </td><td valign="top"><a href="#Languages-and-hyphenation">Languages and hyphenation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-hyphenation-patterns_002c-creating">hyphenation patterns, creating</a>:</td><td> </td><td valign="top"><a href="#patgen-invocation">patgen invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Harbison_002c-Samuel-P_002e">Harbison, Samuel P.</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hardware-and-memory-dumps">hardware and memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-headerbyte-information"><code>headerbyte <span class="r">information</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-height_002c-in-pixels">height, in pixels</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-help_002c-online">help, online</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Herberts_002c-Mathias">Herberts, Mathias</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hex-character-codes_002c-in-TCX-files">hex character codes, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-HINT-_0028Hint-Is-Not-TeX_0029">HINT (Hint Is Not TeX)</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-history">history</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hiTeX">hiTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Hobby_002c-John">Hobby, John</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-horizontal-escapement">horizontal escapement</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-horizontal-escapement-1">horizontal escapement</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hp2627"><code>hp2627</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-human-languages_002c-supported-in-TeX">human languages, supported in TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Languages-and-hyphenation">Languages and hyphenation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-human_002dreadable-text_002c-converting-DVI-to">human-readable text, converting DVI to</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-human_002dreadable-text_002c-converting-GF-to">human-readable text, converting GF to</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-human_002dreadable-text_002c-converting-PK-to">human-readable text, converting PK to</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-human_002dreadable-text_002c-converting-TFM-to">human-readable text, converting TFM to</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-human_002dreadable-text_002c-converting-VF-to">human-readable text, converting VF to</a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hypertext">hypertext</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hyphenation-and-languages">hyphenation and languages</a>:</td><td> </td><td class="printindex-index-section"><a href="#Languages-and-hyphenation">Languages and hyphenation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-hyphenation-patterns_002c-creating">hyphenation patterns, creating</a>:</td><td> </td><td class="printindex-index-section"><a href="#patgen-invocation">patgen invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-I">I</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-ice-cream">ice cream</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-identifier-case">identifier case</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-identifier-collisions">identifier collisions</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-identifier-length">identifier length</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-identifiers-with-underlines">identifiers with underlines</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ieeetr_002ebst"><code>ieeetr.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-il1_002dt1_002etcx"><code>il1-t1.tcx</code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-il2_002dt1_002etcx"><code>il2-t1.tcx</code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Info-format">Info format</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-initial-form_002c-enabling">initial form, enabling</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-initial-Metafont">initial Metafont</a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-initial-MetaPost">initial MetaPost</a>:</td><td> </td><td valign="top"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-initial-programs">initial programs</a>:</td><td> </td><td valign="top"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-initial-TeX">initial TeX</a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-initializations_002c-lengthy">initializations, lengthy</a>:</td><td> </td><td valign="top"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-input-filenames">input filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-install_002dbases-Make-target"><code>install-bases <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-install_002dfmts-Make-target"><code>install-fmts <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-install_002dformats-Make-target"><code>install-formats <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-install_002dmems-Make-target"><code>install-mems <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-installation">installation</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-interaction-between-TCX-files-and-_002d8bit_002e">interaction between TCX files and ‘<samp>-8bit</samp>’.</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-interaction-mode">interaction mode</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-international-characters">international characters</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-introduction">introduction</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-IPC">IPC</a>:</td><td> </td><td valign="top"><a href="#IPC-and-TeX">IPC and TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-IPC_005fDEBUG"><code>IPC_DEBUG</code></a>:</td><td> </td><td valign="top"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-IPC_005fDEBUG-1"><code>IPC_DEBUG</code></a>:</td><td> </td><td valign="top"><a href="#IPC-and-TeX">IPC and TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ice-cream">ice cream</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-identifier-case">identifier case</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-identifier-collisions">identifier collisions</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-identifier-length">identifier length</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-identifiers-with-underlines">identifiers with underlines</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ieeetr_002ebst"><code>ieeetr.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-il1_002dt1_002etcx"><code>il1-t1.tcx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-il2_002dt1_002etcx"><code>il2-t1.tcx</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Info-format">Info format</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-initial-form_002c-enabling">initial form, enabling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-initial-Metafont">initial Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-initial-MetaPost">initial MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-initial-programs">initial programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-initial-TeX">initial TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-initializations_002c-lengthy">initializations, lengthy</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-input-filenames">input filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-install_002dbases-Make-target"><code>install-bases <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-install_002dfmts-Make-target"><code>install-fmts <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-install_002dformats-Make-target"><code>install-formats <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-install_002dmems-Make-target"><code>install-mems <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-installation">installation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-interaction-between-TCX-files-and-_002d8bit_002e">interaction between TCX files and ‘<samp class="samp">-8bit</samp>’.</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-interaction-mode">interaction mode</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-international-characters">international characters</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-introduction">introduction</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-IPC">IPC</a>:</td><td> </td><td class="printindex-index-section"><a href="#IPC-and-TeX">IPC and TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-IPC_005fDEBUG"><code>IPC_DEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Compile_002dtime-options">Compile-time options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-IPC_005fDEBUG-1"><code>IPC_DEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#IPC-and-TeX">IPC and TeX</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-J">J</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-job-name">job name</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-job-name">job name</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-K">K</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-kerning-table_002c-in-TFM-files">kerning table, in TFM files</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-keyboard-character-code_002c-translating">keyboard character code, translating</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-E_002e">Knuth, Donald E.</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Knuth_002c-Donald-E_002e-1">Knuth, Donald E.</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-KRN-property"><code>KRN <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-kerning-table_002c-in-TFM-files">kerning table, in TFM files</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-keyboard-character-code_002c-translating">keyboard character code, translating</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Knuth_002c-Donald-E_002e">Knuth, Donald E.</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Knuth_002c-Donald-E_002e-1">Knuth, Donald E.</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KPATHSEA_005fDEBUG"><code>KPATHSEA_DEBUG</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-KRN-property"><code>KRN <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-L">L</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-label-font">label font</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LABEL-property"><code>LABEL <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-language-support-in-TeX">language support in TeX</a>:</td><td> </td><td valign="top"><a href="#Languages-and-hyphenation">Languages and hyphenation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-languages_002c-hyphenation-rules-for">languages, hyphenation rules for</a>:</td><td> </td><td valign="top"><a href="#patgen-invocation">patgen invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LaTeX">LaTeX</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Latin-Modern">Latin Modern</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-left-side-bearing">left side bearing</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-left-side-bearing-1">left side bearing</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-legalisms">legalisms</a>:</td><td> </td><td valign="top"><a href="#Legalisms">Legalisms</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-libsigsegv-library"><code>libsigsegv <span class="roman">library</span></code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-licensing-terms">licensing terms</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LIG-property"><code>LIG <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ligature-table_002c-in-TFM-files">ligature table, in TFM files</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LIGTABLE-property"><code>LIGTABLE <span class="roman">property</span></code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-linking-binaries">linking binaries</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-links-to-binaries">links to binaries</a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-literate-programming">literate programming</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LittleEndian-machines">LittleEndian machines</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-location-of-texmf_002ecnf-in-TeX-Live">location of <samp>texmf.cnf</samp> in TeX Live</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-log-file_002c-BibTeX">log file, BibTeX</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-long-data-type_002c-size-of"><code>long</code> data type, size of</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Lua">Lua</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-LuaTeX">LuaTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-label-font">label font</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LABEL-property"><code>LABEL <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-language-support-in-TeX">language support in TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Languages-and-hyphenation">Languages and hyphenation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-languages_002c-hyphenation-rules-for">languages, hyphenation rules for</a>:</td><td> </td><td class="printindex-index-section"><a href="#patgen-invocation">patgen invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LaTeX">LaTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Latin-Modern">Latin Modern</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-left-side-bearing">left side bearing</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-left-side-bearing-1">left side bearing</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-legalisms">legalisms</a>:</td><td> </td><td class="printindex-index-section"><a href="#Legalisms">Legalisms</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-libsigsegv-library"><code>libsigsegv <span class="r">library</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-licensing-terms">licensing terms</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LIG-property"><code>LIG <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ligature-table_002c-in-TFM-files">ligature table, in TFM files</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LIGTABLE-property"><code>LIGTABLE <span class="r">property</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-linking-binaries">linking binaries</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-links-to-binaries">links to binaries</a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-literate-programming">literate programming</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LittleEndian-machines">LittleEndian machines</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-location-of-texmf_002ecnf-in-TeX-Live">location of <samp class="file">texmf.cnf</samp> in TeX Live</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-log-file_002c-BibTeX">log file, BibTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-long-data-type_002c-size-of"><code class="code">long</code> data type, size of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Lua">Lua</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-LuaTeX">LuaTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-M">M</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-machine-dependencies">machine dependencies</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-machine_002dreadable_002c-converting-property-lists-to">machine-readable, converting property lists to</a>:</td><td> </td><td valign="top"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-machine_002dreadable_002c-converting-property-lists-to-1">machine-readable, converting property lists to</a>:</td><td> </td><td valign="top"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MacKay_002c-Pierre">MacKay, Pierre</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macro-packages_002c-major-TeX">macro packages, major TeX</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-basic">macros, basic</a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-macros_002c-predefining-in-memory-dumps">macros, predefining in memory dumps</a>:</td><td> </td><td valign="top"><a href="#Memory-dumps">Memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-magnification">magnification</a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-magnification-1">magnification</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-main_005fmemory"><code>main_memory</code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Make-targets_002c-additional">Make targets, additional</a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Martin_002c-Rick">Martin, Rick</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Mathematical-Reviews">Mathematical Reviews</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mathematical-typesetting">mathematical typesetting</a>:</td><td> </td><td valign="top"><a href="#TeX">TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mem-file_002c-determining">mem file, determining</a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mem-files_002c-sharing">mem files, sharing</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-dump-to-use_002c-determining">memory dump to use, determining</a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-dumps">memory dumps</a>:</td><td> </td><td valign="top"><a href="#Memory-dumps">Memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-dumps-and-hardware">memory dumps and hardware</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-dumps_002c-contain-date-and-time">memory dumps, contain date and time</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-memory-dumps_002c-creating">memory dumps, creating</a>:</td><td> </td><td valign="top"><a href="#Creating-memory-dumps">Creating memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mems-Make-target"><code>mems <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-meta-characters-in-filenames">meta characters in filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont">Metafont</a>:</td><td> </td><td valign="top"><a href="#Metafont">Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-geometry">Metafont geometry</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-graphics">Metafont graphics</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-input-files">Metafont input files</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-invocation">Metafont invocation</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-meets-PostScript">Metafont meets PostScript</a>:</td><td> </td><td valign="top"><a href="#MetaPost">MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-online-support_002c-new-devices">Metafont online support, new devices</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont-source_002c-prettyprinting">Metafont source, prettyprinting</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont_002c-compatibility-in-MetaPost">Metafont, compatibility in MetaPost</a>:</td><td> </td><td valign="top"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont_002c-initial">Metafont, initial</a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Metafont_002c-MetaPost_002c-and-TeX">Metafont, MetaPost, and TeX</a>:</td><td> </td><td valign="top"><a href="#Three-programs">Three programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost">MetaPost</a>:</td><td> </td><td valign="top"><a href="#MetaPost">MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost-and-plain-Metafont-compatibility">MetaPost and plain Metafont compatibility</a>:</td><td> </td><td valign="top"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost-input-files">MetaPost input files</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost-invocation">MetaPost invocation</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost-source_002c-prettyprinting">MetaPost source, prettyprinting</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost_002c-initial">MetaPost, initial</a>:</td><td> </td><td valign="top"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MetaPost_002c-TeX_002c-and-Metafont">MetaPost, TeX, and Metafont</a>:</td><td> </td><td valign="top"><a href="#Three-programs">Three programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-metatype1"><code>metatype1</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mf"><code>mf</code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mf_002ebase"><code>mf.base</code></a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MFEDIT"><code>MFEDIT</code></a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mfplain"><code>mfplain</code></a>:</td><td> </td><td valign="top"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mfput"><code>mfput</code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mft"><code>mft</code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mftalk"><code>mftalk</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MFTERM"><code>MFTERM</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mftmac_002etex"><code>mftmac.tex</code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-micro_002dtypography">micro-typography</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktexmf_002c-disabling"><code>mktexmf<span class="roman">, disabling</span></code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mktextfM_002c-disabling"><code>mktextfM<span class="roman">, disabling</span></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mltex"><code>mltex</code></a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MLTeX_002c-enabling">MLTeX, enabling</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mode-needed-to-run-Metafont">mode needed to run Metafont</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-modes-file-needed-for-Metafont">modes file needed for Metafont</a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-modes_002emf-recommended-modes-file"><code>modes.mf <span class="roman">recommended modes file</span></code></a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mode_005fdef"><code>mode_def</code></a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mode_005fsetup"><code>mode_setup</code></a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-modifying-texmf_002ecnf-in-TeX-Live">modifying <samp>texmf.cnf</samp> in TeX Live</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Morgan_002c-Tim">Morgan, Tim</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Morris_002c-Bob">Morris, Bob</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MPEDIT"><code>MPEDIT</code></a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mpgraph_002epdf"><code>mpgraph.pdf</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mpman_002epdf"><code>mpman.pdf</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mpost"><code>mpost</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mpost_002c-reason-for-name-change"><code>mpost<span class="roman">, reason for name change</span></code></a>:</td><td> </td><td valign="top"><a href="#Installation">Installation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mpout"><code>mpout</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mproof_002etex"><code>mproof.tex</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mptrap-Make-target"><code>mptrap <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mptrap-test">mptrap test</a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-mptrap_002ereadme"><code>mptrap.readme</code></a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-MPX-files_002c-converting-from-DVI-files">MPX files, converting from DVI files</a>:</td><td> </td><td valign="top"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Multi_002dlingual-TeX">Multi-lingual TeX</a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-multiple-spaces_002c-and-_005cinput-filenames">multiple spaces, and <code>\input</code> filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-machine-dependencies">machine dependencies</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-machine_002dreadable_002c-converting-property-lists-to">machine-readable, converting property lists to</a>:</td><td> </td><td class="printindex-index-section"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-machine_002dreadable_002c-converting-property-lists-to-1">machine-readable, converting property lists to</a>:</td><td> </td><td class="printindex-index-section"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MacKay_002c-Pierre">MacKay, Pierre</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macro-packages_002c-major-TeX">macro packages, major TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-basic">macros, basic</a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-macros_002c-predefining-in-memory-dumps">macros, predefining in memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Memory-dumps">Memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification">magnification</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-magnification-1">magnification</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-main_005fmemory"><code>main_memory</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Make-targets_002c-additional">Make targets, additional</a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Martin_002c-Rick">Martin, Rick</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Mathematical-Reviews">Mathematical Reviews</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mathematical-typesetting">mathematical typesetting</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX">TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mem-file_002c-determining">mem file, determining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mem-files_002c-sharing">mem files, sharing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-dump-to-use_002c-determining">memory dump to use, determining</a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-dumps">memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Memory-dumps">Memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-dumps-and-hardware">memory dumps and hardware</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-dumps_002c-contain-date-and-time">memory dumps, contain date and time</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-memory-dumps_002c-creating">memory dumps, creating</a>:</td><td> </td><td class="printindex-index-section"><a href="#Creating-memory-dumps">Creating memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mems-Make-target"><code>mems <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-meta-characters-in-filenames">meta characters in filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont">Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metafont">Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-geometry">Metafont geometry</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-graphics">Metafont graphics</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-input-files">Metafont input files</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-invocation">Metafont invocation</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-meets-PostScript">Metafont meets PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#MetaPost">MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-online-support_002c-new-devices">Metafont online support, new devices</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont-source_002c-prettyprinting">Metafont source, prettyprinting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont_002c-compatibility-in-MetaPost">Metafont, compatibility in MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont_002c-initial">Metafont, initial</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Metafont_002c-MetaPost_002c-and-TeX">Metafont, MetaPost, and TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Three-programs">Three programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost">MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#MetaPost">MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost-and-plain-Metafont-compatibility">MetaPost and plain Metafont compatibility</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost-input-files">MetaPost input files</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost-invocation">MetaPost invocation</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost-source_002c-prettyprinting">MetaPost source, prettyprinting</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost_002c-initial">MetaPost, initial</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MetaPost_002c-TeX_002c-and-Metafont">MetaPost, TeX, and Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Three-programs">Three programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-metatype1"><code>metatype1</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mf"><code>mf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mf_002ebase"><code>mf.base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MFEDIT"><code>MFEDIT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mfplain"><code>mfplain</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mfput"><code>mfput</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mft"><code>mft</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mftalk"><code>mftalk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MFTERM"><code>MFTERM</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mftmac_002etex"><code>mftmac.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-micro_002dtypography">micro-typography</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktexmf_002c-disabling"><code>mktexmf<span class="r">, disabling</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mktextfM_002c-disabling"><code>mktextfM<span class="r">, disabling</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mltex"><code>mltex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MLTeX_002c-enabling">MLTeX, enabling</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mode-needed-to-run-Metafont">mode needed to run Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-modes-file-needed-for-Metafont">modes file needed for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-modes_002emf-recommended-modes-file"><code>modes.mf <span class="r">recommended modes file</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mode_005fdef"><code>mode_def</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mode_005fsetup"><code>mode_setup</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-modifying-texmf_002ecnf-in-TeX-Live">modifying <samp class="file">texmf.cnf</samp> in TeX Live</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Morgan_002c-Tim">Morgan, Tim</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Morris_002c-Bob">Morris, Bob</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MPEDIT"><code>MPEDIT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mpgraph_002epdf"><code>mpgraph.pdf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mpman_002epdf"><code>mpman.pdf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mpost"><code>mpost</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mpost_002c-reason-for-name-change"><code>mpost<span class="r">, reason for name change</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Installation">Installation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mpout"><code>mpout</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mproof_002etex"><code>mproof.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mptrap-Make-target"><code>mptrap <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mptrap-test">mptrap test</a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-mptrap_002ereadme"><code>mptrap.readme</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-MPX-files_002c-converting-from-DVI-files">MPX files, converting from DVI files</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitomp-invocation">dvitomp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Multi_002dlingual-TeX">Multi-lingual TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-multiple-spaces_002c-and-_005cinput-filenames">multiple spaces, and <code class="code">\input</code> filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-N">N</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-N-tilde">N tilde</a>:</td><td> </td><td valign="top"><a href="#g_t_005ccharsubdef">\charsubdef</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-new-graphics-support-for-Metafont">new graphics support for Metafont</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-newrow-GF-command"><code>newrow <span class="roman">GF command</span></code></a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-next"><code>next</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-non_002dUnix-system_002c-compiling-on">non-Unix system, compiling on</a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-non_002dwindows_002dcapable-Metafont">non-windows-capable Metafont</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-NO_005fX11WIN"><code>NO_X11WIN</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-NUL_002c-not-allowed-in-filenames">NUL, not allowed in filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-N-tilde">N tilde</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005ccharsubdef">\charsubdef</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-new-graphics-support-for-Metafont">new graphics support for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-newrow-GF-command"><code>newrow <span class="r">GF command</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-next"><code>next</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-non_002dUnix-system_002c-compiling-on">non-Unix system, compiling on</a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-non_002dwindows_002dcapable-Metafont">non-windows-capable Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-NO_005fX11WIN"><code>NO_X11WIN</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-NUL_002c-not-allowed-in-filenames">NUL, not allowed in filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-O">O</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-octal-character-codes_002c-in-TCX-files">octal character codes, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-offset-for-overflow-labels">offset for overflow labels</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Omega">Omega</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-online-Metafont-graphics">online Metafont graphics</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-opcodes_002c-showing-DVI">opcodes, showing DVI</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-OpenType-support">OpenType support</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-optical-font-scaling">optical font scaling</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-option-conventions">option conventions</a>:</td><td> </td><td valign="top"><a href="#Option-conventions">Option conventions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-origin">origin</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-directory_002c-specifying">output directory, specifying</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-directory_002c-specifying-1">output directory, specifying</a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-file-location">output file location</a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output-files_002c-written-by-TeX-programs">output files, written by TeX programs</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-output_005fcomment-for-DVI-files"><code>output_comment <span class="roman">for DVI files</span></code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-overflow-label-offset">overflow label offset</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-overflow_002c-of-runtime-stack">overflow, of runtime stack</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-octal-character-codes_002c-in-TCX-files">octal character codes, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-offset-for-overflow-labels">offset for overflow labels</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Omega">Omega</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-online-Metafont-graphics">online Metafont graphics</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-opcodes_002c-showing-DVI">opcodes, showing DVI</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-OpenType-support">OpenType support</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-optical-font-scaling">optical font scaling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-option-conventions">option conventions</a>:</td><td> </td><td class="printindex-index-section"><a href="#Option-conventions">Option conventions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-origin">origin</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-directory_002c-specifying">output directory, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-directory_002c-specifying-1">output directory, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-file-location">output file location</a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output-files_002c-written-by-TeX-programs">output files, written by TeX programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-output_005fcomment-for-DVI-files"><code>output_comment <span class="r">for DVI files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-overflow-label-offset">overflow label offset</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-overflow_002c-of-runtime-stack">overflow, of runtime stack</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-P">P</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-packet-length">packet length</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page_002c-starting">page, starting</a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-page_002c-starting-1">page, starting</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-parsing-the-first-line">parsing the first line</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Pascal_002c-creating-from-WEB">Pascal, creating from WEB</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-patgen"><code>patgen</code></a>:</td><td> </td><td valign="top"><a href="#patgen-invocation">patgen invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-searching">path searching</a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-path-searching-debugging">path searching debugging</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF">PDF</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PDF_002c-and-_002emps-files">PDF, and <code>.mps</code> files</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pdfTeX">pdfTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-permissions_002c-legal">permissions, legal</a>:</td><td> </td><td valign="top"><a href="#Legalisms">Legalisms</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PFA-and-PFB-conversion">PFA and PFB conversion</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pfaedit"><code>pfaedit</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PiCTeX_002c-increasing-memory-for">PiCTeX, increasing memory for</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pipes_002c-reading-and-writing">pipes, reading and writing</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pixel-height">pixel height</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pixel-width">pixel width</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PK-bitmaps-from-PostScript">PK bitmaps from PostScript</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PK-files_002c-explained">PK files, explained</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PK-files_002c-not-output-by-Metafont">PK files, not output by Metafont</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PK-format-definition">PK format definition</a>:</td><td> </td><td valign="top"><a href="#Font-utilities">Font utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PK_002c-converting-GF-to">PK, converting GF to</a>:</td><td> </td><td valign="top"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PK_002c-converting-to-GF">PK, converting to GF</a>:</td><td> </td><td valign="top"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pktogf"><code>pktogf</code></a>:</td><td> </td><td valign="top"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pktype-PK-validation"><code>pktype <span class="roman">PK validation</span></code></a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pktype_002eweb"><code>pktype.web</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities">Font utilities</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PL-files_002c-explained">PL files, explained</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain-Metafont_002c-compatibility-in-MetaPost">plain Metafont, compatibility in MetaPost</a>:</td><td> </td><td valign="top"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain-text_002c-converting-DVI-to">plain text, converting DVI to</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain-text_002c-converting-GF-to">plain text, converting GF to</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain-text_002c-converting-PK-to">plain text, converting PK to</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain-text_002c-converting-TFM-to">plain text, converting TFM to</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain-text_002c-converting-VF-to">plain text, converting VF to</a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain_002ebase"><code>plain.base</code></a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain_002ebst"><code>plain.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain_002efmt"><code>plain.fmt</code></a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-plain_002emft"><code>plain.mft</code></a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pltotf"><code>pltotf</code></a>:</td><td> </td><td valign="top"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pool-file_002c-writing">pool file, writing</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Poole_002c-Simon">Poole, Simon</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pooltype"><code>pooltype</code></a>:</td><td> </td><td valign="top"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-portable-filenames">portable filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-fonts_002c-and-Troff">PostScript fonts, and Troff</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-meets-Metafont">PostScript meets Metafont</a>:</td><td> </td><td valign="top"><a href="#MetaPost">MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-output">PostScript output</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-to-PK-bitmaps">PostScript to PK bitmaps</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript-Type-1-font-conversion">PostScript Type 1 font conversion</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PostScript_002c-and-font-scaling">PostScript, and font scaling</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-potrace"><code>potrace</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-predefined-macros-and-memory-dumps">predefined macros and memory dumps</a>:</td><td> </td><td valign="top"><a href="#Memory-dumps">Memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-prettyprinting-Metafont-source">prettyprinting Metafont source</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-prettyprinting-WEB-programs">prettyprinting WEB programs</a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-primitives_002c-new">primitives, new</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printable-characters_002c-specifying">printable characters, specifying</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-printer-characteristics_002c-for-Metafont">printer characteristics, for Metafont</a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-production-use">production use</a>:</td><td> </td><td valign="top"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program-name_002c-determines-memory-dump">program name, determines memory dump</a>:</td><td> </td><td valign="top"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program-names_002c-special">program names, special</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program-names_002c-special-1">program names, special</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-program-names_002c-special-2">program names, special</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-prologues"><code>prologues</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-prologues_002c-and-EPSF-output"><code>prologues<span class="roman">, and EPSF output</span></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-proof-mode"><code>proof <span class="roman">mode</span></code></a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-proof-sheets_002c-of-fonts">proof sheets, of fonts</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-property-list-format">property list format</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-property-list_002c-converting-TFM-to">property list, converting TFM to</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-property-list_002c-converting-VF-to-virtual">property list, converting VF to virtual</a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-ps2pk"><code>ps2pk</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-psfonts_002emap_002c-read-by-MetaPost"><code>psfonts.map<span class="roman">, read by MetaPost</span></code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pTeX">pTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-PXL-files_002c-explained">PXL files, explained</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-pxtoch"><code>pxtoch</code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-packet-length">packet length</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-starting">page, starting</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-page_002c-starting-1">page, starting</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-parsing-the-first-line">parsing the first line</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Pascal_002c-creating-from-WEB">Pascal, creating from WEB</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-patgen"><code>patgen</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#patgen-invocation">patgen invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching">path searching</a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-path-searching-debugging">path searching debugging</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF">PDF</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PDF_002c-and-_002emps-files">PDF, and <code class="code">.mps</code> files</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pdfTeX">pdfTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-permissions_002c-legal">permissions, legal</a>:</td><td> </td><td class="printindex-index-section"><a href="#Legalisms">Legalisms</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PFA-and-PFB-conversion">PFA and PFB conversion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pfaedit"><code>pfaedit</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PiCTeX_002c-increasing-memory-for">PiCTeX, increasing memory for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pipes_002c-reading-and-writing">pipes, reading and writing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pixel-height">pixel height</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pixel-width">pixel width</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PK-bitmaps-from-PostScript">PK bitmaps from PostScript</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PK-files_002c-explained">PK files, explained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PK-files_002c-not-output-by-Metafont">PK files, not output by Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PK-format-definition">PK format definition</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities">Font utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PK_002c-converting-GF-to">PK, converting GF to</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftopk-invocation">gftopk invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PK_002c-converting-to-GF">PK, converting to GF</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pktogf"><code>pktogf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#pktogf-invocation">pktogf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pktype-PK-validation"><code>pktype <span class="r">PK validation</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pktype_002eweb"><code>pktype.web</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities">Font utilities</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PL-files_002c-explained">PL files, explained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain-Metafont_002c-compatibility-in-MetaPost">plain Metafont, compatibility in MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-MetaPost">Initial MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain-text_002c-converting-DVI-to">plain text, converting DVI to</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain-text_002c-converting-GF-to">plain text, converting GF to</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain-text_002c-converting-PK-to">plain text, converting PK to</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain-text_002c-converting-TFM-to">plain text, converting TFM to</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain-text_002c-converting-VF-to">plain text, converting VF to</a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002ebase"><code>plain.base</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002ebst"><code>plain.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002efmt"><code>plain.fmt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-plain_002emft"><code>plain.mft</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pltotf"><code>pltotf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pool-file_002c-writing">pool file, writing</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Poole_002c-Simon">Poole, Simon</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pooltype"><code>pooltype</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-portable-filenames">portable filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-fonts_002c-and-Troff">PostScript fonts, and Troff</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-meets-Metafont">PostScript meets Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#MetaPost">MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-output">PostScript output</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-to-PK-bitmaps">PostScript to PK bitmaps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript-Type-1-font-conversion">PostScript Type 1 font conversion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PostScript_002c-and-font-scaling">PostScript, and font scaling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-potrace"><code>potrace</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-predefined-macros-and-memory-dumps">predefined macros and memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Memory-dumps">Memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-prettyprinting-Metafont-source">prettyprinting Metafont source</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-prettyprinting-WEB-programs">prettyprinting WEB programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-primitives_002c-new">primitives, new</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printable-characters_002c-specifying">printable characters, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-printer-characteristics_002c-for-Metafont">printer characteristics, for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-production-use">production use</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program-name_002c-determines-memory-dump">program name, determines memory dump</a>:</td><td> </td><td class="printindex-index-section"><a href="#Determining-the-memory-dump-to-use">Determining the memory dump to use</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program-names_002c-special">program names, special</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program-names_002c-special-1">program names, special</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-program-names_002c-special-2">program names, special</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-prologues"><code>prologues</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-prologues_002c-and-EPSF-output"><code>prologues<span class="r">, and EPSF output</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-proof-mode"><code>proof <span class="r">mode</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-proof-sheets_002c-of-fonts">proof sheets, of fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-property-list-format">property list format</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-property-list_002c-converting-TFM-to">property list, converting TFM to</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-property-list_002c-converting-VF-to-virtual">property list, converting VF to virtual</a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-ps2pk"><code>ps2pk</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-psfonts_002emap_002c-read-by-MetaPost"><code>psfonts.map<span class="r">, read by MetaPost</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pTeX">pTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-PXL-files_002c-explained">PXL files, explained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-pxtoch"><code>pxtoch</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Q">Q</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-quoted-filename-for-_005cinput">quoted filename for <code>\input</code></a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-quoted-filename">\input quoted filename</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-quoted-filename-for-_005cinput">quoted filename for <code class="code">\input</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-quoted-filename">\input quoted filename</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-R">R</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Raichle_002c-Bernd">Raichle, Bernd</a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reading_002c-additional">reading, additional</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-readonly-directory_002c-running-TeX-in">readonly directory, running TeX in</a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-readonly-directory_002c-running-TeX-in-1">readonly directory, running TeX in</a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reallocation-of-arrays">reallocation of arrays</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-recursive-expansion-limit">recursive expansion limit</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-redefined-character-substitutions">redefined character substitutions</a>:</td><td> </td><td valign="top"><a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-reference-pixel">reference pixel</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-references">references</a>:</td><td> </td><td valign="top"><a href="#References">References</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-regis"><code>regis</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Regis-graphics-support">Regis graphics support</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-regression-testing">regression testing</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-repeated-rows">repeated rows</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-representation-of-strings">representation of strings</a>:</td><td> </td><td valign="top"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-restricted-shell-escapes">restricted shell escapes</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-right-side-bearing">right side bearing</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-right-side-bearing-1">right side bearing</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Rokicki_002c-Tomas">Rokicki, Tomas</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-run-length-encoded-bitmaps">run length encoded bitmaps</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-run-length-encoded-bitmaps-1">run length encoded bitmaps</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-runtime-options">runtime options</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-runtime-stack-overflow">runtime stack overflow</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Raichle_002c-Bernd">Raichle, Bernd</a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reading_002c-additional">reading, additional</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-readonly-directory_002c-running-TeX-in">readonly directory, running TeX in</a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-readonly-directory_002c-running-TeX-in-1">readonly directory, running TeX in</a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reallocation-of-arrays">reallocation of arrays</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-recursive-expansion-limit">recursive expansion limit</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-redefined-character-substitutions">redefined character substitutions</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005ctracingcharsubdef">\tracingcharsubdef</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-reference-pixel">reference pixel</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-references">references</a>:</td><td> </td><td class="printindex-index-section"><a href="#References">References</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-regis"><code>regis</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Regis-graphics-support">Regis graphics support</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-regression-testing">regression testing</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-repeated-rows">repeated rows</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-representation-of-strings">representation of strings</a>:</td><td> </td><td class="printindex-index-section"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-restricted-shell-escapes">restricted shell escapes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-right-side-bearing">right side bearing</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-right-side-bearing-1">right side bearing</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Rokicki_002c-Tomas">Rokicki, Tomas</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-run-length-encoded-bitmaps">run length encoded bitmaps</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-run-length-encoded-bitmaps-1">run length encoded bitmaps</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-runtime-options">runtime options</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-runtime-stack-overflow">runtime stack overflow</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-S">S</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-scaled-pixels">scaled pixels</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scaled-pixels-1">scaled pixels</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-scaling-of-fonts">scaling of fonts</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-security_002c-and-output-files">security, and output files</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-security_002c-and-shell-escapes">security, and shell escapes</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-security_002c-and-write">security, and <code>write</code></a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-security_002c-and-_005copenout">security, and <code>\openout</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-segmentation-fault">segmentation fault</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shapes">shapes</a>:</td><td> </td><td valign="top"><a href="#Metafont">Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sharing-memory-dumps">sharing memory dumps</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell-commands-in-TeX">shell commands in TeX</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell_005fescape-enabling-in-TeX"><code>shell_escape <span class="roman">enabling in TeX</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-shell_005fescape_005fcommands"><code>shell_escape_commands</code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-siam_002ebst"><code>siam.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-side-bearings">side bearings</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-side-bearings-1">side bearings</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SIGSEGV"><code>SIGSEGV</code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-slant-font">slant font</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-slides_002c-producing">slides, producing</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SliTeX">SliTeX</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-small-Metafont-memory-and-modes">small Metafont memory and modes</a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-smode-and-dynamic-Metafont-mode-definition"><code>smode <span class="roman">and dynamic Metafont mode definition</span></code></a>:</td><td> </td><td valign="top"><a href="#Modes">Modes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sockets">sockets</a>:</td><td> </td><td valign="top"><a href="#IPC-and-TeX">IPC and TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-space_002dterminated-filenames">space-terminated filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Spiderweb">Spiderweb</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Stallman_002c-Richard">Stallman, Richard</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-starting-page">starting page</a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-starting-page-1">starting page</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Steele-Jr_002e_002c-Guy-L_002e">Steele Jr., Guy L.</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-stopping-at-the-first-error">stopping at the first error</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-strategy_002c-overall">strategy, overall</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-string-numbers_002c-displaying">string numbers, displaying</a>:</td><td> </td><td valign="top"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-string-pool_002c-writing">string pool, writing</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-string-representation">string representation</a>:</td><td> </td><td valign="top"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-style-design_002c-for-BibTeX">style design, for BibTeX</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-style-files">style files</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-substitutions-of-font-glyphs">substitutions of font glyphs</a>:</td><td> </td><td valign="top"><a href="#MLTeX">MLTeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sun"><code>sun</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-sun_002dgfx_002ec"><code>sun-gfx.c</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Suntools">Suntools</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-SunView">SunView</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-swap-space_002c-as-array-limit">swap space, as array limit</a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-swapping-bytes">swapping bytes</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-syntax-of-TCX-files">syntax of TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system-C-library-function"><code>system <span class="roman">C library function</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system-command">system command</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-system-fonts_002c-using">system fonts, using</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scaled-pixels">scaled pixels</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scaled-pixels-1">scaled pixels</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-scaling-of-fonts">scaling of fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-security_002c-and-output-files">security, and output files</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-security_002c-and-shell-escapes">security, and shell escapes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-security_002c-and-write">security, and <code class="code">write</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-security_002c-and-_005copenout">security, and <code class="code">\openout</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-segmentation-fault">segmentation fault</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shapes">shapes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metafont">Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sharing-memory-dumps">sharing memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell-commands-in-TeX">shell commands in TeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell_005fescape-enabling-in-TeX"><code>shell_escape <span class="r">enabling in TeX</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-shell_005fescape_005fcommands"><code>shell_escape_commands</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-siam_002ebst"><code>siam.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-side-bearings">side bearings</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-side-bearings-1">side bearings</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SIGSEGV"><code>SIGSEGV</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-slant-font">slant font</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-slides_002c-producing">slides, producing</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SliTeX">SliTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-small-Metafont-memory-and-modes">small Metafont memory and modes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-smode-and-dynamic-Metafont-mode-definition"><code>smode <span class="r">and dynamic Metafont mode definition</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Modes">Modes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sockets">sockets</a>:</td><td> </td><td class="printindex-index-section"><a href="#IPC-and-TeX">IPC and TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-space_002dterminated-filenames">space-terminated filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Spiderweb">Spiderweb</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Stallman_002c-Richard">Stallman, Richard</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-starting-page">starting page</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-starting-page-1">starting page</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Steele-Jr_002e_002c-Guy-L_002e">Steele Jr., Guy L.</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-stopping-at-the-first-error">stopping at the first error</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-strategy_002c-overall">strategy, overall</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-string-numbers_002c-displaying">string numbers, displaying</a>:</td><td> </td><td class="printindex-index-section"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-string-pool_002c-writing">string pool, writing</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-string-representation">string representation</a>:</td><td> </td><td class="printindex-index-section"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-style-design_002c-for-BibTeX">style design, for BibTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-style-files">style files</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-substitutions-of-font-glyphs">substitutions of font glyphs</a>:</td><td> </td><td class="printindex-index-section"><a href="#MLTeX">MLTeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sun"><code>sun</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-sun_002dgfx_002ec"><code>sun-gfx.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Suntools">Suntools</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-SunView">SunView</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-swap-space_002c-as-array-limit">swap space, as array limit</a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-swapping-bytes">swapping bytes</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-syntax-of-TCX-files">syntax of TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system-C-library-function"><code>system <span class="r">C library function</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system-command">system command</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-system-fonts_002c-using">system fonts, using</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-T">T</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-T1-encoding-and-ISO-input">T1 encoding and ISO input</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tabs_002c-and-_005cinput-filenames">tabs, and <code>\input</code> filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Tachikawa_002c-Elizabeth">Tachikawa, Elizabeth</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tangle"><code>tangle</code></a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-targets_002c-additional-Make">targets, additional Make</a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TCX-character-translation-files"><code>TCX <span class="roman">character translation files</span></code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-technical-illustrations_002c-creating">technical illustrations, creating</a>:</td><td> </td><td valign="top"><a href="#MetaPost">MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tek"><code>tek</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Tektronix">Tektronix</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Tektronix-4014">Tektronix 4014</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TERM"><code>TERM</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-terminator-for-filenames">terminator for filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-terse-output">terse output</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-teTeX-distribution">teTeX distribution</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex"><code>tex</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-bibliographies-for">TeX, bibliographies for</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-creating-from-Metafont">TeX, creating from Metafont</a>:</td><td> </td><td valign="top"><a href="#mft-invocation">mft invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-creating-from-WEB">TeX, creating from WEB</a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-description-of">TeX, description of</a>:</td><td> </td><td valign="top"><a href="#TeX">TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-extensions-to">TeX, extensions to</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-format-packages-for">TeX, format packages for</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-initial">TeX, initial</a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-input-files-found">TeX, input files found</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-invocation">TeX, invocation</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-Metafont_002c-and-MetaPost">TeX, Metafont, and MetaPost</a>:</td><td> </td><td valign="top"><a href="#Three-programs">Three programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TeX_002c-Web2c-implementation-of">TeX, Web2c implementation of</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tex_002efmt"><code>tex.fmt</code></a>:</td><td> </td><td valign="top"><a href="#Initial-TeX">Initial TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXBIB_002c-search-path-for-bib-files"><code>TEXBIB<span class="roman">, search path for bib files</span></code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXEDIT"><code>TEXEDIT</code></a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texfonts_002emap"><code>texfonts.map</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Texinfo">Texinfo</a>:</td><td> </td><td valign="top"><a href="#Formats">Formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf"><code>texmf.cnf</code></a>:</td><td> </td><td valign="top"><a href="#Path-searching">Path searching</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf-1"><code>texmf.cnf</code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf-for-editors"><code>texmf.cnf <span class="roman">for editors</span></code></a>:</td><td> </td><td valign="top"><a href="#Editor-invocation">Editor invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_002ecnf-for-shell-escapes"><code>texmf.cnf <span class="roman">for shell escapes</span></code></a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmfmp_002ec"><code>texmfmp.c</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFOUTPUT_002c-used-for-reading"><code>TEXMFOUTPUT<span class="roman">, used for reading</span></code></a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TEXMFOUTPUT_002c-used-if-_002e-unwritable"><code>TEXMFOUTPUT<span class="roman">, used if ‘<samp>.</samp>’ unwritable</span></code></a>:</td><td> </td><td valign="top"><a href="#Output-file-location">Output file location</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texmf_005fcasefold_005fsearch"><code>texmf_casefold_search</code></a>:</td><td> </td><td valign="top"><a href="#Runtime-options">Runtime options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-texput"><code>texput</code></a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFM-files_002c-converting-property-lists-to">TFM files, converting property lists to</a>:</td><td> </td><td valign="top"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFM-files_002c-explained">TFM files, explained</a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFM-files_002c-output-by-Metafont">TFM files, output by Metafont</a>:</td><td> </td><td valign="top"><a href="#mf-invocation">mf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFM-files_002c-output-by-MetaPost">TFM files, output by MetaPost</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFM-width-of-characters">TFM width of characters</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TFM-width-of-characters-1">TFM width of characters</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-three-programs">three programs</a>:</td><td> </td><td valign="top"><a href="#Three-programs">Three programs</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-time-and-date_002c-in-memory-dumps">time and date, in memory dumps</a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-title-font">title font</a>:</td><td> </td><td valign="top"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tl_002dcheck_002dfmtshare"><code>tl-check-fmtshare</code></a>:</td><td> </td><td valign="top"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tokenization_002c-and-_005cinput-filenames">tokenization, and <code>\input</code> filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-toolkits_002c-X">toolkits, X</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-torture-tests">torture tests</a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-translation-file-for-TeX_002c-specifying">translation file for TeX, specifying</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-translation-from-WEB-to-C">translation from WEB to C</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trap-Make-target"><code>trap <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trap-test">trap test</a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trapman_002etex"><code>trapman.tex</code></a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Trickey_002c-Howard">Trickey, Howard</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trip-Make-target"><code>trip <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-trip-test">trip test</a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-tripman_002etex"><code>tripman.tex</code></a>:</td><td> </td><td valign="top"><a href="#Triptrap">Triptrap</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-triptrap-Make-target"><code>triptrap <span class="roman">Make target</span></code></a>:</td><td> </td><td valign="top"><a href="#Additional-targets">Additional targets</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Troff_002c-and-MetaPost">Troff, and MetaPost</a>:</td><td> </td><td valign="top"><a href="#mpost-invocation">mpost invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-troff_002c-supported-in-MetaPost"><code>troff<span class="roman">, supported in MetaPost</span></code></a>:</td><td> </td><td valign="top"><a href="#MetaPost">MetaPost</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Troff_002c-WEB-for">Troff, WEB for</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Trojan-horses-and-TeX-programs">Trojan horses and TeX programs</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TrueType-support">TrueType support</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-TUGboat-bibliography">TUGboat bibliography</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Type-1-conversion">Type 1 conversion</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-type-design_002c-personal">type design, personal</a>:</td><td> </td><td valign="top"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-type-programs_002c-DVI">type programs, DVI</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-type-programs_002c-GF">type programs, GF</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-type-programs_002c-PK">type programs, PK</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-type-programs_002c-pool">type programs, pool</a>:</td><td> </td><td valign="top"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-typeface-families">typeface families</a>:</td><td> </td><td valign="top"><a href="#Metafont">Metafont</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-typesetting">typesetting</a>:</td><td> </td><td valign="top"><a href="#TeX">TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-T1-encoding-and-ISO-input">T1 encoding and ISO input</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tabs_002c-and-_005cinput-filenames">tabs, and <code class="code">\input</code> filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Tachikawa_002c-Elizabeth">Tachikawa, Elizabeth</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tangle"><code>tangle</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-targets_002c-additional-Make">targets, additional Make</a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TCX-character-translation-files"><code>TCX <span class="r">character translation files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-technical-illustrations_002c-creating">technical illustrations, creating</a>:</td><td> </td><td class="printindex-index-section"><a href="#MetaPost">MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tek"><code>tek</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Tektronix">Tektronix</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Tektronix-4014">Tektronix 4014</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TERM"><code>TERM</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-terminator-for-filenames">terminator for filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-terse-output">terse output</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-teTeX-distribution">teTeX distribution</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex"><code>tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-bibliographies-for">TeX, bibliographies for</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-creating-from-Metafont">TeX, creating from Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#mft-invocation">mft invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-creating-from-WEB">TeX, creating from WEB</a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-description-of">TeX, description of</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX">TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-extensions-to">TeX, extensions to</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-format-packages-for">TeX, format packages for</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-initial">TeX, initial</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-input-files-found">TeX, input files found</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-invocation">TeX, invocation</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-Metafont_002c-and-MetaPost">TeX, Metafont, and MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#Three-programs">Three programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TeX_002c-Web2c-implementation-of">TeX, Web2c implementation of</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tex_002efmt"><code>tex.fmt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-TeX">Initial TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXBIB_002c-search-path-for-bib-files"><code>TEXBIB<span class="r">, search path for bib files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXEDIT"><code>TEXEDIT</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texfonts_002emap"><code>texfonts.map</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Texinfo">Texinfo</a>:</td><td> </td><td class="printindex-index-section"><a href="#Formats">Formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf"><code>texmf.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Path-searching">Path searching</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf-1"><code>texmf.cnf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf-for-editors"><code>texmf.cnf <span class="r">for editors</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Editor-invocation">Editor invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_002ecnf-for-shell-escapes"><code>texmf.cnf <span class="r">for shell escapes</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmfmp_002ec"><code>texmfmp.c</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFOUTPUT_002c-used-for-reading"><code>TEXMFOUTPUT<span class="r">, used for reading</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TEXMFOUTPUT_002c-used-if-_002e-unwritable"><code>TEXMFOUTPUT<span class="r">, used if ‘<samp class="samp">.</samp>’ unwritable</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Output-file-location">Output file location</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texmf_005fcasefold_005fsearch"><code>texmf_casefold_search</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Runtime-options">Runtime options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-texput"><code>texput</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFM-files_002c-converting-property-lists-to">TFM files, converting property lists to</a>:</td><td> </td><td class="printindex-index-section"><a href="#pltotf-invocation">pltotf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFM-files_002c-explained">TFM files, explained</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFM-files_002c-output-by-Metafont">TFM files, output by Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#mf-invocation">mf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFM-files_002c-output-by-MetaPost">TFM files, output by MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFM-width-of-characters">TFM width of characters</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TFM-width-of-characters-1">TFM width of characters</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tftopl"><code>tftopl</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-three-programs">three programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Three-programs">Three programs</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-time-and-date_002c-in-memory-dumps">time and date, in memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-title-font">title font</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftodvi-invocation">gftodvi invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tl_002dcheck_002dfmtshare"><code>tl-check-fmtshare</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Hardware-and-memory-dumps">Hardware and memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tokenization_002c-and-_005cinput-filenames">tokenization, and <code class="code">\input</code> filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filename-caveats">\input filename caveats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-toolkits_002c-X">toolkits, X</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-torture-tests">torture tests</a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-translation-file-for-TeX_002c-specifying">translation file for TeX, specifying</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-translation-from-WEB-to-C">translation from WEB to C</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trap-Make-target"><code>trap <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trap-test">trap test</a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trapman_002etex"><code>trapman.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Trickey_002c-Howard">Trickey, Howard</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trip-Make-target"><code>trip <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-trip-test">trip test</a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-tripman_002etex"><code>tripman.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Triptrap">Triptrap</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-triptrap-Make-target"><code>triptrap <span class="r">Make target</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Additional-targets">Additional targets</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Troff_002c-and-MetaPost">Troff, and MetaPost</a>:</td><td> </td><td class="printindex-index-section"><a href="#mpost-invocation">mpost invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-troff_002c-supported-in-MetaPost"><code>troff<span class="r">, supported in MetaPost</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#MetaPost">MetaPost</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Troff_002c-WEB-for">Troff, WEB for</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Trojan-horses-and-TeX-programs">Trojan horses and TeX programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TrueType-support">TrueType support</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-TUGboat-bibliography">TUGboat bibliography</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Type-1-conversion">Type 1 conversion</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-type-design_002c-personal">type design, personal</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-Metafont">Initial Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-type-programs_002c-DVI">type programs, DVI</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-type-programs_002c-GF">type programs, GF</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-type-programs_002c-PK">type programs, PK</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-type-programs_002c-pool">type programs, pool</a>:</td><td> </td><td class="printindex-index-section"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-typeface-families">typeface families</a>:</td><td> </td><td class="printindex-index-section"><a href="#Metafont">Metafont</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-typesetting">typesetting</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX">TeX</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-U">U</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-Unicode">Unicode</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Unicode-input">Unicode input</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Unicode-input_002c-native">Unicode input, native</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-uniterm"><code>uniterm</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-unsrt_002ebst"><code>unsrt.bst</code></a>:</td><td> </td><td valign="top"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-upTeX">upTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-UTF_002d8-input">UTF-8 input</a>:</td><td> </td><td valign="top"><a href="#tex-invocation">tex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-UTF_002d8-input_002c-native">UTF-8 input, native</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Unicode">Unicode</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Unicode-input">Unicode input</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Unicode-input_002c-native">Unicode input, native</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-uniterm"><code>uniterm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-unsrt_002ebst"><code>unsrt.bst</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Basic-BibTeX-style-files">Basic BibTeX style files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-upTeX">upTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-UTF_002d8-input">UTF-8 input</a>:</td><td> </td><td class="printindex-index-section"><a href="#tex-invocation">tex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-UTF_002d8-input_002c-native">UTF-8 input, native</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-V">V</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-validation_002c-of-DVI-files">validation, of DVI files</a>:</td><td> </td><td valign="top"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-validation_002c-of-GF-files">validation, of GF files</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-validation_002c-of-PK-files">validation, of PK files</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-validation_002c-of-TFM-files">validation, of TFM files</a>:</td><td> </td><td valign="top"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-validation_002c-of-VF-files">validation, of VF files</a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-verbose-BibTeX-output_002c-suppressing">verbose BibTeX output, suppressing</a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-verbosity_002c-enabling">verbosity, enabling</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-version-number_002c-finding">version number, finding</a>:</td><td> </td><td valign="top"><a href="#Common-options">Common options</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vertical-escapement">vertical escapement</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-VF-files_002c-converting-property-lists-to">VF files, converting property lists to</a>:</td><td> </td><td valign="top"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vftovp"><code>vftovp</code></a>:</td><td> </td><td valign="top"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virgin-programs">virgin programs</a>:</td><td> </td><td valign="top"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual-font-creation">virtual font creation</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual-fonts_002c-expanding">virtual fonts, expanding</a>:</td><td> </td><td valign="top"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtual_002dfonts_002eknuth"><code>virtual-fonts.knuth</code></a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-virtualfonts_002etxt"><code>virtualfonts.txt</code></a>:</td><td> </td><td valign="top"><a href="#Font-file-formats">Font file formats</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-vptovf"><code>vptovf</code></a>:</td><td> </td><td valign="top"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-validation_002c-of-DVI-files">validation, of DVI files</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvitype-invocation">dvitype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-validation_002c-of-GF-files">validation, of GF files</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-validation_002c-of-PK-files">validation, of PK files</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-validation_002c-of-TFM-files">validation, of TFM files</a>:</td><td> </td><td class="printindex-index-section"><a href="#tftopl-invocation">tftopl invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-validation_002c-of-VF-files">validation, of VF files</a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-verbose-BibTeX-output_002c-suppressing">verbose BibTeX output, suppressing</a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-verbosity_002c-enabling">verbosity, enabling</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-version-number_002c-finding">version number, finding</a>:</td><td> </td><td class="printindex-index-section"><a href="#Common-options">Common options</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vertical-escapement">vertical escapement</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-VF-files_002c-converting-property-lists-to">VF files, converting property lists to</a>:</td><td> </td><td class="printindex-index-section"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vftovp"><code>vftovp</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#vftovp-invocation">vftovp invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virgin-programs">virgin programs</a>:</td><td> </td><td class="printindex-index-section"><a href="#Initial-and-virgin">Initial and virgin</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-font-creation">virtual font creation</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual-fonts_002c-expanding">virtual fonts, expanding</a>:</td><td> </td><td class="printindex-index-section"><a href="#dvicopy-invocation">dvicopy invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtual_002dfonts_002eknuth"><code>virtual-fonts.knuth</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-virtualfonts_002etxt"><code>virtualfonts.txt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-file-formats">Font file formats</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-vptovf"><code>vptovf</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#vptovf-invocation">vptovf invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-W">W</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-weave"><code>weave</code></a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEB">WEB</a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-web-environments_002c-and-security">web environments, and security</a>:</td><td> </td><td valign="top"><a href="#Shell-escapes">Shell escapes</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEB-pool-files_002c-displaying">WEB pool files, displaying</a>:</td><td> </td><td valign="top"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEB-programs_002c-compiling">WEB programs, compiling</a>:</td><td> </td><td valign="top"><a href="#tangle-invocation">tangle invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEB-programs_002c-typesetting">WEB programs, typesetting</a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-WEB2C_002c-search-path-for-TCX-files"><code>WEB2C<span class="roman">, search path for TCX files</span></code></a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Weber_002c-Olaf">Weber, Olaf</a>:</td><td> </td><td valign="top"><a href="#Introduction">Introduction</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-webmac_002etex"><code>webmac.tex</code></a>:</td><td> </td><td valign="top"><a href="#weave-invocation">weave invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-webman_002etex"><code>webman.tex</code></a>:</td><td> </td><td valign="top"><a href="#WEB">WEB</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-whitespace_002c-in-TCX-files">whitespace, in TCX files</a>:</td><td> </td><td valign="top"><a href="#TCX-files">TCX files</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-whitespace_002dterminated-filenames">whitespace-terminated filenames</a>:</td><td> </td><td valign="top"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-width_002c-device_002dindependent">width, device-independent</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-width_002c-device_002dindependent-1">width, device-independent</a>:</td><td> </td><td valign="top"><a href="#gftype-invocation">gftype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-width_002c-in-pixels">width, in pixels</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-word-processor_002c-not">word processor, not</a>:</td><td> </td><td valign="top"><a href="#TeX">TeX</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-writing-memory-dumps">writing memory dumps</a>:</td><td> </td><td valign="top"><a href="#Creating-memory-dumps">Creating memory dumps</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-weave"><code>weave</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB">WEB</a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-web-environments_002c-and-security">web environments, and security</a>:</td><td> </td><td class="printindex-index-section"><a href="#Shell-escapes">Shell escapes</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB-pool-files_002c-displaying">WEB pool files, displaying</a>:</td><td> </td><td class="printindex-index-section"><a href="#pooltype-invocation">pooltype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB-programs_002c-compiling">WEB programs, compiling</a>:</td><td> </td><td class="printindex-index-section"><a href="#tangle-invocation">tangle invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB-programs_002c-typesetting">WEB programs, typesetting</a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-WEB2C_002c-search-path-for-TCX-files"><code>WEB2C<span class="r">, search path for TCX files</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Weber_002c-Olaf">Weber, Olaf</a>:</td><td> </td><td class="printindex-index-section"><a href="#Introduction">Introduction</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-webmac_002etex"><code>webmac.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#weave-invocation">weave invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-webman_002etex"><code>webman.tex</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#WEB">WEB</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-whitespace_002c-in-TCX-files">whitespace, in TCX files</a>:</td><td> </td><td class="printindex-index-section"><a href="#TCX-files">TCX files</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-whitespace_002dterminated-filenames">whitespace-terminated filenames</a>:</td><td> </td><td class="printindex-index-section"><a href="#g_t_005cinput-filenames">\input filenames</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-width_002c-device_002dindependent">width, device-independent</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-width_002c-device_002dindependent-1">width, device-independent</a>:</td><td> </td><td class="printindex-index-section"><a href="#gftype-invocation">gftype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-width_002c-in-pixels">width, in pixels</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-word-processor_002c-not">word processor, not</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX">TeX</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-writing-memory-dumps">writing memory dumps</a>:</td><td> </td><td class="printindex-index-section"><a href="#Creating-memory-dumps">Creating memory dumps</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-X">X</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-X-bitmap-fonts">X bitmap fonts</a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-X-class-name-for-Metafont">X class name for Metafont</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-x-offset">x offset</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-X-resources">X resources</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-X-toolkits-and-Metafont">X toolkits and Metafont</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xampl_002ebib"><code>xampl.bib</code></a>:</td><td> </td><td valign="top"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xbfe_002c-bitmap-font-editor"><code>xbfe<span class="roman">, bitmap font editor</span></code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-XeTeX">XeTeX</a>:</td><td> </td><td valign="top"><a href="#TeX-extensions">TeX extensions</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xfed_002c-bitmap-font-editor"><code>xfed<span class="roman">, bitmap font editor</span></code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xfedor_002c-bitmap-font-editor"><code>xfedor<span class="roman">, bitmap font editor</span></code></a>:</td><td> </td><td valign="top"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Xlib"><code>Xlib</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Xlib-support">Xlib support</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Xt"><code>Xt</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-Xt-support">Xt support</a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> -<tr><td></td><td valign="top"><a href="#index-xterm"><code>xterm</code></a>:</td><td> </td><td valign="top"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X-bitmap-fonts">X bitmap fonts</a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X-class-name-for-Metafont">X class name for Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-x-offset">x offset</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X-resources">X resources</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-X-toolkits-and-Metafont">X toolkits and Metafont</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xampl_002ebib"><code>xampl.bib</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#bibtex-invocation">bibtex invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xbfe_002c-bitmap-font-editor"><code>xbfe<span class="r">, bitmap font editor</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-XeTeX">XeTeX</a>:</td><td> </td><td class="printindex-index-section"><a href="#TeX-extensions">TeX extensions</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xfed_002c-bitmap-font-editor"><code>xfed<span class="r">, bitmap font editor</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xfedor_002c-bitmap-font-editor"><code>xfedor<span class="r">, bitmap font editor</span></code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Font-utilities-available-elsewhere">Font utilities available elsewhere</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Xlib"><code>Xlib</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Xlib-support">Xlib support</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Xt"><code>Xt</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-Xt-support">Xt support</a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-xterm"><code>xterm</code></a>:</td><td> </td><td class="printindex-index-section"><a href="#Online-Metafont-graphics">Online Metafont graphics</a></td></tr> <tr><td colspan="4"> <hr></td></tr> <tr><th id="Index_cp_letter-Y">Y</th><td></td><td></td></tr> -<tr><td></td><td valign="top"><a href="#index-y-offset">y offset</a>:</td><td> </td><td valign="top"><a href="#pktype-invocation">pktype invocation</a></td></tr> +<tr><td></td><td class="printindex-index-entry"><a href="#index-y-offset">y offset</a>:</td><td> </td><td class="printindex-index-section"><a href="#pktype-invocation">pktype invocation</a></td></tr> <tr><td colspan="4"> <hr></td></tr> </table> -<table><tr><th valign="top">Jump to: </th><td><a class="summary-letter" href="#Index_cp_symbol-1"><b>"</b></a> +<table class="cp-letters-footer-printindex"><tr><th>Jump to: </th><td><a class="summary-letter-printindex" href="#Index_cp_symbol-1"><b>"</b></a> -<a class="summary-letter" href="#Index_cp_symbol-2"><b>#</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-2"><b>#</b></a> -<a class="summary-letter" href="#Index_cp_symbol-3"><b>$</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-3"><b>$</b></a> -<a class="summary-letter" href="#Index_cp_symbol-4"><b>%</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-4"><b>%</b></a> -<a class="summary-letter" href="#Index_cp_symbol-5"><b>-</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-5"><b>-</b></a> -<a class="summary-letter" href="#Index_cp_symbol-6"><b>.</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-6"><b>.</b></a> -<a class="summary-letter" href="#Index_cp_symbol-7"><b>2</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-7"><b>2</b></a> -<a class="summary-letter" href="#Index_cp_symbol-8"><b>3</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-8"><b>3</b></a> -<a class="summary-letter" href="#Index_cp_symbol-9"><b>6</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-9"><b>6</b></a> -<a class="summary-letter" href="#Index_cp_symbol-10"><b>8</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-10"><b>8</b></a> -<a class="summary-letter" href="#Index_cp_symbol-11"><b>\</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-11"><b>\</b></a> -<a class="summary-letter" href="#Index_cp_symbol-12"><b>^</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-12"><b>^</b></a> -<a class="summary-letter" href="#Index_cp_symbol-13"><b>~</b></a> +<a class="summary-letter-printindex" href="#Index_cp_symbol-13"><b>~</b></a> <br> -<a class="summary-letter" href="#Index_cp_letter-A"><b>A</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-A"><b>A</b></a> -<a class="summary-letter" href="#Index_cp_letter-B"><b>B</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-B"><b>B</b></a> -<a class="summary-letter" href="#Index_cp_letter-C"><b>C</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-C"><b>C</b></a> -<a class="summary-letter" href="#Index_cp_letter-D"><b>D</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-D"><b>D</b></a> -<a class="summary-letter" href="#Index_cp_letter-E"><b>E</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-E"><b>E</b></a> -<a class="summary-letter" href="#Index_cp_letter-F"><b>F</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-F"><b>F</b></a> -<a class="summary-letter" href="#Index_cp_letter-G"><b>G</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-G"><b>G</b></a> -<a class="summary-letter" href="#Index_cp_letter-H"><b>H</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-H"><b>H</b></a> -<a class="summary-letter" href="#Index_cp_letter-I"><b>I</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-I"><b>I</b></a> -<a class="summary-letter" href="#Index_cp_letter-J"><b>J</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-J"><b>J</b></a> -<a class="summary-letter" href="#Index_cp_letter-K"><b>K</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-K"><b>K</b></a> -<a class="summary-letter" href="#Index_cp_letter-L"><b>L</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-L"><b>L</b></a> -<a class="summary-letter" href="#Index_cp_letter-M"><b>M</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-M"><b>M</b></a> -<a class="summary-letter" href="#Index_cp_letter-N"><b>N</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-N"><b>N</b></a> -<a class="summary-letter" href="#Index_cp_letter-O"><b>O</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-O"><b>O</b></a> -<a class="summary-letter" href="#Index_cp_letter-P"><b>P</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-P"><b>P</b></a> -<a class="summary-letter" href="#Index_cp_letter-Q"><b>Q</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Q"><b>Q</b></a> -<a class="summary-letter" href="#Index_cp_letter-R"><b>R</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-R"><b>R</b></a> -<a class="summary-letter" href="#Index_cp_letter-S"><b>S</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-S"><b>S</b></a> -<a class="summary-letter" href="#Index_cp_letter-T"><b>T</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-T"><b>T</b></a> -<a class="summary-letter" href="#Index_cp_letter-U"><b>U</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-U"><b>U</b></a> -<a class="summary-letter" href="#Index_cp_letter-V"><b>V</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-V"><b>V</b></a> -<a class="summary-letter" href="#Index_cp_letter-W"><b>W</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-W"><b>W</b></a> -<a class="summary-letter" href="#Index_cp_letter-X"><b>X</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-X"><b>X</b></a> -<a class="summary-letter" href="#Index_cp_letter-Y"><b>Y</b></a> +<a class="summary-letter-printindex" href="#Index_cp_letter-Y"><b>Y</b></a> </td></tr></table> +</div> </div> </div> diff --git a/Master/texmf-dist/doc/web2c/web2c.pdf b/Master/texmf-dist/doc/web2c/web2c.pdf Binary files differindex 96953a8c68a..2a17ad6d842 100644 --- a/Master/texmf-dist/doc/web2c/web2c.pdf +++ b/Master/texmf-dist/doc/web2c/web2c.pdf diff --git a/Master/texmf-dist/doc/xetex/base/NEWS b/Master/texmf-dist/doc/xetex/base/NEWS index aec8a2fcb45..154e222c316 100644 --- a/Master/texmf-dist/doc/xetex/base/NEWS +++ b/Master/texmf-dist/doc/xetex/base/NEWS @@ -1,8 +1,121 @@ ============================================================== -XeTeX 0.99992 was released 2015 +XeTeX 0.999995 (February 2023) + +* new keyword `shipout' for \special and \pdfliteral, delaying + expansion until the node is shipped out, like non-\immediate \write. + +============================================================== +XeTeX 0.999994 (February 2022) + +* New wrapper scripts xetex-unsafe and xelatex-unsafe for XeTeX + documents requiring PSTricks transparency. For safety, use LuaTeX instead. + +============================================================== +XeTeX 0.999993 (February 2021) + +* Fix several bugs in Unicode math kerning implementation. + +============================================================== +XeTeX 0.999992 (January 2020) + +* Merged various minor fixes from TeX Live svn sources + - includes new \filedump primitive +* Merged new feature: + - new \input{...} group-delimited syntax (cross-engine). + +============================================================== +XeTeX 0.999991 (January 2019) + +* Merged various minor fixes from TeX Live svn sources +* Merged new features implemented by Joseph Wright, see: + - https://sourceforge.net/p/xetex/code/merge-requests/1/ + Reorder lines (internal rearrangement, no functional change) + - https://sourceforge.net/p/xetex/code/merge-requests/2/ + Round out pdfTeX-derived utilities: adds pdfTeX-based primitives + for RNG, timer, file data, \filedump + - https://sourceforge.net/p/xetex/code/merge-requests/3/ + Add \expanded to XeTeX + - https://sourceforge.net/p/xetex/code/merge-requests/4/ + Extend \Ucharcat to produce \active chars +* Fix \lastnodetype initialization bug (patch from Hironobu Yamashita) +* Fix logic typo in discretionary-skipping (reported by Peter Williams) + https://sourceforge.net/p/xetex/bugs/149/ + +============================================================== +XeTeX 0.99999 (February 2018, for TeX Live 2018) + +* Fix bug that could cause text after a \discretionary{...}{...}{...} + line-break to be dropped. +* Avoid risk of generating broken UTF-8 in error context messages. +* Interpret optical size info in OpenType 'size' feature as "big + points" units, rather than TeX points. +* Set a non-zero exit code if the pipe to the output driver returns + an error. +* Correction for longstanding input_ln bug (stripping trailing tabs). + (Karl Berry) +* Guard against out-of-range result from UTF-8 decoding, and return + U+FFFD Replacement Character instead. (Akira Kakuto) +* Fix bugs involving \strcmp and \mdfivesum primitives. (Hironobu + Yamashita) +* Fixes issue where \primitive\vrule\q incorrectly swallows the \q + instead of giving an error. (Hironori Kitagawa) +* Properly close input pipes used in \input or \openin. (Hironobu + Yamashita) +* Make \uchyph work with native fonts. (Hironobu Yamashita) +* Fixed bug in \ifprimitive. (Hironori Kitagawa) +* Support /Rotate in PDF image inclusion. (Akira Kakuto) +* If DPI info is missing in JPEG files, assume 72.0 to avoid + division by zero. (Akira Kakuto) + ============================================================== +XeTeX 0.99998 (April 22, 2016) -XeTeX: +* Fixed long-standing bug that made \ifcat\span...\fi (and similar + constructions with \cr, \crcr) behave incorrectly. +* Also fixed initialization of \delcode values for supplementary- + plane characters. + +============================================================== +XeTeX 0.99997 (March 2016, for TeX Live 2017) + +* Unicode/OpenType math implementation now based on HarfBuzz's MATH + table support, for easier ongoing maintenance. +* Minor bug fixes (revision history available at xetex.sf.net). + +============================================================== +XeTeX 0.99996 (March 2016, for TeX Live 2016) + +* Added \XeTeXhyphenatablelength primitive that sets the maximum + length of word that XeTeX will attempt to hyphenate (default: 63). + +============================================================== +XeTeX 0.99995 (targeting TeX Live 2016) + +* Added \XeTeXgenerateactualtext primitive to record original Unicode + text in /ActualText annotations. +* Bumped the DVI id byte to 7, as this uses a new opcode that requires + support in the driver. + +============================================================== +XeTeX 0.99994 (unreleased experimental version) + +* Increased character class limit to 4096. +* Added \XeTeXinterwordspaceshaping primitive, for contextual + measurement (when set to 1) or full glyph shaping (when set to 2) of + interword space with smart-enough fonts. + +============================================================== +XeTeX 0.99993 (July 2015) + +* Added \mdfivesum primitive +* Removed -q from the default xdvipdfmx output-driver command line + (reverted 20160209, r39630 in TeX Live). + +============================================================== +XeTeX 0.99992 was released 20150507 (in TeX Live 2015) + +* New \Uchar and \Ucharcat primitives +* Fix various issues with UTF-16 and characters >= U+10000. * Various image handling fixes by Akira Kakuto. * Fix off-by-one error in display of \every... token registers, thanks to Bruno Le Floch. @@ -14,9 +127,7 @@ XeTeX: ============================================================== XeTeX 0.99991 was released 20140614 -============================================================== -XeTeX: * Drop build date from “--version” output. * Drop Mac-specific image loading code, as it makes little sense after we dropped xdv2pdf. Supported image formats are the same on all platforms now. @@ -36,9 +147,7 @@ XeTeX: ============================================================== XeTeX 0.9999.3 was released 20130528 -============================================================== -XeTeX: * Fix bug with extensible accents resulting in invalid glyph id some times. * Fix alternate index in multiple alternates features to be start from zero like pre-0.9999 XeTeX. @@ -46,9 +155,7 @@ XeTeX: ============================================================== XeTeX 0.9999.2 was released 20130406 -============================================================== -XeTeX: * Fix regression in \XeTeXOT* primitives with fonts where the number of languages in a given script is not the same in both GSUB and GPOS tables. @@ -70,9 +177,7 @@ xdvipdfmx: ============================================================== XeTeX 0.9999.1 was released 20130322 -============================================================== -XeTeX: * Fix loading font files on PPC Mac OS 10.5 (and potentially other versions of Mac). @@ -96,7 +201,6 @@ xdvipdfmx: ============================================================== XeTeX 0.9999.0 was released 20130311 -============================================================== * Port OpenType layout from ICU LayoutEngine to HarfBuzz. HarfBuzz is actively maintained and generally have much wider support for @@ -169,7 +273,6 @@ XeTeX 0.9999.0 was released 20130311 ============================================================== XeTeX 0.9998 was released 20120708 -============================================================== * Fix mismatch between fonts loaded by XeTeX and xdvipdfmx when multiple versions of the font exist. diff --git a/Master/texmf-dist/doc/xetex/base/README b/Master/texmf-dist/doc/xetex/base/README index 239a33eafb4..ece079a5ca3 100644 --- a/Master/texmf-dist/doc/xetex/base/README +++ b/Master/texmf-dist/doc/xetex/base/README @@ -6,10 +6,12 @@ TrueType and OpenType fonts, mainly via external third-party libraries. (Run xetex --version to see a list of the principal ones.) XeTeX's user-level output is a PDF file; it does not support standard -DVI output. +DVI output, but an extended DVI format which is converted to PDF by +xdvipdfmx. -The XeTeX home page: http://tug.org/xetex -The CTAN Catalogue entry: http://ctan.org/pkg/xetex +XeTeX home page: https://tug.org/xetex +CTAN Catalogue entry: https://ctan.org/pkg/xetex +XeTeX reference manual (unofficial): https://ctan.org/pkg/xetexref (This tiny README file is public domain, originally written by Karl Berry, 2015.) |