• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /macosx-10.10.1/gnudiff-19/diffutils/config/

Lines Matching +refs:narrow +refs:to +refs:defun

1 % texinfo.tex -- TeX macros to handle Texinfo files.
23 % to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
26 % In other words, you are welcome to use, share and improve this program.
27 % You are forbidden to forbid anyone else to use, share and improve
45 % Send bug reports to bug-texinfo@gnu.org. Please include including a
49 % To process a Texinfo manual with TeX, it's most reliable to use the
61 % It is possible to adapt texinfo.tex for other languages. You can get
150 % Margin to add to right of even pages, to left of odd pages.
155 % Sometimes it is convenient to have everything in the transcript file
176 % add check for \lastpenalty to plain's definitions. If the last thing
177 % we did was a \nobreak, we don't want to insert more space.
187 % Do @cropmarks to get crop marks.
192 % Dimensions to add cropmarks at corners.
208 % does insertions, but you have to call it yourself.
221 % Have to do this stuff outside the \shipout because we want it to
228 % the page break happens to be in the middle of an example.
230 % Do this early so pdf references go to the beginning of the page.
233 \ifcropmarks \vbox to \outervsize\bgroup
286 \def\pagebody#1{\vbox to\pageheight{\boxmaxdepth=\maxdepth #1}}
291 \rlap{\kern\hsize\vbox to\z@{\kern1pt\box\margin \vss}}\fi
308 % Parse an argument, then pass it to #1. The argument is the rest of
330 % Remove a single space (as the delimiter token to the macro call).
351 % just to delimit the argument to the \c.
359 % result to \toks0.
364 % does, the catcode of the characters in questionwill have to be changed
377 % Change the active space to expand to nothing.
387 %% These are used to keep @begin/@end levels from running away
391 \ifENV\errmessage{Still within an environment; press RETURN to continue}
395 \newhelp\EMsimple{Press RETURN to continue.}
432 % Define the control sequence \E#1 to give an unmatched @end error.
457 % and you can use @w{...} around a quote to suppress ligatures.
458 %% Define @` and @' to be the same as ` and '
463 % Used to generate quoted braces.
469 % Definitions to produce actual \{ & \} command in an index.
503 % equivalent to this in @example-like environments. Otherwise, a space
534 % @group ... @end group forces ... to be all on one page, by enclosing
535 % it in a TeX vbox. We use \vtop instead of \vbox to construct the box
536 % to keep its height that of a normal line. According to the rules for
551 % the TeXbook.) Thus, space below is not quite equal to space
559 % We have to put a strut on the last line in case the @group is in
571 % OK, but now we have to do something about blank
574 % turned off the interline space. Simplest is to make them be an
579 % Reset ^^M's definition to new definition of \par.
586 % the `@group' to put extra space in the output. Since @group
587 % should appear on a line by itself (according to the Texinfo
608 %% This method tries to make TeX break the page naturally
611 %\vtop to #1\mil{\vfil}\kern -#1\mil\nobreak
626 % Do a \strut just to make the height of this box be normal, so the
627 % normal leading is inserted relative to the preceding line.
629 \vtop to #1\mil{\strut\vfil}%
631 % TeX does not even consider page breaks if a penalty added to the
632 % main vertical list is 10000 or more. But in order to see if the
634 % page breaks. On the other hand, we don't want to actually break the
664 \hbox to 1.5em{%
675 \hbox to 2em{%
695 % This defn is used inside fill environments such as @defun.
704 % @inmargin{WHICH}{TEXT} puts TEXT in the WHICH margin next to the current
714 \vtop to \strutdepth{%
717 % if you have multiple lines of stuff to put here, you'll need to
788 % @ignore ... @end ignore is another way to write a comment
821 % I preserve it to make it similar to @paragraphindent.
841 % to set catcodes according to plain TeX first, to allow for subscripts,
846 % @math gets a chance to work. This could perhaps be fixed, but for now
862 % Another complication: we want \\ (and @\) to output a \ character.
884 % If working on a large document in chapters, it is convenient to
885 % be able to disable indexing, cross-referencing, and contents, for test runs.
892 % So open here the files we need to have open while reading the input.
893 % This makes it possible to make a .fmt file for texinfo.
897 \fi % \openindices needs to do some work in any case.
899 \fixbackslash % Turn off hack to swallow `\input texinfo'.
904 % Just to be on the safe side, close the input stream before the \input.
979 % Adding outlines to PDF; macros for calculating structure of outlines
1113 % So we set up a \sf analogous to plain's \rm, etc.
1124 % Set the baselineskip to #1, and the lineskip and strut size
1142 % Set the font macro #1 to the font named #2, adding on the
1181 % Instead of cmb10, you many want to use cmbx10.
1193 % A few fonts for @defun, etc.
1273 % In order for the font changes to affect most math symbols and letters,
1274 % we have to define the \textfont of the standard families. Since
1276 % in the main text, we don't bother to reset \scriptfont and
1286 % of just \STYLE. We do this so that font changes will continue to work
1289 % \tenbf}, for example. By redefining \tenbf, we obviate the need to
1353 % unless the following character is such as not to need one.
1400 % Change normal interword space to be same as for the current font.
1403 % Switch to typewriter.
1420 % Otherwise, it is too hard to avoid overfull hboxes
1423 % Unfortunately, TeX uses one parameter (\hyphenchar) to control
1426 % and arrange explicitly to hyphenate at a dash.
1479 % Default is kbdinputdistinct. (Too much of a hassle to call the macro,
1480 % the catcodes are wrong for parsearg to work.)
1495 % second argument specifying the text to display and an optional third
1496 % arg as text to display instead of (rather than in addition to) the url
1541 % shrink), and it is reasonable to expect all typewriter fonts to have
1547 % argument is to make the input look right: @dmn{pt} instead of @dmn{}pt.
1553 % @l was never documented to mean ``switch to the Lisp font'',
1635 % It is important to do the page break before ending the group,
1683 % Commands to set those variables.
1718 % Leave some space for the footline. Hopefully ok to assume
1744 % When we turn headings on, set the page number to 1.
1828 % to index the item name in whatever manner is desired (perhaps none).
1872 % We're going to be starting a paragraph, but we don't want the
1887 % the item text, it can migrate to the main vertical list and
1905 % Contains a kludge to get @end[description] to work.
1985 % Set sfcode to normal for the chars that usually have another value.
1990 % \splitoff TOKENS\endmark defines \first to be the first token in
1991 % TOKENS, and \rest to be the remainder.
1996 % or number, to specify the first label in the enumerated list. No
2018 % not equal to itself.
2021 % We need the \relax at the end of the \ifnum lines to stop TeX from
2022 % continuing to look for a <number>.
2074 % Call itemizey, adding a period to the first argument and supplying the
2084 % to @enumerate.
2098 \hbox to 0pt{\hss \itemcontents\hskip \itemmargin}%
2119 % current hsize to be used for each column. You may use as many
2128 % For those who want to use more than one line's worth of words in
2143 % @item, @tab, @multitable or @end multitable do not need to be on their
2166 % @multitablecolmargin is horizontal space to be left between columns.
2167 % @multitablelinespace is space to leave between table items, baseline
2168 % to baseline.
2180 % Macros used to set up halign preamble:
2218 % we'll always have a period there to be parsed.
2227 % This used to have \hskip1sp. But then the space in a template line is
2228 % not enough. That is bad. So let's go back to just & until we
2229 % encounter the problem it was intended to solve again.
2252 % each line. Every column entry will cause \colcount to advance by one.
2254 % looks at the current \colcount to find the correct column width.
2270 % In order to keep entries from bumping into each other
2271 % we will add a \leftskip of \multitablecolspace to all columns after
2275 % to the width of each template entry.
2297 % blank line, when TeX decides to break the line at the space before the
2308 \def\setmultitablespacing{% test to see if user has set \multitablelinespace.
2314 %% strut to put in table in case some entry doesn't have descenders,
2315 %% to keep lines equally spaced
2318 %% FIXME: what is \box0 supposed to be?
2321 %% Test to see if parskip is larger than space between lines of
2323 %% If so, set to same dimension as multitablelinespace.
2326 \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
2331 \global\advance\multitableparskip-7pt %% to keep parskip somewhat smaller
2366 % Used in nested conditionals, where we have to parse the Texinfo source
2367 % and so want to turn off most commands, in case they are used
2389 \let\defun = \relax
2431 % which this file should belong to. Ignore this in TeX.
2440 % Define a command to swallow text until we reach `@end #1'.
2442 % this texinfo.tex file). We change the catcode of @ below to match.
2465 % (We've just changed @ to catcode 12.)
2473 % What we do to finish off ignored text.
2480 % We need to warn folks that they may have trouble with TeX 3.0.
2481 % This uses \immediate\write16 rather than \message to get newlines.
2491 \immediate\write16{ to use a workaround.}
2498 % workaround (which requires the file ``dummy.tfm'' to be installed),
2503 % purposes of nesting, up to an `@end #1' command.
2507 % We must actually expand the ignored text to look for the @end
2517 % Define `@end #1' to end the box, which will in turn undefine the
2521 % We are going to be parsing Texinfo commands. Most cause no
2530 % Set the current font to be \nullfont, a TeX primitive, and define
2531 % all the font commands to also use \nullfont. We don't use
2535 % stuff compared to the main input.
2553 % Don't bother to do space factor calculations.
2569 % @set VAR sets the variable VAR to an empty value.
2570 % @set VAR REST-OF-LINE sets VAR to the value REST-OF-LINE.
2572 % Since we want to separate VAR from REST-OF-LINE (which might be
2573 % empty), we can't just use \parsearg; we have to insert a space of our
2574 % own to delimit the rest of the line, and then take it out again if we
2575 % didn't need it. Make sure the catcode of space is correct to avoid
2589 % Can't use \xdef to pre-expand #2 and save some time, since \temp or
2605 % such active characters to their normal equivalents.
2614 % properly in indexes (we \let\value to this in \indexdummies). Ones
2616 % about that. The command has to be fully expandable, since the result
2619 % (although perhaps we could fix that with sufficient work to do a
2673 % We can't just want to start a group at @iftex (etc.) and end it at
2676 % define \Eiftex to redefine itself to be its previous value. (We can't
2677 % just define it to fail again with an ``unmatched end'' error, since
2685 % At the `@end #1', redefine \E#1 to be its previous value.
2691 % We need to expand lots of \csname's, but we don't want to expand the
2703 % Define \newwrite to be identical to plain tex's \newwrite
2711 % It also defines \fooindfile to be the number of the output channel for
2775 % This is because \doind is more useful to call from other macros.
2787 % Take care of texinfo commands likely to appear in an index entry.
2788 % (Must be a way to avoid doing expansion at all, and thus not have to
2793 \def\@{@}% change to @@ when we switch to @ as escape char in aux files.
2868 % These math commands don't seem likely to be used in index entries.
2894 % This is used when outputting the strings to sort the index by.
2901 % how to handle braces?
2966 % so we do not become unable to do a definition.
2982 % #1 is name of index, #2 is stuff to put there, #3 is subentry --
3011 % off to get the string to sort by.
3017 % If the third (subentry) arg is present, add it to the index
3018 % line to write.
3025 % three arguments to \entry to the .?? file (four in the
3026 % subentry case), texindex reduces to two when writing the .??s
3038 % @end defun
3040 % @defun ...
3042 % start of the @defun won't see the skip inserted by the @end of
3043 % the previous defun.
3046 % don't want to do a \vskip and prematurely end a paragraph.
3048 % Avoid page breaks due to these extra skips, too.
3099 % @printindex causes a particular index (the ??s file) to get printed.
3120 % index. The easiest way to prevent this problem is to make sure
3126 % false. We have to make TeX try to read something from the file, so
3128 \read 1 to \temp
3133 % character. It would be better to use @, but that's too big a change
3134 % to make right now.
3147 % Change them to control the appearance of the index.
3159 % Typeset the initial. Making this add up to a whole number of
3161 % to column. It still won't often be perfect, because of the stretch
3169 % Do our best not to break after the initial.
3174 % flush to the right margin. It is used for index and table of contents
3189 % Do not prefer a separate line ending with a hyphen to fewer lines.
3198 % \hangafter is reset to 1 (which is the value we want) at the start
3202 % When the entry text needs to be broken, just fill out the first line
3215 % The following is kludged to not output a line of dots in the index if
3263 % Define two-column mode, which we use to typeset indexes.
3264 % Adapted from the TeXbook, page 416, which is to say,
3265 % the manmac.tex format used to print the TeXbook itself.
3292 \eject % run that output routine to set \partialpage
3336 \setbox0=\vsplit255 to\dimen@ \setbox2=\vsplit255 to\dimen@
3349 \hbox to\pagewidth{\box0\hfil\box2}%
3362 % want to call it again. Therefore, reset \output to its normal
3364 % called on to balance too much material, but if it is, this makes
3371 % \pagegoal was set to the doubled \vsize above, since we restarted
3372 % the current page. We're now back to normal single-column
3373 % typesetting, so reset \pagegoal to the normal \vsize (after the
3384 \divide\dimen@ by 2 % target to split to
3392 \global\setbox1 = \vsplit3 to \dimen@
3397 %debug\message{split to \the\dimen@, column heights: \the\ht1, \the\ht3.}%
3398 \setbox0=\vbox to\dimen@{\unvbox1}%
3399 \setbox2=\vbox to\dimen@{\unvbox3}%
3459 \newcount\absseclevel % used to calculate proper heading level
3584 % This used to be simply \message{#1}, but TeX fully expands the
3585 % argument to \message. Therefore, if #1 contained @-commands, TeX
3587 % expanded @cite (which turns out to cause errors because \cite is meant
3588 % to be executed, not expanded).
3590 % Anyway, we don't want the fully-expanded definition of @cite to appear
3592 % \the<toks register> to achieve this: TeX expands \the<toks> only once,
3747 % to what kind of chapter we are in (ordinary, appendix, or unnumbered).
3756 % 1) We use \vbox rather than the earlier \line to permit
3757 % overlong headings to fold.
3758 % 2) \hyphenpenalty is set to 10000 because hyphenation in a
3798 \def\chapoddpage{\chappager \ifodd\pageno \else \hbox to 0pt{} \chappager\fi}
3865 \vbox to 3in{\vfil \hbox to\hsize{\hfil #2} \hbox to\hsize{\hfil #1} \vfil}}%
3910 % Switch to the right set of fonts.
3929 % Write an entry to the toc file, opening it if necessary.
3931 % argument, which will end up as the last argument to the \...entry macro.
3944 % Tell \shipout to create a page destination if we're doing pdf, which
3957 % Finish up the main text and prepare to read what we've written
3958 % to \tocfile.
3968 % Don't need to put `Contents' or `Short Contents' in the headline.
3972 \begingroup % Set up to handle contents files properly.
3976 %\catcode`\^=7 % to see ^^e4 as \"a etc. juha@piuha.ydi.vtt.fi
4072 \hbox to \dimen0{#1\hss}%
4098 % If the toc has to be broken over pages, we want it to be at chapters
4125 % the index entries, but we want to suppress hyphenation here. (We
4132 % have to do the usual translation tricks.
4157 \def\result{\leavevmode\raise.15ex\hbox to 1em{\hfil$\Rightarrow$\hfil}}
4158 \def\expansion{\leavevmode\raise.1ex\hbox to 1em{\hfil$\mapsto$\hfil}}
4159 \def\print{\leavevmode\lower.1ex\hbox to 1em{\hfil$\dashv$\hfil}}
4160 \def\equiv{\leavevmode\lower.1ex\hbox to 1em{\hfil$\ptexequiv$\hfil}}
4172 \global\setbox\errorbox=\hbox to \dimen0{\hfil
4173 \hsize = \dimen0 \advance\hsize by -5.8pt % Space to left+right.
4177 \hbox{\vrule width\dimen2 \kern3pt % Space to left of text.
4179 \kern3pt\vrule width\dimen2}% Space to right.
4226 % Amount to narrow the margins by for @lisp.
4242 % Define \obeyedspace to be our active space, whatever it is. This is
4251 % to help in doing that, since in @example-like environments \parskip
4252 % is reset to zero; thus the \afterenvbreak inserts no space -- but the
4269 % \nonarrowing is a flag. If "set", @lisp etc don't narrow margins.
4284 \def\carttop{\hbox to \cartouter{\hskip\lskip
4287 \def\cartbot{\hbox to \cartouter{\hskip\lskip
4304 % Flag to tell @lisp, etc., not to narrow margin.
4345 \emergencystretch = 0pt % don't try to avoid overfull boxes
4346 % @cartouche defines \nonarrowing to inhibit narrowing
4372 \let\kbdfont = \kbdexamplefont % Allow @kbd to do something special.
4379 % @small... is usually equivalent to the non-small (@smallbook
4417 % @format: same as @display except don't narrow margins.
4458 % doing normal filling. So to avoid extra space below the environment...
4461 % @cartouche defines \nonarrowing to inhibit narrowing at next level down.
4472 % If we want to allow any <char> as delimiter,
4478 % [Knuth] p. 344; only we need to do '@' too
4527 \advance\dimen0 by\tabw % advance to next multiple of \tabw
4639 % @defun etc.
4641 % Allow user to change definition object font (\df) internally
4669 % This is used to turn on special parens
4682 \gdef\clrm{% Print a paren in roman if it is taking us back to depth of 0.
4722 {% Adjust \hsize to exclude the ambient margins,
4752 % #1 is the \E... control sequence to end the definition (which we define).
4754 % #3 is the control sequence to call to resume processing.
4769 % #1 is the \E... control sequence to end the definition (which we define).
4771 % #3 is the control sequence to call to resume processing.
4787 % to account for this both in the \...x definition and in parsing the
4789 % the \E... definition to assign the category name to.
4814 % These parsing functions are similar to the preceding ones
4857 % So, to get around this, we put \empty in with the type name. That
4866 % Fine, but then we have to eventually remove the \empty *and* the
4872 % thing to call, #2 the type name (which starts with \empty), and #3
4904 % So much for the things common to all kinds of definitions.
4906 % Define @defun.
4908 % First, define the processing that is wanted for arguments of \defun
4909 % Use this to expand the args and terminate the paragraph they make up
4935 % Do complete processing of one @defun or @defunx line already parsed.
4946 % @defun == @deffn Function
4948 \def\defun{\defparsebody\Edefun\defunx\defunheader}
5173 % anywhere other than immediately after a @defun or @defunx.
5200 % which we arrange to emulate with a temporary file in ordinary TeX.
5207 % Append \endinput to make sure that TeX does not see the ending newline.
5258 % (as in normal texinfo). It is necessary to change the definition of \.
5260 % It's necessary to have hard CRs when the macro is executed. This is
5292 % We define \csname macarg.\endcsname to be \realbackslash, so
5318 % Add the macroname to \macrolist
5345 % Execute macro list to define \newmacrolist
5363 % so \defmacro knows what to do. Define \macarg.blah for each blah
5364 % in the params list, to be ##N where N is the position in that list.
5367 % We need to get `macro parameter char #' into several definitions.
5370 % it to # just before using the token list produced.
5372 % The same technique is used to protect \eatspaces till just before
5400 \let\hash=##% convert placeholders to macro parameter chars
5460 % {. If so it reads up to the closing }, if not, it reads the whole
5461 % line. Whatever was read is then fed to the next control sequence
5469 % We mant to disable all macros during \shipout so that they are not
5476 % We need some trickery to remove the optional spaces around the equal
5477 % sign. Just make them active and then expand them all to nothing.
5499 % @node's job is to define \lastnode.
5538 % to set \indexdummies so commands such as @code in a section title
5539 % aren't expanded. It would be nicer not to expand the titles in the
5540 % first place, but there's so many layers that that is hard to do.
5587 % If we use \unhbox0 and \unhbox1 to print the node names, TeX does not
5611 % _ (for example) has to be the character _ for the purposes of the
5612 % control sequence corresponding to the node, but it has to expand
5650 % Things to be expanded by \internalsetq
5678 % Use TeX 3.0's \inputlineno to get the line number, for better error
5687 % Define \refx{NAME}{SUFFIX} to reference a cross-reference string named NAME.
5751 % It was suggested to define this as 7, which would allow ^^e4 etc.
5760 % The other change necessary for this was to define \auxhat:
5762 % and then to call \auxhat in \setq.
5788 % For example, 'xrdef {$\leq $-fun}{page ...} made by @defun ^^
5789 % Reference to such entries still does not work the way one would wish,
5817 % space to prevent strange expansion errors.)
5843 % Don't bother with the trickery in plain.tex to not require the
5844 % footnote text as a parameter. Our footnotes don't need to be so general.
5851 % We want to typeset this text as a normal paragraph, even if the
5867 % to exdent this text, so make it be a no-op. makeinfo does not use
5891 % @| inserts a changebar to the left of the current line. It should
5903 % We want to insert a rule with the height and depth of the current
5904 % leading; that is exactly what \strutbox is supposed to record.
5926 % @image. We use the macros from epsf.tex to support this.
5943 \newhelp\noepsfhelp{epsf.tex must be installed for images to
5959 % Arguments to @image:
5974 % \parskip glue, so insert it here too to equalize the space
6019 is empty. Maybe you need to install it? In the current directory
6046 % Use TeX 3.0's \emergencystretch to help line breaking, but if we're
6048 % stretch added to depend on the line length, hence the dependence on
6053 % Allow us to assign to \emergencystretch anyway.
6108 % Use @smallbook to reset parameters for 7x9.5 (or so) format.
6124 % Use @afourpaper to print on European A4 paper.
6135 % Use @afivepaper to print on European A5 paper.
6163 % Must explicitly reset to 0 because we call \afourpaper, apparently,
6168 % Use @afourwide to print on European A4 paper in wide format.
6190 % Set default to letter.
6197 % Define macros to output various characters with catcode for normal text.
6217 % This macro is used to make a character print one way in ttfont
6219 % where something hairier probably needs to be done.
6221 % #1 is what to print if we are indeed using \tt; #2 is what to print
6223 % interword stretch (and shrink), and it is reasonable to expect all
6224 % typewriter fonts to have this, we can check that font parameter.
6229 % non-italic slanted fonts since it is impossible to distinguish them from
6288 % \rawbackslash redefines \ as input to do \rawbackslashxx.
6298 % Used sometimes to turn off (effectively) the active characters
6326 % If a .fmt file is being used, we don't want the `\input texinfo' to show up.
6327 % That is what \eatinput is for; after that, the `\' should revert to printing
6334 % the first `\{ in the file would cause an error. This macro tries to fix