From 1e9e7843c8f3dd00f3beff690e97e329c552dddb Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sat, 27 Feb 2021 17:39:48 +0000 Subject: doc updates for 2021 git-svn-id: svn://tug.org/texlive/trunk@57972 c570f23f-e606-0410-a88d-b1316a301751 --- Master/texmf-dist/doc/web2c/web2c.html | 834 ++++++++++++++++++--------------- Master/texmf-dist/doc/web2c/web2c.pdf | Bin 469172 -> 474842 bytes 2 files changed, 446 insertions(+), 388 deletions(-) (limited to 'Master/texmf-dist/doc/web2c') diff --git a/Master/texmf-dist/doc/web2c/web2c.html b/Master/texmf-dist/doc/web2c/web2c.html index 4ef7146223a..19a32fb57dc 100644 --- a/Master/texmf-dist/doc/web2c/web2c.html +++ b/Master/texmf-dist/doc/web2c/web2c.html @@ -4,7 +4,7 @@ an implementation of Donald Knuth's TeX system. Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, -2004, 2005, 2007, 2008, 2009, 2010-2020 Karl Berry & Olaf Weber. +2004, 2005, 2007, 2008, 2009, 2010-2021 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 @@ -79,7 +79,6 @@ ul.no-bullet {list-style: none}
  • 2.2 Compile-time options
  • 2.3 Additional targets
  • 2.4 Trip, trap, and mptrap: Torture tests
  • -
  • 2.5 Runtime options
  • 3 Commonalities
  • +
  • 4 Three programs: Metafont, MetaPost, and TeX +
  • -
  • 4 TeX: Typesetting +
  • 5 TeX: Typesetting
  • -
  • 5 Metafont: Creating typeface families +
  • 6 Metafont: Creating typeface families
  • -
  • 6 MetaPost: Creating technical illustrations +
  • 7 MetaPost: Generating PostScript
  • -
  • 7 BibTeX: Bibliographies +
  • 8 BibTeX: Bibliographies
  • -
  • 8 WEB: Literate programming +
  • 9 WEB: Literate programming
  • -
  • 9 DVI utilities +
  • 10 DVI utilities
  • -
  • 10 Font utilities +
  • 11 Font utilities
  • Appendix A Legalisms
  • Appendix B References
  • @@ -186,8 +186,8 @@ Next: , Up: 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 2020, released in -March 2020. +corresponds to Web2c version 2021, released in +February 2021.

    - - - - - - + @@ -228,15 +230,15 @@ Next: , Previou -

    This manual corresponds to version 2020 of Web2c, released in -March 2020. +

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

    -

    Web2c is the name of a TeX implementation, originally for Unix, -but now also running under DOS, Amiga, and other operating systems. By +

    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 @@ -255,7 +257,6 @@ 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. @@ -263,14 +264,15 @@ modify and/or redistribute (free speech). See Copying in Kpathsea). 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 their own copyright terms or are in the public domain, and are not +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 +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 +their own copyright terms or are in the public domain, and are not covered by the GPL.

    @@ -282,19 +284,21 @@ covered by the GPL.

    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 took -over development and maintenance for a number of years; the name 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. Dozens of -other people have contributed; their names are listed in the -ChangeLog files. +done primarily by Howard Trickey and Pavel Curtis. Tim Morgan then +took over development and maintenance for a number of years; the name +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.

    -

    Other acknowledgements: The University of Massachusetts at Boston +

    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 Foundation employed me while I wrote the original path searching library @@ -372,8 +376,6 @@ as described in the first section below.

    -
    @@ -569,7 +571,7 @@ possibilities.

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

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

    2.4 Trip, trap, and mptrap: Torture tests

    @@ -620,91 +622,17 @@ run ‘make check’. You can compare the output to the di file tests/check.log if you like.

    -
    -
    -

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

    -
    -

    2.5 Runtime options

    - - - - - -

    Besides the configure- and compile-time options described in the -previous sections, you can control a number of parameters (in -particular, array sizes) in the texmf.cnf runtime file read by -Kpathsea (see Config files in Kpathsea). -

    -

    Rather than exhaustively listing them here, please see the last section -of the distributed kpathsea/texmf.cnf. Some of the more -interesting values: -

    -
    -
    main_memory’ - -
    -

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

    -
    -
    extra_mem_bot’ - -
    -
    - - - -

    Extra space for “large” TeX data structures: boxes, glue, -breakpoints, et al. If you use PiCTeX, you may well want to set this. -

    -
    -
    font_mem_size’ - -
    -
    -

    Words of font info available for TeX; this is approximately the total -size of all TFM files read. -

    -
    -
    hash_extra’ - -
    -
    - -

    Additional space for the hash table of control sequence names. -Approximately 10,000 control sequences can be stored in the main hash -table; if you have a large book with numerous cross-references, -this might not be enough, and thus you will want to set hash_extra. -

    -
    -
    - - - - - -

    Of course, ideally all arrays would be dynamically expanded as -necessary, so the only limiting factor would be the amount of swap space -available. Unfortunately, implementing this is extremely difficult, as -the fixed size of arrays is assumed in many places throughout the source -code. These runtime limits are a practical compromise between the -compile-time limits in previous versions, and truly dynamic arrays. (On -the other hand, the Web2c BibTeX implementation does do dynamic -reallocation of some arrays.) -

    -

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

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

    3 Commonalities

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

    - @@ -807,6 +733,13 @@ 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 +searching options in Kpathsea. +

    +
    -file-line-error
    @@ -939,8 +872,9 @@ See TCX files.

    This option specifies that by default all characters should be -considered printable. If ‘-translate-file’ was given as well, then the -TCX file may mark characters as non-printable. +considered printable. If ‘-translate-file’ was given as well, +then the TCX file may mark characters as non-printable. This is a +no-op in engines natively supporting Unicode.

    @@ -979,7 +913,7 @@ names.

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

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

    3.4 Output file location

    @@ -1021,9 +955,9 @@ simply checked as given.

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

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

    -

    3.5 Three programs: Metafont, MetaPost, and TeX

    +

    4 Three programs: Metafont, MetaPost, and TeX

    @@ -1031,29 +965,136 @@ Previous:

    Runtime options. +Besides the ones here, command-line options and other commonalities +are described in the previous section.

    - + - - - +
    +
    +

    +Next: , Up: Three programs   [Contents][Index]

    +
    +

    4.1 Runtime options

    + + + + + + +

    Besides the configure- and compile-time options described in the +installation section (see Installation), you can control a number +of parameters in the texmf.cnf runtime file read by 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’ + +
    +

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

    +
    +
    extra_mem_bot’ + +
    +
    + + + +

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

    +
    +
    expand_depth’ + +
    +
    + + + + + +

    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 +overflows, typically with a segmentation fault (SIGSEGV). This +parameter was introduced to minimize the chance of that unpleasant +(though not dangerous) crash, instead allowing TeX to quit with a +more informative message. +

    + +

    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 (https://gnu.org/s/libsigsegv) does +not seem worth the effort. +

    +
    +
    texmf_casefold_search’ + +
    +

    See Casefolding search in Kpathsea. +

    +
    +
    + + + + + +

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

    +

    Unfortunately, implementing this is extremely difficult, as the fixed +size of arrays is assumed in many places throughout the source code. +These runtime limits are a practical compromise between the +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.) +

    + + +

    Nowadays there is rarely a reason to modify the values. But if you do +wish to modify texmf.cnf, 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 texmf.cnf is +installed in +/some/path/to/texlive/YYYY/texmf-dist/web2c/texmf.cnf is put +your custom settings in /some/path/to/texlive/YYY/texmf.cnf, +where YYYY is the year of installation (if you use that +subdirectory; it’s the default). That way, unrelated changes to the +system texmf.cnf can happen with normal updates, without +affecting your local values. +

    +

    -Next: , Up: Three programs   [Contents][Index]

    +Next: , Previous: , Up: Three programs   [Contents][Index]

    -

    3.5.1 Initial and virgin

    +

    4.2 Initial and virgin

    The TeX and Metafont programs each have two main variants, called @@ -1087,7 +1128,7 @@ memory dump file.

    Next: , Previous: , Up: Three programs   [Contents][Index]

    -

    3.5.2 Memory dumps

    +

    4.3 Memory dumps

    @@ -1114,7 +1155,7 @@ code.

    Next: , Up: Memory dumps   [Contents][Index]

    -

    3.5.2.1 Creating memory dumps

    +

    4.3.1 Creating memory dumps

    @@ -1156,7 +1197,7 @@ difficulties.

    Next: , Previous: , Up: Memory dumps   [Contents][Index]

    -

    3.5.2.2 Determining the memory dump to use

    +

    4.3.2 Determining the memory dump to use

    @@ -1210,7 +1251,7 @@ will be used.

    Previous: , Up: Memory dumps   [Contents][Index]

    -

    3.5.2.3 Hardware and memory dumps

    +

    4.3.3 Hardware and memory dumps

    @@ -1297,7 +1338,7 @@ Jr. (see References).

    Next: , Previous: , Up: Three programs   [Contents][Index]

    -

    3.5.3 Editor invocation

    +

    4.4 Editor invocation

    @@ -1311,6 +1352,7 @@ responds with e or E, the program invokes an editor. +

    Specifying ‘--with-editor=cmd’ to configure sets the default editor command string to cmd. The environment variables/configuration values TEXEDIT, MFEDIT, and @@ -1328,7 +1370,7 @@ and ‘%s’ is replaced by the name of the current input f

    Previous: , Up: Three programs   [Contents][Index]

    -

    3.5.4 \input filenames

    +

    4.5 \input filenames

    @@ -1365,10 +1407,10 @@ filename; there is no way to read files whose names contain a "

    However, for maximal portability of your document across systems, use -only the characters ‘a’–‘z’, ‘0’–‘9’, and -‘.’. Do not use anything but simple filenames, since directory -separators vary among systems; instead, add the necessary directories -to the appropriate search path. +only the characters ‘a’–‘z’, ‘0’–‘9’, and at +most one ‘.’. Do not use anything but simple filenames, since +directory separators vary among systems; instead, add the necessary +directories to the appropriate search path.

    - @@ -1543,7 +1585,7 @@ otherwise, are available.

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

    -

    4.1 tex invocation

    +

    5.1 tex invocation

    @@ -1654,7 +1696,8 @@ See Common options.

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

    @@ -1768,7 +1811,7 @@ hard-coded to always use the ‘\special’ primitive.

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

    -

    4.2 Initial TeX

    +

    5.2 Initial TeX

    @@ -1811,7 +1854,7 @@ more details on TeX formats.

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

    -

    4.3 Formats

    +

    5.3 Formats

    @@ -1825,27 +1868,26 @@ current at the time of release. You can change which formats are automatically built by setting the fmts Make variable; by default, only the ‘plain’ and ‘latex’ formats are made.

    -

    You can get the latest versions of most of these formats from the CTAN -archives in subdirectories of CTAN:/macros (for CTAN info, -see unixtex.ftp in Kpathsea). The archive -ftp://ftp.tug.org/tex/lib.tar.gz (also available from CTAN) -contains most of these formats (although perhaps not the absolute latest -version), among other things. +

    Nowadays, the formats are generally installed and updated as part of a +larger TeX distribution, such as TeX Live +(https://tug.org/texlive).

    latex
    -

    The most widely used format. The current release is named ‘LaTeX -2e’; 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: http://www.latex-project.org. +

    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: https://www.latex-project.org.

    context
    -

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

    +

    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: @@ -1858,10 +1900,10 @@ other interesting features. The ConTeXt home page:

    The official typesetting system of the American Mathematical Society. Like LaTeX, it encourages generic markup commands. The AMS also -provides many LaTeX package for authors who prefer LaTeX. Taken +provides many LaTeX packages for authors who prefer LaTeX. Taken together, they are used to produce nearly all AMS publications, e.g., Mathematical Reviews. The AMSTeX home page: -http://www.ams.org/tex. +https://www.ams.org/tex.

    texinfo
    @@ -1872,7 +1914,7 @@ together, they are used to produce nearly all AMS publications, e.g., 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: -http://www.gnu.org/software/texinfo. +https://www.gnu.org/software/texinfo.

    eplain
    @@ -1882,15 +1924,17 @@ converted into plain text, a machine-readable on-line format called 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: -http://www.tug.org/eplain. +https://tug.org/eplain.

    slitex
    +

    An obsolete LaTeX 2.09 format for making slides. It is replaced by -the ‘slides’ document class, along with the ‘beamer’, -‘texpower’, and other packages. +the ‘slides’ document class, although the ‘beamer’ package +is the most commonly method for making slides nowadays. The Beamer +page on CTAN: https://ctan.org/pkg/beamer.

    @@ -1901,7 +1945,7 @@ the ‘slides’ document class, along with the ‘ Next: , Previous: , Up: TeX   [Contents][Index]

    -

    4.4 Languages and hyphenation

    +

    5.4 Languages and hyphenation

    @@ -1924,7 +1968,7 @@ Next: , Previ

    Next: , Up: Languages and hyphenation   [Contents][Index]

    -

    4.4.1 MLTeX: Multi-lingual TeX

    +

    5.4.1 MLTeX: Multi-lingual TeX

    @@ -1936,15 +1980,20 @@ Next: , Up:

    Multi-lingual TeX (mltex) is an extension of TeX originally written by Michael Ferguson and now updated and maintained by Bernd -Raichle. It 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 +Raichle. With the advent of Unicode, it has become obsolete, though +it is still supported in Web2c in the event of bugs or compilation +bugs. +

    +

    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 \accent 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 words containing -an accented character glyph for fonts missing this glyph (e.g., Computer -Modern). Standard TeX suppresses hyphenation in this case. +This substitution is automatically done behind the scenes, if +necessary, and thus MLTeX additionally supports hyphenation of +words containing an accented character glyph for fonts missing this +glyph (e.g., Computer Modern). Standard TeX suppresses hyphenation +in this case.

    MLTeX works at .fmt-creation time: the basic idea is to specify the ‘-mltex’ option to TeX when you \dump a @@ -1970,7 +2019,7 @@ Aside from these, MLTeX is completely compatible with standard TeX.

    Next: , Up: MLTeX   [Contents][Index]

    -

    4.4.1.1 \charsubdef: Character substitutions

    +

    5.4.1.1 \charsubdef: Character substitutions

    @@ -2034,7 +2083,7 @@ accessed often, so changing it is not desirable, nor generally useful.)

    Previous: , Up: MLTeX   [Contents][Index]

    -

    4.4.1.2 \tracingcharsubdef: Substitution diagnostics

    +

    5.4.1.2 \tracingcharsubdef: Substitution diagnostics

    @@ -2054,7 +2103,7 @@ more, the character substitutions actually performed at

    Next: , Previous: , Up: Languages and hyphenation   [Contents][Index]

    -

    4.4.2 TCX files: Character translations

    +

    5.4.2 TCX files: Character translations

    @@ -2216,7 +2265,7 @@ the dump is ignored and the data from the file used instead.

    Previous: , Up: Languages and hyphenation   [Contents][Index]

    -

    4.4.3 Patgen: Creating hyphenation patterns

    +

    5.4.3 Patgen: Creating hyphenation patterns

    @@ -2246,7 +2295,7 @@ Frank Liang (see References), and also the patge

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

    -

    4.5 Shell escapes

    +

    5.5 Shell escapes

    @@ -2256,6 +2305,7 @@ Next: , Previous: +

    TeX can execute shell escapes, that is, arbitrary shell commands. Although tremendously useful, this also has obvious @@ -2353,7 +2403,7 @@ considered untrustworthy, shell escapes should be completely disabled.

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

    -

    4.6 IPC and TeX

    +

    5.6 IPC and TeX

    @@ -2376,7 +2426,7 @@ debugging.

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

    -

    4.7 TeX extensions

    +

    5.7 Extended TeX engines

    @@ -2389,15 +2439,17 @@ partial list.

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

    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.

    pdfTeX
    @@ -2405,26 +2457,55 @@ of bug fixes, and includes e-TeX. Aleph is not actively maintained. +

    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. Home -page: http://pdftex.org. +micro-typography, reading/writing from pipes, and much more. In +TeX Live, the command etex invokes pdfTeX to make all +these additions available with DVI output. Home page: +http://pdftex.org.

    -
    luaTeX
    -
    +
    LuaTeX
    +
    -

    Based on pdfTeX, this also embeds the Lua programming language -(http://lua.org) and opens up the TeX typesetting engine to -control from Lua. Home page: http://luatex.org. + + + + +

    Embeds the Lua programming language (http://lua.org) 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: http://luatex.org.

    XeTeX
    - -

    Combines support for Unicode input and OpenType- and system fonts -with the capabilities of pdfTeX. -Home page: http://tug.org/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
    +
    + +

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

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

    @@ -2435,7 +2516,7 @@ Home page: http://tug.org/xetex.

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

    -

    5 Metafont: Creating typeface families

    +

    6 Metafont: Creating typeface families

    @@ -2478,7 +2559,7 @@ description of the Metafont language, see The METAFONTbook

    Next: , Up: Metafont   [Contents][Index]

    -

    5.1 mf invocation

    +

    6.1 mf invocation

    @@ -2602,7 +2683,7 @@ The only value that makes sense for filetype is ‘mf Next: , Previous: , Up: Metafont   [Contents][Index]

    -

    5.2 Initial Metafont

    +

    6.2 Initial Metafont

    @@ -2653,7 +2734,7 @@ create their own base file, of course.

    Next: , Previous: , Up: Metafont   [Contents][Index]

    -

    5.3 Modes: Device definitions for Metafont

    +

    6.3 Modes: Device definitions for Metafont

    @@ -2720,7 +2801,7 @@ and o.)

    Next: , Previous: , Up: Metafont   [Contents][Index]

    -

    5.4 Online Metafont graphics

    +

    6.4 Online Metafont graphics

    @@ -2882,7 +2963,7 @@ use MFtalk (see web2c/window/mftalk.c).

    Next: , Previous: , Up: Metafont   [Contents][Index]

    -

    5.5 GFtoDVI: Character proofs of fonts

    +

    6.5 GFtoDVI: Character proofs of fonts

    @@ -2970,7 +3051,7 @@ position is too crowded with other information.

    Previous: , Up: Metafont   [Contents][Index]

    -

    5.6 MFT: Prettyprinting Metafont source

    +

    6.6 MFT: Prettyprinting Metafont source

    @@ -3087,16 +3168,19 @@ configure TeX to print these properly.

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

    -

    6 MetaPost: Creating technical illustrations

    +

    7 MetaPost: Generating PostScript

    +

    MetaPost is a picture-drawing language similar to Metafont (see Metafont), but instead of outputting bitmaps in a “font”, it outputs PostScript commands. It’s primarily intended for creating -technical illustrations. +technical illustrations, but can also be used to create PostScript or +OpenType fonts (https://ctan.org/pkg/metatype1).

    +

    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. @@ -3116,34 +3200,28 @@ supported) and a number of other subsidiary programs, described below.

    Next: , Up: MetaPost   [Contents][Index]

    -

    6.1 mpost invocation

    +

    7.1 mpost invocation

    - +

    MetaPost (installed as mpost) 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 texmf/doc/metapost/, -where texmf is the root of TeX directory structure. See -also: -

    - - +where texmf is the root of TeX directory structure. +The MetaPost home page: https://tug.org/metapost. +

    +

    Also, a standard MetaPost package for drawing graphs is documented in AT&T technical report CSTR-164, available as the file mpgraph.ps, generally stored alongside mpman.ps.

    -

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

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

    @@ -3294,7 +3372,7 @@ typeset the labels.

    Next: , Previous: , Up: MetaPost   [Contents][Index]

    -

    6.2 Initial MetaPost

    +

    7.2 Initial MetaPost

    @@ -3324,7 +3402,7 @@ Metafont in proof mode and GFtoDVI (see gftodvi in

    Previous: , Up: MetaPost   [Contents][Index]

    -

    6.3 DVItoMP: DVI to MPX conversion

    +

    7.3 DVItoMP: DVI to MPX conversion

    @@ -3354,7 +3432,7 @@ MetaPost commands.

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

    -

    7 BibTeX: Bibliographies

    +

    8 BibTeX: Bibliographies

    @@ -3375,7 +3453,7 @@ makes bibliography entries reusable in many different contexts.

    Next: , Up: BibTeX   [Contents][Index]

    -

    7.1 BibTeX invocation

    +

    8.1 BibTeX invocation

    @@ -3483,7 +3561,7 @@ for TUGboat.

    Previous: , Up: BibTeX   [Contents][Index]

    -

    7.2 Basic BibTeX style files

    +

    8.2 Basic BibTeX style files

    @@ -3552,7 +3630,7 @@ abbreviations, names in small caps.

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

    -

    8 WEB: Literate programming

    +

    9 WEB: Literate programming

    @@ -3599,7 +3677,7 @@ which is included in the ftp://ftp.tu

    Next: , Up: WEB   [Contents][Index]

    -

    8.1 Tangle: Translate WEB to Pascal

    +

    9.1 Tangle: Translate WEB to Pascal

    @@ -3680,7 +3758,7 @@ whether they collide.

    Next: , Previous: , Up: WEB   [Contents][Index]

    -

    8.2 Weave: Translate WEB to TeX

    +

    9.2 Weave: Translate WEB to TeX

    @@ -3729,7 +3807,7 @@ first change in the change file).

    Previous: , Up: WEB   [Contents][Index]

    -

    8.3 Pooltype: Display WEB pool files

    +

    9.3 Pooltype: Display WEB pool files

    @@ -3775,7 +3853,7 @@ output.

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

    -

    9 DVI utilities

    +

    10 DVI utilities

    @@ -3807,7 +3885,7 @@ drivers; they perform generic utility functions.

    Next: , Up: DVI utilities   [Contents][Index]

    -

    9.1 DVIcopy: Canonicalize virtual font references

    +

    10.1 DVIcopy: Canonicalize virtual font references

    @@ -3860,7 +3938,7 @@ matches anything. Examples: ‘3’, ‘1.*.-4 Previous: , Up: DVI utilities   [Contents][Index]

    -

    9.2 DVItype: Plain text transliteration of DVI files

    +

    10.2 DVItype: Plain text transliteration of DVI files

    @@ -3956,7 +4034,7 @@ use decimal because in the DVI format documentation (in

    Up: dvitype invocation   [Contents][Index]

    -

    9.2.1 DVItype output example

    +

    10.2.1 DVItype output example

    As an example of the output from DVItype (see section above), here is @@ -4043,7 +4121,7 @@ STORY]’ and the ‘[ 1]’.

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

    -

    10 Font utilities

    +

    11 Font utilities

    @@ -4089,7 +4167,7 @@ mentioned below are in the source files that read them;

    Next: , Up: Font utilities   [Contents][Index]

    -

    10.1 Font file formats

    +

    11.1 Font file formats

    @@ -4176,7 +4254,7 @@ distribution by Pierre MacKay and Elizabeth Tachikawa.)

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.2 GFtoPK: Generic to packed font conversion

    +

    11.2 GFtoPK: Generic to packed font conversion

    @@ -4216,7 +4294,7 @@ of ‘gfname.dpipk’, e.g., ‘<

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.3 PKtoGF: Packed to generic font conversion

    +

    11.3 PKtoGF: Packed to generic font conversion

    @@ -4255,7 +4333,7 @@ of ‘pkname.dpigf’, e.g., ‘<

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.4 PKtype: Plain text transliteration of packed fonts

    +

    11.4 PKtype: Plain text transliteration of packed fonts

    @@ -4384,7 +4462,7 @@ lengths of white pixels, and brackets indicate a repeated row.

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.5 GFtype: Plain text transliteration of generic fonts

    +

    11.5 GFtype: Plain text transliteration of generic fonts

    @@ -4557,7 +4635,7 @@ times the ratio of the true width to the font’s design size. The

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.6 TFtoPL: TeX font metric to property list conversion

    +

    11.6 TFtoPL: TeX font metric to property list conversion

    @@ -4716,7 +4794,7 @@ ligatures for this character as a comment.

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.7 PLtoTF: Property list to TeX font metric conversion

    +

    11.7 PLtoTF: Property list to TeX font metric conversion

    @@ -4750,7 +4828,7 @@ output by default is undesirable.)

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.8 VFtoVP: Virtual font to virtual property lists

    +

    11.8 VFtoVP: Virtual font to virtual property lists

    @@ -4812,7 +4890,7 @@ confusing.

    Next: , Previous: , Up: Font utilities   [Contents][Index]

    -

    10.9 VPtoVF: Virtual property lists to virtual font

    +

    11.9 VPtoVF: Virtual property lists to virtual font

    @@ -4845,7 +4923,7 @@ specified, the VF output is written to the basename of

    Previous: , Up: Font utilities   [Contents][Index]

    -

    10.10 Font utilities available elsewhere

    +

    11.10 Font utilities available elsewhere

    @@ -4907,14 +4985,7 @@ distribution. Alternatively, ps2pk, from PostScript Type 1 font format conversion (i.e., between PFA and PFB -formats): http://www.lcdf.org/type. - -
  • - - -Scanned image conversion: the (aging) GNU font utilities convert type -specimen images to Metafont, PostScript, etc.: -http://www.gnu.org/software/fontutils/. +formats): https://www.lcdf.org/type.
  • @@ -4927,7 +4998,7 @@ the two programs mftrace
  • -Virtual font creation: CTAN:/fonts/utilities/fontinst. +Virtual font creation: https://ctan.org/pkg/fontinst.
  • @@ -4945,46 +5016,28 @@ Next: , Previous: <

    In general, each file has its own copyright notice stating the copying permissions for that file. Following is a summary.

    -

    The Web2c system itself and most of the original WEB source files are -public domain. -

    -

    tex.web, the MLTeX code, mf.web, and bibtex.web, -are copyrighted by their authors. They may be copied verbatim, but may -be modified only through a .ch file. -

    -

    MetaPost-related files, including mp.web itself, are copyrighted -under X-like terms; the precise notice is included below. -

    -

    Finally, the Kpathsea library is covered by the GNU Lesser General -Public License (see Introduction in Kpathsea). Therefore, -the binaries resulting from a standard Web2c compilation are also +

    The Stanford TeX programs and Web2c system itself are in the public +domain (https://tug.org/texlive/copying.html). 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 .ch file, but this is in the +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 +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 +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 -binaries. See the file LGPL for complete details on the LGPL. -

    -

    The following notice must be included by the terms of the MetaPost -copyright. -

    -
    -

    Permission to use, copy, modify, and distribute this software and its -documentation for any purpose and without fee is hereby granted, -provided that the above copyright notice appear in all copies and that -both that the copyright notice and this permission notice and warranty -disclaimer appear in supporting documentation, and that the names of -AT&T Bell Laboratories or any of its entities not be used in advertising -or publicity pertaining to distribution of the software without -specific, written prior permission. -

    -

    AT&T disclaims all warranties with regard to this software, including -all implied warranties of merchantability and fitness. In no event -shall AT&T be liable for any special, indirect or consequential damages -or any damages whatsoever resulting from loss of use, data or profits, -whether in an action of contract, negligence or other tortious action, -arising out of or in connection with the use or performance of this -software. -

    - - +binaries. See https://gnu.org/licenses/#LGPL or the file +kpathsea/COPYING.LESSERv2. +


    @@ -5000,10 +5053,11 @@ Next: , Previous: Introduction in Dvips. -

  • The TeX Users Group: http://www.tug.org. For an introduction -to the TeX system, see http://tug.org/begin.html. +
  • The TeX Users Group: https://tug.org. For an introduction +to the TeX system, see https://tug.org/begin.html. -
  • TUGboat: http://tug.org/TUGboat. +
  • TUGboat, the principal journal for the TeX world: +https://tug.org/TUGboat.
  • TeX and computer typesetting in general:
    ftp://ftp.math.utah.edu/pub/tex/bib/texbook1.bib. @@ -5017,18 +5071,13 @@ TeX project, see the books TeX: The Program or Neenie Billawala. Write-white printing engines and tuning fonts with Metafont. TUGboat, 8(1):29–32, April 1987. -http://tug.org/TUGboat/tb08-1/tb17billawala.pdf. - -
  • [GMS94] -Michel Goossens, Frank Mittelbach, and Alexander Samarin. -The LaTeX Companion. -Addison-Wesley, Reading, MA, USA, 1994. +https://tug.org/TUGboat/tb08-1/tb17billawala.pdf.
  • [Hob89] John D. Hobby. A Metafont-like system with PS output. TUGboat, 10(4):505–512, December 1989. -http://tug.org/metapost. +https://tug.org/metapost.
  • [Hob92] John D. Hobby. @@ -5051,6 +5100,7 @@ An authoritative reference to the C programming language, and a good Donald E. Knuth and Silvio Levy. The CWEB System of Structured Documentation, Version 3.0. Addison-Wesley, Reading, MA, USA, 1993. +https://ctan.org/pkg/cweb.
  • [Knu84] Donald E. Knuth. @@ -5102,7 +5152,7 @@ This is an updated version of Knuth:1988:ET. Donald Knuth. Virtual Fonts: More Fun for Grand Wizards. TUGboat, 11(1):13–23, April 1990. -http://tug.org/TUGboat/tb11-1/tb27knut.pdf. +https://tug.org/TUGboat/tb11-1/tb27knut.pdf.
  • [Knu92] Donald E. Knuth. @@ -5115,13 +5165,13 @@ Leslie Lamport. LaTeX: A Document Preparation System: User’s Guide and Reference Manual. Addison-Wesley, Reading, MA, USA, second edition, 1994. -Reprinted with corrections in 1996. +Reprinted with corrections, 1996.
  • [Lia83] Franklin Mark Liang. Word hy-phen-a-tion by com-pu-ter. Technical Report STAN-CS-83-977, Stanford University, August 1983. -http://tug.org/docs/liang/liang-thesis.pdf. +https://tug.org/docs/liang/liang-thesis.pdf.
  • [Mac91] Pierre A. MacKay. @@ -5132,18 +5182,6 @@ In Robert A. Morris and Jacques Andre, editors, Raster Imaging and Boston, Oct. 14–16, 1991, pages 205–215, New York, 1991. Cambridge University Press. -
  • [Spi89] -Michael D. Spivak. -LAMSTeX, The Synthesis. -The TeXplorators Corporation, 3701 W. Alabama, Suite 450-273, Houston, TX - 77027, USA, 1989. - -
  • [Spi90] -Michael D. Spivak. -The Joy of TeX—A Gourmet Guide to Typesetting with the - AMSTeX macro package. -American Mathematical Society, Providence, RI, USA, 2nd revised edition, 1990. -
  • @@ -5271,6 +5309,7 @@ Previous: , Up: -change=chfilemft invocation -charcode-format=typetftopl invocation -charcode-format=typevftovp invocation +-cnf-lineCommon options -D compiler optionsCompile-time options -disable-write18tex invocation -dpi=realdvitype invocation @@ -5431,6 +5470,7 @@ Previous: , Up: basic fonts and macrosInstallation batch languagesTeX BDF and GF conversionFont utilities available elsewhere +beamer, packageFormats beginfigmpost invocation Berry, KarlIntroduction BIBINPUTS, search path for bib filesbibtex invocation @@ -5497,7 +5537,7 @@ Previous: , Up: configuration, compile-timeconfigure options configure --with/--enable optionsconfigure options CONTENTS.texweave invocation -control sequence names, space forRuntime options +ConTeXtFormats conventions for options,Option conventions conversion, DVI to plain textdvitype invocation conversion, GF to PKgftopk invocation @@ -5569,14 +5609,19 @@ Previous: , Up: eoc GF commandgftype invocation EplainFormats epsfOnline Metafont graphics +epTeXTeX extensions errors, editor invoked atEditor invocation escapement, horizontalpktype invocation escapement, horizontalgftype invocation escapement, verticalgftype invocation etex for MetaPost labelsmpost invocation +etex is pdfTeXTeX extensions +eupTeXTeX extensions executables, shared initial and virginInitial and virgin exit status, of shell escapeShell escapes expanded plain formatFormats +expand_depthRuntime options +expansion limit, recursiveRuntime options expansion, and \input filenames\input filename caveats extensions to TeXTeX extensions extra_mem_botRuntime options @@ -5611,8 +5656,6 @@ Previous: , Up: fontforgeFont utilities available elsewhere fontinst, for creating virtual fontsFont utilities available elsewhere fonts, basicInstallation -fontutilsFont utilities available elsewhere -font_mem_sizeRuntime options format filesInitial TeX formats for TeXFormats formats Make targetAdditional targets @@ -5649,12 +5692,9 @@ Previous: , Up: H Harbison, Samuel P.Hardware and memory dumps hardware and memory dumpsHardware and memory dumps -hash table, increasing size ofRuntime options -hash_extraRuntime options headerbyte informationtftopl invocation height, in pixelspktype invocation help, onlineCommon options -Henry, PatrickIntroduction Herberts, MathiasOnline Metafont graphics hex character codes, in TCX filesTCX files historyIntroduction @@ -5723,6 +5763,7 @@ Previous: , Up: left side bearingpktype invocation left side bearinggftype invocation legalismsLegalisms +libsigsegv libraryRuntime options licensing termsIntroduction LIG propertytftopl invocation ligature table, in TFM filestftopl invocation @@ -5731,9 +5772,10 @@ Previous: , Up: links to binariesDetermining the memory dump to use literate programmingWEB LittleEndian machinesHardware and memory dumps +location of texmf.cnf in TeX LiveRuntime options log file, BibTeXbibtex invocation LuaTeX extensions -luaTeXTeX extensions +LuaTeXTeX extensions
    M machine dependenciesHardware and memory dumps @@ -5797,11 +5839,12 @@ Previous: , Up: modes.mf recommended modes fileModes mode_defModes mode_setupModes +modifying texmf.cnf in TeX LiveRuntime options Morgan, TimIntroduction Morris, BobIntroduction MPEDITEditor invocation -mpgraph.psmpost invocation -mpman.psmpost invocation +mpgraph.pdfmpost invocation +mpman.pdfmpost invocation mpostmpost invocation mpost, reason for name changeInstallation mpoutmpost invocation @@ -5826,8 +5869,10 @@ Previous: , Up: O octal character codes, in TCX filesTCX files offset for overflow labelsgftodvi invocation +OmegaTeX extensions online Metafont graphicsOnline Metafont graphics opcodes, showing DVIdvitype invocation +OpenType supportTeX extensions optical font scalingFont file formats option conventionsOption conventions originpktype invocation @@ -5837,6 +5882,7 @@ Previous: , Up: output files, written by TeX programstex invocation output_comment for DVI filestex invocation overflow label offsetgftodvi invocation +overflow, of runtime stackRuntime options
    P packet lengthpktype invocation @@ -5909,6 +5955,7 @@ Previous: , Up: property list, converting VF to virtualvftovp invocation ps2pkFont utilities available elsewhere psfonts.map, read by MetaPostmpost invocation +pTeXTeX extensions PXL files, explainedFont file formats pxtochFont utilities available elsewhere
    @@ -5921,6 +5968,7 @@ Previous: , Up: readonly directory, running TeX inOutput file location readonly directory, running TeX inOutput file location reallocation of arraysRuntime options +recursive expansion limitRuntime options redefined character substitutions\tracingcharsubdef reference pixelpktype invocation referencesReferences @@ -5936,16 +5984,17 @@ Previous: , Up: run length encoded bitmapspktype invocation run length encoded bitmapsgftype invocation runtime optionsRuntime options +runtime stack overflowRuntime options
    S scaled pixelspktype invocation scaled pixelsgftype invocation scaling of fontsFont file formats -scanned images of fontsFont utilities available elsewhere security, and output filestex invocation security, and shell escapesShell escapes security, and writempost invocation security, and \openouttex invocation +segmentation faultRuntime options shapesMetafont sharing memory dumpsHardware and memory dumps shell commands in TeXShell escapes @@ -5954,6 +6003,7 @@ Previous: , Up: siam.bstBasic BibTeX style files side bearingspktype invocation side bearingsgftype invocation +SIGSEGVRuntime options slant fontgftodvi invocation slides, producingFormats SliTeXFormats @@ -5983,6 +6033,7 @@ Previous: , Up: syntax of TCX filesTCX files system C library functionShell escapes system commandShell escapes +system fonts, usingTeX extensions
    T T1 encoding and ISO inputTCX files @@ -5991,6 +6042,7 @@ Previous: , Up: tangletangle invocation targets, additional MakeAdditional targets TCX character translation filesTCX files +technical illustrations, creatingMetaPost tekOnline Metafont graphics TektronixOnline Metafont graphics Tektronix 4014Online Metafont graphics @@ -6015,13 +6067,16 @@ Previous: , Up: texfonts.mapPath searching TexinfoFormats texmf.cnfPath searching +texmf.cnfRuntime options +texmf.cnf for editorsEditor invocation +texmf.cnf for shell escapesShell escapes texmfmp.cOnline Metafont graphics TEXMFOUTPUT, used for readingOutput file location TEXMFOUTPUT, used if ‘.’ unwritableOutput file location +texmf_casefold_searchRuntime options texputtex invocation TFM files, converting property lists topltotf invocation TFM files, explainedFont file formats -TFM files, memory forRuntime options TFM files, output by Metafontmf invocation TFM files, output by MetaPostmpost invocation TFM width of characterspktype invocation @@ -6044,8 +6099,10 @@ Previous: , Up: tripman.texTriptrap triptrap Make targetAdditional targets Troff, and MetaPostmpost invocation +troff, supported in MetaPostMetaPost Troff, WEB forWEB Trojan horses and TeX programstex invocation +TrueType supportTeX extensions TUGboat bibliographybibtex invocation Type 1 conversionFont utilities available elsewhere type design, personalInitial Metafont @@ -6054,16 +6111,17 @@ Previous: , Up: type programs, PKpktype invocation type programs, poolpooltype invocation typeface familiesMetafont -typeface specimen sheetsFont utilities available elsewhere typesettingTeX
    U UnicodeTeX extensions -UnicodeTeX extensions Unicode inputtex invocation +Unicode input, nativeTeX extensions unitermOnline Metafont graphics unsrt.bstBasic BibTeX style files +upTeXTeX extensions UTF-8 inputtex invocation +UTF-8 input, nativeTeX extensions
    V validation, of DVI filesdvitype invocation diff --git a/Master/texmf-dist/doc/web2c/web2c.pdf b/Master/texmf-dist/doc/web2c/web2c.pdf index ce5fc40e67b..46af522e90d 100644 Binary files a/Master/texmf-dist/doc/web2c/web2c.pdf and b/Master/texmf-dist/doc/web2c/web2c.pdf differ -- cgit v1.2.3