Mercurial > gnulib
comparison build-aux/texinfo.tex @ 10833:63a17fa9fd6a
update from texinfo
author | Karl Berry <karl@freefriends.org> |
---|---|
date | Thu, 20 Nov 2008 06:19:42 -0800 |
parents | c7e606884d6d |
children | 65e9a6275a83 |
comparison
equal
deleted
inserted
replaced
10832:83b5f7b59a35 | 10833:63a17fa9fd6a |
---|---|
1 % texinfo.tex -- TeX macros to handle Texinfo files. | 1 % texinfo.tex -- TeX macros to handle Texinfo files. |
2 % | 2 % |
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{2008-11-09.14} | 6 \def\texinfoversion{2008-11-17.21} |
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, 2008 Free Software Foundation, Inc. | 10 % 2007, 2008 Free Software Foundation, Inc. |
11 % | 11 % |
96 \let\ptexrbrace=\} | 96 \let\ptexrbrace=\} |
97 \let\ptexslash=\/ | 97 \let\ptexslash=\/ |
98 \let\ptexstar=\* | 98 \let\ptexstar=\* |
99 \let\ptext=\t | 99 \let\ptext=\t |
100 \let\ptextop=\top | 100 \let\ptextop=\top |
101 {\catcode`\'=\active | |
102 \global\let\ptexquoteright'}% Math-mode def from plain.tex. | |
101 | 103 |
102 % If this character appears in an error message or help string, it | 104 % If this character appears in an error message or help string, it |
103 % starts a new line in the output. | 105 % starts a new line in the output. |
104 \newlinechar = `^^J | 106 \newlinechar = `^^J |
105 | 107 |
943 \catcode`|=\other | 945 \catcode`|=\other |
944 \catcode`<=\other | 946 \catcode`<=\other |
945 \catcode`>=\other | 947 \catcode`>=\other |
946 \catcode`+=\other | 948 \catcode`+=\other |
947 \catcode`-=\other | 949 \catcode`-=\other |
950 \catcode`\`=\other | |
951 \catcode`\'=\other | |
948 } | 952 } |
949 | 953 |
950 \def\pushthisfilestack{% | 954 \def\pushthisfilestack{% |
951 \expandafter\pushthisfilestackX\popthisfilestack\StackTerm | 955 \expandafter\pushthisfilestackX\popthisfilestack\StackTerm |
952 } | 956 } |
1141 { | 1145 { |
1142 \catcode`^ = \active | 1146 \catcode`^ = \active |
1143 \catcode`< = \active | 1147 \catcode`< = \active |
1144 \catcode`> = \active | 1148 \catcode`> = \active |
1145 \catcode`+ = \active | 1149 \catcode`+ = \active |
1150 \catcode`' = \active | |
1146 \gdef\mathactive{% | 1151 \gdef\mathactive{% |
1147 \let^ = \ptexhat | 1152 \let^ = \ptexhat |
1148 \let< = \ptexless | 1153 \let< = \ptexless |
1149 \let> = \ptexgtr | 1154 \let> = \ptexgtr |
1150 \let+ = \ptexplus | 1155 \let+ = \ptexplus |
1156 \let' = \ptexquoteright | |
1151 } | 1157 } |
1152 } | 1158 } |
1153 | 1159 |
1154 % Some math mode symbols. | 1160 % Some math mode symbols. |
1155 \def\bullet{$\ptexbullet$} | 1161 \def\bullet{$\ptexbullet$} |
2395 % ttsl for book titles, do we? | 2401 % ttsl for book titles, do we? |
2396 \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} | 2402 \def\cite#1{{\sl #1}\futurelet\next\smartitalicx} |
2397 | 2403 |
2398 \let\i=\smartitalic | 2404 \let\i=\smartitalic |
2399 \let\slanted=\smartslanted | 2405 \let\slanted=\smartslanted |
2400 \let\var=\smartslanted | 2406 \def\var#1{{\setupmarkupstyle{var}\smartslanted{#1}}} |
2401 \let\dfn=\smartslanted | 2407 \let\dfn=\smartslanted |
2402 \let\emph=\smartitalic | 2408 \let\emph=\smartitalic |
2403 | 2409 |
2404 % @b, explicit bold. | 2410 % @b, explicit bold. |
2405 \def\b#1{{\bf #1}} | 2411 \def\b#1{{\bf #1}} |
2435 | 2441 |
2436 \def\t#1{% | 2442 \def\t#1{% |
2437 {\tt \rawbackslash \plainfrenchspacing #1}% | 2443 {\tt \rawbackslash \plainfrenchspacing #1}% |
2438 \null | 2444 \null |
2439 } | 2445 } |
2440 \def\samp#1{`\tclose{#1}'\null} | 2446 \def\samp#1{{\setupmarkupstyle{samp}\lq\tclose{#1}\rq\null}} |
2441 \setfont\keyrm\rmshape{8}{1000}{OT1} | 2447 \setfont\keyrm\rmshape{8}{1000}{OT1} |
2442 \font\keysy=cmsy9 | 2448 \font\keysy=cmsy9 |
2443 \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% | 2449 \def\key#1{{\keyrm\textfont2=\keysy \leavevmode\hbox{% |
2444 \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% | 2450 \raise0.4pt\hbox{\angleleft}\kern-.08em\vtop{% |
2445 \vbox{\hrule\kern-0.4pt | 2451 \vbox{\hrule\kern-0.4pt |
2446 \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% | 2452 \hbox{\raise0.4pt\hbox{\vphantom{\angleleft}}#1}}% |
2447 \kern-0.4pt\hrule}% | 2453 \kern-0.4pt\hrule}% |
2448 \kern-.06em\raise0.4pt\hbox{\angleright}}}} | 2454 \kern-.06em\raise0.4pt\hbox{\angleright}}}} |
2449 \def\key #1{{\nohyphenation \uppercase{#1}}\null} | 2455 \def\key #1{{\setupmarkupstyle{key}\nohyphenation \uppercase{#1}}\null} |
2450 % The old definition, with no lozenge: | 2456 % The old definition, with no lozenge: |
2451 %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} | 2457 %\def\key #1{{\ttsl \nohyphenation \uppercase{#1}}\null} |
2452 \def\ctrl #1{{\tt \rawbackslash \hat}#1} | 2458 \def\ctrl #1{{\tt \rawbackslash \hat}#1} |
2453 | 2459 |
2454 % @file, @option are the same as @samp. | 2460 % @file, @option are the same as @samp. |
2491 \catcode`\-=\active \catcode`\_=\active | 2497 \catcode`\-=\active \catcode`\_=\active |
2492 \catcode`\'=\active \catcode`\`=\active | 2498 \catcode`\'=\active \catcode`\`=\active |
2493 \global\let'=\rq \global\let`=\lq % default definitions | 2499 \global\let'=\rq \global\let`=\lq % default definitions |
2494 % | 2500 % |
2495 \global\def\code{\begingroup | 2501 \global\def\code{\begingroup |
2496 \catcode\rquoteChar=\active \catcode\lquoteChar=\active | 2502 \setupmarkupstyle{code}% |
2497 \let'\codequoteright \let`\codequoteleft | 2503 % The following should really be moved into \setupmarkupstyle handlers. |
2498 % | |
2499 \catcode\dashChar=\active \catcode\underChar=\active | 2504 \catcode\dashChar=\active \catcode\underChar=\active |
2500 \ifallowcodebreaks | 2505 \ifallowcodebreaks |
2501 \let-\codedash | 2506 \let-\codedash |
2502 \let_\codeunder | 2507 \let_\codeunder |
2503 \else | 2508 \else |
2572 \kbdinputstyle distinct | 2577 \kbdinputstyle distinct |
2573 | 2578 |
2574 \def\xkey{\key} | 2579 \def\xkey{\key} |
2575 \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% | 2580 \def\kbdfoo#1#2#3\par{\def\one{#1}\def\three{#3}\def\threex{??}% |
2576 \ifx\one\xkey\ifx\threex\three \key{#2}% | 2581 \ifx\one\xkey\ifx\threex\three \key{#2}% |
2577 \else{\tclose{\kbdfont\look}}\fi | 2582 \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi |
2578 \else{\tclose{\kbdfont\look}}\fi} | 2583 \else{\tclose{\kbdfont\setupmarkupstyle{kbd}\look}}\fi} |
2579 | 2584 |
2580 % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. | 2585 % For @indicateurl, @env, @command quotes seem unnecessary, so use \code. |
2581 \let\indicateurl=\code | 2586 \let\indicateurl=\code |
2582 \let\env=\code | 2587 \let\env=\code |
2583 \let\command=\code | 2588 \let\command=\code |
2648 % Typeset a dimension, e.g., `in' or `pt'. The only reason for the | 2653 % Typeset a dimension, e.g., `in' or `pt'. The only reason for the |
2649 % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. | 2654 % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt. |
2650 % | 2655 % |
2651 \def\dmn#1{\thinspace #1} | 2656 \def\dmn#1{\thinspace #1} |
2652 | 2657 |
2653 \def\kbd#1{\def\look{#1}\expandafter\kbdfoo\look??\par} | 2658 \def\kbd#1{{\setupmarkupstyle{kbd}\def\look{#1}\expandafter\kbdfoo\look??\par}} |
2654 | 2659 |
2655 % @l was never documented to mean ``switch to the Lisp font'', | 2660 % @l was never documented to mean ``switch to the Lisp font'', |
2656 % and it is not used as such in any manual I can find. We need it for | 2661 % and it is not used as such in any manual I can find. We need it for |
2657 % Polish suppressed-l. --karl, 22sep96. | 2662 % Polish suppressed-l. --karl, 22sep96. |
2658 %\def\l#1{{\li #1}\null} | 2663 %\def\l#1{{\li #1}\null} |
5702 | 5707 |
5703 | 5708 |
5704 \message{environments,} | 5709 \message{environments,} |
5705 % @foo ... @end foo. | 5710 % @foo ... @end foo. |
5706 | 5711 |
5712 % Markup style infrastructure. \defmarkupstylesetup\INITMACRO will | |
5713 % define and register \INITMACRO to be called on markup style changes. | |
5714 % \INITMACRO can check \currentmarkupstyle for the innermost | |
5715 % style and the set of \ifmarkupSTYLE switches for all styles | |
5716 % currently in effect. | |
5717 \newif\ifmarkupvar | |
5718 \newif\ifmarkupsamp | |
5719 \newif\ifmarkupkey | |
5720 %\newif\ifmarkupfile % @file == @samp. | |
5721 %\newif\ifmarkupoption % @option == @samp. | |
5722 \newif\ifmarkupcode | |
5723 \newif\ifmarkupkbd | |
5724 %\newif\ifmarkupenv % @env == @code. | |
5725 %\newif\ifmarkupcommand % @command == @code. | |
5726 \newif\ifmarkuptex % @tex (and part of @math, for now). | |
5727 \newif\ifmarkupexample | |
5728 \newif\ifmarkupverb | |
5729 \newif\ifmarkupverbatim | |
5730 | |
5731 \let\currentmarkupstyle\empty | |
5732 | |
5733 \def\setupmarkupstyle#1{% | |
5734 \csname markup#1true\endcsname | |
5735 \def\currentmarkupstyle{#1}% | |
5736 \markupstylesetup | |
5737 } | |
5738 | |
5739 \let\markupstylesetup\empty | |
5740 | |
5741 \def\defmarkupstylesetup#1{% | |
5742 \expandafter\def\expandafter\markupstylesetup | |
5743 \expandafter{\markupstylesetup #1}% | |
5744 \def#1% | |
5745 } | |
5746 | |
5747 % Markup style setup for left and right quotes. | |
5748 \defmarkupstylesetup\markupsetuplq{% | |
5749 \expandafter\let\expandafter \temp \csname markupsetuplq\currentmarkupstyle\endcsname | |
5750 \ifx\temp\relax \markupsetuplqdefault \else \temp \fi | |
5751 } | |
5752 | |
5753 \defmarkupstylesetup\markupsetuprq{% | |
5754 \expandafter\let\expandafter \temp \csname markupsetuprq\currentmarkupstyle\endcsname | |
5755 \ifx\temp\relax \markupsetuprqdefault \else \temp \fi | |
5756 } | |
5757 | |
5758 { | |
5759 \catcode`\'=\active | |
5760 \catcode`\`=\active | |
5761 | |
5762 \gdef\markupsetuplqdefault{\let`\lq} | |
5763 \gdef\markupsetuprqdefault{\let'\rq} | |
5764 | |
5765 \gdef\markupsetcodequoteleft{\let`\codequoteleft} | |
5766 \gdef\markupsetcodequoteright{\let'\codequoteright} | |
5767 | |
5768 \gdef\markupsetnoligaturesquoteleft{\let`\noligaturesquoteleft} | |
5769 } | |
5770 | |
5771 \let\markupsetuplqcode \markupsetcodequoteleft | |
5772 \let\markupsetuprqcode \markupsetcodequoteright | |
5773 \let\markupsetuplqexample \markupsetcodequoteleft | |
5774 \let\markupsetuprqexample \markupsetcodequoteright | |
5775 \let\markupsetuplqverb \markupsetcodequoteleft | |
5776 \let\markupsetuprqverb \markupsetcodequoteright | |
5777 \let\markupsetuplqverbatim \markupsetcodequoteleft | |
5778 \let\markupsetuprqverbatim \markupsetcodequoteright | |
5779 | |
5780 \let\markupsetuplqsamp \markupsetnoligaturesquoteleft | |
5781 \let\markupsetuplqkbd \markupsetnoligaturesquoteleft | |
5782 | |
5783 % Allow an option to not replace quotes with a regular directed right | |
5784 % quote/apostrophe (char 0x27), but instead use the undirected quote | |
5785 % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it | |
5786 % the default, but it works for pasting with more pdf viewers (at least | |
5787 % evince), the lilypond developers report. xpdf does work with the | |
5788 % regular 0x27. | |
5789 % | |
5790 \def\codequoteright{% | |
5791 \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax | |
5792 \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax | |
5793 '% | |
5794 \else \char'15 \fi | |
5795 \else \char'15 \fi | |
5796 } | |
5797 % | |
5798 % and a similar option for the left quote char vs. a grave accent. | |
5799 % Modern fonts display ASCII 0x60 as a grave accent, so some people like | |
5800 % the code environments to do likewise. | |
5801 % | |
5802 \def\codequoteleft{% | |
5803 \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax | |
5804 \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax | |
5805 % [Knuth] pp. 380,381,391 | |
5806 % \relax disables Spanish ligatures ?` and !` of \tt font. | |
5807 \relax`% | |
5808 \else \char'22 \fi | |
5809 \else \char'22 \fi | |
5810 } | |
5811 | |
5812 % [Knuth] pp. 380,381,391, disable Spanish ligatures ?` and !` of \tt font. | |
5813 \def\noligaturesquoteleft{\relax\lq} | |
5814 | |
5707 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. | 5815 % @point{}, @result{}, @expansion{}, @print{}, @equiv{}. |
5708 % | 5816 % |
5709 % Since these characters are used in examples, they should be an even number of | 5817 % Since these characters are used in examples, they should be an even number of |
5710 % \tt widths. Each \tt character is 1en, so two makes it 1em. | 5818 % \tt widths. Each \tt character is 1en, so two makes it 1em. |
5711 % | 5819 % |
5742 % @tex ... @end tex escapes into raw Tex temporarily. | 5850 % @tex ... @end tex escapes into raw Tex temporarily. |
5743 % One exception: @ is still an escape character, so that @end tex works. | 5851 % One exception: @ is still an escape character, so that @end tex works. |
5744 % But \@ or @@ will get a plain tex @ character. | 5852 % But \@ or @@ will get a plain tex @ character. |
5745 | 5853 |
5746 \envdef\tex{% | 5854 \envdef\tex{% |
5855 \setupmarkupstyle{tex}% | |
5747 \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 | 5856 \catcode `\\=0 \catcode `\{=1 \catcode `\}=2 |
5748 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 | 5857 \catcode `\$=3 \catcode `\&=4 \catcode `\#=6 |
5749 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie | 5858 \catcode `\^=7 \catcode `\_=8 \catcode `\~=\active \let~=\tie |
5750 \catcode `\%=14 | 5859 \catcode `\%=14 |
5751 \catcode `\+=\other | 5860 \catcode `\+=\other |
5752 \catcode `\"=\other | 5861 \catcode `\"=\other |
5753 \catcode `\|=\other | 5862 \catcode `\|=\other |
5754 \catcode `\<=\other | 5863 \catcode `\<=\other |
5755 \catcode `\>=\other | 5864 \catcode `\>=\other |
5865 \catcode`\`=\other | |
5866 \catcode`\'=\other | |
5756 \escapechar=`\\ | 5867 \escapechar=`\\ |
5757 % | 5868 % |
5758 \let\b=\ptexb | 5869 \let\b=\ptexb |
5759 \let\bullet=\ptexbullet | 5870 \let\bullet=\ptexbullet |
5760 \let\c=\ptexc | 5871 \let\c=\ptexc |
5952 % @smallexample and @smalllisp: use smaller fonts. | 6063 % @smallexample and @smalllisp: use smaller fonts. |
5953 % Originally contributed by Pavel@xerox. | 6064 % Originally contributed by Pavel@xerox. |
5954 % | 6065 % |
5955 \maketwodispenvs {lisp}{example}{% | 6066 \maketwodispenvs {lisp}{example}{% |
5956 \nonfillstart | 6067 \nonfillstart |
5957 \tt\quoteexpand | 6068 \tt\setupmarkupstyle{example}% |
5958 \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. | 6069 \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special. |
5959 \gobble % eat return | 6070 \gobble % eat return |
5960 } | 6071 } |
5961 % @display/@smalldisplay: same as @lisp except keep current font. | 6072 % @display/@smalldisplay: same as @lisp except keep current font. |
5962 % | 6073 % |
6056 % verbatim line. | 6167 % verbatim line. |
6057 \def\dospecials{% | 6168 \def\dospecials{% |
6058 \do\ \do\\\do\{\do\}\do\$\do\&% | 6169 \do\ \do\\\do\{\do\}\do\$\do\&% |
6059 \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% | 6170 \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~% |
6060 \do\<\do\>\do\|\do\@\do+\do\"% | 6171 \do\<\do\>\do\|\do\@\do+\do\"% |
6172 % Don't do the quotes -- if we do, @set txicodequoteundirected and | |
6173 % @set txicodequotebacktick will not have effect on @verb and | |
6174 % @verbatim, and ?` and !` ligatures won't get disabled. | |
6175 %\do\`\do\'% | |
6061 } | 6176 } |
6062 % | 6177 % |
6063 % [Knuth] p. 380 | 6178 % [Knuth] p. 380 |
6064 \def\uncatcodespecials{% | 6179 \def\uncatcodespecials{% |
6065 \def\do##1{\catcode`##1=\other}\dospecials} | 6180 \def\do##1{\catcode`##1=\other}\dospecials} |
6073 \endgroup | 6188 \endgroup |
6074 % | 6189 % |
6075 \def\setupverb{% | 6190 \def\setupverb{% |
6076 \tt % easiest (and conventionally used) font for verbatim | 6191 \tt % easiest (and conventionally used) font for verbatim |
6077 \def\par{\leavevmode\endgraf}% | 6192 \def\par{\leavevmode\endgraf}% |
6078 \catcode`\`=\active | 6193 \setupmarkupstyle{verb}% |
6079 \tabeightspaces | 6194 \tabeightspaces |
6080 % Respect line breaks, | 6195 % Respect line breaks, |
6081 % print special symbols as themselves, and | 6196 % print special symbols as themselves, and |
6082 % make each space count | 6197 % make each space count |
6083 % must do in this order: | 6198 % must do in this order: |
6088 % | 6203 % |
6089 % Real tab expansion | 6204 % Real tab expansion |
6090 \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount | 6205 \newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount |
6091 % | 6206 % |
6092 \def\starttabbox{\setbox0=\hbox\bgroup} | 6207 \def\starttabbox{\setbox0=\hbox\bgroup} |
6093 | |
6094 % Allow an option to not replace quotes with a regular directed right | |
6095 % quote/apostrophe (char 0x27), but instead use the undirected quote | |
6096 % from cmtt (char 0x0d). The undirected quote is ugly, so don't make it | |
6097 % the default, but it works for pasting with more pdf viewers (at least | |
6098 % evince), the lilypond developers report. xpdf does work with the | |
6099 % regular 0x27. | |
6100 % | |
6101 \def\codequoteright{% | |
6102 \expandafter\ifx\csname SETtxicodequoteundirected\endcsname\relax | |
6103 \expandafter\ifx\csname SETcodequoteundirected\endcsname\relax | |
6104 '% | |
6105 \else \char'15 \fi | |
6106 \else \char'15 \fi | |
6107 } | |
6108 % | |
6109 % and a similar option for the left quote char vs. a grave accent. | |
6110 % Modern fonts display ASCII 0x60 as a grave accent, so some people like | |
6111 % the code environments to do likewise. | |
6112 % | |
6113 \def\codequoteleft{% | |
6114 \expandafter\ifx\csname SETtxicodequotebacktick\endcsname\relax | |
6115 \expandafter\ifx\csname SETcodequotebacktick\endcsname\relax | |
6116 \relax`% the \relax disables the `! and `? ligatures | |
6117 \else \char'22 \fi | |
6118 \else \char'22 \fi | |
6119 } | |
6120 % | 6208 % |
6121 \begingroup | 6209 \begingroup |
6122 \catcode`\^^I=\active | 6210 \catcode`\^^I=\active |
6123 \gdef\tabexpand{% | 6211 \gdef\tabexpand{% |
6124 \catcode`\^^I=\active | 6212 \catcode`\^^I=\active |
6128 \multiply\dimen0 by\tabw % compute previous multiple of \tabw | 6216 \multiply\dimen0 by\tabw % compute previous multiple of \tabw |
6129 \advance\dimen0 by\tabw % advance to next multiple of \tabw | 6217 \advance\dimen0 by\tabw % advance to next multiple of \tabw |
6130 \wd0=\dimen0 \box0 \starttabbox | 6218 \wd0=\dimen0 \box0 \starttabbox |
6131 }% | 6219 }% |
6132 } | 6220 } |
6133 \catcode`\'=\active | |
6134 \gdef\rquoteexpand{\catcode\rquoteChar=\active \def'{\codequoteright}}% | |
6135 % | |
6136 \catcode`\`=\active | |
6137 \gdef\lquoteexpand{\catcode\lquoteChar=\active \def`{\codequoteleft}}% | |
6138 % | |
6139 \gdef\quoteexpand{\rquoteexpand \lquoteexpand}% | |
6140 \endgroup | 6221 \endgroup |
6141 | 6222 |
6142 % start the verbatim environment. | 6223 % start the verbatim environment. |
6143 \def\setupverbatim{% | 6224 \def\setupverbatim{% |
6144 \let\nonarrowing = t% | 6225 \let\nonarrowing = t% |
6145 \nonfillstart | 6226 \nonfillstart |
6146 % Easiest (and conventionally used) font for verbatim | 6227 % Easiest (and conventionally used) font for verbatim |
6147 \tt | 6228 \tt |
6148 \def\par{\leavevmode\egroup\box0\endgraf}% | 6229 \def\par{\leavevmode\egroup\box0\endgraf}% |
6149 \catcode`\`=\active | |
6150 \tabexpand | 6230 \tabexpand |
6151 \quoteexpand | 6231 \setupmarkupstyle{verbatim}% |
6152 % Respect line breaks, | 6232 % Respect line breaks, |
6153 % print special symbols as themselves, and | 6233 % print special symbols as themselves, and |
6154 % make each space count | 6234 % make each space count |
6155 % must do in this order: | 6235 % must do in this order: |
6156 \obeylines \uncatcodespecials \sepspaces | 6236 \obeylines \uncatcodespecials \sepspaces |
6485 % tt for the names. | 6565 % tt for the names. |
6486 \df \sl \hyphenchar\font=0 | 6566 \df \sl \hyphenchar\font=0 |
6487 % | 6567 % |
6488 % On the other hand, if an argument has two dashes (for instance), we | 6568 % On the other hand, if an argument has two dashes (for instance), we |
6489 % want a way to get ttsl. Let's try @var for that. | 6569 % want a way to get ttsl. Let's try @var for that. |
6490 \let\var=\ttslanted | 6570 \def\var##1{{\setupmarkupstyle{var}\ttslanted{##1}}}% |
6491 #1% | 6571 #1% |
6492 \sl\hyphenchar\font=45 | 6572 \sl\hyphenchar\font=45 |
6493 } | 6573 } |
6494 | 6574 |
6495 % We want ()&[] to print specially on the defun line. | 6575 % We want ()&[] to print specially on the defun line. |
9011 @let|=@normalverticalbar | 9091 @let|=@normalverticalbar |
9012 @let<=@normalless | 9092 @let<=@normalless |
9013 @let>=@normalgreater | 9093 @let>=@normalgreater |
9014 @let+=@normalplus | 9094 @let+=@normalplus |
9015 @let$=@normaldollar %$ font-lock fix | 9095 @let$=@normaldollar %$ font-lock fix |
9096 @markupsetuplqdefault | |
9097 @markupsetuprqdefault | |
9016 @unsepspaces | 9098 @unsepspaces |
9017 } | 9099 } |
9018 | 9100 |
9019 % Make _ and + \other characters, temporarily. | 9101 % Make _ and + \other characters, temporarily. |
9020 % This is canceled by @fixbackslash. | 9102 % This is canceled by @fixbackslash. |
9049 | 9131 |
9050 @c Finally, make ` and ' active, so that txicodequoteundirected and | 9132 @c Finally, make ` and ' active, so that txicodequoteundirected and |
9051 @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we | 9133 @c txicodequotebacktick work right in, e.g., @w{@code{`foo'}}. If we |
9052 @c don't make ` and ' active, @code will not get them as active chars. | 9134 @c don't make ` and ' active, @code will not get them as active chars. |
9053 @c Do this last of all since we use ` in the previous @catcode assignments. | 9135 @c Do this last of all since we use ` in the previous @catcode assignments. |
9054 @c (not ready yet, sigh) | 9136 @catcode`@'=@active |
9055 @c atcode`@'=@active @let'@rq | 9137 @catcode`@`=@active |
9056 @c atcode`@`=@active @let`@lq | 9138 @markupsetuplqdefault |
9139 @markupsetuprqdefault | |
9057 | 9140 |
9058 @c Local variables: | 9141 @c Local variables: |
9059 @c eval: (add-hook 'write-file-hooks 'time-stamp) | 9142 @c eval: (add-hook 'write-file-hooks 'time-stamp) |
9060 @c page-delimiter: "^\\\\message" | 9143 @c page-delimiter: "^\\\\message" |
9061 @c time-stamp-start: "def\\\\texinfoversion{" | 9144 @c time-stamp-start: "def\\\\texinfoversion{" |