~vcs-imports/gawk/master

« back to all changes in this revision

Viewing changes to doc/texinfo.tex

  • Committer: Arnold D. Robbins
  • Date: 2010-07-16 10:09:56 UTC
  • Revision ID: git-v1:bc70de7b3302d5a81515b901cae376b8b51d2004
Tags: gawk-3.1.0
Move to gawk-3.1.0.

Show diffs side-by-side

added added

removed removed

Lines of Context:
3
3
% Load plain if necessary, i.e., if running under initex.
4
4
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
5
5
%
6
 
\def\texinfoversion{1999-10-01.07}
 
6
\def\texinfoversion{2001-03-28.08}
7
7
%
8
 
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99
9
 
% Free Software Foundation, Inc.
 
8
% Copyright (C) 1985, 86, 88, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99,
 
9
%               2000, 01 Free Software Foundation, Inc.
10
10
%
11
11
% This texinfo.tex file is free software; you can redistribute it and/or
12
12
% modify it under the terms of the GNU General Public License as
214
214
    \normalturnoffactive  % \ in index entries must not stay \, e.g., if
215
215
                   % the page break happens to be in the middle of an example.
216
216
    \shipout\vbox{%
 
217
      % Do this early so pdf references go to the beginning of the page.
 
218
      \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
 
219
      %
217
220
      \ifcropmarks \vbox to \outervsize\bgroup
218
221
        \hsize = \outerhsize
219
222
        \vskip-\topandbottommargin
243
246
        \unvbox\footlinebox
244
247
      \fi
245
248
      %
246
 
      \ifpdfmakepagedest \pdfmkdest{\the\pageno} \fi
247
 
      %
248
249
      \ifcropmarks
249
250
          \egroup % end of \vbox\bgroup
250
251
        \hfil\egroup % end of (centering) \line\bgroup
687
688
\def\nofillexdentyyy #1{{\advance \leftskip by -\exdentamount
688
689
\leftline{\hskip\leftskip{\rm#1}}}}
689
690
 
690
 
% @inmargin{TEXT} puts TEXT in the margin next to the current paragraph.
691
 
 
692
 
\def\inmargin#1{%
693
 
\strut\vadjust{\nobreak\kern-\strutdepth
694
 
  \vtop to \strutdepth{\baselineskip\strutdepth\vss
695
 
  \llap{\rightskip=\inmarginspacing \vbox{\noindent #1}}\null}}}
 
691
% @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
 
692
% paragraph.  For more general purposes, use the \margin insertion
 
693
% class.  WHICH is `l' or `r'.
 
694
%
696
695
\newskip\inmarginspacing \inmarginspacing=1cm
697
696
\def\strutdepth{\dp\strutbox}
698
 
 
699
 
%\hbox{{\rm#1}}\hfil\break}}
 
697
%
 
698
\def\doinmargin#1#2{\strut\vadjust{%
 
699
  \nobreak
 
700
  \kern-\strutdepth
 
701
  \vtop to \strutdepth{%
 
702
    \baselineskip=\strutdepth
 
703
    \vss
 
704
    % if you have multiple lines of stuff to put here, you'll need to
 
705
    % make the vbox yourself of the appropriate size.
 
706
    \ifx#1l%
 
707
      \llap{\ignorespaces #2\hskip\inmarginspacing}%
 
708
    \else
 
709
      \rlap{\hskip\hsize \hskip\inmarginspacing \ignorespaces #2}%
 
710
    \fi
 
711
    \null
 
712
  }%
 
713
}}
 
714
\def\inleftmargin{\doinmargin l}
 
715
\def\inrightmargin{\doinmargin r}
 
716
%
 
717
% @inmargin{TEXT [, RIGHT-TEXT]}
 
718
% (if RIGHT-TEXT is given, use TEXT for left page, RIGHT-TEXT for right;
 
719
% else use TEXT for both).
 
720
 
721
\def\inmargin#1{\parseinmargin #1,,\finish}
 
722
\def\parseinmargin#1,#2,#3\finish{% not perfect, but better than nothing.
 
723
  \setbox0 = \hbox{\ignorespaces #2}% 
 
724
  \ifdim\wd0 > 0pt
 
725
    \def\lefttext{#1}%  have both texts
 
726
    \def\righttext{#2}%
 
727
  \else
 
728
    \def\lefttext{#1}%  have only one text
 
729
    \def\righttext{#1}%
 
730
  \fi
 
731
  %
 
732
  \ifodd\pageno
 
733
    \def\temp{\inrightmargin\righttext}% odd page -> outside is right margin
 
734
  \else
 
735
    \def\temp{\inleftmargin\lefttext}%
 
736
  \fi
 
737
  \temp
 
738
}
700
739
 
701
740
% @include file    insert text of that file as input.
702
741
% Allow normal characters that  we make active in the argument (a file name).
885
924
    \fi
886
925
      \ifx\empty\imagewidth\else width \imagewidth \fi
887
926
      \ifx\empty\imageheight\else height \imageheight \fi
888
 
      {#1.pdf}%
 
927
      \ifnum\pdftexversion<13
 
928
         #1.pdf%
 
929
       \else
 
930
         {#1.pdf}%
 
931
       \fi
889
932
    \ifnum\pdftexversion < 14 \else
890
933
      \pdfrefximage \pdflastximage
891
934
    \fi}
892
 
  \def\pdfmkdest#1{\pdfdest name{#1@} xyz}
 
935
  \def\pdfmkdest#1{\pdfdest name{#1} xyz}
893
936
  \def\pdfmkpgn#1{#1@}
894
 
  \let\linkcolor = \Cyan
 
937
  \let\linkcolor = \Blue  % was Cyan, but that seems light?
895
938
  \def\endlink{\Black\pdfendlink}
896
939
  % Adding outlines to PDF; macros for calculating structure of outlines
897
940
  % come from Petr Olsak
906
949
      \closein 1 
907
950
      \indexnofonts
908
951
      \def\tt{}
909
 
      % thanh's hack / proper braces in bookmarks  
 
952
      \let\_ = \normalunderscore
 
953
      % Thanh's hack / proper braces in bookmarks  
910
954
      \edef\mylbrace{\iftrue \string{\else}\fi}\let\{=\mylbrace
911
955
      \edef\myrbrace{\iffalse{\else\string}\fi}\let\}=\myrbrace
912
956
      %
1670
1714
}
1671
1715
 
1672
1716
% Subroutines used in generating headings
1673
 
% Produces Day Month Year style of output.
 
1717
% This produces Day Month Year style of output.
 
1718
% Only define if not already defined, in case a txi-??.tex file has set
 
1719
% up a different format (e.g., txi-cs.tex does this).
 
1720
\ifx\today\undefined
1674
1721
\def\today{%
1675
1722
  \number\day\space
1676
1723
  \ifcase\month
1679
1726
  \or\putwordMSep\or\putwordMOct\or\putwordMNov\or\putwordMDec
1680
1727
  \fi
1681
1728
  \space\number\year}
 
1729
\fi
1682
1730
 
1683
1731
% @settitle line...  specifies the title of the document, for headings.
1684
1732
% It generates no output of its own.
2587
2635
}
2588
2636
 
2589
2637
% @defindex foo  ==  \newindex{foo}
2590
 
 
 
2638
%
2591
2639
\def\defindex{\parsearg\newindex}
2592
2640
 
2593
2641
% Define @defcodeindex, like @defindex except put all entries in @code.
2594
 
 
 
2642
%
 
2643
\def\defcodeindex{\parsearg\newcodeindex}
 
2644
%
2595
2645
\def\newcodeindex#1{%
2596
2646
  \iflinks
2597
2647
    \expandafter\newwrite \csname#1indfile\endcsname
2598
2648
    \openout \csname#1indfile\endcsname \jobname.#1
2599
2649
  \fi
2600
2650
  \expandafter\xdef\csname#1index\endcsname{%
2601
 
    \noexpand\docodeindex{#1}}
 
2651
    \noexpand\docodeindex{#1}}%
2602
2652
}
2603
2653
 
2604
 
\def\defcodeindex{\parsearg\newcodeindex}
2605
2654
 
2606
2655
% @synindex foo bar    makes index foo feed into index bar.
2607
2656
% Do this instead of @defindex foo if you don't want it as a separate index.
2608
 
% The \closeout helps reduce unnecessary open files; the limit on the
2609
 
% Acorn RISC OS is a mere 16 files.
2610
 
\def\synindex#1 #2 {%
2611
 
  \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
2612
 
  \expandafter\closeout\csname#1indfile\endcsname
2613
 
  \expandafter\let\csname#1indfile\endcsname=\synindexfoo
2614
 
  \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
2615
 
    \noexpand\doindex{#2}}%
2616
 
}
2617
 
 
 
2657
2618
2658
% @syncodeindex foo bar   similar, but put all entries made for index foo
2619
2659
% inside @code.
2620
 
\def\syncodeindex#1 #2 {%
2621
 
  \expandafter\let\expandafter\synindexfoo\expandafter=\csname#2indfile\endcsname
2622
 
  \expandafter\closeout\csname#1indfile\endcsname
2623
 
  \expandafter\let\csname#1indfile\endcsname=\synindexfoo
2624
 
  \expandafter\xdef\csname#1index\endcsname{% define \xxxindex
2625
 
    \noexpand\docodeindex{#2}}%
 
2660
 
2661
\def\synindex#1 #2 {\dosynindex\doindex{#1}{#2}}
 
2662
\def\syncodeindex#1 #2 {\dosynindex\docodeindex{#1}{#2}}
 
2663
 
 
2664
% #1 is \doindex or \docodeindex, #2 the index getting redefined (foo),
 
2665
% #3 the target index (bar).
 
2666
\def\dosynindex#1#2#3{%
 
2667
  % Only do \closeout if we haven't already done it, else we'll end up
 
2668
  % closing the target index.
 
2669
  \expandafter \ifx\csname donesynindex#2\endcsname \undefined
 
2670
    % The \closeout helps reduce unnecessary open files; the limit on the
 
2671
    % Acorn RISC OS is a mere 16 files.
 
2672
    \expandafter\closeout\csname#2indfile\endcsname
 
2673
    \expandafter\let\csname\donesynindex#2\endcsname = 1
 
2674
  \fi
 
2675
  % redefine \fooindfile:
 
2676
  \expandafter\let\expandafter\temp\expandafter=\csname#3indfile\endcsname
 
2677
  \expandafter\let\csname#2indfile\endcsname=\temp
 
2678
  % redefine \fooindex:
 
2679
  \expandafter\xdef\csname#2index\endcsname{\noexpand#1{#3}}%
2626
2680
}
2627
2681
 
2628
2682
% Define \doindex, the driver for all \fooindex macros.
2854
2908
        % Now the real index entry with the fonts.
2855
2909
        \toks0 = {#2}%
2856
2910
        %
2857
 
        % If third (subentry) arg is present, add it to the index
2858
 
        % string.  And include a space.
 
2911
        % If the third (subentry) arg is present, add it to the index
 
2912
        % line to write.
2859
2913
        \ifx\thirdarg\emptymacro \else
2860
 
          \toks0 = \expandafter{\the\toks0 \space #3}%
 
2914
          \toks0 = \expandafter{\the\toks0{#3}}%
2861
2915
        \fi
2862
2916
        %
2863
 
        % Set up the complete index entry, with both the sort key
2864
 
        % and the original text, including any font commands.  We write
2865
 
        % three arguments to \entry to the .?? file, texindex reduces to
2866
 
        % two when writing the .??s sorted result.
 
2917
        % Set up the complete index entry, with both the sort key and
 
2918
        % the original text, including any font commands.  We write
 
2919
        % three arguments to \entry to the .?? file (four in the
 
2920
        % subentry case), texindex reduces to two when writing the .??s
 
2921
        % sorted result.
2867
2922
        \edef\temp{%
2868
2923
          \write\csname#1indfile\endcsname{%
2869
2924
            \realbackslash entry{\indexsorttmp}{\folio}{\the\toks0}}%
3085
3140
\def\primary #1{\line{#1\hfil}}
3086
3141
 
3087
3142
\newskip\secondaryindent \secondaryindent=0.5cm
3088
 
 
3089
 
\def\secondary #1#2{
3090
 
{\parfillskip=0in \parskip=0in
3091
 
\hangindent =1in \hangafter=1
3092
 
\noindent\hskip\secondaryindent\hbox{#1}\indexdotfill #2\par
 
3143
\def\secondary#1#2{{%
 
3144
  \parfillskip=0in
 
3145
  \parskip=0in
 
3146
  \hangindent=1in
 
3147
  \hangafter=1
 
3148
  \noindent\hskip\secondaryindent\hbox{#1}\indexdotfill
 
3149
  \ifpdf
 
3150
    \pdfgettoks#2.\ \the\toksA % The page number ends the paragraph.
 
3151
  \else
 
3152
    #2
 
3153
  \fi
 
3154
  \par
3093
3155
}}
3094
3156
 
3095
3157
% Define two-column mode, which we use to typeset indexes.
3149
3211
  %
3150
3212
  % Double the \vsize as well.  (We don't need a separate register here,
3151
3213
  % since nobody clobbers \vsize.)
3152
 
  \advance\vsize by -\ht\partialpage
3153
3214
  \vsize = 2\vsize
3154
3215
}
3155
3216
 
3163
3224
  % previous page.
3164
3225
  \dimen@ = \vsize
3165
3226
  \divide\dimen@ by 2
 
3227
  \advance\dimen@ by -\ht\partialpage
3166
3228
  %
3167
3229
  % box0 will be the left-hand column, box2 the right.
3168
3230
  \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
3170
3232
  \unvbox255
3171
3233
  \penalty\outputpenalty
3172
3234
}
 
3235
%
 
3236
% Re-output the contents of the output page -- any previous material,
 
3237
% followed by the two boxes we just split, in box0 and box2.
3173
3238
\def\pagesofar{%
3174
 
  % Re-output the contents of the output page -- any previous material,
3175
 
  % followed by the two boxes we just split, in box0 and box2.
3176
3239
  \unvbox\partialpage
3177
3240
  %
3178
3241
  \hsize = \doublecolumnhsize
3179
3242
  \wd0=\hsize \wd2=\hsize
3180
3243
  \hbox to\pagewidth{\box0\hfil\box2}%
3181
3244
}
 
3245
 
3246
% All done with double columns.
3182
3247
\def\enddoublecolumns{%
3183
3248
  \output = {%
3184
3249
    % Split the last of the double-column material.  Leave it on the
3203
3268
  % \endgroup where \vsize got restored).
3204
3269
  \pagegoal = \vsize
3205
3270
}
 
3271
%
 
3272
% Called at the end of the double column material.
3206
3273
\def\balancecolumns{%
3207
 
  % Called at the end of the double column material.
3208
3274
  \setbox0 = \vbox{\unvbox255}% like \box255 but more efficient, see p.120.
3209
3275
  \dimen@ = \ht0
3210
3276
  \advance\dimen@ by \topskip
4265
4331
  \gobble
4266
4332
}
4267
4333
 
 
4334
 
4268
4335
% @quotation does normal linebreaking (hence we can't use \nonfillstart)
4269
4336
% and narrows the margins.
4270
4337
%
4287
4354
}
4288
4355
 
4289
4356
 
 
4357
% LaTeX-like @verbatim...@end verbatim and @verb{<char>...<char>}
 
4358
% If we want to allow any <char> as delimiter, 
 
4359
% we need the curly braces so that makeinfo sees the @verb command, eg:
 
4360
% `@verbx...x' would look like the '@verbx' command.  --janneke@gnu.org
 
4361
%
 
4362
% [Knuth]: Donald Ervin Knuth, 1996.  The TeXbook.
 
4363
%
 
4364
% [Knuth] p. 344; only we need to do '@' too
 
4365
\def\dospecials{%
 
4366
  \do\ \do\\\do\@\do\{\do\}\do\$\do\&%
 
4367
  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~}
 
4368
%
 
4369
% [Knuth] p. 380
 
4370
\def\uncatcodespecials{%
 
4371
  \def\do##1{\catcode`##1=12}\dospecials}
 
4372
%
 
4373
% [Knuth] pp. 380,381,391
 
4374
% Disable Spanish ligatures ?` and !` of \tt font
 
4375
\begingroup
 
4376
  \catcode`\`=\active\gdef`{\relax\lq}
 
4377
\endgroup
 
4378
%
 
4379
% Setup for the @verb command.
 
4380
%
 
4381
% Eight spaces for a tab
 
4382
\begingroup
 
4383
  \catcode`\^^I=\active
 
4384
  \gdef\tabeightspaces{\catcode`\^^I=\active\def^^I{\ \ \ \ \ \ \ \ }}
 
4385
\endgroup
 
4386
%
 
4387
\def\setupverb{%
 
4388
  \tt  % easiest (and conventionally used) font for verbatim
 
4389
  \def\par{\leavevmode\endgraf}%
 
4390
  \catcode`\`=\active
 
4391
  \tabeightspaces
 
4392
  % Respect line breaks,
 
4393
  % print special symbols as themselves, and
 
4394
  % make each space count
 
4395
  % must do in this order:
 
4396
  \obeylines \uncatcodespecials \sepspaces
 
4397
}
 
4398
 
 
4399
% Setup for the @verbatim environment
 
4400
%
 
4401
% Real tab expansion
 
4402
\newdimen\tabw \setbox0=\hbox{\tt\space} \tabw=8\wd0 % tab amount
 
4403
%
 
4404
\def\starttabbox{\setbox0=\hbox\bgroup}
 
4405
\begingroup
 
4406
  \catcode`\^^I=\active
 
4407
  \gdef\tabexpand{%
 
4408
    \catcode`\^^I=\active
 
4409
    \def^^I{\leavevmode\egroup
 
4410
      \dimen0=\wd0 % the width so far, or since the previous tab
 
4411
      \divide\dimen0 by\tabw
 
4412
      \multiply\dimen0 by\tabw % compute previous multiple of \tabw
 
4413
      \advance\dimen0 by\tabw  % advance to next multiple of \tabw
 
4414
      \wd0=\dimen0 \box0 \starttabbox
 
4415
    }%
 
4416
  }
 
4417
\endgroup
 
4418
\def\setupverbatim{%
 
4419
  % Easiest (and conventionally used) font for verbatim
 
4420
  \tt
 
4421
  \def\par{\leavevmode\egroup\box0\endgraf}%
 
4422
  \catcode`\`=\active
 
4423
  \tabexpand
 
4424
  % Respect line breaks,
 
4425
  % print special symbols as themselves, and
 
4426
  % make each space count
 
4427
  % must do in this order:
 
4428
  \obeylines \uncatcodespecials \sepspaces
 
4429
  \everypar{\starttabbox}%
 
4430
}
 
4431
 
 
4432
% Do the @verb magic: verbatim text is quoted by unique 
 
4433
% delimiter characters.  Before first delimiter expect a 
 
4434
% right brace, after last delimiter expect closing brace:
 
4435
%
 
4436
%    \def\doverb'{'<char>#1<char>'}'{#1}
 
4437
%
 
4438
% [Knuth] p. 382; only eat outer {}
 
4439
\begingroup
 
4440
  \catcode`[=1\catcode`]=2\catcode`\{=12\catcode`\}=12
 
4441
  \gdef\doverb{#1[\def\next##1#1}[##1\endgroup]\next]
 
4442
\endgroup
 
4443
%
 
4444
\def\verb{\begingroup\setupverb\doverb}
 
4445
%
 
4446
%
 
4447
% Do the @verbatim magic: define the macro \doverbatim so that
 
4448
% the (first) argument ends when '@end verbatim' is reached, ie:
 
4449
%
 
4450
%     \def\doverbatim#1@end verbatim{#1}
 
4451
%
 
4452
% For Texinfo it's a lot easier than for LaTeX, 
 
4453
% because texinfo's \verbatim doesn't stop at '\end{verbatim}':
 
4454
% we need not redefine '\', '{' and '}'
 
4455
%
 
4456
% Inspired by LaTeX's verbatim command set [latex.ltx]
 
4457
%% Include LaTeX hack for completeness -- never know
 
4458
%% \begingroup
 
4459
%% \catcode`|=0 \catcode`[=1
 
4460
%% \catcode`]=2\catcode`\{=12\catcode`\}=12\catcode`\ =\active
 
4461
%% \catcode`\\=12|gdef|doverbatim#1@end verbatim[
 
4462
%% #1|endgroup|def|Everbatim[]|end[verbatim]]
 
4463
%% |endgroup
 
4464
\begingroup
 
4465
  \catcode`\ =\active
 
4466
  \gdef\doverbatim#1@end verbatim{#1\end{verbatim}}
 
4467
\endgroup
 
4468
%
 
4469
\def\verbatim{%
 
4470
  \def\Everbatim{\nonfillfinish\endgroup}%
 
4471
  \begingroup
 
4472
    \nonfillstart
 
4473
    \advance\leftskip by -\defbodyindent
 
4474
    \begingroup\setupverbatim\doverbatim
 
4475
}
 
4476
 
 
4477
% @verbatiminclude FILE - insert text of file in verbatim environment.
 
4478
%
 
4479
% Allow normal characters that we make active in the argument (a file name).
 
4480
\def\verbatiminclude{%
 
4481
  \begingroup
 
4482
    \catcode`\\=12
 
4483
    \catcode`~=12
 
4484
    \catcode`^=12
 
4485
    \catcode`_=12
 
4486
    \catcode`|=12
 
4487
    \catcode`<=12
 
4488
    \catcode`>=12
 
4489
    \catcode`+=12
 
4490
    \parsearg\doverbatiminclude
 
4491
}
 
4492
\def\setupverbatiminclude{%
 
4493
  \begingroup
 
4494
    \nonfillstart
 
4495
    \advance\leftskip by -\defbodyindent
 
4496
    \begingroup\setupverbatim
 
4497
}
 
4498
%
 
4499
\def\doverbatiminclude#1{%
 
4500
     % Restore active chars for included file.
 
4501
  \endgroup
 
4502
  \begingroup
 
4503
  \def\thisfile{#1}%
 
4504
  \expandafter\expandafter\setupverbatiminclude\input\thisfile
 
4505
  \endgroup\nonfillfinish\endgroup
 
4506
}
 
4507
 
 
4508
 
4290
4509
\message{defuns,}
4291
4510
% @defun etc.
4292
4511
 
4710
4929
\def\deftypeivarheader#1#2#3{%
4711
4930
  \dosubind{vr}{\code{#3}}{\putwordof\ \code{#1}}% entry in variable index
4712
4931
  \begingroup
4713
 
    \defname{#3}{\putwordInstanceVariableof\ \code{#1}}%
 
4932
    \defname{\defheaderxcond#2\relax$$$#3}
 
4933
            {\putwordInstanceVariableof\ \code{#1}}%
4714
4934
    \defvarargs{#3}%
4715
4935
  \endgroup
4716
4936
}
5628
5848
    \setbox0 = \hbox{\ignorespaces #2}\ifdim\wd0 > 0pt \epsfxsize=#2\relax \fi
5629
5849
    \setbox0 = \hbox{\ignorespaces #3}\ifdim\wd0 > 0pt \epsfysize=#3\relax \fi
5630
5850
    \begingroup
5631
 
      \catcode`\^^M = 5 % in case we're inside an example
 
5851
      \catcode`\^^M = 5     % in case we're inside an example
 
5852
      \normalturnoffactive  % allow _ et al. in names
5632
5853
      % If the image is by itself, center it.
5633
5854
      \ifvmode
5634
5855
        \nobreak\bigskip
5740
5961
  \setemergencystretch
5741
5962
}
5742
5963
 
 
5964
% Use `small' versions.
 
5965
 
5966
\def\smallenvironments{%
 
5967
  \let\smalldisplay = \smalldisplayx
 
5968
  \let\smallexample = \smalllispx
 
5969
  \let\smallformat = \smallformatx
 
5970
  \let\smalllisp = \smalllispx
 
5971
}
 
5972
 
5743
5973
% @letterpaper (the default).
5744
5974
\def\letterpaper{{\globaldefs = 1
5745
5975
  \parskip = 3pt plus 2pt minus 1pt
5762
5992
  \contentsrightmargin = 0pt
5763
5993
  \deftypemargin = 0pt
5764
5994
  \defbodyindent = .5cm
5765
 
  %
5766
 
  \let\smalldisplay = \smalldisplayx
5767
 
  \let\smallexample = \smalllispx
5768
 
  \let\smallformat = \smallformatx
5769
 
  \let\smalllisp = \smalllispx
 
5995
  \smallenvironments
5770
5996
}}
5771
5997
 
5772
5998
% Use @afourpaper to print on European A4 paper.
5780
6006
  \hfuzz = 1pt
5781
6007
}}
5782
6008
 
 
6009
% Use @afivepaper to print on European A5 paper.
 
6010
% From romildo@urano.iceb.ufop.br, 2 July 2000.
 
6011
% He also recommends making @example and @lisp be small.
 
6012
\def\afivepaper{{\globaldefs = 1
 
6013
  \setleading{12.5pt}%
 
6014
  \parskip = 2pt plus 1pt minus 0.1pt
 
6015
  %
 
6016
  \internalpagesizes{166mm}{120mm}{\voffset}{-8mm}{\bindingoffset}{8pt}%
 
6017
  %
 
6018
  \lispnarrowing = 0.2in
 
6019
  \tolerance = 800
 
6020
  \hfuzz = 1.2pt
 
6021
  \contentsrightmargin = 0mm
 
6022
  \deftypemargin = 0pt
 
6023
  \defbodyindent = 2mm
 
6024
  \tableindent = 12mm
 
6025
  %
 
6026
  \smallenvironments
 
6027
}}
 
6028
 
5783
6029
% A specific text layout, 24x15cm overall, intended for A4 paper.  Top margin
5784
6030
% 29mm, hence bottom margin 28mm, nominal side margin 3cm.
5785
6031
\def\afourlatex{{\globaldefs = 1