diff options
-rw-r--r-- | COPYING | 6 | ||||
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | INSTALL | 107 | ||||
-rw-r--r-- | configure.ac | 5 | ||||
-rw-r--r-- | doc/texinfo.tex | 899 |
5 files changed, 321 insertions, 700 deletions
@@ -1,3 +1,9 @@ | |||
1 | Some of this code is DUAL-LICENSED. If you use MHD without HTTPS/SSL | ||
2 | support, you are free to choose between the LGPL and the eCos License | ||
3 | (http://ecos.sourceware.org/license-overview.html). If you compile | ||
4 | MHD with HTTPS support, you must obey the terms of the GNU LGPL. | ||
5 | |||
6 | |||
1 | GNU LESSER GENERAL PUBLIC LICENSE | 7 | GNU LESSER GENERAL PUBLIC LICENSE |
2 | Version 2.1, February 1999 | 8 | Version 2.1, February 1999 |
3 | 9 | ||
@@ -1,3 +1,7 @@ | |||
1 | Sun Oct 11 14:57:29 CEST 2009 | ||
2 | Adding eCos license as an additional license for the | ||
3 | non-HTTPS code of MHD. -CG | ||
4 | |||
1 | Sun Oct 11 11:24:27 CEST 2009 | 5 | Sun Oct 11 11:24:27 CEST 2009 |
2 | Adding support for Symbian. -MR | 6 | Adding support for Symbian. -MR |
3 | 7 | ||
@@ -2,15 +2,15 @@ Installation Instructions | |||
2 | ************************* | 2 | ************************* |
3 | 3 | ||
4 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, | 4 | Copyright (C) 1994, 1995, 1996, 1999, 2000, 2001, 2002, 2004, 2005, |
5 | 2006, 2007, 2008, 2009 Free Software Foundation, Inc. | 5 | 2006, 2007 Free Software Foundation, Inc. |
6 | 6 | ||
7 | This file is free documentation; the Free Software Foundation gives | 7 | This file is free documentation; the Free Software Foundation gives |
8 | unlimited permission to copy, distribute and modify it. | 8 | unlimited permission to copy, distribute and modify it. |
9 | 9 | ||
10 | Basic Installation | 10 | Basic Installation |
11 | ================== | 11 | ================== |
12 | 12 | ||
13 | Briefly, the shell commands `./configure; make; make install' should | 13 | Briefly, the shell commands `./configure; make; make install' should |
14 | configure, build, and install this package. The following | 14 | configure, build, and install this package. The following |
15 | more-detailed instructions are generic; see the `README' file for | 15 | more-detailed instructions are generic; see the `README' file for |
16 | instructions specific to this package. | 16 | instructions specific to this package. |
@@ -73,9 +73,9 @@ The simplest way to compile this package is: | |||
73 | Compilers and Options | 73 | Compilers and Options |
74 | ===================== | 74 | ===================== |
75 | 75 | ||
76 | Some systems require unusual options for compilation or linking that | 76 | Some systems require unusual options for compilation or linking that the |
77 | the `configure' script does not know about. Run `./configure --help' | 77 | `configure' script does not know about. Run `./configure --help' for |
78 | for details on some of the pertinent environment variables. | 78 | details on some of the pertinent environment variables. |
79 | 79 | ||
80 | You can give `configure' initial values for configuration parameters | 80 | You can give `configure' initial values for configuration parameters |
81 | by setting variables in the command line or in the environment. Here | 81 | by setting variables in the command line or in the environment. Here |
@@ -88,7 +88,7 @@ is an example: | |||
88 | Compiling For Multiple Architectures | 88 | Compiling For Multiple Architectures |
89 | ==================================== | 89 | ==================================== |
90 | 90 | ||
91 | You can compile the package for more than one kind of computer at the | 91 | You can compile the package for more than one kind of computer at the |
92 | same time, by placing the object files for each architecture in their | 92 | same time, by placing the object files for each architecture in their |
93 | own directory. To do this, you can use GNU `make'. `cd' to the | 93 | own directory. To do this, you can use GNU `make'. `cd' to the |
94 | directory where you want the object files and executables to go and run | 94 | directory where you want the object files and executables to go and run |
@@ -100,24 +100,10 @@ architecture at a time in the source code directory. After you have | |||
100 | installed the package for one architecture, use `make distclean' before | 100 | installed the package for one architecture, use `make distclean' before |
101 | reconfiguring for another architecture. | 101 | reconfiguring for another architecture. |
102 | 102 | ||
103 | On MacOS X 10.5 and later systems, you can create libraries and | ||
104 | executables that work on multiple system types--known as "fat" or | ||
105 | "universal" binaries--by specifying multiple `-arch' options to the | ||
106 | compiler but only a single `-arch' option to the preprocessor. Like | ||
107 | this: | ||
108 | |||
109 | ./configure CC="gcc -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||
110 | CXX="g++ -arch i386 -arch x86_64 -arch ppc -arch ppc64" \ | ||
111 | CPP="gcc -E" CXXCPP="g++ -E" | ||
112 | |||
113 | This is not guaranteed to produce working output in all cases, you | ||
114 | may have to build one architecture at a time and combine the results | ||
115 | using the `lipo' tool if you have problems. | ||
116 | |||
117 | Installation Names | 103 | Installation Names |
118 | ================== | 104 | ================== |
119 | 105 | ||
120 | By default, `make install' installs the package's commands under | 106 | By default, `make install' installs the package's commands under |
121 | `/usr/local/bin', include files under `/usr/local/include', etc. You | 107 | `/usr/local/bin', include files under `/usr/local/include', etc. You |
122 | can specify an installation prefix other than `/usr/local' by giving | 108 | can specify an installation prefix other than `/usr/local' by giving |
123 | `configure' the option `--prefix=PREFIX'. | 109 | `configure' the option `--prefix=PREFIX'. |
@@ -140,7 +126,7 @@ option `--program-prefix=PREFIX' or `--program-suffix=SUFFIX'. | |||
140 | Optional Features | 126 | Optional Features |
141 | ================= | 127 | ================= |
142 | 128 | ||
143 | Some packages pay attention to `--enable-FEATURE' options to | 129 | Some packages pay attention to `--enable-FEATURE' options to |
144 | `configure', where FEATURE indicates an optional part of the package. | 130 | `configure', where FEATURE indicates an optional part of the package. |
145 | They may also pay attention to `--with-PACKAGE' options, where PACKAGE | 131 | They may also pay attention to `--with-PACKAGE' options, where PACKAGE |
146 | is something like `gnu-as' or `x' (for the X Window System). The | 132 | is something like `gnu-as' or `x' (for the X Window System). The |
@@ -152,46 +138,14 @@ find the X include and library files automatically, but if it doesn't, | |||
152 | you can use the `configure' options `--x-includes=DIR' and | 138 | you can use the `configure' options `--x-includes=DIR' and |
153 | `--x-libraries=DIR' to specify their locations. | 139 | `--x-libraries=DIR' to specify their locations. |
154 | 140 | ||
155 | Particular systems | ||
156 | ================== | ||
157 | |||
158 | On HP-UX, the default C compiler is not ANSI C compatible. If GNU | ||
159 | CC is not installed, it is recommended to use the following options in | ||
160 | order to use an ANSI C compiler: | ||
161 | |||
162 | ./configure CC="cc -Ae -D_XOPEN_SOURCE=500" | ||
163 | |||
164 | and if that doesn't work, install pre-built binaries of GCC for HP-UX. | ||
165 | |||
166 | On OSF/1 a.k.a. Tru64, some versions of the default C compiler cannot | ||
167 | parse its `<wchar.h>' header file. The option `-nodtk' can be used as | ||
168 | a workaround. If GNU CC is not installed, it is therefore recommended | ||
169 | to try | ||
170 | |||
171 | ./configure CC="cc" | ||
172 | |||
173 | and if that doesn't work, try | ||
174 | |||
175 | ./configure CC="cc -nodtk" | ||
176 | |||
177 | On Solaris, don't put `/usr/ucb' early in your `PATH'. This | ||
178 | directory contains several dysfunctional programs; working variants of | ||
179 | these programs are available in `/usr/bin'. So, if you need `/usr/ucb' | ||
180 | in your `PATH', put it _after_ `/usr/bin'. | ||
181 | |||
182 | On Haiku, software installed for all users goes in `/boot/common', | ||
183 | not `/usr/local'. It is recommended to use the following options: | ||
184 | |||
185 | ./configure --prefix=/boot/common | ||
186 | |||
187 | Specifying the System Type | 141 | Specifying the System Type |
188 | ========================== | 142 | ========================== |
189 | 143 | ||
190 | There may be some features `configure' cannot figure out | 144 | There may be some features `configure' cannot figure out automatically, |
191 | automatically, but needs to determine by the type of machine the package | 145 | but needs to determine by the type of machine the package will run on. |
192 | will run on. Usually, assuming the package is built to be run on the | 146 | Usually, assuming the package is built to be run on the _same_ |
193 | _same_ architectures, `configure' can figure that out, but if it prints | 147 | architectures, `configure' can figure that out, but if it prints a |
194 | a message saying it cannot guess the machine type, give it the | 148 | message saying it cannot guess the machine type, give it the |
195 | `--build=TYPE' option. TYPE can either be a short name for the system | 149 | `--build=TYPE' option. TYPE can either be a short name for the system |
196 | type, such as `sun4', or a canonical name which has the form: | 150 | type, such as `sun4', or a canonical name which has the form: |
197 | 151 | ||
@@ -199,8 +153,7 @@ type, such as `sun4', or a canonical name which has the form: | |||
199 | 153 | ||
200 | where SYSTEM can have one of these forms: | 154 | where SYSTEM can have one of these forms: |
201 | 155 | ||
202 | OS | 156 | OS KERNEL-OS |
203 | KERNEL-OS | ||
204 | 157 | ||
205 | See the file `config.sub' for the possible values of each field. If | 158 | See the file `config.sub' for the possible values of each field. If |
206 | `config.sub' isn't included in this package, then this package doesn't | 159 | `config.sub' isn't included in this package, then this package doesn't |
@@ -218,9 +171,9 @@ eventually be run) with `--host=TYPE'. | |||
218 | Sharing Defaults | 171 | Sharing Defaults |
219 | ================ | 172 | ================ |
220 | 173 | ||
221 | If you want to set default values for `configure' scripts to share, | 174 | If you want to set default values for `configure' scripts to share, you |
222 | you can create a site shell script called `config.site' that gives | 175 | can create a site shell script called `config.site' that gives default |
223 | default values for variables like `CC', `cache_file', and `prefix'. | 176 | values for variables like `CC', `cache_file', and `prefix'. |
224 | `configure' looks for `PREFIX/share/config.site' if it exists, then | 177 | `configure' looks for `PREFIX/share/config.site' if it exists, then |
225 | `PREFIX/etc/config.site' if it exists. Or, you can set the | 178 | `PREFIX/etc/config.site' if it exists. Or, you can set the |
226 | `CONFIG_SITE' environment variable to the location of the site script. | 179 | `CONFIG_SITE' environment variable to the location of the site script. |
@@ -229,7 +182,7 @@ A warning: not all `configure' scripts look for a site script. | |||
229 | Defining Variables | 182 | Defining Variables |
230 | ================== | 183 | ================== |
231 | 184 | ||
232 | Variables not defined in a site shell script can be set in the | 185 | Variables not defined in a site shell script can be set in the |
233 | environment passed to `configure'. However, some packages may run | 186 | environment passed to `configure'. However, some packages may run |
234 | configure again during the build, and the customized values of these | 187 | configure again during the build, and the customized values of these |
235 | variables may be lost. In order to avoid this problem, you should set | 188 | variables may be lost. In order to avoid this problem, you should set |
@@ -248,19 +201,11 @@ an Autoconf bug. Until the bug is fixed you can use this workaround: | |||
248 | `configure' Invocation | 201 | `configure' Invocation |
249 | ====================== | 202 | ====================== |
250 | 203 | ||
251 | `configure' recognizes the following options to control how it | 204 | `configure' recognizes the following options to control how it operates. |
252 | operates. | ||
253 | 205 | ||
254 | `--help' | 206 | `--help' |
255 | `-h' | 207 | `-h' |
256 | Print a summary of all of the options to `configure', and exit. | 208 | Print a summary of the options to `configure', and exit. |
257 | |||
258 | `--help=short' | ||
259 | `--help=recursive' | ||
260 | Print a summary of the options unique to this package's | ||
261 | `configure', and exit. The `short' variant lists options used | ||
262 | only in the top level, while the `recursive' variant lists options | ||
263 | also present in any nested packages. | ||
264 | 209 | ||
265 | `--version' | 210 | `--version' |
266 | `-V' | 211 | `-V' |
@@ -287,16 +232,6 @@ operates. | |||
287 | Look for the package's source code in directory DIR. Usually | 232 | Look for the package's source code in directory DIR. Usually |
288 | `configure' can determine that directory automatically. | 233 | `configure' can determine that directory automatically. |
289 | 234 | ||
290 | `--prefix=DIR' | ||
291 | Use DIR as the installation prefix. *Note Installation Names:: | ||
292 | for more details, including other options available for fine-tuning | ||
293 | the installation locations. | ||
294 | |||
295 | `--no-create' | ||
296 | `-n' | ||
297 | Run the configure checks, but stop before creating any output | ||
298 | files. | ||
299 | |||
300 | `configure' also accepts some other, not widely useful, options. Run | 235 | `configure' also accepts some other, not widely useful, options. Run |
301 | `configure --help' for more details. | 236 | `configure --help' for more details. |
302 | 237 | ||
diff --git a/configure.ac b/configure.ac index d5557fc8..dcb07367 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -367,7 +367,12 @@ if test "$enable_https" = "yes" | |||
367 | then | 367 | then |
368 | AC_MSG_NOTICE([HTTPS subsystem configuration: | 368 | AC_MSG_NOTICE([HTTPS subsystem configuration: |
369 | Client code dep.: ${MSG_CLIENT_SIDE} | 369 | Client code dep.: ${MSG_CLIENT_SIDE} |
370 | License : LGPL only | ||
370 | ]) | 371 | ]) |
372 | else | ||
373 | AC_MSG_NOTICE([ | ||
374 | License : LGPL or eCos | ||
375 | ]) | ||
371 | fi | 376 | fi |
372 | 377 | ||
373 | 378 | ||
diff --git a/doc/texinfo.tex b/doc/texinfo.tex index 0d3ba16f..d2b264dd 100644 --- a/doc/texinfo.tex +++ b/doc/texinfo.tex | |||
@@ -3,11 +3,11 @@ | |||
3 | % Load plain if necessary, i.e., if running under initex. | 3 | % Load plain if necessary, i.e., if running under initex. |
4 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi | 4 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi |
5 | % | 5 | % |
6 | \def\texinfoversion{2009-05-16.16} | 6 | \def\texinfoversion{2007-12-02.17} |
7 | % | 7 | % |
8 | % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, | 8 | % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, 2007, |
9 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | 9 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
10 | % 2007, 2008, 2009 Free Software Foundation, Inc. | 10 | % 2007 Free Software Foundation, Inc. |
11 | % | 11 | % |
12 | % This texinfo.tex file is free software: you can redistribute it and/or | 12 | % This texinfo.tex file is free software: you can redistribute it and/or |
13 | % modify it under the terms of the GNU General Public License as | 13 | % modify it under the terms of the GNU General Public License as |
@@ -97,10 +97,6 @@ | |||
97 | \let\ptexslash=\/ | 97 | \let\ptexslash=\/ |
98 | \let\ptexstar=\* | 98 | \let\ptexstar=\* |
99 | \let\ptext=\t | 99 | \let\ptext=\t |
100 | \let\ptextop=\top | ||
101 | {\catcode`\'=\active | ||
102 | \global\let\ptexquoteright'}% Math-mode def from plain.tex. | ||
103 | \let\ptexraggedright=\raggedright | ||
104 | 100 | ||
105 | % If this character appears in an error message or help string, it | 101 | % If this character appears in an error message or help string, it |
106 | % starts a new line in the output. | 102 | % starts a new line in the output. |
@@ -358,7 +354,7 @@ | |||
358 | % We don't want .vr (or whatever) entries like this: | 354 | % We don't want .vr (or whatever) entries like this: |
359 | % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} | 355 | % \entry{{\tt \indexbackslash }acronym}{32}{\code {\acronym}} |
360 | % "\acronym" won't work when it's read back in; | 356 | % "\acronym" won't work when it's read back in; |
361 | % it needs to be | 357 | % it needs to be |
362 | % {\code {{\tt \backslashcurfont }acronym} | 358 | % {\code {{\tt \backslashcurfont }acronym} |
363 | \shipout\vbox{% | 359 | \shipout\vbox{% |
364 | % Do this early so pdf references go to the beginning of the page. | 360 | % Do this early so pdf references go to the beginning of the page. |
@@ -464,7 +460,7 @@ | |||
464 | \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} | 460 | \def\argremovecomment#1\comment#2\ArgTerm{\argremovec #1\c\ArgTerm} |
465 | \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} | 461 | \def\argremovec#1\c#2\ArgTerm{\argcheckspaces#1\^^M\ArgTerm} |
466 | 462 | ||
467 | % Each occurrence of `\^^M' or `<space>\^^M' is replaced by a single space. | 463 | % Each occurence of `\^^M' or `<space>\^^M' is replaced by a single space. |
468 | % | 464 | % |
469 | % \argremovec might leave us with trailing space, e.g., | 465 | % \argremovec might leave us with trailing space, e.g., |
470 | % @end itemize @c foo | 466 | % @end itemize @c foo |
@@ -489,7 +485,7 @@ | |||
489 | % to get _exactly_ the rest of the line, we had to prevent such situation. | 485 | % to get _exactly_ the rest of the line, we had to prevent such situation. |
490 | % We prepended an \empty token at the very beginning and we expand it now, | 486 | % We prepended an \empty token at the very beginning and we expand it now, |
491 | % just before passing the control to \argtorun. | 487 | % just before passing the control to \argtorun. |
492 | % (Similarly, we have to think about #3 of \argcheckspacesY above: it is | 488 | % (Similarily, we have to think about #3 of \argcheckspacesY above: it is |
493 | % either the null string, or it ends with \^^M---thus there is no danger | 489 | % either the null string, or it ends with \^^M---thus there is no danger |
494 | % that a pair of braces would be stripped. | 490 | % that a pair of braces would be stripped. |
495 | % | 491 | % |
@@ -546,12 +542,12 @@ | |||
546 | % used to check whether the current environment is the one expected. | 542 | % used to check whether the current environment is the one expected. |
547 | % | 543 | % |
548 | % Non-false conditionals (@iftex, @ifset) don't fit into this, so they | 544 | % Non-false conditionals (@iftex, @ifset) don't fit into this, so they |
549 | % are not treated as environments; they don't open a group. (The | 545 | % are not treated as enviroments; they don't open a group. (The |
550 | % implementation of @end takes care not to call \endgroup in this | 546 | % implementation of @end takes care not to call \endgroup in this |
551 | % special case.) | 547 | % special case.) |
552 | 548 | ||
553 | 549 | ||
554 | % At run-time, environments start with this: | 550 | % At runtime, environments start with this: |
555 | \def\startenvironment#1{\begingroup\def\thisenv{#1}} | 551 | \def\startenvironment#1{\begingroup\def\thisenv{#1}} |
556 | % initialize | 552 | % initialize |
557 | \let\thisenv\empty | 553 | \let\thisenv\empty |
@@ -569,7 +565,7 @@ | |||
569 | \fi | 565 | \fi |
570 | } | 566 | } |
571 | 567 | ||
572 | % Environment mismatch, #1 expected: | 568 | % Evironment mismatch, #1 expected: |
573 | \def\badenverr{% | 569 | \def\badenverr{% |
574 | \errhelp = \EMsimple | 570 | \errhelp = \EMsimple |
575 | \errmessage{This command can appear only \inenvironment\temp, | 571 | \errmessage{This command can appear only \inenvironment\temp, |
@@ -653,8 +649,8 @@ | |||
653 | \def\jmacro{j} | 649 | \def\jmacro{j} |
654 | \def\dotless#1{% | 650 | \def\dotless#1{% |
655 | \def\temp{#1}% | 651 | \def\temp{#1}% |
656 | \ifx\temp\imacro \ifmmode\imath \else\ptexi \fi | 652 | \ifx\temp\imacro \ptexi |
657 | \else\ifx\temp\jmacro \ifmmode\jmath \else\j \fi | 653 | \else\ifx\temp\jmacro \j |
658 | \else \errmessage{@dotless can be used only with i or j}% | 654 | \else \errmessage{@dotless can be used only with i or j}% |
659 | \fi\fi | 655 | \fi\fi |
660 | } | 656 | } |
@@ -709,7 +705,7 @@ | |||
709 | \def\?{?\spacefactor=\endofsentencespacefactor\space} | 705 | \def\?{?\spacefactor=\endofsentencespacefactor\space} |
710 | 706 | ||
711 | % @frenchspacing on|off says whether to put extra space after punctuation. | 707 | % @frenchspacing on|off says whether to put extra space after punctuation. |
712 | % | 708 | % |
713 | \def\onword{on} | 709 | \def\onword{on} |
714 | \def\offword{off} | 710 | \def\offword{off} |
715 | % | 711 | % |
@@ -920,20 +916,15 @@ where each line of input produces a line of output.} | |||
920 | \temp | 916 | \temp |
921 | } | 917 | } |
922 | 918 | ||
923 | % @include FILE -- \input text of FILE. | 919 | % @include file insert text of that file as input. |
924 | % | 920 | % |
925 | \def\include{\parseargusing\filenamecatcodes\includezzz} | 921 | \def\include{\parseargusing\filenamecatcodes\includezzz} |
926 | \def\includezzz#1{% | 922 | \def\includezzz#1{% |
927 | \pushthisfilestack | 923 | \pushthisfilestack |
928 | \def\thisfile{#1}% | 924 | \def\thisfile{#1}% |
929 | {% | 925 | {% |
930 | \makevalueexpandable % we want to expand any @value in FILE. | 926 | \makevalueexpandable |
931 | \turnoffactive % and allow special characters in the expansion | 927 | \def\temp{\input #1 }% |
932 | \indexnofonts % Allow `@@' and other weird things in file names. | ||
933 | \edef\temp{\noexpand\input #1 }% | ||
934 | % | ||
935 | % This trickery is to read FILE outside of a group, in case it makes | ||
936 | % definitions, etc. | ||
937 | \expandafter | 928 | \expandafter |
938 | }\temp | 929 | }\temp |
939 | \popthisfilestack | 930 | \popthisfilestack |
@@ -948,8 +939,6 @@ where each line of input produces a line of output.} | |||
948 | \catcode`>=\other | 939 | \catcode`>=\other |
949 | \catcode`+=\other | 940 | \catcode`+=\other |
950 | \catcode`-=\other | 941 | \catcode`-=\other |
951 | \catcode`\`=\other | ||
952 | \catcode`\'=\other | ||
953 | } | 942 | } |
954 | 943 | ||
955 | \def\pushthisfilestack{% | 944 | \def\pushthisfilestack{% |
@@ -1125,16 +1114,6 @@ where each line of input produces a line of output.} | |||
1125 | \mathunderscore | 1114 | \mathunderscore |
1126 | \let\\ = \mathbackslash | 1115 | \let\\ = \mathbackslash |
1127 | \mathactive | 1116 | \mathactive |
1128 | % make the texinfo accent commands work in math mode | ||
1129 | \let\"=\ddot | ||
1130 | \let\'=\acute | ||
1131 | \let\==\bar | ||
1132 | \let\^=\hat | ||
1133 | \let\`=\grave | ||
1134 | \let\u=\breve | ||
1135 | \let\v=\check | ||
1136 | \let\~=\tilde | ||
1137 | \let\dotaccent=\dot | ||
1138 | $\finishmath | 1117 | $\finishmath |
1139 | } | 1118 | } |
1140 | \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. | 1119 | \def\finishmath#1{#1$\endgroup} % Close the group opened by \tex. |
@@ -1148,21 +1127,17 @@ where each line of input produces a line of output.} | |||
1148 | \catcode`< = \active | 1127 | \catcode`< = \active |
1149 | \catcode`> = \active | 1128 | \catcode`> = \active |
1150 | \catcode`+ = \active | 1129 | \catcode`+ = \active |
1151 | \catcode`' = \active | ||
1152 | \gdef\mathactive{% | 1130 | \gdef\mathactive{% |
1153 | \let^ = \ptexhat | 1131 | \let^ = \ptexhat |
1154 | \let< = \ptexless | 1132 | \let< = \ptexless |
1155 | \let> = \ptexgtr | 1133 | \let> = \ptexgtr |
1156 | \let+ = \ptexplus | 1134 | \let+ = \ptexplus |
1157 | \let' = \ptexquoteright | ||
1158 | } | 1135 | } |
1159 | } | 1136 | } |
1160 | 1137 | ||
1161 | % Some math mode symbols. | 1138 | % @bullet and @minus need the same treatment as @math, just above. |
1162 | \def\bullet{$\ptexbullet$} | 1139 | \def\bullet{$\ptexbullet$} |
1163 | \def\geq{\ifmmode \ge\else $\ge$\fi} | 1140 | \def\minus{$-$} |
1164 | \def\leq{\ifmmode \le\else $\le$\fi} | ||
1165 | \def\minus{\ifmmode -\else $-$\fi} | ||
1166 | 1141 | ||
1167 | % @dots{} outputs an ellipsis using the current font. | 1142 | % @dots{} outputs an ellipsis using the current font. |
1168 | % We do .5em per period so that it has the same spacing in the cm | 1143 | % We do .5em per period so that it has the same spacing in the cm |
@@ -1285,7 +1260,7 @@ where each line of input produces a line of output.} | |||
1285 | % that's what we do). | 1260 | % that's what we do). |
1286 | 1261 | ||
1287 | % double active backslashes. | 1262 | % double active backslashes. |
1288 | % | 1263 | % |
1289 | {\catcode`\@=0 \catcode`\\=\active | 1264 | {\catcode`\@=0 \catcode`\\=\active |
1290 | @gdef@activebackslashdouble{% | 1265 | @gdef@activebackslashdouble{% |
1291 | @catcode`@\=@active | 1266 | @catcode`@\=@active |
@@ -1297,11 +1272,11 @@ where each line of input produces a line of output.} | |||
1297 | % us) handles it with this amazing macro to replace tokens, with minor | 1272 | % us) handles it with this amazing macro to replace tokens, with minor |
1298 | % changes for Texinfo. It is included here under the GPL by permission | 1273 | % changes for Texinfo. It is included here under the GPL by permission |
1299 | % from the author, Heiko Oberdiek. | 1274 | % from the author, Heiko Oberdiek. |
1300 | % | 1275 | % |
1301 | % #1 is the tokens to replace. | 1276 | % #1 is the tokens to replace. |
1302 | % #2 is the replacement. | 1277 | % #2 is the replacement. |
1303 | % #3 is the control sequence with the string. | 1278 | % #3 is the control sequence with the string. |
1304 | % | 1279 | % |
1305 | \def\HyPsdSubst#1#2#3{% | 1280 | \def\HyPsdSubst#1#2#3{% |
1306 | \def\HyPsdReplace##1#1##2\END{% | 1281 | \def\HyPsdReplace##1#1##2\END{% |
1307 | ##1% | 1282 | ##1% |
@@ -1336,10 +1311,7 @@ output) for that.)} | |||
1336 | \def\cmykDarkRed{0.28 1 1 0.35} | 1311 | \def\cmykDarkRed{0.28 1 1 0.35} |
1337 | \def\cmykBlack{0 0 0 1} | 1312 | \def\cmykBlack{0 0 0 1} |
1338 | % | 1313 | % |
1339 | % k sets the color for filling (usual text, etc.); | 1314 | \def\pdfsetcolor#1{\pdfliteral{#1 k}} |
1340 | % K sets the color for stroking (thin rules, e.g., normal _'s). | ||
1341 | \def\pdfsetcolor#1{\pdfliteral{#1 k #1 K}} | ||
1342 | % | ||
1343 | % Set color, and create a mark which defines \thiscolor accordingly, | 1315 | % Set color, and create a mark which defines \thiscolor accordingly, |
1344 | % so that \makeheadline knows which color to restore. | 1316 | % so that \makeheadline knows which color to restore. |
1345 | \def\setcolor#1{% | 1317 | \def\setcolor#1{% |
@@ -1390,11 +1362,8 @@ output) for that.)} | |||
1390 | \openin 1 #1.jpeg \ifeof 1 | 1362 | \openin 1 #1.jpeg \ifeof 1 |
1391 | \openin 1 #1.JPG \ifeof 1 | 1363 | \openin 1 #1.JPG \ifeof 1 |
1392 | \openin 1 #1.pdf \ifeof 1 | 1364 | \openin 1 #1.pdf \ifeof 1 |
1393 | \openin 1 #1.PDF \ifeof 1 | 1365 | \errhelp = \nopdfimagehelp |
1394 | \errhelp = \nopdfimagehelp | 1366 | \errmessage{Could not find image file #1 for pdf}% |
1395 | \errmessage{Could not find image file #1 for pdf}% | ||
1396 | \else \gdef\pdfimgext{PDF}% | ||
1397 | \fi | ||
1398 | \else \gdef\pdfimgext{pdf}% | 1367 | \else \gdef\pdfimgext{pdf}% |
1399 | \fi | 1368 | \fi |
1400 | \else \gdef\pdfimgext{JPG}% | 1369 | \else \gdef\pdfimgext{JPG}% |
@@ -1408,7 +1377,7 @@ output) for that.)} | |||
1408 | \closein 1 | 1377 | \closein 1 |
1409 | \endgroup | 1378 | \endgroup |
1410 | % | 1379 | % |
1411 | % without \immediate, ancient pdftex seg faults when the same image is | 1380 | % without \immediate, pdftex seg faults when the same image is |
1412 | % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) | 1381 | % included twice. (Version 3.14159-pre-1.0-unofficial-20010704.) |
1413 | \ifnum\pdftexversion < 14 | 1382 | \ifnum\pdftexversion < 14 |
1414 | \immediate\pdfimage | 1383 | \immediate\pdfimage |
@@ -1573,15 +1542,11 @@ output) for that.)} | |||
1573 | % tried to figure out what each command should do in the context | 1542 | % tried to figure out what each command should do in the context |
1574 | % of @url. for now, just make @/ a no-op, that's the only one | 1543 | % of @url. for now, just make @/ a no-op, that's the only one |
1575 | % people have actually reported a problem with. | 1544 | % people have actually reported a problem with. |
1576 | % | 1545 | % |
1577 | \normalturnoffactive | 1546 | \normalturnoffactive |
1578 | \def\@{@}% | 1547 | \def\@{@}% |
1579 | \let\/=\empty | 1548 | \let\/=\empty |
1580 | \makevalueexpandable | 1549 | \makevalueexpandable |
1581 | % do we want to go so far as to use \indexnofonts instead of just | ||
1582 | % special-casing \var here? | ||
1583 | \def\var##1{##1}% | ||
1584 | % | ||
1585 | \leavevmode\setcolor{\urlcolor}% | 1550 | \leavevmode\setcolor{\urlcolor}% |
1586 | \startlink attr{/Border [0 0 0]}% | 1551 | \startlink attr{/Border [0 0 0]}% |
1587 | user{/Subtype /Link /A << /S /URI /URI (#1) >>}% | 1552 | user{/Subtype /Link /A << /S /URI /URI (#1) >>}% |
@@ -1612,7 +1577,6 @@ output) for that.)} | |||
1612 | \setcolor{\linkcolor}#1\endlink} | 1577 | \setcolor{\linkcolor}#1\endlink} |
1613 | \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} | 1578 | \def\done{\edef\st{\global\noexpand\toksA={\the\toksB}}\st} |
1614 | \else | 1579 | \else |
1615 | % non-pdf mode | ||
1616 | \let\pdfmkdest = \gobble | 1580 | \let\pdfmkdest = \gobble |
1617 | \let\pdfurl = \gobble | 1581 | \let\pdfurl = \gobble |
1618 | \let\endlink = \relax | 1582 | \let\endlink = \relax |
@@ -1643,10 +1607,6 @@ output) for that.)} | |||
1643 | \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} | 1607 | \def\bf{\fam=\bffam \setfontstyle{bf}}\def\bfstylename{bf} |
1644 | \def\tt{\fam=\ttfam \setfontstyle{tt}} | 1608 | \def\tt{\fam=\ttfam \setfontstyle{tt}} |
1645 | 1609 | ||
1646 | % Unfortunately, we have to override this for titles and the like, since | ||
1647 | % in those cases "rm" is bold. Sigh. | ||
1648 | \def\rmisbold{\rm\def\curfontstyle{bf}} | ||
1649 | |||
1650 | % Texinfo sort of supports the sans serif font style, which plain TeX does not. | 1610 | % Texinfo sort of supports the sans serif font style, which plain TeX does not. |
1651 | % So we set up a \sf. | 1611 | % So we set up a \sf. |
1652 | \newfam\sffam | 1612 | \newfam\sffam |
@@ -1981,7 +1941,7 @@ end | |||
1981 | 1941 | ||
1982 | % Definitions for a main text size of 11pt. This is the default in | 1942 | % Definitions for a main text size of 11pt. This is the default in |
1983 | % Texinfo. | 1943 | % Texinfo. |
1984 | % | 1944 | % |
1985 | \def\definetextfontsizexi{% | 1945 | \def\definetextfontsizexi{% |
1986 | % Text fonts (11.2pt, magstep1). | 1946 | % Text fonts (11.2pt, magstep1). |
1987 | \def\textnominalsize{11pt} | 1947 | \def\textnominalsize{11pt} |
@@ -2044,6 +2004,8 @@ end | |||
2044 | \setfont\titlesc\scbshape{10}{\magstep4}{OT1} | 2004 | \setfont\titlesc\scbshape{10}{\magstep4}{OT1} |
2045 | \font\titlei=cmmi12 scaled \magstep3 | 2005 | \font\titlei=cmmi12 scaled \magstep3 |
2046 | \font\titlesy=cmsy10 scaled \magstep4 | 2006 | \font\titlesy=cmsy10 scaled \magstep4 |
2007 | \def\authorrm{\secrm} | ||
2008 | \def\authortt{\sectt} | ||
2047 | \def\titleecsize{2074} | 2009 | \def\titleecsize{2074} |
2048 | 2010 | ||
2049 | % Chapter (and unnumbered) fonts (17.28pt). | 2011 | % Chapter (and unnumbered) fonts (17.28pt). |
@@ -2112,7 +2074,7 @@ end | |||
2112 | % section, chapter, etc., sizes following suit. This is for the GNU | 2074 | % section, chapter, etc., sizes following suit. This is for the GNU |
2113 | % Press printing of the Emacs 22 manual. Maybe other manuals in the | 2075 | % Press printing of the Emacs 22 manual. Maybe other manuals in the |
2114 | % future. Used with @smallbook, which sets the leading to 12pt. | 2076 | % future. Used with @smallbook, which sets the leading to 12pt. |
2115 | % | 2077 | % |
2116 | \def\definetextfontsizex{% | 2078 | \def\definetextfontsizex{% |
2117 | % Text fonts (10pt). | 2079 | % Text fonts (10pt). |
2118 | \def\textnominalsize{10pt} | 2080 | \def\textnominalsize{10pt} |
@@ -2175,6 +2137,8 @@ end | |||
2175 | \setfont\titlesc\scbshape{10}{\magstep4}{OT1} | 2137 | \setfont\titlesc\scbshape{10}{\magstep4}{OT1} |
2176 | \font\titlei=cmmi12 scaled \magstep3 | 2138 | \font\titlei=cmmi12 scaled \magstep3 |
2177 | \font\titlesy=cmsy10 scaled \magstep4 | 2139 | \font\titlesy=cmsy10 scaled \magstep4 |
2140 | \def\authorrm{\secrm} | ||
2141 | \def\authortt{\sectt} | ||
2178 | \def\titleecsize{2074} | 2142 | \def\titleecsize{2074} |
2179 | 2143 | ||
2180 | % Chapter fonts (14.4pt). | 2144 | % Chapter fonts (14.4pt). |
@@ -2201,7 +2165,7 @@ end | |||
2201 | \setfont\secsf\sfbshape{12}{1000}{OT1} | 2165 | \setfont\secsf\sfbshape{12}{1000}{OT1} |
2202 | \let\secbf\secrm | 2166 | \let\secbf\secrm |
2203 | \setfont\secsc\scbshape{10}{\magstep1}{OT1} | 2167 | \setfont\secsc\scbshape{10}{\magstep1}{OT1} |
2204 | \font\seci=cmmi12 | 2168 | \font\seci=cmmi12 |
2205 | \font\secsy=cmsy10 scaled \magstep1 | 2169 | \font\secsy=cmsy10 scaled \magstep1 |
2206 | \def\sececsize{1200} | 2170 | \def\sececsize{1200} |
2207 | 2171 | ||
@@ -2245,7 +2209,7 @@ end | |||
2245 | % We provide the user-level command | 2209 | % We provide the user-level command |
2246 | % @fonttextsize 10 | 2210 | % @fonttextsize 10 |
2247 | % (or 11) to redefine the text font size. pt is assumed. | 2211 | % (or 11) to redefine the text font size. pt is assumed. |
2248 | % | 2212 | % |
2249 | \def\xword{10} | 2213 | \def\xword{10} |
2250 | \def\xiword{11} | 2214 | \def\xiword{11} |
2251 | % | 2215 | % |
@@ -2255,7 +2219,7 @@ end | |||
2255 | % | 2219 | % |
2256 | % Set \globaldefs so that documents can use this inside @tex, since | 2220 | % Set \globaldefs so that documents can use this inside @tex, since |
2257 | % makeinfo 4.8 does not support it, but we need it nonetheless. | 2221 | % makeinfo 4.8 does not support it, but we need it nonetheless. |
2258 | % | 2222 | % |
2259 | \begingroup \globaldefs=1 | 2223 | \begingroup \globaldefs=1 |
2260 | \ifx\textsizearg\xword \definetextfontsizex | 2224 | \ifx\textsizearg\xword \definetextfontsizex |
2261 | \else \ifx\textsizearg\xiword \definetextfontsizexi | 2225 | \else \ifx\textsizearg\xiword \definetextfontsizexi |
@@ -2306,7 +2270,7 @@ end | |||
2306 | \def\curfontsize{title}% | 2270 | \def\curfontsize{title}% |
2307 | \def\lsize{chap}\def\lllsize{subsec}% | 2271 | \def\lsize{chap}\def\lllsize{subsec}% |
2308 | \resetmathfonts \setleading{25pt}} | 2272 | \resetmathfonts \setleading{25pt}} |
2309 | \def\titlefont#1{{\titlefonts\rmisbold #1}} | 2273 | \def\titlefont#1{{\titlefonts\rm #1}} |
2310 | \def\chapfonts{% | 2274 | \def\chapfonts{% |
2311 | \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl | 2275 | \let\tenrm=\chaprm \let\tenit=\chapit \let\tensl=\chapsl |
2312 | \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc | 2276 | \let\tenbf=\chapbf \let\tentt=\chaptt \let\smallcaps=\chapsc |
@@ -2357,16 +2321,6 @@ end | |||
2357 | \def\lsize{smaller}\def\lllsize{smaller}% | 2321 | \def\lsize{smaller}\def\lllsize{smaller}% |
2358 | \resetmathfonts \setleading{9.5pt}} | 2322 | \resetmathfonts \setleading{9.5pt}} |
2359 | 2323 | ||
2360 | % Fonts for short table of contents. | ||
2361 | \setfont\shortcontrm\rmshape{12}{1000}{OT1} | ||
2362 | \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 | ||
2363 | \setfont\shortcontsl\slshape{12}{1000}{OT1} | ||
2364 | \setfont\shortconttt\ttshape{12}{1000}{OT1TT} | ||
2365 | |||
2366 | % Define these just so they can be easily changed for other fonts. | ||
2367 | \def\angleleft{$\langle$} | ||
2368 | \def\angleright{$\rangle$} | ||
2369 | |||
2370 | % Set the fonts to use with the @small... environments. | 2324 | % Set the fonts to use with the @small... environments. |
2371 | \let\smallexamplefonts = \smallfonts | 2325 | \let\smallexamplefonts = \smallfonts |
2372 | 2326 | ||
@@ -2380,128 +2334,28 @@ end | |||
2380 | % | 2334 | % |
2381 | % By the way, for comparison, here's what fits with @example (10pt): | 2335 | % By the way, for comparison, here's what fits with @example (10pt): |
2382 | % 8.5x11=71 smallbook=60 a4=75 a5=58 | 2336 | % 8.5x11=71 smallbook=60 a4=75 a5=58 |
2337 | % | ||
2338 | % I wish the USA used A4 paper. | ||
2383 | % --karl, 24jan03. | 2339 | % --karl, 24jan03. |
2384 | 2340 | ||
2341 | |||
2385 | % Set up the default fonts, so we can use them for creating boxes. | 2342 | % Set up the default fonts, so we can use them for creating boxes. |
2386 | % | 2343 | % |
2387 | \definetextfontsizexi | 2344 | \definetextfontsizexi |
2388 | 2345 | ||
2389 | 2346 | % Define these so they can be easily changed for other fonts. | |
2390 | \message{markup,} | 2347 | \def\angleleft{$\langle$} |
2391 | 2348 | \def\angleright{$\rangle$} | |
2392 | % Check if we are currently using a typewriter font. Since all the | ||
2393 | % Computer Modern typewriter fonts have zero interword stretch (and | ||
2394 | % shrink), and it is reasonable to expect all typewriter fonts to have | ||
2395 | % this property, we can check that font parameter. | ||
2396 | % | ||
2397 | \def\ifmonospace{\ifdim\fontdimen3\font=0pt } | ||
2398 | |||
2399 | % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will | ||
2400 | % define and register \INITMACRO to be called on markup style changes. | ||
2401 | % \INITMACRO can check \currentmarkupstyle for the innermost | ||
2402 | % style and the set of \ifmarkupSTYLE switches for all styles | ||
2403 | % currently in effect. | ||
2404 | \newif\ifmarkupvar | ||
2405 | \newif\ifmarkupsamp | ||
2406 | \newif\ifmarkupkey | ||
2407 | %\newif\ifmarkupfile % @file == @samp. | ||
2408 | %\newif\ifmarkupoption % @option == @samp. | ||
2409 | \newif\ifmarkupcode | ||
2410 | \newif\ifmarkupkbd | ||
2411 | %\newif\ifmarkupenv % @env == @code. | ||
2412 | %\newif\ifmarkupcommand % @command == @code. | ||
2413 | \newif\ifmarkuptex % @tex (and part of @math, for now). | ||
2414 | \newif\ifmarkupexample | ||
2415 | \newif\ifmarkupverb | ||
2416 | \newif\ifmarkupverbatim | ||
2417 | |||
2418 | \let\currentmarkupstyle\empty | ||
2419 | |||
2420 | \def\setupmarkupstyle#1{% | ||
2421 | \csname markup#1true\endcsname | ||
2422 | \def\currentmarkupstyle{#1}% | ||
2423 | \markupstylesetup | ||
2424 | } | ||
2425 | |||
2426 | \let\markupstylesetup\empty | ||
2427 | |||
2428 | \def\defmarkupstylesetup#1{% | ||
2429 | \expandafter\def\expandafter\markupstylesetup | ||
2430 | \expandafter{\markupstylesetup #1}% | ||
2431 | \def#1% | ||
2432 | } | ||
2433 | |||
2434 | % Markup style setup for left and right quotes. | ||
2435 | \defmarkupstylesetup\markupsetuplq{% | ||
2436 | \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname | ||
2437 | \ifx\temp\relax \markupsetuplqdefault \else \temp \fi | ||
2438 | } | ||
2439 | |||
2440 | \defmarkupstylesetup\markupsetuprq{% | ||
2441 | \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname | ||
2442 | \ifx\temp\relax \markupsetuprqdefault \else \temp \fi | ||
2443 | } | ||
2444 | |||
2445 | { | ||
2446 | \catcode`\'=\active | ||
2447 | \catcode`\`=\active | ||
2448 | |||
2449 | \gdef\markupsetuplqdefault{\let`\lq} | ||
2450 | \gdef\markupsetuprqdefault{\let'\rq} | ||
2451 | |||
2452 | \gdef\markupsetcodequoteleft{\let`\codequoteleft} | ||
2453 | \gdef\markupsetcodequoteright{\let'\codequoteright} | ||
2454 | |||
2455 | \gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} | ||
2456 | } | ||
2457 | |||
2458 | \let\markupsetuplqcode \markupsetcodequoteleft | ||
2459 | \let\markupsetuprqcode \markupsetcodequoteright | ||
2460 | \let\markupsetuplqexample \markupsetcodequoteleft | ||
2461 | \let\markupsetuprqexample \markupsetcodequoteright | ||
2462 | \let\markupsetuplqverb \markupsetcodequoteleft | ||
2463 | \let\markupsetuprqverb \markupsetcodequoteright | ||
2464 | \let\markupsetuplqverbatim \markupsetcodequoteleft | ||
2465 | \let\markupsetuprqverbatim \markupsetcodequoteright | ||
2466 | |||
2467 | \let\markupsetuplqsamp \markupsetnoligaturesquoteleft | ||
2468 | \let\markupsetuplqkbd \markupsetnoligaturesquoteleft | ||
2469 | |||
2470 | % Allow an option to not replace quotes with a regular directed right | ||
2471 | % quote/apostrophe (char 0x27), but instead use the undirected quote | ||
2472 | % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it | ||
2473 | % the default, but it works for pasting with more pdf viewers (at least | ||
2474 | % evince), the lilypond developers report. xpdf does work with the | ||
2475 | % regular 0x27. | ||
2476 | % | ||
2477 | \def\codequoteright{% | ||
2478 | \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax | ||
2479 | \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax | ||
2480 | '% | ||
2481 | \else \char'15 \fi | ||
2482 | \else \char'15 \fi | ||
2483 | } | ||
2484 | % | ||
2485 | % and a similar option for the left quote char vs. a grave accent. | ||
2486 | % Modern fonts display ASCII 0x60 as a grave accent, so some people like | ||
2487 | % the code environments to do likewise. | ||
2488 | % | ||
2489 | \def\codequoteleft{% | ||
2490 | \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax | ||
2491 | \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax | ||
2492 | % [Knuth] pp. 380,381,391 | ||
2493 | % \relax disables Spanish ligatures ?` and !` of \tt font. | ||
2494 | \relax`% | ||
2495 | \else \char'22 \fi | ||
2496 | \else \char'22 \fi | ||
2497 | } | ||
2498 | |||
2499 | % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. | ||
2500 | \def\noligaturesquoteleft{\relax\lq} | ||
2501 | 2349 | ||
2502 | % Count depth in font-changes, for error checks | 2350 | % Count depth in font-changes, for error checks |
2503 | \newcount\fontdepth \fontdepth=0 | 2351 | \newcount\fontdepth \fontdepth=0 |
2504 | 2352 | ||
2353 | % Fonts for short table of contents. | ||
2354 | \setfont\shortcontrm\rmshape{12}{1000}{OT1} | ||
2355 | \setfont\shortcontbf\bfshape{10}{\magstep1}{OT1} % no cmb12 | ||
2356 | \setfont\shortcontsl\slshape{12}{1000}{OT1} | ||
2357 | \setfont\shortconttt\ttshape{12}{1000}{OT1TT} | ||
2358 | |||
2505 | %% Add scribe-like font environments, plus @l for inline lisp (usually sans | 2359 | %% Add scribe-like font environments, plus @l for inline lisp (usually sans |
2506 | %% serif) and @ii for TeX italic | 2360 | %% serif) and @ii for TeX italic |
2507 | 2361 | ||
@@ -2516,22 +2370,17 @@ end | |||
2516 | % @var is set to this for defun arguments. | 2370 | % @var is set to this for defun arguments. |
2517 | \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} | 2371 | \def\ttslanted#1{{\ttsl #1}\futurelet\next\smartitalicx} |
2518 | 2372 | ||
2519 | % @cite is like \smartslanted except unconditionally use \sl. We never want | 2373 | % like \smartslanted except unconditionally use \sl. We never want |
2520 | % ttsl for book titles, do we? | 2374 | % ttsl for book titles, do we? |
2521 | \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} | 2375 | \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} |
2522 | 2376 | ||
2523 | \let\i=\smartitalic | 2377 | \let\i=\smartitalic |
2524 | \let\slanted=\smartslanted | 2378 | \let\slanted=\smartslanted |
2525 | \def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} | 2379 | \let\var=\smartslanted |
2526 | \let\dfn=\smartslanted | 2380 | \let\dfn=\smartslanted |
2527 | \let\emph=\smartitalic | 2381 | \let\emph=\smartitalic |
2528 | 2382 | ||
2529 | % Explicit font changes: @r, @sc, undocumented @ii. | 2383 | % @b, explicit bold. |
2530 | \def\r#1{{\rm #1}} % roman font | ||
2531 | \def\sc#1{{\smallcaps#1}} % smallcaps font | ||
2532 | \def\ii#1{{\it #1}} % italic font | ||
2533 | |||
2534 | % @b, explicit bold. Also @strong. | ||
2535 | \def\b#1{{\bf #1}} | 2384 | \def\b#1{{\bf #1}} |
2536 | \let\strong=\b | 2385 | \let\strong=\b |
2537 | 2386 | ||
@@ -2563,35 +2412,22 @@ end | |||
2563 | \catcode`@=\other | 2412 | \catcode`@=\other |
2564 | \def\endofsentencespacefactor{3000}% default | 2413 | \def\endofsentencespacefactor{3000}% default |
2565 | 2414 | ||
2566 | % @t, explicit typewriter. | ||
2567 | \def\t#1{% | 2415 | \def\t#1{% |
2568 | {\tt \rawbackslash \plainfrenchspacing #1}% | 2416 | {\tt \rawbackslash \plainfrenchspacing #1}% |
2569 | \null | 2417 | \null |
2570 | } | 2418 | } |
2571 | 2419 | \def\samp#1{`\tclose{#1}'\null} | |
2572 | % @samp. | 2420 | \setfont\keyrm\rmshape{8}{1000}{OT1} |
2573 | \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} | 2421 | \font\keysy=cmsy9 |
2574 | 2422 | \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% | |
2575 | % definition of @key that produces a lozenge. Doesn't adjust to text size. | 2423 | \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% |
2576 | %\setfont\keyrm\rmshape{8}{1000}{OT1} | 2424 | \vbox{\hrule\kern-0.4pt |
2577 | %\font\keysy=cmsy9 | 2425 | \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% |
2578 | %\def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% | 2426 | \kern-0.4pt\hrule}% |
2579 | % \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% | 2427 | \kern-.06em\raise0.4pt\hbox{\angleright}}}} |
2580 | % \vbox{\hrule\kern-0.4pt | 2428 | \def\key #1{{\nohyphenation \uppercase{#1}}\null} |
2581 | % \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% | 2429 | % The old definition, with no lozenge: |
2582 | % \kern-0.4pt\hrule}% | 2430 | %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} |
2583 | % \kern-.06em\raise0.4pt\hbox{\angleright}}}} | ||
2584 | |||
2585 | % definition of @key with no lozenge. If the current font is already | ||
2586 | % monospace, don't change it; that way, we respect @kbdinputstyle. But | ||
2587 | % if it isn't monospace, then use \tt. | ||
2588 | % | ||
2589 | \def\key#1{{\setupmarkupstyle{key}% | ||
2590 | \nohyphenation | ||
2591 | \ifmonospace\else\tt\fi | ||
2592 | #1}\null} | ||
2593 | |||
2594 | % ctrl is no longer a Texinfo command. | ||
2595 | \def\ctrl #1{{\tt \rawbackslash \hat}#1} | 2431 | \def\ctrl #1{{\tt \rawbackslash \hat}#1} |
2596 | 2432 | ||
2597 | % @file, @option are the same as @samp. | 2433 | % @file, @option are the same as @samp. |
@@ -2633,11 +2469,11 @@ end | |||
2633 | { | 2469 | { |
2634 | \catcode`\-=\active \catcode`\_=\active | 2470 | \catcode`\-=\active \catcode`\_=\active |
2635 | \catcode`\'=\active \catcode`\`=\active | 2471 | \catcode`\'=\active \catcode`\`=\active |
2636 | \global\let'=\rq \global\let`=\lq % default definitions | ||
2637 | % | 2472 | % |
2638 | \global\def\code{\begingroup | 2473 | \global\def\code{\begingroup |
2639 | \setupmarkupstyle{code}% | 2474 | \catcode\rquoteChar=\active \catcode\lquoteChar=\active |
2640 | % The following should really be moved into \setupmarkupstyle handlers. | 2475 | \let'\codequoteright \let`\codequoteleft |
2476 | % | ||
2641 | \catcode\dashChar=\active \catcode\underChar=\active | 2477 | \catcode\dashChar=\active \catcode\underChar=\active |
2642 | \ifallowcodebreaks | 2478 | \ifallowcodebreaks |
2643 | \let-\codedash | 2479 | \let-\codedash |
@@ -2669,7 +2505,7 @@ end | |||
2669 | % each of the four underscores in __typeof__. This is undesirable in | 2505 | % each of the four underscores in __typeof__. This is undesirable in |
2670 | % some manuals, especially if they don't have long identifiers in | 2506 | % some manuals, especially if they don't have long identifiers in |
2671 | % general. @allowcodebreaks provides a way to control this. | 2507 | % general. @allowcodebreaks provides a way to control this. |
2672 | % | 2508 | % |
2673 | \newif\ifallowcodebreaks \allowcodebreakstrue | 2509 | \newif\ifallowcodebreaks \allowcodebreakstrue |
2674 | 2510 | ||
2675 | \def\keywordtrue{true} | 2511 | \def\keywordtrue{true} |
@@ -2689,7 +2525,6 @@ end | |||
2689 | 2525 | ||
2690 | % @kbd is like @code, except that if the argument is just one @key command, | 2526 | % @kbd is like @code, except that if the argument is just one @key command, |
2691 | % then @kbd has no effect. | 2527 | % then @kbd has no effect. |
2692 | \def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} | ||
2693 | 2528 | ||
2694 | % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), | 2529 | % @kbdinputstyle -- arg is `distinct' (@kbd uses slanted tty font always), |
2695 | % `example' (@kbd uses ttsl only inside of @example and friends), | 2530 | % `example' (@kbd uses ttsl only inside of @example and friends), |
@@ -2711,27 +2546,20 @@ end | |||
2711 | \def\wordexample{example} | 2546 | \def\wordexample{example} |
2712 | \def\wordcode{code} | 2547 | \def\wordcode{code} |
2713 | 2548 | ||
2714 | % Default is `distinct'. | 2549 | % Default is `distinct.' |
2715 | \kbdinputstyle distinct | 2550 | \kbdinputstyle distinct |
2716 | 2551 | ||
2717 | \def\xkey{\key} | 2552 | \def\xkey{\key} |
2718 | \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% | 2553 | \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% |
2719 | \ifx\one\xkey\ifx\threex\three \key{#2}% | 2554 | \ifx\one\xkey\ifx\threex\three \key{#2}% |
2720 | \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi | 2555 | \else{\tclose{\kbdfont\look}}\fi |
2721 | \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} | 2556 | \else{\tclose{\kbdfont\look}}\fi} |
2722 | 2557 | ||
2723 | % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. | 2558 | % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. |
2724 | \let\indicateurl=\code | 2559 | \let\indicateurl=\code |
2725 | \let\env=\code | 2560 | \let\env=\code |
2726 | \let\command=\code | 2561 | \let\command=\code |
2727 | 2562 | ||
2728 | % @clicksequence{File @click{} Open ...} | ||
2729 | \def\clicksequence#1{\begingroup #1\endgroup} | ||
2730 | |||
2731 | % @clickstyle @arrow (by default) | ||
2732 | \parseargdef\clickstyle{\def\click{#1}} | ||
2733 | \def\click{\arrow} | ||
2734 | |||
2735 | % @uref (abbreviation for `urlref') takes an optional (comma-separated) | 2563 | % @uref (abbreviation for `urlref') takes an optional (comma-separated) |
2736 | % second argument specifying the text to display and an optional third | 2564 | % second argument specifying the text to display and an optional third |
2737 | % arg as text to display instead of (rather than in addition to) the url | 2565 | % arg as text to display instead of (rather than in addition to) the url |
@@ -2781,20 +2609,34 @@ end | |||
2781 | \let\email=\uref | 2609 | \let\email=\uref |
2782 | \fi | 2610 | \fi |
2783 | 2611 | ||
2612 | % Check if we are currently using a typewriter font. Since all the | ||
2613 | % Computer Modern typewriter fonts have zero interword stretch (and | ||
2614 | % shrink), and it is reasonable to expect all typewriter fonts to have | ||
2615 | % this property, we can check that font parameter. | ||
2616 | % | ||
2617 | \def\ifmonospace{\ifdim\fontdimen3\font=0pt } | ||
2618 | |||
2784 | % Typeset a dimension, e.g., `in' or `pt'. The only reason for the | 2619 | % Typeset a dimension, e.g., `in' or `pt'. The only reason for the |
2785 | % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. | 2620 | % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. |
2786 | % | 2621 | % |
2787 | \def\dmn#1{\thinspace #1} | 2622 | \def\dmn#1{\thinspace #1} |
2788 | 2623 | ||
2624 | \def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} | ||
2625 | |||
2789 | % @l was never documented to mean ``switch to the Lisp font'', | 2626 | % @l was never documented to mean ``switch to the Lisp font'', |
2790 | % and it is not used as such in any manual I can find. We need it for | 2627 | % and it is not used as such in any manual I can find. We need it for |
2791 | % Polish suppressed-l. --karl, 22sep96. | 2628 | % Polish suppressed-l. --karl, 22sep96. |
2792 | %\def\l#1{{\li #1}\null} | 2629 | %\def\l#1{{\li #1}\null} |
2793 | 2630 | ||
2631 | % Explicit font changes: @r, @sc, undocumented @ii. | ||
2632 | \def\r#1{{\rm #1}} % roman font | ||
2633 | \def\sc#1{{\smallcaps#1}} % smallcaps font | ||
2634 | \def\ii#1{{\it #1}} % italic font | ||
2635 | |||
2794 | % @acronym for "FBI", "NATO", and the like. | 2636 | % @acronym for "FBI", "NATO", and the like. |
2795 | % We print this one point size smaller, since it's intended for | 2637 | % We print this one point size smaller, since it's intended for |
2796 | % all-uppercase. | 2638 | % all-uppercase. |
2797 | % | 2639 | % |
2798 | \def\acronym#1{\doacronym #1,,\finish} | 2640 | \def\acronym#1{\doacronym #1,,\finish} |
2799 | \def\doacronym#1,#2,#3\finish{% | 2641 | \def\doacronym#1,#2,#3\finish{% |
2800 | {\selectfonts\lsize #1}% | 2642 | {\selectfonts\lsize #1}% |
@@ -2806,7 +2648,7 @@ end | |||
2806 | 2648 | ||
2807 | % @abbr for "Comput. J." and the like. | 2649 | % @abbr for "Comput. J." and the like. |
2808 | % No font change, but don't do end-of-sentence spacing. | 2650 | % No font change, but don't do end-of-sentence spacing. |
2809 | % | 2651 | % |
2810 | \def\abbr#1{\doabbr #1,,\finish} | 2652 | \def\abbr#1{\doabbr #1,,\finish} |
2811 | \def\doabbr#1,#2,#3\finish{% | 2653 | \def\doabbr#1,#2,#3\finish{% |
2812 | {\plainfrenchspacing #1}% | 2654 | {\plainfrenchspacing #1}% |
@@ -2816,44 +2658,6 @@ end | |||
2816 | \fi | 2658 | \fi |
2817 | } | 2659 | } |
2818 | 2660 | ||
2819 | |||
2820 | \message{glyphs,} | ||
2821 | |||
2822 | % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. | ||
2823 | % | ||
2824 | % Since these characters are used in examples, they should be an even number of | ||
2825 | % \tt widths. Each \tt character is 1en, so two makes it 1em. | ||
2826 | % | ||
2827 | \def\point{$\star$} | ||
2828 | \def\arrow{\leavevmode\raise.05ex\hbox to 1em{\hfil$\rightarrow$\hfil}} | ||
2829 | \def\result{\leavevmode\raise.05ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} | ||
2830 | \def\expansion{\leavevmode\hbox to 1em{\hfil$\mapsto$\hfil}} | ||
2831 | \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} | ||
2832 | \def\equiv{\leavevmode\hbox to 1em{\hfil$\ptexequiv$\hfil}} | ||
2833 | |||
2834 | % The @error{} command. | ||
2835 | % Adapted from the TeXbook's \boxit. | ||
2836 | % | ||
2837 | \newbox\errorbox | ||
2838 | % | ||
2839 | {\tentt \global\dimen0 = 3em}% Width of the box. | ||
2840 | \dimen2 = .55pt % Thickness of rules | ||
2841 | % The text. (`r' is open on the right, `e' somewhat less so on the left.) | ||
2842 | \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} | ||
2843 | % | ||
2844 | \setbox\errorbox=\hbox to \dimen0{\hfil | ||
2845 | \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. | ||
2846 | \advance\hsize by -2\dimen2 % Rules. | ||
2847 | \vbox{% | ||
2848 | \hrule height\dimen2 | ||
2849 | \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. | ||
2850 | \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. | ||
2851 | \kern3pt\vrule width\dimen2}% Space to right. | ||
2852 | \hrule height\dimen2} | ||
2853 | \hfil} | ||
2854 | % | ||
2855 | \def\error{\leavevmode\lower.7ex\copy\errorbox} | ||
2856 | |||
2857 | % @pounds{} is a sterling sign, which Knuth put in the CM italic font. | 2661 | % @pounds{} is a sterling sign, which Knuth put in the CM italic font. |
2858 | % | 2662 | % |
2859 | \def\pounds{{\it\$}} | 2663 | \def\pounds{{\it\$}} |
@@ -2863,59 +2667,52 @@ end | |||
2863 | % Theiling, which support regular, slanted, bold and bold slanted (and | 2667 | % Theiling, which support regular, slanted, bold and bold slanted (and |
2864 | % "outlined" (blackboard board, sort of) versions, which we don't need). | 2668 | % "outlined" (blackboard board, sort of) versions, which we don't need). |
2865 | % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. | 2669 | % It is available from http://www.ctan.org/tex-archive/fonts/eurosym. |
2866 | % | 2670 | % |
2867 | % Although only regular is the truly official Euro symbol, we ignore | 2671 | % Although only regular is the truly official Euro symbol, we ignore |
2868 | % that. The Euro is designed to be slightly taller than the regular | 2672 | % that. The Euro is designed to be slightly taller than the regular |
2869 | % font height. | 2673 | % font height. |
2870 | % | 2674 | % |
2871 | % feymr - regular | 2675 | % feymr - regular |
2872 | % feymo - slanted | 2676 | % feymo - slanted |
2873 | % feybr - bold | 2677 | % feybr - bold |
2874 | % feybo - bold slanted | 2678 | % feybo - bold slanted |
2875 | % | 2679 | % |
2876 | % There is no good (free) typewriter version, to my knowledge. | 2680 | % There is no good (free) typewriter version, to my knowledge. |
2877 | % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. | 2681 | % A feymr10 euro is ~7.3pt wide, while a normal cmtt10 char is ~5.25pt wide. |
2878 | % Hmm. | 2682 | % Hmm. |
2879 | % | 2683 | % |
2880 | % Also doesn't work in math. Do we need to do math with euro symbols? | 2684 | % Also doesn't work in math. Do we need to do math with euro symbols? |
2881 | % Hope not. | 2685 | % Hope not. |
2882 | % | 2686 | % |
2883 | % | 2687 | % |
2884 | \def\euro{{\eurofont e}} | 2688 | \def\euro{{\eurofont e}} |
2885 | \def\eurofont{% | 2689 | \def\eurofont{% |
2886 | % We set the font at each command, rather than predefining it in | 2690 | % We set the font at each command, rather than predefining it in |
2887 | % \textfonts and the other font-switching commands, so that | 2691 | % \textfonts and the other font-switching commands, so that |
2888 | % installations which never need the symbol don't have to have the | 2692 | % installations which never need the symbol don't have to have the |
2889 | % font installed. | 2693 | % font installed. |
2890 | % | 2694 | % |
2891 | % There is only one designed size (nominal 10pt), so we always scale | 2695 | % There is only one designed size (nominal 10pt), so we always scale |
2892 | % that to the current nominal size. | 2696 | % that to the current nominal size. |
2893 | % | 2697 | % |
2894 | % By the way, simply using "at 1em" works for cmr10 and the like, but | 2698 | % By the way, simply using "at 1em" works for cmr10 and the like, but |
2895 | % does not work for cmbx10 and other extended/shrunken fonts. | 2699 | % does not work for cmbx10 and other extended/shrunken fonts. |
2896 | % | 2700 | % |
2897 | \def\eurosize{\csname\curfontsize nominalsize\endcsname}% | 2701 | \def\eurosize{\csname\curfontsize nominalsize\endcsname}% |
2898 | % | 2702 | % |
2899 | \ifx\curfontstyle\bfstylename | 2703 | \ifx\curfontstyle\bfstylename |
2900 | % bold: | 2704 | % bold: |
2901 | \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize | 2705 | \font\thiseurofont = \ifusingit{feybo10}{feybr10} at \eurosize |
2902 | \else | 2706 | \else |
2903 | % regular: | 2707 | % regular: |
2904 | \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize | 2708 | \font\thiseurofont = \ifusingit{feymo10}{feymr10} at \eurosize |
2905 | \fi | 2709 | \fi |
2906 | \thiseurofont | 2710 | \thiseurofont |
2907 | } | 2711 | } |
2908 | 2712 | ||
2909 | % Glyphs from the EC fonts. We don't use \let for the aliases, because | 2713 | % Hacks for glyphs from the EC fonts similar to \euro. We don't |
2910 | % sometimes we redefine the original macro, and the alias should reflect | 2714 | % use \let for the aliases, because sometimes we redefine the original |
2911 | % the redefinition. | 2715 | % macro, and the alias should reflect the redefinition. |
2912 | % | ||
2913 | % Use LaTeX names for the Icelandic letters. | ||
2914 | \def\DH{{\ecfont \char"D0}} % Eth | ||
2915 | \def\dh{{\ecfont \char"F0}} % eth | ||
2916 | \def\TH{{\ecfont \char"DE}} % Thorn | ||
2917 | \def\th{{\ecfont \char"FE}} % thorn | ||
2918 | % | ||
2919 | \def\guillemetleft{{\ecfont \char"13}} | 2716 | \def\guillemetleft{{\ecfont \char"13}} |
2920 | \def\guillemotleft{\guillemetleft} | 2717 | \def\guillemotleft{\guillemetleft} |
2921 | \def\guillemetright{{\ecfont \char"14}} | 2718 | \def\guillemetright{{\ecfont \char"14}} |
@@ -2925,36 +2722,8 @@ end | |||
2925 | \def\quotedblbase{{\ecfont \char"12}} | 2722 | \def\quotedblbase{{\ecfont \char"12}} |
2926 | \def\quotesinglbase{{\ecfont \char"0D}} | 2723 | \def\quotesinglbase{{\ecfont \char"0D}} |
2927 | % | 2724 | % |
2928 | % This positioning is not perfect (see the ogonek LaTeX package), but | ||
2929 | % we have the precomposed glyphs for the most common cases. We put the | ||
2930 | % tests to use those glyphs in the single \ogonek macro so we have fewer | ||
2931 | % dummy definitions to worry about for index entries, etc. | ||
2932 | % | ||
2933 | % ogonek is also used with other letters in Lithuanian (IOU), but using | ||
2934 | % the precomposed glyphs for those is not so easy since they aren't in | ||
2935 | % the same EC font. | ||
2936 | \def\ogonek#1{{% | ||
2937 | \def\temp{#1}% | ||
2938 | \ifx\temp\macrocharA\Aogonek | ||
2939 | \else\ifx\temp\macrochara\aogonek | ||
2940 | \else\ifx\temp\macrocharE\Eogonek | ||
2941 | \else\ifx\temp\macrochare\eogonek | ||
2942 | \else | ||
2943 | \ecfont \setbox0=\hbox{#1}% | ||
2944 | \ifdim\ht0=1ex\accent"0C #1% | ||
2945 | \else\ooalign{\unhbox0\crcr\hidewidth\char"0C \hidewidth}% | ||
2946 | \fi | ||
2947 | \fi\fi\fi\fi | ||
2948 | }% | ||
2949 | } | ||
2950 | \def\Aogonek{{\ecfont \char"81}}\def\macrocharA{A} | ||
2951 | \def\aogonek{{\ecfont \char"A1}}\def\macrochara{a} | ||
2952 | \def\Eogonek{{\ecfont \char"86}}\def\macrocharE{E} | ||
2953 | \def\eogonek{{\ecfont \char"A6}}\def\macrochare{e} | ||
2954 | % | ||
2955 | % Use the ec* fonts (cm-super in outline format) for non-CM glyphs. | ||
2956 | \def\ecfont{% | 2725 | \def\ecfont{% |
2957 | % We can't distinguish serif/sans and italic/slanted, but this | 2726 | % We can't distinguish serif/sanserif and italic/slanted, but this |
2958 | % is used for crude hacks anyway (like adding French and German | 2727 | % is used for crude hacks anyway (like adding French and German |
2959 | % quotes to documents typeset with CM, where we lose kerning), so | 2728 | % quotes to documents typeset with CM, where we lose kerning), so |
2960 | % hopefully nobody will notice/care. | 2729 | % hopefully nobody will notice/care. |
@@ -2987,7 +2756,7 @@ end | |||
2987 | % Laurent Siebenmann reports \Orb undefined with: | 2756 | % Laurent Siebenmann reports \Orb undefined with: |
2988 | % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 | 2757 | % Textures 1.7.7 (preloaded format=plain 93.10.14) (68K) 16 APR 2004 02:38 |
2989 | % so we'll define it if necessary. | 2758 | % so we'll define it if necessary. |
2990 | % | 2759 | % |
2991 | \ifx\Orb\undefined | 2760 | \ifx\Orb\undefined |
2992 | \def\Orb{\mathhexbox20D} | 2761 | \def\Orb{\mathhexbox20D} |
2993 | \fi | 2762 | \fi |
@@ -3082,9 +2851,12 @@ end | |||
3082 | \let\subtitlerm=\tenrm | 2851 | \let\subtitlerm=\tenrm |
3083 | \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} | 2852 | \def\subtitlefont{\subtitlerm \normalbaselineskip = 13pt \normalbaselines} |
3084 | 2853 | ||
2854 | \def\authorfont{\authorrm \normalbaselineskip = 16pt \normalbaselines | ||
2855 | \let\tt=\authortt} | ||
2856 | |||
3085 | \parseargdef\title{% | 2857 | \parseargdef\title{% |
3086 | \checkenv\titlepage | 2858 | \checkenv\titlepage |
3087 | \leftline{\titlefonts\rmisbold #1} | 2859 | \leftline{\titlefonts\rm #1} |
3088 | % print a rule at the page bottom also. | 2860 | % print a rule at the page bottom also. |
3089 | \finishedtitlepagefalse | 2861 | \finishedtitlepagefalse |
3090 | \vskip4pt \hrule height 4pt width \hsize \vskip4pt | 2862 | \vskip4pt \hrule height 4pt width \hsize \vskip4pt |
@@ -3105,7 +2877,7 @@ end | |||
3105 | \else | 2877 | \else |
3106 | \checkenv\titlepage | 2878 | \checkenv\titlepage |
3107 | \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi | 2879 | \ifseenauthor\else \vskip 0pt plus 1filll \seenauthortrue \fi |
3108 | {\secfonts\rmisbold \leftline{#1}}% | 2880 | {\authorfont \leftline{#1}}% |
3109 | \fi | 2881 | \fi |
3110 | } | 2882 | } |
3111 | 2883 | ||
@@ -3333,7 +3105,7 @@ end | |||
3333 | % cause the example and the item to crash together. So we use this | 3105 | % cause the example and the item to crash together. So we use this |
3334 | % bizarre value of 10001 as a signal to \aboveenvbreak to insert | 3106 | % bizarre value of 10001 as a signal to \aboveenvbreak to insert |
3335 | % \parskip glue after all. Section titles are handled this way also. | 3107 | % \parskip glue after all. Section titles are handled this way also. |
3336 | % | 3108 | % |
3337 | \penalty 10001 | 3109 | \penalty 10001 |
3338 | \endgroup | 3110 | \endgroup |
3339 | \itemxneedsnegativevskipfalse | 3111 | \itemxneedsnegativevskipfalse |
@@ -3427,18 +3199,9 @@ end | |||
3427 | \parindent=0pt | 3199 | \parindent=0pt |
3428 | \parskip=\smallskipamount | 3200 | \parskip=\smallskipamount |
3429 | \ifdim\parskip=0pt \parskip=2pt \fi | 3201 | \ifdim\parskip=0pt \parskip=2pt \fi |
3430 | % | ||
3431 | % Try typesetting the item mark that if the document erroneously says | ||
3432 | % something like @itemize @samp (intending @table), there's an error | ||
3433 | % right away at the @itemize. It's not the best error message in the | ||
3434 | % world, but it's better than leaving it to the @item. This means if | ||
3435 | % the user wants an empty mark, they have to say @w{} not just @w. | ||
3436 | \def\itemcontents{#1}% | 3202 | \def\itemcontents{#1}% |
3437 | \setbox0 = \hbox{\itemcontents}% | ||
3438 | % | ||
3439 | % @itemize with no arg is equivalent to @itemize @bullet. | 3203 | % @itemize with no arg is equivalent to @itemize @bullet. |
3440 | \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi | 3204 | \ifx\itemcontents\empty\def\itemcontents{\bullet}\fi |
3441 | % | ||
3442 | \let\item=\itemizeitem | 3205 | \let\item=\itemizeitem |
3443 | } | 3206 | } |
3444 | 3207 | ||
@@ -3459,7 +3222,6 @@ end | |||
3459 | \ifnum\lastpenalty<10000 \parskip=0in \fi | 3222 | \ifnum\lastpenalty<10000 \parskip=0in \fi |
3460 | \noindent | 3223 | \noindent |
3461 | \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% | 3224 | \hbox to 0pt{\hss \itemcontents \kern\itemmargin}% |
3462 | % | ||
3463 | \vadjust{\penalty 1200}}% not good to break after first line of item. | 3225 | \vadjust{\penalty 1200}}% not good to break after first line of item. |
3464 | \flushcr | 3226 | \flushcr |
3465 | } | 3227 | } |
@@ -3681,19 +3443,12 @@ end | |||
3681 | % | 3443 | % |
3682 | % @headitem starts a heading row, which we typeset in bold. | 3444 | % @headitem starts a heading row, which we typeset in bold. |
3683 | % Assignments have to be global since we are inside the implicit group | 3445 | % Assignments have to be global since we are inside the implicit group |
3684 | % of an alignment entry. \everycr resets \everytab so we don't have to | 3446 | % of an alignment entry. Note that \everycr resets \everytab. |
3685 | % undo it ourselves. | 3447 | \def\headitem{\checkenv\multitable \crcr \global\everytab={\bf}\the\everytab}% |
3686 | \def\headitemfont{\b}% for people to use in the template row; not changeable | ||
3687 | \def\headitem{% | ||
3688 | \checkenv\multitable | ||
3689 | \crcr | ||
3690 | \global\everytab={\bf}% can't use \headitemfont since the parsing differs | ||
3691 | \the\everytab % for the first item | ||
3692 | }% | ||
3693 | % | 3448 | % |
3694 | % A \tab used to include \hskip1sp. But then the space in a template | 3449 | % A \tab used to include \hskip1sp. But then the space in a template |
3695 | % line is not enough. That is bad. So let's go back to just `&' until | 3450 | % line is not enough. That is bad. So let's go back to just `&' until |
3696 | % we again encounter the problem the 1sp was intended to solve. | 3451 | % we encounter the problem it was intended to solve again. |
3697 | % --karl, nathan@acm.org, 20apr99. | 3452 | % --karl, nathan@acm.org, 20apr99. |
3698 | \def\tab{\checkenv\multitable &\the\everytab}% | 3453 | \def\tab{\checkenv\multitable &\the\everytab}% |
3699 | 3454 | ||
@@ -4092,11 +3847,11 @@ end | |||
4092 | \def\dosynindex#1#2#3{% | 3847 | \def\dosynindex#1#2#3{% |
4093 | % Only do \closeout if we haven't already done it, else we'll end up | 3848 | % Only do \closeout if we haven't already done it, else we'll end up |
4094 | % closing the target index. | 3849 | % closing the target index. |
4095 | \expandafter \ifx\csname donesynindex#2\endcsname \relax | 3850 | \expandafter \ifx\csname donesynindex#2\endcsname \undefined |
4096 | % The \closeout helps reduce unnecessary open files; the limit on the | 3851 | % The \closeout helps reduce unnecessary open files; the limit on the |
4097 | % Acorn RISC OS is a mere 16 files. | 3852 | % Acorn RISC OS is a mere 16 files. |
4098 | \expandafter\closeout\csname#2indfile\endcsname | 3853 | \expandafter\closeout\csname#2indfile\endcsname |
4099 | \expandafter\let\csname donesynindex#2\endcsname = 1 | 3854 | \expandafter\let\csname\donesynindex#2\endcsname = 1 |
4100 | \fi | 3855 | \fi |
4101 | % redefine \fooindfile: | 3856 | % redefine \fooindfile: |
4102 | \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname | 3857 | \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname |
@@ -4146,7 +3901,7 @@ end | |||
4146 | % processing continues to some further point. On the other hand, it | 3901 | % processing continues to some further point. On the other hand, it |
4147 | % seems \endinput does not hurt in the printed index arg, since that | 3902 | % seems \endinput does not hurt in the printed index arg, since that |
4148 | % is still getting written without apparent harm. | 3903 | % is still getting written without apparent harm. |
4149 | % | 3904 | % |
4150 | % Sample source (mac-idx3.tex, reported by Graham Percival to | 3905 | % Sample source (mac-idx3.tex, reported by Graham Percival to |
4151 | % help-texinfo, 22may06): | 3906 | % help-texinfo, 22may06): |
4152 | % @macro funindex {WORD} | 3907 | % @macro funindex {WORD} |
@@ -4154,12 +3909,12 @@ end | |||
4154 | % @end macro | 3909 | % @end macro |
4155 | % ... | 3910 | % ... |
4156 | % @funindex commtest | 3911 | % @funindex commtest |
4157 | % | 3912 | % |
4158 | % The above is not enough to reproduce the bug, but it gives the flavor. | 3913 | % The above is not enough to reproduce the bug, but it gives the flavor. |
4159 | % | 3914 | % |
4160 | % Sample whatsit resulting: | 3915 | % Sample whatsit resulting: |
4161 | % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} | 3916 | % .@write3{\entry{xyz}{@folio }{@code {xyz@endinput }}} |
4162 | % | 3917 | % |
4163 | % So: | 3918 | % So: |
4164 | \let\endinput = \empty | 3919 | \let\endinput = \empty |
4165 | % | 3920 | % |
@@ -4211,23 +3966,19 @@ end | |||
4211 | % Non-English letters. | 3966 | % Non-English letters. |
4212 | \definedummyword\AA | 3967 | \definedummyword\AA |
4213 | \definedummyword\AE | 3968 | \definedummyword\AE |
4214 | \definedummyword\DH | ||
4215 | \definedummyword\L | 3969 | \definedummyword\L |
4216 | \definedummyword\O | ||
4217 | \definedummyword\OE | 3970 | \definedummyword\OE |
4218 | \definedummyword\TH | 3971 | \definedummyword\O |
4219 | \definedummyword\aa | 3972 | \definedummyword\aa |
4220 | \definedummyword\ae | 3973 | \definedummyword\ae |
4221 | \definedummyword\dh | ||
4222 | \definedummyword\exclamdown | ||
4223 | \definedummyword\l | 3974 | \definedummyword\l |
4224 | \definedummyword\o | ||
4225 | \definedummyword\oe | 3975 | \definedummyword\oe |
3976 | \definedummyword\o | ||
3977 | \definedummyword\ss | ||
3978 | \definedummyword\exclamdown | ||
3979 | \definedummyword\questiondown | ||
4226 | \definedummyword\ordf | 3980 | \definedummyword\ordf |
4227 | \definedummyword\ordm | 3981 | \definedummyword\ordm |
4228 | \definedummyword\questiondown | ||
4229 | \definedummyword\ss | ||
4230 | \definedummyword\th | ||
4231 | % | 3982 | % |
4232 | % Although these internal commands shouldn't show up, sometimes they do. | 3983 | % Although these internal commands shouldn't show up, sometimes they do. |
4233 | \definedummyword\bf | 3984 | \definedummyword\bf |
@@ -4258,7 +4009,6 @@ end | |||
4258 | \definedummyword\guilsinglright | 4009 | \definedummyword\guilsinglright |
4259 | \definedummyword\expansion | 4010 | \definedummyword\expansion |
4260 | \definedummyword\minus | 4011 | \definedummyword\minus |
4261 | \definedummyword\ogonek | ||
4262 | \definedummyword\pounds | 4012 | \definedummyword\pounds |
4263 | \definedummyword\point | 4013 | \definedummyword\point |
4264 | \definedummyword\print | 4014 | \definedummyword\print |
@@ -4302,7 +4052,6 @@ end | |||
4302 | \definedummyword\v | 4052 | \definedummyword\v |
4303 | \definedummyword\H | 4053 | \definedummyword\H |
4304 | \definedummyword\dotaccent | 4054 | \definedummyword\dotaccent |
4305 | \definedummyword\ogonek | ||
4306 | \definedummyword\ringaccent | 4055 | \definedummyword\ringaccent |
4307 | \definedummyword\tieaccent | 4056 | \definedummyword\tieaccent |
4308 | \definedummyword\ubaraccent | 4057 | \definedummyword\ubaraccent |
@@ -4370,23 +4119,19 @@ end | |||
4370 | % Non-English letters. | 4119 | % Non-English letters. |
4371 | \def\AA{AA}% | 4120 | \def\AA{AA}% |
4372 | \def\AE{AE}% | 4121 | \def\AE{AE}% |
4373 | \def\DH{DZZ}% | ||
4374 | \def\L{L}% | 4122 | \def\L{L}% |
4375 | \def\OE{OE}% | 4123 | \def\OE{OE}% |
4376 | \def\O{O}% | 4124 | \def\O{O}% |
4377 | \def\TH{ZZZ}% | ||
4378 | \def\aa{aa}% | 4125 | \def\aa{aa}% |
4379 | \def\ae{ae}% | 4126 | \def\ae{ae}% |
4380 | \def\dh{dzz}% | ||
4381 | \def\exclamdown{!}% | ||
4382 | \def\l{l}% | 4127 | \def\l{l}% |
4383 | \def\oe{oe}% | 4128 | \def\oe{oe}% |
4384 | \def\ordf{a}% | ||
4385 | \def\ordm{o}% | ||
4386 | \def\o{o}% | 4129 | \def\o{o}% |
4387 | \def\questiondown{?}% | ||
4388 | \def\ss{ss}% | 4130 | \def\ss{ss}% |
4389 | \def\th{zzz}% | 4131 | \def\exclamdown{!}% |
4132 | \def\questiondown{?}% | ||
4133 | \def\ordf{a}% | ||
4134 | \def\ordm{o}% | ||
4390 | % | 4135 | % |
4391 | \def\LaTeX{LaTeX}% | 4136 | \def\LaTeX{LaTeX}% |
4392 | \def\TeX{TeX}% | 4137 | \def\TeX{TeX}% |
@@ -4396,19 +4141,20 @@ end | |||
4396 | \def\bullet{bullet}% | 4141 | \def\bullet{bullet}% |
4397 | \def\comma{,}% | 4142 | \def\comma{,}% |
4398 | \def\copyright{copyright}% | 4143 | \def\copyright{copyright}% |
4144 | \def\registeredsymbol{R}% | ||
4399 | \def\dots{...}% | 4145 | \def\dots{...}% |
4400 | \def\enddots{...}% | 4146 | \def\enddots{...}% |
4401 | \def\equiv{==}% | 4147 | \def\equiv{==}% |
4402 | \def\error{error}% | 4148 | \def\error{error}% |
4403 | \def\euro{euro}% | 4149 | \def\euro{euro}% |
4404 | \def\expansion{==>}% | ||
4405 | \def\guillemetleft{<<}% | 4150 | \def\guillemetleft{<<}% |
4406 | \def\guillemetright{>>}% | 4151 | \def\guillemetright{>>}% |
4407 | \def\guilsinglleft{<}% | 4152 | \def\guilsinglleft{<}% |
4408 | \def\guilsinglright{>}% | 4153 | \def\guilsinglright{>}% |
4154 | \def\expansion{==>}% | ||
4409 | \def\minus{-}% | 4155 | \def\minus{-}% |
4410 | \def\point{.}% | ||
4411 | \def\pounds{pounds}% | 4156 | \def\pounds{pounds}% |
4157 | \def\point{.}% | ||
4412 | \def\print{-|}% | 4158 | \def\print{-|}% |
4413 | \def\quotedblbase{"}% | 4159 | \def\quotedblbase{"}% |
4414 | \def\quotedblleft{"}% | 4160 | \def\quotedblleft{"}% |
@@ -4416,20 +4162,19 @@ end | |||
4416 | \def\quoteleft{`}% | 4162 | \def\quoteleft{`}% |
4417 | \def\quoteright{'}% | 4163 | \def\quoteright{'}% |
4418 | \def\quotesinglbase{,}% | 4164 | \def\quotesinglbase{,}% |
4419 | \def\registeredsymbol{R}% | ||
4420 | \def\result{=>}% | 4165 | \def\result{=>}% |
4421 | \def\textdegree{o}% | 4166 | \def\textdegree{degrees}% |
4422 | % | 4167 | % |
4423 | % We need to get rid of all macros, leaving only the arguments (if present). | 4168 | % We need to get rid of all macros, leaving only the arguments (if present). |
4424 | % Of course this is not nearly correct, but it is the best we can do for now. | 4169 | % Of course this is not nearly correct, but it is the best we can do for now. |
4425 | % makeinfo does not expand macros in the argument to @deffn, which ends up | 4170 | % makeinfo does not expand macros in the argument to @deffn, which ends up |
4426 | % writing an index entry, and texindex isn't prepared for an index sort entry | 4171 | % writing an index entry, and texindex isn't prepared for an index sort entry |
4427 | % that starts with \. | 4172 | % that starts with \. |
4428 | % | 4173 | % |
4429 | % Since macro invocations are followed by braces, we can just redefine them | 4174 | % Since macro invocations are followed by braces, we can just redefine them |
4430 | % to take a single TeX argument. The case of a macro invocation that | 4175 | % to take a single TeX argument. The case of a macro invocation that |
4431 | % goes to end-of-line is not handled. | 4176 | % goes to end-of-line is not handled. |
4432 | % | 4177 | % |
4433 | \macrolist | 4178 | \macrolist |
4434 | } | 4179 | } |
4435 | 4180 | ||
@@ -4557,7 +4302,7 @@ end | |||
4557 | % to re-insert the same penalty (values >10000 are used for various | 4302 | % to re-insert the same penalty (values >10000 are used for various |
4558 | % signals); since we just inserted a non-discardable item, any | 4303 | % signals); since we just inserted a non-discardable item, any |
4559 | % following glue (such as a \parskip) would be a breakpoint. For example: | 4304 | % following glue (such as a \parskip) would be a breakpoint. For example: |
4560 | % | 4305 | % |
4561 | % @deffn deffn-whatever | 4306 | % @deffn deffn-whatever |
4562 | % @vindex index-whatever | 4307 | % @vindex index-whatever |
4563 | % Description. | 4308 | % Description. |
@@ -4687,7 +4432,7 @@ end | |||
4687 | % | 4432 | % |
4688 | % A straightforward implementation would start like this: | 4433 | % A straightforward implementation would start like this: |
4689 | % \def\entry#1#2{... | 4434 | % \def\entry#1#2{... |
4690 | % But this freezes the catcodes in the argument, and can cause problems to | 4435 | % But this frozes the catcodes in the argument, and can cause problems to |
4691 | % @code, which sets - active. This problem was fixed by a kludge--- | 4436 | % @code, which sets - active. This problem was fixed by a kludge--- |
4692 | % ``-'' was active throughout whole index, but this isn't really right. | 4437 | % ``-'' was active throughout whole index, but this isn't really right. |
4693 | % | 4438 | % |
@@ -5138,9 +4883,7 @@ end | |||
5138 | \gdef\chaplevelprefix{\the\chapno.}% | 4883 | \gdef\chaplevelprefix{\the\chapno.}% |
5139 | \resetallfloatnos | 4884 | \resetallfloatnos |
5140 | % | 4885 | % |
5141 | % \putwordChapter can contain complex things in translations. | 4886 | \message{\putwordChapter\space \the\chapno}% |
5142 | \toks0=\expandafter{\putwordChapter}% | ||
5143 | \message{\the\toks0 \space \the\chapno}% | ||
5144 | % | 4887 | % |
5145 | % Write the actual heading. | 4888 | % Write the actual heading. |
5146 | \chapmacro{#1}{Ynumbered}{\the\chapno}% | 4889 | \chapmacro{#1}{Ynumbered}{\the\chapno}% |
@@ -5151,17 +4894,15 @@ end | |||
5151 | \global\let\subsubsection = \numberedsubsubsec | 4894 | \global\let\subsubsection = \numberedsubsubsec |
5152 | } | 4895 | } |
5153 | 4896 | ||
5154 | \outer\parseargdef\appendix{\apphead0{#1}} % normally calls appendixzzz | 4897 | \outer\parseargdef\appendix{\apphead0{#1}} % normally apphead0 calls appendixzzz |
5155 | % | ||
5156 | \def\appendixzzz#1{% | 4898 | \def\appendixzzz#1{% |
5157 | \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 | 4899 | \global\secno=0 \global\subsecno=0 \global\subsubsecno=0 |
5158 | \global\advance\appendixno by 1 | 4900 | \global\advance\appendixno by 1 |
5159 | \gdef\chaplevelprefix{\appendixletter.}% | 4901 | \gdef\chaplevelprefix{\appendixletter.}% |
5160 | \resetallfloatnos | 4902 | \resetallfloatnos |
5161 | % | 4903 | % |
5162 | % \putwordAppendix can contain complex things in translations. | 4904 | \def\appendixnum{\putwordAppendix\space \appendixletter}% |
5163 | \toks0=\expandafter{\putwordAppendix}% | 4905 | \message{\appendixnum}% |
5164 | \message{\the\toks0 \space \appendixletter}% | ||
5165 | % | 4906 | % |
5166 | \chapmacro{#1}{Yappendix}{\appendixletter}% | 4907 | \chapmacro{#1}{Yappendix}{\appendixletter}% |
5167 | % | 4908 | % |
@@ -5293,6 +5034,7 @@ end | |||
5293 | % 3) Likewise, headings look best if no \parindent is used, and | 5034 | % 3) Likewise, headings look best if no \parindent is used, and |
5294 | % if justification is not attempted. Hence \raggedright. | 5035 | % if justification is not attempted. Hence \raggedright. |
5295 | 5036 | ||
5037 | |||
5296 | \def\majorheading{% | 5038 | \def\majorheading{% |
5297 | {\advance\chapheadingskip by 10pt \chapbreak }% | 5039 | {\advance\chapheadingskip by 10pt \chapbreak }% |
5298 | \parsearg\chapheadingzzz | 5040 | \parsearg\chapheadingzzz |
@@ -5301,8 +5043,8 @@ end | |||
5301 | \def\chapheading{\chapbreak \parsearg\chapheadingzzz} | 5043 | \def\chapheading{\chapbreak \parsearg\chapheadingzzz} |
5302 | \def\chapheadingzzz#1{% | 5044 | \def\chapheadingzzz#1{% |
5303 | {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 | 5045 | {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 |
5304 | \parindent=0pt\ptexraggedright | 5046 | \parindent=0pt\raggedright |
5305 | \rmisbold #1\hfill}}% | 5047 | \rm #1\hfill}}% |
5306 | \bigskip \par\penalty 200\relax | 5048 | \bigskip \par\penalty 200\relax |
5307 | \suppressfirstparagraphindent | 5049 | \suppressfirstparagraphindent |
5308 | } | 5050 | } |
@@ -5394,10 +5136,7 @@ end | |||
5394 | \xdef\lastchapterdefs{% | 5136 | \xdef\lastchapterdefs{% |
5395 | \gdef\noexpand\thischaptername{\the\toks0}% | 5137 | \gdef\noexpand\thischaptername{\the\toks0}% |
5396 | \gdef\noexpand\thischapternum{\appendixletter}% | 5138 | \gdef\noexpand\thischapternum{\appendixletter}% |
5397 | % \noexpand\putwordAppendix avoids expanding indigestible | 5139 | \gdef\noexpand\thischapter{\putwordAppendix{} \noexpand\thischapternum: |
5398 | % commands in some of the translations. | ||
5399 | \gdef\noexpand\thischapter{\noexpand\putwordAppendix{} | ||
5400 | \noexpand\thischapternum: | ||
5401 | \noexpand\thischaptername}% | 5140 | \noexpand\thischaptername}% |
5402 | }% | 5141 | }% |
5403 | \else | 5142 | \else |
@@ -5405,10 +5144,7 @@ end | |||
5405 | \xdef\lastchapterdefs{% | 5144 | \xdef\lastchapterdefs{% |
5406 | \gdef\noexpand\thischaptername{\the\toks0}% | 5145 | \gdef\noexpand\thischaptername{\the\toks0}% |
5407 | \gdef\noexpand\thischapternum{\the\chapno}% | 5146 | \gdef\noexpand\thischapternum{\the\chapno}% |
5408 | % \noexpand\putwordChapter avoids expanding indigestible | 5147 | \gdef\noexpand\thischapter{\putwordChapter{} \noexpand\thischapternum: |
5409 | % commands in some of the translations. | ||
5410 | \gdef\noexpand\thischapter{\noexpand\putwordChapter{} | ||
5411 | \noexpand\thischapternum: | ||
5412 | \noexpand\thischaptername}% | 5148 | \noexpand\thischaptername}% |
5413 | }% | 5149 | }% |
5414 | \fi\fi\fi | 5150 | \fi\fi\fi |
@@ -5427,7 +5163,7 @@ end | |||
5427 | \domark | 5163 | \domark |
5428 | % | 5164 | % |
5429 | {% | 5165 | {% |
5430 | \chapfonts \rmisbold | 5166 | \chapfonts \rm |
5431 | % | 5167 | % |
5432 | % Have to define \lastsection before calling \donoderef, because the | 5168 | % Have to define \lastsection before calling \donoderef, because the |
5433 | % xref code eventually uses it. On the other hand, it has to be called | 5169 | % xref code eventually uses it. On the other hand, it has to be called |
@@ -5464,7 +5200,7 @@ end | |||
5464 | % | 5200 | % |
5465 | % Typeset the actual heading. | 5201 | % Typeset the actual heading. |
5466 | \nobreak % Avoid page breaks at the interline glue. | 5202 | \nobreak % Avoid page breaks at the interline glue. |
5467 | \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright | 5203 | \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright |
5468 | \hangindent=\wd0 \centerparametersmaybe | 5204 | \hangindent=\wd0 \centerparametersmaybe |
5469 | \unhbox0 #1\par}% | 5205 | \unhbox0 #1\par}% |
5470 | }% | 5206 | }% |
@@ -5488,8 +5224,8 @@ end | |||
5488 | % | 5224 | % |
5489 | \def\unnchfopen #1{% | 5225 | \def\unnchfopen #1{% |
5490 | \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 | 5226 | \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 |
5491 | \parindent=0pt\ptexraggedright | 5227 | \parindent=0pt\raggedright |
5492 | \rmisbold #1\hfill}}\bigskip \par\nobreak | 5228 | \rm #1\hfill}}\bigskip \par\nobreak |
5493 | } | 5229 | } |
5494 | \def\chfopen #1#2{\chapoddpage {\chapfonts | 5230 | \def\chfopen #1#2{\chapoddpage {\chapfonts |
5495 | \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% | 5231 | \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}% |
@@ -5498,7 +5234,7 @@ end | |||
5498 | \def\centerchfopen #1{% | 5234 | \def\centerchfopen #1{% |
5499 | \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 | 5235 | \chapoddpage {\chapfonts \vbox{\hyphenpenalty=10000\tolerance=5000 |
5500 | \parindent=0pt | 5236 | \parindent=0pt |
5501 | \hfill {\rmisbold #1}\hfill}}\bigskip \par\nobreak | 5237 | \hfill {\rm #1}\hfill}}\bigskip \par\nobreak |
5502 | } | 5238 | } |
5503 | \def\CHAPFopen{% | 5239 | \def\CHAPFopen{% |
5504 | \global\let\chapmacro=\chfopen | 5240 | \global\let\chapmacro=\chfopen |
@@ -5531,7 +5267,7 @@ end | |||
5531 | \def\sectionheading#1#2#3#4{% | 5267 | \def\sectionheading#1#2#3#4{% |
5532 | {% | 5268 | {% |
5533 | % Switch to the right set of fonts. | 5269 | % Switch to the right set of fonts. |
5534 | \csname #2fonts\endcsname \rmisbold | 5270 | \csname #2fonts\endcsname \rm |
5535 | % | 5271 | % |
5536 | \def\sectionlevel{#2}% | 5272 | \def\sectionlevel{#2}% |
5537 | \def\temptype{#3}% | 5273 | \def\temptype{#3}% |
@@ -5551,10 +5287,7 @@ end | |||
5551 | \xdef\lastsectiondefs{% | 5287 | \xdef\lastsectiondefs{% |
5552 | \gdef\noexpand\thissectionname{\the\toks0}% | 5288 | \gdef\noexpand\thissectionname{\the\toks0}% |
5553 | \gdef\noexpand\thissectionnum{#4}% | 5289 | \gdef\noexpand\thissectionnum{#4}% |
5554 | % \noexpand\putwordSection avoids expanding indigestible | 5290 | \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: |
5555 | % commands in some of the translations. | ||
5556 | \gdef\noexpand\thissection{\noexpand\putwordSection{} | ||
5557 | \noexpand\thissectionnum: | ||
5558 | \noexpand\thissectionname}% | 5291 | \noexpand\thissectionname}% |
5559 | }% | 5292 | }% |
5560 | \fi | 5293 | \fi |
@@ -5564,20 +5297,12 @@ end | |||
5564 | \xdef\lastsectiondefs{% | 5297 | \xdef\lastsectiondefs{% |
5565 | \gdef\noexpand\thissectionname{\the\toks0}% | 5298 | \gdef\noexpand\thissectionname{\the\toks0}% |
5566 | \gdef\noexpand\thissectionnum{#4}% | 5299 | \gdef\noexpand\thissectionnum{#4}% |
5567 | % \noexpand\putwordSection avoids expanding indigestible | 5300 | \gdef\noexpand\thissection{\putwordSection{} \noexpand\thissectionnum: |
5568 | % commands in some of the translations. | ||
5569 | \gdef\noexpand\thissection{\noexpand\putwordSection{} | ||
5570 | \noexpand\thissectionnum: | ||
5571 | \noexpand\thissectionname}% | 5301 | \noexpand\thissectionname}% |
5572 | }% | 5302 | }% |
5573 | \fi | 5303 | \fi |
5574 | \fi\fi\fi | 5304 | \fi\fi\fi |
5575 | % | 5305 | % |
5576 | % Go into vertical mode. Usually we'll already be there, but we | ||
5577 | % don't want the following whatsit to end up in a preceding paragraph | ||
5578 | % if the document didn't happen to have a blank line. | ||
5579 | \par | ||
5580 | % | ||
5581 | % Output the mark. Pass it through \safewhatsit, to take care of | 5306 | % Output the mark. Pass it through \safewhatsit, to take care of |
5582 | % the preceding space. | 5307 | % the preceding space. |
5583 | \safewhatsit\domark | 5308 | \safewhatsit\domark |
@@ -5627,7 +5352,7 @@ end | |||
5627 | \nobreak | 5352 | \nobreak |
5628 | % | 5353 | % |
5629 | % Output the actual section heading. | 5354 | % Output the actual section heading. |
5630 | \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \ptexraggedright | 5355 | \vbox{\hyphenpenalty=10000 \tolerance=5000 \parindent=0pt \raggedright |
5631 | \hangindent=\wd0 % zero if no section number | 5356 | \hangindent=\wd0 % zero if no section number |
5632 | \unhbox0 #1}% | 5357 | \unhbox0 #1}% |
5633 | }% | 5358 | }% |
@@ -5643,11 +5368,11 @@ end | |||
5643 | % glue accumulate. (Not a breakpoint because it's preceded by a | 5368 | % glue accumulate. (Not a breakpoint because it's preceded by a |
5644 | % discardable item.) | 5369 | % discardable item.) |
5645 | \vskip-\parskip | 5370 | \vskip-\parskip |
5646 | % | 5371 | % |
5647 | % This is purely so the last item on the list is a known \penalty > | 5372 | % This is purely so the last item on the list is a known \penalty > |
5648 | % 10000. This is so \startdefun can avoid allowing breakpoints after | 5373 | % 10000. This is so \startdefun can avoid allowing breakpoints after |
5649 | % section headings. Otherwise, it would insert a valid breakpoint between: | 5374 | % section headings. Otherwise, it would insert a valid breakpoint between: |
5650 | % | 5375 | % |
5651 | % @section sec-whatever | 5376 | % @section sec-whatever |
5652 | % @deffn def-whatever | 5377 | % @deffn def-whatever |
5653 | \penalty 10001 | 5378 | \penalty 10001 |
@@ -5705,7 +5430,7 @@ end | |||
5705 | % These characters do not print properly in the Computer Modern roman | 5430 | % These characters do not print properly in the Computer Modern roman |
5706 | % fonts, so we must take special care. This is more or less redundant | 5431 | % fonts, so we must take special care. This is more or less redundant |
5707 | % with the Texinfo input format setup at the end of this file. | 5432 | % with the Texinfo input format setup at the end of this file. |
5708 | % | 5433 | % |
5709 | \def\activecatcodes{% | 5434 | \def\activecatcodes{% |
5710 | \catcode`\"=\active | 5435 | \catcode`\"=\active |
5711 | \catcode`\$=\active | 5436 | \catcode`\$=\active |
@@ -5755,7 +5480,7 @@ end | |||
5755 | 5480 | ||
5756 | % redefined for the two-volume lispref. We always output on | 5481 | % redefined for the two-volume lispref. We always output on |
5757 | % \jobname.toc even if this is redefined. | 5482 | % \jobname.toc even if this is redefined. |
5758 | % | 5483 | % |
5759 | \def\tocreadfilename{\jobname.toc} | 5484 | \def\tocreadfilename{\jobname.toc} |
5760 | 5485 | ||
5761 | % Normal (long) toc. | 5486 | % Normal (long) toc. |
@@ -5925,12 +5650,45 @@ end | |||
5925 | \message{environments,} | 5650 | \message{environments,} |
5926 | % @foo ... @end foo. | 5651 | % @foo ... @end foo. |
5927 | 5652 | ||
5653 | % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. | ||
5654 | % | ||
5655 | % Since these characters are used in examples, it should be an even number of | ||
5656 | % \tt widths. Each \tt character is 1en, so two makes it 1em. | ||
5657 | % | ||
5658 | \def\point{$\star$} | ||
5659 | \def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}} | ||
5660 | \def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}} | ||
5661 | \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}} | ||
5662 | \def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}} | ||
5663 | |||
5664 | % The @error{} command. | ||
5665 | % Adapted from the TeXbook's \boxit. | ||
5666 | % | ||
5667 | \newbox\errorbox | ||
5668 | % | ||
5669 | {\tentt \global\dimen0 = 3em}% Width of the box. | ||
5670 | \dimen2 = .55pt % Thickness of rules | ||
5671 | % The text. (`r' is open on the right, `e' somewhat less so on the left.) | ||
5672 | \setbox0 = \hbox{\kern-.75pt \reducedsf error\kern-1.5pt} | ||
5673 | % | ||
5674 | \setbox\errorbox=\hbox to \dimen0{\hfil | ||
5675 | \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right. | ||
5676 | \advance\hsize by -2\dimen2 % Rules. | ||
5677 | \vbox{% | ||
5678 | \hrule height\dimen2 | ||
5679 | \hbox{\vrule width\dimen2 \kern3pt % Space to left of text. | ||
5680 | \vtop{\kern2.4pt \box0 \kern2.4pt}% Space above/below. | ||
5681 | \kern3pt\vrule width\dimen2}% Space to right. | ||
5682 | \hrule height\dimen2} | ||
5683 | \hfil} | ||
5684 | % | ||
5685 | \def\error{\leavevmode\lower.7ex\copy\errorbox} | ||
5686 | |||
5928 | % @tex ... @end tex escapes into raw Tex temporarily. | 5687 | % @tex ... @end tex escapes into raw Tex temporarily. |
5929 | % One exception: @ is still an escape character, so that @end tex works. | 5688 | % One exception: @ is still an escape character, so that @end tex works. |
5930 | % But \@ or @@ will get a plain tex @ character. | 5689 | % But \@ or @@ will get a plain tex @ character. |
5931 | 5690 | ||
5932 | \envdef\tex{% | 5691 | \envdef\tex{% |
5933 | \setupmarkupstyle{tex}% | ||
5934 | \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 | 5692 | \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 |
5935 | \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 | 5693 | \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 |
5936 | \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie | 5694 | \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie |
@@ -5940,8 +5698,6 @@ end | |||
5940 | \catcode `\|=\other | 5698 | \catcode `\|=\other |
5941 | \catcode `\<=\other | 5699 | \catcode `\<=\other |
5942 | \catcode `\>=\other | 5700 | \catcode `\>=\other |
5943 | \catcode`\`=\other | ||
5944 | \catcode`\'=\other | ||
5945 | \escapechar=`\\ | 5701 | \escapechar=`\\ |
5946 | % | 5702 | % |
5947 | \let\b=\ptexb | 5703 | \let\b=\ptexb |
@@ -5961,7 +5717,6 @@ end | |||
5961 | \let\/=\ptexslash | 5717 | \let\/=\ptexslash |
5962 | \let\*=\ptexstar | 5718 | \let\*=\ptexstar |
5963 | \let\t=\ptext | 5719 | \let\t=\ptext |
5964 | \expandafter \let\csname top\endcsname=\ptextop % outer | ||
5965 | \let\frenchspacing=\plainfrenchspacing | 5720 | \let\frenchspacing=\plainfrenchspacing |
5966 | % | 5721 | % |
5967 | \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% | 5722 | \def\endldots{\mathinner{\ldots\ldots\ldots\ldots}}% |
@@ -6077,7 +5832,6 @@ end | |||
6077 | 5832 | ||
6078 | % This macro is called at the beginning of all the @example variants, | 5833 | % This macro is called at the beginning of all the @example variants, |
6079 | % inside a group. | 5834 | % inside a group. |
6080 | \newdimen\nonfillparindent | ||
6081 | \def\nonfillstart{% | 5835 | \def\nonfillstart{% |
6082 | \aboveenvbreak | 5836 | \aboveenvbreak |
6083 | \hfuzz = 12pt % Don't be fussy | 5837 | \hfuzz = 12pt % Don't be fussy |
@@ -6085,12 +5839,7 @@ end | |||
6085 | \let\par = \lisppar % don't ignore blank lines | 5839 | \let\par = \lisppar % don't ignore blank lines |
6086 | \obeylines % each line of input is a line of output | 5840 | \obeylines % each line of input is a line of output |
6087 | \parskip = 0pt | 5841 | \parskip = 0pt |
6088 | % Turn off paragraph indentation but redefine \indent to emulate | ||
6089 | % the normal \indent. | ||
6090 | \nonfillparindent=\parindent | ||
6091 | \parindent = 0pt | 5842 | \parindent = 0pt |
6092 | \let\indent\nonfillindent | ||
6093 | % | ||
6094 | \emergencystretch = 0pt % don't try to avoid overfull boxes | 5843 | \emergencystretch = 0pt % don't try to avoid overfull boxes |
6095 | \ifx\nonarrowing\relax | 5844 | \ifx\nonarrowing\relax |
6096 | \advance \leftskip by \lispnarrowing | 5845 | \advance \leftskip by \lispnarrowing |
@@ -6101,24 +5850,6 @@ end | |||
6101 | \let\exdent=\nofillexdent | 5850 | \let\exdent=\nofillexdent |
6102 | } | 5851 | } |
6103 | 5852 | ||
6104 | \begingroup | ||
6105 | \obeyspaces | ||
6106 | % We want to swallow spaces (but not other tokens) after the fake | ||
6107 | % @indent in our nonfill-environments, where spaces are normally | ||
6108 | % active and set to @tie, resulting in them not being ignored after | ||
6109 | % @indent. | ||
6110 | \gdef\nonfillindent{\futurelet\temp\nonfillindentcheck}% | ||
6111 | \gdef\nonfillindentcheck{% | ||
6112 | \ifx\temp % | ||
6113 | \expandafter\nonfillindentgobble% | ||
6114 | \else% | ||
6115 | \leavevmode\nonfillindentbox% | ||
6116 | \fi% | ||
6117 | }% | ||
6118 | \endgroup | ||
6119 | \def\nonfillindentgobble#1{\nonfillindent} | ||
6120 | \def\nonfillindentbox{\hbox to \nonfillparindent{\hss}} | ||
6121 | |||
6122 | % If you want all examples etc. small: @set dispenvsize small. | 5853 | % If you want all examples etc. small: @set dispenvsize small. |
6123 | % If you want even small examples the full size: @set dispenvsize nosmall. | 5854 | % If you want even small examples the full size: @set dispenvsize nosmall. |
6124 | % This affects the following displayed environments: | 5855 | % This affects the following displayed environments: |
@@ -6167,7 +5898,7 @@ end | |||
6167 | % | 5898 | % |
6168 | \maketwodispenvs {lisp}{example}{% | 5899 | \maketwodispenvs {lisp}{example}{% |
6169 | \nonfillstart | 5900 | \nonfillstart |
6170 | \tt\setupmarkupstyle{example}% | 5901 | \tt\quoteexpand |
6171 | \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. | 5902 | \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. |
6172 | \gobble % eat return | 5903 | \gobble % eat return |
6173 | } | 5904 | } |
@@ -6205,36 +5936,12 @@ end | |||
6205 | \let\Eflushright = \afterenvbreak | 5936 | \let\Eflushright = \afterenvbreak |
6206 | 5937 | ||
6207 | 5938 | ||
6208 | % @raggedright does more-or-less normal line breaking but no right | ||
6209 | % justification. From plain.tex. | ||
6210 | \envdef\raggedright{% | ||
6211 | \rightskip0pt plus2em \spaceskip.3333em \xspaceskip.5em\relax | ||
6212 | } | ||
6213 | \let\Eraggedright\par | ||
6214 | |||
6215 | \envdef\raggedleft{% | ||
6216 | \parindent=0pt \leftskip0pt plus2em | ||
6217 | \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt | ||
6218 | \hbadness=10000 % Last line will usually be underfull, so turn off | ||
6219 | % badness reporting. | ||
6220 | } | ||
6221 | \let\Eraggedleft\par | ||
6222 | |||
6223 | \envdef\raggedcenter{% | ||
6224 | \parindent=0pt \rightskip0pt plus1em \leftskip0pt plus1em | ||
6225 | \spaceskip.3333em \xspaceskip.5em \parfillskip=0pt | ||
6226 | \hbadness=10000 % Last line will usually be underfull, so turn off | ||
6227 | % badness reporting. | ||
6228 | } | ||
6229 | \let\Eraggedcenter\par | ||
6230 | |||
6231 | |||
6232 | % @quotation does normal linebreaking (hence we can't use \nonfillstart) | 5939 | % @quotation does normal linebreaking (hence we can't use \nonfillstart) |
6233 | % and narrows the margins. We keep \parskip nonzero in general, since | 5940 | % and narrows the margins. We keep \parskip nonzero in general, since |
6234 | % we're doing normal filling. So, when using \aboveenvbreak and | 5941 | % we're doing normal filling. So, when using \aboveenvbreak and |
6235 | % \afterenvbreak, temporarily make \parskip 0. | 5942 | % \afterenvbreak, temporarily make \parskip 0. |
6236 | % | 5943 | % |
6237 | \def\quotationstart{% | 5944 | \envdef\quotation{% |
6238 | {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip | 5945 | {\parskip=0pt \aboveenvbreak}% because \aboveenvbreak inserts \parskip |
6239 | \parindent=0pt | 5946 | \parindent=0pt |
6240 | % | 5947 | % |
@@ -6249,17 +5956,6 @@ end | |||
6249 | \parsearg\quotationlabel | 5956 | \parsearg\quotationlabel |
6250 | } | 5957 | } |
6251 | 5958 | ||
6252 | \envdef\quotation{% | ||
6253 | \setnormaldispenv | ||
6254 | \quotationstart | ||
6255 | } | ||
6256 | |||
6257 | \envdef\smallquotation{% | ||
6258 | \setsmalldispenv | ||
6259 | \quotationstart | ||
6260 | } | ||
6261 | \let\Esmallquotation = \Equotation | ||
6262 | |||
6263 | % We have retained a nonzero parskip for the environment, since we're | 5959 | % We have retained a nonzero parskip for the environment, since we're |
6264 | % doing normal filling. | 5960 | % doing normal filling. |
6265 | % | 5961 | % |
@@ -6295,16 +5991,18 @@ end | |||
6295 | \do\ \do\\\do\{\do\}\do\$\do\&% | 5991 | \do\ \do\\\do\{\do\}\do\$\do\&% |
6296 | \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% | 5992 | \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% |
6297 | \do\<\do\>\do\|\do\@\do+\do\"% | 5993 | \do\<\do\>\do\|\do\@\do+\do\"% |
6298 | % Don't do the quotes -- if we do, @set txicodequoteundirected and | ||
6299 | % @set txicodequotebacktick will not have effect on @verb and | ||
6300 | % @verbatim, and ?` and !` ligatures won't get disabled. | ||
6301 | %\do\`\do\'% | ||
6302 | } | 5994 | } |
6303 | % | 5995 | % |
6304 | % [Knuth] p. 380 | 5996 | % [Knuth] p. 380 |
6305 | \def\uncatcodespecials{% | 5997 | \def\uncatcodespecials{% |
6306 | \def\do##1{\catcode`##1=\other}\dospecials} | 5998 | \def\do##1{\catcode`##1=\other}\dospecials} |
6307 | % | 5999 | % |
6000 | % [Knuth] pp. 380,381,391 | ||
6001 | % Disable Spanish ligatures ?` and !` of \tt font | ||
6002 | \begingroup | ||
6003 | \catcode`\`=\active\gdef`{\relax\lq} | ||
6004 | \endgroup | ||
6005 | % | ||
6308 | % Setup for the @verb command. | 6006 | % Setup for the @verb command. |
6309 | % | 6007 | % |
6310 | % Eight spaces for a tab | 6008 | % Eight spaces for a tab |
@@ -6316,7 +6014,7 @@ end | |||
6316 | \def\setupverb{% | 6014 | \def\setupverb{% |
6317 | \tt % easiest (and conventionally used) font for verbatim | 6015 | \tt % easiest (and conventionally used) font for verbatim |
6318 | \def\par{\leavevmode\endgraf}% | 6016 | \def\par{\leavevmode\endgraf}% |
6319 | \setupmarkupstyle{verb}% | 6017 | \catcode`\`=\active |
6320 | \tabeightspaces | 6018 | \tabeightspaces |
6321 | % Respect line breaks, | 6019 | % Respect line breaks, |
6322 | % print special symbols as themselves, and | 6020 | % print special symbols as themselves, and |
@@ -6331,6 +6029,33 @@ end | |||
6331 | \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount | 6029 | \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount |
6332 | % | 6030 | % |
6333 | \def\starttabbox{\setbox0=\hbox\bgroup} | 6031 | \def\starttabbox{\setbox0=\hbox\bgroup} |
6032 | |||
6033 | % Allow an option to not replace quotes with a regular directed right | ||
6034 | % quote/apostrophe (char 0x27), but instead use the undirected quote | ||
6035 | % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it | ||
6036 | % the default, but it works for pasting with more pdf viewers (at least | ||
6037 | % evince), the lilypond developers report. xpdf does work with the | ||
6038 | % regular 0x27. | ||
6039 | % | ||
6040 | \def\codequoteright{% | ||
6041 | \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax | ||
6042 | \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax | ||
6043 | '% | ||
6044 | \else \char'15 \fi | ||
6045 | \else \char'15 \fi | ||
6046 | } | ||
6047 | % | ||
6048 | % and a similar option for the left quote char vs. a grave accent. | ||
6049 | % Modern fonts display ASCII 0x60 as a grave accent, so some people like | ||
6050 | % the code environments to do likewise. | ||
6051 | % | ||
6052 | \def\codequoteleft{% | ||
6053 | \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax | ||
6054 | \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax | ||
6055 | `% | ||
6056 | \else \char'22 \fi | ||
6057 | \else \char'22 \fi | ||
6058 | } | ||
6334 | % | 6059 | % |
6335 | \begingroup | 6060 | \begingroup |
6336 | \catcode`\^^I=\active | 6061 | \catcode`\^^I=\active |
@@ -6344,6 +6069,13 @@ end | |||
6344 | \wd0=\dimen0 \box0 \starttabbox | 6069 | \wd0=\dimen0 \box0 \starttabbox |
6345 | }% | 6070 | }% |
6346 | } | 6071 | } |
6072 | \catcode`\'=\active | ||
6073 | \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% | ||
6074 | % | ||
6075 | \catcode`\`=\active | ||
6076 | \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% | ||
6077 | % | ||
6078 | \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% | ||
6347 | \endgroup | 6079 | \endgroup |
6348 | 6080 | ||
6349 | % start the verbatim environment. | 6081 | % start the verbatim environment. |
@@ -6353,8 +6085,9 @@ end | |||
6353 | % Easiest (and conventionally used) font for verbatim | 6085 | % Easiest (and conventionally used) font for verbatim |
6354 | \tt | 6086 | \tt |
6355 | \def\par{\leavevmode\egroup\box0\endgraf}% | 6087 | \def\par{\leavevmode\egroup\box0\endgraf}% |
6088 | \catcode`\`=\active | ||
6356 | \tabexpand | 6089 | \tabexpand |
6357 | \setupmarkupstyle{verbatim}% | 6090 | \quoteexpand |
6358 | % Respect line breaks, | 6091 | % Respect line breaks, |
6359 | % print special symbols as themselves, and | 6092 | % print special symbols as themselves, and |
6360 | % make each space count | 6093 | % make each space count |
@@ -6414,7 +6147,6 @@ end | |||
6414 | {% | 6147 | {% |
6415 | \makevalueexpandable | 6148 | \makevalueexpandable |
6416 | \setupverbatim | 6149 | \setupverbatim |
6417 | \indexnofonts % Allow `@@' and other weird things in file names. | ||
6418 | \input #1 | 6150 | \input #1 |
6419 | \afterenvbreak | 6151 | \afterenvbreak |
6420 | }% | 6152 | }% |
@@ -6514,7 +6246,7 @@ end | |||
6514 | \def\Edefun{\endgraf\medbreak} | 6246 | \def\Edefun{\endgraf\medbreak} |
6515 | 6247 | ||
6516 | % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; | 6248 | % \makedefun{deffn} creates \deffn, \deffnx and \Edeffn; |
6517 | % the only thing remaining is to define \deffnheader. | 6249 | % the only thing remainnig is to define \deffnheader. |
6518 | % | 6250 | % |
6519 | \def\makedefun#1{% | 6251 | \def\makedefun#1{% |
6520 | \expandafter\let\csname E#1\endcsname = \Edefun | 6252 | \expandafter\let\csname E#1\endcsname = \Edefun |
@@ -6693,7 +6425,7 @@ end | |||
6693 | % | 6425 | % |
6694 | % On the other hand, if an argument has two dashes (for instance), we | 6426 | % On the other hand, if an argument has two dashes (for instance), we |
6695 | % want a way to get ttsl. Let's try @var for that. | 6427 | % want a way to get ttsl. Let's try @var for that. |
6696 | \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% | 6428 | \let\var=\ttslanted |
6697 | #1% | 6429 | #1% |
6698 | \sl\hyphenchar\font=45 | 6430 | \sl\hyphenchar\font=45 |
6699 | } | 6431 | } |
@@ -6847,7 +6579,7 @@ end | |||
6847 | % This does \let #1 = #2, with \csnames; that is, | 6579 | % This does \let #1 = #2, with \csnames; that is, |
6848 | % \let \csname#1\endcsname = \csname#2\endcsname | 6580 | % \let \csname#1\endcsname = \csname#2\endcsname |
6849 | % (except of course we have to play expansion games). | 6581 | % (except of course we have to play expansion games). |
6850 | % | 6582 | % |
6851 | \def\cslet#1#2{% | 6583 | \def\cslet#1#2{% |
6852 | \expandafter\let | 6584 | \expandafter\let |
6853 | \csname#1\expandafter\endcsname | 6585 | \csname#1\expandafter\endcsname |
@@ -7221,22 +6953,20 @@ end | |||
7221 | % | 6953 | % |
7222 | % Make link in pdf output. | 6954 | % Make link in pdf output. |
7223 | \ifpdf | 6955 | \ifpdf |
6956 | \leavevmode | ||
6957 | \getfilename{#4}% | ||
7224 | {\indexnofonts | 6958 | {\indexnofonts |
7225 | \turnoffactive | 6959 | \turnoffactive |
7226 | % This expands tokens, so do it after making catcode changes, so _ | ||
7227 | % etc. don't get their TeX definitions. | ||
7228 | \getfilename{#4}% | ||
7229 | % | ||
7230 | % See comments at \activebackslashdouble. | 6960 | % See comments at \activebackslashdouble. |
7231 | {\activebackslashdouble \xdef\pdfxrefdest{#1}% | 6961 | {\activebackslashdouble \xdef\pdfxrefdest{#1}% |
7232 | \backslashparens\pdfxrefdest}% | 6962 | \backslashparens\pdfxrefdest}% |
7233 | % | 6963 | % |
7234 | \leavevmode | ||
7235 | \startlink attr{/Border [0 0 0]}% | ||
7236 | \ifnum\filenamelength>0 | 6964 | \ifnum\filenamelength>0 |
7237 | goto file{\the\filename.pdf} name{\pdfxrefdest}% | 6965 | \startlink attr{/Border [0 0 0]}% |
6966 | goto file{\the\filename.pdf} name{\pdfxrefdest}% | ||
7238 | \else | 6967 | \else |
7239 | goto name{\pdfmkpgn{\pdfxrefdest}}% | 6968 | \startlink attr{/Border [0 0 0]}% |
6969 | goto name{\pdfmkpgn{\pdfxrefdest}}% | ||
7240 | \fi | 6970 | \fi |
7241 | }% | 6971 | }% |
7242 | \setcolor{\linkcolor}% | 6972 | \setcolor{\linkcolor}% |
@@ -7587,7 +7317,7 @@ end | |||
7587 | % In case a @footnote appears in a vbox, save the footnote text and create | 7317 | % In case a @footnote appears in a vbox, save the footnote text and create |
7588 | % the real \insert just after the vbox finished. Otherwise, the insertion | 7318 | % the real \insert just after the vbox finished. Otherwise, the insertion |
7589 | % would be lost. | 7319 | % would be lost. |
7590 | % Similarly, if a @footnote appears inside an alignment, save the footnote | 7320 | % Similarily, if a @footnote appears inside an alignment, save the footnote |
7591 | % text to a box and make the \insert when a row of the table is finished. | 7321 | % text to a box and make the \insert when a row of the table is finished. |
7592 | % And the same can be done for other insert classes. --kasal, 16nov03. | 7322 | % And the same can be done for other insert classes. --kasal, 16nov03. |
7593 | 7323 | ||
@@ -7691,19 +7421,15 @@ end | |||
7691 | % If the image is by itself, center it. | 7421 | % If the image is by itself, center it. |
7692 | \ifvmode | 7422 | \ifvmode |
7693 | \imagevmodetrue | 7423 | \imagevmodetrue |
7694 | \nobreak\medskip | 7424 | \nobreak\bigskip |
7695 | % Usually we'll have text after the image which will insert | 7425 | % Usually we'll have text after the image which will insert |
7696 | % \parskip glue, so insert it here too to equalize the space | 7426 | % \parskip glue, so insert it here too to equalize the space |
7697 | % above and below. | 7427 | % above and below. |
7698 | \nobreak\vskip\parskip | 7428 | \nobreak\vskip\parskip |
7699 | \nobreak | 7429 | \nobreak |
7430 | \line\bgroup | ||
7700 | \fi | 7431 | \fi |
7701 | % | 7432 | % |
7702 | % Leave vertical mode so that indentation from an enclosing | ||
7703 | % environment such as @quotation is respected. On the other hand, if | ||
7704 | % it's at the top level, we don't want the normal paragraph indentation. | ||
7705 | \noindent | ||
7706 | % | ||
7707 | % Output the image. | 7433 | % Output the image. |
7708 | \ifpdf | 7434 | \ifpdf |
7709 | \dopdfimage{#1}{#2}{#3}% | 7435 | \dopdfimage{#1}{#2}{#3}% |
@@ -7714,7 +7440,7 @@ end | |||
7714 | \epsfbox{#1.eps}% | 7440 | \epsfbox{#1.eps}% |
7715 | \fi | 7441 | \fi |
7716 | % | 7442 | % |
7717 | \ifimagevmode \medskip \fi % space after the standalone image | 7443 | \ifimagevmode \egroup \bigbreak \fi % space after the image |
7718 | \endgroup} | 7444 | \endgroup} |
7719 | 7445 | ||
7720 | 7446 | ||
@@ -7986,9 +7712,10 @@ end | |||
7986 | 7712 | ||
7987 | \message{localization,} | 7713 | \message{localization,} |
7988 | 7714 | ||
7989 | % For single-language documents, @documentlanguage is usually given very | 7715 | % @documentlanguage is usually given very early, just after |
7990 | % early, just after @documentencoding. Single argument is the language | 7716 | % @setfilename. If done too late, it may not override everything |
7991 | % (de) or locale (de_DE) abbreviation. | 7717 | % properly. Single argument is the language (de) or locale (de_DE) |
7718 | % abbreviation. It would be nice if we could set up a hyphenation file. | ||
7992 | % | 7719 | % |
7993 | { | 7720 | { |
7994 | \catcode`\_ = \active | 7721 | \catcode`\_ = \active |
@@ -8001,60 +7728,31 @@ end | |||
8001 | \ifeof 1 | 7728 | \ifeof 1 |
8002 | \documentlanguagetrywithoutunderscore{#1_\finish}% | 7729 | \documentlanguagetrywithoutunderscore{#1_\finish}% |
8003 | \else | 7730 | \else |
8004 | \globaldefs = 1 % everything in the txi-LL files needs to persist | ||
8005 | \input txi-#1.tex | 7731 | \input txi-#1.tex |
8006 | \fi | 7732 | \fi |
8007 | \closein 1 | 7733 | \closein 1 |
8008 | \endgroup % end raw TeX | 7734 | \endgroup |
8009 | \endgroup} | 7735 | \endgroup} |
7736 | } | ||
8010 | % | 7737 | % |
8011 | % If they passed de_DE, and txi-de_DE.tex doesn't exist, | 7738 | % If they passed de_DE, and txi-de_DE.tex doesn't exist, |
8012 | % try txi-de.tex. | 7739 | % try txi-de.tex. |
8013 | % | 7740 | % |
8014 | \gdef\documentlanguagetrywithoutunderscore#1_#2\finish{% | 7741 | \def\documentlanguagetrywithoutunderscore#1_#2\finish{% |
8015 | \openin 1 txi-#1.tex | 7742 | \openin 1 txi-#1.tex |
8016 | \ifeof 1 | 7743 | \ifeof 1 |
8017 | \errhelp = \nolanghelp | 7744 | \errhelp = \nolanghelp |
8018 | \errmessage{Cannot read language file txi-#1.tex}% | 7745 | \errmessage{Cannot read language file txi-#1.tex}% |
8019 | \else | 7746 | \else |
8020 | \globaldefs = 1 % everything in the txi-LL files needs to persist | ||
8021 | \input txi-#1.tex | 7747 | \input txi-#1.tex |
8022 | \fi | 7748 | \fi |
8023 | \closein 1 | 7749 | \closein 1 |
8024 | } | 7750 | } |
8025 | }% end of special _ catcode | ||
8026 | % | 7751 | % |
8027 | \newhelp\nolanghelp{The given language definition file cannot be found or | 7752 | \newhelp\nolanghelp{The given language definition file cannot be found or |
8028 | is empty. Maybe you need to install it? Putting it in the current | 7753 | is empty. Maybe you need to install it? In the current directory |
8029 | directory should work if nowhere else does.} | 7754 | should work if nowhere else does.} |
8030 | 7755 | ||
8031 | % This macro is called from txi-??.tex files; the first argument is the | ||
8032 | % \language name to set (without the "\lang@" prefix), the second and | ||
8033 | % third args are \{left,right}hyphenmin. | ||
8034 | % | ||
8035 | % The language names to pass are determined when the format is built. | ||
8036 | % See the etex.log file created at that time, e.g., | ||
8037 | % /usr/local/texlive/2008/texmf-var/web2c/pdftex/etex.log. | ||
8038 | % | ||
8039 | % With TeX Live 2008, etex now includes hyphenation patterns for all | ||
8040 | % available languages. This means we can support hyphenation in | ||
8041 | % Texinfo, at least to some extent. (This still doesn't solve the | ||
8042 | % accented characters problem.) | ||
8043 | % | ||
8044 | \catcode`@=11 | ||
8045 | \def\txisetlanguage#1#2#3{% | ||
8046 | % do not set the language if the name is undefined in the current TeX. | ||
8047 | \expandafter\ifx\csname lang@#1\endcsname \relax | ||
8048 | \message{no patterns for #1}% | ||
8049 | \else | ||
8050 | \global\language = \csname lang@#1\endcsname | ||
8051 | \fi | ||
8052 | % but there is no harm in adjusting the hyphenmin values regardless. | ||
8053 | \global\lefthyphenmin = #2\relax | ||
8054 | \global\righthyphenmin = #3\relax | ||
8055 | } | ||
8056 | |||
8057 | % Helpers for encodings. | ||
8058 | % Set the catcode of characters 128 through 255 to the specified number. | 7756 | % Set the catcode of characters 128 through 255 to the specified number. |
8059 | % | 7757 | % |
8060 | \def\setnonasciicharscatcode#1{% | 7758 | \def\setnonasciicharscatcode#1{% |
@@ -8095,7 +7793,7 @@ directory should work if nowhere else does.} | |||
8095 | \setnonasciicharscatcode\active | 7793 | \setnonasciicharscatcode\active |
8096 | \lattwochardefs | 7794 | \lattwochardefs |
8097 | % | 7795 | % |
8098 | \else \ifx \declaredencoding \latone | 7796 | \else \ifx \declaredencoding \latone |
8099 | \setnonasciicharscatcode\active | 7797 | \setnonasciicharscatcode\active |
8100 | \latonechardefs | 7798 | \latonechardefs |
8101 | % | 7799 | % |
@@ -8107,7 +7805,7 @@ directory should work if nowhere else does.} | |||
8107 | \setnonasciicharscatcode\active | 7805 | \setnonasciicharscatcode\active |
8108 | \utfeightchardefs | 7806 | \utfeightchardefs |
8109 | % | 7807 | % |
8110 | \else | 7808 | \else |
8111 | \message{Unknown document encoding #1, ignoring.}% | 7809 | \message{Unknown document encoding #1, ignoring.}% |
8112 | % | 7810 | % |
8113 | \fi % utfeight | 7811 | \fi % utfeight |
@@ -8119,7 +7817,7 @@ directory should work if nowhere else does.} | |||
8119 | 7817 | ||
8120 | % A message to be logged when using a character that isn't available | 7818 | % A message to be logged when using a character that isn't available |
8121 | % the default font encoding (OT1). | 7819 | % the default font encoding (OT1). |
8122 | % | 7820 | % |
8123 | \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} | 7821 | \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} |
8124 | 7822 | ||
8125 | % Take account of \c (plain) vs. \, (Texinfo) difference. | 7823 | % Take account of \c (plain) vs. \, (Texinfo) difference. |
@@ -8132,21 +7830,21 @@ directory should work if nowhere else does.} | |||
8132 | % | 7830 | % |
8133 | % Latin1 (ISO-8859-1) character definitions. | 7831 | % Latin1 (ISO-8859-1) character definitions. |
8134 | \def\latonechardefs{% | 7832 | \def\latonechardefs{% |
8135 | \gdef^^a0{~} | 7833 | \gdef^^a0{~} |
8136 | \gdef^^a1{\exclamdown} | 7834 | \gdef^^a1{\exclamdown} |
8137 | \gdef^^a2{\missingcharmsg{CENT SIGN}} | 7835 | \gdef^^a2{\missingcharmsg{CENT SIGN}} |
8138 | \gdef^^a3{{\pounds}} | 7836 | \gdef^^a3{{\pounds}} |
8139 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} | 7837 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} |
8140 | \gdef^^a5{\missingcharmsg{YEN SIGN}} | 7838 | \gdef^^a5{\missingcharmsg{YEN SIGN}} |
8141 | \gdef^^a6{\missingcharmsg{BROKEN BAR}} | 7839 | \gdef^^a6{\missingcharmsg{BROKEN BAR}} |
8142 | \gdef^^a7{\S} | 7840 | \gdef^^a7{\S} |
8143 | \gdef^^a8{\"{}} | 7841 | \gdef^^a8{\"{}} |
8144 | \gdef^^a9{\copyright} | 7842 | \gdef^^a9{\copyright} |
8145 | \gdef^^aa{\ordf} | 7843 | \gdef^^aa{\ordf} |
8146 | \gdef^^ab{\guillemetleft} | 7844 | \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} |
8147 | \gdef^^ac{$\lnot$} | 7845 | \gdef^^ac{$\lnot$} |
8148 | \gdef^^ad{\-} | 7846 | \gdef^^ad{\-} |
8149 | \gdef^^ae{\registeredsymbol} | 7847 | \gdef^^ae{\registeredsymbol} |
8150 | \gdef^^af{\={}} | 7848 | \gdef^^af{\={}} |
8151 | % | 7849 | % |
8152 | \gdef^^b0{\textdegree} | 7850 | \gdef^^b0{\textdegree} |
@@ -8162,7 +7860,7 @@ directory should work if nowhere else does.} | |||
8162 | \gdef^^b9{$^1$} | 7860 | \gdef^^b9{$^1$} |
8163 | \gdef^^ba{\ordm} | 7861 | \gdef^^ba{\ordm} |
8164 | % | 7862 | % |
8165 | \gdef^^bb{\guilletright} | 7863 | \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} |
8166 | \gdef^^bc{$1\over4$} | 7864 | \gdef^^bc{$1\over4$} |
8167 | \gdef^^bd{$1\over2$} | 7865 | \gdef^^bd{$1\over2$} |
8168 | \gdef^^be{$3\over4$} | 7866 | \gdef^^be{$3\over4$} |
@@ -8173,7 +7871,7 @@ directory should work if nowhere else does.} | |||
8173 | \gdef^^c2{\^A} | 7871 | \gdef^^c2{\^A} |
8174 | \gdef^^c3{\~A} | 7872 | \gdef^^c3{\~A} |
8175 | \gdef^^c4{\"A} | 7873 | \gdef^^c4{\"A} |
8176 | \gdef^^c5{\ringaccent A} | 7874 | \gdef^^c5{\ringaccent A} |
8177 | \gdef^^c6{\AE} | 7875 | \gdef^^c6{\AE} |
8178 | \gdef^^c7{\cedilla C} | 7876 | \gdef^^c7{\cedilla C} |
8179 | \gdef^^c8{\`E} | 7877 | \gdef^^c8{\`E} |
@@ -8185,7 +7883,7 @@ directory should work if nowhere else does.} | |||
8185 | \gdef^^ce{\^I} | 7883 | \gdef^^ce{\^I} |
8186 | \gdef^^cf{\"I} | 7884 | \gdef^^cf{\"I} |
8187 | % | 7885 | % |
8188 | \gdef^^d0{\DH} | 7886 | \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} |
8189 | \gdef^^d1{\~N} | 7887 | \gdef^^d1{\~N} |
8190 | \gdef^^d2{\`O} | 7888 | \gdef^^d2{\`O} |
8191 | \gdef^^d3{\'O} | 7889 | \gdef^^d3{\'O} |
@@ -8199,7 +7897,7 @@ directory should work if nowhere else does.} | |||
8199 | \gdef^^db{\^U} | 7897 | \gdef^^db{\^U} |
8200 | \gdef^^dc{\"U} | 7898 | \gdef^^dc{\"U} |
8201 | \gdef^^dd{\'Y} | 7899 | \gdef^^dd{\'Y} |
8202 | \gdef^^de{\TH} | 7900 | \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} |
8203 | \gdef^^df{\ss} | 7901 | \gdef^^df{\ss} |
8204 | % | 7902 | % |
8205 | \gdef^^e0{\`a} | 7903 | \gdef^^e0{\`a} |
@@ -8219,7 +7917,7 @@ directory should work if nowhere else does.} | |||
8219 | \gdef^^ee{\^{\dotless i}} | 7917 | \gdef^^ee{\^{\dotless i}} |
8220 | \gdef^^ef{\"{\dotless i}} | 7918 | \gdef^^ef{\"{\dotless i}} |
8221 | % | 7919 | % |
8222 | \gdef^^f0{\dh} | 7920 | \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} |
8223 | \gdef^^f1{\~n} | 7921 | \gdef^^f1{\~n} |
8224 | \gdef^^f2{\`o} | 7922 | \gdef^^f2{\`o} |
8225 | \gdef^^f3{\'o} | 7923 | \gdef^^f3{\'o} |
@@ -8233,7 +7931,7 @@ directory should work if nowhere else does.} | |||
8233 | \gdef^^fb{\^u} | 7931 | \gdef^^fb{\^u} |
8234 | \gdef^^fc{\"u} | 7932 | \gdef^^fc{\"u} |
8235 | \gdef^^fd{\'y} | 7933 | \gdef^^fd{\'y} |
8236 | \gdef^^fe{\th} | 7934 | \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} |
8237 | \gdef^^ff{\"y} | 7935 | \gdef^^ff{\"y} |
8238 | } | 7936 | } |
8239 | 7937 | ||
@@ -8255,7 +7953,7 @@ directory should work if nowhere else does.} | |||
8255 | % Latin2 (ISO-8859-2) character definitions. | 7953 | % Latin2 (ISO-8859-2) character definitions. |
8256 | \def\lattwochardefs{% | 7954 | \def\lattwochardefs{% |
8257 | \gdef^^a0{~} | 7955 | \gdef^^a0{~} |
8258 | \gdef^^a1{\ogonek{A}} | 7956 | \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} |
8259 | \gdef^^a2{\u{}} | 7957 | \gdef^^a2{\u{}} |
8260 | \gdef^^a3{\L} | 7958 | \gdef^^a3{\L} |
8261 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} | 7959 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} |
@@ -8272,8 +7970,8 @@ directory should work if nowhere else does.} | |||
8272 | \gdef^^af{\dotaccent Z} | 7970 | \gdef^^af{\dotaccent Z} |
8273 | % | 7971 | % |
8274 | \gdef^^b0{\textdegree} | 7972 | \gdef^^b0{\textdegree} |
8275 | \gdef^^b1{\ogonek{a}} | 7973 | \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} |
8276 | \gdef^^b2{\ogonek{ }} | 7974 | \gdef^^b2{\missingcharmsg{OGONEK}} |
8277 | \gdef^^b3{\l} | 7975 | \gdef^^b3{\l} |
8278 | \gdef^^b4{\'{}} | 7976 | \gdef^^b4{\'{}} |
8279 | \gdef^^b5{\v l} | 7977 | \gdef^^b5{\v l} |
@@ -8298,14 +7996,14 @@ directory should work if nowhere else does.} | |||
8298 | \gdef^^c7{\cedilla C} | 7996 | \gdef^^c7{\cedilla C} |
8299 | \gdef^^c8{\v C} | 7997 | \gdef^^c8{\v C} |
8300 | \gdef^^c9{\'E} | 7998 | \gdef^^c9{\'E} |
8301 | \gdef^^ca{\ogonek{E}} | 7999 | \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} |
8302 | \gdef^^cb{\"E} | 8000 | \gdef^^cb{\"E} |
8303 | \gdef^^cc{\v E} | 8001 | \gdef^^cc{\v E} |
8304 | \gdef^^cd{\'I} | 8002 | \gdef^^cd{\'I} |
8305 | \gdef^^ce{\^I} | 8003 | \gdef^^ce{\^I} |
8306 | \gdef^^cf{\v D} | 8004 | \gdef^^cf{\v D} |
8307 | % | 8005 | % |
8308 | \gdef^^d0{\DH} | 8006 | \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} |
8309 | \gdef^^d1{\'N} | 8007 | \gdef^^d1{\'N} |
8310 | \gdef^^d2{\v N} | 8008 | \gdef^^d2{\v N} |
8311 | \gdef^^d3{\'O} | 8009 | \gdef^^d3{\'O} |
@@ -8314,7 +8012,7 @@ directory should work if nowhere else does.} | |||
8314 | \gdef^^d6{\"O} | 8012 | \gdef^^d6{\"O} |
8315 | \gdef^^d7{$\times$} | 8013 | \gdef^^d7{$\times$} |
8316 | \gdef^^d8{\v R} | 8014 | \gdef^^d8{\v R} |
8317 | \gdef^^d9{\ringaccent U} | 8015 | \gdef^^d9{\ringaccent U} |
8318 | \gdef^^da{\'U} | 8016 | \gdef^^da{\'U} |
8319 | \gdef^^db{\H U} | 8017 | \gdef^^db{\H U} |
8320 | \gdef^^dc{\"U} | 8018 | \gdef^^dc{\"U} |
@@ -8332,14 +8030,14 @@ directory should work if nowhere else does.} | |||
8332 | \gdef^^e7{\cedilla c} | 8030 | \gdef^^e7{\cedilla c} |
8333 | \gdef^^e8{\v c} | 8031 | \gdef^^e8{\v c} |
8334 | \gdef^^e9{\'e} | 8032 | \gdef^^e9{\'e} |
8335 | \gdef^^ea{\ogonek{e}} | 8033 | \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} |
8336 | \gdef^^eb{\"e} | 8034 | \gdef^^eb{\"e} |
8337 | \gdef^^ec{\v e} | 8035 | \gdef^^ec{\v e} |
8338 | \gdef^^ed{\'\i} | 8036 | \gdef^^ed{\'\i} |
8339 | \gdef^^ee{\^\i} | 8037 | \gdef^^ee{\^\i} |
8340 | \gdef^^ef{\v d} | 8038 | \gdef^^ef{\v d} |
8341 | % | 8039 | % |
8342 | \gdef^^f0{\dh} | 8040 | \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} |
8343 | \gdef^^f1{\'n} | 8041 | \gdef^^f1{\'n} |
8344 | \gdef^^f2{\v n} | 8042 | \gdef^^f2{\v n} |
8345 | \gdef^^f3{\'o} | 8043 | \gdef^^f3{\'o} |
@@ -8358,11 +8056,11 @@ directory should work if nowhere else does.} | |||
8358 | } | 8056 | } |
8359 | 8057 | ||
8360 | % UTF-8 character definitions. | 8058 | % UTF-8 character definitions. |
8361 | % | 8059 | % |
8362 | % This code to support UTF-8 is based on LaTeX's utf8.def, with some | 8060 | % This code to support UTF-8 is based on LaTeX's utf8.def, with some |
8363 | % changes for Texinfo conventions. It is included here under the GPL by | 8061 | % changes for Texinfo conventions. It is included here under the GPL by |
8364 | % permission from Frank Mittelbach and the LaTeX team. | 8062 | % permission from Frank Mittelbach and the LaTeX team. |
8365 | % | 8063 | % |
8366 | \newcount\countUTFx | 8064 | \newcount\countUTFx |
8367 | \newcount\countUTFy | 8065 | \newcount\countUTFy |
8368 | \newcount\countUTFz | 8066 | \newcount\countUTFz |
@@ -8512,7 +8210,6 @@ directory should work if nowhere else does.} | |||
8512 | \DeclareUnicodeCharacter{00CE}{\^I} | 8210 | \DeclareUnicodeCharacter{00CE}{\^I} |
8513 | \DeclareUnicodeCharacter{00CF}{\"I} | 8211 | \DeclareUnicodeCharacter{00CF}{\"I} |
8514 | 8212 | ||
8515 | \DeclareUnicodeCharacter{00D0}{\DH} | ||
8516 | \DeclareUnicodeCharacter{00D1}{\~N} | 8213 | \DeclareUnicodeCharacter{00D1}{\~N} |
8517 | \DeclareUnicodeCharacter{00D2}{\`O} | 8214 | \DeclareUnicodeCharacter{00D2}{\`O} |
8518 | \DeclareUnicodeCharacter{00D3}{\'O} | 8215 | \DeclareUnicodeCharacter{00D3}{\'O} |
@@ -8525,7 +8222,6 @@ directory should work if nowhere else does.} | |||
8525 | \DeclareUnicodeCharacter{00DB}{\^U} | 8222 | \DeclareUnicodeCharacter{00DB}{\^U} |
8526 | \DeclareUnicodeCharacter{00DC}{\"U} | 8223 | \DeclareUnicodeCharacter{00DC}{\"U} |
8527 | \DeclareUnicodeCharacter{00DD}{\'Y} | 8224 | \DeclareUnicodeCharacter{00DD}{\'Y} |
8528 | \DeclareUnicodeCharacter{00DE}{\TH} | ||
8529 | \DeclareUnicodeCharacter{00DF}{\ss} | 8225 | \DeclareUnicodeCharacter{00DF}{\ss} |
8530 | 8226 | ||
8531 | \DeclareUnicodeCharacter{00E0}{\`a} | 8227 | \DeclareUnicodeCharacter{00E0}{\`a} |
@@ -8545,7 +8241,6 @@ directory should work if nowhere else does.} | |||
8545 | \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} | 8241 | \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} |
8546 | \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} | 8242 | \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} |
8547 | 8243 | ||
8548 | \DeclareUnicodeCharacter{00F0}{\dh} | ||
8549 | \DeclareUnicodeCharacter{00F1}{\~n} | 8244 | \DeclareUnicodeCharacter{00F1}{\~n} |
8550 | \DeclareUnicodeCharacter{00F2}{\`o} | 8245 | \DeclareUnicodeCharacter{00F2}{\`o} |
8551 | \DeclareUnicodeCharacter{00F3}{\'o} | 8246 | \DeclareUnicodeCharacter{00F3}{\'o} |
@@ -8558,21 +8253,16 @@ directory should work if nowhere else does.} | |||
8558 | \DeclareUnicodeCharacter{00FB}{\^u} | 8253 | \DeclareUnicodeCharacter{00FB}{\^u} |
8559 | \DeclareUnicodeCharacter{00FC}{\"u} | 8254 | \DeclareUnicodeCharacter{00FC}{\"u} |
8560 | \DeclareUnicodeCharacter{00FD}{\'y} | 8255 | \DeclareUnicodeCharacter{00FD}{\'y} |
8561 | \DeclareUnicodeCharacter{00FE}{\th} | ||
8562 | \DeclareUnicodeCharacter{00FF}{\"y} | 8256 | \DeclareUnicodeCharacter{00FF}{\"y} |
8563 | 8257 | ||
8564 | \DeclareUnicodeCharacter{0100}{\=A} | 8258 | \DeclareUnicodeCharacter{0100}{\=A} |
8565 | \DeclareUnicodeCharacter{0101}{\=a} | 8259 | \DeclareUnicodeCharacter{0101}{\=a} |
8566 | \DeclareUnicodeCharacter{0102}{\u{A}} | 8260 | \DeclareUnicodeCharacter{0102}{\u{A}} |
8567 | \DeclareUnicodeCharacter{0103}{\u{a}} | 8261 | \DeclareUnicodeCharacter{0103}{\u{a}} |
8568 | \DeclareUnicodeCharacter{0104}{\ogonek{A}} | ||
8569 | \DeclareUnicodeCharacter{0105}{\ogonek{a}} | ||
8570 | \DeclareUnicodeCharacter{0106}{\'C} | 8262 | \DeclareUnicodeCharacter{0106}{\'C} |
8571 | \DeclareUnicodeCharacter{0107}{\'c} | 8263 | \DeclareUnicodeCharacter{0107}{\'c} |
8572 | \DeclareUnicodeCharacter{0108}{\^C} | 8264 | \DeclareUnicodeCharacter{0108}{\^C} |
8573 | \DeclareUnicodeCharacter{0109}{\^c} | 8265 | \DeclareUnicodeCharacter{0109}{\^c} |
8574 | \DeclareUnicodeCharacter{0118}{\ogonek{E}} | ||
8575 | \DeclareUnicodeCharacter{0119}{\ogonek{e}} | ||
8576 | \DeclareUnicodeCharacter{010A}{\dotaccent{C}} | 8266 | \DeclareUnicodeCharacter{010A}{\dotaccent{C}} |
8577 | \DeclareUnicodeCharacter{010B}{\dotaccent{c}} | 8267 | \DeclareUnicodeCharacter{010B}{\dotaccent{c}} |
8578 | \DeclareUnicodeCharacter{010C}{\v{C}} | 8268 | \DeclareUnicodeCharacter{010C}{\v{C}} |
@@ -8720,8 +8410,6 @@ directory should work if nowhere else does.} | |||
8720 | \DeclareUnicodeCharacter{0233}{\=y} | 8410 | \DeclareUnicodeCharacter{0233}{\=y} |
8721 | \DeclareUnicodeCharacter{0237}{\dotless{j}} | 8411 | \DeclareUnicodeCharacter{0237}{\dotless{j}} |
8722 | 8412 | ||
8723 | \DeclareUnicodeCharacter{02DB}{\ogonek{ }} | ||
8724 | |||
8725 | \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} | 8413 | \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} |
8726 | \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} | 8414 | \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} |
8727 | \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} | 8415 | \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} |
@@ -9103,9 +8791,6 @@ directory should work if nowhere else does.} | |||
9103 | 8791 | ||
9104 | \message{and turning on texinfo input format.} | 8792 | \message{and turning on texinfo input format.} |
9105 | 8793 | ||
9106 | % DEL is a comment character, in case @c does not suffice. | ||
9107 | \catcode`\^^? = 14 | ||
9108 | |||
9109 | % Define macros to output various characters with catcode for normal text. | 8794 | % Define macros to output various characters with catcode for normal text. |
9110 | \catcode`\"=\other | 8795 | \catcode`\"=\other |
9111 | \catcode`\~=\other | 8796 | \catcode`\~=\other |
@@ -9215,7 +8900,7 @@ directory should work if nowhere else does.} | |||
9215 | 8900 | ||
9216 | % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of | 8901 | % Same as @turnoffactive except outputs \ as {\tt\char`\\} instead of |
9217 | % the literal character `\'. | 8902 | % the literal character `\'. |
9218 | % | 8903 | % |
9219 | @def@normalturnoffactive{% | 8904 | @def@normalturnoffactive{% |
9220 | @let\=@normalbackslash | 8905 | @let\=@normalbackslash |
9221 | @let"=@normaldoublequote | 8906 | @let"=@normaldoublequote |
@@ -9227,8 +8912,6 @@ directory should work if nowhere else does.} | |||
9227 | @let>=@normalgreater | 8912 | @let>=@normalgreater |
9228 | @let+=@normalplus | 8913 | @let+=@normalplus |
9229 | @let$=@normaldollar %$ font-lock fix | 8914 | @let$=@normaldollar %$ font-lock fix |
9230 | @markupsetuplqdefault | ||
9231 | @markupsetuprqdefault | ||
9232 | @unsepspaces | 8915 | @unsepspaces |
9233 | } | 8916 | } |
9234 | 8917 | ||
@@ -9263,21 +8946,9 @@ directory should work if nowhere else does.} | |||
9263 | @catcode`@# = @other | 8946 | @catcode`@# = @other |
9264 | @catcode`@% = @other | 8947 | @catcode`@% = @other |
9265 | 8948 | ||
9266 | @c Finally, make ` and ' active, so that txicodequoteundirected and | ||
9267 | @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we | ||
9268 | @c don't make ` and ' active, @code will not get them as active chars. | ||
9269 | @c Do this last of all since we use ` in the previous @catcode assignments. | ||
9270 | @catcode`@'=@active | ||
9271 | @catcode`@`=@active | ||
9272 | @markupsetuplqdefault | ||
9273 | @markupsetuprqdefault | ||
9274 | |||
9275 | @c Gnulib now utterly and painfully insists on no trailing whitespace. | ||
9276 | @c So we have to nuke it. | ||
9277 | 8949 | ||
9278 | @c Local variables: | 8950 | @c Local variables: |
9279 | @c eval: (add-hook 'write-file-hooks 'time-stamp) | 8951 | @c eval: (add-hook 'write-file-hooks 'time-stamp) |
9280 | @c eval: (add-hook 'write-file-hooks 'nuke-trailing-whitespace) | ||
9281 | @c page-delimiter: "^\\\\message" | 8952 | @c page-delimiter: "^\\\\message" |
9282 | @c time-stamp-start: "def\\\\texinfoversion{" | 8953 | @c time-stamp-start: "def\\\\texinfoversion{" |
9283 | @c time-stamp-format: "%:y-%02m-%02d.%02H" | 8954 | @c time-stamp-format: "%:y-%02m-%02d.%02H" |