update texinfo.tex
Norbert Preining
6 years ago
0 | Update texinfo.tex to the latest version on the GNU server, which fixes | |
1 | a bug wrt @var in exponents. | |
2 | --- | |
3 | doc/texinfo.tex | 152 +++++++++++++++++++++++++++++++++++--------------------- | |
4 | 1 file changed, 96 insertions(+), 56 deletions(-) | |
5 | ||
6 | --- texinfo.orig/doc/texinfo.tex | |
7 | +++ texinfo/doc/texinfo.tex | |
8 | @@ -3,11 +3,11 @@ | |
9 | % Load plain if necessary, i.e., if running under initex. | |
10 | \expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi | |
11 | % | |
12 | -\def\texinfoversion{2017-08-23.19} | |
13 | +\def\texinfoversion{2018-01-09.11} | |
14 | % | |
15 | % Copyright 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, | |
16 | % 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, | |
17 | -% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017 | |
18 | +% 2007, 2008, 2009, 2010, 2011, 2012, 2013, 2014, 2015, 2016, 2017, 2018 | |
19 | % Free Software Foundation, Inc. | |
20 | % | |
21 | % This texinfo.tex file is free software: you can redistribute it and/or | |
22 | @@ -21,7 +21,7 @@ | |
23 | % General Public License for more details. | |
24 | % | |
25 | % You should have received a copy of the GNU General Public License | |
26 | -% along with this program. If not, see <http://www.gnu.org/licenses/>. | |
27 | +% along with this program. If not, see <https://www.gnu.org/licenses/>. | |
28 | % | |
29 | % As a special exception, when this file is read by TeX when processing | |
30 | % a Texinfo source document, you may use the result without | |
31 | @@ -30,9 +30,9 @@ | |
32 | % | |
33 | % Please try the latest version of texinfo.tex before submitting bug | |
34 | % reports; you can get the latest version from: | |
35 | -% http://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or | |
36 | -% http://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or | |
37 | -% http://www.gnu.org/software/texinfo/ (the Texinfo home page) | |
38 | +% https://ftp.gnu.org/gnu/texinfo/ (the Texinfo release area), or | |
39 | +% https://ftpmirror.gnu.org/texinfo/ (same, via a mirror), or | |
40 | +% https://www.gnu.org/software/texinfo/ (the Texinfo home page) | |
41 | % The texinfo.tex in any given distribution could well be out | |
42 | % of date, so if that's what you're using, please check. | |
43 | % | |
44 | @@ -56,7 +56,7 @@ | |
45 | % extent. You can get the existing language-specific files from the | |
46 | % full Texinfo distribution. | |
47 | % | |
48 | -% The GNU Texinfo home page is http://www.gnu.org/software/texinfo. | |
49 | +% The GNU Texinfo home page is https://www.gnu.org/software/texinfo. | |
50 | ||
51 | ||
52 | \message{Loading texinfo [version \texinfoversion]:} | |
53 | @@ -2235,6 +2235,20 @@ | |
54 | \font\smallersy=cmsy8 | |
55 | \def\smallerecsize{0800} | |
56 | ||
57 | +% Fonts for math mode superscripts (7pt). | |
58 | +\def\sevennominalsize{7pt} | |
59 | +\setfont\sevenrm\rmshape{7}{1000}{OT1} | |
60 | +\setfont\seventt\ttshape{10}{700}{OT1TT} | |
61 | +\setfont\sevenbf\bfshape{10}{700}{OT1} | |
62 | +\setfont\sevenit\itshape{7}{1000}{OT1IT} | |
63 | +\setfont\sevensl\slshape{10}{700}{OT1} | |
64 | +\setfont\sevensf\sfshape{10}{700}{OT1} | |
65 | +\setfont\sevensc\scshape{10}{700}{OT1} | |
66 | +\setfont\seventtsl\ttslshape{10}{700}{OT1TT} | |
67 | +\font\seveni=cmmi7 | |
68 | +\font\sevensy=cmsy7 | |
69 | +\def\sevenecsize{0700} | |
70 | + | |
71 | % Fonts for title page (20.4pt): | |
72 | \def\titlenominalsize{20pt} | |
73 | \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} | |
74 | @@ -2369,6 +2383,20 @@ | |
75 | \font\smallersy=cmsy8 | |
76 | \def\smallerecsize{0800} | |
77 | ||
78 | +% Fonts for math mode superscripts (7pt). | |
79 | +\def\sevennominalsize{7pt} | |
80 | +\setfont\sevenrm\rmshape{7}{1000}{OT1} | |
81 | +\setfont\seventt\ttshape{10}{700}{OT1TT} | |
82 | +\setfont\sevenbf\bfshape{10}{700}{OT1} | |
83 | +\setfont\sevenit\itshape{7}{1000}{OT1IT} | |
84 | +\setfont\sevensl\slshape{10}{700}{OT1} | |
85 | +\setfont\sevensf\sfshape{10}{700}{OT1} | |
86 | +\setfont\sevensc\scshape{10}{700}{OT1} | |
87 | +\setfont\seventtsl\ttslshape{10}{700}{OT1TT} | |
88 | +\font\seveni=cmmi7 | |
89 | +\font\sevensy=cmsy7 | |
90 | +\def\sevenecsize{0700} | |
91 | + | |
92 | % Fonts for title page (20.4pt): | |
93 | \def\titlenominalsize{20pt} | |
94 | \setfont\titlerm\rmbshape{12}{\magstep3}{OT1} | |
95 | @@ -2503,13 +2531,20 @@ | |
96 | ||
97 | ||
98 | % In order for the font changes to affect most math symbols and letters, | |
99 | -% we have to define the \textfont of the standard families. We don't | |
100 | -% bother to reset \scriptfont and \scriptscriptfont; awaiting user need. | |
101 | +% we have to define the \textfont of the standard families. | |
102 | +% We don't bother to reset \scriptscriptfont; awaiting user need. | |
103 | % | |
104 | \def\resetmathfonts{% | |
105 | \textfont0=\rmfont \textfont1=\ifont \textfont2=\syfont | |
106 | \textfont\itfam=\itfont \textfont\slfam=\slfont \textfont\bffam=\bffont | |
107 | \textfont\ttfam=\ttfont \textfont\sffam=\sffont | |
108 | + % | |
109 | + % Fonts for superscript. Note that the 7pt fonts are used regardless | |
110 | + % of the current font size. | |
111 | + \scriptfont0=\sevenrm \scriptfont1=\seveni \scriptfont2=\sevensy | |
112 | + \scriptfont\itfam=\sevenit \scriptfont\slfam=\sevensl | |
113 | + \scriptfont\bffam=\sevenbf \scriptfont\ttfam=\seventt | |
114 | + \scriptfont\sffam=\sevensf | |
115 | } | |
116 | ||
117 | % | |
118 | @@ -2519,6 +2554,9 @@ | |
119 | % to also set the current \fam for math mode. Our \STYLE (e.g., \rm) | |
120 | % commands hardwire \STYLEfont to set the current font. | |
121 | % | |
122 | +% The fonts used for \ifont are for "math italics" (\itfont is for italics | |
123 | +% in regular text). \syfont is also used in math mode only. | |
124 | +% | |
125 | % Each font-changing command also sets the names \lsize (one size lower) | |
126 | % and \lllsize (three sizes lower). These relative commands are used | |
127 | % in, e.g., the LaTeX logo and acronyms. | |
128 | @@ -2619,26 +2657,11 @@ | |
129 | % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will | |
130 | % define and register \INITMACRO to be called on markup style changes. | |
131 | % \INITMACRO can check \currentmarkupstyle for the innermost | |
132 | -% style and the set of \ifmarkupSTYLE switches for all styles | |
133 | -% currently in effect. | |
134 | -\newif\ifmarkupvar | |
135 | -\newif\ifmarkupsamp | |
136 | -\newif\ifmarkupkey | |
137 | -%\newif\ifmarkupfile % @file == @samp. | |
138 | -%\newif\ifmarkupoption % @option == @samp. | |
139 | -\newif\ifmarkupcode | |
140 | -\newif\ifmarkupkbd | |
141 | -%\newif\ifmarkupenv % @env == @code. | |
142 | -%\newif\ifmarkupcommand % @command == @code. | |
143 | -\newif\ifmarkuptex % @tex (and part of @math, for now). | |
144 | -\newif\ifmarkupexample | |
145 | -\newif\ifmarkupverb | |
146 | -\newif\ifmarkupverbatim | |
147 | +% style. | |
148 | ||
149 | \let\currentmarkupstyle\empty | |
150 | ||
151 | \def\setupmarkupstyle#1{% | |
152 | - \csname markup#1true\endcsname | |
153 | \def\currentmarkupstyle{#1}% | |
154 | \markupstylesetup | |
155 | } | |
156 | @@ -2700,11 +2723,15 @@ | |
157 | % lilypond developers report. xpdf does work with the regular 0x27. | |
158 | % | |
159 | \def\codequoteright{% | |
160 | - \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax | |
161 | - \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax | |
162 | - '% | |
163 | + \ifmonospace | |
164 | + \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax | |
165 | + \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax | |
166 | + '% | |
167 | + \else \char'15 \fi | |
168 | \else \char'15 \fi | |
169 | - \else \char'15 \fi | |
170 | + \else | |
171 | + '% | |
172 | + \fi | |
173 | } | |
174 | % | |
175 | % and a similar option for the left quote char vs. a grave accent. | |
176 | @@ -2712,13 +2739,17 @@ | |
177 | % the code environments to do likewise. | |
178 | % | |
179 | \def\codequoteleft{% | |
180 | - \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax | |
181 | - \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax | |
182 | - % [Knuth] pp. 380,381,391 | |
183 | - % \relax disables Spanish ligatures ?` and !` of \tt font. | |
184 | - \relax`% | |
185 | + \ifmonospace | |
186 | + \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax | |
187 | + \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax | |
188 | + % [Knuth] pp. 380,381,391 | |
189 | + % \relax disables Spanish ligatures ?` and !` of \tt font. | |
190 | + \relax`% | |
191 | + \else \char'22 \fi | |
192 | \else \char'22 \fi | |
193 | - \else \char'22 \fi | |
194 | + \else | |
195 | + \relax`% | |
196 | + \fi | |
197 | } | |
198 | ||
199 | % Commands to set the quote options. | |
200 | @@ -5969,24 +6000,30 @@ | |
201 | % Split the last of the double-column material. | |
202 | \savemarks | |
203 | \balancecolumns | |
204 | - % | |
205 | + }% | |
206 | + \eject % call the \output just set | |
207 | + \ifdim\pagetotal=0pt | |
208 | % Having called \balancecolumns once, we do not | |
209 | % want to call it again. Therefore, reset \output to its normal | |
210 | % definition right away. | |
211 | \global\output = {\onepageout{\pagecontents\PAGE}}% | |
212 | - }% | |
213 | - \eject | |
214 | - \endgroup % started in \begindoublecolumns | |
215 | - \restoremarks | |
216 | - % Leave the double-column material on the current page, no automatic | |
217 | - % page break. | |
218 | - \box\balancedcolumns | |
219 | - % | |
220 | - % \pagegoal was set to the doubled \vsize above, since we restarted | |
221 | - % the current page. We're now back to normal single-column | |
222 | - % typesetting, so reset \pagegoal to the normal \vsize. | |
223 | - \global\vsize = \txipageheight % | |
224 | - \pagegoal = \txipageheight % | |
225 | + % | |
226 | + \endgroup % started in \begindoublecolumns | |
227 | + \restoremarks | |
228 | + % Leave the double-column material on the current page, no automatic | |
229 | + % page break. | |
230 | + \box\balancedcolumns | |
231 | + % | |
232 | + % \pagegoal was set to the doubled \vsize above, since we restarted | |
233 | + % the current page. We're now back to normal single-column | |
234 | + % typesetting, so reset \pagegoal to the normal \vsize. | |
235 | + \global\vsize = \txipageheight % | |
236 | + \pagegoal = \txipageheight % | |
237 | + \else | |
238 | + % We had some left-over material. This might happen when \doublecolumnout | |
239 | + % is called in \balancecolumns. Try again. | |
240 | + \expandafter\enddoublecolumns | |
241 | + \fi | |
242 | } | |
243 | \newbox\balancedcolumns | |
244 | \setbox\balancedcolumns=\vbox{shouldnt see this}% | |
245 | @@ -6001,6 +6038,7 @@ | |
246 | \ifdim\dimen@<5\baselineskip | |
247 | % Don't split a short final column in two. | |
248 | \setbox2=\vbox{}% | |
249 | + \global\setbox\balancedcolumns=\vbox{\pagesofar}% | |
250 | \else | |
251 | \divide\dimen@ by 2 % target to split to | |
252 | \dimen@ii = \dimen@ | |
253 | @@ -6016,15 +6054,15 @@ | |
254 | \repeat | |
255 | }% | |
256 | % Now the left column is in box 1, and the right column in box 3. | |
257 | + % | |
258 | % Check whether the left column has come out higher than the page itself. | |
259 | % (Note that we have doubled \vsize for the double columns, so | |
260 | % the actual height of the page is 0.5\vsize). | |
261 | \ifdim2\ht1>\vsize | |
262 | - % Just split the last of the double column material roughly in half. | |
263 | - \setbox2=\box0 | |
264 | - \setbox0 = \vsplit2 to \dimen@ii | |
265 | - \setbox0=\vbox to \dimen@ii {\unvbox0\vfill}% | |
266 | - \setbox2=\vbox to \dimen@ii {\unvbox2\vfill}% | |
267 | + % It appears that we have been called upon to balance too much material. | |
268 | + % Output some of it with \doublecolumnout, leaving the rest on the page. | |
269 | + \setbox\PAGE=\box0 | |
270 | + \doublecolumnout | |
271 | \else | |
272 | % Compare the heights of the two columns. | |
273 | \ifdim4\ht1>5\ht3 | |
274 | @@ -6037,10 +6075,10 @@ | |
275 | \setbox2=\vbox to\ht1{\unvbox3\unskip}% | |
276 | \setbox0=\vbox to\ht1{\unvbox1\unskip}% | |
277 | \fi | |
278 | + \global\setbox\balancedcolumns=\vbox{\pagesofar}% | |
279 | \fi | |
280 | \fi | |
281 | % | |
282 | - \global\setbox\balancedcolumns=\vbox{\pagesofar}% | |
283 | } | |
284 | \catcode`\@ = \other | |
285 | ||
286 | @@ -9446,7 +9484,7 @@ | |
287 | \newif\ifwarnednoepsf | |
288 | \newhelp\noepsfhelp{epsf.tex must be installed for images to | |
289 | work. It is also included in the Texinfo distribution, or you can get | |
290 | - it from ftp://tug.org/tex/epsf.tex.} | |
291 | + it from https://ctan.org/texarchive/macros/texinfo/texinfo/doc/epsf.tex.} | |
292 | % | |
293 | \def\image#1{% | |
294 | \ifx\epsfbox\thisisundefined | |
295 | @@ -11425,9 +11463,11 @@ | |
296 | % | |
297 | \dimen0 = #1\relax | |
298 | \advance\dimen0 by \voffset | |
299 | + \advance\dimen0 by 1in % reference point for DVI is 1 inch from top of page | |
300 | % | |
301 | \dimen2 = \hsize | |
302 | \advance\dimen2 by \normaloffset | |
303 | + \advance\dimen2 by 1in % reference point is 1 inch from left edge of page | |
304 | % | |
305 | \internalpagesizes{#1}{\hsize}% | |
306 | {\voffset}{\normaloffset}% |