summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/doc/info/web2c.info
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2020-03-13 17:38:53 +0000
committerKarl Berry <karl@freefriends.org>2020-03-13 17:38:53 +0000
commiteaea0d35a703f47bc759ec85ecc1533c8aacc404 (patch)
tree343d24ac887960c960257a545f84767300909154 /Master/texmf-dist/doc/info/web2c.info
parent3166b3e1095114d49cbef65216417c43bcd932d7 (diff)
texinfo manual updates for 2020
git-svn-id: svn://tug.org/texlive/trunk@54279 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/doc/info/web2c.info')
-rw-r--r--Master/texmf-dist/doc/info/web2c.info326
1 files changed, 208 insertions, 118 deletions
diff --git a/Master/texmf-dist/doc/info/web2c.info b/Master/texmf-dist/doc/info/web2c.info
index 9403f7e81a1..19bf29f3409 100644
--- a/Master/texmf-dist/doc/info/web2c.info
+++ b/Master/texmf-dist/doc/info/web2c.info
@@ -1,10 +1,10 @@
-This is web2c.info, produced by makeinfo version 6.5 from web2c.texi.
+This is web2c.info, produced by makeinfo version 6.7 from web2c.texi.
This file documents the installation and use of the programs in Web2c,
an implementation of Donald Knuth's TeX system.
Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004,
-2005, 2007, 2008, 2009 Karl Berry & Olaf Weber.
+2005, 2007, 2008, 2009, 2010-2020 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
@@ -58,7 +58,7 @@ Web2c
This document describes how to install and use the programs in the Web2c
implementation of the TeX system, especially for Unix systems. It
-corresponds to Web2c version 2019, released in February 2019.
+corresponds to Web2c version 2020, released in March 2020.
* Menu:
@@ -82,8 +82,8 @@ File: web2c.info, Node: Introduction, Next: Installation, Prev: Top, Up: Top
1 Introduction
**************
-This manual corresponds to version 2019 of Web2c, released in February
-2019.
+This manual corresponds to version 2020 of Web2c, released in March
+2020.
"Web2c" is the name of a TeX implementation, originally for Unix, but
now also running under DOS, Amiga, and other operating systems. By "TeX
@@ -634,7 +634,7 @@ Runtime options::.
* 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:: ~ and $ expansion in TeX/MF/MP.
+* \input filenames:: Filename delimiters and Kpathsea expansion.

File: web2c.info, Node: Initial and virgin, Next: Memory dumps, Up: Three programs
@@ -835,8 +835,35 @@ and MetaPost, the statement terminator ';' also works. (LaTeX and other
macro packages provide other interfaces to '\input' that allow different
notation; here we are concerned only with the primitive operation.)
- As of Web2c version 7.5.3, double-quote characters can be used to
-include spaces or other special cases. In typical use, the '"'
+ 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 containing spaces
+or other special characters, as described in the sections below.
+
+ In all cases, space tokens are ignored after the filename is read.
+
+ Also, double quote ('"') characters are ignored within the 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.
+
+* Menu:
+
+* Quotes: \input quoted filename. \input "some name"
+* Braces: \input braced filename. \input {some name}
+* Caveats: \input filename caveats. Tokenization, nulls, Kpathsea expansion.
+
+
+File: web2c.info, Node: \input quoted filename, Next: \input braced filename, Up: \input filenames
+
+3.5.4.1 '\input' quoted filename: '\input "some name"'
+......................................................
+
+As of Web2c version 7.5.3 (2004), double-quote characters can be used to
+include spaces or other special characters. In typical use, the '"'
characters surround the entire filename:
\input "filename with spaces"
@@ -844,46 +871,69 @@ characters surround the entire filename:
can enclose any characters, as in:
\input filename" "with" "spaces
- One more point. In LaTeX, the quotes are needed inside the braces,
-thus
+ One more point. In LaTeX, the quotes are needed inside the braces of
+its '\input' macro, thus:
\input{a b} % fails
\input{"a b"} % ok
- This quoting mechanism comes into play _after_ TeX has tokenized and
-expanded the input. So, multiple spaces and tabs may be seen as a
-single space, active characters such as '~' are expanded first, and so
-on. (See below.)
+ There is no way to quote the quote character.
+
+
+File: web2c.info, Node: \input braced filename, Next: \input filename caveats, Prev: \input quoted filename, Up: \input filenames
+
+3.5.4.2 '\input' braced filename: '\input{some name}'
+.....................................................
+
+As of Web2c 2020, '\input' filenames in TeX engines (this does not apply
+in Metafont and MetaPost) can also be specified within a TeX group,
+typically curly braces. For example:
+ \input{filename with spaces}
+
+ As always with TeX, the brace characters are not hardwired; what
+counts is the category code: the first token after the '\input' must be
+of catcode 1 (begin group), and it is matched with the next character of
+catcode 2 (end group).
+
+ Within the group-delimited filename, braces are treated as normal
+characters.
+
+ As with all forms of filenames, following spaces are ignored (after
+the end group), and double quote ('"') characters are ignored within the
+filename.
+
+
+File: web2c.info, Node: \input filename caveats, Prev: \input braced filename, Up: \input filenames
+
+3.5.4.3 '\input' filename caveats
+.................................
+
+The quoting mechanisms just described come into play _after_ TeX has
+tokenized and expanded the input. So, multiple spaces and tabs will
+generally be seen as a single space, active characters such as '~' are
+expanded first (generally causing an error), and so on. More examples
+below.
On the other hand, various C library routines and Unix itself use the
null byte (character code zero, ASCII NUL) to terminate strings. So
filenames in Web2c cannot contain nulls, even though TeX itself does not
-treat NUL specially. In addition, some older Unix variants do not allow
-eight-bit characters (codes 128-255) in filenames.
-
- For maximal portability of your document across systems, use only the
-characters 'a'-'z', '0'-'9', and '.', and restrict your filenames to at
-most eight characters (not including the extension), and at most a
-three-character extension. Do not use anything but simple filenames,
-since directory separators vary among systems; instead, add the
-necessary directories to the appropriate search path.
+treat NUL specially.
Finally, the present Web2c implementation does '~' and '$' expansion
-on NAME, unlike Knuth's original implementation and older versions of
-Web2c. Thus:
+on NAME, unlike Knuth's original implementation. Thus:
\input ~jsmith/$foo.bar
will dereference the environment variable or Kpathsea config file
-value 'foo' and read that file extended with '.bar' in user 'jsmith''s
-home directory. You can also use braces, as in '${foo}bar', if you want
-to follow the variable name with a letter, numeral, or '_'.
+value 'foo' and read that file, extended with '.bar', in user 'jsmith''s
+home directory. You can also use braces in the variable expansion, as
+in '${foo}bar', if you want to follow the variable name with a letter,
+numeral, or '_'.
(So another way to get a program to read a filename containing
whitespace is to define an environment variable and dereference it.)
- In all the common TeX formats (plain TeX, LaTeX, AMSTeX), the
-characters '~' and '$' have special category codes, so to actually use
-these in a document you have to change their catcodes or use '\string'.
-(The result is unportable anyway, see the suggestions above.) The place
-where they are most likely to be useful is when typing interactively.
+ In all the common TeX formats (plain TeX, LaTeX, ConTeXt, AMSTeX,
+...), the characters '~' and '$' have special category codes, so to
+actually use these in a document you have to change their catcodes or
+use '\string'.

File: web2c.info, Node: TeX, Next: Metafont, Prev: Commonalities, Up: Top
@@ -1485,9 +1535,10 @@ Otherwise it is not. In any case, a message is written to the log file.
The 'shell_escape_commands' value is a comma-separated list of words.
Whitespace is significant, and typically should not be present. The
-default definition looks like this, but with more commands included:
+default definition in 'texmf.cnf' looks like this, but with more
+commands included:
- shell_escape_commands = bibtex,dvips,epstopdf,...,tex
+ shell_escape_commands = bibtex,kpsewhich,repstopdf,...
pdfTeX and luaTeX support reading (via '\input' and '\openin') and
writing (via '\openout') from pipes if the first character is '|'. The
@@ -3424,9 +3475,11 @@ Index
* Menu:
+* " character, ignored in filenames: \input filenames. (line 22)
* #define options: Compile-time options.
(line 6)
-* $ expansion in filenames: \input filenames. (line 47)
+* $ expansion in filenames: \input filename caveats.
+ (line 17)
* %& magic number: Determining the memory dump to use.
(line 19)
* - starting a filename: Option conventions. (line 19)
@@ -3570,21 +3623,29 @@ Index
* \font and dynamic generation: tex invocation. (line 41)
* \fontdimen: tftopl invocation. (line 99)
* \immediate\write18: Shell escapes. (line 6)
+* \input braced (grouped) filename: \input braced filename.
+ (line 6)
+* \input filename caveats: \input filename caveats.
+ (line 6)
* \input filenames: \input filenames. (line 6)
-* \input, and pipes: Shell escapes. (line 63)
+* \input quoted filename: \input quoted filename.
+ (line 6)
+* \input, and pipes: Shell escapes. (line 64)
* \mag: dvicopy invocation. (line 20)
* \mag <1>: dvitype invocation. (line 28)
-* \openin, and pipes: Shell escapes. (line 63)
+* \openin, and pipes: Shell escapes. (line 64)
* \openout and security: tex invocation. (line 48)
-* \openout, and pipes: Shell escapes. (line 63)
+* \openout, and pipes: Shell escapes. (line 64)
* \output routine, and \write: Shell escapes. (line 28)
-* \pdfshellescape: Shell escapes. (line 63)
-* \string: \input filenames. (line 59)
+* \pdfshellescape: Shell escapes. (line 64)
+* \string, and \input filenames: \input filename caveats.
+ (line 29)
* \tracingcharsubdef and MLTeX: \tracingcharsubdef. (line 6)
* \tracinglostchars and MLTeX: \tracingcharsubdef. (line 11)
* \write18 shell escape extension: Shell escapes. (line 6)
* ^^ notation, avoiding: TCX files. (line 87)
-* ~ expansion in filenames: \input filenames. (line 47)
+* ~ expansion in filenames: \input filename caveats.
+ (line 17)
* abbrv.bst: Basic BibTeX style files.
(line 16)
* accented character: TCX files. (line 6)
@@ -3647,6 +3708,8 @@ Index
* binaries, linking: Common options. (line 77)
* blank lines, in TCX files: TCX files. (line 66)
* boxes, memory for: Runtime options. (line 20)
+* braced filename for \input: \input braced filename.
+ (line 6)
* breakpoints, memory for: Runtime options. (line 20)
* Breitenlohner, Peter: Introduction. (line 9)
* BSTINPUTS, search path for bst files: bibtex invocation. (line 18)
@@ -3659,6 +3722,8 @@ Index
* byte swapping: Hardware and memory dumps.
(line 13)
* c-sources Makefile target: Additional targets. (line 12)
+* caveats for \input filenames: \input filename caveats.
+ (line 6)
* change files, and MFT: mft invocation. (line 63)
* change files, and Tangle: tangle invocation. (line 11)
* change files, and Weave: weave invocation. (line 14)
@@ -3736,6 +3801,8 @@ Index
* DISPLAY: Online Metafont graphics.
(line 76)
* dot files, written by TeX programs: tex invocation. (line 48)
+* double quote character, ignored in filenames: \input filenames.
+ (line 22)
* downloading of fonts for MetaPost labels: mpost invocation. (line 70)
* DrawingServant: Online Metafont graphics.
(line 35)
@@ -3768,7 +3835,8 @@ Index
* editing of bitmap fonts: Font utilities available elsewhere.
(line 23)
* editor invoked at error: Editor invocation. (line 6)
-* eight-bit characters in filenames: \input filenames. (line 34)
+* eight-bit characters in filenames: \input filename caveats.
+ (line 12)
* empty.tcx: TCX files. (line 48)
* endian dependencies: Hardware and memory dumps.
(line 6)
@@ -3784,6 +3852,8 @@ Index
* executables, shared initial and virgin: Initial and virgin. (line 6)
* exit status, of shell escape: Shell escapes. (line 34)
* expanded plain format: Formats. (line 54)
+* expansion, and \input filenames: \input filename caveats.
+ (line 6)
* extensions to TeX: TeX extensions. (line 6)
* extra_mem_bot: Runtime options. (line 19)
* FACE property: tftopl invocation. (line 95)
@@ -3858,6 +3928,8 @@ Index
* glue, memory for: Runtime options. (line 20)
* glyph substitutions: MLTeX. (line 6)
* gray font: gftodvi invocation. (line 29)
+* group-delimited filename for \input: \input braced filename.
+ (line 6)
* Gruff, Billy Goat: Triptrap. (line 6)
* gsftopk: Font utilities available elsewhere.
(line 35)
@@ -3983,7 +4055,8 @@ Index
* memory dumps, creating: Creating memory dumps.
(line 6)
* mems Make target: Additional targets. (line 34)
-* meta characters in filenames: \input filenames. (line 34)
+* meta characters in filenames: \input filename caveats.
+ (line 12)
* Metafont: Metafont. (line 6)
* Metafont geometry: Online Metafont graphics.
(line 69)
@@ -4043,6 +4116,8 @@ Index
* mptrap.readme: Triptrap. (line 6)
* MPX files, converting from DVI files: dvitomp invocation. (line 6)
* Multi-lingual TeX: MLTeX. (line 6)
+* multiple spaces, and \input filenames: \input filename caveats.
+ (line 6)
* N tilde: \charsubdef. (line 36)
* new graphics support for Metafont: Online Metafont graphics.
(line 79)
@@ -4054,7 +4129,8 @@ Index
(line 65)
* NO_X11WIN: Online Metafont graphics.
(line 56)
-* NUL, not allowed in filenames: \input filenames. (line 34)
+* NUL, not allowed in filenames: \input filename caveats.
+ (line 12)
* octal character codes, in TCX files: TCX files. (line 77)
* offset for overflow labels: gftodvi invocation. (line 59)
* online Metafont graphics: Online Metafont graphics.
@@ -4088,7 +4164,7 @@ Index
* pfaedit: Font utilities available elsewhere.
(line 30)
* PiCTeX, increasing memory for: Runtime options. (line 20)
-* pipes, reading and writing: Shell escapes. (line 63)
+* pipes, reading and writing: Shell escapes. (line 64)
* pixel height: pktype invocation. (line 62)
* pixel width: pktype invocation. (line 62)
* PK bitmaps from PostScript: Font utilities available elsewhere.
@@ -4119,7 +4195,7 @@ Index
* Poole, Simon: Online Metafont graphics.
(line 50)
* pooltype: pooltype invocation. (line 6)
-* portable filenames: \input filenames. (line 40)
+* portable filenames: \input filenames. (line 25)
* PostScript fonts, and Troff: mpost invocation. (line 65)
* PostScript meets Metafont: MetaPost. (line 6)
* PostScript output: mpost invocation. (line 35)
@@ -4155,6 +4231,8 @@ Index
* PXL files, explained: Font file formats. (line 39)
* pxtoch: Font utilities available elsewhere.
(line 23)
+* quoted filename for \input: \input quoted filename.
+ (line 6)
* Raichle, Bernd: MLTeX. (line 6)
* reading, additional: Introduction. (line 60)
* readonly directory, running TeX in: Output file location.
@@ -4234,6 +4312,8 @@ Index
* system C library function: Shell escapes. (line 6)
* system command: Shell escapes. (line 6)
* T1 encoding and ISO input: TCX files. (line 48)
+* tabs, and \input filenames: \input filename caveats.
+ (line 6)
* Tachikawa, Elizabeth: Font file formats. (line 62)
* tangle: tangle invocation. (line 6)
* targets, additional Make: Additional targets. (line 6)
@@ -4285,6 +4365,8 @@ Index
* time and date, in memory dumps: Hardware and memory dumps.
(line 30)
* title font: gftodvi invocation. (line 33)
+* tokenization, and \input filenames: \input filename caveats.
+ (line 6)
* toolkits, X: Online Metafont graphics.
(line 59)
* torture tests: Triptrap. (line 6)
@@ -4341,7 +4423,7 @@ Index
* vptovf: vptovf invocation. (line 6)
* weave: weave invocation. (line 6)
* WEB: WEB. (line 6)
-* web environments, and security: Shell escapes. (line 70)
+* web environments, and security: Shell escapes. (line 71)
* WEB pool files, displaying: pooltype invocation. (line 6)
* WEB programs, compiling: tangle invocation. (line 6)
* WEB programs, typesetting: weave invocation. (line 6)
@@ -4389,75 +4471,83 @@ Index

Tag Table:
-Node: Top2754
-Node: Introduction3752
-Node: Installation6913
-Node: configure options9015
-Node: Compile-time options11037
-Node: Additional targets12139
-Node: Triptrap13416
-Node: Runtime options14943
-Node: Commonalities16701
-Node: Option conventions17302
-Node: Common options18525
-Node: Path searching22905
-Node: Output file location23877
-Node: Three programs25202
-Node: Initial and virgin25956
-Node: Memory dumps26885
-Node: Creating memory dumps27341
-Node: Determining the memory dump to use28552
-Node: Hardware and memory dumps30133
-Node: Editor invocation32583
-Node: \input filenames33450
-Node: TeX36443
-Node: tex invocation37594
-Node: Initial TeX44497
-Node: Formats45861
-Node: Languages and hyphenation48787
-Node: MLTeX49217
-Node: \charsubdef50705
-Node: \tracingcharsubdef53028
-Node: TCX files53603
-Node: patgen invocation59043
-Node: Shell escapes59749
-Node: IPC and TeX63313
-Node: TeX extensions63883
-Node: Metafont65014
-Node: mf invocation66302
-Node: Initial Metafont70139
-Node: Modes71769
-Node: Online Metafont graphics74019
-Node: gftodvi invocation77444
-Node: mft invocation80264
-Node: MetaPost84262
-Node: mpost invocation85024
-Node: Initial MetaPost90200
-Node: dvitomp invocation91122
-Node: BibTeX91787
-Node: bibtex invocation92148
-Node: Basic BibTeX style files94622
-Node: WEB95952
-Node: tangle invocation97161
-Node: weave invocation99284
-Node: pooltype invocation100691
-Node: DVI utilities101821
-Node: dvicopy invocation102753
-Node: dvitype invocation104036
-Node: dvitype output example106365
-Node: Font utilities109416
-Node: Font file formats110596
-Node: gftopk invocation113865
-Node: pktogf invocation115056
-Node: pktype invocation116222
-Node: gftype invocation119045
-Node: tftopl invocation123548
-Node: pltotf invocation128141
-Node: vftovp invocation129192
-Node: vptovf invocation131427
-Node: Font utilities available elsewhere132454
-Node: Legalisms134834
-Node: References136988
-Node: Index141555
+Node: Top2765
+Node: Introduction3760
+Node: Installation6918
+Node: configure options9020
+Node: Compile-time options11042
+Node: Additional targets12144
+Node: Triptrap13421
+Node: Runtime options14948
+Node: Commonalities16706
+Node: Option conventions17307
+Node: Common options18530
+Node: Path searching22910
+Node: Output file location23882
+Node: Three programs25207
+Node: Initial and virgin25973
+Node: Memory dumps26902
+Node: Creating memory dumps27358
+Node: Determining the memory dump to use28569
+Node: Hardware and memory dumps30150
+Node: Editor invocation32600
+Node: \input filenames33467
+Node: \input quoted filename35012
+Node: \input braced filename35793
+Node: \input filename caveats36727
+Node: TeX38245
+Node: tex invocation39396
+Node: Initial TeX46299
+Node: Formats47663
+Node: Languages and hyphenation50589
+Node: MLTeX51019
+Node: \charsubdef52507
+Node: \tracingcharsubdef54830
+Node: TCX files55405
+Node: patgen invocation60845
+Node: Shell escapes61551
+Node: IPC and TeX65131
+Node: TeX extensions65701
+Node: Metafont66832
+Node: mf invocation68120
+Node: Initial Metafont71957
+Node: Modes73587
+Node: Online Metafont graphics75837
+Node: gftodvi invocation79262
+Node: mft invocation82082
+Node: MetaPost86080
+Node: mpost invocation86842
+Node: Initial MetaPost92018
+Node: dvitomp invocation92940
+Node: BibTeX93605
+Node: bibtex invocation93966
+Node: Basic BibTeX style files96440
+Node: WEB97770
+Node: tangle invocation98979
+Node: weave invocation101102
+Node: pooltype invocation102509
+Node: DVI utilities103639
+Node: dvicopy invocation104571
+Node: dvitype invocation105854
+Node: dvitype output example108183
+Node: Font utilities111234
+Node: Font file formats112414
+Node: gftopk invocation115683
+Node: pktogf invocation116874
+Node: pktype invocation118040
+Node: gftype invocation120863
+Node: tftopl invocation125366
+Node: pltotf invocation129959
+Node: vftovp invocation131010
+Node: vptovf invocation133245
+Node: Font utilities available elsewhere134272
+Node: Legalisms136652
+Node: References138806
+Node: Index143373

End Tag Table
+
+
+Local Variables:
+coding: utf-8
+End: