From 5027858830867ff20c7eca53eed6f8b798c5ad9c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Fri, 4 Mar 2022 16:00:29 +0000 Subject: 2022 doc (+sync) update git-svn-id: svn://tug.org/texlive/trunk@62387 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/web2c/web2c.html | 1835 ++++++++++++++++---------------- 1 file changed, 916 insertions(+), 919 deletions(-) (limited to 'Master/texmf-dist/doc/web2c/web2c.html') diff --git a/Master/texmf-dist/doc/web2c/web2c.html b/Master/texmf-dist/doc/web2c/web2c.html index 19a32fb57dc..719e5679d72 100644 --- a/Master/texmf-dist/doc/web2c/web2c.html +++ b/Master/texmf-dist/doc/web2c/web2c.html @@ -1,10 +1,13 @@ + + + - - - Web2c: A TeX implementation @@ -29,17 +29,20 @@ except that this permission notice may be stated in a translation --> + + + @@ -66,7 +70,22 @@ ul.no-bullet {list-style: none} - + +
+
+

+Next: , Up: (dir)   [Contents][Index]

+
+

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. +

+ + +

Table of Contents

@@ -176,75 +195,32 @@ ul.no-bullet {list-style: none}
  • Index
  • - - -
    -

    -Next: , Up: (dir)   [Contents][Index]

    -

    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 2021, released in -February 2021. -

    - - - - - - - - - - - - - - - - - -
    -
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    1 Introduction

    -

    This manual corresponds to version 2021 of Web2c, released in -February 2021. +

    This manual corresponds to version 2022 of Web2c, released in +January 2022.

    -

    Web2c is the name of a TeX implementation, originally for -Unix, but now also running under various operating systems. By -TeX implementation, we mean all of the standard programs -developed by the Stanford TeX project directed 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, etc. +

    Web2c (also spelled Web2C) is the name of a TeX +implementation, originally for Unix, but now also running under +Windows and other operating systems. By TeX implementation, +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.

    @@ -259,7 +235,7 @@ Therefore, it will not work without change on an arbitrary WEB program.

    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 unixtex.ftp in Kpathsea, for the practical details of how to obtain Web2c. +modify and/or redistribute (free speech). See unixtex.ftp in Kpathsea, for the practical details of how to obtain Web2c.

    Different parts of the Web2c distribution have different licensing terms, however, reflecting the different circumstances of their @@ -268,7 +244,7 @@ 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 (https://gnu.org/licenses/. The GPL covers the +terms of the GPL (https://gnu.org/licenses/). The GPL covers the Web2c executables, including tex, because the Free Software Foundation sponsored the initial development of the Kpathsea library that Web2c uses. The basic source files from Stanford, however, have @@ -290,9 +266,17 @@ changed to Web-to-C somewhere in there. In 1990, Karl Berry became the maintainer. He made many changes to the original sources, and 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. Dozens of other people have contributed; their names are listed -in the ChangeLog files. +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 ChangeLog files. +

    + +

    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 (https://tug.org/texlive/), though the same Web2c +is at the heart of the release.

    @@ -304,7 +288,7 @@ access to me for many years. Richard Stallman at the Free Software Foundation employed me while I wrote the original path searching library (for the GNU font utilities). (rms also gave us Emacs, GDB, and GCC, without which I cannot imagine developing Web2c.) And, of course, -TeX would not exist in the first place without Donald E. Knuth. +TeX would not exist in the first place without Donald E. Knuth.

    Further reading: See References. @@ -312,9 +296,11 @@ TeX would not exist in the first place without Donald E. Knuth.


    -
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    2 Installation

    @@ -326,14 +312,14 @@ Next: , Previ

    Installing Web2c is mostly the same as installing any other Kpathsea-using program. Therefore, for the basic steps involved, -see Installation in Kpathsea. (A copy is in the file +see Installation in Kpathsea. (A copy is in the file kpathsea/INSTALL.)

    One peculiarity to Web2c is that the source distribution comes in two files: web.tar.gz and web2c.tar.gz. 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 unixtex.ftp in Kpathsea. +See unixtex.ftp in Kpathsea.

    Another peculiarity is the MetaPost program. Although it has been @@ -345,7 +331,7 @@ 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.

    For solutions to common installation problems and information on how to -report a bug, see the file kpathsea/BUGS (see Bugs in Kpathsea). See also the Web2c home page, +report a bug, see the file kpathsea/BUGS (see Bugs in Kpathsea). See also the Web2c home page, http://www.tug.org/web2c.

    Points worth repeating: @@ -357,9 +343,9 @@ report a bug, see the file kpathsea/BUGS (see Before starting the standard compilation and installation you must install the basic fonts, macros, and other library files. -See Installation in Kpathsea. +See Installation in Kpathsea. -

  • If you do not wish to use the standard file locations, see Changing +
  • If you do not wish to use the standard file locations, see Changing search paths in Kpathsea.
  • Some Web2c features are enabled or disabled at configure time, @@ -367,20 +353,17 @@ as described in the first section below.
  • - - - - - - +
    -
    +
    + @@ -399,60 +382,62 @@ package-specific options come last.

    For a description of the generic options (which mainly allow you to specify installation directories) and basic configure usage, -see Running configure scripts in Autoconf, a copy is in the file kpathsea/CONFIGURE. +see Running configure scripts in Autoconf, a copy is in the file kpathsea/CONFIGURE.

    -
    --disable-dump-share
    +
    --disable-dump-share

    Do not make fmt/base/mem files sharable across different endian architectures. See Hardware and memory dumps.

    -
    --without-maketexmf-default
    -
    --without-maketexpk-default
    -
    --without-maketextfm-default
    -
    --with-maketextex-default
    -

    Enable or disable the dynamic generation programs. See mktex +

    --without-maketexmf-default
    +
    --without-maketexpk-default
    +
    --without-maketextfm-default
    +
    --with-maketextex-default
    +

    Enable or disable the dynamic generation programs. See mktex configuration in Kpathsea. The defaults are the inverse of the options, i.e., everything is enabled except mktextex.

    -
    --enable-shared
    -

    Build Kpathsea as a shared library. See Shared library in Kpathsea. +

    --enable-shared
    +

    Build Kpathsea as a shared library. See Shared library in Kpathsea.

    -
    --with-editor=cmd
    +
    --with-editor=cmd

    Change the default editor invoked by the ‘e’ interactive command. See Editor invocation.

    -
    --with-epsfwin
    -
    --with-hp2627win
    -
    --with-mftalkwin
    -
    --with-nextwin
    -
    --with-regiswin
    -
    --with-suntoolswin
    -
    --with-tektronixwin
    -
    --with-unitermwin
    -
    --with-x
    -
    --with-x-toolkit=KIT
    -
    --with-x11win
    -
    --with-x11
    +
    --with-epsfwin
    +
    --with-hp2627win
    +
    --with-mftalkwin
    +
    --with-nextwin
    +
    --with-regiswin
    +
    --with-suntoolswin
    +
    --with-tektronixwin
    +
    --with-unitermwin
    +
    --with-x
    +
    --with-x-toolkit=KIT
    +
    --with-x11win
    +
    --with-x11

    Define Metafont graphics support; by default, no graphics support is enabled. See Online Metafont graphics.

    -
    --x-includes=dir
    -
    --x-libraries=dir
    +
    --x-includes=dir
    +
    --x-libraries=dir

    Define the locations of the X11 include files and libraries; by default, -configure does its best to guess). See Optional Features in Autoconf. A copy is in kpathsea/CONFIGURE. +configure does its best to guess). See Optional Features in Autoconf. A copy is in kpathsea/CONFIGURE.


    -
    +
    +
    +

    2.2 Compile-time options

    @@ -470,15 +455,14 @@ simplest thing to do is:
    make XCFLAGS="ccoptions"
     

    You can also set the CFLAGS environment variable before -running configure. See configure environment in Kpathsea. +running configure. See configure environment in Kpathsea.

    Anyway, here are the possibilities:

    -
    -DFIXPT
    -
    -DNO_MF_ASM
    -
    - +
    -DFIXPT
    +
    -DNO_MF_ASM
    +
    @@ -489,17 +473,18 @@ assembly-language routines are used on x86 hardware with GNU C (unless otherwise.

    -
    -DIPC_DEBUG
    -
    -

    Report on various interprocess communication activities. See IPC and TeX. +

    -DIPC_DEBUG
    +

    Report on various interprocess communication activities. See IPC and TeX.


    -
    +
    +
    +

    2.3 Additional targets

    @@ -513,17 +498,15 @@ one containing kpathsea/ and web2c/), or in the web2c/ directory.

    -
    c-sources
    -
    - +
    c-sources
    +

    Make only the C files, translated from the Web sources, presumably because you want to take them to a non-Unix machine.

    -
    formats
    -
    install-formats
    -
    - +
    formats
    +
    install-formats
    +

    Make or install all the memory dumps (see Memory dumps). By default, the standard plain formats plus latex.fmt are made. You can add other formats by redefining the fmts, bases, and @@ -531,34 +514,30 @@ can add other formats by redefining the fmts, bases, a possibilities.

    -
    fmts
    -
    install-fmts
    -
    - +
    fmts
    +
    install-fmts
    +

    Make or install the TeX .fmt files. See Initial TeX.

    -
    bases
    -
    install-bases
    -
    - +
    bases
    +
    install-bases
    +

    Make or install the Metafont .base files. See Initial Metafont.

    -
    mems
    -
    install-mems
    -
    - +
    mems
    +
    install-mems
    +

    Make or install the MetaPost .mem files. See Initial MetaPost.

    -
    triptrap
    -
    trip
    -
    trap
    -
    mptrap
    -
    - +
    triptrap
    +
    trip
    +
    trap
    +
    mptrap
    +

    To run the torture tests for TeX, Metafont, and MetaPost @@ -569,7 +548,9 @@ possibilities.


    -
    +
    +
    + @@ -603,7 +584,7 @@ all acceptable) are:

    Any other differences are trouble. The most common culprit in the past has been compiler bugs, especially when optimizing. -See TeX or Metafont failing in Kpathsea. +See TeX or Metafont failing in Kpathsea.

    The files trip.diffs, mftrap.diffs, and mptrap.diffs in the triptrap directory show the standard @@ -623,9 +604,12 @@ file tests/check.log if you like.


    -
    +
    +
    +
    +

    3 Commonalities

    @@ -634,20 +618,20 @@ Next: , Pre

    Many aspects of the TeX system are the same among more than one program, so we describe those pieces together, here.

    - - - - - - +

    Another kind of commonality is the extensions to TeX that are +available across all the engines; see Extended TeX engines. +

    +
    -
    +
    + @@ -696,7 +680,9 @@ option; and specifies the filename -myfile-.
    -
    +
    +
    + @@ -709,22 +695,19 @@ Next: , Pre every program, they are described here.

    -
    --help
    -
    - +
    --help
    +

    Print a usage message listing basic usage and all available options to standard output, then exit successfully.

    -
    --verbose
    -
    - +
    --verbose
    +

    Print progress reports to standard output.

    -
    --version
    -
    - +
    --version
    +

    Print the version number to standard output, then exit successfully.

    @@ -733,19 +716,17 @@ standard output, then exit successfully. common:

    -
    -cnf-line=str
    -
    -

    Parse str as if it were a line in the texmf.cnf -configuration file, overriding all other settings. See Path +

    -cnf-line=str
    +

    Parse str as if it were a line in the texmf.cnf +configuration file, overriding all other settings. See Path searching options in Kpathsea.

    -
    -file-line-error
    +
    -file-line-error
    -
    -no-file-line-error
    -
    - +
    -no-file-line-error
    +

    Change (or do not change) the way error messages are printed. The alternate style looks like error messages from many compilers and is @@ -753,11 +734,10 @@ easier to parse for some editors that invoke TeX. This option used to be called ‘-file-line-error-style’.

    -
    -fmt=dumpname
    -
    -base=dumpname
    -
    -mem=dumpname
    -
    - +
    -fmt=dumpname
    +
    -base=dumpname
    +
    -mem=dumpname
    +

    Use dumpname instead of the program name or a ‘%&’ line to @@ -766,81 +746,72 @@ determine the name of the memory dump file read (‘fmt’ ‘-progname’ option was given.

    -
    -halt-on-error
    -
    - +
    -halt-on-error
    +

    Stop processing and exit when an error occurs, as opposed to the normal process of trying to recover and continue.

    -
    -ini
    -
    - +
    -ini
    +

    Enable the “initial” form of the program (see Initial and virgin). This is implicitly set if the program name is initex resp. inimf.

    -
    -interaction=string
    -
    - +
    -interaction=string
    +

    Set the interaction mode from the command line. The string must be one of ‘batchmode’, ‘nonstopmode’, ‘scrollmode’, or ‘errorstopmode’.

    -
    -jobname=string
    -
    - +
    -jobname=string
    +

    Set the job name to string, instead of deriving it from the name of the input file.

    -
    -kpathsea-debug=number
    -
    - +
    -kpathsea-debug=number
    +

    Set path searching debugging flags according to the bits of number -(see Debugging in Kpathsea). You can also specify this in +(see Debugging in Kpathsea). You can also specify this in KPATHSEA_DEBUG environment variable (for all Web2c programs). (The command line value overrides.) The most useful value is ‘-1’, to get all available output.

    -
    -output-directory=dirname
    -
    - +
    -output-directory=dirname
    +

    Specify the directory dirname to which output files are written. Also look for input files in dirname first, before looking along the normal search path. See Output file location.

    -
    -parse-first-line
    +
    -parse-first-line
    -
    -no-parse-first-line
    -
    - +
    -no-parse-first-line
    +

    Check or disable checking whether the first line of the main input file starts with ‘%&’, and parse it if it does. This line can be used specify the format and/or a TCX file.

    -
    -progname=string
    -
    - +
    -progname=string
    +

    Set program (and memory dump) name to string. This may affect the -search paths and other values used (see Config files in Kpathsea). Using this option is equivalent to making a link named +search paths and other values used (see Config files in Kpathsea). Using this option is equivalent to making a link named string to the binary and then invoking the binary under that name. See Memory dumps.

    -
    -recorder
    -
    - +
    -recorder
    +

    Enable the filename recorder. This makes the program save a list of the opened files into a file with (by default) extension ‘.fls’. For Aleph, this option is always on, and the file has extension ‘.ofl’. @@ -854,9 +825,8 @@ pid), as in texput1234.fls. You can use -jobname to explicitly set the basename.

    -
    -translate-file=tcxfile
    -
    - +
    -translate-file=tcxfile
    +

    Use tcxfile to define which characters are printable and translations @@ -864,12 +834,11 @@ between the internal and external character sets. Moreover, tcxfile can be explicitly declared in the first line of the main input file ‘%& -translate-file=tcxfile’. This is the recommended method for portability reasons. -See TCX files. +See TCX files: Character translations.

    -
    -8bit
    -
    - +
    -8bit
    +

    This option specifies that by default all characters should be considered printable. If ‘-translate-file’ was given as well, @@ -881,7 +850,9 @@ no-op in engines natively supporting Unicode.


    -
    +
    +
    + @@ -895,9 +866,9 @@ Next: Supported file formats in Kpathsea). Reading -texmf.cnf (see Config files in Kpathsea), invoking -mktex… scripts (see mktex scripts in Kpathsea), and so on are all handled by Kpathsea. +(see Supported file formats in Kpathsea). Reading +texmf.cnf (see Config files in Kpathsea), invoking +mktex… scripts (see mktex scripts in Kpathsea), and so on are all handled by Kpathsea.

    @@ -911,7 +882,9 @@ names.


    -
    +
    +
    + @@ -953,9 +926,12 @@ simply checked as given.


    -
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    4 Three programs: Metafont, MetaPost, and TeX

    @@ -968,24 +944,20 @@ Next: , Previous: -• Runtime options  The texmf.cnf configuration file. - -• Initial and virgin  Making memory dumps vs. production runs. - -• Memory dumps  .fmt/.base files for fast startup. - -• Editor invocation  The ‘e’ response at errors. - -• \input filenames  Filename delimiters and Kpathsea expansion. - - +
    -
    +
    +

    4.1 Runtime options

    @@ -997,23 +969,19 @@ Next:

    Installation), you can control a number of parameters in the texmf.cnf runtime file read by Kpathsea -(see Config files in Kpathsea). +(see Config files in Kpathsea).

    The main purpose of texmf.cnf 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:

    -
    main_memory’ - -
    +
    main_memory

    Total words of memory available, for TeX, Metafont, and MetaPost. Must remake the format file after changing.

    -
    extra_mem_bot’ - -
    +
    extra_mem_bot
    @@ -1023,9 +991,7 @@ glue, breakpoints, et al. If you use PiCTeX, you may well want to set this.

    -
    expand_depth’ - -
    +
    expand_depth
    @@ -1051,10 +1017,8 @@ using the libsigsegv library (https://gnu not seem worth the effort.

    -
    texmf_casefold_search’ - -
    -

    See Casefolding search in Kpathsea. +

    texmf_casefold_search
    +

    See Casefolding search in Kpathsea.

    @@ -1090,9 +1054,11 @@ affecting your local values.


    -
    +
    +
    +

    4.2 Initial and virgin

    @@ -1124,9 +1090,11 @@ memory dump file.


    -
    +
    +
    +

    4.3 Memory dumps

    @@ -1140,18 +1108,16 @@ macros to be predefined; therefore, they support memory dump files, which can be read much more efficiently than ordinary source code.

    - - - - - +
    -
    +
    + @@ -1176,11 +1142,11 @@ example). creating memory dumps:

    -
    TeX
    +
    TeX

    (‘.fmt’) See Initial TeX.

    -
    Metafont
    +
    Metafont

    (‘.base’) See Initial Metafont.

    @@ -1193,7 +1159,9 @@ difficulties.


    -
    +
    +
    + @@ -1230,7 +1198,7 @@ command line, not in response to ‘**’) is %&<

    The first line of the main input file can also specify which character translation file is to be used: %&-translate-file=tcxfile -(see TCX files). +(see TCX files: Character translations).

    These two roles can be combined: %&dump -translate-file=tcxfile. If this is done, the name of the dump @@ -1247,7 +1215,9 @@ will be used.


    -
    +
    +
    + @@ -1266,24 +1236,34 @@ Previous:

    Byte order in GNU C Library). (This is a + + + +

    By default, memory dump files are sharable between architectures of +different types; specifically, on machines of different endianness +(see Byte order in GNU C Library) and with different word +sizes (4-byte long vs. 8-byte long). This is a feature of the Web2c implementation, and is not true of all TeX -implementations.) If you specify ‘--disable-dump-share’ to -configure, however, memory dumps will be endian-dependent. +implementations. +

    + +

    The script tl-check-fmtshare in the TeX Live source tree +(Master/tlpkg/bin) provides a relatively easy way to test that +a .fmt built on the local host can be loaded by a TeX engine +built on some remote host.

    -

    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 somewhat slowed (all the multibyte values have to -be swapped). Usually, this is not noticeable, and the advantage of -being able to share memory dumps across all platforms at a site far -outweighs the speed loss. But if you’re installing Web2c for use on -LittleEndian machines only, perhaps on a PC being used only by you, you -may wish to get maximum speed. + +

    If you specify ‘--disable-dump-share’ to configure, +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 +somewhat slowed (all the multibyte values have to be swapped). +Usually, this is not noticeable, and the advantage of being able to +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.

    @@ -1291,8 +1271,8 @@ may wish to get maximum speed. .fmt 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 all common formats (plain, -LaTeX, AMSTeX, …) do not do any glue setting at +only to represent glue ratios, and none of the common formats (plain, +LaTeX, AMSTeX, …) do any glue setting at .fmt-creation time. Metafont does not use floating point in any dumped value at all.

    @@ -1300,8 +1280,8 @@ any dumped value at all.

    Incidentally, different memory dump files will never compare equal -byte-for-byte, because the program always dumps the current date and -time. So don’t be alarmed by just a few bytes difference. +byte-for-byte, because the programs dump the current date and time. So +don’t be alarmed by a few bytes difference.

    @@ -1332,11 +1312,17 @@ Jr. (see References). }
    +

    You can add printf("long %d\n", sizeof(long)); to see the size +of the long data type. +


    -
    +
    +
    +
    +

    4.4 Editor invocation

    @@ -1366,9 +1352,11 @@ and ‘%s’ is replaced by the name of the current input f


    -
    +
    +
    +

    4.5 \input filenames

    @@ -1394,7 +1382,7 @@ with the primitive operation.)

    As (allowed) extensions to standard TeX, Web2c also supports specifying the filename in double quotes ("some name") and in -braces ({"some name"}), which is convenient for filenames +braces ({some name}), which is convenient for filenames containing spaces or other special characters, as described in the sections below.

    @@ -1412,20 +1400,18 @@ most one ‘.’. Do not use anything but simple filenames directory separators vary among systems; instead, add the necessary directories to the appropriate search path.

    - - - - - +
    -
    +
    +

    4.5.1 \input quoted filename: \input "some name"

    @@ -1456,9 +1442,11 @@ of its \input macro, thus:


    -
    +
    +
    +

    4.5.2 \input braced filename: \input{some name}

    @@ -1487,9 +1475,11 @@ within the filename.


    -
    +
    +
    +

    4.5.3 \input filename caveats

    @@ -1538,9 +1528,13 @@ change their catcodes or use \string.


    -
    +
    +
    +
    +
    +

    5 TeX: Typesetting

    @@ -1562,28 +1556,22 @@ description of the TeX language, see The TeXbook (see References). Many other books on TeX, introductory and otherwise, are available.

    - - - - - - - - - +
    -
    +
    +

    -Next: , Up: TeX   [Contents][Index]

    +Next: , Up: TeX: Typesetting   [Contents][Index]

    5.1 tex invocation

    @@ -1610,7 +1598,7 @@ tex [option]… &fmt args

    TeX searches the usual places for the main input file texname -(see Supported file formats in Kpathsea), extending +(see Supported file formats in Kpathsea), extending texname with .tex if necessary. To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -1632,7 +1620,7 @@ 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 Introduction in Dvips) or an X Window System display +(see Introduction in Dvips) or an X Window System display (see xdvi(1)).

    @@ -1641,7 +1629,7 @@ device, such as a PostScript printer

    TeX also reads TFM files for any fonts you load in your document with the \font primitive. By default, it runs an external program named mktextfm to create any nonexistent TFM files. You can -disable this at configure-time or runtime (see mktex +disable this at configure-time or runtime (see mktex configuration in Kpathsea). This is enabled mostly for the sake of the EC fonts, which can be generated at any size.

    @@ -1656,7 +1644,7 @@ a security hole vulnerable to Trojan horse attack: an unwitting user could run a TeX program that overwrites, say, ~/.rhosts. (MetaPost has a write primitive with similar implications). To alleviate this and similar problems the functions kpathsea_out_name_ok and -kpathsea_in_name_ok from the Kpathse library (see Calling +kpathsea_in_name_ok from the Kpathsea library (see Calling sequence in Kpathsea) 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 openout_any and openin_any: @@ -1671,29 +1659,28 @@ the log file has not yet been opened.

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -enc
    -
    -[no]-file-line-error
    -
    -fmt=fmtname
    -
    -halt-on-error
    -
    -ini
    -
    -interaction=string
    -
    -ipc
    -
    -ipc-start
    -
    -jobname=string
    -
    -kpathsea-debug=number
    -
    -[no]parse-first-line
    -
    -output-directory
    -
    -progname=string
    -
    -recorder
    -
    -translate-file=tcxfile
    -
    -8bit
    +
    -enc
    +
    -[no]-file-line-error
    +
    -fmt=fmtname
    +
    -halt-on-error
    +
    -ini
    +
    -interaction=string
    +
    -ipc
    +
    -ipc-start
    +
    -jobname=string
    +
    -kpathsea-debug=number
    +
    -[no]parse-first-line
    +
    -output-directory
    +
    -progname=string
    +
    -recorder
    +
    -translate-file=tcxfile
    +
    -8bit

    These options are common to TeX, Metafont, and MetaPost. See Common options.

    -
    -enc
    -
    - +
    -enc
    +

    Enable encTeX extensions, such as \mubyte. This can be used to support the Unicode UTF-8 input encoding, although using an engine @@ -1701,10 +1688,9 @@ with native Unicode support is more common nowadays. http://www.olsak.net/enctex.html.

    -
    -ipc
    -
    -ipc-start
    -
    - +
    -ipc
    +
    -ipc-start
    +

    With either option, TeX writes its DVI output to a socket as well as to the usual .dvi file. With ‘-ipc-start’, TeX also @@ -1714,27 +1700,24 @@ opens a server program at the other end to read the output. See - +

    -mktex=filetype
    +
    -no-mktex=filetype
    +

    Turn on or off the ‘mktex’ script associated with filetype. For TeX proper, filetype can only be ‘tex’ and ‘tfm’, but for pdfTeX and luaTeX, it can also be ‘pk’.

    -
    -mltex
    -
    - +
    -mltex
    +

    If we are INITEX (see Initial and virgin), enable MLTeX extensions such as \charsubdef. Implicitly set if the program name is mltex. See MLTeX.

    -
    -output-comment=string
    -
    - +
    -output-comment=string
    +

    Use string as the DVI file comment. Ordinarily, this comment @@ -1744,33 +1727,30 @@ difference. This is also taken from the environment variable and config file value ‘output_comment’.

    -
    -shell-escape
    +
    -shell-escape
    -
    -no-shell-escape
    +
    -no-shell-escape
    -
    -shell-restricted
    -
    -

    Enable, or disable, or enable with restrictions the +

    -shell-restricted
    +

    Enable, or disable, or enable with restrictions the \write18{shell-command} feature for external executing shell commands. See Shell escapes.

    -
    -enable-write18
    +
    -enable-write18
    -
    -disable-write18
    -
    -

    Synonyms for -shell-escape and -no-shell-escape, for +

    -disable-write18
    +

    Synonyms for -shell-escape and -no-shell-escape, for compatibility with MiKTeX. (MiKTeX also accepts both pairs of options.) See Shell escapes.

    -
    -src-specials
    -
    -src-specials=string
    -
    -

    This option makes TeX output specific source information using +

    -src-specials
    +
    -src-specials=string
    +

    This option makes TeX output specific source information using ‘\special’ commands in the DVI file. These ‘\special’ track the current file name and line number.

    @@ -1807,9 +1787,11 @@ hard-coded to always use the ‘\special’ primitive.
    -
    +
    +
    +

    -Next: , Previous: , Up: TeX   [Contents][Index]

    +Next: , Previous: , Up: TeX: Typesetting   [Contents][Index]

    5.2 Initial TeX

    @@ -1823,7 +1805,7 @@ does lengthy initializations avoided by the “virgin” (vir.fmt’ files (see Memory dumps). For a detailed comparison of virgin and initial forms, see Initial and virgin.

    -

    For a list of options and other information, see tex invocation. +

    For a list of options and other information, see tex invocation.

    @@ -1850,9 +1832,11 @@ more details on TeX formats.


    -
    +
    +
    +

    5.3 Formats

    @@ -1873,9 +1857,8 @@ larger TeX distribution, such as TeX Live (https://tug.org/texlive).

    -
    latex
    -
    -

    The most widely used format. The current release is named +

    latex
    +

    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 @@ -1885,18 +1868,16 @@ attempts to provide generic markup instructions, such as page: https://www.latex-project.org.

    -
    context
    -
    -

    ConTeXt is an independent macro package which has a basic document +

    context
    +

    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: http://www.pragma-ade.com.

    -
    amstex
    -
    - +
    amstex
    +

    The official typesetting system of the American Mathematical Society. Like LaTeX, it encourages generic markup commands. The AMS also @@ -1906,9 +1887,8 @@ together, they are used to produce nearly all AMS publications, e.g., https://www.ams.org/tex.

    -
    texinfo
    -
    - +
    texinfo
    +

    The documentation system developed and maintained by the Free Software Foundation for their software manuals. It can be automatically @@ -1917,9 +1897,8 @@ converted into plain text, a machine-readable on-line format called https://www.gnu.org/software/texinfo.

    -
    eplain
    -
    - +
    eplain
    +

    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 @@ -1927,9 +1906,8 @@ high-level formatting. The Eplain home page: https://tug.org/eplain.

    -
    slitex
    -
    - +
    slitex
    +

    An obsolete LaTeX 2.09 format for making slides. It is replaced by the ‘slides’ document class, although the ‘beamer’ package @@ -1941,9 +1919,11 @@ page on CTAN: https://ctan.org/pkg/beamer<


    -
    +
    +
    +

    5.4 Languages and hyphenation

    @@ -1953,20 +1933,18 @@ Next: , Previ

    TeX supports most natural languages. See also TeX extensions.

    - - - - - +
    -
    +
    +

    5.4.1 MLTeX: Multi-lingual TeX

    @@ -2006,18 +1984,17 @@ file.

    The sections below describe the two new primitives that MLTeX defines. Aside from these, MLTeX is completely compatible with standard TeX.

    - - - - +
    -
    +
    +

    5.4.1.1 \charsubdef: Character substitutions

    @@ -2079,9 +2056,11 @@ accessed often, so changing it is not desirable, nor generally useful.)


    -
    +
    +
    +

    5.4.1.2 \tracingcharsubdef: Substitution diagnostics

    @@ -2099,9 +2078,12 @@ more, the character substitutions actually performed at


    -
    +
    +
    +
    +

    5.4.2 TCX files: Character translations

    @@ -2135,7 +2117,7 @@ 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.

    -

    This is entirely independent of the MLTeX extension (see MLTeX): +

    This is entirely independent of the MLTeX extension (see MLTeX: Multi-lingual TeX): 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 \accent @@ -2261,9 +2243,11 @@ the dump is ignored and the data from the file used instead.


    -
    +
    +
    +

    5.4.3 Patgen: Creating hyphenation patterns

    @@ -2284,16 +2268,19 @@ written to the file output.

    In addition, Patgen prompts interactively for other values.

    -

    For more information, see Word hy-phen-a-tion by com-puter by +

    For more information, see Word hy-phen-a-tion by com-put-er by Frank Liang (see References), and also the patgen.web source file.

    The only options are ‘-help’ and ‘-version’ (see Common options).


    -
    +
    +
    +
    +

    5.5 Shell escapes

    @@ -2399,9 +2386,11 @@ considered untrustworthy, shell escapes should be completely disabled.


    -
    +
    +
    +

    5.6 IPC and TeX

    @@ -2422,39 +2411,51 @@ debugging.


    -
    +
    +
    +

    -Previous: , Up: TeX   [Contents][Index]

    +Previous: , Up: TeX: Typesetting   [Contents][Index]

    5.7 Extended TeX engines

    -

    The base TeX program has been extended in many ways. Here’s a -partial list. +

    The base TeX program has been extended in many ways. +

    + +

    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 LaTeX News article, +https://www.latex-project.org/news/latex2e-news/ltnews31.pdf. +For engines in TeX Live, the detailed documentation for these +primitives is mostly in the pdfTeX manual +(http://pdftex.org). +

    +

    In addition, each engine (naturally) has its own particular features, +described in its own manual. Here’s a partial list of the engines.

    -
    e-TeX
    -
    - +
    e-TeX
    +

    Adds many new primitives, including right-to-left typesetting and more -registers. Now frozen. More info: https://ctan.org/pkg/etex. +registers. Now frozen. More info: https://ctan.org/pkg/etex.

    -
    Aleph
    -
    - +
    Aleph
    +
    -

    This adds Unicode support, right-to-left typesetting, and more. Omega -was the original program. Aleph is an updated version with a variety -of bug fixes, and includes e-TeX. Aleph is not actively maintained. -More info: https://ctan.org/pkg/aleph, https://ctan.org/pkg/omega. +

    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: +https://ctan.org/pkg/aleph, https://ctan.org/pkg/omega.

    -
    pdfTeX
    -
    - +
    pdfTeX
    +
    @@ -2466,9 +2467,8 @@ these additions available with DVI output. Home page: http://pdftex.org.

    -
    LuaTeX
    -
    - +
    LuaTeX
    +
    @@ -2480,29 +2480,33 @@ input, the OpenType and TrueType font formats, and use of system fonts. Home page: http://luatex.org.

    -
    XeTeX
    -
    - +
    XeTeX
    +

    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: https://tug.org/xetex.

    -
    pTeX
    -
    upTeX
    -
    - +
    hiTeX
    +
    +

    Outputs its own HINT format, which is designed for reading +technical documents on mobile devices. More info: +https://ctan.org/pkg/hitex. +

    +
    +
    pTeX
    +
    upTeX
    +

    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: https://ctan.org/pkg/ptex, https://ctan.org/pkg/uptex.

    -
    epTeX
    -
    eupTeX
    -
    - +
    epTeX
    +
    eupTeX
    +

    Further extends pTeX and upTeX with the e-TeX extensions. More info: https://ctan.org/pkg/eptex, https://ctan.org/pkg/euptex. @@ -2512,9 +2516,12 @@ More info: https://ctan.org/pkg/eptex,


    -
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    6 Metafont: Creating typeface families

    @@ -2538,26 +2545,21 @@ your design intentions specific and parameterizable). For a complete description of the Metafont language, see The METAFONTbook (see References).

    - - - - - - - - +
    -
    +
    +

    6.1 mf invocation

    @@ -2572,7 +2574,7 @@ language, see The Metafontbook (see Reference

    Metafont processes its command line and determines its memory dump (base) file in a way exactly analogous to MetaPost and TeX -(see tex invocation, and see Memory dumps). Synopses: +(see tex invocation, and see Memory dumps). Synopses:

    mf [option]… [mfname[.mf]] [mf-commands]
    @@ -2591,13 +2593,13 @@ mf [option]… &base args
     
     
     

    Metafont searches the usual places for the main input file mfname -(see Supported file formats in Kpathsea), extending +(see Supported file formats in Kpathsea), extending mfname with .mf if necessary. To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. By default, Metafont runs an external program named mktexmf to create any nonexistent Metafont source files you input. You can disable this at configure-time or runtime -(see mktex configuration in Kpathsea). This is mostly +(see mktex configuration in Kpathsea). This is mostly for the sake of the EC fonts, which can be generated at any size.

    @@ -2610,7 +2612,7 @@ for the sake of the EC fonts, which can be generated at any size. resolution in pixels per inch, and basemfname is the basename of mfname, or ‘mfput’ 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 gftopk invocation), since PK files contain equivalent information, but are +converted immediately to PK files with GFtoPK (see GFtoPK: Generic to packed font conversion), since PK files contain equivalent information, but are more compact. (Metafont output in GF format rather than PK for only historical reasons.)

    @@ -2626,7 +2628,7 @@ kerns, and ligatures, and spacing parameters. TeX reads only this

    The mode in the example command above is a name referring to a -device definition (see Modes); for example, localfont or +device definition (see Modes: Device definitions for Metafont); for example, localfont or ljfour. These device definitions must generally be precompiled into the base file. If you leave this out, the default is proof mode, as stated in The Metafontbook, in which Metafont outputs at @@ -2651,27 +2653,26 @@ usual. For example:

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -[no]-file-line-error
    -
    -fmt=fmtname
    -
    -halt-on-error
    -
    -ini
    -
    -interaction=string
    -
    -jobname=string
    -
    -kpathsea-debug=number
    -
    -[no]parse-first-line
    -
    -output-directory
    -
    -progname=string
    -
    -recorder
    -
    -translate-file=tcxfile
    -
    -8bit
    +
    -[no]-file-line-error
    +
    -fmt=fmtname
    +
    -halt-on-error
    +
    -ini
    +
    -interaction=string
    +
    -jobname=string
    +
    -kpathsea-debug=number
    +
    -[no]parse-first-line
    +
    -output-directory
    +
    -progname=string
    +
    -recorder
    +
    -translate-file=tcxfile
    +
    -8bit

    These options are common to TeX, Metafont, and MetaPost. See Common options.

    -
    -mktex=filetype
    -
    -no-mktex=filetype
    -
    - +
    -mktex=filetype
    +
    -no-mktex=filetype
    +

    Turn on or off the ‘mktex’ script associated with filetype. The only value that makes sense for filetype is ‘mf’.

    @@ -2679,9 +2680,11 @@ The only value that makes sense for filetype is ‘mf -
    +
    +
    +

    6.2 Initial Metafont

    @@ -2695,7 +2698,7 @@ initializations avoided by the “virgin” (vir) form, so be capable of dumping ‘.base’ files (see Memory dumps). For a detailed comparison of virgin and initial forms, see Initial and virgin.

    -

    For a list of options and other information, see mf invocation. +

    For a list of options and other information, see mf invocation.

    @@ -2711,7 +2714,7 @@ Then install the resulting plain.base in ‘$(basedir)mf.base to it.

    For an explanation of the additional modes.mf file, -see Modes. This file has no counterpart in TeX or MetaPost. +see Modes: Device definitions for Metafont. This file has no counterpart in TeX or MetaPost.

    @@ -2730,9 +2733,11 @@ create their own base file, of course.


    -
    +
    +
    +

    6.3 Modes: Device definitions for Metafont

    @@ -2779,7 +2784,7 @@ characteristics dynamically, by invoking Metafont with an assignment to mode.

    The magnification and mfname arguments are explained in -mf invocation. In the file newmode.mf, you should have the +mf invocation. In the file newmode.mf, you should have the following (with no mode_def or enddef), if you are using modes.mf conventions:

    @@ -2797,9 +2802,11 @@ and o.)


    -
    +
    +
    +

    6.4 Online Metafont graphics

    @@ -2823,9 +2830,7 @@ be selected. and the corresponding configure option(s) in parentheses.

    -
    epsf - -
    +
    epsf

    (‘--enable-epsfwin’) Pseudo-window server for Encapsulated @@ -2836,24 +2841,18 @@ can be changed by setting the MFEPSF environment variable to the new filename. Contributed by Mathias Herberts.

    -
    hp2627 - -
    +
    hp2627

    (‘--enable-hp2627win’) HP2627a color graphics terminals.

    -
    mftalk - -
    +
    mftalk

    (‘--enable-mftalkwin’) Generic window server (see web2c/window/mftalk.c).

    -
    next - -
    +
    next

    (‘--enable-next’) NeXT window system. This requires a separate @@ -2861,17 +2860,13 @@ program, called DrawingServant, available separately. See the web2c/window/next.c.

    -
    regis - -
    +
    regis

    (‘--enable-regiswin’) Regis terminals.

    -
    sun - -
    +
    sun
    @@ -2881,18 +2876,14 @@ window system. (You can get the even older SunWindows gfx system by using sun-gfx.c.)

    -
    tek - -
    +
    tek

    (‘--enable-tektronixwin’) Tektronix terminals.

    -
    uniterm - -
    +
    uniterm

    (‘--enable-unitermwin’) Uniterm, Simon Poole’s emulator of a smart @@ -2903,9 +2894,7 @@ as well; it’s faster than the driver ‘--enable-tektronixwin

    -
    xterm - -
    +
    xterm

    --with-x’ The X window system (version 11).

    @@ -2959,9 +2948,11 @@ use MFtalk (see web2c/window/mftalk.c).


    -
    +
    +
    +

    6.5 GFtoDVI: Character proofs of fonts

    @@ -2971,14 +2962,14 @@ Next: , Pre

    GFtoDVI makes proof sheets from a GF bitmap file as output by, for -example, Metafont (see Metafont). This is an indispensable aid for +example, Metafont (see Metafont: Creating typeface families). This is an indispensable aid for font designers or Metafont hackers. Synopsis:

    gftodvi [option]… gfname[gf]
     
    -

    The font gfname is searched for in the usual places (see Glyph +

    The font gfname is searched for in the usual places (see Glyph lookup in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -3033,9 +3024,8 @@ should produce rtest.dvi, which you process as usual. ‘-verbose’, ‘-help’, and ‘-version’ (see Common options):

    -
    -overflow-label-offset=points
    -
    - +
    -overflow-label-offset=points
    +

    Typeset the so-called overflow labels, if any, points TeX points from the right edge of the character bounding box. The default @@ -3047,9 +3037,11 @@ position is too crowded with other information.


    -
    +
    +
    +

    6.6 MFT: Prettyprinting Metafont source

    @@ -3067,7 +3059,7 @@ typesetting, with the aid of TeX macros defined in the file
    mft [option]… mfname[.mf]
     
    -

    MFT searches the usual places for mfname (see Supported file +

    MFT searches the usual places for mfname (see Supported file formats in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. The output goes to the basename of mfname extended @@ -3126,22 +3118,20 @@ D.E. Knuth.)

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -change=chfile[.ch]
    -
    - +
    -change=chfile[.ch]
    +

    Apply the change file chfile as with Tangle and Weave -(see WEB). +(see WEB: Literate programming).

    -
    -style=mftfile[.mft]
    -
    - +
    -style=mftfile[.mft]
    +

    Read mftfile before anything else; a MFT style file typically contains only MFT directives as described above. The default style file is named plain.mft, which defines this properly for programs using plain Metafont. The MFT files is searched along the -MFTINPUTS path; see Supported file formats in Kpathsea. +MFTINPUTS path; see Supported file formats in Kpathsea.

    @@ -3164,9 +3154,12 @@ configure TeX to print these properly.


    -
    +
    +
    +
    +

    7 MetaPost: Generating PostScript

    @@ -3175,7 +3168,7 @@ Next: , Previous:

    MetaPost is a picture-drawing language similar to Metafont -(see Metafont), but instead of outputting bitmaps in a “font”, it +(see Metafont: Creating typeface families), 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 (https://ctan.org/pkg/metatype1). @@ -3185,20 +3178,18 @@ OpenType fonts (https://ctan.org/pkg/me a natural way, using any typesetter (TeX and Troff are both supported) and a number of other subsidiary programs, described below.

    - - - - - +
    -
    +
    +

    7.1 mpost invocation

    @@ -3233,7 +3224,7 @@ mpost [option]… &mem args

    MetaPost searches the usual places for the main input file mpname -(see Supported file formats in Kpathsea), extending +(see Supported file formats in Kpathsea), extending mpname with .mp if necessary. To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -3258,7 +3249,7 @@ with any other PostScript figures. For example, with this TeX command:

    \special{psfile="filename"}
     
    -

    or by using epsf.tex (see EPSF macros in Dvips). +

    or by using epsf.tex (see EPSF macros in Dvips).

    @@ -3278,7 +3269,7 @@ TeX. For example, if you are using LaTeX, your MetaPost input file must start with a verbatimtex block that gives the necessary \documentclass (or \documentstyle) \begin{document} command. You will also need to set the -enviroment variable TEX to ‘latex’. +environment variable TEX to ‘latex’.

    tex-input need not be specifically TeX input; it could also be Troff. In that case, you will need the ‘-m pictures’ Troff macro @@ -3300,7 +3291,7 @@ Metafont fonts; you can also use PostScript fonts with TeX, of course.

    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 Fonts +Dvips to arrange for the downloading of the required fonts (see Fonts in figures in Dvips). To help with this, the MetaPost distribution provides a small TeX file mproof.tex which is typically called as: @@ -3315,11 +3306,11 @@ typically called as: prologues positive. To make the output files self-contained, use only standard PostScript fonts. MetaPost reads the same psfonts.map file as Dvips, to determine PostScript fonts that -need to be downloaded (see psfonts.map in Dvips). +need to be downloaded (see psfonts.map in Dvips).

    -

    It is posible for pdfTeX to read MetaPost output directly; this is +

    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 .mps extension. Then the LaTeX @@ -3328,39 +3319,37 @@ them, even when outputting PDF.

    MetaPost can write output files, via the write primitive; this -opens a security hole. See tex invocation. +opens a security hole. See tex invocation.

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -[no]-file-line-error
    -
    -fmt=fmtname
    -
    -halt-on-error
    -
    -ini
    -
    -interaction=string
    -
    -jobname=string
    -
    -kpathsea-debug=number
    -
    -[no]parse-first-line
    -
    -output-directory
    -
    -progname=string
    -
    -recorder
    -
    -translate-file=tcxfile
    -
    -8bit
    +
    -[no]-file-line-error
    +
    -fmt=fmtname
    +
    -halt-on-error
    +
    -ini
    +
    -interaction=string
    +
    -jobname=string
    +
    -kpathsea-debug=number
    +
    -[no]parse-first-line
    +
    -output-directory
    +
    -progname=string
    +
    -recorder
    +
    -translate-file=tcxfile
    +
    -8bit

    These options are common to TeX, Metafont, and MetaPost. See Common options.

    -
    -T
    -
    -troff
    -
    - +
    -T
    +
    -troff
    +

    Set the prologues internal variable to 1.

    -
    -tex=texprogram
    -
    -

    When this option is given, the program texprogram is used to +

    -tex=texprogram
    +

    When this option is given, the program texprogram is used to typeset the labels.

    @@ -3368,9 +3357,11 @@ typeset the labels.
    -
    +
    +
    +

    7.2 Initial MetaPost

    @@ -3383,7 +3374,7 @@ virgin and initial forms (see Initial and virginmpost.mp when the program is invoked as mpost.

    -

    For a list of options and other information, see mpost invocation. +

    For a list of options and other information, see mpost invocation.

    @@ -3394,13 +3385,15 @@ called mfplain. You can use that in the same way; just run mfplain instead of mpost. 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 gftodvi invocation). +Metafont in proof mode and GFtoDVI (see GFtoDVI: Character proofs of fonts).


    -
    +
    +
    +

    7.3 DVItoMP: DVI to MPX conversion

    @@ -3428,9 +3421,12 @@ MetaPost commands.


    -
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    8 BibTeX: Bibliographies

    @@ -3440,18 +3436,17 @@ Next: , Previous: -• bibtex invocation   - -• Basic BibTeX style files  The standard and semi-standard styles. - - +
    -
    +
    +

    8.1 BibTeX invocation

    @@ -3487,23 +3482,21 @@ of the .bbl file. Synopsis: .aux file as well, via the \bibliography and \bibliographystyle (La)TeX macros. BibTeX searches for .bib files using the BIBINPUTS and TEXBIB paths, -and for .bst files using BSTINPUTS (see Supported file +and for .bst files using BSTINPUTS (see Supported file formats in Kpathsea). It does no path searching for .aux files.

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -terse
    -
    - +
    -terse
    +

    Suppress the program banner and progress reports normally output.

    -
    -min-crossrefs=n
    -
    - +
    -min-crossrefs=n
    +

    If at least n (2 by default) bibliography entries refer to another entry e via their crossref field, include e in the @@ -3523,30 +3516,25 @@ for e to the .aux, and nothing will remove it.

    See also:

    -
    btxdoc.tex
    -
    -

    Basic LaTeXable documentation for general BibTeX users. +

    btxdoc.tex
    +

    Basic LaTeXable documentation for general BibTeX users.

    -
    btxhak.tex
    -
    - +
    btxhak.tex
    +

    LaTeXable documentation for style designers.

    -
    btxdoc.bib
    -
    -

    BibTeX database file for the two above documents. +

    btxdoc.bib
    +

    BibTeX database file for the two above documents.

    -
    xampl.bib
    -
    -

    Example database file with all the standard entry types. +

    xampl.bib
    +

    Example database file with all the standard entry types.

    -
    ftp://ftp.math.utah.edu/pub/tex/bib/
    -
    - +
    ftp://ftp.math.utah.edu/pub/tex/bib/
    +

    A very large .bib and .bst collection, including @@ -3557,9 +3545,11 @@ for TUGboat.


    -
    +
    +
    +

    8.2 Basic BibTeX style files

    @@ -3568,57 +3558,49 @@ Previous:

    unixtex.ftp in Kpathsea). +many more (for CTAN info, see unixtex.ftp in Kpathsea).

    -
    plain
    -
    -

    Sorts entries alphabetically, with numeric labels. Generally formatted +

    plain
    +

    Sorts entries alphabetically, with numeric labels. Generally formatted according to van Leunen’s A Handbook for Scholars. The other style files listed here are based on plain.

    -
    abbrv
    -
    -

    First names, month names, and journal names are abbreviated. +

    abbrv
    +

    First names, month names, and journal names are abbreviated.

    -
    acm
    -
    -

    Names are printed in small caps. +

    acm
    +

    Names are printed in small caps.

    -
    alpha
    -
    -

    Alphanumeric labels, e.g., ‘Knu66’. +

    alpha
    +

    Alphanumeric labels, e.g., ‘Knu66’.

    -
    apalike
    -
    -

    No labels at all; instead, the year appears in parentheses after the author. +

    apalike
    +

    No labels at all; instead, the year appears in parentheses after the author. Use this in conjunction with apalike.tex (plain TeX) or apalike.sty (LaTeX), which also changes the citations in the text to be ‘(author, year)’.

    -
    ieeetr
    -
    -

    Numeric labels, entries in citation order, IEEE abbreviations, +

    ieeetr
    +

    Numeric labels, entries in citation order, IEEE abbreviations, article titles in quotes.

    -
    siam
    -
    -

    Numeric labels, alphabetic order, Math. Reviews +

    siam
    +

    Numeric labels, alphabetic order, Math. Reviews abbreviations, names in small caps.

    -
    unsrt
    -
    -

    Lists entries in citation order, i.e., unsorted. +

    unsrt
    +

    Lists entries in citation order, i.e., unsorted.

    -
    btxbst.doc
    +
    btxbst.doc

    The template file and documentation for the standard styles.

    @@ -3626,9 +3608,12 @@ abbreviations, names in small caps.
    -
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    9 WEB: Literate programming

    @@ -3662,20 +3647,18 @@ the TeX project at Stanford. which is included in the ftp://ftp.tug.org/tex/lib.tar.gz archive (and available in many other places, of course).

    - - - - - +
    -
    +
    +

    9.1 Tangle: Translate WEB to Pascal

    @@ -3684,7 +3667,7 @@ Next: ,

    Tangle creates a compilable Pascal program from a WEB source file -(see WEB). Synopsis: +(see WEB: Literate programming). Synopsis:

    tangle [option]… webfile[.web] [changefile[.ch]]
    @@ -3709,39 +3692,35 @@ semicolons when this can be done conveniently.
     ‘--help’ and ‘--version’ (see Common options):
     

    -
    -length=number
    -
    - +
    -length=number
    +

    The number of characters that are considered significant in an identifier. Whether underline characters are counted depends on the ‘-underline’ option. The default value is 32, the original tangle used 7, but this proved too restrictive for use by Web2c.

    -
    -lowercase
    -
    -mixedcase
    -
    -uppercase
    -
    - +
    -lowercase
    +
    -mixedcase
    +
    -uppercase
    +

    These options specify the case of identifiers in the output of tangle. If ‘-uppercase’ (‘-lowercase’) is specified, tangle will -convert all identfiers to uppercase (lowercase). The default is +convert all identifiers to uppercase (lowercase). The default is ‘-mixedcase’, which specifies that the case will not be changed.

    -
    -underline
    -
    - +
    -underline
    +

    When this option is given, tangle does not strip underline characters from identifiers.

    -
    -loose
    -
    -strict
    -
    - +
    -loose
    +
    -strict
    +

    These options specify how strict tangle must be when checking identifiers for equality. The default is ‘-loose’, which means @@ -3754,9 +3733,11 @@ whether they collide.


    -
    +
    +
    +

    9.2 Weave: Translate WEB to TeX

    @@ -3765,7 +3746,7 @@ Next:

    WEB), +

    Weave creates a TeX document from a WEB source file (see WEB: Literate programming), assuming various macros defined in webmac.tex. It takes care of typographic details such as page layout, indentation, and italicizing identifiers. It also automatically gathers and outputs extensive @@ -3784,9 +3765,8 @@ before writing the output; by default, there is no change file.

    The program accepts the following option, as well as the standard ‘-verbose’, ‘-help’ and ‘-version’ (see Common options):

    -
    -x
    -
    - +
    -x
    +

    Omit the cross-reference information: the index, the list of WEB module @@ -3803,9 +3783,11 @@ first change in the change file).


    -
    +
    +
    +

    9.3 Pooltype: Display WEB pool files

    @@ -3815,7 +3797,7 @@ Previous:

    WEB), as output by Tangle (see tangle invocation), including the first 256 strings corresponding to the +pool file (see WEB: Literate programming), as output by Tangle (see Tangle: Translate WEB to Pascal), 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:

    @@ -3849,9 +3831,12 @@ output.


    -
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    10 DVI utilities

    @@ -3860,10 +3845,10 @@ Next: , Pre

    TeX outputs a file in DVI (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 Introduction in Dvips), PCL +PostScript printers (see Introduction in Dvips), PCL printers (see dvilj(1)), and X displays (see xdvi(1)). In fact, DVI translators are available for virtually all common devices: see -CTAN:/dviware (for CTAN info, see unixtex.ftp in Kpathsea). +CTAN:/dviware (for CTAN info, see unixtex.ftp in Kpathsea).

    @@ -3873,17 +3858,16 @@ source file web2c/dvitype.web.

    The DVI-processing programs in the Web2c distribution are not device drivers; they perform generic utility functions.

    - - - - +
    -
    +
    +

    10.1 DVIcopy: Canonicalize virtual font references

    @@ -3891,7 +3875,7 @@ Next:

    Virtual fonts in Dvips) to base fonts, and writes the +(see Virtual fonts in Dvips) 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: @@ -3906,23 +3890,20 @@ standard output if outdvi is not specified.

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -magnification=integer
    -
    - +
    -magnification=integer
    +

    Override existing magnification in indvi with integer; 1000 specifies no magnification. This is equivalent to setting TeX’s \mag parameter.

    -
    -max-pages=n
    -
    -

    Process n pages; default is one million. +

    -max-pages=n
    +

    Process n pages; default is one million.

    -
    -page-start=page-spec
    -
    - +
    -page-start=page-spec
    +

    Start at the first page matching page-spec, which is one or more @@ -3934,9 +3915,11 @@ matches anything. Examples: ‘3’, ‘1.*.-4 -

    +
    +
    +

    10.2 DVItype: Plain text transliteration of DVI files

    @@ -3958,7 +3941,7 @@ correct. Synopsis:

    DVItype does not read any bitmap files, but it does read TFM files for fonts referenced in dvifile. The usual places are searched -(see Supported file formats in Kpathsea). To see all the +(see Supported file formats in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program.

    @@ -3967,29 +3950,25 @@ relevant paths, set the environment variable KPATHSEA_DEBUG to

    The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -dpi=real
    -
    -

    Do pixel movement calculations at real pixels per inch; default +

    -dpi=real
    +

    Do pixel movement calculations at real pixels per inch; default 300.0.

    -
    -magnification=integer
    -
    - +
    -magnification=integer
    +

    Override existing magnification in indvi with integer; 1000 specifies no magnification. This is equivalent to setting TeX’s \mag parameter.

    -
    -max-pages=n
    -
    -

    Process n pages; default is one million. +

    -max-pages=n
    +

    Process n pages; default is one million.

    -
    -output-level=n
    -
    -

    Verbosity level of output, from 0 to 4 (default 4): +

    -output-level=n
    +

    Verbosity level of output, from 0 to 4 (default 4):

    • 0: Global document information only.
    • 1: Most DVI commands included, and typeset characters summarized. @@ -4000,9 +3979,8 @@ in the file, reading the DVI postamble first.
    -
    -page-start=page-spec
    -
    - +
    -page-start=page-spec
    +

    Start at the first page matching page-spec, which is one or more @@ -4011,9 +3989,8 @@ in the file, reading the DVI postamble first. matches anything. Examples: ‘1’, ‘5.*.-9’.

    -
    -show-opcodes
    -
    - +
    -show-opcodes
    +

    Show numeric opcode values (in decimal) for DVI commands, in braces @@ -4023,16 +4000,16 @@ use decimal because in the DVI format documentation (in

    - - - +
    -
    +
    +

    10.2.1 DVItype output example

    @@ -4117,9 +4094,13 @@ STORY]’ and the ‘[ 1]’.
    -
    +
    +
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    11 Font utilities

    @@ -4138,41 +4119,32 @@ outputs GF format, but it’s most efficient for device drivers to use PK. mentioned below are in the source files that read them; pktype.web, gftype.web, tftopl.web, etc.

    - - - - - - - - - - - - +
    -
    +
    +

    11.1 Font file formats

    -

    (For another perspective on this, see Font concepts in Dvips). +

    For another perspective on this, see Font concepts in Dvips.

    Font files come in several varieties, with suffixes like:

    @@ -4228,7 +4200,7 @@ obsolete.

    Font files with the ‘.pl’ (property list) suffix are the plain text (human-readable) analog of the binary ‘.tfm’ files. The TFtoPL and PLtoTF programs convert between the two formats -(see tftopl invocation and pltotf invocation). +(see TFtoPL: TeX font metric to property list conversion and PLtoTF: Property list to TeX font metric conversion).

    Font files with the ‘.mf’ suffix are in Metafont source format. These are the files used by Metafont to generate rastered fonts for @@ -4238,10 +4210,10 @@ resolution and type of mapping used by your device.

    The suffix ‘.vf’ identifies “virtual font” files, for which -‘.vpl’ is the human-readable analog. See See vftovp invocation, -and vptovf invocation. For further discussion of virtual fonts, +‘.vpl’ is the human-readable analog. See See VFtoVP: Virtual font to virtual property lists, +and VPtoVF: Virtual property lists to virtual font. For further discussion of virtual fonts, see CTAN:/doc/virtual-fonts.knuth, -CTAN:/help/virtualfonts.txt, and Virtual fonts in Dvips. +CTAN:/help/virtualfonts.txt, and Virtual fonts in Dvips.

    @@ -4250,9 +4222,11 @@ distribution by Pierre MacKay and Elizabeth Tachikawa.)


    -
    +
    +
    +

    11.2 GFtoPK: Generic to packed font conversion

    @@ -4262,7 +4236,7 @@ Next:

    GFtoPK converts a generic font (GF) file output by, for example, -Metafont (see mf invocation) to a packed font (PK) file. PK files +Metafont (see mf invocation) 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. @@ -4272,7 +4246,7 @@ Synopsis:

    gftopk [option]… gfname.dpi[gf] [pkfile]
     
    -

    The font gfname is searched for in the usual places (see Glyph +

    The font gfname is searched for in the usual places (see Glyph lookup in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -4290,9 +4264,11 @@ of ‘gfname.dpipk’, e.g., ‘<


    -
    +
    +
    +

    11.3 PKtoGF: Packed to generic font conversion

    @@ -4303,7 +4279,7 @@ Next: 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 gftype invocation) on the +reason to do this is to run GFtype (see GFtype: Plain text transliteration of generic fonts) on the result, so you can see the bitmap images. Also, a few old utility programs do not support PK format. Synopsis:

    @@ -4311,7 +4287,7 @@ programs do not support PK format. Synopsis:
    pktogf [option]… pkname.dpi[pk] [gffile]
     
    -

    The font pkname is searched for in the usual places (see Glyph +

    The font pkname is searched for in the usual places (see Glyph lookup in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -4329,9 +4305,11 @@ of ‘pkname.dpigf’, e.g., ‘<


    -
    +
    +
    +

    11.4 PKtype: Plain text transliteration of packed fonts

    @@ -4351,7 +4329,7 @@ correct. Synopsis:
    pktype pkname.dpi[pk]
     
    -

    The font pkname is searched for in the usual places (see Glyph +

    The font pkname is searched for in the usual places (see Glyph lookup in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -4382,58 +4360,50 @@ letter ‘K’ in ‘cmr10’, as rendered at 600dp

    Explanation:

    -
    955
    -
    -

    The byte position in the file where this character starts. +

    955
    +

    The byte position in the file where this character starts.

    -
    Flag byte
    -
    Dynamic packing variable
    -
    - +
    Flag byte
    +
    Dynamic packing variable
    +

    Related to the packing for this character; see the source code.

    -
    Character
    -
    -

    The character code, in decimal. +

    Character
    +

    The character code, in decimal.

    -
    Packet length
    -
    -

    The total length of this character definition, in bytes. +

    Packet length
    +

    The total length of this character definition, in bytes.

    -
    TFM width
    -
    - +
    TFM width
    +

    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.

    -
    dx
    -
    - +
    dx
    +

    The device-dependent width, in scaled pixels, i.e., units of horizontal pixels times 2^16.

    -
    Height
    -
    Width
    -
    - +
    Height
    +
    Width
    +

    The bitmap height and width, in pixels.

    -
    X-offset
    -
    Y-offset
    -
    - +
    X-offset
    +
    Y-offset
    +
    @@ -4448,9 +4418,8 @@ of the left side bearing; the right side bearing is the horizontal escapement minus the bitmap width plus the x-offset.

    -
    [2]23(16)…
    -
    - +
    [2]23(16)…
    +

    Finally, run lengths of black pixels alternate with parenthesized run lengths of white pixels, and brackets indicate a repeated row.

    @@ -4458,9 +4427,11 @@ lengths of white pixels, and brackets indicate a repeated row.
    -
    +
    +
    +

    11.5 GFtype: Plain text transliteration of generic fonts

    @@ -4480,7 +4451,7 @@ it’s correct. Synopsis:
    gftype [option]… gfname.dpi[gf]
     
    -

    The font gfname is searched for in the usual places (see Glyph +

    The font gfname is searched for in the usual places (see Glyph lookup in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. @@ -4493,18 +4464,16 @@ not an extension; no ‘.’ precedes it: for instance, The program accepts the following options, as well as the standard ‘-help’ and ‘-version’ (see Common options):

    -
    -images
    -
    -

    Show the characters’ bitmaps using asterisks and spaces. +

    -images
    +

    Show the characters’ bitmaps using asterisks and spaces.

    -
    -mnemonics
    -
    -

    Translate all commands in the GF file. +

    -mnemonics
    +

    Translate all commands in the GF file.

    -

    As an example of the output, here is the (abrdiged) translation of the +

    As an example of the output, here is the (abridged) translation of the letter ‘K’ in ‘cmr10’, as rendered at 600dpi with the mode ‘ljfour’ from modes.mf (available from ftp://ftp.tug.org/tex/modes.mf), with both ‘-mnemonics’ and @@ -4550,43 +4519,37 @@ main definition:

    Explanation:

    -
    2033
    -
    2043
    -
    -
    -

    The byte position in the file where each GF command starts. +

    2033
    +
    2043
    +
    +

    The byte position in the file where each GF command starts.

    -
    beginning of char 75
    -
    -

    The character code, in decimal. +

    beginning of char 75
    +

    The character code, in decimal.

    -
    3<=m<=60 0<=n<=56
    -
    - +
    3<=m<=60 0<=n<=56
    +

    The character’s bitmap lies between 3 and 60 (inclusive) horizontally, -and between 0 and 56 (inclusive) vertically. (m is a column -position and n is a row position.) Thus, 3 is the left side +and between 0 and 56 (inclusive) vertically. (m is a column +position and n is a row position.) Thus, 3 is the left side bearing. The right side bearing is the horizontal escapement (given -below) minus the maximum m. +below) minus the maximum m.

    -
    (initially n=56) paint (0)24(12)20
    -
    -

    The first row of pixels: 0 white pixels, 24 black pixels, 12 white +

    (initially n=56) paint (0)24(12)20
    +

    The first row of pixels: 0 white pixels, 24 black pixels, 12 white pixels, etc.

    -
    newrow 0 (n=55) paint 24(12)20
    -
    -

    The second row of pixels, with zero leading white pixels on the row. +

    newrow 0 (n=55) paint 24(12)20
    +

    The second row of pixels, with zero leading white pixels on the row.

    -
    eoc
    -
    -

    The end of the main character definition. +

    eoc
    +

    The end of the main character definition.

    @@ -4600,9 +4563,8 @@ pixels, etc.

    Explanation:

    -
    dx
    -
    - +
    dx
    +
    @@ -4614,16 +4576,15 @@ rounded. If the vertical escapement is nonzero, it would appear here as a ‘dy’ value.

    -
    width
    -
    - +
    width
    +

    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 ‘64.57289’ is the same number converted to pixels.

    -
    loc
    +
    loc

    The byte position in the file where this character starts.

    @@ -4631,9 +4592,11 @@ times the ratio of the true width to the font’s design size. The
    -
    +
    +
    +

    11.6 TFtoPL: TeX font metric to property list conversion

    @@ -4644,7 +4607,7 @@ Next: -

    TFtoPL translates a TeX font metric (TFM, see Metric +

    TFtoPL translates a TeX font metric (TFM, see Metric files in Dvips) file (as output by Metafont, for example) to property list format (a list of parenthesized items describing the font) that humans can edit or read. This program is mostly used by @@ -4656,7 +4619,7 @@ Synopsis:

    The font tfmname (extended with ‘.tfm’ if necessary) is -searched for in the usual places (see Supported file formats in Kpathsea). To see all the relevant paths, set the +searched for in the usual places (see Supported file formats in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program.

    @@ -4668,9 +4631,8 @@ program TFtoPL (see the next section).

    The program accepts the following option, as well as the standard ‘-verbose’, ‘-help’ and ‘-version’ (see Common options):

    -
    -charcode-format=type
    -
    -

    Output character codes in the PL file according to type: either +

    -charcode-format=type
    +

    Output character codes in the PL file according to type: either ‘octal’ or ‘ascii’. Default is ‘ascii’ for letters and digits, octal for all other characters. Exception: if the font’s coding scheme starts with ‘TeX math sy’ or ‘TeX math ex’, all @@ -4790,9 +4752,11 @@ ligatures for this character as a comment.


    -
    +
    +
    +

    11.7 PLtoTF: Property list to TeX font metric conversion

    @@ -4802,7 +4766,7 @@ Next:

    PLtoTF translates a property list file (as output by TFtoPL, for -example) to TeX font metric (TFM, see Metric files in Dvips) +example) to TeX font metric (TFM, see Metric files in Dvips) 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: @@ -4824,9 +4788,11 @@ output by default is undesirable.)


    -
    +
    +
    +

    11.8 VFtoVP: Virtual font to virtual property lists

    @@ -4837,9 +4803,9 @@ Next: -

    VFtoVP translates a virtual font metric (VF, see Virtual +

    VFtoVP translates a virtual font metric (VF, see Virtual fonts in Dvips) file and its accompanying TeX font metric (TFM, -see Metric files in Dvips) file (as output by VPtoVF, for +see Metric files in Dvips) file (as output by VPtoVF, for example) to virtual property list format (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. @@ -4851,7 +4817,7 @@ Synopsis:

    The fonts vfname and tfmname (extended with ‘.vf’ and ‘.tfm’ if necessary) are searched for in the usual places -(see Supported file formats in Kpathsea). To see all the +(see Supported file formats in Kpathsea). To see all the relevant paths, set the environment variable KPATHSEA_DEBUG to ‘-1’ before running the program. If tfmname is not specified, vfname (without a trailing ‘.vf’) is used. @@ -4864,9 +4830,8 @@ companion program VFtoVP (see the next section).

    The program accepts the following option, as well as the standard ‘-verbose’, ‘-help’ and ‘-version’ (see Common options):

    -
    -charcode-format=type
    -
    -

    Output character codes in the PL file according to type: either +

    -charcode-format=type
    +

    Output character codes in the PL file according to type: either ‘octal’ or ‘ascii’. Default is ‘ascii’ for letters and digits, octal for all other characters. Exception: if the font’s coding scheme starts with ‘TeX math sy’ or ‘TeX math ex’, all @@ -4886,9 +4851,11 @@ confusing.


    -
    +
    +
    +

    11.9 VPtoVF: Virtual property lists to virtual font

    @@ -4898,8 +4865,8 @@ Next:

    Virtual fonts in Dvips) and -TeX font metric (TFM, see Metric files in Dvips) files. +example) to virtual font (VF, see Virtual fonts in Dvips) and +TeX font metric (TFM, see Metric files in Dvips) 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: @@ -4919,9 +4886,11 @@ specified, the VF output is written to the basename of


    -
    +
    +
    +

    11.10 Font utilities available elsewhere

    @@ -4930,14 +4899,14 @@ Previous:

    unixtex.ftp in Kpathsea). Here are some of the most +see unixtex.ftp in Kpathsea). Here are some of the most commonly-requested items:

    • -AFM (Adobe font metric) to TFM conversion: see Invoking afm2tfm in Dvips, and CTAN:/fonts/utilities/afmtopl. +AFM (Adobe font metric) to TFM conversion: see Invoking afm2tfm in Dvips, and CTAN:/fonts/utilities/afmtopl.
    • @@ -5003,9 +4972,12 @@ Virtual font creation: https://ctan.org/
      -
      +
      +
    +
    +

    Appendix A Legalisms

    @@ -5025,13 +4997,13 @@ nature of a development request rather than a legal requirement.

    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 https://www.gnu.org/licenses/#GPL +base code, often the GPL (see https://www.gnu.org/licenses/#GPL) or (for example) the file web2c/pdftexdir/COPYINGv2. They also mostly make use of additional libraries with their own (compatible) terms. Please see each program’s sources.

    The Kpathsea library is covered by the GNU Lesser General Public -License (see Introduction in Kpathsea). Therefore, the +License (see Introduction in Kpathsea). Therefore, the binaries 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 @@ -5039,9 +5011,11 @@ binaries. See https://gnu.org/licenses kpathsea/COPYING.LESSERv2.


    -
    +
    +
    +

    -Next: , Previous: , Up: Top   [Contents][Index]

    +Next: , Previous: , Up: Web2c   [Contents][Index]

    Appendix B References

    @@ -5049,9 +5023,9 @@ Next: , Previous:
      -
    1. Kpathsea: See Introduction in Kpathsea. +
    2. Kpathsea: See Introduction in Kpathsea. -
    3. Dvips and Afm2tfm: See Introduction in Dvips. +
    4. Dvips and Afm2tfm: See Introduction in Dvips.
    5. The TeX Users Group: https://tug.org. For an introduction to the TeX system, see https://tug.org/begin.html. @@ -5169,7 +5143,7 @@ Reprinted with corrections, 1996.
    6. [Lia83] Franklin Mark Liang. -Word hy-phen-a-tion by com-pu-ter. +Word hy-phen-a-tion by com-put-er. Technical Report STAN-CS-83-977, Stanford University, August 1983. https://tug.org/docs/liang/liang-thesis.pdf. @@ -5187,9 +5161,11 @@ In Robert A. Morris and Jacques Andre, editors, Raster Imaging and
      -
      +
      +
      +

      -Previous: , Up: Top   [Contents][Index]

      +Previous: , Up: Web2c   [Contents][Index]

      Index

      @@ -5207,13 +5183,17 @@ Previous: , Up: 2   -8 +3   -\ +6   -^ +8   -~ +\ +   +^ +   +~  
      A @@ -5398,12 +5378,18 @@ Previous: , Up: 2 2602gfmf invocation
      -8 +3 +32-bit architectureHardware and memory dumps +
      +6 +64-bit architectureHardware and memory dumps +
      +8 8 bit cleanCommon options 8 bit clean output, specifyingCommon options 8-bit charactersTCX files
      -\ +\ \bibliographybibtex invocation \bibliographystylebibtex invocation \charsubdef and MLTeX\charsubdef @@ -5429,10 +5415,10 @@ Previous: , Up: \tracinglostchars and MLTeX\tracingcharsubdef \write18 shell escape extensionShell escapes
      -^ +^ ^^ notation, avoidingTCX files
      -~ +~ ~ expansion in filenames\input filename caveats
      A @@ -5551,6 +5537,7 @@ Previous: , Up: copyright noticesLegalisms Cork encoding and ISO inputTCX files creating memory dumpsCreating memory dumps +cross-engine functionalityTeX extensions cross-referenced bibliography itemsbibtex invocation cross-references, omittingweave invocation current directory, used for outputOutput file location @@ -5697,7 +5684,9 @@ Previous: , Up: help, onlineCommon options Herberts, MathiasOnline Metafont graphics hex character codes, in TCX filesTCX files +HINT (Hint Is Not TeX)TeX extensions historyIntroduction +hiTeXTeX extensions Hobby, JohnIntroduction horizontal escapementpktype invocation horizontal escapementgftype invocation @@ -5774,6 +5763,7 @@ Previous: , Up: LittleEndian machinesHardware and memory dumps location of texmf.cnf in TeX LiveRuntime options log file, BibTeXbibtex invocation +long data type, size ofHardware and memory dumps LuaTeX extensions LuaTeXTeX extensions
      @@ -6049,6 +6039,7 @@ Previous: , Up: TERMOnline Metafont graphics terminator for filenames\input filenames terse outputbibtex invocation +teTeX distributionIntroduction textex invocation TeX, bibliographies forbibtex invocation TeX, creating from Metafontmft invocation @@ -6085,6 +6076,7 @@ Previous: , Up: three programsThree programs time and date, in memory dumpsHardware and memory dumps title fontgftodvi invocation +tl-check-fmtshareHardware and memory dumps tokenization, and \input filenames\input filename caveats toolkits, XOnline Metafont graphics torture testsTriptrap @@ -6196,13 +6188,17 @@ Previous: , Up: 2   -8 +3 +   +6   -\ +8   -^ +\   -~ +^ +   +~  
      A @@ -6257,7 +6253,8 @@ Previous: , Up: -
      +
      +
    -- cgit v1.2.3