diff options
| author | Karl Berry | 2007-04-07 15:49:05 +0000 |
|---|---|---|
| committer | Karl Berry | 2007-04-07 15:49:05 +0000 |
| commit | 98bf69dcf1bbd1d9d2a21ba172c1c2c63cdf98d3 (patch) | |
| tree | 2696ef326583c250c339a8c62cc92b1f94e5e2dc | |
| parent | 522a910368e0c2bdd053df0458eec7fc9381698c (diff) | |
| download | emacs-98bf69dcf1bbd1d9d2a21ba172c1c2c63cdf98d3.tar.gz emacs-98bf69dcf1bbd1d9d2a21ba172c1c2c63cdf98d3.zip | |
page break fixes
| -rw-r--r-- | man/texinfo.tex | 957 |
1 files changed, 904 insertions, 53 deletions
diff --git a/man/texinfo.tex b/man/texinfo.tex index 302204c2721..331986b2f3e 100644 --- a/man/texinfo.tex +++ b/man/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{2006-11-08.17} | 6 | \def\texinfoversion{2007-04-07.08} |
| 7 | % | 7 | % |
| 8 | % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, | 8 | % Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995, |
| 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 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 |
| @@ -67,7 +67,7 @@ | |||
| 67 | \everyjob{\message{[Texinfo version \texinfoversion]}% | 67 | \everyjob{\message{[Texinfo version \texinfoversion]}% |
| 68 | \catcode`+=\active \catcode`\_=\active} | 68 | \catcode`+=\active \catcode`\_=\active} |
| 69 | 69 | ||
| 70 | \message{Basics,} | 70 | |
| 71 | \chardef\other=12 | 71 | \chardef\other=12 |
| 72 | 72 | ||
| 73 | % We never want plain's \outer definition of \+ in Texinfo. | 73 | % We never want plain's \outer definition of \+ in Texinfo. |
| @@ -1225,8 +1225,9 @@ where each line of input produces a line of output.} | |||
| 1225 | 1225 | ||
| 1226 | % To handle parens, we must adopt a different approach, since parens are | 1226 | % To handle parens, we must adopt a different approach, since parens are |
| 1227 | % not active characters. hyperref.dtx (which has the same problem as | 1227 | % not active characters. hyperref.dtx (which has the same problem as |
| 1228 | % us) handles it with this amazing macro to replace tokens. I've | 1228 | % us) handles it with this amazing macro to replace tokens, with minor |
| 1229 | % tinkered with it a little for texinfo, but it's definitely from there. | 1229 | % changes for Texinfo. It is included here under the GPL by permission |
| 1230 | % from the author, Heiko Oberdiek. | ||
| 1230 | % | 1231 | % |
| 1231 | % #1 is the tokens to replace. | 1232 | % #1 is the tokens to replace. |
| 1232 | % #2 is the replacement. | 1233 | % #2 is the replacement. |
| @@ -1262,7 +1263,8 @@ output) for that.)} | |||
| 1262 | 1263 | ||
| 1263 | \ifpdf | 1264 | \ifpdf |
| 1264 | \input pdfcolor | 1265 | \input pdfcolor |
| 1265 | \pdfcatalog{/PageMode /UseOutlines}% | 1266 | \pdfcatalog{/PageMode /UseOutlines} |
| 1267 | % | ||
| 1266 | % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). | 1268 | % #1 is image name, #2 width (might be empty/whitespace), #3 height (ditto). |
| 1267 | \def\dopdfimage#1#2#3{% | 1269 | \def\dopdfimage#1#2#3{% |
| 1268 | \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% | 1270 | \def\imagewidth{#2}\setbox0 = \hbox{\ignorespaces #2}% |
| @@ -1279,20 +1281,15 @@ output) for that.)} | |||
| 1279 | \openin 1 #1.pdf \ifeof 1 | 1281 | \openin 1 #1.pdf \ifeof 1 |
| 1280 | \errhelp = \nopdfimagehelp | 1282 | \errhelp = \nopdfimagehelp |
| 1281 | \errmessage{Could not find image file #1 for pdf}% | 1283 | \errmessage{Could not find image file #1 for pdf}% |
| 1282 | \else | 1284 | \else \gdef\pdfimgext{pdf}% |
| 1283 | \gdef\pdfimgext{pdf}% | ||
| 1284 | \fi | 1285 | \fi |
| 1285 | \else | 1286 | \else \gdef\pdfimgext{JPG}% |
| 1286 | \gdef\pdfimgext{JPG}% | ||
| 1287 | \fi | 1287 | \fi |
| 1288 | \else | 1288 | \else \gdef\pdfimgext{jpeg}% |
| 1289 | \gdef\pdfimgext{jpeg}% | ||
| 1290 | \fi | 1289 | \fi |
| 1291 | \else | 1290 | \else \gdef\pdfimgext{jpg}% |
| 1292 | \gdef\pdfimgext{jpg}% | ||
| 1293 | \fi | 1291 | \fi |
| 1294 | \else | 1292 | \else \gdef\pdfimgext{png}% |
| 1295 | \gdef\pdfimgext{png}% | ||
| 1296 | \fi | 1293 | \fi |
| 1297 | \closein 1 | 1294 | \closein 1 |
| 1298 | \endgroup | 1295 | \endgroup |
| @@ -1314,21 +1311,25 @@ output) for that.)} | |||
| 1314 | \ifnum\pdftexversion < 14 \else | 1311 | \ifnum\pdftexversion < 14 \else |
| 1315 | \pdfrefximage \pdflastximage | 1312 | \pdfrefximage \pdflastximage |
| 1316 | \fi} | 1313 | \fi} |
| 1314 | % | ||
| 1317 | \def\pdfmkdest#1{{% | 1315 | \def\pdfmkdest#1{{% |
| 1318 | % We have to set dummies so commands such as @code, and characters | 1316 | % We have to set dummies so commands such as @code, and characters |
| 1319 | % such as \, aren't expanded when present in a section title. | 1317 | % such as \, aren't expanded when present in a section title. |
| 1320 | \atdummies | 1318 | \indexnofonts |
| 1319 | \turnoffactive | ||
| 1321 | \activebackslashdouble | 1320 | \activebackslashdouble |
| 1321 | \makevalueexpandable | ||
| 1322 | \def\pdfdestname{#1}% | 1322 | \def\pdfdestname{#1}% |
| 1323 | \backslashparens\pdfdestname | 1323 | \backslashparens\pdfdestname |
| 1324 | \pdfdest name{\pdfdestname} xyz% | 1324 | \safewhatsit{\pdfdest name{\pdfdestname} xyz}% |
| 1325 | }}% | 1325 | }} |
| 1326 | % | 1326 | % |
| 1327 | % used to mark target names; must be expandable. | 1327 | % used to mark target names; must be expandable. |
| 1328 | \def\pdfmkpgn#1{#1}% | 1328 | \def\pdfmkpgn#1{#1} |
| 1329 | % | 1329 | % |
| 1330 | \let\linkcolor = \Blue % was Cyan, but that seems light? | 1330 | \let\linkcolor = \Blue % was Cyan, but that seems light? |
| 1331 | \def\endlink{\Black\pdfendlink} | 1331 | \def\endlink{\Black\pdfendlink} |
| 1332 | % | ||
| 1332 | % Adding outlines to PDF; macros for calculating structure of outlines | 1333 | % Adding outlines to PDF; macros for calculating structure of outlines |
| 1333 | % come from Petr Olsak | 1334 | % come from Petr Olsak |
| 1334 | \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% | 1335 | \def\expnumber#1{\expandafter\ifx\csname#1\endcsname\relax 0% |
| @@ -1583,7 +1584,7 @@ output) for that.)} | |||
| 1583 | % Definitions for a main text size of 11pt. This is the default in | 1584 | % Definitions for a main text size of 11pt. This is the default in |
| 1584 | % Texinfo. | 1585 | % Texinfo. |
| 1585 | % | 1586 | % |
| 1586 | \def\definetextfontsizexi{ | 1587 | \def\definetextfontsizexi{% |
| 1587 | % Text fonts (11.2pt, magstep1). | 1588 | % Text fonts (11.2pt, magstep1). |
| 1588 | \def\textnominalsize{11pt} | 1589 | \def\textnominalsize{11pt} |
| 1589 | \edef\mainmagstep{\magstephalf} | 1590 | \edef\mainmagstep{\magstephalf} |
| @@ -3746,11 +3747,7 @@ output) for that.)} | |||
| 3746 | % | 3747 | % |
| 3747 | \edef\writeto{\csname#1indfile\endcsname}% | 3748 | \edef\writeto{\csname#1indfile\endcsname}% |
| 3748 | % | 3749 | % |
| 3749 | \ifvmode | 3750 | \safewhatsit\dosubindwrite |
| 3750 | \dosubindsanitize | ||
| 3751 | \else | ||
| 3752 | \dosubindwrite | ||
| 3753 | \fi | ||
| 3754 | }% | 3751 | }% |
| 3755 | \fi | 3752 | \fi |
| 3756 | } | 3753 | } |
| @@ -3787,13 +3784,13 @@ output) for that.)} | |||
| 3787 | \temp | 3784 | \temp |
| 3788 | } | 3785 | } |
| 3789 | 3786 | ||
| 3790 | % Take care of unwanted page breaks: | 3787 | % Take care of unwanted page breaks/skips around a whatsit: |
| 3791 | % | 3788 | % |
| 3792 | % If a skip is the last thing on the list now, preserve it | 3789 | % If a skip is the last thing on the list now, preserve it |
| 3793 | % by backing up by \lastskip, doing the \write, then inserting | 3790 | % by backing up by \lastskip, doing the \write, then inserting |
| 3794 | % the skip again. Otherwise, the whatsit generated by the | 3791 | % the skip again. Otherwise, the whatsit generated by the |
| 3795 | % \write will make \lastskip zero. The result is that sequences | 3792 | % \write or \pdfdest will make \lastskip zero. The result is that |
| 3796 | % like this: | 3793 | % sequences like this: |
| 3797 | % @end defun | 3794 | % @end defun |
| 3798 | % @tindex whatever | 3795 | % @tindex whatever |
| 3799 | % @defun ... | 3796 | % @defun ... |
| @@ -3817,13 +3814,19 @@ output) for that.)} | |||
| 3817 | % | 3814 | % |
| 3818 | \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} | 3815 | \edef\zeroskipmacro{\expandafter\the\csname z@skip\endcsname} |
| 3819 | % | 3816 | % |
| 3817 | \newskip\whatsitskip | ||
| 3818 | \newcount\whatsitpenalty | ||
| 3819 | % | ||
| 3820 | % ..., ready, GO: | 3820 | % ..., ready, GO: |
| 3821 | % | 3821 | % |
| 3822 | \def\dosubindsanitize{% | 3822 | \def\safewhatsit#1{% |
| 3823 | \ifhmode | ||
| 3824 | #1% | ||
| 3825 | \else | ||
| 3823 | % \lastskip and \lastpenalty cannot both be nonzero simultaneously. | 3826 | % \lastskip and \lastpenalty cannot both be nonzero simultaneously. |
| 3824 | \skip0 = \lastskip | 3827 | \whatsitskip = \lastskip |
| 3825 | \edef\lastskipmacro{\the\lastskip}% | 3828 | \edef\lastskipmacro{\the\lastskip}% |
| 3826 | \count255 = \lastpenalty | 3829 | \whatsitpenalty = \lastpenalty |
| 3827 | % | 3830 | % |
| 3828 | % If \lastskip is nonzero, that means the last item was a | 3831 | % If \lastskip is nonzero, that means the last item was a |
| 3829 | % skip. And since a skip is discardable, that means this | 3832 | % skip. And since a skip is discardable, that means this |
| @@ -3832,10 +3835,10 @@ output) for that.)} | |||
| 3832 | % breakpoint, therefore no \nobreak needed. | 3835 | % breakpoint, therefore no \nobreak needed. |
| 3833 | \ifx\lastskipmacro\zeroskipmacro | 3836 | \ifx\lastskipmacro\zeroskipmacro |
| 3834 | \else | 3837 | \else |
| 3835 | \vskip-\skip0 | 3838 | \vskip-\whatsitskip |
| 3836 | \fi | 3839 | \fi |
| 3837 | % | 3840 | % |
| 3838 | \dosubindwrite | 3841 | #1% |
| 3839 | % | 3842 | % |
| 3840 | \ifx\lastskipmacro\zeroskipmacro | 3843 | \ifx\lastskipmacro\zeroskipmacro |
| 3841 | % If \lastskip was zero, perhaps the last item was a penalty, and | 3844 | % If \lastskip was zero, perhaps the last item was a penalty, and |
| @@ -3849,13 +3852,14 @@ output) for that.)} | |||
| 3849 | % Description. | 3852 | % Description. |
| 3850 | % would allow a break between the index-whatever whatsit | 3853 | % would allow a break between the index-whatever whatsit |
| 3851 | % and the "Description." paragraph. | 3854 | % and the "Description." paragraph. |
| 3852 | \ifnum\count255>9999 \penalty\count255 \fi | 3855 | \ifnum\whatsitpenalty>9999 \penalty\whatsitpenalty \fi |
| 3853 | \else | 3856 | \else |
| 3854 | % On the other hand, if we had a nonzero \lastskip, | 3857 | % On the other hand, if we had a nonzero \lastskip, |
| 3855 | % this make-up glue would be preceded by a non-discardable item | 3858 | % this make-up glue would be preceded by a non-discardable item |
| 3856 | % (the whatsit from the \write), so we must insert a \nobreak. | 3859 | % (the whatsit from the \write), so we must insert a \nobreak. |
| 3857 | \nobreak\vskip\skip0 | 3860 | \nobreak\vskip\whatsitskip |
| 3858 | \fi | 3861 | \fi |
| 3862 | \fi | ||
| 3859 | } | 3863 | } |
| 3860 | 3864 | ||
| 3861 | % The index entry written in the file actually looks like | 3865 | % The index entry written in the file actually looks like |
| @@ -4167,6 +4171,34 @@ output) for that.)} | |||
| 4167 | % | 4171 | % |
| 4168 | % All done with double columns. | 4172 | % All done with double columns. |
| 4169 | \def\enddoublecolumns{% | 4173 | \def\enddoublecolumns{% |
| 4174 | % The following penalty ensures that the page builder is exercised | ||
| 4175 | % _before_ we change the output routine. This is necessary in the | ||
| 4176 | % following situation: | ||
| 4177 | % | ||
| 4178 | % The last section of the index consists only of a single entry. | ||
| 4179 | % Before this section, \pagetotal is less than \pagegoal, so no | ||
| 4180 | % break occurs before the last section starts. However, the last | ||
| 4181 | % section, consisting of \initial and the single \entry, does not | ||
| 4182 | % fit on the page and has to be broken off. Without the following | ||
| 4183 | % penalty the page builder will not be exercised until \eject | ||
| 4184 | % below, and by that time we'll already have changed the output | ||
| 4185 | % routine to the \balancecolumns version, so the next-to-last | ||
| 4186 | % double-column page will be processed with \balancecolumns, which | ||
| 4187 | % is wrong: The two columns will go to the main vertical list, with | ||
| 4188 | % the broken-off section in the recent contributions. As soon as | ||
| 4189 | % the output routine finishes, TeX starts reconsidering the page | ||
| 4190 | % break. The two columns and the broken-off section both fit on the | ||
| 4191 | % page, because the two columns now take up only half of the page | ||
| 4192 | % goal. When TeX sees \eject from below which follows the final | ||
| 4193 | % section, it invokes the new output routine that we've set after | ||
| 4194 | % \balancecolumns below; \onepageout will try to fit the two columns | ||
| 4195 | % and the final section into the vbox of \pageheight (see | ||
| 4196 | % \pagebody), causing an overfull box. | ||
| 4197 | % | ||
| 4198 | % Note that glue won't work here, because glue does not exercise the | ||
| 4199 | % page builder, unlike penalties (see The TeXbook, pp. 280-281). | ||
| 4200 | \penalty0 | ||
| 4201 | % | ||
| 4170 | \output = {% | 4202 | \output = {% |
| 4171 | % Split the last of the double-column material. Leave it on the | 4203 | % Split the last of the double-column material. Leave it on the |
| 4172 | % current page, no automatic page break. | 4204 | % current page, no automatic page break. |
| @@ -5283,12 +5315,18 @@ output) for that.)} | |||
| 5283 | \let\SETdispenvsize\relax | 5315 | \let\SETdispenvsize\relax |
| 5284 | \def\setnormaldispenv{% | 5316 | \def\setnormaldispenv{% |
| 5285 | \ifx\SETdispenvsize\smallword | 5317 | \ifx\SETdispenvsize\smallword |
| 5318 | % end paragraph for sake of leading, in case document has no blank | ||
| 5319 | % line. This is redundant with what happens in \aboveenvbreak, but | ||
| 5320 | % we need to do it before changing the fonts, and it's inconvenient | ||
| 5321 | % to change the fonts afterward. | ||
| 5322 | \ifnum \lastpenalty=10000 \else \endgraf \fi | ||
| 5286 | \smallexamplefonts \rm | 5323 | \smallexamplefonts \rm |
| 5287 | \fi | 5324 | \fi |
| 5288 | } | 5325 | } |
| 5289 | \def\setsmalldispenv{% | 5326 | \def\setsmalldispenv{% |
| 5290 | \ifx\SETdispenvsize\nosmallword | 5327 | \ifx\SETdispenvsize\nosmallword |
| 5291 | \else | 5328 | \else |
| 5329 | \ifnum \lastpenalty=10000 \else \endgraf \fi | ||
| 5292 | \smallexamplefonts \rm | 5330 | \smallexamplefonts \rm |
| 5293 | \fi | 5331 | \fi |
| 5294 | } | 5332 | } |
| @@ -5589,27 +5627,35 @@ output) for that.)} | |||
| 5589 | \endgroup | 5627 | \endgroup |
| 5590 | } | 5628 | } |
| 5591 | 5629 | ||
| 5630 | |||
| 5592 | \message{defuns,} | 5631 | \message{defuns,} |
| 5593 | % @defun etc. | 5632 | % @defun etc. |
| 5594 | 5633 | ||
| 5595 | \newskip\defbodyindent \defbodyindent=.4in | 5634 | \newskip\defbodyindent \defbodyindent=.4in |
| 5596 | \newskip\defargsindent \defargsindent=50pt | 5635 | \newskip\defargsindent \defargsindent=50pt |
| 5597 | \newskip\deflastargmargin \deflastargmargin=18pt | 5636 | \newskip\deflastargmargin \deflastargmargin=18pt |
| 5637 | \newcount\defunpenalty | ||
| 5598 | 5638 | ||
| 5599 | % Start the processing of @deffn: | 5639 | % Start the processing of @deffn: |
| 5600 | \def\startdefun{% | 5640 | \def\startdefun{% |
| 5601 | \ifnum\lastpenalty<10000 | 5641 | \ifnum\lastpenalty<10000 |
| 5602 | \medbreak | 5642 | \medbreak |
| 5643 | \defunpenalty=10003 % Will keep this @deffn together with the | ||
| 5644 | % following @def command, see below. | ||
| 5603 | \else | 5645 | \else |
| 5604 | % If there are two @def commands in a row, we'll have a \nobreak, | 5646 | % If there are two @def commands in a row, we'll have a \nobreak, |
| 5605 | % which is there to keep the function description together with its | 5647 | % which is there to keep the function description together with its |
| 5606 | % header. But if there's nothing but headers, we need to allow a | 5648 | % header. But if there's nothing but headers, we need to allow a |
| 5607 | % break somewhere. Check specifically for penalty 10002, inserted | 5649 | % break somewhere. Check specifically for penalty 10002, inserted |
| 5608 | % by \defargscommonending, instead of 10000, since the sectioning | 5650 | % by \printdefunline, instead of 10000, since the sectioning |
| 5609 | % commands also insert a nobreak penalty, and we don't want to allow | 5651 | % commands also insert a nobreak penalty, and we don't want to allow |
| 5610 | % a break between a section heading and a defun. | 5652 | % a break between a section heading and a defun. |
| 5611 | % | 5653 | % |
| 5612 | \ifnum\lastpenalty=10002 \penalty2000 \fi | 5654 | % As a minor refinement, we avoid "club" headers by signalling |
| 5655 | % with penalty of 10003 after the very first @deffn in the | ||
| 5656 | % sequence (see above), and penalty of 10002 after any following | ||
| 5657 | % @def command. | ||
| 5658 | \ifnum\lastpenalty=10002 \penalty2000 \else \defunpenalty=10002 \fi | ||
| 5613 | % | 5659 | % |
| 5614 | % Similarly, after a section heading, do not allow a break. | 5660 | % Similarly, after a section heading, do not allow a break. |
| 5615 | % But do insert the glue. | 5661 | % But do insert the glue. |
| @@ -5627,7 +5673,7 @@ output) for that.)} | |||
| 5627 | % | 5673 | % |
| 5628 | % As above, allow line break if we have multiple x headers in a row. | 5674 | % As above, allow line break if we have multiple x headers in a row. |
| 5629 | % It's not a great place, though. | 5675 | % It's not a great place, though. |
| 5630 | \ifnum\lastpenalty=10002 \penalty3000 \fi | 5676 | \ifnum\lastpenalty=10002 \penalty3000 \else \defunpenalty=10002 \fi |
| 5631 | % | 5677 | % |
| 5632 | % And now, it's time to reuse the body of the original defun: | 5678 | % And now, it's time to reuse the body of the original defun: |
| 5633 | \expandafter\gobbledefun#1% | 5679 | \expandafter\gobbledefun#1% |
| @@ -5645,7 +5691,7 @@ output) for that.)} | |||
| 5645 | \advance\rightskip by 0pt plus 1fil | 5691 | \advance\rightskip by 0pt plus 1fil |
| 5646 | \endgraf | 5692 | \endgraf |
| 5647 | \nobreak\vskip -\parskip | 5693 | \nobreak\vskip -\parskip |
| 5648 | \penalty 10002 % signal to \startdefun and \dodefunx | 5694 | \penalty\defunpenalty % signal to \startdefun and \dodefunx |
| 5649 | % Some of the @defun-type tags do not enable magic parentheses, | 5695 | % Some of the @defun-type tags do not enable magic parentheses, |
| 5650 | % rendering the following check redundant. But we don't optimize. | 5696 | % rendering the following check redundant. But we don't optimize. |
| 5651 | \checkparencounts | 5697 | \checkparencounts |
| @@ -6245,7 +6291,6 @@ output) for that.)} | |||
| 6245 | \message{cross references,} | 6291 | \message{cross references,} |
| 6246 | 6292 | ||
| 6247 | \newwrite\auxfile | 6293 | \newwrite\auxfile |
| 6248 | |||
| 6249 | \newif\ifhavexrefs % True if xref values are known. | 6294 | \newif\ifhavexrefs % True if xref values are known. |
| 6250 | \newif\ifwarnedxrefs % True if we warned once that they aren't known. | 6295 | \newif\ifwarnedxrefs % True if we warned once that they aren't known. |
| 6251 | 6296 | ||
| @@ -6312,7 +6357,7 @@ output) for that.)} | |||
| 6312 | \toks0 = \expandafter{\thissection}% | 6357 | \toks0 = \expandafter{\thissection}% |
| 6313 | \immediate \writexrdef{title}{\the\toks0 }% | 6358 | \immediate \writexrdef{title}{\the\toks0 }% |
| 6314 | \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. | 6359 | \immediate \writexrdef{snt}{\csname #2\endcsname}% \Ynumbered etc. |
| 6315 | \writexrdef{pg}{\folio}% will be written later, during \shipout | 6360 | \safewhatsit{\writexrdef{pg}{\folio}}% will be written later, during \shipout |
| 6316 | }% | 6361 | }% |
| 6317 | \fi | 6362 | \fi |
| 6318 | } | 6363 | } |
| @@ -6358,7 +6403,8 @@ output) for that.)} | |||
| 6358 | \ifpdf | 6403 | \ifpdf |
| 6359 | \leavevmode | 6404 | \leavevmode |
| 6360 | \getfilename{#4}% | 6405 | \getfilename{#4}% |
| 6361 | {\turnoffactive | 6406 | {\indexnofonts |
| 6407 | \turnoffactive | ||
| 6362 | % See comments at \activebackslashdouble. | 6408 | % See comments at \activebackslashdouble. |
| 6363 | {\activebackslashdouble \xdef\pdfxrefdest{#1}% | 6409 | {\activebackslashdouble \xdef\pdfxrefdest{#1}% |
| 6364 | \backslashparens\pdfxrefdest}% | 6410 | \backslashparens\pdfxrefdest}% |
| @@ -6505,10 +6551,18 @@ output) for that.)} | |||
| 6505 | % collisions). But if this is a float type, we have more work to do. | 6551 | % collisions). But if this is a float type, we have more work to do. |
| 6506 | % | 6552 | % |
| 6507 | \def\xrdef#1#2{% | 6553 | \def\xrdef#1#2{% |
| 6508 | \expandafter\gdef\csname XR#1\endcsname{#2}% remember this xref value. | 6554 | {% The node name might contain 8-bit characters, which in our current |
| 6555 | % implementation are changed to commands like @'e. Don't let these | ||
| 6556 | % mess up the control sequence name. | ||
| 6557 | \indexnofonts | ||
| 6558 | \turnoffactive | ||
| 6559 | \xdef\safexrefname{#1}% | ||
| 6560 | }% | ||
| 6561 | % | ||
| 6562 | \expandafter\gdef\csname XR\safexrefname\endcsname{#2}% remember this xref | ||
| 6509 | % | 6563 | % |
| 6510 | % Was that xref control sequence that we just defined for a float? | 6564 | % Was that xref control sequence that we just defined for a float? |
| 6511 | \expandafter\iffloat\csname XR#1\endcsname | 6565 | \expandafter\iffloat\csname XR\safexrefname\endcsname |
| 6512 | % it was a float, and we have the (safe) float type in \iffloattype. | 6566 | % it was a float, and we have the (safe) float type in \iffloattype. |
| 6513 | \expandafter\let\expandafter\floatlist | 6567 | \expandafter\let\expandafter\floatlist |
| 6514 | \csname floatlist\iffloattype\endcsname | 6568 | \csname floatlist\iffloattype\endcsname |
| @@ -6523,7 +6577,8 @@ output) for that.)} | |||
| 6523 | % | 6577 | % |
| 6524 | % Remember this xref in the control sequence \floatlistFLOATTYPE, | 6578 | % Remember this xref in the control sequence \floatlistFLOATTYPE, |
| 6525 | % for later use in \listoffloats. | 6579 | % for later use in \listoffloats. |
| 6526 | \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0{#1}}% | 6580 | \expandafter\xdef\csname floatlist\iffloattype\endcsname{\the\toks0 |
| 6581 | {\safexrefname}}% | ||
| 6527 | \fi | 6582 | \fi |
| 6528 | } | 6583 | } |
| 6529 | 6584 | ||
| @@ -6627,6 +6682,7 @@ output) for that.)} | |||
| 6627 | \input\jobname.#1 | 6682 | \input\jobname.#1 |
| 6628 | \endgroup} | 6683 | \endgroup} |
| 6629 | 6684 | ||
| 6685 | |||
| 6630 | \message{insertions,} | 6686 | \message{insertions,} |
| 6631 | % including footnotes. | 6687 | % including footnotes. |
| 6632 | 6688 | ||
| @@ -7101,8 +7157,8 @@ output) for that.)} | |||
| 7101 | \writeentry | 7157 | \writeentry |
| 7102 | }} | 7158 | }} |
| 7103 | 7159 | ||
| 7160 | |||
| 7104 | \message{localization,} | 7161 | \message{localization,} |
| 7105 | % and i18n. | ||
| 7106 | 7162 | ||
| 7107 | % @documentlanguage is usually given very early, just after | 7163 | % @documentlanguage is usually given very early, just after |
| 7108 | % @setfilename. If done too late, it may not override everything | 7164 | % @setfilename. If done too late, it may not override everything |
| @@ -7126,14 +7182,809 @@ output) for that.)} | |||
| 7126 | is empty. Maybe you need to install it? In the current directory | 7182 | is empty. Maybe you need to install it? In the current directory |
| 7127 | should work if nowhere else does.} | 7183 | should work if nowhere else does.} |
| 7128 | 7184 | ||
| 7185 | % Set the catcode of characters 128 through 255 to the specified number. | ||
| 7186 | % | ||
| 7187 | \def\setnonasciicharscatcode#1{% | ||
| 7188 | \count255=128 | ||
| 7189 | \loop\ifnum\count255<256 | ||
| 7190 | \global\catcode\count255=#1 | ||
| 7191 | \advance\count255 by 1 | ||
| 7192 | \repeat | ||
| 7193 | } | ||
| 7129 | 7194 | ||
| 7130 | % @documentencoding should change something in TeX eventually, most | 7195 | % @documentencoding sets the definition of non-ASCII characters |
| 7131 | % likely, but for now just recognize it. | 7196 | % according to the specified encoding. |
| 7132 | \let\documentencoding = \comment | 7197 | % |
| 7198 | \parseargdef\documentencoding{% | ||
| 7199 | % Encoding being declared for the document. | ||
| 7200 | \def\declaredencoding{\csname #1.enc\endcsname}% | ||
| 7201 | % | ||
| 7202 | % Supported encodings: names converted to tokens in order to be able | ||
| 7203 | % to compare them with \ifx. | ||
| 7204 | \def\ascii{\csname US-ASCII.enc\endcsname}% | ||
| 7205 | \def\latnine{\csname ISO-8859-15.enc\endcsname}% | ||
| 7206 | \def\latone{\csname ISO-8859-1.enc\endcsname}% | ||
| 7207 | \def\lattwo{\csname ISO-8859-2.enc\endcsname}% | ||
| 7208 | \def\utfeight{\csname UTF-8.enc\endcsname}% | ||
| 7209 | % | ||
| 7210 | \ifx \declaredencoding \ascii | ||
| 7211 | \asciichardefs | ||
| 7212 | % | ||
| 7213 | \else \ifx \declaredencoding \lattwo | ||
| 7214 | \setnonasciicharscatcode\active | ||
| 7215 | \lattwochardefs | ||
| 7216 | % | ||
| 7217 | \else \ifx \declaredencoding \latone | ||
| 7218 | \setnonasciicharscatcode\active | ||
| 7219 | \latonechardefs | ||
| 7220 | % | ||
| 7221 | \else \ifx \declaredencoding \latnine | ||
| 7222 | \setnonasciicharscatcode\active | ||
| 7223 | \latninechardefs | ||
| 7224 | % | ||
| 7225 | \else \ifx \declaredencoding \utfeight | ||
| 7226 | \setnonasciicharscatcode\active | ||
| 7227 | \utfeightchardefs | ||
| 7228 | % | ||
| 7229 | \else | ||
| 7230 | \message{Unknown document encoding #1, ignoring.}% | ||
| 7231 | % | ||
| 7232 | \fi % utfeight | ||
| 7233 | \fi % latnine | ||
| 7234 | \fi % latone | ||
| 7235 | \fi % lattwo | ||
| 7236 | \fi % ascii | ||
| 7237 | } | ||
| 7133 | 7238 | ||
| 7239 | % A message to be logged when using a character that isn't available | ||
| 7240 | % the default font encoding (OT1). | ||
| 7241 | % | ||
| 7242 | \def\missingcharmsg#1{\message{Character missing in OT1 encoding: #1.}} | ||
| 7243 | |||
| 7244 | % Take account of \c (plain) vs. \, (Texinfo) difference. | ||
| 7245 | \def\cedilla#1{\ifx\c\ptexc\c{#1}\else\,{#1}\fi} | ||
| 7246 | |||
| 7247 | % First, make active non-ASCII characters in order for them to be | ||
| 7248 | % correctly categorized when TeX reads the replacement text of | ||
| 7249 | % macros containing the character definitions. | ||
| 7250 | \setnonasciicharscatcode\active | ||
| 7251 | % | ||
| 7252 | % Latin1 (ISO-8859-1) character definitions. | ||
| 7253 | \def\latonechardefs{% | ||
| 7254 | \gdef^^a0{~} | ||
| 7255 | \gdef^^a1{\exclamdown} | ||
| 7256 | \gdef^^a2{\missingcharmsg{CENT SIGN}} | ||
| 7257 | \gdef^^a3{{\pounds}} | ||
| 7258 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} | ||
| 7259 | \gdef^^a5{\missingcharmsg{YEN SIGN}} | ||
| 7260 | \gdef^^a6{\missingcharmsg{BROKEN BAR}} | ||
| 7261 | \gdef^^a7{\S} | ||
| 7262 | \gdef^^a8{\"{}} | ||
| 7263 | \gdef^^a9{\copyright} | ||
| 7264 | \gdef^^aa{\ordf} | ||
| 7265 | \gdef^^ab{\missingcharmsg{LEFT-POINTING DOUBLE ANGLE QUOTATION MARK}} | ||
| 7266 | \gdef^^ac{$\lnot$} | ||
| 7267 | \gdef^^ad{\-} | ||
| 7268 | \gdef^^ae{\registeredsymbol} | ||
| 7269 | \gdef^^af{\={}} | ||
| 7270 | % | ||
| 7271 | \gdef^^b0{\textdegree} | ||
| 7272 | \gdef^^b1{$\pm$} | ||
| 7273 | \gdef^^b2{$^2$} | ||
| 7274 | \gdef^^b3{$^3$} | ||
| 7275 | \gdef^^b4{\'{}} | ||
| 7276 | \gdef^^b5{$\mu$} | ||
| 7277 | \gdef^^b6{\P} | ||
| 7278 | % | ||
| 7279 | \gdef^^b7{$^.$} | ||
| 7280 | \gdef^^b8{\cedilla\ } | ||
| 7281 | \gdef^^b9{$^1$} | ||
| 7282 | \gdef^^ba{\ordm} | ||
| 7283 | % | ||
| 7284 | \gdef^^bb{\missingcharmsg{RIGHT-POINTING DOUBLE ANGLE QUOTATION MARK}} | ||
| 7285 | \gdef^^bc{$1\over4$} | ||
| 7286 | \gdef^^bd{$1\over2$} | ||
| 7287 | \gdef^^be{$3\over4$} | ||
| 7288 | \gdef^^bf{\questiondown} | ||
| 7289 | % | ||
| 7290 | \gdef^^c0{\`A} | ||
| 7291 | \gdef^^c1{\'A} | ||
| 7292 | \gdef^^c2{\^A} | ||
| 7293 | \gdef^^c3{\~A} | ||
| 7294 | \gdef^^c4{\"A} | ||
| 7295 | \gdef^^c5{\ringaccent A} | ||
| 7296 | \gdef^^c6{\AE} | ||
| 7297 | \gdef^^c7{\cedilla C} | ||
| 7298 | \gdef^^c8{\`E} | ||
| 7299 | \gdef^^c9{\'E} | ||
| 7300 | \gdef^^ca{\^E} | ||
| 7301 | \gdef^^cb{\"E} | ||
| 7302 | \gdef^^cc{\`I} | ||
| 7303 | \gdef^^cd{\'I} | ||
| 7304 | \gdef^^ce{\^I} | ||
| 7305 | \gdef^^cf{\"I} | ||
| 7306 | % | ||
| 7307 | \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER ETH}} | ||
| 7308 | \gdef^^d1{\~N} | ||
| 7309 | \gdef^^d2{\`O} | ||
| 7310 | \gdef^^d3{\'O} | ||
| 7311 | \gdef^^d4{\^O} | ||
| 7312 | \gdef^^d5{\~O} | ||
| 7313 | \gdef^^d6{\"O} | ||
| 7314 | \gdef^^d7{$\times$} | ||
| 7315 | \gdef^^d8{\O} | ||
| 7316 | \gdef^^d9{\`U} | ||
| 7317 | \gdef^^da{\'U} | ||
| 7318 | \gdef^^db{\^U} | ||
| 7319 | \gdef^^dc{\"U} | ||
| 7320 | \gdef^^dd{\'Y} | ||
| 7321 | \gdef^^de{\missingcharmsg{LATIN CAPITAL LETTER THORN}} | ||
| 7322 | \gdef^^df{\ss} | ||
| 7323 | % | ||
| 7324 | \gdef^^e0{\`a} | ||
| 7325 | \gdef^^e1{\'a} | ||
| 7326 | \gdef^^e2{\^a} | ||
| 7327 | \gdef^^e3{\~a} | ||
| 7328 | \gdef^^e4{\"a} | ||
| 7329 | \gdef^^e5{\ringaccent a} | ||
| 7330 | \gdef^^e6{\ae} | ||
| 7331 | \gdef^^e7{\cedilla c} | ||
| 7332 | \gdef^^e8{\`e} | ||
| 7333 | \gdef^^e9{\'e} | ||
| 7334 | \gdef^^ea{\^e} | ||
| 7335 | \gdef^^eb{\"e} | ||
| 7336 | \gdef^^ec{\`{\dotless i}} | ||
| 7337 | \gdef^^ed{\'{\dotless i}} | ||
| 7338 | \gdef^^ee{\^{\dotless i}} | ||
| 7339 | \gdef^^ef{\"{\dotless i}} | ||
| 7340 | % | ||
| 7341 | \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER ETH}} | ||
| 7342 | \gdef^^f1{\~n} | ||
| 7343 | \gdef^^f2{\`o} | ||
| 7344 | \gdef^^f3{\'o} | ||
| 7345 | \gdef^^f4{\^o} | ||
| 7346 | \gdef^^f5{\~o} | ||
| 7347 | \gdef^^f6{\"o} | ||
| 7348 | \gdef^^f7{$\div$} | ||
| 7349 | \gdef^^f8{\o} | ||
| 7350 | \gdef^^f9{\`u} | ||
| 7351 | \gdef^^fa{\'u} | ||
| 7352 | \gdef^^fb{\^u} | ||
| 7353 | \gdef^^fc{\"u} | ||
| 7354 | \gdef^^fd{\'y} | ||
| 7355 | \gdef^^fe{\missingcharmsg{LATIN SMALL LETTER THORN}} | ||
| 7356 | \gdef^^ff{\"y} | ||
| 7357 | } | ||
| 7358 | |||
| 7359 | % Latin9 (ISO-8859-15) encoding character definitions. | ||
| 7360 | \def\latninechardefs{% | ||
| 7361 | % Encoding is almost identical to Latin1. | ||
| 7362 | \latonechardefs | ||
| 7363 | % | ||
| 7364 | \gdef^^a4{\euro} | ||
| 7365 | \gdef^^a6{\v S} | ||
| 7366 | \gdef^^a8{\v s} | ||
| 7367 | \gdef^^b4{\v Z} | ||
| 7368 | \gdef^^b8{\v z} | ||
| 7369 | \gdef^^bc{\OE} | ||
| 7370 | \gdef^^bd{\oe} | ||
| 7371 | \gdef^^be{\"Y} | ||
| 7372 | } | ||
| 7373 | |||
| 7374 | % Latin2 (ISO-8859-2) character definitions. | ||
| 7375 | \def\lattwochardefs{% | ||
| 7376 | \gdef^^a0{~} | ||
| 7377 | \gdef^^a1{\missingcharmsg{LATIN CAPITAL LETTER A WITH OGONEK}} | ||
| 7378 | \gdef^^a2{\u{}} | ||
| 7379 | \gdef^^a3{\L} | ||
| 7380 | \gdef^^a4{\missingcharmsg{CURRENCY SIGN}} | ||
| 7381 | \gdef^^a5{\v L} | ||
| 7382 | \gdef^^a6{\'S} | ||
| 7383 | \gdef^^a7{\S} | ||
| 7384 | \gdef^^a8{\"{}} | ||
| 7385 | \gdef^^a9{\v S} | ||
| 7386 | \gdef^^aa{\cedilla S} | ||
| 7387 | \gdef^^ab{\v T} | ||
| 7388 | \gdef^^ac{\'Z} | ||
| 7389 | \gdef^^ad{\-} | ||
| 7390 | \gdef^^ae{\v Z} | ||
| 7391 | \gdef^^af{\dotaccent Z} | ||
| 7392 | % | ||
| 7393 | \gdef^^b0{\textdegree} | ||
| 7394 | \gdef^^b1{\missingcharmsg{LATIN SMALL LETTER A WITH OGONEK}} | ||
| 7395 | \gdef^^b2{\missingcharmsg{OGONEK}} | ||
| 7396 | \gdef^^b3{\l} | ||
| 7397 | \gdef^^b4{\'{}} | ||
| 7398 | \gdef^^b5{\v l} | ||
| 7399 | \gdef^^b6{\'s} | ||
| 7400 | \gdef^^b7{\v{}} | ||
| 7401 | \gdef^^b8{\cedilla\ } | ||
| 7402 | \gdef^^b9{\v s} | ||
| 7403 | \gdef^^ba{\cedilla s} | ||
| 7404 | \gdef^^bb{\v t} | ||
| 7405 | \gdef^^bc{\'z} | ||
| 7406 | \gdef^^bd{\H{}} | ||
| 7407 | \gdef^^be{\v z} | ||
| 7408 | \gdef^^bf{\dotaccent z} | ||
| 7409 | % | ||
| 7410 | \gdef^^c0{\'R} | ||
| 7411 | \gdef^^c1{\'A} | ||
| 7412 | \gdef^^c2{\^A} | ||
| 7413 | \gdef^^c3{\u A} | ||
| 7414 | \gdef^^c4{\"A} | ||
| 7415 | \gdef^^c5{\'L} | ||
| 7416 | \gdef^^c6{\'C} | ||
| 7417 | \gdef^^c7{\cedilla C} | ||
| 7418 | \gdef^^c8{\v C} | ||
| 7419 | \gdef^^c9{\'E} | ||
| 7420 | \gdef^^ca{\missingcharmsg{LATIN CAPITAL LETTER E WITH OGONEK}} | ||
| 7421 | \gdef^^cb{\"E} | ||
| 7422 | \gdef^^cc{\v E} | ||
| 7423 | \gdef^^cd{\'I} | ||
| 7424 | \gdef^^ce{\^I} | ||
| 7425 | \gdef^^cf{\v D} | ||
| 7426 | % | ||
| 7427 | \gdef^^d0{\missingcharmsg{LATIN CAPITAL LETTER D WITH STROKE}} | ||
| 7428 | \gdef^^d1{\'N} | ||
| 7429 | \gdef^^d2{\v N} | ||
| 7430 | \gdef^^d3{\'O} | ||
| 7431 | \gdef^^d4{\^O} | ||
| 7432 | \gdef^^d5{\H O} | ||
| 7433 | \gdef^^d6{\"O} | ||
| 7434 | \gdef^^d7{$\times$} | ||
| 7435 | \gdef^^d8{\v R} | ||
| 7436 | \gdef^^d9{\ringaccent U} | ||
| 7437 | \gdef^^da{\'U} | ||
| 7438 | \gdef^^db{\H U} | ||
| 7439 | \gdef^^dc{\"U} | ||
| 7440 | \gdef^^dd{\'Y} | ||
| 7441 | \gdef^^de{\cedilla T} | ||
| 7442 | \gdef^^df{\ss} | ||
| 7443 | % | ||
| 7444 | \gdef^^e0{\'r} | ||
| 7445 | \gdef^^e1{\'a} | ||
| 7446 | \gdef^^e2{\^a} | ||
| 7447 | \gdef^^e3{\u a} | ||
| 7448 | \gdef^^e4{\"a} | ||
| 7449 | \gdef^^e5{\'l} | ||
| 7450 | \gdef^^e6{\'c} | ||
| 7451 | \gdef^^e7{\cedilla c} | ||
| 7452 | \gdef^^e8{\v c} | ||
| 7453 | \gdef^^e9{\'e} | ||
| 7454 | \gdef^^ea{\missingcharmsg{LATIN SMALL LETTER E WITH OGONEK}} | ||
| 7455 | \gdef^^eb{\"e} | ||
| 7456 | \gdef^^ec{\v e} | ||
| 7457 | \gdef^^ed{\'\i} | ||
| 7458 | \gdef^^ee{\^\i} | ||
| 7459 | \gdef^^ef{\v d} | ||
| 7460 | % | ||
| 7461 | \gdef^^f0{\missingcharmsg{LATIN SMALL LETTER D WITH STROKE}} | ||
| 7462 | \gdef^^f1{\'n} | ||
| 7463 | \gdef^^f2{\v n} | ||
| 7464 | \gdef^^f3{\'o} | ||
| 7465 | \gdef^^f4{\^o} | ||
| 7466 | \gdef^^f5{\H o} | ||
| 7467 | \gdef^^f6{\"o} | ||
| 7468 | \gdef^^f7{$\div$} | ||
| 7469 | \gdef^^f8{\v r} | ||
| 7470 | \gdef^^f9{\ringaccent u} | ||
| 7471 | \gdef^^fa{\'u} | ||
| 7472 | \gdef^^fb{\H u} | ||
| 7473 | \gdef^^fc{\"u} | ||
| 7474 | \gdef^^fd{\'y} | ||
| 7475 | \gdef^^fe{\cedilla t} | ||
| 7476 | \gdef^^ff{\dotaccent{}} | ||
| 7477 | } | ||
| 7478 | |||
| 7479 | % UTF-8 character definitions. | ||
| 7480 | % | ||
| 7481 | % This code to support UTF-8 is based on LaTeX's utf8.def, with some | ||
| 7482 | % changes for Texinfo conventions. It is included here under the GPL by | ||
| 7483 | % permission from Frank Mittelbach and the LaTeX team. | ||
| 7484 | % | ||
| 7485 | \newcount\countUTFx | ||
| 7486 | \newcount\countUTFy | ||
| 7487 | \newcount\countUTFz | ||
| 7134 | 7488 | ||
| 7135 | % Page size parameters. | 7489 | \gdef\UTFviiiTwoOctets#1#2{\expandafter |
| 7490 | \UTFviiiDefined\csname u8:#1\string #2\endcsname} | ||
| 7491 | % | ||
| 7492 | \gdef\UTFviiiThreeOctets#1#2#3{\expandafter | ||
| 7493 | \UTFviiiDefined\csname u8:#1\string #2\string #3\endcsname} | ||
| 7136 | % | 7494 | % |
| 7495 | \gdef\UTFviiiFourOctets#1#2#3#4{\expandafter | ||
| 7496 | \UTFviiiDefined\csname u8:#1\string #2\string #3\string #4\endcsname} | ||
| 7497 | |||
| 7498 | \gdef\UTFviiiDefined#1{% | ||
| 7499 | \ifx #1\relax | ||
| 7500 | \message{\linenumber Unicode char \string #1 not defined for Texinfo}% | ||
| 7501 | \else | ||
| 7502 | \expandafter #1% | ||
| 7503 | \fi | ||
| 7504 | } | ||
| 7505 | |||
| 7506 | \begingroup | ||
| 7507 | \catcode`\~13 | ||
| 7508 | \catcode`\"12 | ||
| 7509 | |||
| 7510 | \def\UTFviiiLoop{% | ||
| 7511 | \global\catcode\countUTFx\active | ||
| 7512 | \uccode`\~\countUTFx | ||
| 7513 | \uppercase\expandafter{\UTFviiiTmp}% | ||
| 7514 | \advance\countUTFx by 1 | ||
| 7515 | \ifnum\countUTFx < \countUTFy | ||
| 7516 | \expandafter\UTFviiiLoop | ||
| 7517 | \fi} | ||
| 7518 | |||
| 7519 | \countUTFx = "C2 | ||
| 7520 | \countUTFy = "E0 | ||
| 7521 | \def\UTFviiiTmp{% | ||
| 7522 | \xdef~{\noexpand\UTFviiiTwoOctets\string~}} | ||
| 7523 | \UTFviiiLoop | ||
| 7524 | |||
| 7525 | \countUTFx = "E0 | ||
| 7526 | \countUTFy = "F0 | ||
| 7527 | \def\UTFviiiTmp{% | ||
| 7528 | \xdef~{\noexpand\UTFviiiThreeOctets\string~}} | ||
| 7529 | \UTFviiiLoop | ||
| 7530 | |||
| 7531 | \countUTFx = "F0 | ||
| 7532 | \countUTFy = "F4 | ||
| 7533 | \def\UTFviiiTmp{% | ||
| 7534 | \xdef~{\noexpand\UTFviiiFourOctets\string~}} | ||
| 7535 | \UTFviiiLoop | ||
| 7536 | \endgroup | ||
| 7537 | |||
| 7538 | \begingroup | ||
| 7539 | \catcode`\"=12 | ||
| 7540 | \catcode`\<=12 | ||
| 7541 | \catcode`\.=12 | ||
| 7542 | \catcode`\,=12 | ||
| 7543 | \catcode`\;=12 | ||
| 7544 | \catcode`\!=12 | ||
| 7545 | \catcode`\~=13 | ||
| 7546 | |||
| 7547 | \gdef\DeclareUnicodeCharacter#1#2{% | ||
| 7548 | \countUTFz = "#1\relax | ||
| 7549 | \wlog{\space\space defining Unicode char U+#1 (decimal \the\countUTFz)}% | ||
| 7550 | \begingroup | ||
| 7551 | \parseXMLCharref | ||
| 7552 | \def\UTFviiiTwoOctets##1##2{% | ||
| 7553 | \csname u8:##1\string ##2\endcsname}% | ||
| 7554 | \def\UTFviiiThreeOctets##1##2##3{% | ||
| 7555 | \csname u8:##1\string ##2\string ##3\endcsname}% | ||
| 7556 | \def\UTFviiiFourOctets##1##2##3##4{% | ||
| 7557 | \csname u8:##1\string ##2\string ##3\string ##4\endcsname}% | ||
| 7558 | \expandafter\expandafter\expandafter\expandafter | ||
| 7559 | \expandafter\expandafter\expandafter | ||
| 7560 | \gdef\UTFviiiTmp{#2}% | ||
| 7561 | \endgroup} | ||
| 7562 | |||
| 7563 | \gdef\parseXMLCharref{% | ||
| 7564 | \ifnum\countUTFz < "A0\relax | ||
| 7565 | \errhelp = \EMsimple | ||
| 7566 | \errmessage{Cannot define Unicode char value < 00A0}% | ||
| 7567 | \else\ifnum\countUTFz < "800\relax | ||
| 7568 | \parseUTFviiiA,% | ||
| 7569 | \parseUTFviiiB C\UTFviiiTwoOctets.,% | ||
| 7570 | \else\ifnum\countUTFz < "10000\relax | ||
| 7571 | \parseUTFviiiA;% | ||
| 7572 | \parseUTFviiiA,% | ||
| 7573 | \parseUTFviiiB E\UTFviiiThreeOctets.{,;}% | ||
| 7574 | \else | ||
| 7575 | \parseUTFviiiA;% | ||
| 7576 | \parseUTFviiiA,% | ||
| 7577 | \parseUTFviiiA!% | ||
| 7578 | \parseUTFviiiB F\UTFviiiFourOctets.{!,;}% | ||
| 7579 | \fi\fi\fi | ||
| 7580 | } | ||
| 7581 | |||
| 7582 | \gdef\parseUTFviiiA#1{% | ||
| 7583 | \countUTFx = \countUTFz | ||
| 7584 | \divide\countUTFz by 64 | ||
| 7585 | \countUTFy = \countUTFz | ||
| 7586 | \multiply\countUTFz by 64 | ||
| 7587 | \advance\countUTFx by -\countUTFz | ||
| 7588 | \advance\countUTFx by 128 | ||
| 7589 | \uccode `#1\countUTFx | ||
| 7590 | \countUTFz = \countUTFy} | ||
| 7591 | |||
| 7592 | \gdef\parseUTFviiiB#1#2#3#4{% | ||
| 7593 | \advance\countUTFz by "#10\relax | ||
| 7594 | \uccode `#3\countUTFz | ||
| 7595 | \uppercase{\gdef\UTFviiiTmp{#2#3#4}}} | ||
| 7596 | \endgroup | ||
| 7597 | |||
| 7598 | \def\utfeightchardefs{% | ||
| 7599 | \DeclareUnicodeCharacter{00A0}{\tie} | ||
| 7600 | \DeclareUnicodeCharacter{00A1}{\exclamdown} | ||
| 7601 | \DeclareUnicodeCharacter{00A3}{\pounds} | ||
| 7602 | \DeclareUnicodeCharacter{00A8}{\"{ }} | ||
| 7603 | \DeclareUnicodeCharacter{00A9}{\copyright} | ||
| 7604 | \DeclareUnicodeCharacter{00AA}{\ordf} | ||
| 7605 | \DeclareUnicodeCharacter{00AD}{\-} | ||
| 7606 | \DeclareUnicodeCharacter{00AE}{\registeredsymbol} | ||
| 7607 | \DeclareUnicodeCharacter{00AF}{\={ }} | ||
| 7608 | |||
| 7609 | \DeclareUnicodeCharacter{00B0}{\ringaccent{ }} | ||
| 7610 | \DeclareUnicodeCharacter{00B4}{\'{ }} | ||
| 7611 | \DeclareUnicodeCharacter{00B8}{\cedilla{ }} | ||
| 7612 | \DeclareUnicodeCharacter{00BA}{\ordm} | ||
| 7613 | \DeclareUnicodeCharacter{00BF}{\questiondown} | ||
| 7614 | |||
| 7615 | \DeclareUnicodeCharacter{00C0}{\`A} | ||
| 7616 | \DeclareUnicodeCharacter{00C1}{\'A} | ||
| 7617 | \DeclareUnicodeCharacter{00C2}{\^A} | ||
| 7618 | \DeclareUnicodeCharacter{00C3}{\~A} | ||
| 7619 | \DeclareUnicodeCharacter{00C4}{\"A} | ||
| 7620 | \DeclareUnicodeCharacter{00C5}{\AA} | ||
| 7621 | \DeclareUnicodeCharacter{00C6}{\AE} | ||
| 7622 | \DeclareUnicodeCharacter{00C7}{\cedilla{C}} | ||
| 7623 | \DeclareUnicodeCharacter{00C8}{\`E} | ||
| 7624 | \DeclareUnicodeCharacter{00C9}{\'E} | ||
| 7625 | \DeclareUnicodeCharacter{00CA}{\^E} | ||
| 7626 | \DeclareUnicodeCharacter{00CB}{\"E} | ||
| 7627 | \DeclareUnicodeCharacter{00CC}{\`I} | ||
| 7628 | \DeclareUnicodeCharacter{00CD}{\'I} | ||
| 7629 | \DeclareUnicodeCharacter{00CE}{\^I} | ||
| 7630 | \DeclareUnicodeCharacter{00CF}{\"I} | ||
| 7631 | |||
| 7632 | \DeclareUnicodeCharacter{00D1}{\~N} | ||
| 7633 | \DeclareUnicodeCharacter{00D2}{\`O} | ||
| 7634 | \DeclareUnicodeCharacter{00D3}{\'O} | ||
| 7635 | \DeclareUnicodeCharacter{00D4}{\^O} | ||
| 7636 | \DeclareUnicodeCharacter{00D5}{\~O} | ||
| 7637 | \DeclareUnicodeCharacter{00D6}{\"O} | ||
| 7638 | \DeclareUnicodeCharacter{00D8}{\O} | ||
| 7639 | \DeclareUnicodeCharacter{00D9}{\`U} | ||
| 7640 | \DeclareUnicodeCharacter{00DA}{\'U} | ||
| 7641 | \DeclareUnicodeCharacter{00DB}{\^U} | ||
| 7642 | \DeclareUnicodeCharacter{00DC}{\"U} | ||
| 7643 | \DeclareUnicodeCharacter{00DD}{\'Y} | ||
| 7644 | \DeclareUnicodeCharacter{00DF}{\ss} | ||
| 7645 | |||
| 7646 | \DeclareUnicodeCharacter{00E0}{\`a} | ||
| 7647 | \DeclareUnicodeCharacter{00E1}{\'a} | ||
| 7648 | \DeclareUnicodeCharacter{00E2}{\^a} | ||
| 7649 | \DeclareUnicodeCharacter{00E3}{\~a} | ||
| 7650 | \DeclareUnicodeCharacter{00E4}{\"a} | ||
| 7651 | \DeclareUnicodeCharacter{00E5}{\aa} | ||
| 7652 | \DeclareUnicodeCharacter{00E6}{\ae} | ||
| 7653 | \DeclareUnicodeCharacter{00E7}{\cedilla{c}} | ||
| 7654 | \DeclareUnicodeCharacter{00E8}{\`e} | ||
| 7655 | \DeclareUnicodeCharacter{00E9}{\'e} | ||
| 7656 | \DeclareUnicodeCharacter{00EA}{\^e} | ||
| 7657 | \DeclareUnicodeCharacter{00EB}{\"e} | ||
| 7658 | \DeclareUnicodeCharacter{00EC}{\`{\dotless{i}}} | ||
| 7659 | \DeclareUnicodeCharacter{00ED}{\'{\dotless{i}}} | ||
| 7660 | \DeclareUnicodeCharacter{00EE}{\^{\dotless{i}}} | ||
| 7661 | \DeclareUnicodeCharacter{00EF}{\"{\dotless{i}}} | ||
| 7662 | |||
| 7663 | \DeclareUnicodeCharacter{00F1}{\~n} | ||
| 7664 | \DeclareUnicodeCharacter{00F2}{\`o} | ||
| 7665 | \DeclareUnicodeCharacter{00F3}{\'o} | ||
| 7666 | \DeclareUnicodeCharacter{00F4}{\^o} | ||
| 7667 | \DeclareUnicodeCharacter{00F5}{\~o} | ||
| 7668 | \DeclareUnicodeCharacter{00F6}{\"o} | ||
| 7669 | \DeclareUnicodeCharacter{00F8}{\o} | ||
| 7670 | \DeclareUnicodeCharacter{00F9}{\`u} | ||
| 7671 | \DeclareUnicodeCharacter{00FA}{\'u} | ||
| 7672 | \DeclareUnicodeCharacter{00FB}{\^u} | ||
| 7673 | \DeclareUnicodeCharacter{00FC}{\"u} | ||
| 7674 | \DeclareUnicodeCharacter{00FD}{\'y} | ||
| 7675 | \DeclareUnicodeCharacter{00FF}{\"y} | ||
| 7676 | |||
| 7677 | \DeclareUnicodeCharacter{0100}{\=A} | ||
| 7678 | \DeclareUnicodeCharacter{0101}{\=a} | ||
| 7679 | \DeclareUnicodeCharacter{0102}{\u{A}} | ||
| 7680 | \DeclareUnicodeCharacter{0103}{\u{a}} | ||
| 7681 | \DeclareUnicodeCharacter{0106}{\'C} | ||
| 7682 | \DeclareUnicodeCharacter{0107}{\'c} | ||
| 7683 | \DeclareUnicodeCharacter{0108}{\^C} | ||
| 7684 | \DeclareUnicodeCharacter{0109}{\^c} | ||
| 7685 | \DeclareUnicodeCharacter{010A}{\dotaccent{C}} | ||
| 7686 | \DeclareUnicodeCharacter{010B}{\dotaccent{c}} | ||
| 7687 | \DeclareUnicodeCharacter{010C}{\v{C}} | ||
| 7688 | \DeclareUnicodeCharacter{010D}{\v{c}} | ||
| 7689 | \DeclareUnicodeCharacter{010E}{\v{D}} | ||
| 7690 | |||
| 7691 | \DeclareUnicodeCharacter{0112}{\=E} | ||
| 7692 | \DeclareUnicodeCharacter{0113}{\=e} | ||
| 7693 | \DeclareUnicodeCharacter{0114}{\u{E}} | ||
| 7694 | \DeclareUnicodeCharacter{0115}{\u{e}} | ||
| 7695 | \DeclareUnicodeCharacter{0116}{\dotaccent{E}} | ||
| 7696 | \DeclareUnicodeCharacter{0117}{\dotaccent{e}} | ||
| 7697 | \DeclareUnicodeCharacter{011A}{\v{E}} | ||
| 7698 | \DeclareUnicodeCharacter{011B}{\v{e}} | ||
| 7699 | \DeclareUnicodeCharacter{011C}{\^G} | ||
| 7700 | \DeclareUnicodeCharacter{011D}{\^g} | ||
| 7701 | \DeclareUnicodeCharacter{011E}{\u{G}} | ||
| 7702 | \DeclareUnicodeCharacter{011F}{\u{g}} | ||
| 7703 | |||
| 7704 | \DeclareUnicodeCharacter{0120}{\dotaccent{G}} | ||
| 7705 | \DeclareUnicodeCharacter{0121}{\dotaccent{g}} | ||
| 7706 | \DeclareUnicodeCharacter{0124}{\^H} | ||
| 7707 | \DeclareUnicodeCharacter{0125}{\^h} | ||
| 7708 | \DeclareUnicodeCharacter{0128}{\~I} | ||
| 7709 | \DeclareUnicodeCharacter{0129}{\~{\dotless{i}}} | ||
| 7710 | \DeclareUnicodeCharacter{012A}{\=I} | ||
| 7711 | \DeclareUnicodeCharacter{012B}{\={\dotless{i}}} | ||
| 7712 | \DeclareUnicodeCharacter{012C}{\u{I}} | ||
| 7713 | \DeclareUnicodeCharacter{012D}{\u{\dotless{i}}} | ||
| 7714 | |||
| 7715 | \DeclareUnicodeCharacter{0130}{\dotaccent{I}} | ||
| 7716 | \DeclareUnicodeCharacter{0131}{\dotless{i}} | ||
| 7717 | \DeclareUnicodeCharacter{0132}{IJ} | ||
| 7718 | \DeclareUnicodeCharacter{0133}{ij} | ||
| 7719 | \DeclareUnicodeCharacter{0134}{\^J} | ||
| 7720 | \DeclareUnicodeCharacter{0135}{\^{\dotless{j}}} | ||
| 7721 | \DeclareUnicodeCharacter{0139}{\'L} | ||
| 7722 | \DeclareUnicodeCharacter{013A}{\'l} | ||
| 7723 | |||
| 7724 | \DeclareUnicodeCharacter{0141}{\L} | ||
| 7725 | \DeclareUnicodeCharacter{0142}{\l} | ||
| 7726 | \DeclareUnicodeCharacter{0143}{\'N} | ||
| 7727 | \DeclareUnicodeCharacter{0144}{\'n} | ||
| 7728 | \DeclareUnicodeCharacter{0147}{\v{N}} | ||
| 7729 | \DeclareUnicodeCharacter{0148}{\v{n}} | ||
| 7730 | \DeclareUnicodeCharacter{014C}{\=O} | ||
| 7731 | \DeclareUnicodeCharacter{014D}{\=o} | ||
| 7732 | \DeclareUnicodeCharacter{014E}{\u{O}} | ||
| 7733 | \DeclareUnicodeCharacter{014F}{\u{o}} | ||
| 7734 | |||
| 7735 | \DeclareUnicodeCharacter{0150}{\H{O}} | ||
| 7736 | \DeclareUnicodeCharacter{0151}{\H{o}} | ||
| 7737 | \DeclareUnicodeCharacter{0152}{\OE} | ||
| 7738 | \DeclareUnicodeCharacter{0153}{\oe} | ||
| 7739 | \DeclareUnicodeCharacter{0154}{\'R} | ||
| 7740 | \DeclareUnicodeCharacter{0155}{\'r} | ||
| 7741 | \DeclareUnicodeCharacter{0158}{\v{R}} | ||
| 7742 | \DeclareUnicodeCharacter{0159}{\v{r}} | ||
| 7743 | \DeclareUnicodeCharacter{015A}{\'S} | ||
| 7744 | \DeclareUnicodeCharacter{015B}{\'s} | ||
| 7745 | \DeclareUnicodeCharacter{015C}{\^S} | ||
| 7746 | \DeclareUnicodeCharacter{015D}{\^s} | ||
| 7747 | \DeclareUnicodeCharacter{015E}{\cedilla{S}} | ||
| 7748 | \DeclareUnicodeCharacter{015F}{\cedilla{s}} | ||
| 7749 | |||
| 7750 | \DeclareUnicodeCharacter{0160}{\v{S}} | ||
| 7751 | \DeclareUnicodeCharacter{0161}{\v{s}} | ||
| 7752 | \DeclareUnicodeCharacter{0162}{\cedilla{t}} | ||
| 7753 | \DeclareUnicodeCharacter{0163}{\cedilla{T}} | ||
| 7754 | \DeclareUnicodeCharacter{0164}{\v{T}} | ||
| 7755 | |||
| 7756 | \DeclareUnicodeCharacter{0168}{\~U} | ||
| 7757 | \DeclareUnicodeCharacter{0169}{\~u} | ||
| 7758 | \DeclareUnicodeCharacter{016A}{\=U} | ||
| 7759 | \DeclareUnicodeCharacter{016B}{\=u} | ||
| 7760 | \DeclareUnicodeCharacter{016C}{\u{U}} | ||
| 7761 | \DeclareUnicodeCharacter{016D}{\u{u}} | ||
| 7762 | \DeclareUnicodeCharacter{016E}{\ringaccent{U}} | ||
| 7763 | \DeclareUnicodeCharacter{016F}{\ringaccent{u}} | ||
| 7764 | |||
| 7765 | \DeclareUnicodeCharacter{0170}{\H{U}} | ||
| 7766 | \DeclareUnicodeCharacter{0171}{\H{u}} | ||
| 7767 | \DeclareUnicodeCharacter{0174}{\^W} | ||
| 7768 | \DeclareUnicodeCharacter{0175}{\^w} | ||
| 7769 | \DeclareUnicodeCharacter{0176}{\^Y} | ||
| 7770 | \DeclareUnicodeCharacter{0177}{\^y} | ||
| 7771 | \DeclareUnicodeCharacter{0178}{\"Y} | ||
| 7772 | \DeclareUnicodeCharacter{0179}{\'Z} | ||
| 7773 | \DeclareUnicodeCharacter{017A}{\'z} | ||
| 7774 | \DeclareUnicodeCharacter{017B}{\dotaccent{Z}} | ||
| 7775 | \DeclareUnicodeCharacter{017C}{\dotaccent{z}} | ||
| 7776 | \DeclareUnicodeCharacter{017D}{\v{Z}} | ||
| 7777 | \DeclareUnicodeCharacter{017E}{\v{z}} | ||
| 7778 | |||
| 7779 | \DeclareUnicodeCharacter{01C4}{D\v{Z}} | ||
| 7780 | \DeclareUnicodeCharacter{01C5}{D\v{z}} | ||
| 7781 | \DeclareUnicodeCharacter{01C6}{d\v{z}} | ||
| 7782 | \DeclareUnicodeCharacter{01C7}{LJ} | ||
| 7783 | \DeclareUnicodeCharacter{01C8}{Lj} | ||
| 7784 | \DeclareUnicodeCharacter{01C9}{lj} | ||
| 7785 | \DeclareUnicodeCharacter{01CA}{NJ} | ||
| 7786 | \DeclareUnicodeCharacter{01CB}{Nj} | ||
| 7787 | \DeclareUnicodeCharacter{01CC}{nj} | ||
| 7788 | \DeclareUnicodeCharacter{01CD}{\v{A}} | ||
| 7789 | \DeclareUnicodeCharacter{01CE}{\v{a}} | ||
| 7790 | \DeclareUnicodeCharacter{01CF}{\v{I}} | ||
| 7791 | |||
| 7792 | \DeclareUnicodeCharacter{01D0}{\v{\dotless{i}}} | ||
| 7793 | \DeclareUnicodeCharacter{01D1}{\v{O}} | ||
| 7794 | \DeclareUnicodeCharacter{01D2}{\v{o}} | ||
| 7795 | \DeclareUnicodeCharacter{01D3}{\v{U}} | ||
| 7796 | \DeclareUnicodeCharacter{01D4}{\v{u}} | ||
| 7797 | |||
| 7798 | \DeclareUnicodeCharacter{01E2}{\={\AE}} | ||
| 7799 | \DeclareUnicodeCharacter{01E3}{\={\ae}} | ||
| 7800 | \DeclareUnicodeCharacter{01E6}{\v{G}} | ||
| 7801 | \DeclareUnicodeCharacter{01E7}{\v{g}} | ||
| 7802 | \DeclareUnicodeCharacter{01E8}{\v{K}} | ||
| 7803 | \DeclareUnicodeCharacter{01E9}{\v{k}} | ||
| 7804 | |||
| 7805 | \DeclareUnicodeCharacter{01F0}{\v{\dotless{j}}} | ||
| 7806 | \DeclareUnicodeCharacter{01F1}{DZ} | ||
| 7807 | \DeclareUnicodeCharacter{01F2}{Dz} | ||
| 7808 | \DeclareUnicodeCharacter{01F3}{dz} | ||
| 7809 | \DeclareUnicodeCharacter{01F4}{\'G} | ||
| 7810 | \DeclareUnicodeCharacter{01F5}{\'g} | ||
| 7811 | \DeclareUnicodeCharacter{01F8}{\`N} | ||
| 7812 | \DeclareUnicodeCharacter{01F9}{\`n} | ||
| 7813 | \DeclareUnicodeCharacter{01FC}{\'{\AE}} | ||
| 7814 | \DeclareUnicodeCharacter{01FD}{\'{\ae}} | ||
| 7815 | \DeclareUnicodeCharacter{01FE}{\'{\O}} | ||
| 7816 | \DeclareUnicodeCharacter{01FF}{\'{\o}} | ||
| 7817 | |||
| 7818 | \DeclareUnicodeCharacter{021E}{\v{H}} | ||
| 7819 | \DeclareUnicodeCharacter{021F}{\v{h}} | ||
| 7820 | |||
| 7821 | \DeclareUnicodeCharacter{0226}{\dotaccent{A}} | ||
| 7822 | \DeclareUnicodeCharacter{0227}{\dotaccent{a}} | ||
| 7823 | \DeclareUnicodeCharacter{0228}{\cedilla{E}} | ||
| 7824 | \DeclareUnicodeCharacter{0229}{\cedilla{e}} | ||
| 7825 | \DeclareUnicodeCharacter{022E}{\dotaccent{O}} | ||
| 7826 | \DeclareUnicodeCharacter{022F}{\dotaccent{o}} | ||
| 7827 | |||
| 7828 | \DeclareUnicodeCharacter{0232}{\=Y} | ||
| 7829 | \DeclareUnicodeCharacter{0233}{\=y} | ||
| 7830 | \DeclareUnicodeCharacter{0237}{\dotless{j}} | ||
| 7831 | |||
| 7832 | \DeclareUnicodeCharacter{1E02}{\dotaccent{B}} | ||
| 7833 | \DeclareUnicodeCharacter{1E03}{\dotaccent{b}} | ||
| 7834 | \DeclareUnicodeCharacter{1E04}{\udotaccent{B}} | ||
| 7835 | \DeclareUnicodeCharacter{1E05}{\udotaccent{b}} | ||
| 7836 | \DeclareUnicodeCharacter{1E06}{\ubaraccent{B}} | ||
| 7837 | \DeclareUnicodeCharacter{1E07}{\ubaraccent{b}} | ||
| 7838 | \DeclareUnicodeCharacter{1E0A}{\dotaccent{D}} | ||
| 7839 | \DeclareUnicodeCharacter{1E0B}{\dotaccent{d}} | ||
| 7840 | \DeclareUnicodeCharacter{1E0C}{\udotaccent{D}} | ||
| 7841 | \DeclareUnicodeCharacter{1E0D}{\udotaccent{d}} | ||
| 7842 | \DeclareUnicodeCharacter{1E0E}{\ubaraccent{D}} | ||
| 7843 | \DeclareUnicodeCharacter{1E0F}{\ubaraccent{d}} | ||
| 7844 | |||
| 7845 | \DeclareUnicodeCharacter{1E1E}{\dotaccent{F}} | ||
| 7846 | \DeclareUnicodeCharacter{1E1F}{\dotaccent{f}} | ||
| 7847 | |||
| 7848 | \DeclareUnicodeCharacter{1E20}{\=G} | ||
| 7849 | \DeclareUnicodeCharacter{1E21}{\=g} | ||
| 7850 | \DeclareUnicodeCharacter{1E22}{\dotaccent{H}} | ||
| 7851 | \DeclareUnicodeCharacter{1E23}{\dotaccent{h}} | ||
| 7852 | \DeclareUnicodeCharacter{1E24}{\udotaccent{H}} | ||
| 7853 | \DeclareUnicodeCharacter{1E25}{\udotaccent{h}} | ||
| 7854 | \DeclareUnicodeCharacter{1E26}{\"H} | ||
| 7855 | \DeclareUnicodeCharacter{1E27}{\"h} | ||
| 7856 | |||
| 7857 | \DeclareUnicodeCharacter{1E30}{\'K} | ||
| 7858 | \DeclareUnicodeCharacter{1E31}{\'k} | ||
| 7859 | \DeclareUnicodeCharacter{1E32}{\udotaccent{K}} | ||
| 7860 | \DeclareUnicodeCharacter{1E33}{\udotaccent{k}} | ||
| 7861 | \DeclareUnicodeCharacter{1E34}{\ubaraccent{K}} | ||
| 7862 | \DeclareUnicodeCharacter{1E35}{\ubaraccent{k}} | ||
| 7863 | \DeclareUnicodeCharacter{1E36}{\udotaccent{L}} | ||
| 7864 | \DeclareUnicodeCharacter{1E37}{\udotaccent{l}} | ||
| 7865 | \DeclareUnicodeCharacter{1E3A}{\ubaraccent{L}} | ||
| 7866 | \DeclareUnicodeCharacter{1E3B}{\ubaraccent{l}} | ||
| 7867 | \DeclareUnicodeCharacter{1E3E}{\'M} | ||
| 7868 | \DeclareUnicodeCharacter{1E3F}{\'m} | ||
| 7869 | |||
| 7870 | \DeclareUnicodeCharacter{1E40}{\dotaccent{M}} | ||
| 7871 | \DeclareUnicodeCharacter{1E41}{\dotaccent{m}} | ||
| 7872 | \DeclareUnicodeCharacter{1E42}{\udotaccent{M}} | ||
| 7873 | \DeclareUnicodeCharacter{1E43}{\udotaccent{m}} | ||
| 7874 | \DeclareUnicodeCharacter{1E44}{\dotaccent{N}} | ||
| 7875 | \DeclareUnicodeCharacter{1E45}{\dotaccent{n}} | ||
| 7876 | \DeclareUnicodeCharacter{1E46}{\udotaccent{N}} | ||
| 7877 | \DeclareUnicodeCharacter{1E47}{\udotaccent{n}} | ||
| 7878 | \DeclareUnicodeCharacter{1E48}{\ubaraccent{N}} | ||
| 7879 | \DeclareUnicodeCharacter{1E49}{\ubaraccent{n}} | ||
| 7880 | |||
| 7881 | \DeclareUnicodeCharacter{1E54}{\'P} | ||
| 7882 | \DeclareUnicodeCharacter{1E55}{\'p} | ||
| 7883 | \DeclareUnicodeCharacter{1E56}{\dotaccent{P}} | ||
| 7884 | \DeclareUnicodeCharacter{1E57}{\dotaccent{p}} | ||
| 7885 | \DeclareUnicodeCharacter{1E58}{\dotaccent{R}} | ||
| 7886 | \DeclareUnicodeCharacter{1E59}{\dotaccent{r}} | ||
| 7887 | \DeclareUnicodeCharacter{1E5A}{\udotaccent{R}} | ||
| 7888 | \DeclareUnicodeCharacter{1E5B}{\udotaccent{r}} | ||
| 7889 | \DeclareUnicodeCharacter{1E5E}{\ubaraccent{R}} | ||
| 7890 | \DeclareUnicodeCharacter{1E5F}{\ubaraccent{r}} | ||
| 7891 | |||
| 7892 | \DeclareUnicodeCharacter{1E60}{\dotaccent{S}} | ||
| 7893 | \DeclareUnicodeCharacter{1E61}{\dotaccent{s}} | ||
| 7894 | \DeclareUnicodeCharacter{1E62}{\udotaccent{S}} | ||
| 7895 | \DeclareUnicodeCharacter{1E63}{\udotaccent{s}} | ||
| 7896 | \DeclareUnicodeCharacter{1E6A}{\dotaccent{T}} | ||
| 7897 | \DeclareUnicodeCharacter{1E6B}{\dotaccent{t}} | ||
| 7898 | \DeclareUnicodeCharacter{1E6C}{\udotaccent{T}} | ||
| 7899 | \DeclareUnicodeCharacter{1E6D}{\udotaccent{t}} | ||
| 7900 | \DeclareUnicodeCharacter{1E6E}{\ubaraccent{T}} | ||
| 7901 | \DeclareUnicodeCharacter{1E6F}{\ubaraccent{t}} | ||
| 7902 | |||
| 7903 | \DeclareUnicodeCharacter{1E7C}{\~V} | ||
| 7904 | \DeclareUnicodeCharacter{1E7D}{\~v} | ||
| 7905 | \DeclareUnicodeCharacter{1E7E}{\udotaccent{V}} | ||
| 7906 | \DeclareUnicodeCharacter{1E7F}{\udotaccent{v}} | ||
| 7907 | |||
| 7908 | \DeclareUnicodeCharacter{1E80}{\`W} | ||
| 7909 | \DeclareUnicodeCharacter{1E81}{\`w} | ||
| 7910 | \DeclareUnicodeCharacter{1E82}{\'W} | ||
| 7911 | \DeclareUnicodeCharacter{1E83}{\'w} | ||
| 7912 | \DeclareUnicodeCharacter{1E84}{\"W} | ||
| 7913 | \DeclareUnicodeCharacter{1E85}{\"w} | ||
| 7914 | \DeclareUnicodeCharacter{1E86}{\dotaccent{W}} | ||
| 7915 | \DeclareUnicodeCharacter{1E87}{\dotaccent{w}} | ||
| 7916 | \DeclareUnicodeCharacter{1E88}{\udotaccent{W}} | ||
| 7917 | \DeclareUnicodeCharacter{1E89}{\udotaccent{w}} | ||
| 7918 | \DeclareUnicodeCharacter{1E8A}{\dotaccent{X}} | ||
| 7919 | \DeclareUnicodeCharacter{1E8B}{\dotaccent{x}} | ||
| 7920 | \DeclareUnicodeCharacter{1E8C}{\"X} | ||
| 7921 | \DeclareUnicodeCharacter{1E8D}{\"x} | ||
| 7922 | \DeclareUnicodeCharacter{1E8E}{\dotaccent{Y}} | ||
| 7923 | \DeclareUnicodeCharacter{1E8F}{\dotaccent{y}} | ||
| 7924 | |||
| 7925 | \DeclareUnicodeCharacter{1E90}{\^Z} | ||
| 7926 | \DeclareUnicodeCharacter{1E91}{\^z} | ||
| 7927 | \DeclareUnicodeCharacter{1E92}{\udotaccent{Z}} | ||
| 7928 | \DeclareUnicodeCharacter{1E93}{\udotaccent{z}} | ||
| 7929 | \DeclareUnicodeCharacter{1E94}{\ubaraccent{Z}} | ||
| 7930 | \DeclareUnicodeCharacter{1E95}{\ubaraccent{z}} | ||
| 7931 | \DeclareUnicodeCharacter{1E96}{\ubaraccent{h}} | ||
| 7932 | \DeclareUnicodeCharacter{1E97}{\"t} | ||
| 7933 | \DeclareUnicodeCharacter{1E98}{\ringaccent{w}} | ||
| 7934 | \DeclareUnicodeCharacter{1E99}{\ringaccent{y}} | ||
| 7935 | |||
| 7936 | \DeclareUnicodeCharacter{1EA0}{\udotaccent{A}} | ||
| 7937 | \DeclareUnicodeCharacter{1EA1}{\udotaccent{a}} | ||
| 7938 | |||
| 7939 | \DeclareUnicodeCharacter{1EB8}{\udotaccent{E}} | ||
| 7940 | \DeclareUnicodeCharacter{1EB9}{\udotaccent{e}} | ||
| 7941 | \DeclareUnicodeCharacter{1EBC}{\~E} | ||
| 7942 | \DeclareUnicodeCharacter{1EBD}{\~e} | ||
| 7943 | |||
| 7944 | \DeclareUnicodeCharacter{1ECA}{\udotaccent{I}} | ||
| 7945 | \DeclareUnicodeCharacter{1ECB}{\udotaccent{i}} | ||
| 7946 | \DeclareUnicodeCharacter{1ECC}{\udotaccent{O}} | ||
| 7947 | \DeclareUnicodeCharacter{1ECD}{\udotaccent{o}} | ||
| 7948 | |||
| 7949 | \DeclareUnicodeCharacter{1EE4}{\udotaccent{U}} | ||
| 7950 | \DeclareUnicodeCharacter{1EE5}{\udotaccent{u}} | ||
| 7951 | |||
| 7952 | \DeclareUnicodeCharacter{1EF2}{\`Y} | ||
| 7953 | \DeclareUnicodeCharacter{1EF3}{\`y} | ||
| 7954 | \DeclareUnicodeCharacter{1EF4}{\udotaccent{Y}} | ||
| 7955 | |||
| 7956 | \DeclareUnicodeCharacter{1EF8}{\~Y} | ||
| 7957 | \DeclareUnicodeCharacter{1EF9}{\~y} | ||
| 7958 | |||
| 7959 | \DeclareUnicodeCharacter{2013}{--} | ||
| 7960 | \DeclareUnicodeCharacter{2014}{---} | ||
| 7961 | \DeclareUnicodeCharacter{2022}{\bullet} | ||
| 7962 | \DeclareUnicodeCharacter{2026}{\dots} | ||
| 7963 | \DeclareUnicodeCharacter{20AC}{\euro} | ||
| 7964 | |||
| 7965 | \DeclareUnicodeCharacter{2192}{\expansion} | ||
| 7966 | \DeclareUnicodeCharacter{21D2}{\result} | ||
| 7967 | |||
| 7968 | \DeclareUnicodeCharacter{2212}{\minus} | ||
| 7969 | \DeclareUnicodeCharacter{2217}{\point} | ||
| 7970 | \DeclareUnicodeCharacter{2261}{\equiv} | ||
| 7971 | }% end of \utfeightchardefs | ||
| 7972 | |||
| 7973 | |||
| 7974 | % US-ASCII character definitions. | ||
| 7975 | \def\asciichardefs{% nothing need be done | ||
| 7976 | \relax | ||
| 7977 | } | ||
| 7978 | |||
| 7979 | % Make non-ASCII characters printable again for compatibility with | ||
| 7980 | % existing Texinfo documents that may use them, even without declaring a | ||
| 7981 | % document encoding. | ||
| 7982 | % | ||
| 7983 | \setnonasciicharscatcode \other | ||
| 7984 | |||
| 7985 | |||
| 7986 | \message{formatting,} | ||
| 7987 | |||
| 7137 | \newdimen\defaultparindent \defaultparindent = 15pt | 7988 | \newdimen\defaultparindent \defaultparindent = 15pt |
| 7138 | 7989 | ||
| 7139 | \chapheadingskip = 15pt plus 4pt minus 2pt | 7990 | \chapheadingskip = 15pt plus 4pt minus 2pt |